:root{--paper:#fdf6e7;--paper-2:#f6ead2;--paper-3:#efdfbf;--line:#e3cfa8;--ink:#4a3a2a;--ink-soft:#85705a;--accent:#e8a26b;--accent-deep:#c97f4a;--accent-soft:#fbe2cc;--leaf:#8cbf7a;--leaf-deep:#5f9a52;--leaf-soft:#e1f0d6;--sky:#9ccbe8;--sky-deep:#5a9cc4;--sky-soft:#e0eff8;--honey:#f2cf73;--honey-deep:#d6a93c;--honey-soft:#fbf0cd;--lilac:#c9b6e4;--rose-soft:#f6dcd3;--shadow:0 6px 18px #5c40202e, 0 1px 3px #5c40201f;--shadow-soft:0 2px 8px #5c40201f;--radius:18px;--radius-sm:12px;--env-safe-bottom:env(safe-area-inset-bottom,0px);--safe-bottom:var(--env-safe-bottom);--kb:0px;--kb-top:0px;--sheet-bottom-pad:var(--safe-bottom);--font:"Nunito", "Segoe UI", system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji"}html,body{overscroll-behavior:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:#cfe3c2;margin:0;padding:0;overflow:hidden}#app{height:100%}html[data-safe-bottom=ignore]{--safe-bottom:0px}html[data-keyboard=open]{--sheet-bottom-pad:0px}html[data-keyboard=open] [data-kb-fit]{padding-top:calc(max(var(--kb-top), env(safe-area-inset-top,0px)) + 6px)!important;padding-bottom:calc(var(--kb) + 6px)!important}html[data-keyboard=open] [data-kb-fit]>[data-kb-card]{overscroll-behavior:contain;max-height:100%!important;overflow-y:auto!important}html[data-keyboard=open] [data-kb-card] [data-kb-hide=""],html[data-kb-room] [data-kb-card] [data-kb-hide=short],html[data-kb-room=tiny] [data-kb-card] [data-kb-hide=tiny]{display:none!important}html[data-kb-room] [data-kb-fit]>[data-kb-card]{padding:8px 12px!important}html[data-kb-room] [data-kb-card] form:has(>[data-kb-field]){gap:8px!important}html[data-keyboard=open] [data-kb-fit]>[data-kb-card]:has(>[data-kb-corner]){padding-right:58px!important}html[data-keyboard=open] [data-kb-fit]>[data-kb-card]>[data-kb-corner]{top:6px!important;right:8px!important}html.phone-landscape[data-keyboard=open] [data-kb-card] form:has(>[data-kb-field]):has(>[type=submit]):not(:has(>button[type=button])){grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:dense;align-items:center;column-gap:8px;display:grid!important}html.phone-landscape[data-keyboard=open] [data-kb-card] form:has(>[data-kb-field])>*{grid-column:1/-1}html.phone-landscape[data-keyboard=open] [data-kb-card] form:has(>[data-kb-field])>[data-kb-field]{grid-column:1}html.phone-landscape[data-keyboard=open] [data-kb-card] form:has(>[data-kb-field])>[type=submit]{grid-column:2;margin:0}html[data-kb-room=tiny] [data-kb-fit]>[data-kb-card]:has(form>[data-kb-field]~button[type=button]){width:min(100%,720px)!important}html[data-kb-room=tiny] [data-kb-card] form:has(>[data-kb-field]):has(>button[type=button]){flex-flow:wrap;align-items:center;gap:8px;display:flex!important}html[data-kb-room=tiny] [data-kb-card] form:has(>[data-kb-field]):has(>button[type=button])>*{flex:100%}html[data-kb-room=tiny] [data-kb-card] form:has(>[data-kb-field]):has(>button[type=button])>[data-kb-field]{flex:120px;order:-2;min-width:0}html[data-kb-room=tiny] [data-kb-card] form:has(>[data-kb-field]):has(>button[type=button])>button{flex:none;order:-1;margin:0}html.phone-landscape[data-keyboard=open] .hud .topbar-m,html.phone-landscape[data-keyboard=open] .hud .topbar,html.phone-landscape[data-keyboard=open] .hud .pill-zone,html.phone-landscape[data-keyboard=open] .hud .cam-btns{visibility:hidden!important}.hud{font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hud button{touch-action:manipulation}.hud input{-webkit-user-select:text;user-select:text}.panel{pointer-events:auto;background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{font-family:var(--font);color:var(--ink);background:var(--paper-2);border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:8px 14px;font-size:1rem;font-weight:800;transition:transform 80ms,background .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--paper-3)}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent-deep);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-deep)}.btn.green{background:var(--leaf);border-color:var(--leaf-deep);color:#fff}.btn.green:hover:not(:disabled){background:var(--leaf-deep)}.btn.soft{background:0 0;border-color:#0000}.btn.soft:hover:not(:disabled){background:var(--paper-2)}.btn.round{border-radius:50%;width:42px;padding:0;font-size:1.3rem}.btn.on{background:var(--accent-soft);border-color:var(--accent)}.bar{background:var(--paper-3);border:1px solid var(--line);border-radius:999px;height:12px;overflow:hidden}.bar>span{background:linear-gradient(90deg, var(--leaf), #a9d394);border-radius:999px;height:100%;transition:width .15s linear;display:block}.bar.honey>span{background:linear-gradient(90deg, var(--honey-deep), var(--honey))}.bar.sky>span{background:linear-gradient(90deg, var(--sky-deep), var(--sky))}.bar.accent>span{background:linear-gradient(90deg, var(--accent-deep), var(--accent))}.muted{color:var(--ink-soft)}.hud ::-webkit-scrollbar{width:8px;height:8px}.hud ::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}.hud ::-webkit-scrollbar-track{background:0 0}html.phone{--toast-top:calc(112px + env(safe-area-inset-top,0px))}.ghost-cost{z-index:12;pointer-events:none;border:2px solid var(--leaf);box-shadow:var(--shadow-soft);font-family:var(--font);color:var(--ink);white-space:nowrap;background:#fdf6e7f2;border-radius:999px;gap:6px;padding:3px 9px;font-size:.92rem;font-weight:900;display:flex;position:fixed;top:0;left:0}.ghost-cost.short{border-color:#d9785f}.ghost-cost .gc-item{align-items:center;gap:2px;display:inline-flex}.ghost-cost .gc-item.miss{color:#c0412b}.ghost-cost .gc-item.free{color:var(--leaf-deep)}.ghost-cost .gc-svg{width:1.1em;height:1.1em;display:inline-block}.ghost-cost .gc-svg svg{width:100%;height:100%;display:block}.ghost-cost .gc-n{color:var(--ink-soft);font-weight:800}.ghost-cost .gc-refund{color:var(--leaf-deep);align-items:center;gap:4px;display:inline-flex}.ghost-cost .gc-warn{color:#c0412b;font-size:.82rem;font-weight:800}.ghost-cost:has(.gc-warn){white-space:normal;text-align:center;border-radius:14px;max-width:min(340px,100vw - 24px)}.valley-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.valley-labels .vl{font-family:var(--font);white-space:nowrap;color:var(--ink);border:2px solid var(--line);box-shadow:var(--shadow-soft);background:#fdf6e7e0;border-radius:999px;padding:3px 10px;font-size:.86rem;font-weight:900;position:absolute;top:0;left:0}.valley-labels .vl-free{color:var(--ink-soft);border-style:dashed;font-size:.78rem;font-weight:800}.valley-labels .presence-dot,.presence-dot{vertical-align:.05em;background:var(--leaf);border-radius:50%;width:9px;height:9px;margin-left:5px;display:inline-block;box-shadow:0 0 0 2px #fff}.valley-labels .vl-gate{border-color:var(--honey);background:#fff4d6eb;font-size:.8rem}.valley-labels .vl-bridge,.valley-labels .vl-tunnel{pointer-events:auto;cursor:pointer;border-color:var(--honey-deep);min-height:44px;padding:6px 14px}.valley-labels .vl-endgame{pointer-events:auto;cursor:pointer;border-color:var(--honey-deep);background:linear-gradient(180deg, #fffaf0, var(--honey-soft));min-height:34px;padding:4px 14px;font-size:.95rem}.valley-labels .vl-endgame:focus-visible{outline:3px solid var(--sky-deep);outline-offset:2px}.build-bars{pointer-events:none;position:absolute;inset:0;overflow:hidden}.build-bars .bb{box-sizing:border-box;background:#fdf6e7f0;border:1.5px solid #d6bf94;border-radius:999px;width:40px;height:9px;transition:opacity .5s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 1px 4px #5c402047}.build-bars .bb>span{background:linear-gradient(180deg, var(--leaf), var(--leaf-deep));transform-origin:0;border-radius:999px;transition:transform .3s linear,background .5s;position:absolute;inset:1px;transform:scaleX(0)}.build-bars .bb.stalled{opacity:.9}.build-bars .bb.stalled>span{background:#bba57c}@media (pointer:coarse){.build-bars .bb{width:44px;height:10px}}@media (prefers-reduced-motion:reduce){.build-bars .bb,.build-bars .bb>span{transition:none}}.fab-tucked{opacity:0!important;pointer-events:none!important;transition:opacity .15s!important}@media (prefers-reduced-motion:reduce){.fab-tucked{transition:none!important}}.net-off{opacity:.5;filter:saturate(.35)}
