:root{--paper:#fff7e8;--paper-2:#ffe8a3;--card:#fffdf8;--ink:#24304a;--muted:#4d5b78;--cinnabar:#ff5d73;--bamboo:#14b87a;--gold:#ffb703;--sky:#4cc2ff;--grape:#7c6bff;--line:#24304a;--serif:"Yuanti SC","PingFang SC","Hiragino Maru Gothic ProN","Microsoft YaHei",sans-serif;--sans:"Yuanti SC","PingFang SC","Hiragino Maru Gothic ProN","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;color:var(--ink);background-color:#e7f7ff;background-image:radial-gradient(circle at 6% 8%,#ffd0e6 0 92px,transparent 94px),radial-gradient(circle at 96% 4%,#b9ecff 0 120px,transparent 122px),radial-gradient(circle at 88% 92%,#c9f8d8 0 100px,transparent 102px),radial-gradient(circle at 8% 88%,#ffe08a 0 78px,transparent 80px),linear-gradient(180deg,#fff8dc,#e7f7ff 42%,#fff0f6);font-family:var(--sans);font-size:17px;line-height:1.7}a{color:inherit}button,input,textarea{font:inherit;color:inherit}.serif,h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:0}h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.15;margin:.2em 0}h2{font-size:1.7rem;line-height:1.3;margin:0 0 .4em}h3{font-size:1.15rem;margin:0 0 .3em}.shell{min-height:100vh;display:flex;flex-direction:column}.footer,.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.85rem 4vw 0;padding:.7rem 1.1rem;background:#fff;border:3px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--sky)}.footer{margin:0 4vw 1rem;border-radius:24px;box-shadow:4px 4px 0 var(--gold);color:var(--muted);font-size:.92rem}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none}.seal{width:3rem;height:3rem;display:grid;place-items:center;border-radius:46% 54% 48% 52%;background:var(--gold);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--cinnabar);color:var(--ink);font-family:var(--serif);font-weight:800;transform:rotate(-8deg);flex:none}.brand strong{display:block;font-size:1.2rem;line-height:1.3}.stage header strong{font-size:1rem}.brand small{display:block;color:var(--muted);letter-spacing:.04em}.nav{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.2rem}.nav a{text-decoration:none;white-space:nowrap;color:var(--ink);background:#fff7d6;border:2px solid var(--ink);border-radius:999px;padding:.15rem .7rem}.nav a[aria-current=page]{background:var(--cinnabar);color:#fff}.nav a:hover{background:var(--gold)}.main{width:min(1120px,calc(100% - 8vw));margin:0 auto;padding:1.6rem 0 3rem;flex:1 1}.kicker{display:inline-block;margin:0 0 .35rem;padding:.1rem .65rem;border-radius:999px;background:var(--gold);border:2px solid var(--ink);color:var(--ink);letter-spacing:.08em;font-size:.82rem;font-weight:700}.lede{font-size:1.15rem;max-width:42rem;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:.9rem;gap:.9rem}.card,.panel{background:var(--card);border:3px solid var(--ink);border-radius:22px;box-shadow:5px 5px 0 #ffd0e6;padding:1rem 1.05rem;text-decoration:none}.grid .card:nth-child(4n+1){box-shadow:5px 5px 0 var(--cinnabar)}.grid .card:nth-child(4n+2){box-shadow:5px 5px 0 var(--gold)}.grid .card:nth-child(4n+3){box-shadow:5px 5px 0 var(--bamboo)}.grid .card:nth-child(4n+4){box-shadow:5px 5px 0 var(--grape)}.card strong{display:block;font-family:var(--serif);font-size:1.25rem}.card span,.muted{color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.2rem}.btn,.filters a,.ghost{border:3px solid var(--ink);background:#fff;color:var(--ink);border-radius:999px;padding:.35rem .85rem;text-decoration:none;cursor:pointer;font-weight:700;box-shadow:3px 3px 0 var(--ink)}.btn,.filters a[aria-current=page]{background:var(--cinnabar);color:#fff}.ghost{background:#fff}.btn:hover,.filters a:hover,.ghost:hover{transform:translate(-1px,-1px)}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.list{display:grid;grid-gap:.7rem;gap:.7rem}.book-card p{margin:.55rem 0 .7rem}.book-notes{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.book-notes li{display:grid;grid-template-columns:4.2rem minmax(0,1fr);grid-gap:.45rem;gap:.45rem;align-items:start}.book-notes b{color:var(--cinnabar);font-size:.92rem}.meta{display:flex;gap:.7rem;color:var(--muted);font-size:.92rem;flex-wrap:wrap}.split{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:1rem;gap:1rem}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:3px solid var(--ink);border-radius:18px;overflow:hidden}.table td,.table th{border-bottom:2px solid rgba(36,48,74,.15);text-align:left;padding:.65rem .5rem;vertical-align:top}.table th{background:#fff3bf}.swatches{display:flex;gap:.6rem;flex-wrap:wrap}.swatch{width:7.5rem;min-height:6.5rem;padding:.6rem;border:3px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--ink)}.blank{border-bottom:2px dashed var(--ink);height:1.9rem}.script{display:grid;grid-gap:.55rem;gap:.55rem}.script p{margin:0}.script b{color:var(--cinnabar);font-weight:800}.stage{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 12% 18%,#ffe08a 0 70px,transparent 72px),radial-gradient(circle at 90% 12%,#b9ecff 0 90px,transparent 92px),linear-gradient(180deg,#fff4c2,#d9f4ff);color:var(--ink)}.stage footer,.stage header{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin:.7rem 3vw 0;padding:.65rem 1rem;background:#fff;border:3px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--gold)}.stage footer{margin-bottom:.7rem;border-radius:24px;box-shadow:4px 4px 0 var(--bamboo)}.slide{width:min(980px,calc(100% - 8vw));margin:1.2rem auto;padding:2rem 2.2rem 2.4rem;background:#fff;border:4px solid var(--ink);border-radius:32px;box-shadow:10px 10px 0 #ff8fab}.slide.with-art{width:min(1120px,calc(100% - 4vw));margin:.7rem auto;padding:1.15rem 1.25rem 1.25rem;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);grid-gap:1rem;gap:1rem;align-items:center}.slide.with-art h1{font-size:clamp(1.7rem,3.6vw,3.2rem)}.slide h1{font-size:clamp(2.4rem,6vw,5rem)}.slide-art{width:100%;min-height:280px;max-height:62vh;object-fit:cover;border:4px solid var(--ink);border-radius:24px;background:#fff8ea;box-shadow:6px 6px 0 #7c6bff}.slide li,.slide p{font-size:clamp(1.2rem,2.4vw,1.7rem)}.note,.prompt{margin-top:1.2rem;padding:.8rem 1rem;border:3px solid var(--ink);border-radius:18px;background:#d9ffe9}.note{background:#fff3bf}.cover-lines{font-size:clamp(1.25rem,2vw,1.6rem);max-width:40rem}.chat{display:grid;grid-template-columns:280px 1fr;grid-gap:1rem;gap:1rem;align-items:start}.messages{display:grid;grid-gap:.7rem;gap:.7rem;min-height:320px}.bubble{padding:.75rem .9rem;border:3px solid var(--ink);border-radius:18px 18px 18px 6px;background:#fff;box-shadow:3px 3px 0 var(--sky)}.bubble.user{background:#7c6bff;color:#fff;border-radius:18px 18px 6px 18px;box-shadow:3px 3px 0 var(--ink)}.composer{display:grid;grid-template-columns:1fr auto;grid-gap:.5rem;gap:.5rem}input[type=text],textarea{width:100%;min-height:4.5rem;padding:.7rem;border:3px solid var(--ink);border-radius:16px;background:#fff}input[type=text]{min-height:0;width:min(100%,320px)}.chart{width:100%;height:auto;background:#fff;border:3px solid var(--ink);border-radius:18px}.error{color:#d62828;font-weight:700}@media (max-width:800px){.chat,.slide.with-art,.split{grid-template-columns:1fr}.footer,.topbar{border-radius:24px;align-items:flex-start;flex-direction:column}.slide{padding:1.2rem}}@media print{.footer,.nav,.no-print,.topbar{display:none!important}body{background:white}.main{width:auto;margin:0;padding:0}.btn,.card,.ghost,.panel,.slide,.swatch,.table{background:white;box-shadow:none;border-radius:0}a{text-decoration:none}}