:root{--paper: #efe8d7;--paper-deep: #e4dbc4;--ink: #2c2f28;--ink-soft: #5d5f52;--ink-faint: #8b8a7a;--accent: #a8763f;--line: rgba(60, 58, 46, .16);--panel: rgba(246, 241, 229, .82);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--paper)}body{color:var(--ink);font-family:ui-sans-serif,-apple-system,PingFang SC,Noto Sans CJK SC,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}.app{position:fixed;inset:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,#f7f2e5,#e9e1cf 55%,#ddd2b8)}.canvas-host{position:absolute;inset:0}.canvas-host canvas{display:block;width:100%;height:100%}.paper-grain{position:absolute;inset:0;pointer-events:none;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.3'/%3E%3C/svg%3E");background-size:240px 240px}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 44%,transparent 42%,rgba(59,53,40,.14) 76%,rgba(42,37,27,.32) 100%)}.brand{position:absolute;top:28px;left:32px;display:flex;align-items:center;gap:14px;pointer-events:none}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(168,118,63,.55);border-radius:50%;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:22px;color:var(--accent);background:#a8763f0f;box-shadow:inset 0 0 0 3px #efe8d799}.brand h1{margin:0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:20px;font-weight:600;letter-spacing:.2em}.brand p{margin:4px 0 0;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint)}.brand .dot{opacity:.5}.stage-pill{margin-left:4px;font-size:9px;letter-spacing:.16em;color:var(--accent);border:1px solid rgba(168,118,63,.4);border-radius:999px;padding:3px 8px}.panel{position:absolute;top:24px;right:24px;width:min(332px,calc(100vw - 48px));max-height:calc(100vh - 90px);overflow-y:auto;padding:20px 20px 14px;background:var(--panel);-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05);border:1px solid rgba(255,255,255,.5);border-radius:16px;box-shadow:0 22px 60px #2e2a1e29,inset 0 0 0 1px #786e5a12;scrollbar-width:thin;scrollbar-color:rgba(120,110,90,.3) transparent}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-thumb{background:#786e5a4d;border-radius:3px}.panel-head .eyebrow{font-size:9px;letter-spacing:.32em;color:var(--accent)}.panel-head h2{margin:6px 0 2px;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:27px;font-weight:600;letter-spacing:.1em}.panel-head .code{font-family:ui-sans-serif,sans-serif;font-size:10px;letter-spacing:.2em;color:var(--ink-faint);margin-left:8px;vertical-align:middle}.tagline{margin:0;font-family:Songti SC,STSong,serif;font-size:13px;letter-spacing:.16em;color:var(--ink-soft)}.panel-section{margin-top:18px}.panel-section h3{margin:0 0 10px;font-size:9.5px;font-weight:600;letter-spacing:.32em;color:var(--ink-faint)}.segments{display:grid;grid-template-columns:1fr 1fr;gap:6px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segment{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px 8px;border-radius:10px;border:1px solid var(--line);background:#ffffff52;color:var(--ink-soft);cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.segment:hover{transform:translateY(-1px);border-color:#a8763f73}.segment-label{font-family:Songti SC,STSong,serif;font-size:18px;line-height:1.1}.segment-hint{font-size:8.5px;letter-spacing:.08em;color:var(--ink-faint)}.segment.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.segment.active .segment-hint{color:#efe8d79e}.tour-head{display:flex;align-items:center;gap:10px}.tour-start{padding:7px 13px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:#f8f3e6;font-size:11.5px;letter-spacing:.1em;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}.tour-start:hover{transform:translateY(-1px);background:#8f6334}.tour-status{font-size:10.5px;color:var(--ink-faint);letter-spacing:.06em}.tour-status[data-state=moving],.tour-status[data-state=holding]{color:var(--accent)}.tour-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.tour-stop{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px 6px;border:1px solid var(--line);border-radius:9px;background:#ffffff47;color:var(--ink-soft);cursor:pointer;transition:border-color .25s ease,background .25s ease,color .25s ease}.tour-stop:hover{border-color:#a8763f80}.tour-stop.active{border-color:var(--accent);background:#a8763f1a;color:var(--ink)}.tour-name{font-family:Songti SC,STSong,serif;font-size:14px;letter-spacing:.08em}.tour-code{font-size:8px;letter-spacing:.18em;color:var(--ink-faint)}.collapsible>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:9.5px;font-weight:600;letter-spacing:.32em;color:var(--ink-faint)}.collapsible>summary::-webkit-details-marker{display:none}.collapsible>summary:after{content:"＋";font-size:11px;letter-spacing:0;color:var(--ink-faint)}.collapsible[open]>summary:after{content:"－"}.collapsible>summary+*{margin-top:10px}.anatomy-badge{position:absolute;left:32px;bottom:72px;z-index:6;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#f5f0e49e;backdrop-filter:blur(6px);font-size:11px;letter-spacing:.08em;color:var(--ink-soft);pointer-events:none}.anatomy-legend{grid-column:1 / -1;margin:6px 0 0;font-size:11px;letter-spacing:.08em;color:var(--ink-faint)}.archetypes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.archetype{padding:6px 4px;border:1px solid var(--line);border-radius:8px;background:#ffffff4d;color:var(--ink-soft);font-family:Songti SC,STSong,serif;font-size:13px;letter-spacing:.1em;cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}.archetype:hover{border-color:#a8763f80}.archetype.active{background:#a8763f1f;border-color:var(--accent);color:var(--ink)}.slider{display:block;margin-bottom:10px}.slider-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:11.5px;color:var(--ink-soft)}.slider .value{font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--ink)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;border-radius:2px;background:linear-gradient(90deg,#3c3a2e4d,#3c3a2e1f);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid #f8f3e6;box-shadow:0 1px 3px #00000038;cursor:pointer}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid #f8f3e6;cursor:pointer}input[type=range]:focus-visible{outline:2px solid rgba(168,118,63,.55);outline-offset:4px}.toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 10px}.toggle{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-soft);cursor:pointer}.toggle input{width:13px;height:13px;accent-color:var(--accent);cursor:pointer}.card{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.card summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;cursor:pointer;font-family:Songti SC,STSong,serif;font-size:15px;letter-spacing:.2em}.card summary::-webkit-details-marker{display:none}.summary-hint{font-family:ui-sans-serif,sans-serif;font-size:8.5px;letter-spacing:.22em;color:var(--ink-faint)}.card-body{margin-top:10px;font-size:12.5px;line-height:1.85;color:var(--ink-soft)}.card-body p{margin:0 0 8px}.card-label{margin-bottom:2px!important;font-size:8.5px;letter-spacing:.3em;color:var(--accent)}.muted{color:var(--ink-faint)}.classics{list-style:none;margin:8px 0 0;padding:9px 0 0;border-top:1px dashed var(--line);display:grid;gap:4px;font-size:10.5px}.classics li{display:flex;justify-content:space-between;gap:10px;color:var(--ink-faint)}.classics em{font-style:normal;color:var(--ink-soft)}.disclaimer{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:10px;color:var(--ink-faint)}.panel-foot{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:10px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.ghost{margin-left:auto;padding:0;border:none;background:none;color:var(--accent);font-size:10.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.press-badge{position:absolute;left:50%;bottom:74px;display:flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid rgba(168,118,63,.35);border-radius:999px;background:#f6f1e5c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--accent);font-family:Songti SC,STSong,serif;font-size:12px;letter-spacing:.16em;opacity:0;transform:translate(-50%,8px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}.press-badge.active{opacity:1;transform:translate(-50%)}.press-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #a8763fe6;animation:pressPulse 1.8s ease-in-out infinite}@keyframes pressPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}.hint{position:absolute;left:32px;bottom:26px;display:flex;gap:10px;font-size:10.5px;letter-spacing:.1em;color:var(--ink-faint);pointer-events:none}.hint .sep{opacity:.5}.loading{position:absolute;inset:0;z-index:10;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--paper);transition:opacity .9s ease}.loading.hidden{opacity:0;pointer-events:none}.loading-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(168,118,63,.6);border-radius:50%;font-family:Songti SC,STSong,serif;font-size:21px;color:var(--accent);animation:breathe 2.6s ease-in-out infinite}.loading p{margin:0;font-size:10px;letter-spacing:.34em;color:var(--ink-faint)}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.68}}.error{position:absolute;inset:0;z-index:20;display:grid;place-content:center;gap:8px;padding:24px;text-align:center;background:var(--paper)}.error h2{font-family:Songti SC,STSong,serif;font-size:22px;letter-spacing:.1em}.error p{color:var(--ink-soft);font-size:13px}.app-bare .canvas-host{cursor:none}@media(max-width:820px){.brand{top:16px;left:16px;gap:10px}.brand h1{font-size:16px}.brand-mark{width:38px;height:38px;font-size:18px}.panel{inset:auto 12px 12px;width:auto;max-height:46vh;border-radius:14px}.hint{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
