@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(./pixelify-sans-cyrillic-400-normal-DfOZNMlW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./pixelify-sans-latin-ext-400-normal-DdH6zlBQ.woff2) format("woff2"),url(./pixelify-sans-latin-ext-400-normal-BkfTUL4s.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./pixelify-sans-latin-400-normal-DLrIX9QE.woff2) format("woff2"),url(./pixelify-sans-latin-400-normal-JapMNN6Z.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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) format("woff2"),url(./pixelify-sans-cyrillic-600-normal-B3EuUOZG.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./pixelify-sans-latin-ext-600-normal-Dha6RiOG.woff2) format("woff2"),url(./pixelify-sans-latin-ext-600-normal-CDaIumwU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2) format("woff2"),url(./pixelify-sans-latin-600-normal-BNlgYbDL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #241a35;--bg2: #2f2345;--panel: #3a2c55;--panel2: #45346a;--ink: #fff4e0;--ink-dim: #d9c8b8;--muted: #a493b6;--gold: #ffcf8b;--coral: #ff8e72;--mint: #8fd3c7;--rose: #f7b8c8;--violet: #c9a7ff;--danger: #ff6b6b;--radius: 16px;--shadow: 0 10px 30px rgba(10, 4, 20, .45);--font-display: "Pixelify Sans", ui-rounded, "Trebuchet MS", system-ui, sans-serif;--font: ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(1200px 700px at 30% 0%,#3b2a58 0%,var(--bg) 60%) fixed;color:var(--ink);font:16px/1.45 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:.2em 0 .4em;letter-spacing:.02em}p{margin:.4em 0}.small{font-size:.85rem;color:var(--ink-dim)}.center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.hidden{display:none!important}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}code{background:#0000004d;padding:1px 6px;border-radius:6px;font-size:.8rem}.sprite{image-rendering:pixelated;image-rendering:crisp-edges;display:inline-block;vertical-align:bottom}.btn{font:600 1rem var(--font-display);color:#2a1a2e;background:var(--gold);border:none;border-radius:12px;padding:10px 18px;cursor:pointer;box-shadow:0 4px #c08a4c,0 8px 18px #00000040;transition:transform .08s,box-shadow .08s,filter .15s}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(3px);box-shadow:0 1px #c08a4c}.btn.primary{background:var(--coral);box-shadow:0 4px #b85a45,0 8px 18px #00000040;color:#2a1220}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px #fff4e059}.btn.small{padding:6px 12px;font-size:.9rem}.btn.tiny{padding:3px 8px;font-size:.75rem;border-radius:8px;box-shadow:0 2px #c08a4c}.btn[disabled]{opacity:.55;cursor:default}.icon-btn{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--ink)}.field{font:1.05rem var(--font);padding:10px 14px;border-radius:12px;border:2px solid rgba(255,244,224,.2);background:#00000040;color:var(--ink);outline:none;width:100%}.field:focus{border-color:var(--gold)}.field.code{text-transform:uppercase;letter-spacing:.3em;font-family:var(--font-display);text-align:center}label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-self:flex-start}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;align-items:center}.screen{flex:1;padding:24px}.screen.center{display:flex;align-items:center;justify-content:center}.lobby-bg{background:radial-gradient(800px 500px at 50% 20%,rgba(255,142,114,.18),transparent 70%)}.gate{width:min(380px,92vw);text-align:center}.title-zh{font-size:1.4rem;color:var(--gold);letter-spacing:.1em}.hero{text-align:center;margin:10px auto 24px}.hero h1{font-size:3.4rem;margin:0;color:var(--ink);text-shadow:0 4px 0 #6b3b5a}.hero .sub{color:var(--ink-dim)}.hero-cast{display:flex;gap:22px;justify-content:center;align-items:flex-end;margin-top:16px}.lobby-cards{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.lobby-cards .card{width:min(340px,92vw);align-items:stretch}.lobby-cards .card h3{text-align:center}.role-pick{display:flex;gap:10px}.role-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border-radius:12px;border:2px solid transparent;background:#0003;color:var(--ink);cursor:pointer;font:600 .95rem var(--font-display)}.role-btn.on{border-color:var(--gold);background:#ffcf8b1f}.resume{text-align:center;margin-top:20px}.topbar{display:flex;align-items:center;gap:18px;padding:8px 18px;background:#0f081973;backdrop-filter:blur(6px);position:sticky;top:0;z-index:20}.brand{font:600 1.15rem var(--font-display);display:flex;gap:8px;align-items:center}.room-code{color:var(--muted);font-size:.9rem}.room-code b{color:var(--gold);letter-spacing:.15em;font-family:var(--font-display)}.chips{display:flex;gap:8px;margin-left:auto}.chip{display:flex;align-items:center;gap:6px;background:#ffffff0f;padding:3px 10px 3px 6px;border-radius:99px;font-size:.85rem;opacity:.6}.chip.on{opacity:1}.chip.me{box-shadow:inset 0 0 0 1px #ffcf8b99}.chip .dot{width:8px;height:8px;border-radius:50%;background:#776}.chip.on .dot{background:#6fe08f;box-shadow:0 0 8px #6fe08f}.stage{flex:1;display:flex;flex-direction:column;position:relative}.waiting{position:fixed;inset:0;background:#140a1ebf;backdrop-filter:blur(4px);z-index:40;display:none;align-items:center;justify-content:center}.waiting.show{display:flex}.conn{position:fixed;left:50%;bottom:16px;transform:translate(-50%);background:var(--danger);color:#2a1220;padding:8px 16px;border-radius:99px;font-weight:600;z-index:60;display:none}.conn.show{display:block}.toasts{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:70;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:#fff4e0f5;color:#2a1a2e;padding:10px 18px;border-radius:12px;box-shadow:var(--shadow);max-width:min(560px,90vw);text-align:center;animation:toastIn .25s ease-out;transition:opacity .4s,transform .4s}.toast.out{opacity:0;transform:translateY(-8px)}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}}.bob{animation:bob 2.4s ease-in-out infinite}.bob.delay{animation-delay:.4s}.bob.delay2{animation-delay:.8s}@keyframes bob{50%{transform:translateY(-5px)}}.hop{animation:hop .9s ease-in-out infinite}@keyframes hop{50%{transform:translateY(-12px)}}.party{animation:party .8s ease-in-out infinite}@keyframes party{25%{transform:translateY(-14px) rotate(-8deg)}75%{transform:translateY(-14px) rotate(8deg)}}.sleepy{animation:sleepy 3s ease-in-out infinite;transform-origin:bottom center}@keyframes sleepy{50%{transform:scaleY(.94)}}.shake{animation:shake .45s}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.quake{animation:quake .5s}@keyframes quake{25%{transform:translate(4px,-3px)}50%{transform:translate(-5px,2px)}75%{transform:translate(3px,3px)}}.pop{animation:popAnim .5s}@keyframes popAnim{40%{transform:translate(-50%,-50%) scale(1.5)}}.squish{animation:squish .3s}@keyframes squish{40%{transform:scale(1.15,.85)}}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:30}.petal{position:absolute;top:-20px;width:10px;height:14px;border-radius:50% 0;animation:fall linear forwards;opacity:.9}.petal.emoji{width:auto;height:auto;background:none;font-size:1.4rem;border-radius:0}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(540deg)}}.pixiu-corner{position:fixed;right:18px;bottom:14px;z-index:25;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.pixiu-corner .sprite{cursor:pointer;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4))}.bubble{background:var(--ink);color:#2a1a2e;padding:10px 14px;border-radius:14px 14px 4px;max-width:300px;font-size:.92rem;box-shadow:var(--shadow);position:relative}.pixiu-corner.stealing{animation:steal 2.2s ease-in-out}@keyframes steal{20%{transform:translate(-60vw)}60%{transform:translate(-60vw) translateY(-40px)}to{transform:none}}.map-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;position:relative}.map-wrap{position:relative;width:min(1180px,100%,calc((100vh - 90px)*1.5));aspect-ratio:3 / 2;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.map-svg{width:100%;height:100%;display:block}.land{stroke-width:2;stroke-linejoin:round}.france{fill:#5b4a7a;stroke:#8b77ad}.swiss{fill:#6c4f73;stroke:#b3839b}.lake{fill:#2c2546}.country{font:600 22px var(--font-display);fill:#fff4e021;text-anchor:middle;letter-spacing:.3em}.country.small{font-size:11px;letter-spacing:.15em}.city{font:12px var(--font);fill:var(--ink-dim);text-anchor:middle}.home-dot{fill:var(--gold)}.inset{fill:#781e2859;stroke:#e7b54a;stroke-width:2;stroke-dasharray:6 5}.inset-title{font:600 16px var(--font-display);fill:#ffd8a0;text-anchor:middle}.inset-sub{font:11px var(--font);fill:#e6b7a0;text-anchor:middle}.greatwall{fill:none;stroke:#ffd2a059;stroke-width:4;stroke-dasharray:2 4}.route-faint{fill:none;stroke:#fff4e01f;stroke-width:2;stroke-dasharray:3 6}.route-match{fill:none;stroke:#f7b8c859;stroke-width:2;stroke-dasharray:4 5}.route-match.done{stroke:var(--rose)}.journey-bg{fill:none;stroke:#fff4e014;stroke-width:4;stroke-dasharray:2 8;stroke-linecap:round}.journey{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;filter:drop-shadow(0 0 5px rgba(255,207,139,.8))}.journey.grow{transition:stroke-dashoffset 2.4s ease-in-out;stroke-dashoffset:0!important}.node{cursor:pointer}.node-c{fill:#4a3a66;stroke:#fff4e066;stroke-width:2;transition:transform .2s}.node:hover .node-c{transform:scale(1.15)}.node.done .node-c{fill:#b8743f;stroke:var(--gold)}.node.skipped .node-c{fill:#5a4a6a;stroke-dasharray:3 3}.node.current .node-c{fill:var(--coral);stroke:#fff4e0}.node.locked{opacity:.55}.node-icon{font-size:15px;text-anchor:middle;pointer-events:none}.node-label{font:11px var(--font);fill:var(--ink);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#140a1eb3;stroke-width:3px}.pulse{fill:none;stroke:var(--coral);stroke-width:2;animation:pulse 1.6s ease-out infinite;transform-origin:center;transform-box:fill-box}@keyframes pulse{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.6)}}.map-overlay{position:absolute;inset:0;pointer-events:none}.map-overlay>*{position:absolute}.home-sprite{transform:translate(-50%,-110%)}.travellers{transform:translateY(-100%);display:flex;gap:2px;align-items:flex-end;transition:left 1.5s,top 1.5s;filter:drop-shadow(0 3px 3px rgba(0,0,0,.5))}.map-pixiu{left:16px;bottom:14px;display:flex;align-items:flex-end;gap:8px;pointer-events:auto}.map-pixiu .bubble{max-width:360px;border-radius:14px 14px 14px 4px;order:2}.share-code{left:50%;top:14px;transform:translate(-50%);background:#ffcf8b26;border:1px dashed var(--gold);padding:6px 16px;border-radius:99px;font-size:.95rem}.share-code b{color:var(--gold);letter-spacing:.2em;font-family:var(--font-display)}.map-hint{right:16px;top:12px;font-size:.8rem;color:var(--muted)}.finale-btn{right:16px;bottom:16px;pointer-events:auto}.node-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,90vw);background:var(--ink);color:#2a1a2e;border-radius:18px;padding:22px;box-shadow:var(--shadow);z-index:15;text-align:center}.node-card .close{position:absolute;right:10px;top:6px;border:none;background:none;font-size:1.6rem;cursor:pointer;color:#6a5a6a}.node-card-icon{font-size:2.2rem}.node-card .meta{color:#7a6178}.pixiu-line{display:flex;gap:10px;align-items:flex-start;text-align:left;background:#0000000d;padding:10px;border-radius:12px;font-size:.92rem}.reward-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.reward-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.reward-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem}.meta{color:var(--ink-dim)}.polaroid{background:#fffaf0;padding:14px 14px 18px;border-radius:6px;box-shadow:var(--shadow);transform:rotate(-1.5deg);width:min(520px,88vw,calc((100vh - 330px)/.8));color:#3a2a2a}.photo{width:100%;aspect-ratio:4 / 3;background:#e9dfcf;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px}.photo img{width:100%;height:100%;object-fit:cover}.photo.empty .ph,.video-box .ph{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:2.4rem;color:#8a7a6a}.ph small{font-size:.9rem}.caption{font-family:var(--font-display);font-size:1.05rem;margin-top:10px}.reward-cast{display:flex;gap:16px;align-items:flex-end;margin:6px 0}.level{flex:1;display:flex;flex-direction:column;padding:10px 18px 18px;gap:10px;position:relative}.level-head{display:flex;align-items:center;justify-content:space-between}.level-title b{font-family:var(--font-display);font-size:1.2rem}.level-title span{color:var(--muted);font-size:.9rem}.l1{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative}.waiting-title{text-align:center}.phone{width:340px;min-height:540px;background:#17121f;border-radius:40px;padding:22px 16px;box-shadow:0 0 0 10px #2a2236,var(--shadow);display:flex;flex-direction:column;gap:10px}.phone-head{display:flex;gap:10px;align-items:center;font:600 1rem var(--font-display);color:var(--rose);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}.chat{display:flex;flex-direction:column;gap:8px;flex:1}.msg{max-width:80%;padding:8px 12px;border-radius:16px;font-size:.95rem;animation:toastIn .3s}.msg.him{align-self:flex-start;background:#3f7cac;border-bottom-left-radius:4px}.msg.her{align-self:flex-end;background:#d8607f;border-bottom-right-radius:4px}.msg.big{font-size:1.3rem;font-family:var(--font-display)}.riddle{background:#ffcf8b1f;border:1px dashed var(--gold);border-radius:12px;padding:10px;font-style:italic;text-align:center}.phone-input{display:flex;gap:8px}.typing-dots{display:flex;gap:5px;align-self:flex-start;background:#d8607f;padding:10px 14px;border-radius:16px}.typing-dots i{width:7px;height:7px;background:#fff;border-radius:50%;animation:bob 1s infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.live-typing{align-self:flex-end;font:600 2rem var(--font-display);color:var(--rose);letter-spacing:.1em;min-height:2.5rem}.live-typing.solved{color:var(--gold);text-shadow:0 0 20px rgba(255,207,139,.8)}.level-2{--l2-paper: #f3e6c9;--l2-mustard: #e0b23a;--l2-brown: #6b4423}.l2{flex:1;display:flex;flex-direction:column;gap:10px;position:relative}.l2-top{display:flex;align-items:center;gap:18px;background:#e0b23a1f;border-radius:14px;padding:8px 16px}.l2-top h2{margin:0;color:var(--l2-mustard)}.room-steps{display:flex;gap:6px}.room-steps span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff14;font-family:var(--font-display)}.room-steps span.on{background:var(--l2-mustard);color:#2a1a10}.room-steps span.done{background:#8a6a2a}.soft-timer{margin-left:auto;text-align:right;display:flex;flex-direction:column}.soft-timer b{font:600 1.6rem var(--font-display);color:var(--gold)}.soft-timer.low b{color:var(--coral)}.soft-timer.over small{color:var(--rose);font-size:.95rem}.l2-body{display:flex;gap:14px;flex:1}.l2-main{flex:1;display:flex;align-items:flex-start;justify-content:center}.l2-side{width:250px;background:#0003;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;position:relative}.l2-side .pixiu-corner{position:static;align-items:flex-start;margin-top:auto}.l2-side .pixiu-corner .bubble{border-radius:14px 14px 14px 4px;max-width:230px}.inventory{display:flex;flex-direction:column;gap:6px}.item{display:flex;align-items:center;gap:8px;background:#ffffff12;padding:6px 8px;border-radius:10px;font-size:.85rem}.item.theirs{opacity:.5}.item-name{flex:1}.item-icon{font-size:1.3rem}.tube{position:relative;height:90px;width:36px;margin:6px auto 0}.tube-pipe{position:absolute;inset:0 8px;background:linear-gradient(90deg,#b4dcff26,#ffffff59,#b4dcff26);border-radius:10px;border:2px solid rgba(255,255,255,.3)}.capsule{position:absolute;left:10px;width:16px;height:24px;background:var(--gold);border-radius:8px;top:33px;opacity:0}.capsule.up{animation:capUp 1.1s ease-in}.capsule.down{animation:capDown 1.1s ease-out}@keyframes capUp{0%{top:70px;opacity:1}to{top:-40px;opacity:0}}@keyframes capDown{0%{top:-40px;opacity:0}20%{opacity:1}to{top:70px;opacity:1}}.tube-label{text-align:center;margin:0}.room-curtain{position:absolute;inset:0;background:#241a35f2;z-index:30;display:flex;align-items:center;justify-content:center;gap:14px;animation:curtain 2.2s forwards;border-radius:14px}.room-curtain h2{color:var(--l2-mustard);font-size:2rem}@keyframes curtain{0%{opacity:0}15%,75%{opacity:1}to{opacity:0}}.board{background:#121418;border-radius:12px;padding:12px;box-shadow:var(--shadow);font-family:Courier New,monospace;min-width:480px}.board-head{display:flex;justify-content:space-between;color:#f5c84a;font:600 1rem var(--font-display);margin-bottom:8px}.board table{width:100%;border-collapse:separate;border-spacing:0 4px;color:#f5c84a}.board th{text-align:left;color:#9aa;font-size:.75rem;font-weight:400}.board td{background:#1d2026;padding:6px 8px;font-size:1rem;letter-spacing:.06em}.board td.plat{text-align:center;color:#fff;font-weight:700;background:#2a3b5a}.r1-jade,.r1-adrian{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;justify-content:center}.exit-door{background:#2d3a2d;border-radius:12px;padding:14px;width:250px;text-align:center;box-shadow:var(--shadow)}.exit-sign{background:#1f8a4c;color:#fff;font:600 1rem var(--font-display);padding:6px;border-radius:6px}.keypad{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:8px}.kp-display{font:600 1.8rem var(--font-display);letter-spacing:.4em;background:#0f1410;color:#7cff9e;padding:6px 14px;border-radius:8px;min-width:150px;text-align:center}.kp-keys{display:grid;grid-template-columns:repeat(3,56px);gap:6px}.kp-key{height:44px;border-radius:10px;border:none;background:#e9e1d2;font:600 1.1rem var(--font-display);cursor:pointer;box-shadow:0 3px #a99}.kp-key:active{transform:translateY(2px);box-shadow:none}.kp-key.ok{background:var(--gold);font-size:.75rem}.keypad.opened .kp-display{color:var(--gold)}.tickets{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.ticket{width:290px;background:linear-gradient(135deg,#fbf3e4,#efe2c8);color:#3a2a20;border-radius:10px;padding:14px;box-shadow:var(--shadow);position:relative;font-family:Courier New,monospace}.ticket:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 30px,rgba(120,90,60,.07) 30px 32px);border-radius:10px;pointer-events:none}.ticket-top{display:flex;justify-content:space-between;font-size:.8rem;color:#8a3a3a}.ticket-route{display:flex;gap:8px;align-items:center;font:600 1.05rem var(--font-display);margin:8px 0}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ticket-grid small{display:block;font-size:.7rem;color:#8a7a6a}.smudge{filter:blur(1.5px);opacity:.6}.ticket-seat,.ticket-name{font-size:.8rem;margin-top:6px}.rule-card{background:var(--l2-paper);color:#3a2a20;padding:14px 18px;border-radius:8px;max-width:360px;transform:rotate(1deg);box-shadow:var(--shadow)}.rule-head{font:600 .95rem var(--font-display);color:#8a3a3a}.r2-jade{display:grid;grid-template-columns:1fr 260px;grid-template-rows:auto auto;gap:16px;width:100%;max-width:860px}.shelf-wrap{grid-column:1 / 3;background:linear-gradient(#5b3a22,#4a2e1a);border-radius:12px;padding:12px;box-shadow:var(--shadow)}.shelf-title{font:600 .9rem var(--font-display);color:var(--l2-mustard);margin-bottom:8px}.shelf{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;border-bottom:8px solid #3a2414;padding-bottom:6px}.jar{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;padding:0;color:var(--ink)}.jar-lid{width:44px;height:10px;background:#8a6a3a;border-radius:4px 4px 0 0}.jar-body{width:54px;height:64px;background:linear-gradient(90deg,#f0d28c8c,#fff0c8d9,#f0d28c8c);border-radius:8px 8px 14px 14px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.4)}.jar-num{font-size:.7rem;color:var(--ink-dim)}.jar.sel .jar-body{outline:3px solid var(--gold);outline-offset:2px}.jar:hover .jar-body{transform:translateY(-3px)}.bench{background:#0003;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;align-items:center}.sel-label{display:inline-flex;align-items:center;gap:4px}.scale{display:flex;align-items:center;gap:12px}.bowl{width:110px;height:56px;border-radius:0 0 60px 60px;background:#e8e2d6;position:relative;overflow:hidden;border:3px solid #bdb3a1}.bowl-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(#e7c04a,#c99a2a);transition:height .3s}.scale-read{font:600 1.6rem var(--font-display);background:#0f1410;color:#7cff9e;padding:4px 12px;border-radius:8px}.bowl-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.bowl-list li{background:#ffffff14;padding:2px 8px;border-radius:8px;display:flex;align-items:center;gap:4px;font-size:.85rem}.drawer{background:#5b3a22;border-radius:10px;display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;box-shadow:inset 0 0 20px #00000080}.drawer-front{font-size:2rem;transition:transform .6s}.drawer.open .drawer-front{transform:translateY(20px) scale(1.3)}.sym{display:inline-flex}.ledger{background:var(--l2-paper);color:#3a2a20;border-radius:10px;padding:18px 22px;box-shadow:var(--shadow);max-width:780px}.ledger-title{font:600 1.3rem var(--font-display);color:#8a3a3a;text-align:center;margin-bottom:10px}.ledger-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.ledger-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ledger-list li{display:flex;gap:10px;align-items:center;border-bottom:1px dashed rgba(90,60,30,.3);padding-bottom:6px}.ledger-list small{display:block;color:#7a6a5a;font-style:italic}.recipe{background:#e0b23a33;padding:12px;border-radius:8px}.recipe .small{color:#6a5a4a}.r2-adrian{display:flex;flex-direction:column;gap:16px;align-items:center}.paper-note{background:#fffaf0;color:#3a2a2a;border-radius:6px;padding:18px 22px;max-width:520px;box-shadow:var(--shadow);font-family:Georgia,Times New Roman,serif;font-size:1.1rem;text-align:center;animation:toastIn .5s}.paper-note .small{color:#7a6a6a}.note-head{font:600 .9rem var(--font-display);color:#b85a6a;margin-bottom:6px}.sign{font-style:italic;text-align:right}.r3-jade{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.map-col{width:min(800px,100%);display:flex;flex-direction:column;gap:8px}.owl-map{position:relative;width:100%;aspect-ratio:8 / 5;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.dijon-map{width:100%;height:100%;display:block}.dijon-map .blocks rect{fill:#e0cba3;stroke:#c9b088}.dijon-map .streets path{stroke:#f7efdc;stroke-width:18;fill:none}.dijon-map .trail{fill:none;stroke:#c99a2a;stroke-width:3;stroke-dasharray:2 7;stroke-linecap:round}.dijon-map .landmark rect,.dijon-map .landmark path{fill:#b9a585;stroke:#8a765a}.dijon-map text{font:12px var(--font);fill:#6a5a40;text-anchor:middle}.plaque{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:3px solid #8a6a2a;background:radial-gradient(circle at 35% 30%,#f7d77a,#c99a2a);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #00000059;padding:0}.plaque .owl{font-size:1.1rem}.plaque .num{position:absolute;bottom:-10px;right:-10px;background:#3a2a1a;color:#f7d77a;font:600 .75rem var(--font-display);border-radius:8px;padding:1px 5px}.plaque.found{box-shadow:0 0 0 4px #7cff9e,0 0 18px #7cff9e}.carving{position:absolute;transform:translate(-50%,-50%);font-size:1.4rem;filter:sepia(1) saturate(.6) brightness(.8) contrast(1.2);pointer-events:none}.digits{display:flex;gap:8px;align-items:center;justify-content:center}.digit{width:38px;height:46px;background:#0000004d;border-radius:8px;display:flex;align-items:center;justify-content:center;font:600 1.6rem var(--font-display);color:var(--muted)}.digit.on{color:var(--gold);background:#ffcf8b26;box-shadow:0 0 12px #ffcf8b80}.owl-scene{display:flex;justify-content:center}.carved-owl{background:linear-gradient(#9c9080,#7d7266);border-radius:50% 50% 20px 20px;width:300px;padding:30px 20px;text-align:center;cursor:pointer;box-shadow:inset 0 0 30px #0006,var(--shadow);user-select:none}.owl-stone{font-size:6rem;filter:grayscale(1) sepia(.4) contrast(1.1);transition:filter .3s,transform .3s}.carved-owl:hover .owl-stone{filter:sepia(.8) saturate(1.5);transform:scale(1.05)}.r3-adrian{display:flex;flex-direction:column;align-items:center;gap:18px}.photos{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.photo-card{background:#fffaf0;padding:10px 10px 14px;border-radius:4px;width:150px;text-align:center;color:#5a4a4a;box-shadow:var(--shadow)}.photo-img{height:120px;background:#c8b89a;display:flex;align-items:center;justify-content:center;font-size:3.4rem;filter:sepia(1) saturate(.6) contrast(1.2);border-radius:2px}.lock-box{background:#3a3530;border-radius:12px;padding:14px;text-align:center;box-shadow:var(--shadow)}.lock-head{font:600 1rem var(--font-display);color:var(--gold)}.status{max-width:360px;color:var(--mint)}.l3{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;--tea: #7cffc4}.round-badge{font:600 1rem var(--font-display);color:var(--tea);background:#7cffc41a;padding:4px 14px;border-radius:99px}.console{position:relative;background:linear-gradient(180deg,#16303a,#0f2129);border:2px solid rgba(124,255,196,.35);border-radius:22px;padding:16px 22px 22px;width:min(1000px,100%);box-shadow:0 0 40px #7cffc41f,var(--shadow)}.console-title{font:600 1.2rem var(--font-display);color:var(--tea);letter-spacing:.3em;text-align:center;margin-bottom:12px;text-shadow:0 0 10px rgba(124,255,196,.6)}.console-body{display:grid;grid-template-columns:320px 1fr;gap:20px}.status-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:#00000059;border:1px solid rgba(124,255,196,.2);border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:4px}.stat small{color:#8fc9b8;font-size:.7rem;letter-spacing:.15em}.stat b{font-family:var(--font-display);color:#e6fff4}.lamp{width:30px;height:30px;border-radius:50%}.serial{font:600 1.3rem Courier New,monospace;color:#ffe29a;background:#222;padding:2px 8px;border-radius:4px;letter-spacing:.1em}.cups{font-size:1.1rem}.gauge{width:110px}.gauge-arc{fill:none;stroke:#3d6b5f;stroke-width:8}.gauge-mid{stroke:#ffe29a;stroke-width:2}.gauge-needle{stroke:#ff8e72;stroke-width:3;stroke-linecap:round}.warp-lamp{width:30px;height:18px;border-radius:4px;background:#333}.warp-lamp.on{background:#c9a7ff;box-shadow:0 0 16px #c9a7ff;animation:bob .8s infinite}.tin{width:44px;height:34px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#222}.controls{display:flex;flex-direction:column;gap:12px}.ctrl{background:#0000004d;border-radius:12px;padding:10px 14px}.ctrl-name{font:600 .8rem var(--font-display);color:#8fc9b8;letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px}.grade-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.grade-btn{padding:8px 4px;border-radius:8px;border:1px solid rgba(124,255,196,.3);background:#13262d;color:#cfeee3;font:600 .85rem var(--font-display);cursor:pointer}.grade-btn.on{background:var(--tea);color:#0f2129;box-shadow:0 0 14px #7cffc499}.knob-row,.slider-row{display:flex;align-items:center;gap:12px}.knob{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a6e70,#1d3238);border:3px solid rgba(124,255,196,.4);position:relative;cursor:ns-resize;touch-action:none}.knob-mark{position:absolute;inset:4px}.knob-mark:before{content:"";position:absolute;left:50%;top:2px;width:4px;height:16px;margin-left:-2px;background:var(--tea);border-radius:2px}.mini{width:32px;height:32px;border-radius:8px;border:1px solid rgba(124,255,196,.3);background:#13262d;color:var(--tea);font-size:1.1rem;cursor:pointer}.readout{font:600 1.5rem var(--font-display);color:#ffe29a;min-width:90px;text-shadow:0 0 8px rgba(255,226,154,.5)}.slider{flex:1;accent-color:var(--tea);height:24px}.brew-row{display:flex;align-items:center;justify-content:flex-end;gap:20px}.btn.brew{background:var(--tea);color:#0f2129;box-shadow:0 4px #3c9c74,0 0 22px #7cffc466;font-size:1.3rem;padding:12px 34px;letter-spacing:.2em}.cup{position:relative;width:50px;height:50px}.cup-body{position:absolute;bottom:0;left:5px;width:40px;height:30px;background:#f2f0ea;border-radius:0 0 16px 16px;box-shadow:inset 0 6px #7cba5a}.cup-steam{position:absolute;left:18px;top:0;width:12px;height:18px;border-radius:50%;border-left:3px solid rgba(255,255,255,.4);opacity:0}.cup.brewed .cup-steam{animation:steam 1s ease-out infinite}@keyframes steam{0%{opacity:.8;transform:translateY(6px)}to{opacity:0;transform:translateY(-12px)}}.boom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;pointer-events:none}.splat{position:absolute;width:420px;height:300px;background:radial-gradient(circle at 50% 50%,#8fd36a 0 30%,transparent 31%),radial-gradient(circle at 20% 30%,#7cba5a 0 12%,transparent 13%),radial-gradient(circle at 80% 25%,#9ee07a 0 10%,transparent 11%),radial-gradient(circle at 70% 75%,#7cba5a 0 14%,transparent 15%),radial-gradient(circle at 25% 75%,#8fd36a 0 9%,transparent 10%);animation:splat .4s ease-out;filter:drop-shadow(0 0 20px rgba(124,255,100,.6))}@keyframes splat{0%{transform:scale(.2);opacity:0}}.boom-text{position:relative;background:#0f2129;border:2px solid #ff8e72;padding:14px 22px;border-radius:14px;text-align:center;display:flex;flex-direction:column;animation:toastIn .3s}.boom-text b{font:600 1.4rem var(--font-display);color:#ff8e72}.manual-wrap{display:flex;flex-direction:column;width:min(860px,100%)}.manual-cover{background:#1f3a46;color:var(--tea);border-radius:14px 14px 0 0;padding:12px 18px;display:flex;flex-direction:column}.manual-cover b{font:600 1.3rem var(--font-display)}.manual-cover small{color:#8fc9b8}.manual{background:#eef6f1;color:#1d2e33;border-radius:0 0 14px 14px;padding:18px 24px;display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;font-size:.98rem;box-shadow:var(--shadow)}.man-sec h4{color:#1d6a5a;border-bottom:2px solid #b8dccf}.man-sec ol{padding-left:1.2em;margin:0;display:flex;flex-direction:column;gap:4px}.aside{font-style:italic;color:#6a7a7a;font-size:.85rem;background:#fff9e6;padding:6px 8px;border-radius:6px}.pageflip{animation:pageflip .5s}@keyframes pageflip{0%{transform:perspective(800px) rotateY(-12deg);opacity:.4}}.brew-status{color:var(--tea);font:600 1.05rem var(--font-display);min-height:1.5em}.l4{flex:1;display:flex;gap:28px;align-items:center;justify-content:center;position:relative;--warp: #9b7bff}.grid-side{width:260px;display:flex;flex-direction:column;gap:10px}.grid-title{display:flex;flex-direction:column}.grid-title b{font:600 1.4rem var(--font-display);color:var(--violet)}.you-move{font:600 1rem var(--font-display);color:var(--gold)}.pad-controls{display:flex;gap:8px}.pad-controls.vert{flex-direction:column;width:60px}.legend{list-style:none;padding:0;margin:0;font-size:.82rem;color:var(--ink-dim);display:flex;flex-direction:column;gap:6px}.legend li{display:flex;gap:8px;align-items:center}.lg{width:18px;height:18px;border-radius:4px;display:inline-block;flex-shrink:0}.lg.plate{background:#f2b230;border-radius:50%}.lg.door{background:#6a4aa8;border:2px solid #c9a7ff}.lg.pad{background:#2fb5a5}.lg.portal{background:conic-gradient(#ff8e72,#c9a7ff,#8fd3c7,#ff8e72);border-radius:50%}.grid-stage{padding:14px;background:#9b7bff14;border-radius:18px;box-shadow:0 0 40px #9b7bff26}.grid6{--cell: min(76px, calc((100vh - 200px) / 6));position:relative;display:grid;grid-template-columns:repeat(6,var(--cell));grid-template-rows:repeat(6,var(--cell));gap:0}.grid6.warping{animation:warpSpin 2s ease-in}@keyframes warpSpin{60%{filter:hue-rotate(180deg) brightness(1.6);transform:scale(.96) rotate(2deg)}to{filter:brightness(3);opacity:0;transform:scale(.6) rotate(-6deg)}}.cell{background:#2c2348;border:1px solid rgba(201,167,255,.12);display:flex;align-items:center;justify-content:center;position:relative}.cell.lane{background:#3a2f5e}.cell.wall{background:repeating-linear-gradient(45deg,#1a1430 0 8px,#221a3c 8px 16px)}.cell.portal{background:radial-gradient(circle,#fff4e0 0 8%,transparent 9%),conic-gradient(from 0deg,#ff8e72,#c9a7ff,#8fd3c7,#ff8e72);border-radius:50%;animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cell.plate:before{content:"";position:absolute;inset:22%;border-radius:50%;background:#8a6a2a;box-shadow:inset 0 -4px #5a4a1a}.cell.plate.held:before{background:#f2b230;box-shadow:0 0 18px #f2b230}.cell.door{background:#6a4aa8;border:3px solid #c9a7ff}.cell.door.open{background:#6a4aa833;border-style:dashed}.cell.pad{background:radial-gradient(circle,#2fb5a5cc,#2fb5a526)}.pad-label{font:600 .8rem var(--font-display);color:#e6fff8;position:absolute;top:3px;left:5px}.mark{position:relative;font:600 1rem var(--font-display);color:#fff4e0}.token{position:absolute;left:0;top:0;width:var(--cell);height:var(--cell);display:flex;align-items:flex-end;justify-content:center;transition:transform .18s ease-out;pointer-events:none;padding-bottom:6px;z-index:2}.token.t-p1{justify-content:flex-start;padding-left:10%}.token.t-p2{justify-content:flex-end;padding-right:10%}.token.t-cat{align-items:center;padding:0;z-index:1}.token .sprite{filter:drop-shadow(0 2px 2px rgba(0,0,0,.6));max-height:92%;width:auto}.bump{animation:shake .25s}.l5{flex:1;display:flex;flex-direction:column;align-items:center;gap:14px;position:relative}.l5-head{text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.clue{color:var(--rose);font-style:italic}.l5-msg{font:600 1.4rem var(--font-display);color:var(--gold)}.seq-dots{display:flex;gap:6px;align-items:center}.seq-dots i{width:14px;height:14px;border-radius:50%;background:#ffffff26}.seq-dots i.on{background:var(--gold)}.guzheng{position:relative;width:min(980px,100%);height:300px;transform:perspective(900px) rotateX(18deg)}.zheng-body{position:absolute;inset:20px 10px;background:linear-gradient(180deg,#7a3324,#5a2218 60%,#4a1a12);border-radius:40px 120px 120px 40px/60px;box-shadow:var(--shadow),inset 0 6px #ffc89626}.zheng-body:after{content:"◎ 古筝 ◎";position:absolute;right:60px;top:50%;transform:translateY(-50%);color:#ffcf8b80;font-size:1.1rem;letter-spacing:.3em}.zheng-tail{position:absolute;left:30px;top:30px;bottom:30px;width:18px;background:#e7b54a;border-radius:8px}.zheng-string{position:absolute;left:40px;right:30px;height:30px;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:0}.str-line{position:absolute;left:0;right:0;top:50%;height:3px;background:linear-gradient(90deg,#f6eadc,#d8c8a8);box-shadow:0 1px 2px #00000080}.zheng-string:hover .str-line{background:#fff;height:4px}.zheng-string.pluck .str-line{animation:vibrate .7s;background:var(--gold);box-shadow:0 0 12px var(--gold)}@keyframes vibrate{10%,30%,50%,70%{transform:translateY(-3px)}20%,40%,60%,80%{transform:translateY(3px)}}.str-label{position:absolute;right:-6px;top:-4px;font:600 .8rem var(--font-display);color:#ffd8a0;background:#0006;padding:1px 6px;border-radius:6px}.bridge{position:absolute;top:2px;width:14px;height:24px;background:#f2e6c9;clip-path:polygon(50% 0,100% 100%,0 100%)}.l5.locked .zheng-string{cursor:default}.l6{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.run-canvas{width:min(100%,calc((100vh - 150px) * 16 / 9));aspect-ratio:16 / 9;border-radius:16px;box-shadow:var(--shadow);background:#2b1d4a;image-rendering:auto}.run-help{color:var(--ink-dim);font-size:.9rem}.l7{flex:1;display:flex;flex-direction:column;gap:10px;align-items:center;position:relative}.ballet-stage{position:relative;width:min(980px,100%);height:290px;border-radius:18px;overflow:hidden;background:linear-gradient(#2a0f22,#4a1a35 60%,#7a3a2a 61%,#5a2a1e);box-shadow:var(--shadow)}.curtain{position:absolute;top:0;bottom:0;width:14%;background:repeating-linear-gradient(90deg,#8a1a2a 0 14px,#6a1020 14px 28px);z-index:2}.curtain.left{left:0;border-radius:0 0 40px}.curtain.right{right:0;border-radius:0 0 0 40px}.spot{position:absolute;left:50%;top:-40px;width:360px;height:360px;transform:translate(-50%);background:radial-gradient(ellipse at 50% 80%,rgba(255,240,200,.4),transparent 60%)}.dancer{position:absolute;bottom:80px;transition:transform .3s;z-index:1}.ballerina{left:calc(50% - 90px)}.partner{left:calc(50% + 20px)}.sway-l{transform:translate(-10px) rotate(-4deg)}.sway-r{transform:translate(10px) rotate(4deg)}.pirouette .sprite{animation:pirouette 1.1s ease-in-out}@keyframes pirouette{50%{transform:scaleX(-1) translateY(-14px)}25%,75%{transform:scaleX(.1) translateY(-8px)}}.lift{animation:lift 1.2s ease-in-out}@keyframes lift{40%,70%{transform:translate(40px,-80px) rotate(-8deg)}}.lifting{animation:lifting 1.2s ease-in-out}@keyframes lifting{40%,70%{transform:translate(-20px)}}.combo{position:absolute;top:16px;left:50%;transform:translate(-50%);font:600 1.6rem var(--font-display);color:var(--gold);text-shadow:0 0 12px rgba(255,207,139,.7);z-index:3}.audience{position:absolute;bottom:-8px;left:10%;right:10%;display:flex;justify-content:space-around;z-index:3}.head{width:34px;height:40px;background:#1a0d18;border-radius:50% 50% 10px 10px}.ovation .head{animation:hop .5s ease-in-out infinite}.l7-bottom{display:flex;gap:18px;align-items:stretch;width:min(980px,100%)}.lanes{border-radius:14px;width:520px;height:330px}.l7-panel{flex:1;background:#00000040;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;justify-content:center}.calib-dots{display:flex;gap:10px}.calib-dots i{width:20px;height:20px;border-radius:50%;background:#ffffff1f;transition:background .1s}.calib-dots i.on{background:var(--gold);box-shadow:0 0 10px var(--gold)}.tap-pad{font:600 1.2rem var(--font-display);padding:14px 40px;border-radius:14px;background:#ffffff1a;letter-spacing:.2em}.tap-pad.hit{background:var(--coral);color:#2a1220}.finale-screen{flex:1;padding:10px 22px 30px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;background:radial-gradient(900px 500px at 50% 0%,rgba(200,50,60,.35),transparent 70%)}.lanterns-row{display:flex;justify-content:space-around;height:70px}.lantern-deco{width:34px;height:44px;background:radial-gradient(circle at 50% 40%,#ff7a5a,#c8323c);border-radius:45%;box-shadow:0 0 24px #ff7850b3;position:relative;animation:sway 3s ease-in-out infinite;transform-origin:top center;margin-top:18px}.lantern-deco:before{content:"";position:absolute;left:50%;top:-18px;width:2px;height:18px;background:#6a3a2a}.lantern-deco:after{content:"";position:absolute;left:50%;bottom:-14px;width:3px;height:14px;margin-left:-1px;background:#f2c94c}@keyframes sway{50%{transform:rotate(6deg)}}.finale-head{text-align:center}.zh-title{font-size:3.6rem;color:var(--gold);text-shadow:0 0 30px rgba(255,180,100,.6),0 4px 0 #8a2a2a;margin:0}.finale-head .sub{font:600 1.3rem var(--font-display);color:var(--rose)}.finale-head .message{max-width:640px;margin:6px auto 0;color:var(--ink-dim)}.finale-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:16px;max-width:1150px;margin:0 auto;width:100%}.panel{background:#00000040;border-radius:18px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px}.video-panel{grid-row:span 3;justify-content:center}.video-box{width:100%;aspect-ratio:16 / 9;background:#120a18;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.video-box video{width:100%;height:100%;object-fit:contain;background:#000}.counters{flex-direction:row;justify-content:space-around;flex-wrap:wrap}.counter{display:flex;flex-direction:column;align-items:center;gap:4px}.counter small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.counter .since{text-transform:none;letter-spacing:0}.big-num{font:600 3.4rem var(--font-display);color:var(--rose);text-shadow:0 0 20px rgba(247,184,200,.5);line-height:1}.countdown{display:flex;gap:8px}.cd-cell{background:#ffffff12;border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;min-width:52px}.cd-cell b{font:600 1.6rem var(--font-display);color:var(--gold)}.cd-cell small{font-size:.65rem;color:var(--muted)}.cd-done{font:600 1.6rem var(--font-display);color:var(--gold)}.box-panel{flex-direction:row;gap:18px;justify-content:center;flex-wrap:wrap}.box-panel h3{width:100%;text-align:center;margin:0}.sealed-box{position:relative;width:110px;height:90px;cursor:pointer}.box-body{position:absolute;bottom:0;left:0;right:0;height:66px;background:repeating-linear-gradient(90deg,#c08a52 0 10px,#b47e48 10px 20px);border-radius:4px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.box-lid{position:absolute;top:6px;left:-6px;right:-6px;height:22px;background:#a06a3a;border-radius:4px;z-index:1}.box-ribbon{position:absolute;left:50%;top:6px;bottom:0;width:12px;margin-left:-6px;background:#c8323c;z-index:2}.seal{position:relative;z-index:3;width:34px;height:34px;border-radius:50%;background:#c8323c;color:#ffe2b0;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 0 0 3px #8a1a22}.sealed-box.shake{animation:shake .45s}.box-text{max-width:220px;text-align:center;font:600 1rem var(--font-display);color:var(--ink-dim)}.box-text.glow{color:var(--gold);text-shadow:0 0 12px rgba(255,207,139,.6)}.noodles-svg{width:220px}.noodles-svg .noodle{fill:none;stroke:#f2d38a;stroke-width:3.5;stroke-linecap:round}.noodles-svg .chopstick{stroke:#8a5a3a;stroke-width:5;stroke-linecap:round}.noodles-svg .steam path{fill:none;stroke:#ffffff59;stroke-width:3;stroke-linecap:round;animation:steam 2.4s ease-out infinite}.noodles-svg .steam path:nth-child(2){animation-delay:.6s}.noodles-svg .steam path:nth-child(3){animation-delay:1.2s}.bowl-zh{font:700 22px serif;fill:#f2c94c}.finale-cast{display:flex;justify-content:center;gap:30px;align-items:flex-end}.dev-panel{position:fixed;left:50%;transform:translate(-50%);top:6px;z-index:90;background:#0a0610eb;border:1px solid #555;border-radius:10px;padding:8px;font:12px ui-monospace,monospace;color:#ddd;max-width:460px}.dev-panel.collapsed .dev-body{display:none}.dev-toggle{background:#333;color:#eee;border:none;border-radius:6px;padding:4px 8px;cursor:pointer}.dev-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.dev-row button{background:#444;color:#eee;border:none;border-radius:5px;padding:4px 8px;cursor:pointer;font:inherit}.dev-row button.danger{background:#8a2a2a}.dev-answers{white-space:pre-wrap;margin:6px 0 0;color:#9fe;max-height:160px;overflow:auto}@media(max-width:1100px){.console-body,.finale-grid{grid-template-columns:1fr}.video-panel{grid-row:auto}.r2-jade{grid-template-columns:1fr}.shelf-wrap{grid-column:auto}.l2-body{flex-direction:column}.l2-side{width:100%}}
