@charset "UTF-8";:root{--ink-950: oklch(.19 .035 120);--ink-800: oklch(.29 .045 120);--paper: oklch(.95 .025 100);--acid: oklch(.94 .22 122);--yellow: oklch(.87 .18 93);--muted: oklch(.74 .035 116);--line-dark: oklch(.94 .22 122 / .28);--font-cjk: "Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--ink-950);color:var(--paper);font-family:var(--font-cjk);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--acid);outline-offset:4px}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:wait}svg{display:block}#webgl{position:fixed;inset:0}#webgl canvas{display:block;width:100%;height:100%;cursor:grab}#webgl canvas:active{cursor:grabbing}.app-shell{position:fixed;inset:0;pointer-events:none;z-index:2}.app-shell button,.app-shell a,.exhibit-card{pointer-events:auto}.topbar{position:absolute;top:max(20px,env(safe-area-inset-top));left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;padding:0;border:0;color:var(--paper);background:transparent;text-align:left}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--acid);background:var(--acid);color:var(--ink-950);font:900 17px/1 var(--font-mono);letter-spacing:-2px;box-shadow:4px 4px #03040073}.brand b{display:block;font-size:18px;letter-spacing:.08em}.brand small{display:block;margin-top:4px;color:var(--muted);font:9px/1 var(--font-mono);letter-spacing:.14em}.top-actions{display:flex;align-items:center;gap:10px}.live-badge{display:flex;align-items:center;gap:8px;margin-right:8px;color:var(--acid);font:11px/1 var(--font-mono);letter-spacing:.08em}.live-badge i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid)}.text-button,.icon-button{min-height:44px;border:1px solid var(--line-dark);color:var(--paper);background:#121604b8;backdrop-filter:blur(12px);transition:background .18s ease,color .18s ease,border-color .18s ease}.text-button:hover,.icon-button:hover{background:var(--acid);color:var(--ink-950);border-color:var(--acid)}.text-button{padding:0 17px;font-size:13px}.icon-button{display:grid;place-items:center;width:44px;padding:0}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button .sound-on{display:none}.icon-button[aria-pressed=true] .sound-on{display:block}.icon-button[aria-pressed=true] .sound-off{display:none}.about-button{font:700 18px/1 var(--font-mono)}.hero-copy{position:absolute;top:22%;left:clamp(28px,5vw,80px);width:min(35vw,520px);pointer-events:none}.vertical-note{position:absolute;left:-28px;top:4px;color:var(--muted);font:9px/1 var(--font-mono);letter-spacing:.15em;writing-mode:vertical-rl}.eyebrow{margin:0 0 10px;color:var(--paper);font-size:17px;font-weight:700;letter-spacing:.18em}h1{margin:0;color:var(--paper);font-size:clamp(48px,5.2vw,84px);font-weight:950;line-height:.98;letter-spacing:-.07em;text-shadow:0 4px 24px oklch(.1 .03 120 / .3)}h1 .rarity{color:var(--acid);font-family:var(--font-mono);font-size:.72em;letter-spacing:-.08em;white-space:nowrap}.hero-subtitle{margin:22px 0 0;color:#dddcc6;font-size:15px;line-height:1.75}.hero-subtitle b{color:var(--yellow);font-size:19px}.hero-actions{display:flex;align-items:center;gap:10px;margin-top:26px;pointer-events:auto}.primary-button,.secondary-button{min-height:50px;border:1px solid var(--acid);transition:background .18s ease,color .18s ease,box-shadow .18s ease}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 18px;background:var(--acid);color:var(--ink-950);font-weight:900;box-shadow:5px 5px oklch(.1 .03 120 / .55)}.primary-button:hover{background:var(--paper);border-color:var(--paper);box-shadow:2px 2px oklch(.1 .03 120 / .55)}.primary-button svg{width:18px;height:18px;fill:currentColor}.secondary-button{padding:0 17px;color:var(--paper);background:#121604a8}.secondary-button:hover{color:var(--ink-950);background:var(--yellow);border-color:var(--yellow)}.micro-hint{margin:12px 0 0;color:var(--muted);font-size:11px;letter-spacing:.05em}.exhibit-card{position:absolute;top:25%;right:clamp(28px,4vw,64px);width:284px;padding:20px;background:var(--paper);color:var(--ink-950);border:1px solid oklch(.98 .01 100);box-shadow:7px 7px 0 var(--acid);transform:rotate(1.2deg);transition:opacity .2s ease,translate .2s ease}.exhibit-card.is-hidden{opacity:0;translate:20px 0;pointer-events:none}.exhibit-close{position:absolute;top:6px;right:8px;width:36px;height:36px;border:0;background:transparent;color:var(--ink-800);font:24px/1 var(--font-mono)}.exhibit-close:hover{color:#cc2a1b}.exhibit-meta{display:flex;align-items:center;gap:8px;padding-right:20px;color:#4e4f3c;font:9px/1.3 var(--font-mono);text-transform:uppercase}.exhibit-meta i{flex:1;height:1px;background:#9fa08b}.exhibit-rarity{margin:26px 0 7px;color:oklch(.47 .11 90);font-size:12px;font-weight:800;letter-spacing:.08em}.exhibit-card h2{margin:0;font-size:29px;line-height:1.2;letter-spacing:-.04em}.exhibit-caption{margin:14px 0 0;font-size:15px;font-weight:700;line-height:1.65}.exhibit-note{margin:10px 0 0;color:#48493a;font-size:12px;line-height:1.7}.next-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:18px;padding:0;border:0;border-top:1px solid oklch(.76 .03 110);color:var(--ink-950);background:transparent;font-size:12px;font-weight:800}.next-button b{font:22px/1 var(--font-mono);transition:translate .18s ease}.next-button:hover b{translate:5px 0}.counter{position:absolute;right:clamp(28px,4vw,64px);top:calc(25% + 360px);display:flex;align-items:baseline;gap:6px;color:var(--muted);font:10px/1 var(--font-mono)}.counter b{color:var(--acid);font-size:23px;font-weight:400}.scene-hint{position:absolute;left:30px;bottom:34px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;letter-spacing:.04em}.mouse-icon{width:15px;height:22px;border:1px solid var(--muted);border-radius:8px;position:relative}.mouse-icon:after{content:"";position:absolute;width:2px;height:5px;background:var(--acid);top:4px;left:6px}.view-dock{position:absolute;left:50%;bottom:max(25px,env(safe-area-inset-bottom));translate:-50% 0;display:flex;padding:5px;border:1px solid var(--line-dark);background:#121604d6;backdrop-filter:blur(16px);pointer-events:auto}.dock-button{min-height:44px;padding:0 18px;border:0;color:var(--muted);background:transparent;font-size:12px;white-space:nowrap;transition:color .18s ease,background .18s ease}.dock-button span{margin-right:8px;font:9px/1 var(--font-mono);opacity:.75}.dock-button:hover{color:var(--paper);background:#383e26b3}.dock-button.active{color:var(--ink-950);background:var(--acid)}.ticker{position:absolute;left:0;right:0;bottom:94px;overflow:hidden;border-top:1px solid oklch(.94 .22 122 / .13);border-bottom:1px solid oklch(.94 .22 122 / .13);color:#cacc908c;font:9px/22px var(--font-mono);letter-spacing:.14em;white-space:nowrap}.ticker div{width:max-content;animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translate(-50%)}}.loading{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:space-around;gap:30px;padding:8vw;overflow:hidden;background:var(--acid);color:var(--ink-950);transition:opacity .35s ease,visibility .35s ease}.loading.is-done{opacity:0;visibility:hidden;pointer-events:none}.loading-copy{position:relative;z-index:1;width:min(480px,60vw)}.micro{font:10px/1.4 var(--font-mono);letter-spacing:.16em}.loading-copy strong{display:block;margin:24px 0 30px;font-size:clamp(48px,7vw,100px);line-height:1.05;letter-spacing:-.07em}.loading-track{width:100%;height:4px;background:#1216042e}.loading-track i{display:block;width:8%;height:100%;background:var(--ink-950);transition:width .2s ease}#loadingText{display:block;margin-top:12px;font-size:12px;line-height:1.7}.loading-retry{min-height:46px;margin-top:20px;padding:0 22px;border:1px solid var(--ink-950);background:var(--ink-950);color:var(--acid);font-weight:800}.loading-retry:hover{background:var(--paper);color:var(--ink-950)}.loading-frog{width:min(34vw,400px);max-height:72vh;object-fit:contain;filter:drop-shadow(18px 24px 0 oklch(.19 .035 120 / .12));transform:rotate(5deg)}.panel-dialog{width:min(860px,calc(100vw - 32px));max-height:min(82dvh,800px);padding:28px;overflow:auto;border:1px solid var(--acid);border-radius:0;background:var(--paper);color:var(--ink-950);box-shadow:10px 10px 0 var(--acid)}.panel-dialog::backdrop{background:oklch(.1 .03 120 / .78);backdrop-filter:blur(8px)}.panel-dialog[open]{opacity:1;transform:none}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.dialog-heading h2{margin:7px 0 0;font-size:34px;letter-spacing:-.04em}.dialog-close{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--ink-950);background:transparent;color:var(--ink-950);font:28px/1 var(--font-mono)}.dialog-close:hover{background:var(--ink-950);color:var(--acid)}.dialog-intro{margin:16px 0 24px;color:#48493a;font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-item{min-width:0;padding:0;border:1px solid oklch(.76 .04 110);background:#e3e3d0;color:var(--ink-950);text-align:left;transition:translate .18s ease,box-shadow .18s ease}.gallery-item:hover{translate:0 -3px;box-shadow:4px 4px 0 var(--yellow)}.gallery-item img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#cfd1b3}.gallery-item span{display:block;min-height:52px;padding:10px;font-size:12px;font-weight:800;line-height:1.4}.about-dialog{width:min(680px,calc(100vw - 32px))}.about-body{font-size:15px;line-height:1.8}.about-body p{margin:20px 0 0}.origin-formula{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:24px;padding:20px 12px;background:var(--acid);font-size:13px}.origin-formula strong{font-size:16px}.disclaimer{color:#48493a;font-size:12px}.source-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:22px}.source-links a{color:var(--ink-950);font-size:12px;font-weight:800;text-underline-offset:4px}.source-links a:hover{background:var(--acid)}.toast{position:fixed;z-index:20;left:50%;top:90px;translate:-50% -12px;max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid var(--acid);background:var(--ink-950);color:var(--acid);font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s ease,translate .2s ease}.toast.show{opacity:1;translate:-50% 0}.noscript{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:var(--acid);color:var(--ink-950);font-size:20px}@media(max-width:1100px){.hero-copy{width:38vw;left:44px}.exhibit-card{width:250px;right:32px}.counter{right:32px}.gallery-grid{grid-template-columns:repeat(4,1fr)}.scene-hint{display:none}}@media(max-width:760px){.topbar{top:max(12px,env(safe-area-inset-top));left:14px;right:14px;gap:8px}.brand{gap:8px}.brand-mark{width:40px;height:40px}.brand b{font-size:15px}.brand small{font-size:7px}.top-actions{gap:6px}.live-badge,.text-button{display:none}.icon-button{width:40px;min-height:40px}.hero-copy{top:82px;left:18px;width:calc(100vw - 36px)}.vertical-note{display:none}.eyebrow{margin-bottom:6px;font-size:12px}h1{font-size:clamp(36px,11vw,52px);line-height:1}h1 .rarity{font-size:.7em}.hero-subtitle{display:none}.hero-actions{margin-top:14px;gap:8px}.primary-button,.secondary-button{min-height:44px;font-size:12px}.primary-button{gap:12px;padding:0 13px;box-shadow:3px 3px oklch(.1 .03 120 / .55)}.secondary-button{padding:0 12px}.micro-hint{display:none}.exhibit-card{inset:auto 16px 90px;width:auto;max-height:46dvh;overflow:auto;padding:18px;opacity:0;translate:0 20px;pointer-events:none;transform:none}.exhibit-card.mobile-open{opacity:1;translate:0 0;pointer-events:auto}.exhibit-card.is-hidden{translate:0 20px}.exhibit-rarity{margin-top:16px}.exhibit-card h2{font-size:24px}.exhibit-note{display:none}.counter{top:auto;right:18px;bottom:91px}.view-dock{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100vw - 28px)}.dock-button{flex:1;min-height:46px;padding:0 8px;font-size:11px}.dock-button span{margin-right:4px;font-size:8px}.ticker{bottom:74px}.loading{justify-content:center;padding:28px}.loading-copy{width:100%;z-index:2}.loading-copy strong{font-size:58px}.loading-frog{position:absolute;right:-60px;bottom:-20px;width:70vw;opacity:.18}.panel-dialog{padding:20px;max-height:86dvh}.dialog-heading h2{font-size:28px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.toast{top:68px;font-size:12px}}@media(max-height:700px)and (min-width:761px){.hero-copy{top:18%}.hero-subtitle{margin-top:14px}.hero-actions{margin-top:16px}.exhibit-card{top:20%}.counter{display:none}}.is-seeking *,.is-seeking *:before,.is-seeking *:after{transition:none!important}.is-seeking .ticker div{animation:none;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
