:root{--cream: #f2f2e7;--warm: #f4efdf;--cool: #ecf0e9;--ink: #111713;--ink-soft: #4a5249;--olive: #687a4f;--forest: #073b2d;--rust: #a85d34;--line: rgba(17, 23, 19, .14);--card: rgba(255, 255, 255, .78);--serif: "Playfair Display", "Noto Serif SC", "Songti SC", serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Helvetica Neue", sans-serif;--shadow-soft: 0 10px 30px rgba(30, 40, 30, .09);--pad: clamp(20px, 4.2vw, 46px)}:root.night{--cream: #1c2320;--warm: #232b26;--cool: #1a211f;--ink: #eef2ea;--ink-soft: #b3beb0;--olive: #9db07a;--forest: #cfe0c4;--rust: #d98a5c;--line: rgba(238, 242, 234, .16);--card: rgba(30, 38, 33, .8);--shadow-soft: 0 10px 34px rgba(0, 0, 0, .4)}*{box-sizing:border-box}.boot{position:fixed;inset:0;z-index:100;display:grid;align-content:center;justify-items:center;gap:0;transition:visibility .7s ease;isolation:isolate}.boot:before{content:"";position:absolute;inset:0;z-index:-1;background-color:var(--cream);background-image:radial-gradient(120% 90% at 8% 0%,rgba(248,233,196,.75),transparent 55%),radial-gradient(100% 80% at 96% 6%,rgba(206,220,210,.7),transparent 52%);transition:opacity .7s ease}.boot.done{visibility:hidden;pointer-events:none}.boot.done:before{opacity:0}.boot-sky{position:relative;z-index:1;width:min(320px,62vw);height:120px;margin-bottom:6px}.boot-cloud{position:absolute;border-radius:999px;background:#ffffffe6;box-shadow:0 2px 10px #7884761a}.boot-cloud:before,.boot-cloud:after{content:"";position:absolute;border-radius:999px;background:inherit}.boot-cloud-a{width:108px;height:26px;top:16px;left:-140px;animation:boot-drift 9s linear infinite}.boot-cloud-a:before{width:46px;height:34px;top:-17px;left:16px}.boot-cloud-a:after{width:34px;height:26px;top:-11px;left:54px}.boot-cloud-b{width:76px;height:19px;top:56px;left:-120px;opacity:.78;animation:boot-drift 12.5s linear infinite 1.8s}.boot-cloud-b:before{width:34px;height:25px;top:-13px;left:12px}.boot-cloud-b:after{width:24px;height:18px;top:-8px;left:38px}.boot-cloud-c{width:92px;height:22px;top:92px;left:-160px;opacity:.6;animation:boot-drift 16s linear infinite 4s}.boot-cloud-c:before{width:40px;height:29px;top:-15px;left:20px}.boot-cloud-c:after{width:28px;height:21px;top:-10px;left:52px}@keyframes boot-drift{0%{transform:translate(0) translateY(0)}50%{transform:translate(140px) translateY(-5px)}to{transform:translate(0) translateY(0)}}.boot-birds{position:absolute;inset:0;animation:boot-orbit 7.5s linear infinite}.boot-bird{position:absolute;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;opacity:.85;animation:boot-flap .62s ease-in-out infinite}.boot-bird-1{width:24px;height:24px;top:32px;left:45%}.boot-bird-2{width:17px;height:17px;top:12px;left:59%;animation-delay:.14s;opacity:.7}.boot-bird-3{width:15px;height:15px;top:50px;left:32%;animation-delay:.28s;opacity:.7}@keyframes boot-orbit{0%{transform:translate(0)}25%{transform:translate(34px,-16px)}50%{transform:translateY(-28px)}75%{transform:translate(-34px,-12px)}to{transform:translate(0)}}@keyframes boot-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.55)}}.boot-text{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:center;gap:10px;min-width:268px;margin:0 0 14px;color:var(--ink-soft)}.boot-mark{font-family:var(--serif);font-size:30px;line-height:1;color:var(--ink);position:relative;animation:boot-breathe 2.6s ease-in-out infinite}.boot-mark:after{content:"✦";position:absolute;top:-4px;right:-10px;font-size:10px;color:var(--rust)}.boot-label{font-size:12.5px;letter-spacing:.18em}@keyframes boot-breathe{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.boot-bar{position:relative;z-index:1;width:168px;height:2px;margin-top:-6px;border-radius:2px;background:#11171324;overflow:hidden}.boot-bar i{position:absolute;inset:0 auto 0 0;width:42%;border-radius:2px;background:var(--olive);animation:boot-sweep 1.5s cubic-bezier(.45,0,.55,1) infinite}@keyframes boot-sweep{0%{transform:translate(-105%)}to{transform:translate(345%)}}body.booting .topbar,body.booting .hero,body.booting .chapter,body.booting .tools,body.booting .foot{pointer-events:none;visibility:hidden}@media(prefers-reduced-motion:reduce){.boot-birds,.boot-bird,.boot-cloud,.boot-mark,.boot-bar i{animation:none!important}}html,body{margin:0;padding:0;min-height:100%}body{background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden;transition:background .7s ease,color .5s ease;background-image:radial-gradient(120% 90% at 8% 0%,rgba(248,233,196,.75),transparent 55%),radial-gradient(100% 80% at 96% 6%,rgba(206,220,210,.7),transparent 52%)}:root.night body{background-image:radial-gradient(120% 90% at 8% 0%,rgba(58,66,84,.6),transparent 55%),radial-gradient(100% 80% at 96% 6%,rgba(24,40,38,.7),transparent 52%)}#stage{position:fixed;inset:0;width:100vw;height:100vh;display:block;z-index:0;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}.topbar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;padding:22px var(--pad) 0;pointer-events:none}.topbar>*{pointer-events:auto}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo-mark{font-family:var(--serif);font-size:48px;line-height:.9;font-weight:500;position:relative}.logo-star{color:var(--rust);font-size:15px;position:absolute;top:-2px;right:-13px}.logo-rule{width:1px;height:34px;background:var(--line);margin:0 2px 0 4px}.logo-word{display:flex;flex-direction:column;gap:3px}.logo-word b{font-family:var(--serif);font-size:16px;letter-spacing:.26em;font-weight:500}.logo-word i{font-style:normal;font-size:7.5px;letter-spacing:.24em;color:var(--ink-soft);white-space:nowrap}.mainnav{display:flex;align-items:center;gap:26px}.mainnav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}.mainnav a{color:var(--ink);text-decoration:none;font-size:15px;position:relative;padding:6px 0}.mainnav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--ink);transition:right .32s ease}.mainnav a:hover:after,.mainnav a.active:after{right:0}.pill{font-family:var(--sans);font-size:14px;padding:13px 22px;border-radius:24px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .3s}.pill-ghost{background:var(--card);border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pill-ghost:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1e281e24}.hero{position:fixed;left:var(--pad);top:50%;transform:translateY(-50%);z-index:20;width:min(370px,32vw);transition:opacity .5s ease,transform .5s ease;isolation:isolate}.hero:before{content:"";position:absolute;inset:-14% -52% -6%;z-index:-1;background:radial-gradient(62% 54% at 38% 50%,#f2f2e7f5,#f2f2e7db 42%,#f2f2e700 76%);pointer-events:none}:root.night .hero:before{background:radial-gradient(62% 54% at 38% 50%,#1c2320f5,#1c2320db 42%,#1c232000 76%)}body.island-focus .hero{opacity:0;transform:translateY(-46%);pointer-events:none}body.island-focus .hero:before{opacity:0;transition:opacity .5s ease}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.19em;margin:0 0 20px;color:var(--ink-soft)}.eyebrow .rule{width:20px;height:1px;background:currentColor}.title{margin:0 0 22px;font-weight:400;line-height:1.12}.title .t1{display:block;font-family:var(--serif);font-size:clamp(46px,5.4vw,70px);color:var(--ink);position:relative;text-shadow:0 1px 14px rgba(242,242,231,.85)}.title .tstar{color:var(--rust);font-size:20px;margin-left:6px;vertical-align:super}.title .t2{display:block;font-family:"Noto Serif SC",var(--serif);font-weight:700;font-size:clamp(42px,5vw,66px);color:#4f6236;letter-spacing:.02em;text-shadow:0 1px 16px rgba(242,242,231,.95),0 0 30px rgba(242,242,231,.7)}:root.night .title .t2{color:#a8bd80;text-shadow:0 1px 16px rgba(28,35,32,.95)}.lede{font-size:17px;line-height:1.85;color:var(--ink);margin:0 0 28px}.cta{font-family:var(--sans);font-size:15px;padding:15px 28px;border:0;border-radius:8px;background:var(--forest);color:var(--cream);cursor:pointer;transition:transform .25s ease,filter .25s ease}:root.night .cta{color:#1c2320}.cta:hover{transform:translateY(-2px);filter:brightness(1.12)}.corner{position:absolute;left:0;bottom:-140px;display:flex;align-items:flex-start;gap:8px;font-size:9px;letter-spacing:.22em;line-height:1.7;color:var(--ink-soft)}.cstar{color:var(--ink);font-size:10px}.tools{position:fixed;right:var(--pad);top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:12px}.tool{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);cursor:pointer;display:grid;place-items:center;transition:transform .25s ease,border-color .25s}.tool svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round}.tool:hover{transform:translateY(-2px)}.tool.on{border-color:var(--rust)}.tool.on svg{stroke:var(--rust)}.chapter{position:fixed;left:50%;bottom:38px;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:14px;transition:opacity .5s ease}body.island-focus .chapter{opacity:0;pointer-events:none}.chapter-head{display:flex;align-items:center;gap:16px;padding:9px 20px;border-radius:20px;background:#f2f2e780;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root.night .chapter-head{background:#1c2320b8}.chapter-no{font-family:var(--serif);font-style:italic;font-size:40px;color:var(--olive);line-height:1}.chapter-txt{display:flex;flex-direction:column;gap:4px}.chapter-txt b{font-family:"Noto Serif SC",var(--serif);font-size:17px;font-weight:600}.chapter-txt i{font-style:normal;font-size:12px;letter-spacing:.14em;color:var(--ink-soft);font-weight:500}.chapter-star{color:var(--forest);font-size:15px}.landmarknav{display:flex;align-items:center;gap:18px}.landmarknav ul{display:flex;list-style:none;margin:0;padding:6px;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landmarknav button,.landmarknav a.lmlink{font-family:var(--sans);display:flex;align-items:center;gap:7px;padding:11px 18px;border:0;border-radius:20px;background:transparent;color:var(--ink);font-size:14px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .25s}.landmarknav button:hover,.landmarknav a.lmlink:hover{background:#687a4f21}.landmarknav button em,.landmarknav a.lmlink em{font-family:var(--serif);font-style:italic;color:var(--olive);font-size:13px}.landmarknav button .place,.landmarknav a.lmlink .place{color:var(--ink-soft);font-size:12.5px}.landmarknav button .place:after,.landmarknav a.lmlink .place:after{content:" ·"}.landmarknav button.active{background:var(--forest);color:var(--cream)}.landmarknav button.active em,.landmarknav button.active .place{color:var(--cream);opacity:.85}:root.night .landmarknav button.active{color:#1c2320}:root.night .landmarknav button.active em,:root.night .landmarknav button.active .place{color:#1c2320}.hint{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);opacity:.72;white-space:nowrap}.hint:before{content:"↻";font-size:13px;line-height:1;opacity:.85}.panelwrap{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:clamp(16px,3.2vh,34px) clamp(14px,2.4vw,30px)}.panelwrap[hidden]{display:none}.panel-scrim{position:absolute;inset:0;background:#12181447;opacity:0;transition:opacity .42s ease;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.panelwrap.open .panel-scrim{opacity:1}.panel{position:relative;width:min(660px,calc(100vw - 40px));max-height:min(78vh,720px);overflow:hidden auto;background:var(--warm);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #141c163d;padding:clamp(26px,3.4vw,40px) clamp(22px,3.4vw,44px) clamp(30px,4vw,46px);scrollbar-gutter:stable;opacity:0;transform:translateY(26px) scale(.985);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.25,1)}:root.night .panel{background:var(--warm)}.panelwrap.open .panel{opacity:1;transform:none}.panel{scrollbar-width:thin;scrollbar-color:var(--olive) transparent}.panel::-webkit-scrollbar{width:10px}.panel::-webkit-scrollbar-track{background:transparent;border-radius:10px}.panel::-webkit-scrollbar-thumb{background:#687a4f42;border-radius:10px;border:3px solid transparent;background-clip:content-box;min-height:44px}.panel::-webkit-scrollbar-thumb:hover{background:#687a4f80;background-clip:content-box}:root.night .panel::-webkit-scrollbar-thumb{background:#9db07a3d}:root.night .panel::-webkit-scrollbar-thumb:hover{background:#9db07a7a}.panel{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.panel-close{position:sticky;float:right;top:0;margin:-12px -14px 0 0;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:0;cursor:pointer;transition:transform .25s,background .25s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}.panel-close:before{content:"✕";font-size:13px;line-height:1}.panel-close:hover{transform:rotate(90deg)}.panel-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}.panel-no{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--olive)}.panel-head h2{margin:0;font-family:"Noto Serif SC",var(--serif);font-size:26px;font-weight:600}.panel-body{font-size:15px;line-height:1.9;color:var(--ink)}.panel-body p{margin:0 0 15px}.panel-body .lead{font-family:"Noto Serif SC",var(--serif);font-size:17px;color:var(--forest)}:root.night .panel-body .lead{color:var(--forest)}.who{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.who-name{font-family:"Noto Serif SC",var(--serif);font-size:24px;font-weight:700}.who-alias{font-size:13px;color:var(--ink-soft)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{font-size:12.5px;padding:6px 12px;border-radius:14px;background:#687a4f24;color:var(--olive)}.plinks{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.plink{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:22px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;font-size:14px;transition:transform .25s,border-color .25s}.plink:hover{transform:translateY(-2px);border-color:var(--olive)}.plink i{font-style:normal;font-size:12px;color:var(--ink-soft)}.plink.is-off{opacity:.55;cursor:default}.plink.is-off:hover{transform:none;border-color:var(--line)}.notes,.works{list-style:none;margin:20px 0 0;padding:0}.note,.witem{padding:16px 0;border-top:1px solid var(--line);display:grid;gap:5px}.note-date,.wtag{font-size:11.5px;letter-spacing:.1em;color:var(--olive)}.note b,.witem b{font-size:16px;font-weight:600}.note p,.witem p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.75}.wtag{justify-self:start;padding:3px 10px;border-radius:10px;background:#a85d3421;color:var(--rust)}.witem{grid-template-columns:1fr}.gb{display:grid;gap:16px;margin-top:22px}.gb-row{display:grid;gap:7px}.gb-row>span{font-size:12.5px;color:var(--ink-soft);letter-spacing:.08em}.gb input,.gb textarea{font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;resize:vertical;outline:none;transition:border-color .25s}.gb input:focus,.gb textarea:focus{border-color:var(--olive)}.gb-subjects{display:flex;gap:8px;flex-wrap:wrap}.gb-subj{font-family:var(--sans);font-size:12.5px;padding:7px 13px;border-radius:15px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:all .25s}.gb-subj.on{border-color:var(--forest);color:var(--forest);background:#073b2d0f}.gb-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.gb-hint{font-size:11.5px;color:var(--ink-soft)}.gb-ok{margin:0;font-size:13.5px;padding:12px 14px;border-radius:10px;background:#687a4f1f;color:var(--olive)}.gb-ok a{color:var(--forest)}.gb-ok.is-err{background:#a85d341f;color:var(--rust)}.foot{position:fixed;left:50%;bottom:8px;transform:translate(-50%);z-index:15;font-size:10.5px;letter-spacing:.05em;padding-bottom:env(safe-area-inset-bottom)}.foot a{color:var(--ink-soft);text-decoration:none}.foot a:hover{opacity:.7}.chapter{bottom:34px}@media(max-width:1080px){.hero{width:min(330px,40vw)}.corner{display:none}}@media(max-width:780px){.mainnav ul{display:none}.hero{position:fixed;inset:auto 0 168px;width:100%;transform:none;text-align:center;padding:0 24px}body.island-focus .hero{transform:none}.eyebrow{justify-content:center}.title .t1,.title .t2{font-size:clamp(34px,10vw,46px)}.lede{font-size:15px}.tools{top:84px;right:14px;transform:none}.chapter{bottom:calc(16px + env(safe-area-inset-bottom));gap:10px}.chapter-head{display:none}.landmarknav ul{flex-wrap:wrap;justify-content:center}.landmarknav button{padding:9px 12px;font-size:13px}.landmarknav button .place,.hint{display:none}.foot{bottom:calc(2px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}
