:root{--bg-gradient-from: #1e3c72;--bg-gradient-to: #2a5298;--app-bg: linear-gradient(135deg, var(--bg-gradient-from) 0%, var(--bg-gradient-to) 100%);--surface-raised: #2d3748;--surface-base: #1a202c;--surface-deep: #0d1117;--surface-slot-filled-from: #3d4f6d;--surface-slot-filled-to: #2a3a5a;--surface-slate: #4a5568;--glass-strong: rgba(26, 32, 44, .95);--glass: rgba(26, 32, 44, .9);--glass-soft: rgba(26, 32, 44, .85);--glass-panel: rgba(26, 32, 44, .8);--card-gradient: linear-gradient(145deg, var(--surface-raised), var(--surface-base));--slot-filled-gradient: linear-gradient(145deg, var(--surface-slot-filled-from), var(--surface-slot-filled-to));--text-strong: rgba(255, 255, 255, .95);--text: rgba(255, 255, 255, .9);--text-muted: rgba(255, 255, 255, .7);--text-faint: rgba(255, 255, 255, .6);--text-dim: rgba(255, 255, 255, .5);--text-pure: #fff;--text-slate: #a0aec0;--line-faint: rgba(255, 255, 255, .05);--line-soft: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .2);--accent-mana: rgba(100, 200, 255, .9);--accent-mana-solid: #64c8ff;--accent-mana-glow: rgba(100, 200, 255, .2);--accent-mana-ring: rgba(100, 200, 255, .4);--accent-mana-track: rgba(100, 200, 255, .1);--mana-blue: #63b3ed;--mana-fill-from: #4299e1;--mana-fill-to: #3182ce;--accent-marble: rgba(245, 158, 11, .9);--accent-marble-solid: #f59e0b;--accent-marble-glow: rgba(245, 158, 11, .12);--accent-marble-track: rgba(245, 158, 11, .15);--amber-bright: #fbbf24;--amber-deep: #b45309;--accent-select: #f6ad55;--accent-select-glow: rgba(246, 173, 85, .4);--accent-generator: #06b6d4;--accent-generator-glow: rgba(6, 182, 212, .4);--accent-good: #68d391;--accent-good-from: #22543d;--accent-good-to: #1a202c;--accent-danger: #e53e3e;--accent-danger-from: #c53030;--accent-danger-to: #9b2c2c;--accent-danger-glow: rgba(229, 62, 62, .4);--ember: #ef4444;--accent-catalyst: #c084fc;--accent-catalyst-from: #a855f7;--accent-catalyst-to: #9333ea;--accent-arcane: rgba(167, 139, 250, .8);--accent-drop: rgba(100, 255, 200, .8);--accent-drop-glow: rgba(100, 255, 200, .4);--el-fire: #f56565;--el-fire-from: #fc8181;--el-fire-to: #e53e3e;--el-water: #63b3ed;--el-water-from: #60a5fa;--el-water-to: #2563eb;--el-earth: #68d391;--el-earth-from: #68d391;--el-earth-to: #38a169;--el-air: #cbd5e0;--el-air-from: #cbd5e0;--el-air-to: #a0aec0;--radius-xs: 3px;--radius-sm: 4px;--radius: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-node: 16px;--radius-node-lg: 18px;--radius-round: 50%;--shadow-panel: 0 4px 32px rgba(0, 0, 0, .4);--shadow-card: 0 4px 16px rgba(0, 0, 0, .3);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .3);--shadow-node: 0 8px 16px rgba(0, 0, 0, .3), inset 0 2px 4px rgba(255, 255, 255, .1);--shadow-node-hover: 0 12px 24px rgba(0, 0, 0, .4), inset 0 2px 4px rgba(255, 255, 255, .15);--blur: blur(10px);--font: "Segoe UI", Tahoma, Verdana, sans-serif;--font-mono: monospace;--tracking-label: .5px;--tracking-title: 1px;--ease: .2s ease;--ease-slow: .3s ease;--color-bg-tertiary: var(--surface-deep);--color-text-muted: var(--text-faint)}*{margin:0;padding:0;box-sizing:border-box}body{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#000;font-family:var(--font);padding:20px;margin:0}#fluid-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none;display:block}#magic-circle{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:block;transition:opacity .32s ease}#conde-celestial-plate{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(#02050a14,#02050a14),url(./conde-celestial-backplate-DAxdnUjf.png) center / cover no-repeat;opacity:0;transform:scale(1.002);transition:opacity .42s ease}body[data-view=game][data-grid-id=city_quarry] #conde-celestial-plate{opacity:1}body[data-view=game][data-grid-id=city_quarry] #magic-circle{opacity:0}.sidebar h2,.sidebar-right h2{color:var(--text);font-size:18px;margin-bottom:16px;text-align:center;text-transform:uppercase;letter-spacing:1px;font-weight:600}#game-view{width:100%;flex:1;align-self:stretch;height:auto;min-height:0;display:flex;justify-content:center;align-items:center;position:relative}.game-content{width:100%;height:100%;position:relative}.grid-tabs{position:fixed;top:10px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:1000;background:#1a202ce6;padding:6px 12px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d}.grid-tab{padding:8px 16px;background:linear-gradient(145deg,#2d3748,#1a202c);border:2px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.grid-tab:hover{background:linear-gradient(145deg,#4a5568,#2d3748);border-color:#64c8ff80;color:#ffffffe6;transform:translateY(-2px)}.grid-tab.active{background:linear-gradient(145deg,#4299e1,#3182ce);border-color:#4299e1cc;color:#fff;box-shadow:0 4px 12px #4299e166}.conde-link-noise{stroke:url(#conde-link-brass);stroke-width:2.8;opacity:.9;filter:url(#conde-link-grain)}.tooltip-container{position:fixed;bottom:20px;right:20px;max-width:350px;background:var(--glass-strong);padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0006;color:var(--text);font-size:13px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10000}.tooltip-container.visible{opacity:1}.tooltip-keywords{position:fixed;bottom:80px;right:20px;display:flex;flex-direction:column;gap:6px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10001}.tooltip-keywords.visible{opacity:1}.tooltip-keyword-item{background:#4299e133;border:1px solid rgba(66,153,225,.4);border-radius:var(--radius);padding:6px 10px;font-size:11px;color:#64c8fff2;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000004d;white-space:nowrap}.tooltip-keyword-name{color:var(--text-faint);margin-right:6px}.particle{position:fixed;width:8px;height:8px;background:radial-gradient(circle,#64c8ff,#64c8ff00 70%);border-radius:50%;pointer-events:none;z-index:9999;box-shadow:0 0 8px #64c8ffcc}.celebration-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:celebrationFadeIn .5s ease-out;pointer-events:none}.celebration-message{text-align:center;color:#fff;z-index:10001}.celebration-message h1{font-size:64px;font-weight:700;background:linear-gradient(135deg,#a78bfa,#fbbf24,#06b6d4,#fc8181);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:celebrationGradient 3s ease infinite;margin-bottom:20px;text-shadow:0 0 40px rgba(167,139,250,.5)}.celebration-message p{font-size:24px;color:#ffffffe6;margin-bottom:30px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.celebration-sparkle{font-size:48px;animation:celebrationSparkle 1.5s ease-in-out infinite}.celebration-particle{position:absolute;border-radius:50%;pointer-events:none;animation:celebrationParticle 4s ease-out infinite;box-shadow:0 0 10px currentColor}@keyframes celebrationFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes celebrationFadeOut{0%{opacity:1}to{opacity:0}}@keyframes celebrationGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes celebrationSparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:.8}}@keyframes celebrationParticle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc((var(--random-x, .5) - .5) * 200px),calc((var(--random-y, .5) - .5) * 200px)) scale(0);opacity:0}}.btn-danger{width:100%;margin-bottom:16px;background:linear-gradient(145deg,var(--accent-danger-from),var(--accent-danger-to));color:var(--text-pure);border:1px solid var(--line-strong);padding:10px 16px;border-radius:var(--radius);font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;font-size:12px;letter-spacing:.5px;box-shadow:0 2px 6px #0003}.btn-danger:hover{background:linear-gradient(145deg,var(--accent-danger),var(--accent-danger-from));box-shadow:0 4px 12px var(--accent-danger-glow);transform:translateY(-1px)}.btn-danger:active{transform:translateY(0);opacity:.9}.btn-secondary{background:linear-gradient(145deg,var(--surface-slate),var(--surface-raised));color:var(--text-pure);border:1px solid var(--line-strong);padding:8px 16px;border-radius:var(--radius);font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;font-size:11px;letter-spacing:.5px;box-shadow:0 2px 6px #0003}.btn-secondary:hover{background:linear-gradient(145deg,#718096,var(--surface-slate));box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0);opacity:.9}.sidebar{position:fixed;right:12px;bottom:12px;z-index:40;align-items:flex-end;padding:0;display:flex;flex-direction:row;gap:12px}.ability-list{display:flex;flex-direction:column;gap:10px}.next-unlock-container{background:linear-gradient(145deg,var(--surface-base),var(--surface-deep));border:2px solid rgba(251,191,36,.3);border-radius:var(--radius-md);padding:10px;margin-bottom:10px}.next-unlock-label{color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;text-align:center}.next-unlock-bar{height:8px;background:#0006;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:6px}.next-unlock-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--amber-bright),var(--accent-marble-solid));transition:width .3s ease-out;box-shadow:0 0 8px #fbbf24cc}.next-unlock-info{color:#fbbf24e6;font-size:11px;font-weight:600;text-align:center}.ability-item{padding:12px 16px;background:var(--card-gradient);border-radius:var(--radius-md);border:2px solid var(--line);color:var(--text);font-size:14px;font-weight:500;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;position:relative}.ability-item.selected{border-color:var(--accent-select);box-shadow:0 0 10px var(--accent-select-glow)}.ability-item[data-ability=Mana]{background:linear-gradient(145deg,#7c3aed,#6d28d9);border-color:#a78bfa80;box-shadow:0 2px 8px #7c3aed4d}.ability-item[data-ability=Mana]:hover{box-shadow:0 4px 12px #a78bfa66;border-color:#a78bfab3}.ability-item[data-ability=Fire]{background:linear-gradient(145deg,var(--accent-danger-from),var(--accent-danger-to));border-color:#f5656566}.ability-item[data-ability=Water]{background:linear-gradient(145deg,#1e40af,#1e3a8a);border-color:#60a5fa66}.ability-item[data-ability=Catalyst]{background:linear-gradient(145deg,var(--accent-catalyst-from),var(--accent-catalyst-to));border-color:#c084fc80;box-shadow:0 2px 8px #a855f74d}.ability-item[data-ability=Catalyst]:hover{box-shadow:0 4px 12px #c084fc66;border-color:#c084fcb3}.ability-item[data-ability=Earth]{background:linear-gradient(145deg,#276749,#22543d);border-color:#68d39166}.ability-item[data-ability=Air]{background:linear-gradient(145deg,var(--surface-slate),#718096);border-color:#cbd5e066}.ability-item:hover{transform:translate(4px);border-color:var(--accent-mana-ring);box-shadow:0 4px 12px var(--accent-mana-glow)}.ability-item:active{cursor:grabbing;opacity:.7}.ability-item.dragging{opacity:.5}.ability-item.placed{opacity:.3;cursor:not-allowed;background:linear-gradient(145deg,var(--surface-base),var(--surface-deep));border-color:var(--line-faint);filter:grayscale(.5)}.ability-item.placed:hover{transform:none;box-shadow:none}.ability-item.manual-place-disabled{cursor:not-allowed;opacity:.65;filter:grayscale(.4)}.ability-item.manual-place-disabled:hover{transform:none;box-shadow:none;border-color:var(--line)}.ability-item.locked{opacity:.3;cursor:not-allowed;background:linear-gradient(145deg,var(--surface-base),var(--surface-deep));border-color:var(--line-faint);position:relative}.ability-item.locked:hover{transform:none;box-shadow:none;border-color:var(--line-faint)}.ability-item.locked:before{content:"??";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.6}.unlock-progress-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:#0000004d;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;display:none}.unlock-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--amber-bright),var(--accent-marble-solid));transition:width .3s ease-out;box-shadow:0 0 8px #fbbf24cc}.unlock-progress-fill[data-percentage="90"],.unlock-progress-fill[data-percentage="91"],.unlock-progress-fill[data-percentage="92"],.unlock-progress-fill[data-percentage="93"],.unlock-progress-fill[data-percentage="94"],.unlock-progress-fill[data-percentage="95"],.unlock-progress-fill[data-percentage="96"],.unlock-progress-fill[data-percentage="97"],.unlock-progress-fill[data-percentage="98"],.unlock-progress-fill[data-percentage="99"]{animation:progressPulse .6s ease-in-out infinite}@keyframes progressPulse{0%,to{box-shadow:0 0 8px #fbbf24cc}50%{box-shadow:0 0 16px #fbbf24}}.ability-item.locked.flashy-unlock{animation:unlockFlashy 1.2s ease-in-out infinite}@keyframes unlockFlashy{0%,to{box-shadow:0 0 8px #fbbf2466;border-color:#fbbf244d}50%{box-shadow:0 0 16px #fbbf2499;border-color:#fbbf2480}}.ability-item:not(.locked):not(.placed).flashy-unlock{animation:newlyUnlockedFlashy 1s ease-in-out infinite;transform:scale(1.02)}@keyframes newlyUnlockedFlashy{0%,to{box-shadow:0 0 16px #fbbf24cc,0 0 30px #fbbf2466;border-color:#fbbf24cc}50%{box-shadow:0 0 24px #fbbf24,0 0 40px #fbbf2499;border-color:#fbbf24}}.ability-limit-counter{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:700;color:var(--text-faint);background:#0000004d;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--line);pointer-events:none;transition:all .2s ease}.ability-limit-counter.limit-reached{color:#fc8181cc;border-color:#fc81814d}.ability-item:hover .ability-limit-counter{background:#00000080;color:var(--text)}.sidebar .btn-secondary,.sidebar .btn-danger{width:52px;height:52px;margin:0;padding:0;font-size:0;letter-spacing:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:11px;background:radial-gradient(130% 130% at 50% 0%,#211710,#0e0a06);border:1px solid rgba(120,90,50,.32);box-shadow:inset 0 1px #ffe09e0f,0 6px 16px #0000008c;color:#e9dcc0}.sidebar .btn-secondary:after,.sidebar .btn-danger:after{font-family:var(--font);font-size:8.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;line-height:1}.sidebar .btn-secondary:before{content:"←";font-size:22px;line-height:1}.sidebar .btn-secondary:after{content:"Map"}.sidebar .btn-danger:before{content:"⟲";font-size:20px;line-height:1;color:#f08a7a}.sidebar .btn-danger:after{content:"Reset";color:#f08a7a}.sidebar .btn-secondary:hover,.sidebar .btn-danger:hover{transform:translateY(-1px);background:radial-gradient(130% 130% at 50% 0%,#2a1e12,#120c07);border-color:#96733c80;box-shadow:inset 0 1px #ffe09e14,0 6px 14px #00000080,0 0 12px -4px #c39a3e99}.sidebar .btn-danger:hover{border-color:#b4463c8c;box-shadow:inset 0 1px #ffe09e0f,0 6px 14px #00000080,0 0 14px -4px #e53e3e99}.sidebar .btn-secondary:active,.sidebar .btn-danger:active{transform:translateY(0) scale(.96)}.sidebar.entering .btn-secondary{animation:tileSlideIn .5s cubic-bezier(.25,.6,.25,1) both;animation-delay:.42s}.sidebar.entering .btn-danger{animation:tileSlideIn .5s cubic-bezier(.25,.6,.25,1) both;animation-delay:.54s}@keyframes tileSlideIn{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.sidebar.entering .btn-secondary,.sidebar.entering .btn-danger{animation:tileFadeIn .15s ease both;animation-delay:0s;transform:none}@keyframes tileFadeIn{0%{opacity:0}to{opacity:1}}}.sidebar-right{position:fixed;z-index:5;right:0;top:0;bottom:0;width:280px;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.sidebar-right h2{margin:2px 2px 0;padding-bottom:10px;font-family:IM Fell English SC,Georgia,serif;font-weight:400;font-size:21px;letter-spacing:.4px;color:#e9dcc0;text-shadow:0 1px 3px #000,0 0 12px rgba(0,0,0,.6)}.upgrade-list{--u-cream: #e9dcc0;--u-cream-dim: #b8a986;--u-disp: "IM Fell English SC", Georgia, serif;--u-body: "Spectral", Georgia, serif;--u-amber: #f4cd66;--u-brass: rgba(120, 90, 50, .3);display:flex;flex-direction:column;gap:9px;padding:14px 12px;border-radius:14px;background:linear-gradient(#181109,#110c06);border:1px solid var(--u-brass);box-shadow:inset 0 1px #ffebbe0f,0 16px 36px #00000073}.u-slot{position:relative;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;cursor:pointer;overflow:hidden;transition:background .16s,transform .1s,filter .16s,box-shadow .16s,opacity .16s;background:radial-gradient(130% 130% at 50% 0%,#17120b,#0b0805);box-shadow:inset 0 2px 5px #000000b3,inset 0 1px #ffe09e0d;border:1px solid rgba(0,0,0,.5);border-left:3px solid var(--rail, #8a6733);touch-action:none}.u-sig{width:30px;height:30px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;color:var(--rail, #f4cd66);background:radial-gradient(120% 120% at 50% 24%,#17120b,#0a0705);box-shadow:inset 0 2px 4px #000000b3,inset 0 1px #ffe09e1f;filter:drop-shadow(0 0 4px currentColor);transition:.16s}.u-sig svg{width:16px;height:16px}.u-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.u-name{font-family:var(--u-disp);font-weight:400;font-size:14.5px;color:var(--u-cream);line-height:1.06}.u-desc{font-family:var(--u-body);font-size:11.5px;color:var(--u-cream-dim);font-style:italic;margin-top:2px;line-height:1.4;white-space:pre-line}.u-flavor{font-family:var(--u-body);font-style:italic;color:var(--u-cream-dim)}.u-effect{font-family:var(--font);font-style:normal;font-variant-numeric:tabular-nums;font-size:10.5px;letter-spacing:.2px;color:color-mix(in srgb,var(--rail, #e9dcc0) 40%,var(--u-cream));margin-top:3px}.u-cost{font-family:var(--u-disp);font-size:13px;color:var(--u-amber);text-shadow:0 0 8px rgba(244,205,102,.3);white-space:nowrap;align-self:flex-end;margin-top:6px;transition:.15s;display:flex;align-items:center;gap:4px}.u-cost .di{font-size:12px;opacity:.85;display:inline-grid;place-items:center;width:13px;transition:transform .16s,color .16s}.u-cost .di:before{content:"◈"}.u-cost .di-marble{font-size:12px;opacity:.85;display:inline-grid;place-items:center;width:13px;color:#f59e0b;transition:transform .16s,color .16s}.u-cost .di-marble:before{content:"◆"}.u-slot.avail{border-left-color:color-mix(in srgb,var(--rail, #8a6733) 80%,#fff);box-shadow:inset 0 2px 5px #000000b3,inset 0 1px #ffe09e0d,-2px 0 12px -6px var(--rail)}.u-slot.avail:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--rail) 55%,transparent),color-mix(in srgb,var(--rail) 18%,transparent) 70%,transparent);opacity:.45;pointer-events:none;transition:opacity .16s}.u-slot.avail:hover:after{opacity:.9}.u-whisper{height:17px;margin:-10px 4px -6px;text-align:center;font-family:Spectral,Georgia,serif;font-variant:small-caps;font-size:13px;letter-spacing:2px;color:#d8c9a5;text-shadow:0 1px 3px #000,0 0 10px rgba(0,0,0,.6);opacity:0;transition:opacity .4s ease;pointer-events:none}.sidebar-right:has(.u-slot.avail:hover) .u-whisper{opacity:1;animation:whisperPulse 2.8s ease-in-out infinite}@keyframes whisperPulse{0%,to{opacity:1}50%{opacity:.35}}.u-slot.avail:hover{background:radial-gradient(130% 130% at 50% 0%,#211710,#0e0a06);transform:translateY(-1px);box-shadow:inset 0 2px 5px #0009,inset 0 1px #ffe09e1a,0 6px 16px #0006,-3px 0 14px -4px var(--rail)}.u-slot.avail:hover .u-sig{filter:drop-shadow(0 0 8px currentColor)}.u-slot.avail:hover .u-cost{color:#fff2cf;text-shadow:0 0 12px rgba(244,205,102,.6)}.u-slot.avail:hover .u-cost .di,.u-slot.avail:hover .u-cost .di-marble{color:var(--rail);transform:translate(-1px)}.u-slot.avail:hover .u-cost .di:before,.u-slot.avail:hover .u-cost .di-marble:before{content:"→"}.u-slot.avail:active{transform:translateY(0) scale(.992)}.u-slot.poor{cursor:not-allowed}.u-slot.poor .u-sig,.u-slot.poor .u-name,.u-slot.poor .u-desc{filter:grayscale(.85) brightness(.72);opacity:.72}.u-slot.poor .u-cost{opacity:.88}.u-slot.poor:hover{transform:none;box-shadow:inset 0 2px 5px #000000b3}.u-slot.poor.deny{animation:slotDeny .42s ease}.u-slot.owned-poor{cursor:not-allowed;box-shadow:inset 0 2px 5px #000000b3,inset 3px 0 12px -6px var(--rail)}.u-slot.owned-poor:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--rail);box-shadow:0 0 8px 1px var(--rail);pointer-events:none;z-index:1}.u-slot.owned-poor .u-sig,.u-slot.owned-poor .u-body{filter:grayscale(.8) brightness(.72);opacity:.74}.u-slot.owned-poor:hover{transform:none;box-shadow:inset 0 2px 5px #000000b3,inset 3px 0 12px -6px var(--rail)}.u-slot.owned-poor.deny{animation:slotDeny .42s ease}@keyframes slotDeny{0%,to{transform:translate(0)}25%{transform:translate(-5px)}55%{transform:translate(4px)}80%{transform:translate(-2px)}}.u-slot.req-locked{cursor:not-allowed}.u-slot.req-locked .u-sig,.u-slot.req-locked .u-name,.u-slot.req-locked .u-desc{filter:grayscale(.9) brightness(.66);opacity:.66}.u-slot.req-locked .u-cost{opacity:.8}.u-slot.req-locked:hover{transform:none;box-shadow:inset 0 2px 5px #000000b3}.u-slot.req-locked:after{content:"🔒";position:absolute;right:10px;top:8px;font-size:11px;opacity:.7}.u-slot.owned{cursor:default;border-left-width:4px;background:radial-gradient(130% 130% at 50% 0%,#14100a,#0a0705);box-shadow:inset 0 3px 8px #000000d9,inset 3px 0 12px -6px var(--rail)}.u-slot.owned .hold{opacity:1;clip-path:inset(0 0 0 0);border-right:0;box-shadow:none;transition:none;animation:none}.u-slot.owned .u-sig{background:radial-gradient(120% 120% at 50% 24%,color-mix(in srgb,var(--rail) 42%,#17120b),#0a0705);filter:drop-shadow(0 0 6px currentColor)}.u-slot.owned .u-cost{font-family:var(--u-body);font-weight:600;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--rail);text-shadow:0 0 8px color-mix(in srgb,var(--rail) 50%,transparent);gap:5px}.u-slot.owned .u-cost .chk{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font-size:9px;color:#120d07;background:var(--rail)}.u-slot.owned:hover{transform:none}.u-slot .hold{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .22s ease;border-right:2px solid color-mix(in srgb,var(--rail) 78%,#fff);box-shadow:0 0 12px 1px var(--rail);background:linear-gradient(90deg,color-mix(in srgb,var(--rail) 26%,transparent),color-mix(in srgb,var(--rail) 9%,transparent) 82%);clip-path:inset(0 100% 0 0)}.u-slot.holding{transform:translateY(-1px) scale(.997)}.u-slot.holding .hold{opacity:1;animation:holdFill .72s linear forwards}.u-slot.holding .u-cost .di:before,.u-slot.holding .u-cost .di-marble:before{content:"→"}@keyframes holdFill{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.u-slot.buy-stamp{animation:buyStamp .5s ease forwards}@keyframes buyStamp{0%{transform:scale(1);box-shadow:inset 0 2px 5px #000000b3,0 0 0 0 var(--rail)}34%{transform:scale(.975);box-shadow:inset 0 5px 11px #000000e6,0 0 0 0 var(--rail)}68%{transform:scale(1);box-shadow:inset 0 2px 5px #000000b3,0 0 0 3px color-mix(in srgb,var(--rail) 55%,transparent)}to{transform:scale(1);box-shadow:inset 0 2px 5px #000000b3,0 0 0 0 transparent}}.u-slot.veiled{cursor:default;background:none;box-shadow:none;border:1px dashed rgba(233,220,192,.22);border-left:3px dashed rgba(233,220,192,.28)}.u-slot.veiled .u-sig{opacity:.3;filter:grayscale(1)}.u-slot.veiled .u-name{color:var(--u-cream-dim);opacity:.85}.u-slot.veiled .u-desc{opacity:.75}.u-slot.veiled .u-cost{opacity:.7;text-shadow:none}.u-slot.veiled:hover{transform:none}.upgrade-empty{color:var(--u-cream-dim);text-align:center;font-size:12px;font-style:italic;padding:8px 4px}@media(prefers-reduced-motion:reduce){.u-slot.holding .hold{animation:none;clip-path:inset(0 0 0 0)}.u-slot.buy-stamp{animation:none}.sidebar-right:has(.u-slot.avail:hover) .u-whisper{animation:none}}.sidebar-right.entering h2{animation:rackHeadIn .5s cubic-bezier(.25,.6,.25,1) both}.sidebar-right.entering .upgrade-list{animation:rackListIn .4s ease both}.sidebar-right.entering .u-slot{animation:rackSlotIgnite .62s cubic-bezier(.22,.7,.28,1) both;animation-delay:calc(.14s + var(--i, 0) * .12s)}.sidebar-right.entering .u-slot .u-body,.sidebar-right.entering .u-slot .u-sig{animation:rackWake .5s ease both;animation-delay:calc(.34s + var(--i, 0) * .12s)}@keyframes rackHeadIn{0%{opacity:0;transform:translate(120px)}to{opacity:1;transform:none}}@keyframes rackListIn{0%{opacity:0}to{opacity:1}}@keyframes rackSlotIgnite{0%{opacity:0;transform:translate(120px);box-shadow:inset 0 2px 5px #000000b3}58%{opacity:1;transform:translate(0);box-shadow:inset 0 2px 5px #000000b3,-16px 0 26px -6px var(--rail, #8a6733)}to{opacity:1;transform:none;box-shadow:inset 0 2px 5px #000000b3,inset 0 1px #ffe09e0d}}@keyframes rackWake{0%{opacity:0}to{opacity:1}}.sidebar-right.leaving .u-slot{animation:rackSlotOut .3s ease forwards;animation-delay:calc(var(--i, 0) * .03s)}.sidebar-right.leaving h2{animation:rackHeadOut .26s ease forwards}@keyframes rackSlotOut{0%{opacity:1;transform:none;filter:none}to{opacity:0;transform:translate(46px);filter:saturate(.35) brightness(.7)}}@keyframes rackHeadOut{0%{opacity:1}to{opacity:0;transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.sidebar-right.entering h2,.sidebar-right.entering .upgrade-list,.sidebar-right.entering .u-slot,.sidebar-right.entering .u-slot .u-body,.sidebar-right.entering .u-slot .u-sig{animation:rackFadeIn .15s ease both;animation-delay:0s;transform:none}@keyframes rackFadeIn{0%{opacity:0}to{opacity:1}}}.tutorial-backdrop{position:fixed;inset:0;background:transparent;z-index:9998;pointer-events:none}.tutorial-backdrop.tutorial-backdrop-dim{background:#080c12bf;pointer-events:none}.tutorial-highlight{position:fixed;border:3px solid #fbbf24;border-radius:8px;z-index:9999;pointer-events:none;box-shadow:0 0 20px #fbbf24cc,0 0 30px #fbbf2499,inset 0 0 20px #fbbf2433;animation:tutorialPulse 2s ease-in-out infinite}.tutorial-highlight.flashy{border:4px solid #fbbf24;animation:tutorialFlashy .8s ease-in-out infinite}@keyframes tutorialPulse{0%,to{border-color:#fbbf24;box-shadow:0 0 20px #fbbf24cc,0 0 30px #fbbf2499,inset 0 0 20px #fbbf2433}50%{border-color:#f59e0b;box-shadow:0 0 30px #fbbf24,0 0 50px #fbbf24cc,inset 0 0 30px #fbbf2466}}@keyframes tutorialFlashy{0%,to{border-color:#fbbf24;transform:scale(1);box-shadow:0 0 40px #fbbf24,0 0 80px #fbbf2499,inset 0 0 30px #fbbf2480}25%{border-color:#f59e0b;transform:scale(1.02);box-shadow:0 0 60px #f59e0b,0 0 100px #fbbf24cc,inset 0 0 40px #f59e0b99}50%{border-color:#fbbf24;transform:scale(1.04);box-shadow:0 0 80px #fbbf24,0 0 120px #fbbf24,0 0 160px #fbbf2466,inset 0 0 50px #fbbf24cc}75%{border-color:#f59e0b;transform:scale(1.02);box-shadow:0 0 60px #f59e0b,0 0 100px #fbbf24cc,inset 0 0 40px #f59e0b99}}.tutorial-message-box{position:fixed;bottom:20px;right:20px;z-index:20000;pointer-events:auto;background:linear-gradient(145deg,#2d3748,#1a202c);border:2px solid #fbbf24;border-radius:12px;padding:24px;max-width:400px;min-width:320px;box-shadow:0 8px 32px #000c,0 0 40px #fbbf244d;animation:tutorialMessageSlideIn .3s ease-out}@keyframes tutorialMessageSlideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.tutorial-message-title{font-size:24px;font-weight:700;color:#fbbf24;margin-bottom:16px;text-align:center;text-shadow:0 2px 8px rgba(251,191,36,.5)}.tutorial-message-text{font-size:16px;color:#fffffff2;line-height:1.6;margin-bottom:20px;text-align:center}.tutorial-progress{font-size:13px;color:#fff9;text-align:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.tutorial-ack-button{display:block;margin:0 auto 14px;padding:10px 18px;border:1px solid rgba(251,191,36,.8);border-radius:8px;background:#fbbf2426;color:#fbbf24;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.03em;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;pointer-events:auto;position:relative;z-index:20001}.tutorial-ack-button:hover{background:#fbbf2440;box-shadow:0 0 12px #fbbf2459;transform:translateY(-1px)}.tutorial-ack-button:active{transform:translateY(0)}.tutorial-skip-button{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#ffffff80;cursor:pointer;font-size:28px;line-height:1;padding:4px 8px;transition:all .2s ease;font-family:Arial,sans-serif;pointer-events:auto;position:relative;z-index:20001}.tutorial-skip-button:hover{color:#fbbf24;transform:scale(1.1)}.tutorial-skip-button:active{transform:scale(.95)}.tutorial-arrow{position:fixed;width:60px;height:60px;z-index:10000;pointer-events:none;font-size:48px;line-height:60px;text-align:center;color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.8),0 0 20px rgba(251,191,36,.6);animation:tutorialArrowBounce 1s ease-in-out infinite}@keyframes tutorialArrowBounce{0%,to{transform:translate(-50%,-50%) rotate(var(--arrow-rotation, 0deg)) translate(0)}50%{transform:translate(-50%,-50%) rotate(var(--arrow-rotation, 0deg)) translate(8px)}}@media(max-width:768px){.tutorial-message-box{max-width:90%;min-width:300px;padding:24px}.tutorial-message-title{font-size:20px}.tutorial-message-text{font-size:14px}.tutorial-arrow{font-size:36px;width:48px;height:48px;line-height:48px}}.map-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f172a;z-index:1000;overflow:hidden}.map-connections-layer{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1001}.connection-line{transition:all .3s ease}.map-nodes-layer{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1002;pointer-events:none}.city-node{position:absolute;transform:translate(-50%,-50%);width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.city-node:hover{transform:translate(-50%,-50%) scale(1.1)}.node-visual{width:64px;height:64px;background:#1e293b;border:3px solid #475569;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px -1px #00000080,0 2px 4px -1px #0000004d;transition:border-color .2s,box-shadow .2s}.city-node:hover .node-visual{border-color:#94a3b8;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d}.node-power .node-visual{border-color:#f59e0b;background:radial-gradient(circle at 30% 30%,#451a03,#1e293b)}.node-quarry .node-visual{border-color:#7dd3fc;background:radial-gradient(circle at 30% 30%,#0c4a6e,#1e293b)}.node-monument .node-visual{border-color:#c084fc;background:radial-gradient(circle at 30% 30%,#581c87,#1e293b)}.node-label{margin-top:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#e2e8f0;text-shadow:0 2px 4px rgba(0,0,0,.8);background:#0f172a99;padding:2px 8px;border-radius:4px}@keyframes pulse-connection{0%{stroke-opacity:.4}50%{stroke-opacity:1}to{stroke-opacity:.4}}.connection-line{animation:pulse-connection 3s infinite ease-in-out}.container{position:relative;width:100%;height:100%;margin:0 auto;pointer-events:none}.slot{position:absolute;width:120px;height:120px;border-radius:var(--radius-node);background:var(--card-gradient);box-shadow:0 8px 16px #0000004d,inset 0 2px 4px #ffffff1a;border:2px solid var(--line);transition:all .3s ease;display:flex;flex-direction:column;align-items:center;overflow:hidden;z-index:10;pointer-events:auto}.slot:hover{box-shadow:0 12px 24px #0006,inset 0 2px 4px #ffffff26;border-color:#64c8ff80}.slot.shape-circle{border-radius:var(--radius-round)}.slot.shape-vertical{width:96px;height:150px;border-radius:var(--radius-node-lg);margin-left:12px;margin-top:-15px}.slot.shape-vertical .progress-bar{top:0;bottom:auto}.slot.shape-diamond{border-radius:0;border:none;background:transparent;box-shadow:none;overflow:visible}.slot.shape-diamond.filled{background:transparent;border:none;box-shadow:none}.slot.shape-diamond:before{content:"";position:absolute;inset:7.5%;transform:rotate(45deg) scale(1.15);background:var(--card-gradient);border:2px solid var(--line);border-radius:var(--radius-node);box-shadow:0 8px 16px #0000004d,inset 0 2px 4px #ffffff1a;pointer-events:none;z-index:2}.slot.shape-diamond:hover{box-shadow:none;border-color:transparent;background:transparent}.slot.shape-diamond:hover:before{box-shadow:0 12px 24px #0006,inset 0 2px 4px #ffffff26;border-color:#64c8ff80}.slot.shape-diamond.drag-over{box-shadow:none;border-color:transparent;background:transparent}.slot.shape-diamond.drag-over:before{box-shadow:0 12px 24px #0006,0 0 30px var(--accent-drop-glow);border-color:var(--accent-drop)}.slot.shape-diamond.selected{box-shadow:none;border-color:transparent;background:transparent}.slot.shape-diamond.selected:before{box-shadow:0 0 20px var(--accent-select-glow);border-color:var(--accent-select)}.slot.shape-diamond .progress-container{position:absolute;top:50%;left:50%;width:85%;height:85%;transform:translate(-50%,-50%) scale(1.15);transform-origin:center;z-index:1;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.slot.shape-diamond .slot-content{z-index:3;transform:scale(.85) translateY(4px);transform-origin:top center}.slot.shape-diamond.filled:before{background:var(--slot-filled-gradient)}.slot.shape-diamond.filled[data-ability=Earth]:before{border-color:#68d39199}.slot.catalyst-inactive{background:linear-gradient(145deg,#2d374826,#1a202c26);border:3px solid rgba(251,191,36,.6);box-shadow:0 8px 16px #0000004d,inset 0 0 30px #fbbf241a,0 0 20px #fbbf244d}.slot.catalyst-active{background:linear-gradient(145deg,var(--accent-marble-solid),var(--amber-deep));border:3px solid rgba(251,191,36,.9);box-shadow:0 12px 24px #0006,inset 0 0 24px #ffeaa740,0 0 24px #fbbf2499}.slot.drag-over{border-color:var(--accent-drop);box-shadow:0 12px 24px #0006,0 0 30px var(--accent-drop-glow)}.slot.slot-locked{background-color:var(--color-bg-tertiary);opacity:.6;border-style:dashed;border-color:var(--color-text-muted);cursor:not-allowed}.lock-corner{position:absolute;bottom:2px;right:4px;font-size:12px;opacity:.5;pointer-events:none}.slot.slot-commissioning{opacity:.55;border-style:dashed;border-color:#f59e0bb3}.slot.slot-commissioning .progress-bar{background:linear-gradient(180deg,var(--amber-bright) 0%,var(--accent-marble-solid) 100%);box-shadow:0 -2px 12px #f59e0b99}.slot.slot-commissioning.slot-decommissioning{border-color:#ef6e44cc}.slot.slot-commissioning.slot-decommissioning .progress-bar{background:linear-gradient(180deg,#fb923c,#ef4444);box-shadow:0 -2px 12px #ef44448c}.slot.slot-springing{transition:transform .18s cubic-bezier(.34,1.56,.64,1);cursor:grabbing;box-shadow:0 8px 24px #00000073,0 0 calc(6px + var(--tear, 0) * 22px) rgba(239,68,68,calc(var(--tear, 0) * .85))}.slot.slot-springing.tear-ready{border-style:solid;border-color:#ef4444;animation:tear-shiver 90ms steps(2) infinite}@keyframes tear-shiver{0%{margin-left:-1px}to{margin-left:1px}}#decommission-tether{position:fixed;height:calc(2px + var(--tear, 0) * 2px);transform-origin:0 50%;background:linear-gradient(90deg,#f59e0bd9,rgba(239,68,68,calc(.4 + var(--tear, 0) * .6)));border-radius:2px;pointer-events:none;z-index:49;display:none}#decommission-tether.taut{box-shadow:0 0 8px #ef4444b3}.slot.selected{border-color:var(--accent-select);box-shadow:0 0 20px var(--accent-select-glow)}.slot.filled{background:var(--slot-filled-gradient);border-color:#64c8ff80}.slot.filled[data-ability=Fire]{border-color:#f5656599}.slot.filled[data-ability=Water]{border-color:#63b3ed99}.slot.filled[data-ability=Earth]{border-color:#68d39199}.slot.filled[data-ability=Air]{border-color:#cbd5e099}.slot-content{position:absolute;top:12px;left:12px;right:12px;color:var(--text-strong);font-size:13px;font-weight:600;text-align:center;line-height:1.3;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px}.slot-ability-name{font-size:14px;font-weight:800;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.slot-stats{display:flex;gap:8px;background:#0003;padding:2px 8px;border-radius:var(--radius-lg);border:1px solid var(--line-faint)}.stat-mana{color:var(--mana-blue);font-size:12px;font-weight:700}.stat-time{color:var(--text-slate);font-size:12px;font-weight:700}.slot-avg-rate{margin-top:3px;font-size:10px;color:var(--accent-arcane);font-weight:600;font-family:var(--font-mono);text-align:center;background:#0000004d;padding:2px 6px;border-radius:var(--radius-sm);display:none}.slot-debug{display:flex;gap:6px;margin-top:2px;font-size:9px;color:var(--text-dim);font-weight:600;font-family:var(--font-mono)}.debug-stacks,.debug-flux{background:#0000004d;padding:1px 4px;border-radius:3px}.debug-stacks.active,.debug-flux.active{background:#0009;color:var(--text);font-size:10px;padding:2px 5px;font-weight:700;border:1px solid var(--line-strong)}.slot-center{top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;background:linear-gradient(145deg,var(--surface-slate),var(--surface-raised));border:3px solid rgba(100,200,255,.3);z-index:10;box-shadow:0 12px 24px #0006,inset 0 2px 6px #ffffff26,0 0 30px var(--accent-mana-glow)}.slot-center:hover{transform:translate(-50%,-50%) translateY(-4px)}.slot-fixed{border:3px solid rgba(245,158,11,.6)!important;background:linear-gradient(145deg,#78350f,#92400e)!important;box-shadow:0 12px 24px #00000080,inset 0 2px 6px #fff3,0 0 30px #f59e0b4d!important;cursor:not-allowed}.slot-fixed:hover{box-shadow:0 12px 24px #00000080,inset 0 2px 6px #fff3,0 0 40px #f59e0b80!important;border-color:#f59e0bcc!important}.progress-container{width:100%;height:100%;position:relative;border-radius:var(--radius-lg);overflow:hidden}.progress-bar{position:absolute;bottom:0;left:0;width:100%;height:0%;background:linear-gradient(180deg,var(--mana-fill-from) 0%,var(--mana-fill-to) 100%);box-shadow:0 -2px 8px #4299e166;transition:height .18s ease-out}.progress-bar.no-transition{transition:none}.progress-bar[data-ability=Fire]{background:linear-gradient(180deg,var(--el-fire-from) 0%,var(--accent-danger) 100%);box-shadow:0 -2px 12px #f5656599}.progress-bar[data-ability=Water]{background:linear-gradient(180deg,#60a5fa,#2563eb);box-shadow:0 -2px 12px #3b82f699}.progress-bar[data-ability=Earth]{background:linear-gradient(180deg,#68d391,#38a169);box-shadow:0 -2px 12px #68d39199}.progress-bar[data-ability=Air]{background:linear-gradient(180deg,#cbd5e0,#a0aec0);box-shadow:0 -2px 12px #cbd5e099}.progress-bar[data-ability=Catalyst]{background:linear-gradient(180deg,#e9d5ff,#c084fc);box-shadow:0 -2px 12px #c084fcb3}.progress-bar[data-ability=light_conduit]{background:linear-gradient(180deg,#d1d5db,#9ca3af);box-shadow:0 -2px 12px #9ca3af99;transition:height .6s ease-out}.progress-threshold-marker{position:absolute;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 20%,rgba(255,255,255,.6) 80%,transparent 100%);box-shadow:0 0 4px #fffc;pointer-events:none;z-index:2;opacity:.8}.progress-threshold-marker:before{content:"";position:absolute;inset:-1px;background:inherit;filter:blur(2px);opacity:.5}.slot-1{top:-6%;left:50%;transform:translate(-50%)}.slot-2{top:10%;left:90%;transform:translate(-50%,-50%)}.slot-3{top:50%;left:106%;transform:translate(-100%,-50%)}.slot-4{top:90%;left:90%;transform:translate(-50%,-50%)}.slot-5{top:106%;left:50%;transform:translate(-50%,-100%)}.slot-6{top:90%;left:10%;transform:translate(-50%,-50%)}.slot-7{top:50%;left:-6%;transform:translateY(-50%)}.slot-8{top:10%;left:10%;transform:translate(-50%,-50%)}.slot-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-faint);font-size:12px;font-weight:600;z-index:1}.slot:after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-node-lg);pointer-events:none;opacity:0;transform:scale(1);box-shadow:0 0 #64c8ff00}.slot.receiving-charge:after{animation:slotChargePulse .4s ease-out}@keyframes slotChargePulse{0%{opacity:0;transform:scale(1);box-shadow:0 0 #64c8ff00}50%{opacity:1;transform:scale(1.06);box-shadow:0 0 26px #64c8ff99}to{opacity:0;transform:scale(1);box-shadow:0 0 #64c8ff00}}.flux-bar{position:absolute;top:0;left:0;height:4px;width:0%;background:linear-gradient(90deg,var(--amber-bright) 0%,var(--accent-marble-solid) 100%);box-shadow:0 0 6px #fbbf2480;transition:width .3s ease;z-index:3;border-radius:14px 14px 0 0}.slot[data-ability=Generator]{animation:generatorPulse 2s ease-in-out infinite}@keyframes generatorPulse{0%,to{box-shadow:0 12px 24px #0006,inset 0 2px 6px #ffffff26,0 0 30px #06b6d44d;border-color:var(--accent-generator-glow)}50%{box-shadow:0 12px 24px #0006,inset 0 2px 6px #ffffff26,0 0 50px #06b6d499;border-color:#06b6d4cc}}.slot.flameout{filter:grayscale(1) blur(1px);transition:filter .2s ease}.slot.slot-nodeview{background:transparent!important;border-color:transparent!important;box-shadow:none!important;overflow:visible!important;animation:none!important}.slot.slot-nodeview:hover{box-shadow:none!important;border-color:transparent!important}.slot.slot-nodeview .progress-container,.slot.slot-nodeview .slot-content,.slot.slot-nodeview .flux-bar{display:none}.slot-node-mount{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.slot.slot-nodeview.selected{box-shadow:none!important}.slot.slot-aperture{background:transparent!important;border-color:transparent!important;box-shadow:none!important;overflow:visible!important;animation:none!important}.slot.slot-aperture:hover{box-shadow:none!important;border-color:transparent!important}.slot.slot-aperture .progress-container,.slot.slot-aperture .slot-content{display:none}.slot.slot-aperture.drag-over .aperture-socket,.slot.slot-aperture.tray-drop-target .aperture-socket{filter:drop-shadow(0 0 12px var(--el-glow, var(--accent-drop-glow, rgba(120, 200, 255, .7))))}.slot .bonus-fx{position:absolute;left:-2px;top:-2px;width:124px;height:124px;pointer-events:none}.bfx-ground{position:absolute;left:50%;top:50%;width:172px;height:172px;margin:-86px 0 0 -86px;border-radius:50%;z-index:1;opacity:0;transition:opacity .25s ease;background:radial-gradient(circle,color-mix(in srgb,var(--bonus-hue) 15%,transparent) 0%,color-mix(in srgb,var(--bonus-hue) 7%,transparent) 45%,transparent 70%)}.bfx-ground:after{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid color-mix(in srgb,var(--bonus-hue) 32%,transparent);box-shadow:inset 0 0 14px color-mix(in srgb,var(--bonus-hue) 14%,transparent);transition:border-color .25s ease}.bfx-ring{position:absolute;inset:0;z-index:3;opacity:0;transition:opacity .25s ease}.bfx-fil{fill:none;stroke:var(--bonus-hue);stroke-width:1.1;opacity:.55;filter:drop-shadow(0 0 3px var(--bonus-hue))}.bfx-gem{fill:var(--bonus-hue);opacity:.9;filter:drop-shadow(0 0 2.5px var(--bonus-hue))}.bfx-glyph{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;z-index:3;color:var(--bonus-hue);opacity:0;transition:opacity .25s ease;filter:drop-shadow(0 1px 1px rgba(0,0,0,.8))}.bfx-glyph svg{width:100%;height:100%;display:block}body[data-bonus-style=a] .slot.slot-bonus.slot-aperture .bfx-ring{opacity:.85}body[data-bonus-style=b] .slot.slot-bonus.slot-aperture .bfx-glyph{opacity:.5}body[data-bonus-style=c] .slot.slot-bonus .bfx-ground,.slot.slot-bonus.slot-nodeview.bonus-active .bfx-ground{opacity:1}.slot.slot-bonus.slot-nodeview.bonus-active:not(:hover):not(.selected) .node .bezel{filter:drop-shadow(0 0 9px color-mix(in srgb,var(--bonus-hue) 65%,transparent)) drop-shadow(0 0 3px color-mix(in srgb,var(--bonus-hue) 40%,transparent))}.bfx-medal{position:absolute;left:-7px;bottom:-7px;width:34px;height:34px;z-index:7;color:var(--bonus-hue);opacity:0;transition:opacity .25s ease,filter .25s ease}.bfx-medal svg{width:100%;height:100%;display:block}.slot.slot-bonus.slot-nodeview.bonus-active .bfx-medal{opacity:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.8)) drop-shadow(0 0 4px color-mix(in srgb,var(--bonus-hue) 55%,transparent))}.slot.slot-bonus.slot-nodeview.bonus-inert .bfx-medal{opacity:.85;filter:grayscale(1) brightness(1.35) drop-shadow(0 1px 1px rgba(0,0,0,.8))}.bonus-chip{position:absolute;left:50%;bottom:calc(100% - 4px);transform:translate(-50%) translateY(4px);z-index:8;white-space:nowrap;padding:4px 10px;border-radius:999px;font:600 11px/1.2 var(--node-disp, sans-serif);letter-spacing:.4px;color:var(--bonus-hue);background:#080502d6;border:1px solid color-mix(in srgb,var(--bonus-hue) 45%,transparent);box-shadow:0 2px 8px #00000080;opacity:0;transition:opacity .18s ease,transform .18s ease}.bonus-chip b{font-weight:700;margin-right:6px;color:#e8dcc2}.slot.slot-bonus:hover .bonus-chip,.slot.slot-bonus.bonus-reach .bonus-chip{opacity:1;transform:translate(-50%) translateY(0)}.slot.slot-bonus.bonus-refuse .bonus-chip{opacity:1;transform:translate(-50%) translateY(0);filter:grayscale(.85) brightness(.85)}body[data-bonus-style=d] .slot.slot-bonus.slot-aperture .ap-pupil{opacity:0}body[data-bonus-style=d] .slot.slot-bonus.slot-aperture .bfx-glyph{opacity:.95;width:29px;height:29px;margin:-14.5px 0 0 -14.5px;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--bonus-hue) 70%,transparent))}@keyframes bonusBeckon{0%,to{opacity:.78}50%{opacity:1}}body[data-bonus-style=a] .slot.slot-bonus.bonus-call .bfx-ring{opacity:1;animation:bonusBeckon 1.6s ease-in-out infinite}body[data-bonus-style=a] .slot.slot-bonus.bonus-call .bfx-fil{opacity:1;stroke-width:1.5;filter:drop-shadow(0 0 4px var(--bonus-hue))}body[data-bonus-style=a] .slot.slot-bonus.bonus-call .bfx-gem{opacity:1}body[data-bonus-style=b] .slot.slot-bonus.bonus-call .bfx-glyph{opacity:1;animation:bonusBeckon 1.6s ease-in-out infinite;filter:drop-shadow(0 0 5px var(--bonus-hue))}body[data-bonus-style=c] .slot.slot-bonus.bonus-call .bfx-ground{animation:bonusBeckon 1.8s ease-in-out infinite}body[data-bonus-style=c] .slot.slot-bonus.bonus-call .bfx-ground:after{border-color:color-mix(in srgb,var(--bonus-hue) 70%,transparent);box-shadow:inset 0 0 18px color-mix(in srgb,var(--bonus-hue) 26%,transparent)}@keyframes bonusGlyphBeckon{0%,to{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--bonus-hue) 70%,transparent))}50%{filter:drop-shadow(0 0 9px var(--bonus-hue))}}body[data-bonus-style=d] .slot.slot-bonus.bonus-call .bfx-glyph{opacity:1;animation:bonusGlyphBeckon 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){body[data-bonus-style=d] .slot.slot-bonus.bonus-call .bfx-glyph{animation:none;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--bonus-hue) 85%,transparent))}}.slot.slot-bonus.bonus-call .bonus-chip{opacity:1;transform:translate(-50%) translateY(0)}.slot.slot-bonus.bonus-reach .bfx-ring,.slot.slot-bonus.bonus-reach .bfx-glyph,.slot.slot-bonus.bonus-reach .bfx-ground{animation:none}@media(prefers-reduced-motion:reduce){.slot.slot-bonus.bonus-call .bfx-ring,.slot.slot-bonus.bonus-call .bfx-glyph,.slot.slot-bonus.bonus-call .bfx-ground{animation:none}}body[data-bonus-style=a] .slot.slot-bonus.bonus-reach .bfx-ring{opacity:1}body[data-bonus-style=a] .slot.slot-bonus.bonus-reach .bfx-fil{opacity:1;stroke-width:1.6}body[data-bonus-style=b] .slot.slot-bonus.bonus-reach .bfx-glyph{opacity:.95;filter:drop-shadow(0 0 6px var(--bonus-hue))}body[data-bonus-style=c] .slot.slot-bonus.bonus-reach .bfx-ground:after{border-color:var(--bonus-hue)}.slot.slot-bonus.bonus-call-muted .bonus-chip{opacity:1;transform:translate(-50%) translateY(0);filter:grayscale(.85) brightness(.85)}body[data-bonus-style=a] .slot.slot-bonus.bonus-call-muted.slot-aperture .bfx-ring{opacity:.45;filter:grayscale(1)}body[data-bonus-style=b] .slot.slot-bonus.bonus-call-muted.slot-aperture .bfx-glyph{opacity:.35;filter:grayscale(1) drop-shadow(0 1px 1px rgba(0,0,0,.8))}body[data-bonus-style=c] .slot.slot-bonus.bonus-call-muted .bfx-ground{opacity:.5;filter:grayscale(1)}body[data-bonus-style=d] .slot.slot-bonus.bonus-call-muted.slot-aperture .bfx-glyph{opacity:.55;filter:grayscale(1) drop-shadow(0 1px 1px rgba(0,0,0,.8))}.tooltip-bonus{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;letter-spacing:.3px}.node{--node-cream: #e9dcc0;--node-cream-dim: #b8a986;--node-hair: rgba(233, 220, 192, .14);--node-disp: "IM Fell English SC", Georgia, serif;--node-body: "Spectral", Georgia, serif;--node-brass: #8a6733}.node{position:relative;flex:0 0 auto;--face-bg: radial-gradient(120% 120% at 50% 20%, #1b160d 0%, #0d0a05 100%);--ink: #e9cb8c;--chip-ink: #d9b877;--chip-bg: rgba(8, 6, 3, .7);--face-scrim: linear-gradient(180deg, rgba(5,3,1,.94) 0%, rgba(5,3,1,.82) 26%, rgba(5,3,1,.34) 48%, transparent 66%);--face-scrim-core: radial-gradient(circle at 50% 46%, rgba(5,3,1,.88) 0 40%, rgba(5,3,1,.3) 58%, transparent 74%);filter:drop-shadow(0 10px 16px rgba(0,0,0,.42));transition:transform .12s ease,filter 1.2s ease}.node.starving{filter:drop-shadow(0 10px 16px rgba(0,0,0,.42)) saturate(.22) brightness(.82)}.node.starving .vessel{animation:gutter 3.6s ease-in-out infinite}@keyframes gutter{0%,to{opacity:1}50%{opacity:.8}}.node.starving .ro.flux-ro{color:var(--node-cream-dim);background:transparent;font-weight:400}@media(prefers-reduced-motion:reduce){.node.starving .vessel{animation:none}}.node.square,.node.circle{width:132px;height:132px}.node.diamond{width:138px;height:138px}.node.tall{width:104px;height:166px}.node.hex{width:140px;height:140px}.node.rune{width:122px;height:146px}.node.core{width:158px;height:158px}.vessel{position:absolute;inset:0;z-index:2;overflow:hidden;background:var(--face-bg);box-shadow:inset 0 2px 4px #0006,inset 0 -3px 9px #0009,inset 0 2px 1px #ffe09e29}.node.circle .vessel,.node.core .vessel{border-radius:50%}.node.rune .vessel{border-radius:22px}.node.diamond .vessel{inset:7px;border-radius:0;clip-path:polygon(50% 1%,99% 50%,50% 99%,1% 50%)}.node.hex .vessel{inset:7px;border-radius:0;clip-path:polygon(26% 3%,74% 3%,99% 50%,74% 97%,26% 97%,1% 50%)}.flux{position:absolute;left:0;right:0;bottom:0;height:0%;z-index:1;background:linear-gradient(180deg,var(--el-glow),var(--el));box-shadow:inset 0 3px #ffffff80,0 0 16px var(--el-glow)}.flux:before{content:"";position:absolute;left:0;right:0;top:0;height:34%;background:linear-gradient(180deg,rgba(255,255,255,.26),transparent)}.flux .surf{position:absolute;left:-20%;right:-20%;top:-3px;height:8px;border-radius:50%;background:radial-gradient(60% 100% at 50% 50%,rgba(255,255,255,.5),transparent 70%);opacity:.7;animation:slosh 3.4s ease-in-out infinite}@keyframes slosh{0%,to{transform:translate(-6px) scaleY(.8)}50%{transform:translate(6px) scaleY(1.15)}}.node.dry .vessel{background:radial-gradient(120% 120% at 50% 22%,color-mix(in srgb,var(--el) 26%,#100c07),#0b0805 78%)}.sweep{position:absolute;inset:0;z-index:1;--deg:0deg;--fill:color-mix(in srgb, var(--el-glow) 62%, #000);background:conic-gradient(from 0deg,var(--fill) 0deg,var(--fill) var(--deg),transparent var(--deg) 360deg);mix-blend-mode:screen;opacity:.85}.sweep:before{content:"";position:absolute;inset:0;opacity:.28;mix-blend-mode:overlay;background:repeating-conic-gradient(from 0deg,transparent 0deg 28deg,rgba(255,255,255,.5) 28deg 29.2deg)}.sweep:after{content:"";position:absolute;inset:36%;border-radius:50%;mix-blend-mode:normal;background:radial-gradient(circle,rgba(5,3,1,.9),rgba(5,3,1,.25) 68%,transparent);box-shadow:0 0 0 1px #0006}.hand{position:absolute;left:50%;top:8%;bottom:50%;width:2px;z-index:2;transform-origin:50% 100%;transform:translate(-50%) rotate(var(--deg,0deg));background:linear-gradient(to top,transparent,var(--el-glow));border-radius:2px;box-shadow:0 0 8px var(--el-glow)}.hand:after{content:"";position:absolute;left:50%;top:-1px;width:6px;height:6px;transform:translate(-50%);border-radius:50%;background:#fff9ec;box-shadow:0 0 8px var(--el-glow)}.node.dry.fire-node .vessel{box-shadow:inset 0 0 30px var(--el-glow),inset 0 -3px 8px #00000080}.bezel{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}.bz-aura{fill:none;stroke:var(--el-glow);stroke-width:4;opacity:.16;filter:blur(3.5px)}.bz-dark{fill:none;stroke:#00000080;stroke-width:4.5}.bz-brass{fill:none;stroke:#8a6733;stroke-width:2.2}.bz-inner{fill:none;stroke:#00000052;stroke-width:1.1}.bz-hi{fill:none;stroke:#ffe4a86b;stroke-width:1}.face{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:16px 10px 0;text-align:center;background:var(--face-scrim)}.node.diamond .face{padding-top:38px}.node.hex .face{padding-top:28px}.node.tall .face,.node.rune .face{padding-top:22px}.node.core .face{justify-content:center;gap:7px;padding-top:0;background:var(--face-scrim-core)}.node.fire-node .face{justify-content:flex-end;gap:3px;padding:0 14px 20px;transform:none;background:radial-gradient(circle at 50% 72%,rgba(5,3,1,.9) 0 34%,rgba(5,3,1,.4) 56%,transparent 74%)}.node.fire-node .sigil{width:20px;height:20px}.node.fire-node .name{font-size:15px}.node.tower-node .name{font-size:14px}.node .observer-quadrant{--observer-angle:0deg;position:absolute;inset:-8%;z-index:2;pointer-events:none;opacity:0;transform:rotate(var(--observer-angle));transform-origin:50% 50%;background:conic-gradient(from -31deg at 50% 50%,rgba(153,255,166,.92) 0 62deg,transparent 62deg 360deg);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 0 15%,#000 38% 100%);mask:radial-gradient(circle at 50% 50%,transparent 0 15%,#000 38% 100%);mix-blend-mode:screen}.node.fire-node .flux{background:linear-gradient(180deg,#ff9a3c 10%,#f0521c,#b3160f);filter:brightness(var(--flux-bright,1.12)) saturate(var(--flux-sat,1.7))}.node.fire-node .vessel{box-shadow:inset 0 0 var(--ember,10px) var(--ember-color,#ff5a2e),inset 0 2px 4px #0006,inset 0 -3px 9px #0009,inset 0 2px 1px #ffe09e29}.node{--stack-frac:0}.node.stacked .vessel:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(85% 85% at 50% 62%,var(--el-glow),transparent 72%);mix-blend-mode:screen;opacity:calc(var(--stack-frac) * .16)}.fw-spin{position:absolute;inset:11%;z-index:1;pointer-events:none;color:var(--el-glow);mix-blend-mode:screen;opacity:calc(.14 + var(--stack-frac) * .56);filter:drop-shadow(0 0 calc(2px + 6px * var(--stack-frac)) var(--el-glow))}.fw-spin svg{width:100%;height:100%;display:block}.node.fire-node.stacked .vessel{--ember: calc(10px + 26px * var(--stack-frac))}.node.fire-node.stacked .flux{animation:heatFlicker 1.15s ease-in-out infinite}@keyframes heatFlicker{0%,to{filter:brightness(var(--flux-bright,1.12)) saturate(var(--flux-sat,1.7))}50%{filter:brightness(calc(var(--flux-bright,1.12) + var(--stack-frac) * .2)) saturate(calc(var(--flux-sat,1.7) + var(--stack-frac) * .25))}}.node.stack-wipe{animation:stackWipeJudder .55s cubic-bezier(.36,.07,.19,.97)}@keyframes stackWipeJudder{0%{transform:translate(0)}12%{transform:translate(-3px) rotate(-.8deg)}28%{transform:translate(3px) rotate(.7deg)}44%{transform:translate(-2px) rotate(-.5deg)}62%{transform:translate(2px) rotate(.3deg)}80%{transform:translate(-1px)}to{transform:translate(0)}}.node.stack-wipe .ro.stacks{animation:stackWipeChip .7s ease-out}@keyframes stackWipeChip{0%{background:#7a1d12eb;color:#ffd9c9;border-color:#ec6a3a8c;box-shadow:0 0 10px #ec6a3a8c}to{background:var(--chip-bg);color:var(--chip-ink);border-color:var(--node-hair);box-shadow:none}}@media(prefers-reduced-motion:reduce){.node.stack-wipe,.node.fire-node.stacked .flux{animation:none}}.sigil{width:22px;height:22px;color:var(--el-glow);line-height:0;filter:drop-shadow(0 0 5px var(--el-glow))}.core .sigil{width:26px;height:26px}.sigil svg{width:100%;height:100%;display:block}.name{font-family:var(--node-disp);font-weight:400;font-size:16px;line-height:1;color:#f0d59a;text-shadow:0 1px 0 rgba(0,0,0,.8),0 -1px 0 rgba(255,224,158,.2)}.core .name{font-size:18px}.ro-row{display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap}.ro{font-family:var(--node-body);font-size:11.5px;font-weight:500;line-height:1;padding:3px 7px;border-radius:8px;display:inline-flex;gap:4px;align-items:center;background:var(--chip-bg);color:var(--chip-ink);border:1px solid var(--node-hair)}.ro[hidden]{display:none}.ro.flux-ro{color:var(--el-glow);font-weight:600}.ro.flux-ro b,.ro.time b{opacity:.7;font-weight:400;font-size:10px}.pips{display:inline-flex;gap:3px;align-items:center;padding:3px 7px;border-radius:8px;background:var(--chip-bg);border:1px solid var(--node-hair)}.pips i{width:5px;height:5px;border-radius:50%;background:transparent;border:1px solid var(--node-hair);transition:.2s}.pips i.on{background:var(--el-glow);border-color:transparent;box-shadow:0 0 5px var(--el-glow)}.ring{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible}.rk-shadow{stroke:#000;fill:none;opacity:.72;filter:blur(.8px)}.rk-track{stroke:#030201c7;fill:none}.rk-lip{stroke:#ffe0a81f;fill:none}.rk-charge,.rk-charge-inner{fill:none;stroke-linecap:round}.rk-charge{stroke:var(--el-glow);opacity:1;filter:drop-shadow(0 0 3px var(--el-glow))}.rk-charge-inner{stroke:color-mix(in srgb,var(--el) 90%,#170b04);opacity:.58}.rim-int-ext .rk-charge{stroke:var(--el);opacity:.58}.rim-int-ext .rk-charge-inner{stroke:var(--el-glow);opacity:1;filter:drop-shadow(0 0 3px var(--el-glow))}.rk-air,.rk-air-inner{stroke:#fff9ec;fill:none;stroke-linecap:round;filter:drop-shadow(0 0 6px #fff9ec)}.rk-head{stroke:#fff9ec;fill:none;stroke-linecap:round;filter:drop-shadow(0 0 7px var(--el-glow));opacity:0}.rk-flash{stroke:var(--el-glow);fill:none;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 5px var(--el-glow))}.rk-air-flash{stroke:#fff9ec;fill:none;stroke-linecap:butt;opacity:0;filter:drop-shadow(0 0 6px #fff9ec)}@keyframes ringUnwind{0%{opacity:1;stroke-dasharray:100 0;stroke-dashoffset:0}to{opacity:1;stroke-dasharray:0 100;stroke-dashoffset:-100}}.cs-thin .rk-shadow{stroke-width:8}.cs-thin .rk-track{stroke-width:9}.cs-thin .rk-lip{stroke-width:5.8}.cs-thin .rk-charge,.cs-thin .rk-charge-inner,.cs-thin .rk-air,.cs-thin .rk-air-inner,.cs-thin .rk-flash,.cs-thin .rk-air-flash{stroke-width:4.5}.cs-bold .rk-shadow{stroke-width:10}.cs-bold .rk-track{stroke-width:11}.cs-bold .rk-lip{stroke-width:7}.cs-bold .rk-charge,.cs-bold .rk-charge-inner,.cs-bold .rk-air,.cs-bold .rk-air-inner,.cs-bold .rk-flash,.cs-bold .rk-air-flash{stroke-width:7.5}.cs-bold .rk-head{stroke-width:7.5;opacity:1}.cs-channel .rk-track{stroke-width:12;stroke:#0009}.cs-channel .rk-shadow{stroke-width:11}.cs-channel .rk-lip{stroke-width:9}.cs-channel .rk-charge,.cs-channel .rk-charge-inner,.cs-channel .rk-air,.cs-channel .rk-air-inner,.cs-channel .rk-flash,.cs-channel .rk-air-flash{stroke-width:9.5}.cs-channel .rk-head{stroke-width:9.5;opacity:.9}.node.fire .vessel{box-shadow:inset 0 0 24px var(--el-glow),inset 0 -3px 8px #0000008c}.node.dry.air .vessel{background:radial-gradient(120% 130% at 50% 12%,#191811,#0b0a07 82%)}.air-layer{position:absolute;inset:0;z-index:1;overflow:hidden}.up-haze{position:absolute;left:0;right:0;bottom:0;height:0%;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--el-glow) 20%,transparent) 55%,color-mix(in srgb,var(--el-glow) 42%,transparent) 100%);-webkit-mask:linear-gradient(180deg,transparent 0,#000 34%);mask:linear-gradient(180deg,transparent 0,#000 34%)}.up-streaks{position:absolute;inset:0;opacity:.3;transition:opacity .3s}.up-streaks span{position:absolute;bottom:-46%;width:2px;height:46%;border-radius:2px;background:linear-gradient(to top,transparent,var(--el-glow));animation:updraft var(--dur,2.4s) linear infinite;animation-delay:var(--dl,0s)}@media(prefers-reduced-motion:no-preference){@keyframes updraft{0%{transform:translateY(0) scaleY(.6);opacity:0}18%{opacity:1}82%{opacity:1}to{transform:translateY(-250%) scaleY(1.25);opacity:0}}}.air-cyclone .cy-core{position:absolute;left:50%;top:50%;width:36%;height:36%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--el-glow),transparent 68%);opacity:.3}.air-cyclone .cy-spin{position:absolute;inset:0;transform-origin:50% 50%}.air-cyclone .cy-spin i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--el-glow);box-shadow:0 0 6px var(--el-glow);transform:rotate(var(--a)) translateY(calc(-1 * var(--r)))}.air-baro{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.air-baro .baro-ticks line{stroke:#e2dbc652;stroke-width:1.4;stroke-linecap:round}.air-baro .baro-track{stroke:#e2dbc62e;stroke-width:2.5;stroke-linecap:round}.air-baro .baro-fill{stroke:var(--el-glow);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--el-glow))}.air-baro .baro-bead{fill:#fff9ec;filter:drop-shadow(0 0 6px var(--el-glow))}.air-ascend{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.air-ascend i{width:28px;height:13px;color:var(--el-glow);opacity:.16;transition:opacity .25s,filter .25s}.air-ascend i.on{opacity:1;filter:drop-shadow(0 0 5px var(--el-glow))}.air-ascend i svg{width:100%;height:100%;display:block}.apx{position:absolute;inset:0;z-index:1;transform-origin:50% 50%}.ap-blade{fill:#2c2011;stroke:#a07c3d;stroke-width:1.2;stroke-linejoin:round}.ap-pupil{fill:#e6c979;filter:drop-shadow(0 0 5px rgba(230,201,121,.7))}.bez-incised{z-index:4}.bzi-shadow{fill:none;stroke:#0009;stroke-width:5.5}.bzi-cut{fill:none;stroke:#000000d9;stroke-width:1.6}.bzi-lip{fill:none;stroke:#ffe09e29;stroke-width:1}.bzi-rcp{fill:none;stroke:var(--el-glow);stroke-width:5;opacity:0;filter:blur(3px)}.bind-elfill{position:absolute;inset:0;z-index:1;opacity:0;background:radial-gradient(120% 120% at 50% 60%,var(--el-glow) 0%,var(--el) 52%,#1a1109 100%)}.aperture-socket .face,.face.bind-empty{justify-content:center;padding:0;gap:5px;background:radial-gradient(circle at 50% 50%,rgba(5,3,1,.72) 0 30%,rgba(5,3,1,.26) 52%,transparent 72%)}.ap-label{font-family:var(--node-disp);font-weight:400;font-size:13px;letter-spacing:1px;color:#c9b48a;text-shadow:0 1px 0 rgba(0,0,0,.8)}.bind-fx{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:visible}.fx-glint{position:absolute;left:50%;top:50%;width:92%;height:92%;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid rgba(255,244,214,.9);box-shadow:0 0 10px #ffeebeb3;animation:bindGlint .5s ease-out forwards}@keyframes bindGlint{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}.slot.slot-nodeview:hover:not(.selected):not(.drag-over) .node{transform:scale(1.03)}.slot.slot-nodeview:hover:not(.selected):not(.drag-over) .node .bezel{filter:drop-shadow(0 0 7px var(--el-glow))}.slot.slot-nodeview:hover:not(.selected):not(.drag-over) .node .bz-hi{stroke:#ffecbecc;stroke-width:1.4}.slot.slot-nodeview.selected .node .bezel{filter:drop-shadow(0 0 8px var(--accent-select-glow, rgba(246,173,85,.4))) drop-shadow(0 0 3px var(--accent-select-glow, rgba(246,173,85,.4)))}.slot.slot-nodeview.selected .node .bz-hi{stroke:var(--accent-select, #f6ad55);stroke-width:1.9;opacity:1}.slot.slot-nodeview.selected .node .bz-brass{stroke:#a67c3a}.slot.slot-aperture:hover:not(.drag-over):not(.tray-drop-target) .aperture-socket{transform:scale(1.03)}.slot.slot-aperture:hover:not(.drag-over):not(.tray-drop-target) .bez-incised{filter:drop-shadow(0 0 7px rgba(230,201,121,.55))}.slot.slot-aperture:hover:not(.drag-over):not(.tray-drop-target) .ap-pupil{filter:drop-shadow(0 0 8px rgba(230,201,121,.95))}.slot.slot-aperture:hover:not(.drag-over):not(.tray-drop-target) .bzi-lip{stroke:#ffe09e6b}@keyframes upbreathe{0%,to{filter:brightness(.72) saturate(.78) drop-shadow(0 1px 1px rgba(0,0,0,.7))}50%{filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 4px rgba(148,181,255,.52))}}.up-crest{position:absolute;z-index:7;top:-7px;right:-7px;width:30px;height:30px;pointer-events:none;opacity:0;transform:scale(.7);transform-origin:center;transition:opacity .45s ease,transform .5s cubic-bezier(.2,1.35,.4,1)}.up-crest.on{opacity:1;transform:scale(1)}.up-crest.simple{filter:drop-shadow(0 1px .8px rgba(0,0,0,.98)) drop-shadow(0 0 1.2px rgba(0,0,0,.95))}.up-crest img{display:block;width:100%;height:100%;object-fit:contain;animation:upbreathe 3.4s ease-in-out infinite}@keyframes upbreathe-warm{0%,to{filter:brightness(.82) saturate(.92) drop-shadow(0 1px 1px rgba(0,0,0,.7))}50%{filter:brightness(1.12) saturate(1.06) drop-shadow(0 0 5px rgba(233,224,35,.55))}}@keyframes crest-flare-warm{0%{filter:brightness(.6) saturate(.7)}55%{filter:brightness(1.3) saturate(1.12) drop-shadow(0 0 9px rgba(240,228,90,.7))}to{filter:brightness(.82) saturate(.92) drop-shadow(0 1px 1px rgba(0,0,0,.7))}}.up-crest.diamond{width:26px;height:34px;filter:drop-shadow(0 1px .8px rgba(0,0,0,.9))}.up-crest.diamond img{animation:upbreathe-warm 3.4s ease-in-out infinite}.up-crest.diamond.on img{animation:crest-flare-warm 1.1s ease-out both,upbreathe-warm 3.4s 1.1s ease-in-out infinite}@keyframes crest-flare{0%{filter:brightness(.55) saturate(.65)}55%{filter:brightness(1.28) saturate(1.12) drop-shadow(0 0 8px rgba(148,181,255,.68))}to{filter:brightness(.72) saturate(.78) drop-shadow(0 1px 1px rgba(0,0,0,.7))}}.up-crest.on img{animation:crest-flare 1.1s ease-out both,upbreathe 3.4s 1.1s ease-in-out infinite}@keyframes crest-douse{0%{opacity:1;transform:scale(1);filter:blur(0)}30%{opacity:1}to{opacity:0;transform:scale(.82);filter:blur(1.5px)}}@keyframes crest-lastgasp{0%{opacity:.9}22%{opacity:1}to{opacity:0}}.up-crest.out{transition:none;animation:crest-douse .6s ease-in both}.up-crest.out img{animation:crest-lastgasp .6s ease-in both}@media(prefers-reduced-motion:reduce){.up-crest{transition:none;transform:none}.up-crest.on img{animation:none;filter:brightness(.9) saturate(.9)}.up-crest.out,.up-crest.out img{animation:none;opacity:0}}.connections-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.flux-label{fill:var(--amber-bright);font-size:12px;font-weight:700;font-family:Inter,sans-serif;pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.8);filter:drop-shadow(0 0 2px rgba(251,191,36,.6))}.conde-link{pointer-events:none}.conde-link-base,.conde-link-noise{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.conde-link-base{stroke:#987143;stroke-width:2.1;opacity:.72}.conde-link-noise{stroke:url(#conde-link-brass);stroke-width:2.8;opacity:.9;filter:url(#conde-link-grain)}.mana-display{position:fixed;z-index:5;top:20px;right:300px;background:var(--glass);padding:16px;border-radius:var(--radius-round);border:2px solid var(--accent-mana-ring);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d,0 0 20px var(--accent-mana-glow);width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.mana-circle{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.mana-circle-bg{fill:none;stroke:var(--accent-mana-track);stroke-width:8}.mana-circle-progress{fill:none;stroke:var(--accent-mana);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .3s ease;filter:drop-shadow(0 0 6px rgba(100,200,255,.6))}.mana-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.mana-label{color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.mana-value{color:#64c8fff2;font-size:20px;font-weight:700;text-align:center;text-shadow:0 0 10px var(--accent-mana-ring)}.mana-max{color:var(--text-dim);font-size:10px;font-weight:500}.mana-rates{position:fixed;z-index:5;top:155px;right:300px;background:var(--glass-soft);padding:8px 12px;border-radius:var(--radius-md);border:1px solid rgba(100,200,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000004d;min-width:120px}.mana-rate-label{color:var(--text-faint);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;text-align:center}.mana-rate-values{display:flex;flex-direction:column;gap:2px}.mana-rate-values div{color:var(--text-muted);font-size:11px;font-weight:500}.mana-rate-values span{color:#64c8fff2;font-weight:600}.mana-display>.up-crest{top:8px;right:8px}.mana-display>.up-crest.simple{top:5px;right:5px}.mana-display>.up-crest.diamond{top:2px;right:7px}.marble-display{position:fixed;z-index:5;top:20px;right:436px;background:var(--glass);padding:16px;border-radius:var(--radius-md);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d,0 0 20px var(--accent-marble-glow);width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.marble-square{position:absolute;top:0;left:0;width:100%;height:100%}.marble-rect-bg{fill:none;stroke:var(--accent-marble-track);stroke-width:8}.marble-rect-progress{fill:none;stroke:var(--accent-marble);stroke-width:8;stroke-linecap:square;transition:stroke-dashoffset .3s ease;filter:drop-shadow(0 0 6px rgba(245,158,11,.6))}.marble-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.marble-label{color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.marble-value{color:#f59e0bf2;font-size:20px;font-weight:700;text-align:center;text-shadow:0 0 10px rgba(245,158,11,.4)}.marble-max{color:var(--text-dim);font-size:10px;font-weight:500}.keybind-info{display:none;position:fixed;z-index:5;bottom:76px;right:12px;background:var(--glass);padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d}body.show-keybinds .keybind-info{display:block}.keybind-info h3{color:var(--text);font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;cursor:default}.keybind-list{display:flex;flex-direction:column;gap:4px}.keybind-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.keybind-key{background:var(--card-gradient);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:2px 6px;min-width:20px;text-align:center;font-weight:600;color:var(--text);font-family:var(--font-mono)}.ability-dock{position:fixed;left:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-height:calc(100vh - 40px);-webkit-user-select:none;user-select:none}.ability-dock .unlock-panel{flex:0 0 auto}.ability-dock .ability-tray{display:flex;flex-direction:column;min-height:0;overflow:hidden}.ability-dock .ability-tray .tray-groups{overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.ability-dock .ability-tray .tray-groups::-webkit-scrollbar{width:8px}.ability-dock .ability-tray .tray-groups::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.ability-tray,.unlock-panel{background:none;border:none;box-shadow:none;max-width:320px}.ability-tray{padding:0;width:234px}.unlock-panel{padding:0;box-sizing:border-box;display:flex;flex-direction:column;gap:10px}.ability-tray-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 4px 12px}.ability-tray-title{font-family:IM Fell English SC,Georgia,serif;font-size:15px;letter-spacing:var(--tracking-title, 1px);color:#f0d59a;text-transform:uppercase;margin:0}.ability-tray-hint{font-size:10px;letter-spacing:var(--tracking-label, .5px);text-transform:uppercase;color:var(--text-faint, rgba(255, 255, 255, .6))}.tray-groups{display:flex;flex-direction:column;gap:8px}.tray-stack{position:relative;display:flex;align-items:center;gap:13px;min-height:46px;padding:4px 12px 4px 13px;border-radius:9px;cursor:grab;overflow:visible;background:linear-gradient(180deg,#10141ce6,#080a0ef0);box-shadow:inset 0 2px 5px #0000008c,inset 0 1px #ffffff0d,0 6px 16px #00000080;border:1px solid rgba(255,255,255,.06);border-left:3px solid var(--rail, #8a6733);transition:background .16s ease,box-shadow .16s ease,min-height .25s ease}.tray-stack:active{cursor:grabbing}.tray-stack.core,.tray-stack.depleted{cursor:default}.tray-stack:hover{background:linear-gradient(180deg,#181e28eb,#0c0f14f2);box-shadow:inset 0 2px 5px #00000080,inset 0 1px #ffffff12,0 8px 20px #0000008c,5px 0 16px -6px var(--rail)}.tray-stack-nodes{display:flex;align-items:center;flex:0 0 auto;order:2;margin-right:-14px;position:relative;z-index:2}.tray-stack-body{flex:1 1 auto;min-width:0;text-align:left;order:1}.tray-stack-name{font-family:IM Fell English SC,Georgia,serif;font-size:15px;letter-spacing:.4px;color:var(--text, rgba(255, 255, 255, .9));line-height:1.1}.tray-stack.core .tray-stack-name{color:#f0d59a}.tray-stack-name.locked{color:var(--text-faint);font-style:italic;letter-spacing:1px}.tray-stack.depleted{min-height:34px;padding-top:2px;padding-bottom:2px}.tray-stack.depleted .tray-stack-name{opacity:.42}.tray-stack .tray-node:not(:first-child){margin-left:-44px}.tray-node{position:relative;cursor:grab;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.tray-node .node{position:absolute;left:50%;top:50%;transform-origin:center center;pointer-events:none;filter:none}.tray-node:hover{transform:translateY(-4px);z-index:5}.tray-node:active{cursor:grabbing}.tray-node.lifting{opacity:.32}.tray-node .name,.tray-node .ro-row{display:none}.tray-node .ring,.tray-node .rk-charge,.tray-node .rk-charge-inner,.tray-node .rk-air,.tray-node .rk-air-flash,.tray-node .rk-head{opacity:0}.tray-node.core{cursor:default}.tray-node.core:hover{transform:none}.tray-node.empty{cursor:default}.tray-node.empty:hover{transform:none}.tray-node.empty .node{filter:brightness(.5);opacity:.5}.tray-node.empty .bz-brass{stroke-dasharray:3 4}.tray-node.empty .bz-aura{opacity:0}.tray-node .tray-node-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-56%);font-family:IM Fell English SC,Georgia,serif;font-size:22px;color:var(--text-faint, rgba(255, 255, 255, .6));z-index:6;pointer-events:none}.tray-node.selected .node{filter:drop-shadow(0 0 8px var(--accent-select, #f6ad55))}.tray-node.selected .bz-brass{stroke:var(--accent-select, #f6ad55)}.tray-drag-ghost{position:fixed;z-index:999;pointer-events:none;opacity:.92;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}.slot.tray-drop-target .bz-aura,.slot.tray-drop-target .bz-brass{stroke:var(--accent-drop, rgba(100, 255, 200, .8))}.slot.tray-drop-target{outline:none}.unlock-spotlight{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"badge badge" "node meta";align-items:center;gap:4px 12px;padding:12px 16px 13px;box-sizing:border-box;min-width:210px;background:linear-gradient(180deg,#161b24f2,#0c0f15f5);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 6px 16px #00000080,inset 0 1px #ffffff0d}.unlock-badge{grid-area:badge;font-family:var(--font, "Segoe UI", Tahoma, sans-serif);font-size:9px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-marble, #f59e0b);text-shadow:0 0 8px color-mix(in srgb,var(--accent-marble, #f59e0b) 55%,transparent);margin-bottom:2px}.unlock-spotlight .tray-node{grid-area:node;cursor:grab}.unlock-meta{grid-area:meta;display:flex;flex-direction:column;gap:3px}.unlock-name{font-family:IM Fell English SC,Georgia,serif;font-size:16px;color:#f0d59a;line-height:1}.unlock-hint{font-size:9.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint, rgba(255, 255, 255, .6))}.unlock-spotlight .tray-node.shiny .node{animation:unlock-breathe 1.5s ease-in-out infinite}@keyframes unlock-breathe{0%,to{filter:drop-shadow(0 0 5px var(--el-glow));transform:translate(-50%,-50%) scale(.58)}50%{filter:drop-shadow(0 0 16px var(--el-glow));transform:translate(-50%,-50%) scale(.605)}}.next-unlock{padding:11px 14px 12px;box-sizing:border-box;min-width:210px;background:linear-gradient(180deg,#161b24f2,#0c0f15f5);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 6px 16px #00000080,inset 0 1px #ffffff0d}.next-unlock-head{font-family:var(--font, "Segoe UI", Tahoma, sans-serif);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-marble-solid, #f59e0b);margin-bottom:9px}.next-unlock-bar{height:9px;border-radius:5px;overflow:hidden;background:#00000080;box-shadow:inset 0 1px 2px #0009;border:1px solid rgba(255,255,255,.05)}.next-unlock-fill{height:100%;width:0%;border-radius:5px 3px 3px 5px;background:linear-gradient(90deg,var(--amber-deep, #b45309),var(--amber-bright, #fbbf24));box-shadow:0 0 8px #f59e0b80,inset 0 1px #ffffff59;transition:width .4s ease}.next-unlock-fill.near{animation:unlock-near .7s ease-in-out infinite}@keyframes unlock-near{0%,to{box-shadow:0 0 8px #fbbf24b3}50%{box-shadow:0 0 16px #fbbf24}}.next-unlock-meta{margin-top:8px;font-family:var(--font, "Segoe UI", Tahoma, sans-serif);font-size:11.5px;color:var(--accent-marble-solid, #f59e0b)}.ability-dock.revealing .ability-tray-head{animation:trayHeadIn .5s cubic-bezier(.25,.6,.25,1) both}.ability-dock.revealing .tray-groups,.ability-dock.revealing .unlock-panel{animation:trayCardIn .4s ease both}.ability-dock.revealing .tray-stack{animation:trayStackIgnite .62s cubic-bezier(.22,.7,.28,1) both;animation-delay:calc(.14s + var(--i, 0) * .12s)}.ability-dock.revealing .tray-stack .tray-node:not(.empty) .node{animation:trayNodeFlare .62s cubic-bezier(.22,.7,.28,1) both;animation-delay:calc(.14s + var(--i, 0) * .12s)}.ability-dock.revealing .tray-stack .tray-node .face{animation:trayWake .5s ease both;animation-delay:calc(.34s + var(--i, 0) * .12s)}@keyframes trayHeadIn{0%{opacity:0;transform:translate(-120px)}to{opacity:1;transform:none}}@keyframes trayCardIn{0%{opacity:0}to{opacity:1}}@keyframes trayStackIgnite{0%{opacity:0;transform:translate(-120px)}58%{opacity:1;transform:translate(0)}to{opacity:1;transform:none}}@keyframes trayNodeFlare{0%{filter:none}58%{filter:drop-shadow(0 0 14px var(--el-glow, rgba(255, 224, 158, .6)))}to{filter:none}}@keyframes trayWake{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.ability-dock.revealing .ability-tray-head,.ability-dock.revealing .tray-groups,.ability-dock.revealing .unlock-panel,.ability-dock.revealing .tray-stack{animation:trayFadeIn .15s ease both;animation-delay:0s;transform:none}@keyframes trayFadeIn{0%{opacity:0}to{opacity:1}}}.academy-page{--ac-cream: #e9dcc0;--ac-cream-dim: #b8a986;--ac-disp: "IM Fell English SC", Georgia, serif;--ac-body: "Spectral", Georgia, serif;--ac-amber: #f4cd66;--ac-brass: rgba(120, 90, 50, .3);--ac-good: #9fd8a8;--ac-constraint: #e08a8a;position:fixed;inset:0;z-index:900;overflow-y:auto;background:radial-gradient(120% 100% at 50% 0%,#0a0805db,#0a0805f2),var(--app-bg);padding:26px 30px 60px;box-sizing:border-box;color:var(--ac-cream)}.ac-header{display:flex;align-items:flex-end;justify-content:space-between;max-width:1240px;margin:0 auto 22px;gap:24px;flex-wrap:wrap}.ac-title-block{display:flex;flex-direction:row;align-items:center;gap:14px}.ac-title-text{display:flex;flex-direction:column;gap:2px}.ac-crest{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(244,205,102,.55);box-shadow:0 0 10px #f4cd664d,inset 0 1px 3px #0009;flex:0 0 auto}.ac-title{font-family:var(--ac-disp);font-size:34px;color:var(--ac-cream);text-shadow:0 1px 3px #000,0 0 16px rgba(0,0,0,.6);line-height:1.1}.ac-flavor{font-family:var(--ac-body);font-style:italic;font-size:14px;color:var(--ac-cream-dim)}.ac-clock{display:flex;flex-direction:column;gap:6px;align-items:flex-end;min-width:300px}.ac-clock-row{display:flex;justify-content:space-between;width:100%;font-family:var(--ac-body);font-variant:small-caps;letter-spacing:2px;font-size:13px;color:#d8c9a5}.ac-clock-time{font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:.5px;color:var(--ac-amber)}.ac-clock-bar{width:100%;height:4px;border-radius:2px;background:#f59e0b26;overflow:hidden}.ac-clock-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--amber-deep, #b45309),var(--ac-amber));box-shadow:0 0 8px #f4cd6680;transition:width .3s linear}.ac-overtime-row{display:flex;align-items:center;gap:8px;margin-top:2px}.ac-overtime-btn{padding:4px 12px;border-radius:6px;font-family:var(--ac-body);font-variant:small-caps;letter-spacing:1px;font-size:11.5px;color:var(--ac-cream-dim);background:linear-gradient(145deg,#2d2314,#1a1409);border:1px solid var(--ac-brass);cursor:pointer}.ac-overtime-btn:hover{color:var(--ac-amber);border-color:#f4cd6666}.ac-overtime-note{font-family:var(--ac-body);font-style:italic;font-size:11px;color:var(--ac-cream-dim);opacity:.7}.ac-begin-btn{align-self:flex-end;margin-top:4px;padding:9px 22px;border-radius:8px;font-family:var(--ac-disp);font-size:15px;letter-spacing:1px;cursor:pointer;color:#d8c9a5;background:linear-gradient(145deg,#2d2314,#1a1409);border:1px solid var(--ac-brass)}.ac-begin-btn:hover{color:var(--ac-cream)}.ac-begin-btn.ac-begin-primary{color:#17120b;background:linear-gradient(90deg,var(--amber-deep, #b45309),var(--ac-amber));border-color:#f4cd66b3;box-shadow:0 0 16px #f4cd6666}.ac-begin-btn.ac-begin-primary:hover{box-shadow:0 0 22px #f4cd6699}.ac-report-banner{max-width:1240px;margin:0 auto 18px;padding:12px 18px;border-radius:10px;background:#4ade800f;border:1px solid rgba(159,216,168,.3)}.ac-report-title{font-family:var(--ac-disp);font-size:16px;color:var(--ac-good);margin-bottom:3px}.ac-report-body{font-family:var(--ac-body);font-style:italic;font-size:12.5px;color:var(--ac-cream-dim)}.ac-body{display:flex;gap:24px;align-items:flex-start;max-width:1240px;margin:0 auto;flex-wrap:wrap}.ac-roster{flex:0 0 460px;display:flex;flex-direction:column;gap:14px;min-width:320px}.ac-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px 18px 16px;border-radius:14px;background:linear-gradient(170deg,#1e1610,#110c06 40%,#0d0906);border:1px solid rgba(138,103,51,.45);box-shadow:inset 0 1px #ffebbe14,inset 0 0 0 1px #8a67331f,0 16px 36px #00000073}.ac-card:before{content:"";position:absolute;inset:3px;border-radius:11px;border:1px solid rgba(138,103,51,.18);pointer-events:none}.ac-card:after{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(244,205,102,.3) 30%,rgba(244,205,102,.5) 50%,rgba(244,205,102,.3) 70%,transparent 90%);border-radius:14px 14px 0 0;pointer-events:none}.ac-card.ac-unavailable,.ac-card.ac-inert{opacity:.82}.ac-card[draggable=true]{cursor:grab;transition:box-shadow .15s ease}.ac-card[draggable=true]:hover{box-shadow:inset 0 1px #ffebbe14,inset 0 0 0 1px #8a67331f,0 16px 36px #00000080,0 0 18px #f4cd660f}.ac-card[draggable=true]:active{cursor:grabbing}.ac-card.ac-dragging-source{opacity:.35}.ac-card-head{display:flex;align-items:center;gap:13px}.ac-portrait{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:var(--ac-cream);background:radial-gradient(120% 120% at 50% 24%,#17120b,#0a0705);border:1.5px solid color-mix(in srgb,var(--rail, #8a6733) 60%,transparent);box-shadow:inset 0 2px 5px #000000b3,0 0 12px color-mix(in srgb,var(--rail, #8a6733) 35%,transparent)}.ac-portrait svg{width:26px;height:26px}.ac-portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%}.ac-name-block{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.ac-name{font-family:var(--ac-disp);font-size:21px;color:var(--ac-cream);line-height:1.05}.ac-family-line{font-family:var(--ac-body);font-style:italic;font-size:12.5px;color:var(--ac-cream-dim)}.ac-level-block{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px}.ac-level-badge{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--ac-disp);font-size:15px;color:var(--ac-amber);background:radial-gradient(120% 120% at 50% 24%,#17120b,#0a0705);box-shadow:inset 0 2px 4px #000000b3,inset 0 1px #ffe09e1f}.ac-level-label{font-family:var(--ac-body);font-variant:small-caps;font-size:10px;letter-spacing:1.5px;color:var(--ac-cream-dim)}.ac-exp-row{display:flex;flex-direction:column;gap:5px}.ac-exp-head{display:flex;justify-content:space-between;align-items:baseline}.ac-exp-label{font-family:var(--ac-body);font-variant:small-caps;font-size:11.5px;letter-spacing:2px;color:#d8c9a5}.ac-exp-value{font-family:var(--font);font-variant-numeric:tabular-nums;font-size:11px;color:var(--ac-amber)}.ac-exp-track{height:5px;border-radius:3px;background:#080603cc;border:1px solid var(--ac-brass);overflow:hidden}.ac-exp-fill{height:100%;background:linear-gradient(90deg,var(--amber-deep, #b45309),var(--ac-amber));box-shadow:0 0 6px #f4cd6699}.ac-traits{display:flex;gap:7px;flex-wrap:wrap}.ac-trait{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:8px;background:#080603b3;border:1px solid rgba(120,90,50,.3);font-family:var(--ac-body);font-variant:small-caps;font-size:12px;letter-spacing:.8px;color:var(--ac-constraint);border-color:#e53e3e59}.ac-status{font-family:var(--ac-body);font-style:italic;font-size:12px;color:var(--ac-cream-dim)}.ac-status .ac-status-hi{color:#63b3ed;font-style:normal}.ac-status.ac-status-warn{color:#d8c9a5}.ac-bonuses{display:flex;flex-direction:column;gap:6px;padding:10px 11px;border-radius:9px;background:radial-gradient(130% 130% at 50% 0%,#17120b,#0b0805);box-shadow:inset 0 2px 5px #000000b3}.ac-bonus-line{display:flex;align-items:baseline;gap:8px;font-family:var(--font);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.2px;line-height:1.5;color:#cbc0a4}.ac-bonus-tag{flex:0 0 auto;width:16px;height:16px;border-radius:4px;display:grid;place-items:center;font-family:var(--ac-disp);font-size:11px;color:var(--ac-amber);background:radial-gradient(120% 120% at 50% 24%,#17120b,#0a0705);box-shadow:inset 0 1px 3px #000000b3,inset 0 1px #ffe09e1f}.ac-bonus-num{color:var(--ac-cream)}.ac-bonus-todo{margin-left:auto;font-style:italic;font-size:10px;color:var(--ac-cream-dim);opacity:.7}.ac-cond-dot{flex:0 0 auto;margin-left:auto;width:8px;height:8px;border-radius:50%;box-shadow:inset 0 1px 2px #00000080}.ac-cond-dot.ac-cond-on{background:#4ade80;box-shadow:0 0 6px #4ade80b3}.ac-cond-dot.ac-cond-off{background:#5a5a5a}.ac-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.ac-footer-note{font-family:var(--ac-body);font-style:italic;font-size:12px;color:var(--ac-cream-dim);flex:1 1 auto;min-width:0}.ac-drag-hint{flex:0 0 auto;font-family:var(--ac-body);font-variant:small-caps;letter-spacing:1px;font-size:11px;color:var(--ac-cream-dim);opacity:.65}.ac-recall-zone{padding:0 12px;border-radius:8px;border:1px dashed var(--ac-brass);font-family:var(--ac-body);font-variant:small-caps;letter-spacing:1.5px;font-size:11px;color:var(--ac-cream-dim);text-align:center;opacity:0;max-height:0;overflow:hidden;border-width:0;transition:opacity .2s ease,max-height .2s ease}.academy-page.ac-dragging-assigned .ac-recall-zone{opacity:1;max-height:40px;padding-top:8px;padding-bottom:8px;border-width:1px}.ac-recall-zone.ac-recall-dragover{color:var(--ac-constraint);border-color:#e08a8ab3;background:#e08a8a14}.ac-accommodations{flex:1 1 380px;display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:14px;background:#1a202ccc;border:1px solid var(--line, rgba(255, 255, 255, .1));box-shadow:0 4px 32px #0006;min-width:300px}.ac-accommodations-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px}.ac-accommodations-title{font-family:var(--ac-disp);font-size:19px;color:var(--ac-cream)}.ac-accommodations-sub{font-family:var(--ac-body);font-style:italic;font-size:12px;color:var(--ac-cream-dim)}.ac-minimap{width:100%;height:auto}.ac-minimap .ac-mm-link{stroke:#ffffff24;stroke-width:2}.ac-minimap .ac-mm-node{fill:#0d1117;stroke-width:2}.ac-minimap .ac-mm-label{font-family:var(--font);font-size:11px;fill:#fff9;text-anchor:middle}.ac-minimap .ac-mm-lantern{fill:none;stroke:#f4cd66bf;stroke-width:1.5;stroke-dasharray:5 4;transition:stroke .15s ease,stroke-width .15s ease}.ac-minimap .ac-mm-hit{fill:transparent;pointer-events:all}.academy-page.ac-dragging .ac-mm-slot[data-accommodation="1"] .ac-mm-lantern{animation:acLanternPulse 1.4s ease-in-out infinite}.ac-minimap .ac-mm-slot.ac-mm-dragover .ac-mm-lantern{stroke:var(--ac-good);stroke-width:3;stroke-dasharray:none;animation:none;filter:drop-shadow(0 0 6px rgba(159,216,168,.8))}.ac-minimap .ac-mm-slot.ac-mm-dragover .ac-mm-node{stroke:var(--ac-good)}@keyframes acLanternPulse{0%,to{stroke-opacity:.6}50%{stroke-opacity:1}}.ac-minimap .ac-mm-medallion{fill:#17120b;stroke:var(--ac-amber);stroke-width:1.5}.ac-minimap .ac-mm-medallion-label{font-family:var(--ac-disp);font-size:13px;fill:var(--ac-cream);text-anchor:middle}.ac-minimap .ac-mm-medallion-ring{fill:none;stroke:var(--ac-amber);stroke-width:1.5}.ac-accommodations-foot{display:flex;align-items:center;gap:10px;font-family:var(--ac-body);font-style:italic;font-size:12.5px;color:var(--ac-cream-dim);border-top:1px solid var(--line, rgba(255, 255, 255, .08));padding-top:10px}.ac-accommodations-foot svg{width:15px;height:15px;flex:0 0 auto}.ro.ro-exp{color:var(--ac-amber, #f4cd66);border-color:#f4cd6673}.ro.ro-exp b{color:var(--ac-amber, #f4cd66)}.academy-medallion{position:absolute;z-index:8;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#17120b;border:2px solid var(--ac-mag-color, #f4cd66);box-shadow:0 2px 8px #0009,0 0 10px color-mix(in srgb,var(--ac-mag-color, #f4cd66) 40%,transparent);font-family:IM Fell English SC,Georgia,serif;font-size:15px;color:#e9dcc0;pointer-events:none}.academy-medallion img{width:100%;height:100%;object-fit:cover;border-radius:50%}.node.academy-lodged{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--ac-mag-color, #f4cd66) 50%,transparent))}.academy-board-widget{position:fixed;top:16px;left:16px;z-index:6;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:#0e0b07d1;border:1px solid rgba(244,205,102,.3);box-shadow:0 6px 24px #00000080,inset 0 1px #ffebbe0f;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:160px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s}.academy-board-widget:hover{border-color:#f4cd668c}.abw-timer{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.abw-timer-label{font-family:IM Fell English SC,Georgia,serif;font-size:13px;color:#e9dcc0}.abw-timer-time{font-family:var(--font);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;color:#f4cd66;letter-spacing:.5px}.abw-timer-track{height:3px;border-radius:2px;background:#8a673333;margin-bottom:2px}.abw-timer-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#f4cd66,#e0a030);transition:width .3s linear}.abw-row{display:flex;align-items:center;gap:8px}.abw-empty{font-family:Spectral,Georgia,serif;font-style:italic;font-size:11.5px;color:#b8a986}.abw-portrait{flex:0 0 auto;width:28px;height:28px;border-radius:50%;overflow:hidden;border:1.5px solid rgba(244,205,102,.5);background:#17120b}.abw-portrait img{width:100%;height:100%;object-fit:cover}.abw-initial{width:100%;height:100%;display:grid;place-items:center;font-family:IM Fell English SC,Georgia,serif;font-size:14px}.abw-text{display:flex;align-items:baseline;gap:6px;min-width:0}.abw-name{font-family:IM Fell English SC,Georgia,serif;font-size:12.5px;color:#e9dcc0;line-height:1.15;white-space:nowrap}.abw-exp{font-family:var(--font);font-variant-numeric:tabular-nums;font-size:10.5px;color:#f4cd66}.abw-resting{opacity:.55}.abw-timer-fill.abw-expired{background:linear-gradient(90deg,#c45030,#e06040)}.abw-end-shift{width:100%;margin-top:4px;padding:4px 0;border:1px solid rgba(244,205,102,.4);border-radius:4px;background:#f4cd661f;color:#f4cd66;font-family:IM Fell English SC,Georgia,serif;font-size:12px;cursor:pointer;transition:background .15s}.abw-end-shift:hover{background:#f4cd6640}@keyframes abw-levelup-glow{0%,to{box-shadow:0 2px 12px #f4cd664d}50%{box-shadow:0 2px 24px #f4cd66b3,0 0 40px #f4cd664d}}.abw-level-up{animation:abw-levelup-glow .6s ease-in-out 3}@media(max-width:900px){.ac-body{flex-direction:column}.ac-roster{flex-basis:auto;width:100%}}
