:root,[data-theme=dark]{color-scheme:dark;--bg-canvas: #080c12;--bg-glow: radial-gradient(760px circle at 50% -10%, rgba(56, 189, 248, .11), transparent 60%), radial-gradient(620px circle at 92% 34%, rgba(16, 185, 129, .08), transparent 56%), radial-gradient(580px circle at 8% 76%, rgba(168, 85, 247, .07), transparent 58%);--bg-card: rgba(15, 22, 34, .84);--bg-elevated: rgba(22, 32, 48, .88);--bg-inset: rgba(9, 13, 21, .92);--border-card: rgba(148, 163, 184, .14);--border-strong: rgba(148, 163, 184, .25);--card-highlight: inset 0 1px 0 rgba(255, 255, 255, .06);--card-shadow: 0 18px 42px -14px rgba(0, 0, 0, .65);--track-bg: rgba(148, 163, 184, .14);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--dock-bg: rgba(10, 15, 24, .86);--popover-bg: rgba(12, 18, 29, .94);--green: #10b981;--green-soft: rgba(16, 185, 129, .14);--green-border: rgba(16, 185, 129, .36);--sky: #38bdf8;--sky-soft: rgba(56, 189, 248, .14);--sky-border: rgba(56, 189, 248, .36);--gold: #f59e0b;--gold-bright: #fbbf24;--gold-soft: rgba(245, 158, 11, .15);--gold-border: rgba(251, 191, 36, .38);--orange: #f97316;--orange-soft: rgba(249, 115, 22, .15);--orange-border: rgba(249, 115, 22, .36);--purple: #a855f7;--purple-soft: rgba(168, 85, 247, .15);--purple-border: rgba(168, 85, 247, .36);--red: #f43f5e;--red-soft: rgba(244, 63, 94, .15);--red-border: rgba(244, 63, 94, .38);--neutral-btn: rgba(24, 35, 52, .92)}[data-theme=light]{color-scheme:light;--bg-canvas: #f3f6fa;--bg-glow: radial-gradient(760px circle at 50% -10%, rgba(14, 165, 233, .09), transparent 60%), radial-gradient(620px circle at 92% 34%, rgba(16, 185, 129, .07), transparent 56%);--bg-card: rgba(255, 255, 255, .92);--bg-elevated: #f8fafc;--bg-inset: #edf2f7;--border-card: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .18);--card-highlight: inset 0 1px 0 rgba(255, 255, 255, .8);--card-shadow: 0 12px 32px -12px rgba(15, 23, 42, .1);--track-bg: rgba(15, 23, 42, .09);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--dock-bg: rgba(255, 255, 255, .88);--popover-bg: rgba(255, 255, 255, .96);--green: #059669;--green-soft: rgba(5, 150, 105, .11);--green-border: rgba(5, 150, 105, .3);--sky: #0284c7;--sky-soft: rgba(2, 132, 199, .11);--sky-border: rgba(2, 132, 199, .3);--gold: #d97706;--gold-bright: #f59e0b;--gold-soft: rgba(217, 119, 6, .12);--gold-border: rgba(217, 119, 6, .32);--orange: #ea580c;--orange-soft: rgba(234, 88, 12, .11);--orange-border: rgba(234, 88, 12, .3);--purple: #9333ea;--purple-soft: rgba(147, 51, 234, .11);--purple-border: rgba(147, 51, 234, .3);--red: #e11d48;--red-soft: rgba(225, 29, 72, .11);--red-border: rgba(225, 29, 72, .32);--neutral-btn: #ffffff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;max-inline-size:100%;min-block-size:100dvh;overflow-x:clip}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-canvas);background-image:var(--bg-glow);background-attachment:fixed;color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;letter-spacing:-.01em}img,svg{max-inline-size:100%;display:block}.display-font{font-family:Space Grotesk,Plus Jakarta Sans,sans-serif;letter-spacing:-.025em;font-weight:700}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.game-shell{width:100%;max-inline-size:576px;margin-inline:auto;min-block-size:100dvh;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px calc(env(safe-area-inset-bottom,0px) + 108px);display:flex;flex-direction:column;gap:14px}.game-shell>*{min-inline-size:0;max-inline-size:100%}.hud-bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 8px);z-index:40;background:var(--dock-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-card);box-shadow:var(--card-highlight),0 12px 28px -10px #00000073;border-radius:16px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.hud-brand{display:flex;align-items:center;gap:9px;min-inline-size:0}.hud-emblem{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#10b98138,#38bdf838);border:1px solid var(--sky-border);box-shadow:inset 0 1px #ffffff26;display:flex;align-items:center;justify-content:center;color:var(--sky);flex-shrink:0}.hud-currencies{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-inline-size:0}.hud-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:9px;font-size:12px;font-weight:600;background:var(--bg-elevated);border:1px solid var(--border-card);white-space:nowrap}.hud-icon-btn{width:31px;height:31px;border-radius:9px;border:1px solid var(--border-card);background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .15s ease,color .15s ease,transform .1s ease}.hud-icon-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.hud-icon-btn:active{transform:scale(.94)}.arcade-card{background:var(--bg-card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-card);box-shadow:var(--card-highlight),var(--card-shadow);border-radius:18px;padding:16px;min-inline-size:0}.unit-banner{border-radius:18px;padding:18px;color:var(--text-primary);position:relative;overflow:hidden;border:1px solid var(--green-border);box-shadow:var(--card-highlight),var(--card-shadow);background:linear-gradient(135deg,rgba(16,185,129,.16) 0%,var(--bg-card) 58%,rgba(56,189,248,.1) 100%)}.unit-banner.sky{border-color:var(--sky-border);background:linear-gradient(135deg,rgba(56,189,248,.17) 0%,var(--bg-card) 60%,rgba(168,85,247,.1) 100%)}.unit-banner.red{border-color:var(--red-border);background:linear-gradient(135deg,rgba(244,63,94,.17) 0%,var(--bg-card) 62%,rgba(249,115,22,.08) 100%)}.unit-banner.gold{border-color:var(--gold-border);background:linear-gradient(135deg,rgba(245,158,11,.18) 0%,var(--bg-card) 62%,rgba(16,185,129,.08) 100%)}.btn-3d{border:1px solid var(--border-strong);background:var(--neutral-btn);color:var(--text-primary);box-shadow:inset 0 1px #ffffff0f,0 4px 12px #00000038;border-radius:11px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;-webkit-user-select:none;user-select:none;transition:transform .1s ease,border-color .15s ease,filter .15s ease,box-shadow .15s ease;min-inline-size:0}.btn-3d:hover:not(:disabled){filter:brightness(1.07);border-color:#ffffff42}.btn-3d:active:not(:disabled){transform:translateY(1px) scale(.985)}.btn-3d:disabled{opacity:.45;cursor:not-allowed}.btn-green{background:linear-gradient(180deg,#10b981,#059669);border-color:#ffffff38;color:#fff;box-shadow:inset 0 1px #ffffff40,0 6px 18px -4px #10b98173}.btn-sky{background:linear-gradient(180deg,#38bdf8,#0284c7);border-color:#ffffff38;color:#fff;box-shadow:inset 0 1px #ffffff40,0 6px 18px -4px #0284c773}.btn-gold{background:linear-gradient(180deg,#fbbf24,#d97706);border-color:#ffffff47;color:#1c1200;font-weight:700;box-shadow:inset 0 1px #ffffff59,0 6px 18px -4px #f59e0b6b}.btn-orange{background:linear-gradient(180deg,#f97316,#ea580c);border-color:#ffffff38;color:#fff;box-shadow:inset 0 1px #ffffff40,0 6px 18px -4px #f973166b}.btn-purple{background:linear-gradient(180deg,#a855f7,#7e22ce);border-color:#ffffff38;color:#fff;box-shadow:inset 0 1px #ffffff40,0 6px 18px -4px #a855f76b}.btn-red{background:linear-gradient(180deg,#f43f5e,#e11d48);border-color:#ffffff38;color:#fff;box-shadow:inset 0 1px #ffffff40,0 6px 18px -4px #f43f5e6b}.btn-sm{padding:6px 11px;font-size:12px;border-radius:9px}.juicy-bar{width:100%;height:9px;background:var(--track-bg);border-radius:999px;overflow:hidden;position:relative}.juicy-bar.sm{height:6px}.juicy-fill{height:100%;border-radius:999px;position:relative;transition:width .45s cubic-bezier(.22,1,.36,1)}.adventure-map{position:relative;padding:22px 10px 20px;display:flex;flex-direction:column;align-items:center;gap:24px;overflow:hidden}.adventure-spine{position:absolute;top:56px;bottom:56px;left:50%;width:140px;transform:translate(-50%);pointer-events:none;opacity:.35;z-index:1}.path-step-wrap{position:relative;display:flex;flex-direction:column;align-items:center;z-index:2}.path-ring-outer{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center}.path-node-btn{width:68px;height:68px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--bg-elevated);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;color:var(--text-primary);box-shadow:inset 0 1px #ffffff1a,0 12px 26px -6px #0000008c;transition:transform .16s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .2s ease}.path-node-btn:hover{transform:translateY(-2px) scale(1.03)}.path-node-btn:active{transform:scale(.95)}.path-node-btn.tone-green{border-color:var(--green-border);color:var(--green);background:radial-gradient(circle at 30% 25%,rgba(16,185,129,.22),var(--bg-elevated) 72%)}.path-node-btn.tone-orange{border-color:var(--orange-border);color:var(--orange);background:radial-gradient(circle at 30% 25%,rgba(249,115,22,.22),var(--bg-elevated) 72%)}.path-node-btn.tone-sky{border-color:var(--sky-border);color:var(--sky);background:radial-gradient(circle at 30% 25%,rgba(56,189,248,.22),var(--bg-elevated) 72%)}.path-node-btn.tone-purple{border-color:var(--purple-border);color:var(--purple);background:radial-gradient(circle at 30% 25%,rgba(168,85,247,.22),var(--bg-elevated) 72%)}.path-node-btn.tone-gold{border-color:var(--gold-border);color:var(--gold-bright);background:radial-gradient(circle at 30% 25%,rgba(251,191,36,.24),var(--bg-elevated) 72%)}.path-node-btn.done-crown{background:linear-gradient(145deg,#fbbf2442,#10b9812e);color:var(--gold-bright);border-color:var(--gold-bright);box-shadow:inset 0 1px #ffffff40,0 0 24px #f59e0b40}@keyframes subtlePulseFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.node-callout{position:absolute;top:-26px;background:var(--popover-bg);color:var(--sky);border:1px solid var(--sky-border);box-shadow:0 6px 16px #00000059;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;animation:subtlePulseFloat 2.2s ease-in-out infinite;z-index:5}.node-label-pill{margin-top:7px;padding:5px 12px;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border-card);font-size:12.5px;font-weight:600;text-align:center;max-width:196px}.bob-roam-stage{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:75}@keyframes bob3DBreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes bob3DJump{0%{transform:scale(1) translateY(0)}25%{transform:scale(1.08,.92) translateY(3px)}55%{transform:scale(.95,1.07) translateY(-18px)}80%{transform:scale(1.03,.97) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes heartFloatUp{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}25%{opacity:1;transform:translate(-50%,-10px) scale(1.1)}to{opacity:0;transform:translate(-50%,-44px) scale(.9)}}.bob-free-actor{position:absolute;left:0;top:0;pointer-events:auto;background:transparent!important;border:none!important;box-shadow:none!important;padding:0;margin:0;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;will-change:transform;z-index:76}.bob-free-actor.gliding{transition:transform .82s cubic-bezier(.22,1,.36,1)}.bob-free-actor.dragging{cursor:grabbing;transition:none}.bob-breathe-wrap{position:relative;display:flex;flex-direction:column;align-items:center;animation:bob3DBreathe 3.6s ease-in-out infinite}.bob-cutout-img{height:126px;width:auto;max-inline-size:none;display:block;pointer-events:none;background:transparent!important;filter:drop-shadow(0 16px 24px rgba(0,0,0,.58));transition:filter .2s ease,opacity .2s ease}.bob-free-actor:hover .bob-cutout-img{filter:drop-shadow(0 20px 28px rgba(0,0,0,.68)) drop-shadow(0 0 16px rgba(56,189,248,.22))}.bob-cutout-img.jumping{animation:bob3DJump .58s cubic-bezier(.22,1,.36,1)}.bob-free-actor.tucked .bob-cutout-img{height:94px;opacity:.9}@media(max-width:480px){.bob-cutout-img{height:106px}.bob-free-actor.tucked .bob-cutout-img{height:82px}}.bob-emote-burst{position:absolute;top:-10px;left:50%;font-size:18px;font-weight:700;pointer-events:none;animation:heartFloatUp .95s ease-out forwards;white-space:nowrap}.bob-whisper-pill{position:absolute;pointer-events:auto;z-index:77;max-width:210px;background:var(--popover-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-strong);box-shadow:0 12px 28px #0000007a;border-radius:13px;padding:7px 11px;font-size:11.5px;font-weight:600;line-height:1.35;color:var(--text-primary);cursor:pointer;animation:sheetSlideUp .22s cubic-bezier(.22,1,.36,1)}.bob-glass-popover{position:absolute;pointer-events:auto;z-index:79;width:min(320px,calc(100vw - 24px));background:var(--popover-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-strong);box-shadow:var(--card-highlight),0 24px 54px #000000a6;border-radius:18px;padding:13px;display:flex;flex-direction:column;gap:10px;animation:sheetSlideUp .18s cubic-bezier(.22,1,.36,1)}.bob-chip{border:1px solid var(--border-card);background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;padding:4px 9px;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .14s ease}.bob-chip:hover{border-color:var(--sky-border);color:var(--text-primary)}.arcade-input{width:100%;min-inline-size:0;background:var(--bg-inset);border:1px solid var(--border-card);color:var(--text-primary);font-family:inherit;font-size:13.5px;font-weight:500;padding:10px 12px;border-radius:11px;outline:none;transition:border-color .15s ease}.arcade-input:focus{border-color:var(--sky)}@keyframes sheetSlideUp{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#04070dc2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center;padding:12px}@media(min-width:640px){.sheet-backdrop{align-items:center}}.arcade-sheet{width:100%;max-inline-size:510px;max-block-size:88dvh;overflow-y:auto;overflow-x:hidden;background:var(--popover-bg);border:1px solid var(--border-strong);box-shadow:var(--card-highlight),0 28px 64px #000000ad;border-radius:22px;padding:20px 18px;animation:sheetSlideUp .2s cubic-bezier(.22,1,.36,1)}.bottom-dock-wrap{position:fixed;bottom:0;left:0;right:0;z-index:60;padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 10px);pointer-events:none;display:flex;justify-content:center}.bottom-dock{pointer-events:auto;width:100%;max-inline-size:548px;background:var(--dock-bg);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid var(--border-card);box-shadow:var(--card-highlight),0 14px 36px #00000080;border-radius:18px;padding:5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.dock-tab{border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:13px;padding:7px 4px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.03em;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;min-inline-size:0;transition:all .15s ease}.dock-tab:hover{color:var(--text-secondary)}.dock-tab.active{background:var(--sky-soft);border-color:var(--sky-border);color:var(--sky)}.dock-badge{position:absolute;top:3px;right:12px;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}@keyframes confettiFall{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(.4)}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:120;overflow:hidden}.confetti-piece{position:absolute;left:50%;top:42%;width:9px;height:9px;border-radius:2px;animation:confettiFall .95s cubic-bezier(.16,1,.3,1) forwards}.arcade-toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 72px);left:50%;transform:translate(-50%);z-index:110;width:calc(100% - 28px);max-inline-size:450px;background:var(--popover-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--gold-border);box-shadow:0 18px 40px #0000008c;border-radius:14px;padding:11px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px}
