.ng-root{z-index:56;color:var(--ink,#f3f7f4);font-family:var(--font-body);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;background:#0f1a15;flex-direction:column;display:flex;position:fixed;inset:0}.ng-panel{border:1px solid var(--line,#355544);background:#14231ced;border-radius:12px}.ng-hud{z-index:5;top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 10px);right:calc(env(safe-area-inset-right) + 10px);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute}.ng-hud>*{pointer-events:auto}.ng-hud-title{flex-direction:column;min-width:0;padding:6px 12px;display:flex}.ng-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent,#3ecf8e);font-size:11px;font-weight:800}.ng-objective{color:var(--muted,#a8bfb2);font-size:13px;font-weight:600}.ng-hud-right{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;max-width:min(100%,52vw);padding-right:2px;display:flex}.ng-chip{white-space:nowrap;padding:7px 12px;font-size:13px;font-weight:700}.ng-chip--ruby{color:var(--ruby,#ff6b8a);font-weight:800}.ng-icon-btn{width:40px;height:40px;color:var(--ink,#f3f7f4);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.ng-scene{min-height:0;image-rendering:pixelated;background-color:#0f1a15;background-position:50% 30%;background-repeat:no-repeat;background-size:cover;flex:auto;position:relative;overflow:hidden}.ng-scene--room{background-position:50% 42%;background-size:min(92vw,560px)}.ng-scene:after{content:"";pointer-events:none;background:#0d1a142e;position:absolute;inset:0}.ng-scene>*{z-index:1;position:relative}.ng-sprite-wrap{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.ng-sprite-wrap.is-side{flex-direction:row-reverse;align-items:center;gap:4px}.ng-sprite{image-rendering:pixelated;background-repeat:no-repeat;display:block}.ng-sprite.is-running{animation:.6s steps(6,end) infinite ng-run}@keyframes ng-run{0%{background-position-x:calc(var(--ng-s) * -14px)}to{background-position-x:calc(var(--ng-s) * -398px)}}@media (prefers-reduced-motion:reduce){.ng-sprite.is-running{animation:none}}.ng-nametag{color:var(--ink,#f3f7f4);white-space:nowrap;background:#0d1a14de;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.ng-nametag.is-hi{background:var(--accent,#3ecf8e);color:#0d1a14;font-weight:800}.ng-bubble{border:1px solid var(--line,#355544);background:#1e3328f5;border-radius:14px;align-items:center;gap:8px;max-width:min(420px,92%);padding:8px 10px 8px 12px;font-size:15px;font-weight:600;line-height:1.3;display:flex;box-shadow:0 6px 18px #0006}.ng-bubble--you{background:var(--accent,#3ecf8e);color:#0d1a14;border-color:var(--accent,#3ecf8e);align-self:flex-end}.ng-round-btn{background:var(--panel,#243d31);border:1px solid var(--line,#355544);width:36px;height:36px;color:var(--ink,#f3f7f4);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ng-btn{background:var(--panel,#243d31);border:1px solid var(--line,#355544);min-height:44px;color:var(--ink,#f3f7f4);font:700 14px var(--font-body);cursor:pointer;text-align:center;border-radius:10px;padding:0 14px}.ng-btn:disabled{opacity:.55;cursor:default}.ng-btn.is-right:disabled,.ng-btn.is-wrong:disabled{opacity:1}.ng-btn:focus-visible,.ng-round-btn:focus-visible,.ng-icon-btn:focus-visible{outline:2px solid var(--accent-2,#f0c75e);outline-offset:2px}.ng-btn--primary{background:var(--accent,#3ecf8e);border-color:var(--accent,#3ecf8e);color:#0d1a14;font-weight:800}.ng-btn--gold{background:var(--accent-2,#f0c75e);border-color:var(--accent-2,#f0c75e);color:#1a1408;font-weight:800}.ng-btn.is-picked{background:var(--accent,#3ecf8e);border-color:var(--accent,#3ecf8e);color:#0d1a14;font-weight:800}.ng-btn.is-right{border-color:var(--accent,#3ecf8e);color:#fff;background:#2f6b4a}.ng-btn.is-wrong{border-color:var(--danger,#f07178);color:#fff;background:#5a2a30}.ng-bottom{border-top:1px solid var(--line,#355544);background:#14231cf5;flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:10px 14px;display:flex}.ng-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#a8bfb2);font-size:11px;font-weight:800}.ng-feedback{font-size:14px;font-weight:700}.ng-feedback.is-right{color:var(--accent,#3ecf8e)}.ng-feedback.is-wrong{color:var(--danger,#f07178)}.ng-errands-queue{align-items:flex-end;gap:clamp(12px,5vw,40px);display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ng-errands-queue .ng-sprite-wrap:not(:first-child){opacity:.72}.ng-errands-bubble{z-index:2;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.ng-errands-line.is-hidden{letter-spacing:.3em;color:var(--muted,#a8bfb2)}.ng-errands-options{flex:320px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=720px){.ng-errands-options{grid-template-columns:repeat(4,minmax(0,1fr))}}.ng-errands-option{justify-content:center;align-items:center;gap:6px;display:inline-flex}.ng-errands-option .ng-emoji{font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;font-size:18px}.ng-places{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;display:grid}.ng-place{background:var(--bg-elev,#1e3328);border:1px solid var(--line,#355544);color:var(--ink,#f3f7f4);text-align:left;font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:stretch;gap:10px;min-height:0;padding:10px;display:flex}.ng-place:hover:not(:disabled){border-color:var(--accent,#3ecf8e)}.ng-place:disabled{opacity:.55;cursor:default}.ng-place img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;image-rendering:pixelated;border-radius:10px;flex:none}.ng-place-name{font-size:17px;font-weight:800}.ng-place-skill{color:var(--muted,#a8bfb2);font-size:13px;font-weight:600}.ng-mystery{flex:auto;min-height:0;display:flex}.ng-mystery .ng-scene{flex:60%}.ng-mystery-suspects{justify-content:space-around;align-items:flex-end;display:flex;position:absolute;bottom:158px;left:0;right:0}.ng-suspect{cursor:pointer;color:inherit;background:0 0;border:0;border-radius:10px;padding:4px}.ng-suspect.is-active{outline:2px solid var(--accent,#3ecf8e);background:#3ecf8e2e}.ng-notebook{flex-direction:column;gap:6px;max-width:340px;padding:10px 12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.ng-clues{flex-wrap:wrap;gap:6px;display:flex}.ng-clue{background:var(--panel,#243d31);border:1px solid var(--line,#355544);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.ng-chat{border-left:1px solid var(--line,#355544);background:#14231cf7;flex-direction:column;flex:0 0 min(360px,42%);gap:8px;min-height:0;padding:64px 12px 12px;display:flex}.ng-chat-who{align-items:center;gap:8px;display:flex}.ng-chat-log{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow-y:auto}.ng-chat-log .ng-bubble{max-width:92%}.ng-chat-reply-l1{color:var(--muted,#a8bfb2);margin-top:2px;font-size:12px;font-weight:600}.ng-new-clue{border:1px dashed var(--accent-2,#f0c75e);color:var(--accent-2,#f0c75e);background:#f0c75e21;border-radius:10px;align-self:flex-start;padding:5px 10px;font-size:12px;font-weight:700}.ng-chat-suggest{flex-wrap:wrap;gap:6px;display:flex}.ng-chat-suggest .ng-btn{background:var(--bg-elev,#1e3328);border-radius:999px;min-height:34px;font-size:12px;font-weight:600}.ng-chat-form{gap:6px;display:flex}.ng-chat-form input{box-sizing:border-box;min-width:0;min-height:44px;color:var(--ink,#f3f7f4);border:1px solid var(--line,#355544);font:600 14px var(--font-body);background:#0f1a15;border-radius:12px;flex:1;padding:0 12px}.ng-accuse-backdrop{z-index:60;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ng-accuse{flex-direction:column;gap:12px;width:min(460px,100%);padding:16px;display:flex}.ng-accuse h2{margin:0;font-size:20px}.ng-accuse-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ng-accuse-pick .ng-btn{flex-direction:column;align-items:center;gap:4px;min-height:110px;padding:8px 4px;display:flex}@media (aspect-ratio<=1){.ng-mystery{flex-direction:column}.ng-mystery .ng-scene{flex:0 0 44%}.ng-chat{border-left:0;border-top:1px solid var(--line,#355544);flex:auto;padding-top:12px}.ng-mystery-suspects{bottom:70px}.ng-notebook{flex-direction:row;justify-content:space-between;align-items:center;max-width:none;padding:8px 10px}.ng-notebook .ng-clues,.ng-notebook>.ng-objective{display:none}}.ng-derby-bunting{border-top:3px solid #f3f7f4cc;height:18px;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.ng-derby-bunting span{border-left:14px solid #0000;border-right:14px solid #0000;border-top:16px solid var(--c);flex:none;width:0;height:0}.ng-track{flex-direction:column;display:flex;position:absolute;inset:30% 12px 16px}.ng-lane{border-top:2px dashed #f3f7f4b3;flex:1;position:relative}.ng-lane:last-child{border-bottom:2px dashed #f3f7f4b3}.ng-lane-racer{transition:left .9s cubic-bezier(.3,.7,.2,1);position:absolute;bottom:2px;transform:translate(-18px)}@media (prefers-reduced-motion:reduce){.ng-lane-racer{transition:none}}.ng-lane-move{background:var(--accent,#3ecf8e);color:#0d1a14;white-space:nowrap;border-radius:999px;margin-left:30px;padding:1px 8px;font-size:12px;font-weight:800;position:absolute;bottom:22%;transform:translate(-50%)}.ng-finish{background:repeating-conic-gradient(#14231c 0 25%, #f3f7f4 0 50%) 0 0 / 14px 14px;width:14px;position:absolute;top:0;bottom:0;right:0}.ng-start-line{background:#f3f7f4d9;width:3px;position:absolute;top:0;bottom:0;left:24px}.ng-derby-prompt{flex:0 220px;min-width:160px}.ng-derby-prompt-text{margin-top:2px;font-size:18px;font-weight:800}.ng-derby-options{flex:360px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ng-timer{background:var(--line,#355544);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.ng-timer>span{background:var(--accent-2,#f0c75e);height:100%;transition:width .25s linear;display:block}@media (width<=520px){.ng-derby-options{grid-template-columns:minmax(0,1fr)}}.ng-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ng-derby-voice{text-align:center;flex-direction:column;flex:none;align-items:center;gap:2px;max-width:120px;display:flex}.ng-errands-parts{flex-wrap:wrap;flex:360px;gap:10px 14px;display:flex}.ng-errands-part{flex-direction:column;gap:4px;display:flex}.ng-errands-part-options{flex-wrap:wrap;gap:6px;display:flex}.ng-errands-part-options .ng-btn{min-height:40px}.ng-errands-options.is-lines{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-errands-options.is-lines .ng-btn{padding:6px 10px;font-size:13px;font-weight:600;line-height:1.25}@media (width<=520px){.ng-errands-options.is-lines{grid-template-columns:minmax(0,1fr)}}.ng-place-stars{color:var(--accent-2,#f0c75e);letter-spacing:1px;font-size:13px}.ng-place-best{color:var(--muted,#a8bfb2);font-size:12px;font-weight:700}.ng-countdown{z-index:58;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:fixed;inset:0}.ng-countdown-ready{border:1px solid var(--line,#355544);background:#14231ced;border-radius:999px;padding:4px 14px;font-size:16px;font-weight:800}.ng-countdown-num{color:var(--accent-2,#f0c75e);text-shadow:0 4px #14231c,0 0 24px #00000080;font-size:clamp(64px,18vw,120px);font-weight:800;animation:.7s ease-out ng-pop}@keyframes ng-pop{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ng-countdown-num{animation:none}}.ng-scene--room{background:radial-gradient(at 50% 55%,#1d3328 0%,#0f1a15 70%);container-type:size}.ng-scene--room:after{display:none}.ng-scene>.ng-room{aspect-ratio:var(--ng-room-ar,1.2);width:min(94cqw, 600px, calc((100cqh - 64px) * var(--ng-room-ar,1.2)));image-rendering:pixelated;background-repeat:no-repeat;background-size:100% 100%;border-radius:10px;position:absolute;top:calc(50% + 26px);left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #00000073}.ng-room .ng-errands-queue{align-items:flex-end;gap:clamp(6px,3cqw,28px);display:flex;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.ng-room .ng-errands-bubble{flex-direction:column;align-items:center;width:max-content;max-width:92%;display:flex;position:absolute;top:6%;left:50%;transform:translate(-50%)}.ng-room .ng-errands-bubble .ng-bubble{max-width:100%}@media (height<=560px){.ng-room .ng-errands-queue{transform-origin:50% 100%;transform:translate(-50%)scale(.62)}.ng-room .ng-errands-bubble{top:3%}}@media (width<=420px){.ng-room .ng-errands-queue{transform-origin:50% 100%;transform:translate(-50%)scale(.8)}}.ng-room .ng-errands-queue .ng-sprite-wrap{opacity:1}.ng-room .ng-errands-queue .ng-customer:not(:first-child){opacity:.72}.ng-customer{flex-direction:column;align-items:center;transition:transform .4s ease-in,opacity .4s ease-in;display:inline-flex;position:relative}.ng-customer.is-happy .ng-sprite{animation:.45s ease-out 2 ng-hop}.ng-customer.is-confused .ng-sprite,.ng-customer.is-sad .ng-sprite{animation:.35s ease-in-out ng-shake}.ng-customer.is-leaving{opacity:0;transform:translate(160%)}.ng-customer-mood{z-index:2;border:1px solid var(--line,#355544);background:#14231ced;border-radius:999px;place-items:center;width:34px;height:34px;font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;font-size:20px;animation:.3s ease-out ng-pop;display:grid;position:absolute;top:-6px;right:-14px}@keyframes ng-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ng-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.ng-customer,.ng-customer .ng-sprite,.ng-customer-mood{transition:none;animation:none!important}}.ng-places-page{box-sizing:border-box;flex-direction:column;flex:1;justify-content:safe center;gap:14px;width:100%;max-width:1480px;margin:0 auto;padding:16px clamp(16px,4vw,40px) 24px;display:flex;overflow-y:auto}.ng-places-head{align-items:flex-start;gap:8px;display:flex}.ng-places-title{margin:2px 0;font-size:clamp(22px,3vw,30px);font-weight:800}.ng-places{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px}@media (width<=520px){.ng-place{gap:6px;padding:8px}.ng-place-name{font-size:15px}}@media (width>=1100px){.ng-places{grid-template-columns:repeat(5,minmax(0,1fr))}}.ng-place img{aspect-ratio:6/5;object-fit:contain;background:#0f1a15}.ng-places-opening{z-index:3;background:#0f1a15;flex-direction:column;display:flex;position:absolute;inset:0}.ng-places-opening .ng-scene{flex:auto}.ng-places-opening .ng-scene>.ng-room{width:min(94cqw, 600px, calc((100cqh - 170px) * var(--ng-room-ar,1.2)));top:calc(50% - 30px)}.ng-room.is-opening{animation:.45s ease-out ng-room-in}.ng-places-opening-status{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:min(320px,90vw);padding:10px 18px;display:flex;position:absolute;transform:translate(-50%)}@keyframes ng-room-in{0%{opacity:0}to{opacity:1}}.ng-title-l2{color:var(--accent-2,#f0c75e);font-weight:700}.ng-chat-who-face{border:1px solid var(--accent-2,#f0c75e);background:#f0c75e1f;border-radius:12px;flex:none;place-items:center;width:52px;height:60px;display:grid;overflow:hidden}.ng-reveal-culprit{align-items:center;gap:12px;display:flex}.ng-reveal{text-align:left;border:1px dashed var(--accent-2,#f0c75e);background:#f0c75e14;border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.ng-reveal-line{flex-direction:column;margin:0;font-size:15px;line-height:1.35;display:flex}.ng-reveal-clue{display:block}.ng-track{border-radius:8px;overflow:hidden}.ng-lane{background:#765434}.ng-lane:nth-child(odd){background:#845f3c}.ng-derby-why{color:var(--muted,#a8bfb2);margin-top:2px;font-size:13px;font-weight:600}.ng-derby-finish{z-index:57;background:#0a120e73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ng-derby-finish-card{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:10px;min-width:min(340px,92vw);padding:18px 22px;animation:.45s ease-out ng-pop;display:flex;position:relative}.ng-derby-finish-card.is-win{border-color:var(--accent-2,#f0c75e);box-shadow:0 0 0 3px #f0c75e40,0 16px 40px #00000080}.ng-derby-finish-place{color:var(--accent-2,#f0c75e);font-size:clamp(26px,6vw,38px);font-weight:800;line-height:1.1}.ng-derby-standings{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.ng-derby-standings li{border-radius:8px;justify-content:space-between;gap:10px;padding:4px 10px;font-size:14px;font-weight:700;display:flex}.ng-derby-standings li.is-you{color:var(--accent,#3ecf8e);background:#3ecf8e29}.ng-derby-standings-place{color:var(--muted,#a8bfb2)}.ng-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ng-confetti span{top:-12px;left:var(--x);background:var(--c);width:8px;height:12px;animation:ng-confetti-fall 2.4s linear var(--d) infinite;border-radius:2px;position:absolute}@keyframes ng-confetti-fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(110vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.ng-confetti{display:none}.ng-derby-finish-card{animation:none}}
