:root{--gold: #e8a33d;--gold-bright: #f6cf8a;--gold-dim: rgba(232, 163, 61, .3);--gold-faint: rgba(232, 163, 61, .12);--peony: #c0473d;--ink: #16100f;--ink-soft: rgba(22, 16, 15, .72);--cream: #f3e6d0;--cream-dim: #d8c3a5;--muted: #b8a189;--serif: "Noto Serif SC", "Source Han Serif SC", "STZhongsong", "SimSun", "Songti SC", serif;--sans: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#120c10;color:var(--cream);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{position:fixed;inset:0}::selection{background:#e8a33d59;color:#fff8ec}#scene-root{position:fixed;inset:0;z-index:0}#scene-root canvas{display:block;width:100%!important;height:100%!important;outline:none}.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#0000 52%,#0c070b6b),linear-gradient(180deg,#0c070e38,#0c070b00 26%)}.screen{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;transition:opacity .55s ease,visibility .55s ease}.is-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.eyebrow{margin:0 0 18px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.42em;text-indent:.42em;color:var(--gold);text-transform:uppercase}.ornate{position:relative;background:linear-gradient(155deg,#261916e6,#160e11f0 55%,#120c10f5);border:1px solid rgba(232,163,61,.32);box-shadow:0 40px 100px #0000009e,0 0 0 1px #0006,inset 0 0 90px #e8a33d0e;backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px) saturate(1.05)}.ornate:after{content:"";position:absolute;inset:7px;border:1px solid rgba(232,163,61,.13);pointer-events:none}.corner{position:absolute;width:24px;height:24px;border:0 solid rgba(232,163,61,.72);pointer-events:none}.corner.tl{top:12px;left:12px;border-top-width:1px;border-left-width:1px}.corner.tr{top:12px;right:12px;border-top-width:1px;border-right-width:1px}.corner.bl{bottom:12px;left:12px;border-bottom-width:1px;border-left-width:1px}.corner.br{bottom:12px;right:12px;border-bottom-width:1px;border-right-width:1px}.seal{display:grid;place-items:center;width:54px;height:54px;padding:4px;background:linear-gradient(145deg,#c95043,#a8342d 55%,#8f2a26);color:#fbe9d2;font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.08;letter-spacing:.06em;writing-mode:vertical-rl;text-orientation:upright;border-radius:3px;box-shadow:inset 0 0 0 1px #ffebcd52,inset 0 0 14px #500c0a73,0 8px 22px #00000073;transform:rotate(3.5deg)}.seal-sm{width:40px;height:40px;font-size:13px;box-shadow:inset 0 0 0 1px #ffebcd4d,0 6px 18px #0006}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:196px;padding:15px 40px;border:1px solid rgba(232,163,61,.78);background:linear-gradient(180deg,#e8a33d29,#e8a33d0b);color:var(--gold-bright);font-family:var(--serif);font-size:17px;letter-spacing:.26em;text-indent:.26em;cursor:pointer;transition:background .35s ease,color .35s ease,box-shadow .35s ease,transform .35s ease}.btn:before,.btn:after{content:"";position:absolute;width:5px;height:5px;border:1px solid currentColor}.btn:before{top:-3px;left:-3px;border-right:0;border-bottom:0}.btn:after{right:-3px;bottom:-3px;border-left:0;border-top:0}.btn:hover,.btn:focus-visible{background:linear-gradient(180deg,#f0b85c,#d9963a);color:#22140d;box-shadow:0 0 0 4px #e8a33d1f,0 12px 38px #e8a33d47;transform:translateY(-1px);outline:none}.btn:active{transform:translateY(0)}.loading-screen{z-index:50;background:radial-gradient(ellipse 62% 46% at 50% 82%,#e88a3e57,#e88a3e00 68%),radial-gradient(ellipse 90% 70% at 50% 50%,#3a28368c,#100a10eb 72%),linear-gradient(180deg,#17101a,#241521 48%,#120c12)}.loading-screen:before{content:"";position:absolute;inset:0;opacity:.5;background-image:repeating-linear-gradient(45deg,rgba(232,163,61,.035) 0 1px,transparent 1px 9px),repeating-linear-gradient(-45deg,rgba(232,163,61,.025) 0 1px,transparent 1px 9px);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 78%);pointer-events:none}.loading-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(-3vh)}.loading-emblem{width:126px;height:126px;margin-bottom:26px;color:var(--gold);filter:drop-shadow(0 0 18px rgba(232,163,61,.25))}.loading-emblem svg{width:100%;height:100%;overflow:visible}.emblem-ring{stroke:currentColor;stroke-width:1;opacity:.42;transform-origin:60px 60px;animation:spin 30s linear infinite}.emblem-ring-dash{stroke-dasharray:1.5 7;stroke-width:1.6;opacity:.7;animation:spin-reverse 18s linear infinite}.emblem-thread{stroke:#f6cf8ae6;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:170;stroke-dashoffset:170;animation:draw-thread 2.8s ease-in-out infinite}.emblem-needle{stroke:#f3e6d0d9;stroke-width:1.4;stroke-linecap:round;opacity:.8}.emblem-eye{fill:#1b1218;stroke:currentColor;stroke-width:1.2}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}@keyframes draw-thread{0%{stroke-dashoffset:170;opacity:.25}45%{stroke-dashoffset:0;opacity:1}75%{stroke-dashoffset:0;opacity:.85}to{stroke-dashoffset:-170;opacity:.2}}.loading-en{margin:0 0 14px;font-family:var(--sans);font-size:10px;letter-spacing:.5em;text-indent:.5em;color:#e8a33db8}.loading-title{margin:0;font-size:clamp(44px,7vw,64px);font-weight:500;letter-spacing:.22em;text-indent:.22em;color:#f7e8d0;text-shadow:0 0 40px rgba(232,163,61,.22)}.loading-sub{margin:16px 0 36px;font-size:13px;letter-spacing:.32em;text-indent:.32em;color:var(--muted)}.loading-track{position:relative;width:248px;height:2px;background:#e8a33d29;overflow:hidden}.loading-track:before,.loading-track:after{content:"";position:absolute;top:-2px;width:1px;height:6px;background:#e8a33d80}.loading-track:before{left:0}.loading-track:after{right:0}.loading-bar{width:0%;height:100%;background:linear-gradient(90deg,#e8a33d8c,#f6cf8a);box-shadow:0 0 14px #e8a33d99}.loading-status{display:flex;justify-content:space-between;width:248px;margin:12px 0 0;font-family:var(--sans);font-size:10px;letter-spacing:.18em;color:#d8c3a59e}.loading-foot{position:absolute;bottom:30px;left:50%;transform:translate(-50%);margin:0;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-indent:.3em;color:#b8a18973;white-space:nowrap}.start-screen{z-index:40;background:radial-gradient(ellipse 60% 60% at 50% 50%,#100a0c47,#0c070a9e);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.start-panel{width:min(660px,92vw);padding:58px 52px 40px;text-align:center;animation:rise-in .9s cubic-bezier(.22,.8,.3,1) both}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.start-panel .seal{position:absolute;top:26px;right:26px}.start-title{margin:0;font-size:clamp(54px,8vw,82px);font-weight:500;line-height:1.08;letter-spacing:.17em;text-indent:.17em;background:linear-gradient(180deg,#fff2da 12%,#f0c987 58%,#d7974a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 26px rgba(232,163,61,.18))}.start-lead{margin:24px auto 34px;font-size:14px;line-height:2.1;letter-spacing:.1em;color:var(--cream-dim)}.start-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:34px 0 18px;padding-top:24px;border-top:1px solid rgba(232,163,61,.16)}.control-item{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:11px;letter-spacing:.1em;color:#d8c3a5b8}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:3px 7px;border:1px solid rgba(232,163,61,.34);border-radius:2px;background:#00000040;color:var(--gold-bright);font-family:var(--sans);font-size:10px;letter-spacing:.08em;box-shadow:inset 0 0 10px #e8a33d0f}.start-note{margin:8px 0 0;font-family:var(--sans);font-size:10px;letter-spacing:.12em;color:#b8a1897a}.pause-screen{z-index:35;background:#0a06096b;backdrop-filter:blur(7px) saturate(.9);-webkit-backdrop-filter:blur(7px) saturate(.9)}.pause-card{width:min(440px,90vw);padding:46px 44px 38px;text-align:center;animation:rise-in .5s cubic-bezier(.22,.8,.3,1) both}.pause-card h2{margin:0 0 14px;font-size:30px;font-weight:500;letter-spacing:.18em;text-indent:.18em;color:#f6e4c8}.pause-text{margin:0 0 26px;font-size:13px;line-height:1.9;letter-spacing:.06em;color:var(--muted)}.pause-note{margin:18px 0 0;font-family:var(--sans);font-size:10px;letter-spacing:.14em;color:#b8a18973}.hud{position:fixed;inset:0;z-index:10;pointer-events:none;transition:opacity .5s ease}.chapter-card{position:absolute;top:34px;left:38px;display:flex;align-items:stretch;gap:16px;padding-left:15px;border-left:1px solid rgba(232,163,61,.55);text-shadow:0 2px 16px rgba(0,0,0,.65)}.chapter-index{display:flex;align-items:center;align-self:flex-start;padding:7px 5px;border:1px solid rgba(232,163,61,.42);background:#120b0a61;color:var(--gold);font-size:11px;letter-spacing:.24em;writing-mode:vertical-rl;text-orientation:upright}.chapter-title{margin:3px 0 6px;font-size:21px;font-weight:500;letter-spacing:.16em;color:#f7e9d2}.chapter-sub{margin:0;font-family:var(--sans);font-size:10px;letter-spacing:.16em;color:#e6d0b29e}.hud-brand{position:absolute;top:34px;right:38px;opacity:.9}.crosshair{position:absolute;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%);opacity:.78}.crosshair i{position:absolute;background:#f6cf8abf;box-shadow:0 0 6px #e8a33d80}.crosshair .ch-top,.crosshair .ch-bottom{left:50%;width:1px;height:5px;transform:translate(-50%)}.crosshair .ch-top{top:0}.crosshair .ch-bottom{bottom:0}.crosshair .ch-left,.crosshair .ch-right{top:50%;height:1px;width:5px;transform:translateY(-50%)}.crosshair .ch-left{left:0}.crosshair .ch-right{right:0}.crosshair b{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#f8e6c6;transform:translate(-50%,-50%);box-shadow:0 0 8px #ffdca0cc}.hint-bar{position:absolute;bottom:32px;left:38px;display:flex;align-items:center;gap:20px;padding:10px 20px;border:1px solid rgba(232,163,61,.2);border-radius:999px;background:#110b0b7a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:#e2cdb1b8}.hint{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.hint kbd{min-width:0;padding:2px 6px;font-size:9px;border-color:#e8a33d3d;color:#f6cf8ad1}.toast{position:absolute;left:50%;bottom:96px;transform:translate(-50%,10px);padding:11px 22px;border:1px solid rgba(232,163,61,.3);background:#140d0cc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:#f6e7cfe6;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}@media(max-width:720px){.start-panel{padding:44px 24px 30px}.start-panel .seal{display:none}.start-title{font-size:clamp(42px,13vw,58px)}.start-lead{font-size:12.5px;line-height:1.95}.start-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;max-width:280px;margin-left:auto;margin-right:auto;text-align:left}.control-item{justify-content:flex-start}.chapter-card{top:22px;left:20px}.chapter-title{font-size:17px}.hud-brand{top:22px;right:20px}.hint-bar{left:16px;right:16px;bottom:18px;gap:12px;justify-content:center;padding:9px 12px;font-size:10px}.hint:nth-child(2),.hint:nth-child(3){display:none}.toast{bottom:78px;max-width:calc(100vw - 32px);white-space:normal;text-align:center}}@media(max-height:720px)and (min-width:721px){.start-panel{padding:40px 48px 30px}.start-title{font-size:62px}.start-lead{margin:18px auto 24px}.start-controls{margin:24px 0 12px;padding-top:18px}.loading-emblem{width:96px;height:96px;margin-bottom:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.codex-chip{position:absolute;top:120px;left:38px;display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid rgba(232,163,61,.26);border-radius:999px;background:#110b0b73;color:var(--muted);font-family:var(--sans);font-size:10px;letter-spacing:.14em;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.codex-chip i{width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 8px #e8a33d8c}.codex-chip strong{color:var(--gold-bright);font-weight:500;letter-spacing:.08em}.codex-chip.is-bump{animation:chip-bump .55s cubic-bezier(.2,.9,.3,1.4)}@keyframes chip-bump{0%{transform:scale(1)}35%{transform:scale(1.12);border-color:#f6cf8ae6}to{transform:scale(1)}}.interact-prompt{position:absolute;left:50%;bottom:94px;transform:translate(-50%,8px);display:flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid rgba(232,163,61,.42);border-radius:999px;background:#120c0bc7;color:var(--cream);font-family:var(--sans);font-size:12px;letter-spacing:.12em;white-space:nowrap;box-shadow:0 10px 34px #00000061,0 0 26px #e8a33d1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s}.interact-prompt:not(.is-hidden){transform:translate(-50%)}.interact-prompt kbd{min-width:26px;padding:4px 7px;border-color:#f6cf8ab3;background:#e8a33d1f;color:var(--gold-bright);font-size:11px}.interact-prompt span{color:#d8c3a59e}.interact-prompt b{font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:.14em;color:#f7e6c9}body.is-modal .hint-bar,body.is-modal .interact-prompt,body.is-modal .crosshair,body.is-modal .toast{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.panel-close{position:absolute;top:16px;right:16px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid rgba(232,163,61,.35);border-radius:50%;background:#00000038;color:#f6cf8acc;font-family:var(--sans);font-size:20px;line-height:1;cursor:pointer;transition:background .3s,color .3s,border-color .3s;z-index:3}.panel-close:hover,.panel-close:focus-visible{background:var(--gold);color:#24140d;border-color:var(--gold);outline:none}.science-screen{position:fixed;inset:0;z-index:45;pointer-events:none;transition:opacity .4s ease,visibility .4s ease}.science-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#0a060a0d,#0a060a2e 46%,#0a060aa8);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.science-panel{position:absolute;top:50%;right:clamp(18px,4vw,58px);width:min(438px,calc(100vw - 36px));max-height:min(86vh,860px);overflow-y:auto;transform:translateY(-50%);padding:38px 34px 26px;pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(232,163,61,.35) transparent}.science-screen:not(.is-hidden) .science-panel{animation:science-in .62s cubic-bezier(.2,.8,.25,1) both}@keyframes science-in{0%{opacity:0;transform:translate(34px,-50%)}to{opacity:1;transform:translateY(-50%)}}.science-panel::-webkit-scrollbar{width:4px}.science-panel::-webkit-scrollbar-thumb{background:#e8a33d47}.science-panel .eyebrow{margin-bottom:10px;font-size:10px;letter-spacing:.28em}.science-panel h2{margin:0 0 6px;font-size:36px;font-weight:500;letter-spacing:.12em;color:#f8e8cf}.science-tagline{margin:0 0 18px;font-family:var(--sans);font-size:11px;letter-spacing:.18em;color:#d8c3a59e}.science-art{width:150px;height:150px;margin:0 auto 20px;padding:12px;border:1px solid rgba(232,163,61,.2);background:radial-gradient(circle at 50% 50%,#e8a33d1a,#e8a33d03 70%);color:#f6cf8ad1}.science-art .card-art{width:100%;height:100%;display:block}.science-copy{margin:0 0 18px;font-size:14px;line-height:2.05;letter-spacing:.06em;color:var(--cream-dim)}.science-extra{min-height:20px;padding-top:13px;border-top:1px solid rgba(232,163,61,.16);font-family:var(--sans);font-size:11px;line-height:1.7;letter-spacing:.08em;color:#d8c3a5b3}.science-extra b{color:var(--gold-bright);font-weight:500}.science-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.science-footer>span{font-family:var(--sans);font-size:10px;letter-spacing:.14em;color:#e8a33db3}.science-footer .btn{min-width:0;padding:11px 18px;font-size:12px;letter-spacing:.14em;text-indent:.14em}.codex-screen{position:fixed;inset:0;z-index:48;display:grid;place-items:center;padding:24px;transition:opacity .4s ease,visibility .4s ease}.codex-backdrop{position:absolute;inset:0;background:#0a070ab3;backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.codex-panel{position:relative;width:min(1120px,94vw);max-height:86vh;display:flex;flex-direction:column;padding:34px 38px 24px;pointer-events:auto}.codex-screen:not(.is-hidden) .codex-panel{animation:codex-in .55s cubic-bezier(.2,.8,.25,1) both}@keyframes codex-in{0%{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.codex-header{display:flex;align-items:flex-start;gap:26px;padding-right:40px}.codex-title{flex:1}.codex-title .eyebrow{margin-bottom:8px;font-size:10px;letter-spacing:.34em}.codex-title h2{margin:0;font-size:34px;font-weight:500;letter-spacing:.18em;color:#f7e7cf}.codex-progress{display:flex;align-items:baseline;gap:8px;padding-top:8px;font-family:var(--sans);white-space:nowrap}.codex-progress strong{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:.04em;color:var(--gold-bright)}.codex-progress span{font-size:10px;letter-spacing:.18em;color:#d8c3a58c}.codex-tabs{display:flex;gap:6px;margin-top:22px;border-bottom:1px solid rgba(232,163,61,.18)}.codex-tab{position:relative;padding:11px 20px;border:0;background:transparent;color:#d8c3a58f;font-family:var(--sans);font-size:12px;letter-spacing:.16em;cursor:pointer;transition:color .3s}.codex-tab:after{content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .35s ease}.codex-tab:hover,.codex-tab.is-active{color:var(--gold-bright)}.codex-tab.is-active:after{transform:scaleX(1)}.codex-body{flex:1;min-height:0;overflow-y:auto;padding:26px 4px 6px;scrollbar-width:thin;scrollbar-color:rgba(232,163,61,.32) transparent}.codex-body::-webkit-scrollbar{width:5px}.codex-body::-webkit-scrollbar-thumb{background:#e8a33d47}.codex-wiki{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:32px 46px;padding:4px 4px 12px}.wiki-intro h3{margin:0 0 16px;font-size:25px;font-weight:500;letter-spacing:.08em;color:#f3e2c8}.wiki-intro p{margin:0;font-size:13.5px;line-height:2.1;letter-spacing:.06em;color:var(--cream-dim)}.wiki-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.wiki-fact{padding:14px 16px;border:1px solid rgba(232,163,61,.14);background:#e8a33d09}.wiki-fact-index{display:block;margin-bottom:8px;font-family:var(--sans);font-size:9px;letter-spacing:.22em;color:#e8a33d8c}.wiki-fact h4{margin:0 0 7px;font-size:15px;font-weight:500;letter-spacing:.08em;color:var(--gold-bright)}.wiki-fact p{margin:0;font-size:12px;line-height:1.8;color:#d8c3a5b3}.wiki-note{grid-column:1 / -1;margin:10px 0 0;padding-top:16px;border-top:1px solid rgba(232,163,61,.12);font-family:var(--sans);font-size:10px;letter-spacing:.12em;color:#b8a1896b}.codex-cards{padding:0 2px 10px}.codex-filters{display:flex;gap:8px;margin-bottom:20px}.filter{padding:6px 14px;border:1px solid rgba(232,163,61,.18);border-radius:999px;background:transparent;color:#d8c3a599;font-family:var(--sans);font-size:10px;letter-spacing:.14em;cursor:pointer;transition:color .3s,border-color .3s,background .3s}.filter:hover,.filter.is-active{border-color:#e8a33d99;background:#e8a33d1a;color:var(--gold-bright)}.codex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.codex-card{position:relative;min-height:172px;padding:10px 12px;border:1px solid rgba(232,163,61,.18);background:linear-gradient(160deg,#e8a33d0b,#00000014);transition:border-color .35s,background .35s,transform .35s}.codex-card:not(.is-locked):hover{border-color:#e8a33d80;background:linear-gradient(160deg,#e8a33d1a,#0000001f);transform:translateY(-2px)}.codex-card-art{width:64px;height:64px;margin:0 auto 6px;padding:4px;color:#f6cf8ac7}.codex-card-art .card-art{width:100%;height:100%}.codex-card.is-locked .codex-card-art{color:#b8a18947}.codex-card-cat{display:inline-block;margin-bottom:4px;padding:1px 5px;border:1px solid rgba(232,163,61,.3);font-family:var(--sans);font-size:8px;letter-spacing:.14em;color:var(--gold)}.codex-card h3{margin:0 0 4px;font-size:16px;font-weight:500;letter-spacing:.1em;color:#f4e3c8}.codex-card p{margin:0;font-size:10px;line-height:1.6;color:#d8c3a59e}.codex-card.is-locked h3{color:#d8c3a561}.codex-card.is-locked p{color:#b8a18957}.codex-card-lock{position:absolute;top:10px;right:10px;font-family:var(--sans);font-size:8px;letter-spacing:.12em;color:#b8a18973}.codex-card.is-new{animation:card-new 1.2s ease both}@keyframes card-new{0%{border-color:#f6cf8ae6;box-shadow:0 0 22px #e8a33d47}to{border-color:#e8a33d2e;box-shadow:none}}@media(max-width:1100px){.codex-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:840px){.codex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.codex-wiki{grid-template-columns:1fr;gap:24px}}@media(max-width:720px){.codex-chip{top:88px;left:20px;font-size:9px;padding:6px 10px}.interact-prompt{bottom:76px;max-width:calc(100vw - 28px);padding:9px 14px;font-size:11px;gap:8px}.interact-prompt b{font-size:12px}.science-screen{display:flex;align-items:flex-end}.science-scrim{background:#0a060a85;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.science-panel{position:relative;top:auto;right:auto;width:100%;max-height:82vh;transform:none;padding:30px 22px 20px;border-left:0;border-right:0;border-bottom:0;animation:none!important}.science-screen:not(.is-hidden) .science-panel{animation:science-up .5s cubic-bezier(.2,.8,.25,1) both!important}@keyframes science-up{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}.science-panel h2{font-size:30px}.science-art{width:120px;height:120px;margin-bottom:14px}.science-footer{flex-direction:column-reverse;align-items:stretch}.science-footer .btn{width:100%}.codex-screen{padding:0}.codex-panel{width:100vw;max-height:100vh;height:100%;padding:22px 18px 16px;border:0}.codex-header{padding-right:36px}.codex-title h2{font-size:26px}.codex-progress strong{font-size:21px}.codex-tabs{margin-top:16px}.codex-tab{flex:1;padding:10px 8px;font-size:11px}.codex-body{padding-top:18px}.wiki-facts{grid-template-columns:1fr}.codex-grid{grid-template-columns:1fr;gap:12px}.codex-card{min-height:0;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto auto;column-gap:14px;padding:12px 14px}.codex-card-art{grid-row:1 / 4;width:72px;height:72px;margin:0}.codex-card-cat{justify-self:start}.codex-card h3{font-size:17px}.hint:nth-child(2),.hint:nth-child(3),.hint:nth-child(4){display:none}.toast{bottom:140px}}.science-from{margin:-8px 0 18px;font-family:var(--sans);font-size:10px;letter-spacing:.16em;color:#e8a33d9e}.codex-card.is-filtered-out{display:none}.codex-chip{pointer-events:auto}.codex-wiki.is-hidden,.codex-cards.is-hidden{display:none}body.is-cinema .hud{opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.is-cinema .vignette{background:radial-gradient(ellipse at 50% 46%,#0000 42%,#0805099e),linear-gradient(180deg,#08050a38,#08050a00 24%)}.cinema-letterbox{position:fixed;inset:0;z-index:26;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;transition:opacity .45s ease,visibility .45s}.cinema-letterbox span{display:block;height:6.5vh;background:linear-gradient(180deg,#070508 0% 82%,#07050800)}.cinema-letterbox span:last-child{background:linear-gradient(0deg,#070508 0% 82%,#07050800)}.cinema-meta{position:fixed;top:calc(6.5vh + 22px);left:42px;z-index:31;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.8)}.cinema-meta .eyebrow{margin-bottom:7px;font-size:9px;letter-spacing:.34em;color:#e8a33db3}.cinema-meta-line{display:flex;align-items:center;gap:12px;font-family:var(--serif)}.cinema-meta-line span{font-family:var(--sans);font-size:10px;letter-spacing:.18em;color:var(--gold)}.cinema-meta-line b{font-size:16px;font-weight:500;letter-spacing:.14em;color:#f4e4cb}.cinema-console{position:fixed;top:24px;right:24px;width:min(344px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow-y:auto;z-index:33;padding:22px 22px 18px;border:1px solid rgba(232,163,61,.3);background:linear-gradient(160deg,#1f1514ed,#130c10f5 60%,#0e090df7);box-shadow:0 30px 90px #0000009e,inset 0 0 90px #e8a33d0b;backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05);pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(232,163,61,.3) transparent}.cinema-console:after{content:"";position:absolute;inset:6px;border:1px solid rgba(232,163,61,.08);pointer-events:none;z-index:-1}.cinema-console::-webkit-scrollbar{width:4px}.cinema-console::-webkit-scrollbar-thumb{background:#e8a33d40}.cinema-console:not(.is-hidden){animation:cinema-console-in .55s cubic-bezier(.2,.8,.25,1) both}@keyframes cinema-console-in{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}.cinema-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cinema-header .eyebrow{margin-bottom:7px;font-size:9px;letter-spacing:.3em}.cinema-header h2{margin:0;font-size:24px;font-weight:500;letter-spacing:.16em;color:#f6e5cc}.cinema-exit{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid rgba(232,163,61,.35);border-radius:50%;background:#0003;color:#f6cf8acc;font-family:var(--sans);font-size:19px;cursor:pointer;transition:background .3s,color .3s}.cinema-exit:hover{background:var(--gold);color:#24140d}.cinema-current{margin:18px 0 6px;padding:12px 0 14px;border-top:1px solid rgba(232,163,61,.16);border-bottom:1px solid rgba(232,163,61,.16)}.cinema-current-index{font-family:var(--sans);font-size:9px;letter-spacing:.2em;color:#e8a33da6}.cinema-current h3{margin:6px 0 4px;font-size:19px;font-weight:500;letter-spacing:.1em;color:#f4dfc0}.cinema-current p{margin:0;font-family:var(--sans);font-size:9.5px;letter-spacing:.14em;color:#d8c3a580;text-transform:uppercase}.cinema-section{margin-top:16px}.cinema-label{margin:0 0 8px;font-family:var(--sans);font-size:8.5px;letter-spacing:.2em;color:#e8a33d8c}.cinema-shots{display:flex;gap:6px}.cinema-shots button{flex:1;min-width:0;padding:6px 4px;border:1px solid rgba(232,163,61,.16);background:transparent;color:#d8c3a58c;font-family:var(--sans);font-size:8.5px;letter-spacing:.04em;cursor:pointer;transition:color .25s,border-color .25s,background .25s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinema-shots button:hover,.cinema-shots button.is-active{border-color:#e8a33d8c;background:#e8a33d14;color:var(--gold-bright)}.cinema-chapters{position:relative;max-height:390px;overflow-y:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(232,163,61,.28) transparent}.cinema-chapters::-webkit-scrollbar{width:3px}.cinema-chapters::-webkit-scrollbar-thumb{background:#e8a33d3d}.cinema-chapter{width:100%;display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:baseline;padding:5px 8px;border:0;border-left:1px solid transparent;background:transparent;text-align:left;cursor:pointer;transition:background .25s,border-color .25s}.cinema-chapter:hover{background:#e8a33d0e}.cinema-chapter.is-active{border-left-color:var(--gold);background:#e8a33d1a}.cinema-chapter-index{font-family:var(--sans);font-size:8px;letter-spacing:.1em;color:#e8a33d80}.cinema-chapter-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.cinema-chapter-cn{font-family:var(--serif);font-size:12.5px;letter-spacing:.08em;color:#f0dec4b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinema-chapter-en{font-family:var(--sans);font-size:8px;letter-spacing:.06em;color:#b8a18961;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinema-chapter.is-active .cinema-chapter-cn{color:var(--gold-bright)}.cinema-chapter.is-active .cinema-chapter-en{color:#e8a33d8c}.cinema-console.is-en .cinema-chapter-cn{font-family:var(--sans);font-size:9px;letter-spacing:.03em;color:#d8c3a57a}.cinema-console.is-en .cinema-chapter-en{font-size:11px;color:#f0dec4c2}.cinema-console.is-en .cinema-chapter.is-active .cinema-chapter-en{color:var(--gold-bright)}.cinema-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cinema-play{padding:8px 18px;border:1px solid rgba(232,163,61,.55);background:#e8a33d14;color:var(--gold-bright);font-family:var(--serif);font-size:12px;letter-spacing:.16em;cursor:pointer;transition:background .25s,color .25s}.cinema-play:hover{background:var(--gold);color:#24140d}.cinema-speed{display:flex;gap:3px}.cinema-speed button{padding:4px 5px;border:1px solid transparent;background:transparent;color:#d8c3a573;font-family:var(--sans);font-size:8px;letter-spacing:.02em;cursor:pointer;transition:color .25s,border-color .25s}.cinema-speed button:hover,.cinema-speed button.is-active{border-color:#e8a33d66;color:var(--gold-bright)}.cinema-lang-row{margin-top:2px}.cinema-lang{display:flex;gap:4px}.cinema-lang button{width:32px;height:22px;border:1px solid rgba(232,163,61,.18);background:transparent;color:#d8c3a580;font-family:var(--sans);font-size:9px;cursor:pointer;transition:color .25s,border-color .25s,background .25s}.cinema-lang button.is-active{border-color:#e8a33d99;background:#e8a33d1f;color:var(--gold-bright)}.cinema-timeline{position:relative;height:3px;margin:14px 0 7px;background:#e8a33d26;cursor:pointer}.cinema-timeline:before{content:"";position:absolute;inset:-7px 0}.cinema-progress{width:0%;height:100%;background:linear-gradient(90deg,#e8a33d99,#f6cf8a);box-shadow:0 0 10px #e8a33d99;pointer-events:none}.cinema-time{display:flex;justify-content:space-between;font-family:var(--sans);font-size:8px;letter-spacing:.12em;color:#b8a18973}.cinema-free{width:100%;margin-top:16px;padding:10px;border:1px solid rgba(232,163,61,.28);background:transparent;color:#f6cf8abf;font-family:var(--serif);font-size:12px;letter-spacing:.18em;cursor:pointer;transition:background .3s,color .3s}.cinema-free:hover{background:var(--gold);color:#24140d}.cinema-subtitles{position:fixed;left:46px;right:392px;bottom:calc(6.5vh + 22px);z-index:31;pointer-events:none;text-align:center;text-shadow:0 2px 20px rgba(0,0,0,.9),0 0 40px rgba(0,0,0,.6)}.cinema-subtitles:before{content:"";display:block;width:54px;height:1px;margin:0 auto 14px;background:linear-gradient(90deg,transparent,rgba(232,163,61,.75),transparent)}.subtitle-index{display:block;margin-bottom:9px;font-family:var(--sans);font-size:9px;letter-spacing:.24em;color:#e8a33db3}.subtitle-cn{margin:0 0 8px;font-family:var(--serif);font-size:18px;line-height:1.75;letter-spacing:.06em;color:#f6e6cd}.subtitle-en{margin:0;font-family:var(--sans);font-size:11px;line-height:1.7;letter-spacing:.035em;color:#d8c3a594}.cinema-subtitles.is-en .subtitle-cn{font-size:12.5px;color:#d8c3a58c}.cinema-subtitles.is-en .subtitle-en{font-size:16px;color:#f6e6cd;font-family:var(--serif)}.cinema-fade{position:fixed;inset:0;z-index:25;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 44%,#f6cf8a59,#070508eb 72%)}.cinema-fade.is-flash{animation:cinema-flash .62s ease-out}@keyframes cinema-flash{0%{opacity:0}24%{opacity:.85}to{opacity:0}}@media(max-width:980px){.cinema-console{width:min(312px,calc(100vw - 24px));padding:18px 16px 14px}.cinema-subtitles{left:28px;right:344px}.subtitle-cn{font-size:15px}}@media(max-width:720px){.cinema-letterbox span{height:4vh}.cinema-meta{top:16px;left:16px}.cinema-meta-line b{font-size:13px}.cinema-console{top:auto;right:0;bottom:0;width:100%;max-height:56vh;border-left:0;border-right:0;border-bottom:0;padding:16px 18px 14px}.cinema-console:not(.is-hidden){animation:cinema-console-up .45s cubic-bezier(.2,.8,.25,1) both}@keyframes cinema-console-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.cinema-current{margin-top:12px;padding:8px 0 10px}.cinema-current h3{font-size:16px}.cinema-chapters{max-height:104px}.cinema-subtitles{left:16px;right:16px;bottom:calc(56vh + 12px);text-align:left}.cinema-subtitles:before{margin-left:0;margin-right:auto}.subtitle-index{font-size:8px}.subtitle-cn{font-size:13px;line-height:1.6}.subtitle-en{font-size:9.5px;line-height:1.55}.cinema-subtitles.is-en .subtitle-en{font-size:13px}.cinema-control-section{padding-bottom:4px}}body.is-modal .mode-dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.mode-dock{position:fixed;right:28px;bottom:74px;z-index:12;display:flex;flex-direction:column;gap:4px;pointer-events:auto;transition:opacity .35s ease,visibility .35s}.mode-dock button{width:72px;height:34px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px;border:1px solid rgba(232,163,61,.18);background:linear-gradient(135deg,#180f10b8,#0c080cc7);color:#d8c3a599;font-family:var(--serif);font-size:10px;letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(10px);transition:border-color .25s,color .25s,background .25s}.mode-dock button kbd{font-family:var(--sans);font-size:8px;color:#e8a33d99}.mode-dock button:hover,.mode-dock button.is-active{border-color:#e8a33d94;background:#e8a33d1f;color:var(--gold-bright)}.mode-dock button span{flex:1;text-align:right;white-space:nowrap}body.is-night .mode-dock button{border-color:#f6cf8a38;background:linear-gradient(135deg,#0c0f1bcc,#08080edb)}.stitch-screen{position:fixed;inset:0;z-index:46;display:flex;align-items:center;justify-content:center;padding:24px}.stitch-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 34% 42%,#562a2a57,#060509f0 66%),#040408e6;backdrop-filter:blur(7px)}.stitch-shell{position:relative;width:min(1240px,94vw);height:min(880px,90vh);display:flex;flex-direction:column;padding:24px 28px 22px;border:1px solid rgba(232,163,61,.3);background:linear-gradient(155deg,#231616fa,#100b0ffa 62%,#0a080cfc);box-shadow:0 36px 120px #000000b8}.stitch-shell:after{content:"";position:absolute;inset:7px;border:1px solid rgba(232,163,61,.08);pointer-events:none}.stitch-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid rgba(232,163,61,.14)}.stitch-header .eyebrow{margin-bottom:6px;font-size:9px;letter-spacing:.3em}.stitch-header h2{margin:0;font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.16em;color:#f6e5cc}.stitch-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(232,163,61,.32);border-radius:50%;background:#0003;color:#f6cf8acc;font-size:21px;cursor:pointer;transition:background .25s,color .25s}.stitch-close:hover{background:var(--gold);color:#24140d}.stitch-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:26px;padding-top:18px}.stitch-canvas-wrap{position:relative;min-height:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#e8a33d0e,#0000001f 70%);overflow:hidden}#stitch-canvas{display:block;width:min(100%,64vh);height:auto;max-height:100%;cursor:crosshair;touch-action:manipulation}.stitch-callout{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:6px 16px;border:1px solid rgba(232,163,61,.18);background:#0a070ab3;color:#d8c3a59e;font-family:var(--sans);font-size:10px;letter-spacing:.12em;pointer-events:none;white-space:nowrap}.stitch-callout.is-near{border-color:#f6cf8a99;color:var(--gold-bright);box-shadow:0 0 20px #e8a33d29}.stitch-panel{display:flex;flex-direction:column;padding:20px 18px;border:1px solid rgba(232,163,61,.16);background:linear-gradient(180deg,#2819186b,#0c090d59)}.stitch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-bottom:14px;border-bottom:1px solid rgba(232,163,61,.12)}.stitch-stats div{display:flex;flex-direction:column;gap:5px}.stitch-stats span{font-family:var(--sans);font-size:8px;letter-spacing:.14em;color:#b8a1897a}.stitch-stats strong{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.06em;color:var(--gold-bright)}.stitch-meter{height:3px;margin:16px 0 18px;background:#e8a33d24}.stitch-meter i{display:block;width:0%;height:100%;background:linear-gradient(90deg,#c0473dcc,#f6cf8a);box-shadow:0 0 10px #e8a33d80;transition:width .25s ease}.stitch-hint{min-height:44px;margin:0 0 14px;font-family:var(--serif);font-size:14px;line-height:1.7;letter-spacing:.05em;color:#f0dec4b8}.stitch-start{width:100%;margin-top:auto;padding:13px}.stitch-tip{margin:12px 0 0;font-family:var(--sans);font-size:8px;letter-spacing:.08em;line-height:1.7;color:#b8a1896b}.stitch-legend{display:flex;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(232,163,61,.1);font-family:var(--sans);font-size:8px;color:#b8a18975}.stitch-legend span{display:inline-flex;align-items:center;gap:6px}.stitch-legend .dot{width:7px;height:7px;display:inline-block;border-radius:50%}.stitch-legend .dot.gold{border:1px solid var(--gold)}.stitch-legend .dot.sewn{background:var(--gold-bright);box-shadow:0 0 8px #f6cf8ab3}.stitch-result{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:#040306b8;backdrop-filter:blur(6px)}.stitch-result-card{position:relative;width:min(620px,88vw);max-height:88vh;overflow-y:auto;padding:42px 46px 36px;border:1px solid rgba(232,163,61,.4);background:radial-gradient(circle at 80% 12%,rgba(154,43,38,.16),transparent 40%),linear-gradient(155deg,#281a18fa,#0e0a0efc);box-shadow:0 30px 100px #000000b8;text-align:center}.stitch-result-card .eyebrow{margin-bottom:10px}.stitch-result-card h2{margin:0 0 6px;font-family:var(--serif);font-size:48px;font-weight:500;letter-spacing:.2em;color:#f6e5cc}.stitch-grade{margin:0 0 12px;font-family:var(--serif);font-size:27px;letter-spacing:.16em;color:var(--gold-bright)}.stitch-grade[data-grade=skilled]{color:#9fc8c2}.stitch-grade[data-grade=novice]{color:#d7a0a0}.stitch-result-copy{max-width:430px;margin:0 auto 22px;font-family:var(--serif);font-size:13px;line-height:1.9;color:#d8c3a5a8}.stitch-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 0;border-top:1px solid rgba(232,163,61,.18);border-bottom:1px solid rgba(232,163,61,.18)}.stitch-result-stats div{display:flex;flex-direction:column;gap:5px}.stitch-result-stats span{font-family:var(--sans);font-size:8px;letter-spacing:.14em;color:#b8a18973}.stitch-result-stats strong{font-family:var(--serif);font-size:21px;font-weight:500;color:#f4dfc0}.stitch-date{margin:12px 0 18px;font-family:var(--sans);font-size:8px;letter-spacing:.14em;color:#b8a18966}.stitch-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.stitch-result-actions .btn{width:100%;min-width:0;padding:11px 10px;font-size:13px;letter-spacing:.12em;text-indent:.12em}.stitch-text-btn{width:100%;padding:10px 8px;border:1px solid rgba(232,163,61,.12);background:transparent;color:#d8c3a580;font-family:var(--serif);font-size:11px;letter-spacing:.1em;cursor:pointer;transition:color .25s,border-color .25s}.stitch-text-btn:hover{border-color:#e8a33d57;color:var(--gold-bright)}.stitch-result-seal{position:absolute;top:26px;right:30px;width:78px;height:78px;display:grid;place-items:center;border:2px solid rgba(255,221,189,.72);outline:3px solid rgba(154,43,38,.9);outline-offset:-8px;background:#9a2b26d9;color:#ffe2c8;font-family:var(--serif);font-size:14px;line-height:1.25;letter-spacing:.08em;transform:rotate(-6deg);box-shadow:0 6px 18px #00000073}.wish-screen{position:fixed;inset:0;z-index:47;display:flex;align-items:center;justify-content:center;padding:24px}.wish-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 72%,rgba(232,163,61,.12),transparent 34%),linear-gradient(180deg,#03050c61,#030408d1);backdrop-filter:blur(4px)}.wish-card{position:relative;width:min(540px,92vw);max-height:90vh;overflow-y:auto;padding:40px 44px 32px;border:1px solid rgba(232,163,61,.38);background:radial-gradient(circle at 20% 12%,rgba(232,163,61,.11),transparent 36%),linear-gradient(160deg,#1e1618f2,#0c0a10f7);box-shadow:0 30px 110px #000000b3;text-align:center}.wish-card .eyebrow{margin-bottom:10px}.wish-card h2{margin:0 0 12px;font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:.22em;color:#f6e5cc}.wish-lead{max-width:400px;margin:0 auto 22px;font-family:var(--serif);font-size:13px;line-height:1.9;color:#d8c3a5a6}.wish-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:1px solid rgba(232,163,61,.3);border-radius:50%;background:#00000038;color:#f6cf8ab8;font-size:18px;cursor:pointer}.wish-presets{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-bottom:18px}.wish-presets button{padding:7px 12px;border:1px solid rgba(232,163,61,.18);background:transparent;color:#d8c3a599;font-family:var(--serif);font-size:11px;letter-spacing:.05em;cursor:pointer;transition:border-color .25s,color .25s,background .25s}.wish-presets button:hover,.wish-presets button.is-active{border-color:#e8a33d8c;background:#e8a33d17;color:var(--gold-bright)}.wish-field{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:10px 14px;border:1px solid rgba(232,163,61,.22);background:#0000002e}.wish-field span{font-family:var(--sans);font-size:9px;letter-spacing:.16em;color:#e8a33d99}.wish-field input{flex:1;min-width:0;border:0;background:transparent;color:#f6e5cc;font-family:var(--serif);font-size:16px;letter-spacing:.08em;outline:none}.wish-field input::placeholder{color:#d8c3a552}.wish-actions{display:flex;justify-content:center;gap:10px}.wish-note{margin:18px 0 0;font-family:var(--sans);font-size:8px;letter-spacing:.08em;color:#b8a1895c}body.is-night .chapter-card,body.is-night .codex-chip{border-color:#f6cf8a33}@media(max-width:980px){.stitch-shell{width:96vw;padding:20px}.stitch-main{grid-template-columns:minmax(0,1fr) 250px;gap:16px}#stitch-canvas{width:min(100%,54vh)}.stitch-panel{padding:16px 14px}}@media(max-width:840px){.stitch-screen{padding:0}.stitch-shell{width:100%;height:100%;max-height:none;padding:16px 16px 20px;overflow-y:auto}.stitch-header h2{font-size:23px}.stitch-main{grid-template-columns:1fr;gap:14px;padding-top:12px}.stitch-canvas-wrap{min-height:0}#stitch-canvas{width:min(100%,48vh)}.stitch-panel{min-height:210px}.stitch-result-card{padding:34px 22px 26px}.stitch-result-card h2{font-size:36px}.stitch-result-seal{top:16px;right:16px;width:62px;height:62px;font-size:11px}.stitch-result-stats{grid-template-columns:repeat(2,1fr);gap:12px}.wish-card{padding:34px 22px 26px}.wish-card h2{font-size:30px}.wish-actions{flex-direction:column}.wish-actions .btn{width:100%;min-width:0}.mode-dock{left:12px;right:12px;bottom:58px;flex-direction:row;justify-content:flex-end;gap:3px}.mode-dock button{width:auto;min-width:54px;height:28px;padding:0 7px;font-size:9px}}.btn-ghost{border-color:#e8a33d47;background:transparent;color:#f6cf8ab8}.btn-ghost:hover,.btn-ghost:focus-visible{background:#e8a33d1f;color:var(--gold-bright);box-shadow:0 0 0 3px #e8a33d0f}.start-credit{margin:14px 0 0;font-family:var(--sans);font-size:9px;letter-spacing:.16em;color:#b8a18957}body.is-touch{cursor:default;-webkit-tap-highlight-color:transparent}body.is-touch .start-controls{display:none}body.is-touch .start-panel{width:min(560px,92vw)}body.is-touch .start-lead{font-size:13px}body.is-touch .hint-bar{display:none}body.is-touch .chapter-card,body.is-touch .codex-chip,body.is-touch .hud-brand{z-index:6}body.is-touch .codex-chip{pointer-events:auto}body.is-touch .mode-dock{z-index:14}.touch-controls{position:fixed;inset:0;z-index:11;pointer-events:none;transition:opacity .25s ease,visibility .25s}body:not(.is-touch) .touch-controls{display:none}body.is-modal .touch-controls,body.is-paused .touch-controls,body.is-cinema .touch-controls{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.touch-look{position:fixed;top:0;right:0;width:55%;height:100%;z-index:1;pointer-events:auto;touch-action:none}.touch-joystick{position:fixed;left:22px;bottom:96px;width:112px;height:112px;z-index:15;display:grid;place-items:center;border:1px solid rgba(232,163,61,.3);border-radius:50%;background:radial-gradient(circle,#e8a33d1f,#0a070a61 68%);box-shadow:inset 0 0 26px #e8a33d14;pointer-events:auto;touch-action:none}#touch-stick{width:46px;height:46px;display:block;border:1px solid rgba(246,207,138,.55);border-radius:50%;background:radial-gradient(circle at 40% 35%,#f6cf8a,#a9702f);box-shadow:0 4px 16px #0000006b;transition:transform .03s linear}.touch-action{position:fixed;z-index:15;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(232,163,61,.44);border-radius:50%;background:#0f0a0c9e;color:var(--gold-bright);font-family:var(--serif);font-size:17px;letter-spacing:.04em;pointer-events:auto;touch-action:none;backdrop-filter:blur(8px);box-shadow:0 8px 22px #00000052}.touch-action:active{background:#e8a33d40}.touch-action-primary{border-color:#f6cf8ab3;background:#5d2e22a8}#touch-interact{right:92px;bottom:154px}#touch-jump{right:25px;bottom:208px}body.is-paused .mode-dock{opacity:0;visibility:hidden;pointer-events:none}@media(max-width:720px){body.is-touch .mode-dock{left:8px;right:8px;bottom:60px;gap:2px;justify-content:space-between}body.is-touch .mode-dock button{flex:1;min-width:0;width:auto;height:27px;padding:0 3px;font-size:8px}.touch-joystick{left:16px;bottom:92px;width:102px;height:102px}#touch-stick{width:42px;height:42px}#touch-interact{right:78px;bottom:150px}#touch-jump{right:18px;bottom:204px}}.cinema-header-actions{display:flex;align-items:center;gap:8px}.cinema-collapse{display:none;padding:7px 11px;border:1px solid rgba(232,163,61,.28);background:transparent;color:#f6cf8ab8;font-family:var(--sans);font-size:9px;letter-spacing:.08em;cursor:pointer}@media(max-width:720px){.cinema-collapse{display:inline-flex}.cinema-console.is-collapsed{max-height:62px;overflow:hidden;padding:11px 16px}.cinema-console.is-collapsed .cinema-header{padding:0;border:0;align-items:center}.cinema-console.is-collapsed .cinema-header .eyebrow,.cinema-console.is-collapsed .cinema-current,.cinema-console.is-collapsed .cinema-section,.cinema-console.is-collapsed .cinema-free{display:none}.cinema-console.is-collapsed .cinema-header h2{font-size:18px;letter-spacing:.1em}.cinema-console.is-collapsed .cinema-exit{width:28px;height:28px;font-size:17px}.cinema-console.is-collapsed~#cinema-subtitles{bottom:82px}}body.is-riding .chapter-card,body.is-riding .codex-chip,body.is-riding .hud-brand,body.is-riding .hint-bar,body.is-riding .mode-dock,body.is-riding .crosshair,body.is-riding .interact-prompt,body.is-riding .touch-controls{opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.is-riding .vignette{background:radial-gradient(ellipse at 50% 48%,#0000 46%,#070408a8),linear-gradient(180deg,#0503063d,#05030600 30%)}.ride-hud{position:fixed;inset:0;z-index:19;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.8)}.ride-title{position:absolute;top:34px;left:40px;display:flex;flex-direction:column;gap:5px}.ride-title .eyebrow{margin:0 0 2px;color:#e8a33d9e}.ride-title b{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.16em;color:#f6e6cd}.ride-title em{font-family:var(--serif);font-size:12px;font-style:normal;letter-spacing:.12em;color:#d8c3a59e}.ride-actions{position:absolute;left:50%;bottom:42px;transform:translate(-50%);display:flex;align-items:center;gap:10px;pointer-events:auto}.ride-btn{min-width:132px;padding:11px 20px;border:1px solid rgba(232,163,61,.32);background:#0c080c8c;color:#f6cf8ac7;font-family:var(--serif);font-size:12px;letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(10px);transition:background .25s,color .25s,border-color .25s}.ride-btn:hover{border-color:#e8a33da6;background:#e8a33d29;color:var(--gold-bright)}.ride-btn-primary{border-color:#e8a33d9e;background:#e8a33d1f;color:var(--gold-bright)}body.is-riding .ride-hud{opacity:1;visibility:visible}body.is-modal .ride-hud{opacity:0!important;visibility:hidden!important}@media(max-width:720px){.ride-title{top:18px;left:18px}.ride-title b{font-size:20px}.ride-actions{bottom:28px;width:calc(100% - 32px)}.ride-btn{flex:1;min-width:0;padding:12px 8px;font-size:11px}}
