:root{--night: #05070d;--night-2: #0a0f1c;--night-3: #111a2c;--glass: rgba(9, 13, 24, .72);--line: rgba(143, 230, 255, .22);--line-2: rgba(143, 230, 255, .42);--holo: #8fe6ff;--jade: #4fd1bd;--silt: #d2a868;--amber: #ffb35c;--lantern: #ff4b2b;--signal: #ff5a3c;--fog: #c9d3e6;--text: #e9edf5;--text-2: #a9b3c7;--text-3: #6f7a90;--paper: #efe9de;--paper-2: #e6dfd1;--paper-3: #d8cfbd;--paper-ink: #17181c;--paper-ink-2: #4b4d55;--paper-line: rgba(23, 24, 28, .16);--rust: #b8452a;--serif: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif SC", "Noto Serif CJK SC", "SimSun", serif;--sans: "PingFang SC", "HarmonyOS Sans SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif;--mono: "SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;--gutter: clamp(16px, 4vw, 56px);--radius: 14px;--ease: cubic-bezier(.2, .7, .1, 1);--spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--holo);outline-offset:3px;border-radius:6px}.mono{font-family:var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--holo);color:#000;padding:8px 14px;border-radius:8px}.skip:focus{top:12px}.solid-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;text-decoration:none;font-size:15px;letter-spacing:.04em;transition:transform .25s var(--spring),background .2s,border-color .2s,color .2s;-webkit-tap-highlight-color:transparent;white-space:nowrap}.solid-btn{background:var(--text);color:var(--night);border:0;font-weight:600}.solid-btn:hover{transform:translateY(-1px);background:#fff}.solid-btn:active,.ghost-btn:active{transform:scale(.96)}.ghost-btn{background:transparent;border:1px solid var(--line-2);color:var(--text)}.ghost-btn:hover{border-color:var(--holo);color:#fff}.solid-btn.big{min-height:54px;padding:0 30px;font-size:17px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{background:var(--paper);scroll-padding-top:76px}body.book{background:var(--paper);color:var(--paper-ink);font-size:16px;background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:120px 120px;background-position:-1px -1px;background-attachment:fixed}body.book:before{content:"";position:fixed;inset:0;background:radial-gradient(120% 80% at 50% 0%,#efe9de00,#efe9dedb 70%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}.bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:max(10px,env(safe-area-inset-top)) var(--gutter) 10px;background:#efe9dedb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--paper-line)}.back{display:inline-flex;align-items:center;gap:6px;color:var(--paper-ink);text-decoration:none;font-size:14px;min-height:40px}.bar-title{flex:1;margin:0;display:flex;gap:10px;align-items:baseline;justify-content:center;font-family:var(--serif)}.bar-title b{letter-spacing:.12em}.bar-title .mono{font-size:11px;color:var(--paper-ink-2);letter-spacing:.2em}.bar-tools{display:flex;gap:8px}.toggle{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--paper-ink);background:transparent;font-size:13px}.toggle[aria-pressed=true]{background:var(--paper-ink);color:var(--paper)}.toggle .seal{width:22px;height:22px;border-radius:50%;background:var(--rust);color:#fff;display:grid;place-items:center;font:600 12px var(--mono)}@media(max-width:720px){.bar-title .mono,.back span{display:none}.bar-title{justify-content:flex-start;font-size:14px}.toggle span:not(.seal){display:none}.toggle{padding:0 10px}}.ruler{position:fixed;z-index:20;left:0;top:76px;bottom:20px;width:220px;padding:10px 0 10px var(--gutter);overflow-y:auto;scrollbar-width:none}.ruler ol{list-style:none;margin:0;padding:0 0 0 14px;border-left:1px solid var(--paper-ink);position:relative}.ruler li a{position:relative;display:grid;grid-template-columns:40px 1fr;align-items:baseline;gap:6px;padding:7px 0;color:var(--paper-ink-2);text-decoration:none;font-size:13px}.ruler .tick{position:absolute;left:-15px;top:50%;width:8px;height:1px;background:var(--paper-ink);transition:width .3s var(--ease),background .3s}.ruler .mono{font-size:11px}.ruler b{font-weight:400}.ruler li[data-on=true] a{color:var(--paper-ink)}.ruler li[data-on=true] b{font-weight:700}.ruler li[data-on=true] .tick{width:22px;height:2px;background:var(--rust);left:-22px}.ruler li[data-on=true] .mono{color:var(--rust)}.sheets{margin-left:240px;padding:0 var(--gutter) 120px 0}@media(max-width:1000px){.ruler{top:auto;bottom:calc(76px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-height:64vh;background:var(--paper);border:1px solid var(--paper-ink);border-radius:18px;padding:14px 18px;box-shadow:0 30px 80px #00000040;transform:translateY(20px);opacity:0;pointer-events:none;transition:.35s var(--ease)}.ruler.open{transform:none;opacity:1;pointer-events:auto}.ruler li a{padding:10px 0;font-size:15px}.sheets{margin-left:0;padding:0 var(--gutter) 120px}}.thumbbar{display:none}@media(max-width:1000px){.thumbbar{position:fixed;z-index:25;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:56px 1fr 56px;gap:8px}.thumbbar button{min-height:56px;border-radius:18px;border:1px solid var(--paper-ink);background:#efe9deeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center}.thumbbar button:disabled{opacity:.3}.thumb-now{display:flex!important;align-items:center;justify-content:center;gap:10px;background:var(--paper-ink)!important;color:var(--paper)}.thumb-now .mono{color:var(--amber);font-size:12px}.thumb-now small{opacity:.6;font-size:11px}}.sheet{position:relative;padding:64px 0 40px;border-bottom:1px solid var(--paper-ink)}.sheet-head{display:flex;gap:16px;align-items:baseline;margin-bottom:28px;font-size:12px;color:var(--paper-ink-2)}.sheet-head .mark{color:var(--rust);font-size:13px}.sheet-head .mark i{font-style:normal;margin-right:4px;font-size:10px}.sheet-head .plabel{margin-left:auto;letter-spacing:.14em}.sheet-grid{display:grid;grid-template-columns:minmax(0,720px);gap:56px}.sheet-grid[data-original=true]{grid-template-columns:minmax(0,680px) minmax(240px,360px)}@media(max-width:1180px){.sheet-grid[data-original=true]{grid-template-columns:1fr}.sheet-original{order:-1;max-width:360px}}.sheet-original button{position:sticky;top:90px;display:block;width:100%;padding:0;border:0;background:none;text-align:left}.sheet-original img{width:100%;border-radius:4px;box-shadow:0 1px 0 var(--paper-line),0 20px 40px #0000001f;background:#fff}.sheet-original span{display:block;margin-top:10px;font-size:11px;color:var(--paper-ink-2)}.sheet-text>.kicker{font-size:12px;letter-spacing:.18em;color:var(--rust);margin:0 0 8px}.sheet-text h2{font-family:var(--serif);font-size:clamp(32px,4.4vw,54px);line-height:1.2;letter-spacing:.04em;margin:0 0 28px;font-weight:900}.sheet-foot{margin:48px 0 0;font-size:11px;color:var(--paper-ink-2);display:flex;justify-content:space-between;border-top:1px solid var(--paper-line);padding-top:10px;white-space:pre}.cover-title{font-family:var(--serif);font-weight:900;font-size:clamp(64px,11vw,140px);line-height:1.02;margin:20px 0 28px;letter-spacing:.02em}.cover-title span{display:block}.cover-title span:last-child{color:var(--rust)}.b-sub{font-family:var(--serif);font-size:22px;margin:0 0 6px}.b-info{font-size:15px;color:var(--paper-ink-2);margin:0 0 30px}.b-lead{font-family:var(--serif);font-size:clamp(19px,2vw,23px);line-height:1.7;margin:0 0 30px}.b-lead span{display:block}.b-pair{padding:18px 0;border-top:1px solid var(--paper-line)}.b-pair h3{margin:0 0 6px;font-size:19px;font-family:var(--serif)}.b-pair p{margin:0;color:var(--paper-ink-2);font-size:16.5px}.b-note{margin:18px 0 0;padding-left:12px;border-left:2px solid var(--paper-ink-2);font-size:13.5px;color:var(--paper-ink-2)}.b-note span{display:block}.b-numeral{display:flex;align-items:flex-end;gap:16px;margin:-10px 0 24px}.b-numeral>span{font-family:var(--serif);font-size:96px;line-height:.8;font-weight:900;color:var(--rust)}.b-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.b-tags i{font-style:normal;font-size:13px;padding:3px 12px;border:1px solid var(--paper-ink);border-radius:999px}.b-question{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);line-height:1.5;margin:0 0 18px}.b-question span{display:block;font-size:11px;letter-spacing:.2em;color:var(--rust);margin-bottom:4px}.b-step{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--paper-line)}.b-step>span{width:34px;height:34px;border-radius:50%;background:var(--paper-ink);color:var(--paper);display:grid;place-items:center;font-size:14px}.b-step h3{margin:4px 0 6px;font-size:19px;font-family:var(--serif)}.b-step p{margin:0;color:var(--paper-ink-2)}.b-photo{margin:6px 0 28px;position:relative}.b-photo img{width:100%;border-radius:4px;background:#ddd}.b-photo blockquote{margin:14px 0 0;font-family:var(--serif);font-size:24px;line-height:1.4;font-weight:700}.b-photo blockquote span{display:block}.b-photo figcaption{margin-top:8px;font:11.5px/1.5 var(--mono);color:var(--paper-ink-2)}.b-photo figcaption a{color:inherit}.b-slot{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--paper-line)}.b-slot>.mono{font-size:13px;color:var(--rust);padding-top:4px}.b-slot h3{margin:0 0 6px;font-family:var(--serif);font-size:20px}.b-slot p{margin:0 0 8px;color:var(--paper-ink-2)}.b-days{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:0}.b-days li{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--paper-ink)}.b-days a{color:inherit;text-decoration:none;display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:baseline}.b-days .num{grid-row:span 2;font-family:var(--serif);font-size:52px;line-height:.9;font-weight:900;color:var(--rust)}.b-days b{font-family:var(--serif);font-size:20px}.b-days small{color:var(--paper-ink-2)}.b-days dl{margin:0;display:grid;grid-template-columns:44px 1fr;gap:4px 10px}.b-days dt{font-size:13px;color:var(--paper-ink-2);padding-top:2px}.b-days dd{margin:0}@media(max-width:640px){.b-days li{grid-template-columns:1fr;gap:10px}}.b-works{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 24px}.b-works span{padding:22px 14px;border:1px solid var(--paper-ink);border-radius:10px;text-align:center;font-family:var(--serif);font-size:18px;background:#fff6}@media(max-width:520px){.b-works{grid-template-columns:1fr}}.b-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}.b-trio h3{font-family:var(--serif);font-size:18px;margin:0 0 6px}.b-trio p{margin:0;font-size:15px;color:var(--paper-ink-2)}@media(max-width:640px){.b-trio{grid-template-columns:1fr}}.b-credits{list-style:none;padding:0;margin:0 0 18px}.b-credits li{padding:16px 0;border-top:1px solid var(--paper-line);font-size:14px}.b-credits h3{margin:0 0 4px;font-size:16px;font-family:var(--serif)}.b-credits p{margin:0;color:var(--paper-ink-2);word-break:break-all}.b-credits a{color:inherit}.b-facts h3{font-family:var(--serif);font-size:20px;margin:0 0 10px}.b-facts dl{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--paper-ink)}.b-facts dl>div{padding:14px 14px 14px 0;border-bottom:1px solid var(--paper-line)}.b-facts dt{font-size:12px;letter-spacing:.18em;color:var(--paper-ink-2)}.b-facts dd{margin:4px 0 0;font-size:17px}.b-facts .pending,.pending{font-size:14px;color:var(--paper-ink-2);border:1px dashed currentColor;border-radius:999px;padding:1px 10px}.b-facts .src{font-size:11px;color:var(--paper-ink-2);margin-left:4px}@media(max-width:560px){.b-facts dl{grid-template-columns:1fr}}.drawer{margin:22px 0;border:1px solid var(--paper-ink);border-radius:16px;background:#fbf8f2d9;overflow:hidden}.drawer[data-tone=red]{--tone: #b8452a}.drawer[data-tone=amber]{--tone: #c47a1c}.drawer[data-tone=jade]{--tone: #0b7f8c}.drawer-head{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"k t" "h t";align-items:center;gap:2px 12px;padding:16px 18px;border:0;background:transparent;text-align:left;min-height:64px}.drawer-kicker{grid-area:k;font-size:11px;letter-spacing:.14em;color:var(--tone, var(--rust))}.drawer-title{grid-area:h;font-family:var(--serif);font-size:18px;font-weight:700}.drawer-toggle{grid-area:t;font-size:13px;padding:8px 14px;border-radius:999px;background:var(--paper-ink);color:var(--paper);white-space:nowrap}.drawer[data-open=true] .drawer-toggle{background:transparent;color:var(--paper-ink);border:1px solid var(--paper-ink)}.drawer-done{position:absolute;right:120px;font-size:11px;color:var(--rust);border:1px solid var(--rust);border-radius:999px;padding:1px 8px;transform:rotate(-6deg)}.drawer{position:relative}.drawer-body{padding:4px 18px 20px;border-top:1px dashed var(--paper-line);animation:unfold .45s var(--ease)}@keyframes unfold{0%{opacity:0;transform:translateY(-8px)}}.drawer-body>p{color:var(--paper-ink-2)}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:640px){.two,.three{grid-template-columns:1fr;gap:0}}.hint{font-size:13px;color:var(--paper-ink-2)}.tip{margin:14px 0 0;font-size:14px;color:var(--paper-ink-2);padding:12px 14px;background:#b8452a0f;border-radius:10px}.tip strong{color:var(--rust);margin-right:8px}.pouch-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px}.pouch-tabs button{min-height:56px;padding:8px 10px;border:1px solid var(--paper-line);border-radius:12px;background:transparent;text-align:left;display:grid}.pouch-tabs button span{font-weight:700;font-size:14px}.pouch-tabs button small{font-size:12px;color:var(--paper-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pouch-tabs button[aria-selected=true]{border-color:var(--paper-ink);background:#fff}.pouch-tabs button[data-done=true] small{color:var(--rust)}.action-card{padding:16px;border:1px dashed var(--paper-ink);border-radius:12px;margin-top:6px}.action-card h4{margin:0 0 10px;font-family:var(--serif)}.deliverables{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}@media(max-width:760px){.deliverables{grid-template-columns:1fr}}.deliverable{padding:14px;border:1px solid var(--paper-line);border-radius:12px;background:#fff}.deliverable h4{margin:0 0 6px;font-family:var(--serif);font-size:18px}.deliverable h4 small{margin-left:8px;font:12px var(--sans);color:var(--paper-ink-2)}.deliv-state{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--paper-ink-2);margin:0 0 8px}.deliv-state[data-done=true]{color:var(--rust)}.rubric-row{display:grid;gap:6px;padding:8px 0;border-top:1px solid var(--paper-line);font-size:14px}.rubric-pick{display:flex;gap:6px}.rubric-pick button{flex:1;min-height:38px;border:1px solid var(--paper-ink);border-radius:999px;background:transparent;font-size:13px}.rubric-pick button[aria-pressed=true]{background:var(--paper-ink);color:var(--paper)}.tracker-title{font-family:var(--serif);font-size:18px;margin:18px 0 10px}.passport-line{margin-top:16px;border:0;background:none;display:inline-flex;align-items:baseline;gap:6px;font-size:14px;color:var(--paper-ink);text-decoration:underline;text-underline-offset:4px}.passport-line b{font-size:26px;color:var(--rust)}.lab-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}@media(max-width:760px){.lab-row{grid-template-columns:1fr}}.lab-entry{position:relative;border-radius:16px;overflow:hidden;background:#070a12;color:var(--text);margin:16px 0;display:grid}.lab-row .lab-entry{margin:0}.lab-art{position:relative;aspect-ratio:400 / 150;background:radial-gradient(120% 120% at 70% 0%,#14213d,#070a12 70%)}.lab-art svg{position:absolute;inset:10% 6% 6%;width:88%;height:84%;overflow:visible}.lab-art .g{stroke:#8fe6ff66;stroke-width:1;fill:none}.lab-art .s{stroke:#e9edf5a6;stroke-width:1.4;fill:none}.lab-art .w{stroke:#4fd1bd99;stroke-width:2;fill:none}.lab-art .t{stroke:#ff4b2b;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:draw 2.6s .3s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}.lab-tab{position:absolute;right:14px;bottom:12px;font:11px/1.25 var(--mono);color:var(--amber);text-align:right;letter-spacing:.1em}.lab-text{padding:16px 18px 18px}.lab-kicker{font-size:11px;color:var(--holo);letter-spacing:.14em}.lab-text h4{margin:4px 0 6px;font-family:var(--serif);font-size:22px}.lab-text p{margin:0 0 14px;font-size:14px;color:var(--text-2)}.lab-text strong{color:var(--text)}.solid-btn.dark{background:var(--text);color:#070a12}.lab-done{margin-left:12px;font-size:12px;color:var(--amber)}.lab-loading{position:fixed;inset:0;z-index:60;background:#05070d;color:var(--text);display:grid;place-items:center;font-family:var(--serif);letter-spacing:.2em}.passport,.zoom{border:0;padding:0;max-width:none;max-height:none}.passport{width:min(520px,calc(100vw - 24px));border-radius:22px;background:var(--paper);color:var(--paper-ink);padding:22px 22px 26px;box-shadow:0 40px 120px #00000059}.passport::backdrop,.zoom::backdrop{background:#0a0a0e8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.passport header{display:flex;justify-content:space-between;align-items:center}.passport header h2{font-family:var(--serif);margin:0}.passport header button{width:44px;height:44px;border-radius:50%;border:1px solid var(--paper-line);background:none;display:grid;place-items:center}.passport ul{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.passport li{position:relative;min-height:120px;border:1px dashed var(--paper-line);border-radius:50%;aspect-ratio:1;display:grid;place-content:center;text-align:center;padding:12px}.passport li[data-on=true]{border:3px double var(--rust);color:var(--rust);transform:rotate(-6deg)}.pp-stamp{font-family:var(--serif);font-weight:900;font-size:18px}.passport li small{font-size:11px;color:var(--paper-ink-2)}.passport li em{font-style:normal;font-size:10px;margin-top:2px}.zoom{width:100vw;height:100vh;background:#111;display:grid;grid-template-rows:1fr auto}.zoom img{width:100%;height:100%;object-fit:contain;min-height:0}.zoom-bar{display:flex;gap:8px;justify-content:center;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));color:#eee}.zoom-bar button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:none;color:#eee;display:inline-flex;align-items:center;gap:4px}.zoom-bar button:disabled{opacity:.3}.zoom-bar .close{background:#eee;color:#111}.book-end{padding:40px 0;font-size:13px;color:var(--paper-ink-2);max-width:720px}.book-end a{color:inherit}.small{font-size:12px}.bmark{display:inline-flex;color:var(--paper-ink);--brand-head: var(--rust)}.bmark svg{overflow:visible}.back{gap:8px}.back span{font-family:var(--serif);font-weight:700;letter-spacing:.2em}.b-facts .f-tel dd{display:grid;gap:2px}.b-facts .f-tel a{color:var(--paper-ink);text-decoration:none;font-size:19px;letter-spacing:.04em;width:fit-content;border-bottom:1px solid var(--paper-line)}.b-facts .f-tel a:hover{color:var(--rust);border-color:var(--rust)}.b-facts .f-bus dd{font-family:var(--serif);font-size:20px}.b-facts .f-bus .src{display:block;font-family:var(--sans)}.book-org{display:flex;gap:16px;align-items:center;padding:26px 0;margin-bottom:18px;border-top:2px solid var(--paper-ink);border-bottom:1px solid var(--paper-line);color:var(--paper-ink)}.book-org b{display:block;font-family:var(--serif);font-size:28px;letter-spacing:.3em}.book-org small{font-size:12px;letter-spacing:.18em}.book-org p{margin:6px 0 0;display:flex;gap:18px;flex-wrap:wrap}.book-org a{color:var(--paper-ink);font-size:16px;text-decoration:none}.trial-note{color:var(--rust);font-size:13px;margin:8px 0 20px}
