:root{--z-sidebar: 200;--z-overlay: 250;--z-mobile-bar: 300}*{box-sizing:border-box;margin:0;padding:0}.App{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--surface-sidebar-gradient);color:var(--fantasy-text);padding:0;box-shadow:2px 0 5px var(--overlay-dark-30);border-right:1px solid var(--fantasy-border);position:fixed;top:0;left:0;height:100vh;overflow:hidden;z-index:var(--z-sidebar);display:flex;flex-direction:column}.sidebar-mobile-bar,.mobile-overlay{display:none}.sidebar-header{flex:none;padding:var(--space-5) var(--space-5) var(--space-5);border-bottom:1px solid var(--overlay-light-05);margin-bottom:var(--space-5)}.sidebar-header h3{font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);color:var(--fantasy-gold);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.sidebar-crest{display:none;--crest-hue: 0deg;--crest-sat: 1}.sidebar-meta{display:none}[data-theme=golddiggers] .sidebar-crest:not(.sidebar-crest--custom){--crest-hue: 16deg;--crest-sat: .85}[data-theme=immortal-vegans] .sidebar-crest:not(.sidebar-crest--custom){--crest-hue: 80deg;--crest-sat: .8}[data-theme=holier-than-thou] .sidebar-crest:not(.sidebar-crest--custom){--crest-hue: 12deg;--crest-sat: .62}[data-theme=ember-forge] .sidebar-crest:not(.sidebar-crest--custom),[data-theme=golddiggers] .sidebar-crest:not(.sidebar-crest--custom),[data-theme=immortal-vegans] .sidebar-crest:not(.sidebar-crest--custom),[data-theme=holier-than-thou] .sidebar-crest:not(.sidebar-crest--custom){display:block;height:74px;width:auto;margin:0 auto 12px;filter:hue-rotate(var(--crest-hue)) saturate(var(--crest-sat)) drop-shadow(0 0 20px var(--fantasy-gold-60))}[data-theme=ember-forge] .sidebar-header,[data-theme=golddiggers] .sidebar-header,[data-theme=immortal-vegans] .sidebar-header,[data-theme=holier-than-thou] .sidebar-header{text-align:center;padding:20px 20px 16px}[data-theme=ember-forge] .sidebar-header h3{font-size:17px;line-height:1.1;font-weight:700;color:var(--text-title-serif);letter-spacing:-.01em;text-transform:none}[data-theme=ember-forge] .sidebar-meta{display:block;margin-top:6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fantasy-gold)}.sidebar-crest--custom{display:block;height:74px;width:auto;max-width:82%;margin:0 auto 12px;object-fit:contain;border-radius:var(--radius-md, 6px)}.sidebar-crest--editable{cursor:pointer;transition:filter var(--transition-base),transform var(--transition-base)}.sidebar-crest.sidebar-crest--editable:hover,.sidebar-crest.sidebar-crest--editable:focus-visible{filter:hue-rotate(var(--crest-hue)) saturate(var(--crest-sat)) drop-shadow(0 0 22px var(--fantasy-gold-90)) brightness(1.08);transform:scale(1.04);outline:none}.sidebar-tabs{list-style:none;flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:8px}.sidebar-tab{padding:var(--space-3) var(--space-5);cursor:pointer;transition:background-color .3s,color .3s;display:flex;align-items:center;color:var(--fantasy-text);border-left:3px solid transparent}.sidebar-tab:hover{background-color:var(--fantasy-gold-subtle);color:var(--fantasy-gold)}.sidebar-tab.active{background-color:var(--fantasy-gold-subtle);border-left:3px solid var(--fantasy-gold);color:var(--fantasy-gold)}[data-theme=ember-forge] .sidebar-tabs{display:flex;flex-direction:column;gap:3px;padding:12px 10px}[data-theme=ember-forge] .sidebar-tab{border-left:none;border-radius:var(--border-radius-sm);padding:10px 12px;transition:background .2s,color .2s}[data-theme=ember-forge] .sidebar-tab:hover{background-color:var(--overlay-light-05);color:var(--text-secondary)}[data-theme=ember-forge] .sidebar-tab.active{background:var(--surface-control-gradient);border:1px solid var(--border-color-strong);border-top-color:var(--border-color-top-control);color:var(--text-primary);box-shadow:var(--btn-secondary-shadow, none)}.sidebar-tab-icon{margin-right:var(--space-2-5);width:20px;text-align:center}.sidebar-config-btn{width:100%;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-body);padding:10px 16px;cursor:pointer;transition:background .18s,border-color .18s,color .18s;display:flex;align-items:center;justify-content:center;gap:8px;font:400 12.5px/1 var(--font-ui);letter-spacing:.02em;text-transform:none}.sidebar-config-btn:hover:not(:disabled){background:var(--overlay-light-05);border-color:var(--accent);color:var(--accent)}.sidebar-config-btn:disabled{opacity:.5;cursor:not-allowed}.main-content{flex:1;padding:var(--space-5);overflow-y:auto;margin-left:var(--sidebar-width);position:relative}.mgs-ambience{position:fixed;top:0;left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));height:100%;pointer-events:none;z-index:0;display:block}@media(max-width:768px){.mgs-ambience{left:0;width:100%}}.main-content>:not(.mgs-ambience){position:relative;z-index:1}.promo-banner--bleed{margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-top:calc(-1 * var(--space-5));margin-bottom:var(--space-4)}.section-datem{margin-top:6px;font:400 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--card-gap);margin:var(--space-5) 0}@media(min-width:1100px){[data-theme=ember-forge] .resources-grid{grid-template-columns:repeat(5,1fr)}[data-theme=ember-forge] .active-effects-card{grid-column:span 3}[data-theme=ember-forge] .construction-queue-card{grid-column:span 2}}.active-effects-card{display:flex;flex-direction:column}.active-effects-list{max-height:180px;overflow-y:auto;font-size:var(--font-size-sm)}.active-effects-empty{color:var(--text-secondary);font-style:italic;padding:var(--space-2-5) 0}.active-effects-table{width:100%;border-collapse:collapse}.active-effects-table th,.active-effects-table td{text-align:left;padding:var(--space-1) var(--space-px-6);border-bottom:1px solid var(--border-color)}.active-effects-table th{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--text-secondary);font-weight:600;position:sticky;top:0;background-color:var(--surface-secondary)}.active-effects-table .ae-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.active-effects-table .ae-effect{white-space:nowrap;font-weight:600}.active-effects-table .ae-remaining{white-space:nowrap;color:var(--text-secondary);font-size:var(--font-size-xs)}.construction-queue-card{display:flex;flex-direction:column}.construction-queue-list{max-height:180px;overflow-y:auto;font-size:var(--font-size-sm)}.construction-queue-empty{color:var(--text-secondary);font-style:italic;padding:var(--space-2-5) 0}.resource-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-2-5)}.resource-title{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--text-secondary)}.resource-icon{font-size:var(--font-size-2xl)}.resource-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700;margin-bottom:var(--space-1)}.resource-unit{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-secondary)}.resource-change{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:var(--space-2-5) 0;font-weight:700}[data-theme=ember-forge] .resource-title{font-size:10px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}[data-theme=ember-forge] .resource-value{font-size:30px;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.resource-detail-item span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}[data-theme=ember-forge] .resource-unit{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}[data-theme=ember-forge] .resource-change{font-size:12px}.resource-details{margin-top:var(--space-4);font-size:var(--font-size-sm)}.resource-value.is-critical{color:var(--color-critical)}.food-runway{margin-top:10px;font:700 11.5px/1.3 var(--font-fantasy-body, var(--font-ui, sans-serif));color:var(--btn-warning-fg)}.morale-value{margin-top:12px;display:flex;align-items:center;gap:10px}.morale-emoji{font-size:30px;line-height:1}.morale-bars{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.morale-bar-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted)}.morale-bar-row__track{height:4px;border-radius:var(--border-radius-bar);background:var(--surface-tertiary);overflow:hidden}.morale-bar-row__fill{display:block;height:100%}.morale-bar-row__fill.positive{background:var(--color-positive)}.morale-bar-row__fill.negative{background:var(--color-negative)}.morale-bar-row__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.housing-bar-label{margin-top:16px}.housing-bar{margin-top:9px;display:flex;gap:2px;height:10px;border-radius:var(--border-radius-bar);overflow:hidden}.housing-bar__fill{display:block;background:linear-gradient(180deg,var(--fantasy-gold),var(--fantasy-gold-dim))}.housing-bar__free{display:block;background:var(--surface-tertiary)}.housing-bar__labels{margin-top:7px;display:flex;justify-content:space-between;font:400 11.5px/1 var(--font-mono);color:var(--text-muted)}.risk-scale{margin-top:14px;display:flex;gap:4px}.risk-scale__seg{flex:1;height:4px;border-radius:var(--border-radius-bar);background:var(--surface-tertiary)}.risk-scale__seg--0{background:var(--color-positive)}.risk-scale__seg--1{background:#c9c065}.risk-scale__seg--2{background:var(--btn-warning-fg)}.risk-scale__seg--3{background:var(--fantasy-gold)}.risk-scale__seg--4{background:var(--color-critical)}.risk-scale__seg--live{box-shadow:0 0 10px color-mix(in srgb,var(--fantasy-gold) 80%,transparent)}.risk-scale__axis,.risk-scale__ends{margin-top:8px;display:flex;justify-content:space-between;font:700 9.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.risk-pill{margin-top:12px;display:inline-flex;align-items:center;gap:9px;font:700 14px/1 var(--font-ui);padding:7px 12px;border-radius:var(--border-radius-sm);border:1px solid var(--fantasy-gold-28);background:var(--fantasy-gold-12);color:var(--text-primary)}.risk-pill--critical{font:700 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid color-mix(in srgb,var(--color-critical) 55%,transparent);background:color-mix(in srgb,var(--color-critical) 14%,transparent);color:#e8938a}.risk-pill__dot{width:7px;height:7px;border-radius:50%;background:var(--color-critical);box-shadow:0 0 9px var(--color-critical);animation:mgsSoftPulse 2.4s ease-in-out infinite}@keyframes mgsSoftPulse{0%,to{opacity:.5}50%{opacity:1}}.resource-detail-item{display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.events-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.month-name{font-weight:700;margin-bottom:var(--space-1)}.no-data-banner{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--color-alert-danger-bg);border:1px solid var(--color-alert-danger-border);border-radius:var(--border-radius);color:var(--color-alert-danger-text);text-align:center;font-weight:var(--font-weight-bold)}.population-warning-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--fantasy-gold);border-radius:var(--border-radius-md);background:var(--fantasy-gold-12);color:var(--fantasy-text, inherit)}.population-warning-banner__text{flex:1}.population-warning-banner__dismiss{background:none;border:none;font-size:1.4em;line-height:1;cursor:pointer;color:inherit;padding:0 var(--space-2)}.population-warning-banner__dismiss:hover{opacity:.7}.section-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}.dashboard-actions{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.next-cycle-btn{font-family:var(--font-ui);position:relative;overflow:hidden;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);padding:var(--space-3) var(--space-6);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;animation:var(--btn-primary-anim, none)}.next-cycle-btn:after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:translate(-120%) skew(-18deg);animation:var(--btn-primary-sheen-anim, none);pointer-events:none}.next-cycle-btn:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border-hover);transform:translateY(-1px);box-shadow:0 6px 20px var(--shadow-primary-2xl)}.next-cycle-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.next-cycle-btn.is-flashing{animation:cycleBtnFlash .5s ease-out}@keyframes cycleBtnFlash{0%{box-shadow:0 4px 15px var(--shadow-primary-xl)}40%{box-shadow:0 0 24px 4px var(--fantasy-gold-90),0 4px 20px var(--fantasy-gold-60)}to{box-shadow:0 4px 15px var(--shadow-primary-xl)}}.edit-reserves-btn{font-family:var(--font-ui);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border:1px solid var(--btn-secondary-border);border-top-color:var(--border-color-top-control);box-shadow:var(--btn-secondary-shadow, none);padding:var(--space-3) var(--space-6);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:transform .18s,border-color .18s,color .18s}.edit-reserves-btn:hover:not(:disabled){border-color:var(--btn-secondary-border-hover);color:var(--btn-secondary-fg-hover);transform:translateY(-1px)}.edit-reserves-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.tab-content h2{font-size:1.8rem;margin-bottom:var(--space-5);color:var(--text-primary);padding-bottom:var(--space-2-5);font-weight:500}.tab-content{display:none}.tab-content.active{display:block}.section{margin-bottom:var(--space-8)}@media(max-width:768px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:auto;max-height:80vh;padding:0;border-right:none;border-top:1px solid var(--fantasy-border);transform:translateY(100%);transition:transform var(--transition-base);z-index:var(--z-mobile-bar, 300)}.sidebar.is-open{transform:translateY(0)}.sidebar-header{display:none}.main-content{margin-left:0;padding-bottom:52px}.sidebar-mobile-bar{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;height:52px;background:var(--surface-sidebar);border-top:1px solid var(--fantasy-border);padding:0 var(--space-4);z-index:var(--z-mobile-bar, 300);gap:var(--space-3)}.sidebar-mobile-toggle{display:flex;align-items:center;gap:var(--space-2);background:transparent;border:none;color:var(--fantasy-gold);font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);cursor:pointer;padding:0}.sidebar-mobile-menu-btn{display:flex;align-items:center;background:transparent;border:none;color:var(--fantasy-text);cursor:pointer;padding:var(--space-2)}.mobile-overlay{display:block;position:fixed;inset:0;background:var(--overlay-dark-50);z-index:calc(var(--z-mobile-bar, 300) - 1)}}:root,[data-theme=ember-forge]{--color-primary: #c9a84c;--color-primary-hover: #7a5f2a;--color-primary-light: rgba(201, 168, 76, .08);--color-secondary: #6b7280;--color-secondary-hover: #4b5563;--color-success: #059669;--color-success-hover: #047857;--color-success-dark: #218838;--color-warning: #d97706;--color-warning-hover: #b45309;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-info: #0891b2;--color-info-hover: #0e7490;--color-alert-danger-bg: rgba(220, 38, 38, .12);--color-alert-danger-border: rgba(220, 38, 38, .3);--color-alert-danger-text: #f87171;--color-alert-success-bg: rgba(5, 150, 105, .12);--color-alert-success-border: rgba(5, 150, 105, .3);--color-alert-success-text: #34d399;--color-alert-warning-bg: rgba(217, 119, 6, .12);--color-alert-warning-border: rgba(217, 119, 6, .3);--color-alert-warning-text: #fbbf24;--color-alert-info-bg: rgba(8, 145, 178, .12);--color-alert-info-border: rgba(8, 145, 178, .3);--color-alert-info-text: #38bdf8;--color-danger-light: rgba(220, 38, 38, .15);--color-danger-glow: rgba(220, 38, 38, .7);--color-warning-bg: rgba(217, 119, 6, .12);--color-warning-border: rgba(217, 119, 6, .5);--color-warning-text: #ffb74d;--danger-row-bg: rgba(220, 38, 38, .08);--danger-row-bg-hover: rgba(220, 38, 38, .14);--color-success-darker: #065f46;--color-danger-darker: #991b1b;--color-warning-darker: #92400e;--color-info-darker: #155e75;--color-secondary-darker: #334155;--color-disabled-bg: #9e9e9e;--color-disabled-hover: #757575;--color-tier-gold: #ffd700;--color-accent-coral: #ff6b6b;--color-crime-none: #059669;--color-crime-low: #d97706;--color-crime-moderate: #ea580c;--color-crime-high: #dc2626;--color-crime-critical: var(--fantasy-text);--accent-event-crime: #26dea1;--accent-event-moral: #9b59b6;--accent-event-famine: #f39c12;--accent-event-population: #411adf;--accent-event-treasury: #8dcc2e;--accent-event-majority: #be23d0;--accent-event-building: #46d7e1;--accent-event-default: #bdc3c7;--event-color-population: #7c9cbf;--event-color-health: #8fbc8f;--event-color-celebration: #c9a84c;--event-color-conflict: #b05a5a;--event-color-tragedy: #8b6a3e;--event-color-infrastructure: #7a7a9a;--event-color-diplomatic: #5f8fa0;--event-color-spiritual: #9b7db5;--event-color-natural_event: #6b9e6b;--event-color-narrative: #888888;--event-color-migration: #d49464;--font-fantasy-title: "Cormorant Garamond", Georgia, serif;--font-fantasy-body: "Karla", sans-serif;--fantasy-gold: #E0762C;--fantasy-gold-dim: #A84E18;--fantasy-gold-subtle: rgba(224, 118, 44, .08);--fantasy-gold-secondary: #E0C065;--fantasy-border: #23262C;--fantasy-border-focus: #454C57;--fantasy-text: #F6F2E8;--fantasy-text-muted: #8B929C;--text-title-serif: #F0E2C8;--texture-sidebar: url(/apps/fcs/assets/stone-ao-B1DoZ3bt.png);--texture-sidebar-size: 360px;--texture-sidebar-repeat: repeat;--texture-sidebar-blend: overlay;--texture-sidebar-opacity: .12;--texture-card: url(/apps/fcs/assets/stone-rough-CxeLpdtr.png);--texture-card-opacity: .07;--icon-neutral: #8B929C;--icon-accent-active: #E0762C;--page-bg: #0B0C10;--surface-primary: #111318;--surface-secondary: #181B20;--surface-tertiary: #22262C;--surface-sidebar: #0E0F12;--surface-overlay: rgba(0, 0, 0, .7);--surface-card-gradient: linear-gradient(180deg, #171A1F, #111318);--surface-sidebar-gradient: linear-gradient(180deg, #14161A, #0E0F12);--surface-control-gradient: linear-gradient(180deg, #22262C, #181B20);--text-primary: #F6F2E8;--text-secondary: #E3E5EA;--text-muted: #8B929C;--text-inverse: #0C0C0E;--text-inverse-secondary: rgba(246, 242, 232, .75);--color-positive: #6BBD85;--color-negative: #E0736B;--color-critical: #C4382C;--essence-air: #b3e5fc;--essence-air-fg: #000;--essence-astrale: #7c6fff;--essence-astrale-fg: #fff;--essence-eau: #4fc3f7;--essence-eau-fg: #000;--essence-ether: #d1c4e9;--essence-ether-fg: #000;--essence-eternite: #ffd54f;--essence-eternite-fg: #000;--essence-empyreenne: #ffe082;--essence-empyreenne-fg: #000;--essence-feu: #ff7043;--essence-feu-fg: #000;--essence-lumiere: #fff176;--essence-lumiere-fg: #000;--essence-mort: #78909c;--essence-mort-fg: #000;--essence-ombre: #5e548e;--essence-ombre-fg: #fff;--essence-primordiale: #26a69a;--essence-primordiale-fg: #000;--essence-tellurique: #a1887f;--essence-tellurique-fg: #000;--essence-terre: #8d6e63;--essence-terre-fg: #fff;--essence-vie: #66bb6a;--essence-vie-fg: #000;--ambience-kind: embers;--border-color: #23262C;--border-color-strong: #31363F;--border-color-top-card: #343A43;--border-color-top-control: #3F4650;--border-radius-sm: 3px;--border-radius: 4px;--border-radius-md: 6px;--border-radius-lg: .75rem;--radius-md: var(--border-radius-md);--border-radius-bar: 2px;--border-radius-circle: 50%;--border-width: 1px;--sidebar-width: 260px;--space-px-1: 1px;--space-px-2: 2px;--space-px-6: 6px;--space-1: .25rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--card-gap: var(--space-4);--card-padding: var(--space-4);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-mono: "JetBrains Mono", monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--shadow-dark-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-dark-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-dark-lg: 0 4px 16px rgba(0, 0, 0, .5);--shadow-dark-xl: 0 6px 20px rgba(0, 0, 0, .4);--shadow-inset-sm: inset 0 2px 4px rgba(0, 0, 0, .3);--shadow-medium: var(--shadow-dark-md);--z-modal: 1000;--z-modal-nested: 1001;--transition-base: .2s ease;--transition-slow: .3s ease;--modal-header-gradient: var(--surface-tertiary);--gradient-header-end: var(--surface-tertiary);--focus-ring-primary: rgba(224, 118, 44, .25);--shadow-primary-sm: rgba(224, 118, 44, .1);--shadow-primary-md: rgba(224, 118, 44, .2);--shadow-primary-lg: rgba(224, 118, 44, .3);--shadow-primary-xl: rgba(224, 118, 44, .4);--shadow-primary-2xl: rgba(224, 118, 44, .6);--shadow-glow-primary-md: rgba(224, 118, 44, .5);--shadow-glow-primary-lg: rgba(224, 118, 44, .7);--shadow-danger-md: rgba(220, 38, 38, .2);--shadow-danger-lg: rgba(220, 38, 38, .3);--shadow-warning-md: rgba(217, 119, 6, .2);--shadow-warning-lg: rgba(217, 119, 6, .3);--shadow-glow-warning-lg: rgba(217, 119, 6, .8);--shadow-success-md: rgba(5, 150, 105, .2);--shadow-success-lg: rgba(5, 150, 105, .3);--shadow-info-md: rgba(8, 145, 178, .2);--shadow-info-lg: rgba(8, 145, 178, .3);--shadow-secondary-md: rgba(100, 116, 139, .2);--shadow-secondary-lg: rgba(100, 116, 139, .3);--btn-primary-bg: linear-gradient(180deg, #E0762C, #A84E18);--btn-primary-fg: #FFF6EC;--btn-primary-border: #E0762C;--btn-primary-bg-hover: linear-gradient(180deg, #E0762C, #A84E18);--btn-primary-border-hover: #E0762C;--btn-secondary-bg: linear-gradient(180deg, #22262C, #181B20);--btn-secondary-fg: #C8CDD6;--btn-secondary-border: #31363F;--btn-secondary-bg-hover: linear-gradient(180deg, #22262C, #181B20);--btn-secondary-border-hover: #6BA86F;--btn-secondary-fg-hover: #C8CDD6;--btn-edit-bg: rgba(224, 160, 74, .2);--btn-edit-fg: #E0A04A;--btn-edit-border: rgba(224, 160, 74, .4);--btn-edit-bg-hover: rgba(224, 160, 74, .35);--btn-success-bg: rgba(107, 189, 133, .2);--btn-success-fg: #6BBD85;--btn-success-border: rgba(107, 189, 133, .4);--btn-success-bg-hover: rgba(107, 189, 133, .35);--btn-danger-bg: linear-gradient(180deg, #331916, #20100E);--btn-danger-fg: #E8A49C;--btn-danger-border: #7A3A34;--btn-danger-bg-hover: linear-gradient(180deg, #331916, #20100E);--btn-danger-border-hover: #E0736B;--btn-info-bg: rgba(90, 130, 200, .18);--btn-info-fg: #8FB3E8;--btn-info-border: rgba(90, 130, 200, .4);--btn-info-bg-hover: rgba(90, 130, 200, .3);--btn-warning-bg: rgba(224, 160, 74, .2);--btn-warning-fg: #E0A04A;--btn-warning-border: rgba(224, 160, 74, .4);--btn-warning-bg-hover: rgba(224, 160, 74, .35);--btn-ghost-fg: var(--fantasy-text-muted);--btn-ghost-border: transparent;--btn-ghost-bg-hover: var(--overlay-light-08);--btn-ghost-border-hover: transparent;--btn-ghost-fg-hover: var(--text-secondary);--btn-primary-anim: emberFlicker 3.6s ease-in-out infinite;--btn-primary-sheen-anim: sheen 5s ease-in-out infinite;--btn-secondary-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);--stat-card-entrance-anim: inkRise .45s ease-out both;--overlay-dark-05: rgba(0, 0, 0, .05);--overlay-dark-10: rgba(0, 0, 0, .1);--overlay-dark-25: rgba(0, 0, 0, .25);--overlay-dark-30: rgba(0, 0, 0, .3);--overlay-dark-35: rgba(0, 0, 0, .35);--overlay-dark-40: rgba(0, 0, 0, .4);--overlay-dark-45: rgba(0, 0, 0, .45);--overlay-dark-50: rgba(0, 0, 0, .5);--overlay-dark-60: rgba(0, 0, 0, .6);--overlay-dark-65: rgba(0, 0, 0, .65);--overlay-dark-70: rgba(0, 0, 0, .7);--overlay-dark-80: rgba(0, 0, 0, .8);--overlay-dark-95: rgba(0, 0, 0, .95);--overlay-light-03: rgba(255, 255, 255, .03);--overlay-light-05: rgba(255, 255, 255, .05);--overlay-light-08: rgba(255, 255, 255, .08);--overlay-light-10: rgba(255, 255, 255, .1);--overlay-light-15: rgba(255, 255, 255, .15);--overlay-light-20: rgba(255, 255, 255, .2);--overlay-light-30: rgba(255, 255, 255, .3);--overlay-light-45: rgba(255, 255, 255, .45);--overlay-light-80: rgba(255, 255, 255, .8);--page-bg-ambient: radial-gradient(ellipse 90% 60% at 50% 0%, rgba(126, 134, 148, .07) 0%, transparent 55%), radial-gradient(ellipse 70% 50% at 15% 85%, rgba(104, 112, 128, .05) 0%, transparent 55%), radial-gradient(ellipse 80% 40% at 70% 100%, rgba(170, 96, 44, .035) 0%, transparent 60%);--fantasy-gold-05: rgba(224, 118, 44, .05);--fantasy-gold-12: rgba(224, 118, 44, .12);--fantasy-gold-15: rgba(224, 118, 44, .15);--fantasy-gold-28: rgba(224, 118, 44, .28);--fantasy-gold-60: rgba(224, 118, 44, .6);--fantasy-gold-90: rgba(224, 118, 44, .9);--rarity-common: #aaaaaa;--rarity-uncommon: #6acd6a;--rarity-rare: #5aa6ff;--rarity-very-rare: #c87bff;--rarity-mythic: #ff9b6b;--rarity-legendary: #c9a84c;--stat-magic: #c084fc;--stat-magic-bg: rgba(147, 51, 234, .15);--stat-magic-bg-strong: rgba(147, 51, 234, .12);--stat-magic-border: rgba(147, 51, 234, .35);--stat-magic-border-strong: rgba(147, 51, 234, .45);--stat-physical: #7ad0ff;--stat-physical-bg: rgba(120, 200, 255, .1);--stat-physical-border: rgba(120, 200, 255, .35);--stat-danger: #ff7a7a;--stat-danger-bg: rgba(220, 50, 50, .12);--stat-danger-border: rgba(220, 50, 50, .45);--surface-card: var(--surface-card-gradient);--surface-raised: var(--surface-sidebar-gradient);--surface-control: var(--surface-control-gradient);--shadow-modal: 0 40px 80px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .4);--surface-flat: #171A1F;--surface-inset: #23262C;--border: var(--border-color);--border-bevel: var(--border-color-top-card);--border-bevel-ctrl: var(--border-color-top-control);--border-strong: var(--border-color-strong);--text-display: var(--text-title-serif);--text-body: var(--text-secondary);--text-faint: #6D7480;--accent: var(--fantasy-gold);--accent-deep: var(--fantasy-gold-dim);--accent-soft: var(--fantasy-gold-12);--accent-line: rgba(224, 118, 44, .5);--accent-gold: var(--fantasy-gold-secondary);--positive: var(--color-positive);--negative: var(--color-negative);--warning: #E0A04A;--critical: var(--color-critical);--font-display: var(--font-fantasy-title);--font-ui: var(--font-fantasy-body);--radius-control: var(--border-radius-sm);--radius-card: var(--border-radius);--radius-bar: var(--border-radius-bar);--texture-card-size: 320px;--texture-card-alpha: var(--texture-card-opacity);--texture-rail: var(--texture-sidebar);--texture-rail-size: var(--texture-sidebar-size);--texture-rail-alpha: var(--texture-sidebar-opacity);--btn-primary-bd: var(--btn-primary-border);--btn-secondary-bd: var(--btn-secondary-border);--btn-danger-bd: var(--btn-danger-border)}[data-theme=golddiggers]{--font-fantasy-title: "Marcellus", Georgia, serif;--font-fantasy-body: "Spectral", Georgia, serif;--fantasy-gold: #D8B45C;--fantasy-gold-dim: #B8913F;--fantasy-gold-subtle: rgba(216, 180, 92, .1);--fantasy-gold-secondary: var(--fantasy-gold);--fantasy-border: #2B241A;--fantasy-border-focus: #4A3E2C;--fantasy-text: #F2E8D2;--fantasy-text-muted: #A2947A;--text-title-serif: #E7D9B4;--texture-sidebar: url(/apps/fcs/assets/paper-Cda4EJS-.png);--texture-sidebar-size: 300px;--texture-sidebar-opacity: .07;--texture-card: url(/apps/fcs/assets/paper-Cda4EJS-.png);--texture-card-opacity: .06;--ambience-kind: none;--icon-neutral: #A2947A;--icon-accent-active: var(--fantasy-gold);--page-bg: #12100C;--page-bg-ambient: radial-gradient(ellipse 90% 65% at 50% 0%, rgba(120, 96, 48, .1) 0%, transparent 58%), radial-gradient(ellipse 70% 50% at 80% 100%, rgba(80, 62, 30, .08) 0%, transparent 55%);--surface-primary: #1A1611;--surface-secondary: #191510;--surface-tertiary: #1D1913;--surface-sidebar: #191510;--surface-card-gradient: linear-gradient(180deg, #1A1611, #151209);--surface-sidebar-gradient: linear-gradient(180deg, #191510, #141109);--surface-control-gradient: linear-gradient(180deg, #1D1913, #16130E);--text-primary: #F2E8D2;--text-secondary: #ECE3D0;--text-muted: #A2947A;--text-inverse: #12100C;--text-inverse-secondary: rgba(242, 232, 210, .75);--color-positive: #7FAE7A;--color-negative: #C26C62;--color-critical: #C4382C;--border-color: #2B241A;--border-color-strong: #3A3124;--border-color-top-card: #4A3E2C;--border-color-top-control: #4A3E2C;--border-radius-sm: 2px;--border-radius: 2px;--border-radius-md: 2px;--border-radius-bar: 0px;--sidebar-width: 260px;--card-gap: var(--space-5);--card-padding: var(--space-5);--focus-ring-primary: rgba(216, 180, 92, .25);--shadow-primary-sm: rgba(216, 180, 92, .1);--shadow-primary-md: rgba(216, 180, 92, .2);--shadow-primary-lg: rgba(216, 180, 92, .3);--shadow-primary-xl: rgba(216, 180, 92, .4);--shadow-primary-2xl: rgba(216, 180, 92, .6);--shadow-glow-primary-md: rgba(216, 180, 92, .5);--shadow-glow-primary-lg: rgba(216, 180, 92, .7);--btn-primary-bg: linear-gradient(180deg, #D8B45C, #B8913F);--btn-primary-fg: #1A150C;--btn-primary-border: #D8B45C;--btn-primary-bg-hover: linear-gradient(180deg, #D8B45C, #B8913F);--btn-primary-border-hover: #D8B45C;--btn-secondary-bg: linear-gradient(180deg, #1D1913, #16130E);--btn-secondary-fg: #D6C9AB;--btn-secondary-border: #3A3124;--btn-secondary-bg-hover: linear-gradient(180deg, #1D1913, #16130E);--btn-secondary-border-hover: var(--fantasy-gold);--btn-secondary-fg-hover: var(--fantasy-gold);--btn-secondary-shadow: none;--btn-edit-bg: rgba(216, 180, 92, .2);--btn-edit-fg: #E0954A;--btn-edit-border: rgba(216, 180, 92, .4);--btn-edit-bg-hover: rgba(216, 180, 92, .35);--btn-success-bg: rgba(127, 174, 122, .2);--btn-success-fg: #7FAE7A;--btn-success-border: rgba(127, 174, 122, .4);--btn-success-bg-hover: rgba(127, 174, 122, .35);--btn-danger-bg: linear-gradient(180deg, #2A1614, #1D1010);--btn-danger-fg: #E09A92;--btn-danger-border: #6B3B36;--btn-danger-bg-hover: linear-gradient(180deg, #2A1614, #1D1010);--btn-danger-border-hover: #C26C62;--btn-info-bg: rgba(90, 130, 200, .18);--btn-info-fg: #8FB3E8;--btn-info-border: rgba(90, 130, 200, .4);--btn-info-bg-hover: rgba(90, 130, 200, .3);--btn-warning-bg: rgba(216, 180, 92, .2);--btn-warning-fg: #E0954A;--btn-warning-border: rgba(216, 180, 92, .4);--btn-warning-bg-hover: rgba(216, 180, 92, .35);--btn-ghost-fg: var(--text-muted);--btn-ghost-border: var(--border-color);--btn-ghost-bg-hover: var(--surface-secondary);--btn-ghost-border-hover: var(--fantasy-gold);--btn-ghost-fg-hover: var(--fantasy-gold);--btn-primary-anim: none;--btn-primary-sheen-anim: none;--stat-card-entrance-anim: none;--fantasy-gold-05: rgba(216, 180, 92, .05);--fantasy-gold-12: rgba(216, 180, 92, .12);--fantasy-gold-15: rgba(216, 180, 92, .15);--fantasy-gold-28: rgba(216, 180, 92, .28);--fantasy-gold-60: rgba(216, 180, 92, .6);--fantasy-gold-90: rgba(216, 180, 92, .9);--surface-card: var(--surface-card-gradient);--surface-raised: var(--surface-sidebar-gradient);--surface-control: var(--surface-control-gradient);--shadow-modal: 0 40px 80px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .4);--surface-flat: #1A1611;--surface-inset: #241E15;--border: var(--border-color);--border-bevel: var(--border-color-top-card);--border-bevel-ctrl: var(--border-color-top-control);--border-strong: var(--border-color-strong);--ornament-rule: #6D5C3A;--text-display: var(--text-title-serif);--text-body: var(--text-secondary);--text-faint: #7A7060;--accent: var(--fantasy-gold);--accent-deep: var(--fantasy-gold-dim);--accent-soft: var(--fantasy-gold-subtle);--accent-line: rgba(216, 180, 92, .4);--accent-gold: var(--fantasy-gold-secondary);--positive: var(--color-positive);--negative: var(--color-negative);--warning: #E0954A;--critical: var(--color-critical);--font-display: var(--font-fantasy-title);--font-ui: var(--font-fantasy-body);--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius-control: var(--border-radius-sm);--radius-card: var(--border-radius);--radius-bar: var(--border-radius-bar);--texture-card-size: 290px;--texture-card-alpha: var(--texture-card-opacity);--texture-rail: var(--texture-sidebar);--texture-rail-size: var(--texture-sidebar-size);--texture-rail-alpha: var(--texture-sidebar-opacity);--btn-primary-bd: var(--btn-primary-border);--btn-secondary-bd: var(--btn-secondary-border);--btn-danger-bd: var(--btn-danger-border)}[data-theme=immortal-vegans]{--color-primary: #79B56A;--color-primary-hover: #43703C;--color-primary-light: rgba(121, 181, 106, .08);--font-fantasy-title: "Cormorant Garamond", Georgia, serif;--font-fantasy-body: "Karla", system-ui, sans-serif;--border-radius-sm: 3px;--border-radius: 4px;--border-radius-md: 6px;--border-radius-bar: 2px;--sidebar-width: 260px;--card-gap: var(--space-5);--card-padding: var(--space-5);--fantasy-gold: #79B56A;--fantasy-gold-dim: #43703C;--fantasy-gold-subtle: rgba(121, 181, 106, .08);--fantasy-border: #202620;--fantasy-border-focus: #3A453B;--fantasy-text: #F2F6EE;--fantasy-text-muted: #78876F;--page-bg: #0B0D0B;--surface-primary: #141A15;--surface-secondary: #131508;--surface-tertiary: #222B22;--surface-sidebar: #141A15;--text-primary: #F2F6EE;--text-secondary: #DDE6DC;--text-muted: #78876F;--text-inverse: #0B0D0B;--text-inverse-secondary: rgba(242, 246, 238, .75);--border-color: #202620;--border-color-strong: #2B342C;--border-color-top-card: #2F382F;--border-color-top-control: #3A453B;--surface-card-gradient: linear-gradient(180deg, #141A15, #0F130F);--surface-sidebar-gradient: linear-gradient(180deg, #141A15, #0D100D);--surface-control-gradient: linear-gradient(180deg, #222B22, #19201A);--fantasy-gold-secondary: #D8C98A;--texture-sidebar: url(/apps/fcs/assets/stone-ao-B1DoZ3bt.png);--texture-sidebar-size: 360px;--texture-sidebar-opacity: .1;--texture-card: url(/apps/fcs/assets/stone-rough-CxeLpdtr.png);--texture-card-opacity: .06;--ambience-kind: leaves;--icon-neutral: #78876F;--icon-accent-active: var(--fantasy-gold);--btn-primary-bg: linear-gradient(180deg, #79B56A, #43703C);--btn-primary-fg: #0B120A;--btn-primary-border: #79B56A;--btn-primary-bg-hover: linear-gradient(180deg, #79B56A, #43703C);--btn-primary-border-hover: #79B56A;--btn-secondary-bg: linear-gradient(180deg, #222B22, #19201A);--btn-secondary-fg: #C3D2BE;--btn-secondary-border: #2B342C;--btn-secondary-bg-hover: linear-gradient(180deg, #222B22, #19201A);--btn-secondary-border-hover: var(--fantasy-gold);--btn-secondary-fg-hover: var(--fantasy-gold);--btn-danger-bg: linear-gradient(180deg, #2A1614, #1D1010);--btn-danger-fg: #E09A92;--btn-danger-border: #6B3B36;--btn-danger-bg-hover: linear-gradient(180deg, #2A1614, #1D1010);--btn-danger-border-hover: var(--color-danger-hover);--btn-edit-bg: rgba(201, 192, 101, .2);--btn-edit-fg: #C9C065;--btn-edit-border: rgba(201, 192, 101, .4);--btn-edit-bg-hover: rgba(201, 192, 101, .35);--btn-warning-bg: rgba(201, 192, 101, .2);--btn-warning-fg: #C9C065;--btn-warning-border: rgba(201, 192, 101, .4);--btn-warning-bg-hover: rgba(201, 192, 101, .35);--btn-success-bg: rgba(143, 209, 138, .2);--btn-success-fg: #8FD18A;--btn-success-border: rgba(143, 209, 138, .4);--btn-success-bg-hover: rgba(143, 209, 138, .35);--btn-ghost-fg: var(--text-muted);--btn-ghost-border: transparent;--btn-ghost-bg-hover: var(--overlay-light-08);--btn-ghost-border-hover: transparent;--btn-ghost-fg-hover: var(--text-secondary);--btn-primary-anim: none;--btn-primary-sheen-anim: none;--btn-secondary-shadow: none;--stat-card-entrance-anim: none;--color-positive: #8FD18A;--color-negative: #D98D85;--color-critical: #C4382C;--focus-ring-primary: rgba(121, 181, 106, .25);--shadow-primary-sm: rgba(121, 181, 106, .1);--shadow-primary-md: rgba(121, 181, 106, .2);--shadow-primary-lg: rgba(121, 181, 106, .3);--shadow-primary-xl: rgba(121, 181, 106, .4);--shadow-primary-2xl: rgba(121, 181, 106, .6);--shadow-glow-primary-md: rgba(121, 181, 106, .5);--shadow-glow-primary-lg: rgba(121, 181, 106, .7);--fantasy-gold-05: rgba(121, 181, 106, .05);--fantasy-gold-12: rgba(121, 181, 106, .12);--fantasy-gold-15: rgba(121, 181, 106, .15);--fantasy-gold-28: rgba(121, 181, 106, .28);--fantasy-gold-60: rgba(121, 181, 106, .6);--fantasy-gold-90: rgba(121, 181, 106, .9);--surface-card: var(--surface-card-gradient);--surface-raised: var(--surface-sidebar-gradient);--surface-control: var(--surface-control-gradient);--shadow-modal: 0 40px 80px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .4);--surface-flat: #141A15;--surface-inset: #202620;--border: var(--border-color);--border-bevel: var(--border-color-top-card);--border-bevel-ctrl: var(--border-color-top-control);--border-strong: var(--border-color-strong);--text-display: #E7F0DD;--text-body: var(--text-secondary);--text-faint: #6A7663;--accent: var(--fantasy-gold);--accent-deep: var(--fantasy-gold-dim);--accent-soft: rgba(121, 181, 106, .12);--accent-line: rgba(121, 181, 106, .45);--accent-gold: var(--fantasy-gold-secondary);--positive: var(--color-positive);--negative: var(--color-negative);--warning: #C9C065;--critical: var(--color-critical);--font-display: var(--font-fantasy-title);--font-ui: var(--font-fantasy-body);--radius-control: var(--border-radius-sm);--radius-card: var(--border-radius);--radius-bar: var(--border-radius-bar);--texture-card-size: 320px;--texture-card-alpha: var(--texture-card-opacity);--texture-rail: var(--texture-sidebar);--texture-rail-size: var(--texture-sidebar-size);--texture-rail-alpha: var(--texture-sidebar-opacity);--btn-primary-bd: var(--btn-primary-border);--btn-secondary-bd: var(--btn-secondary-border);--btn-danger-bd: var(--btn-danger-border);--page-bg-ambient: radial-gradient(ellipse 90% 70% at 50% 0%, rgba(40, 70, 25, .18) 0%, transparent 60%), radial-gradient(ellipse 70% 60% at 85% 100%, rgba(25, 50, 15, .12) 0%, transparent 55%)}[data-theme=holier-than-thou]{--color-primary: #8A6A22;--color-primary-hover: #6B5116;--color-primary-light: rgba(138, 106, 34, .08);--font-fantasy-title: "Cormorant Garamond", Georgia, serif;--font-fantasy-body: "Spectral", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fantasy-gold: #8A6A22;--fantasy-gold-dim: #6B5116;--fantasy-gold-subtle: rgba(138, 106, 34, .09);--fantasy-gold-secondary: #7A5F1E;--fantasy-border: #DCD5C4;--fantasy-border-focus: #B79E62;--fantasy-text: #23201A;--fantasy-text-muted: #6E6656;--text-title-serif: #4A3B18;--state-lapis: #1F3F7A;--state-lapis-soft: rgba(31, 63, 122, .1);--page-bg: #F4F1EA;--surface-primary: #FBFAF6;--surface-secondary: #F2EFE7;--surface-tertiary: #E9E4D8;--surface-sidebar: #EFEBE1;--surface-overlay: rgba(28, 24, 16, .42);--surface-card-gradient: linear-gradient(180deg, #FFFEFB, #F6F3EC);--surface-sidebar-gradient: linear-gradient(180deg, #F3EFE5, #E9E4D8);--surface-control-gradient: linear-gradient(180deg, #FBF9F3, #F0ECE2);--surface-flat: #FBFAF6;--surface-inset: #E7E2D6;--surface-card: var(--surface-card-gradient);--surface-raised: var(--surface-sidebar-gradient);--surface-control: var(--surface-control-gradient);--shadow-modal: 0 40px 80px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .4);--text-primary: #23201A;--text-secondary: #3A342A;--text-muted: #6E6656;--text-faint: #8C8474;--text-inverse: #FBFAF6;--text-inverse-secondary: rgba(251, 250, 246, .78);--text-display: var(--text-title-serif);--text-body: var(--text-secondary);--border-color: #DCD5C4;--border-color-strong: #C6BCA5;--border-color-top-card: #FFFFFF;--border-color-top-control: #FFFFFF;--border: var(--border-color);--border-bevel: var(--border-color-top-card);--border-bevel-ctrl: var(--border-color-top-control);--border-strong: var(--border-color-strong);--ornament-rule: #C9A227;--border-radius-sm: 2px;--border-radius: 2px;--border-radius-md: 3px;--border-radius-bar: 0px;--radius-control: var(--border-radius-sm);--radius-card: var(--border-radius);--radius-bar: var(--border-radius-bar);--sidebar-width: 260px;--divine-column-width: 26px;--card-gap: var(--space-5);--card-padding: var(--space-5);--accent: var(--fantasy-gold);--accent-deep: var(--fantasy-gold-dim);--accent-soft: rgba(138, 106, 34, .1);--accent-line: rgba(201, 162, 39, .55);--accent-gold: var(--fantasy-gold-secondary);--font-display: var(--font-fantasy-title);--font-ui: var(--font-fantasy-body);--color-positive: #2E7D4F;--color-negative: #A33A31;--color-critical: #8C1F17;--positive: var(--color-positive);--negative: var(--color-negative);--warning: #9A6B12;--critical: var(--color-critical);--color-success: #2E7D4F;--color-success-hover: #24633E;--color-success-dark: #1C4E31;--color-success-darker: #143A24;--color-warning: #9A6B12;--color-warning-hover: #7C550E;--color-warning-darker: #5E400A;--color-danger: #A33A31;--color-danger-hover: #862F27;--color-danger-darker: #6A251F;--color-info: #1F3F7A;--color-info-hover: #183262;--color-info-darker: #12244A;--color-secondary: #6E6656;--color-secondary-hover: #57503F;--color-secondary-darker: #423C2E;--color-disabled-bg: #C6BCA5;--color-disabled-hover: #B0A68E;--color-warning-bg: rgba(154, 107, 18, .1);--color-warning-border: rgba(154, 107, 18, .42);--color-warning-text: #7C550E;--color-danger-light: rgba(163, 58, 49, .12);--color-danger-glow: rgba(163, 58, 49, .5);--danger-row-bg: rgba(163, 58, 49, .07);--danger-row-bg-hover: rgba(163, 58, 49, .12);--color-alert-danger-bg: rgba(163, 58, 49, .1);--color-alert-danger-border: rgba(163, 58, 49, .34);--color-alert-danger-text: #862F27;--color-alert-success-bg: rgba(46, 125, 79, .1);--color-alert-success-border: rgba(46, 125, 79, .34);--color-alert-success-text: #24633E;--color-alert-warning-bg: rgba(154, 107, 18, .1);--color-alert-warning-border: rgba(154, 107, 18, .34);--color-alert-warning-text: #7C550E;--color-alert-info-bg: rgba(31, 63, 122, .1);--color-alert-info-border: rgba(31, 63, 122, .34);--color-alert-info-text: #183262;--icon-neutral: #6E6656;--icon-accent-active: var(--fantasy-gold);--texture-sidebar: url(/apps/fcs/assets/marble-gold-CFK0dL-l.png);--texture-sidebar-size: 620px;--texture-sidebar-repeat: repeat;--texture-sidebar-blend: multiply;--texture-sidebar-opacity: .16;--texture-card: url(/apps/fcs/assets/marble-gold-CFK0dL-l.png);--texture-card-blend: multiply;--texture-card-opacity: .14;--texture-card-size: 420px;--texture-card-alpha: var(--texture-card-opacity);--texture-rail: var(--texture-sidebar);--texture-rail-size: var(--texture-sidebar-size);--texture-rail-alpha: var(--texture-sidebar-opacity);--essence-lumiere: #B8960A;--essence-lumiere-fg: #fff;--essence-eternite: #B08300;--essence-eternite-fg: #fff;--essence-empyreenne: #A8823B;--essence-empyreenne-fg: #fff;--essence-air: #4A90B8;--essence-air-fg: #fff;--essence-eau: #1E88B5;--essence-eau-fg: #fff;--essence-ether: #8A7BAF;--essence-ether-fg: #fff;--ambience-kind: motes;--overlay-light-03: rgba(28, 24, 16, .03);--overlay-light-05: rgba(28, 24, 16, .05);--overlay-light-08: rgba(28, 24, 16, .07);--overlay-light-10: rgba(28, 24, 16, .09);--overlay-light-15: rgba(28, 24, 16, .13);--overlay-light-20: rgba(28, 24, 16, .17);--overlay-light-30: rgba(28, 24, 16, .26);--overlay-light-45: rgba(28, 24, 16, .4);--overlay-light-80: rgba(28, 24, 16, .72);--overlay-dark-05: rgba(255, 255, 255, .3);--overlay-dark-10: rgba(255, 255, 255, .45);--overlay-dark-25: rgba(28, 24, 16, .06);--overlay-dark-30: rgba(28, 24, 16, .08);--overlay-dark-35: rgba(28, 24, 16, .1);--overlay-dark-40: rgba(28, 24, 16, .12);--overlay-dark-45: rgba(28, 24, 16, .14);--overlay-dark-50: rgba(28, 24, 16, .16);--overlay-dark-60: rgba(28, 24, 16, .2);--overlay-dark-65: rgba(28, 24, 16, .24);--overlay-dark-70: rgba(28, 24, 16, .3);--overlay-dark-80: rgba(28, 24, 16, .4);--overlay-dark-95: rgba(28, 24, 16, .6);--shadow-sm: 0 1px 2px rgba(74, 61, 34, .06);--shadow: 0 1px 3px rgba(74, 61, 34, .08);--shadow-md: 0 4px 10px -2px rgba(74, 61, 34, .1);--shadow-xl: 0 20px 34px -12px rgba(74, 61, 34, .16);--shadow-dark-sm: 0 1px 2px rgba(74, 61, 34, .1);--shadow-dark-md: 0 2px 8px rgba(74, 61, 34, .12);--shadow-dark-lg: 0 6px 20px rgba(74, 61, 34, .14);--shadow-dark-xl: 0 10px 28px rgba(74, 61, 34, .16);--shadow-inset-sm: inset 0 1px 3px rgba(74, 61, 34, .14);--shadow-medium: var(--shadow-dark-md);--focus-ring-primary: rgba(31, 63, 122, .22);--shadow-primary-sm: rgba(201, 162, 39, .12);--shadow-primary-md: rgba(201, 162, 39, .2);--shadow-primary-lg: rgba(201, 162, 39, .3);--shadow-primary-xl: rgba(201, 162, 39, .4);--shadow-primary-2xl: rgba(201, 162, 39, .55);--shadow-glow-primary-md: rgba(201, 162, 39, .45);--shadow-glow-primary-lg: rgba(201, 162, 39, .6);--shadow-danger-md: rgba(163, 58, 49, .18);--shadow-danger-lg: rgba(163, 58, 49, .26);--shadow-warning-md: rgba(154, 107, 18, .18);--shadow-warning-lg: rgba(154, 107, 18, .26);--shadow-glow-warning-lg: rgba(154, 107, 18, .5);--shadow-success-md: rgba(46, 125, 79, .18);--shadow-success-lg: rgba(46, 125, 79, .26);--shadow-info-md: rgba(31, 63, 122, .18);--shadow-info-lg: rgba(31, 63, 122, .26);--shadow-secondary-md: rgba(110, 102, 86, .18);--shadow-secondary-lg: rgba(110, 102, 86, .26);--btn-primary-bg: linear-gradient(180deg, #E3C463, #B08D2E);--btn-primary-fg: #2A2008;--btn-primary-border: #A9832A;--btn-primary-bg-hover: linear-gradient(180deg, #EACE72, #B8942F);--btn-primary-border-hover: #8A6A22;--btn-primary-bd: var(--btn-primary-border);--btn-secondary-bg: linear-gradient(180deg, #FDFCF8, #F0ECE2);--btn-secondary-fg: #3A342A;--btn-secondary-border: #C6BCA5;--btn-secondary-bg-hover: linear-gradient(180deg, #FFFFFF, #F4F0E6);--btn-secondary-border-hover: var(--state-lapis);--btn-secondary-fg-hover: var(--state-lapis);--btn-secondary-bd: var(--btn-secondary-border);--btn-secondary-shadow: inset 0 1px 0 #FFFFFF;--btn-edit-bg: rgba(154, 107, 18, .12);--btn-edit-fg: #7C550E;--btn-edit-border: rgba(154, 107, 18, .4);--btn-edit-bg-hover: rgba(154, 107, 18, .2);--btn-success-bg: rgba(46, 125, 79, .12);--btn-success-fg: #24633E;--btn-success-border: rgba(46, 125, 79, .4);--btn-success-bg-hover: rgba(46, 125, 79, .2);--btn-danger-bg: rgba(163, 58, 49, .1);--btn-danger-fg: #862F27;--btn-danger-border: rgba(163, 58, 49, .42);--btn-danger-bg-hover: rgba(163, 58, 49, .18);--btn-danger-border-hover: #A33A31;--btn-danger-bd: var(--btn-danger-border);--btn-info-bg: rgba(31, 63, 122, .1);--btn-info-fg: #1F3F7A;--btn-info-border: rgba(31, 63, 122, .38);--btn-info-bg-hover: rgba(31, 63, 122, .18);--btn-warning-bg: rgba(154, 107, 18, .12);--btn-warning-fg: #7C550E;--btn-warning-border: rgba(154, 107, 18, .4);--btn-warning-bg-hover: rgba(154, 107, 18, .2);--btn-ghost-fg: var(--text-muted);--btn-ghost-border: transparent;--btn-ghost-bg-hover: var(--overlay-light-05);--btn-ghost-border-hover: transparent;--btn-ghost-fg-hover: var(--text-primary);--btn-primary-anim: none;--btn-primary-sheen-anim: none;--stat-card-entrance-anim: none;--fantasy-gold-05: rgba(138, 106, 34, .05);--fantasy-gold-12: rgba(138, 106, 34, .12);--fantasy-gold-15: rgba(138, 106, 34, .15);--fantasy-gold-28: rgba(138, 106, 34, .28);--fantasy-gold-60: rgba(201, 162, 39, .6);--fantasy-gold-90: rgba(201, 162, 39, .9);--modal-header-gradient: var(--surface-control);--gradient-header-end: var(--surface-control);--color-tier-gold: #C9A227;--color-accent-coral: #C4553F;--page-bg-ambient: radial-gradient(ellipse 120% 70% at 50% -10%, rgba(255, 252, 240, .9) 0%, transparent 60%), radial-gradient(ellipse 80% 50% at 80% 100%, rgba(201, 162, 39, .07) 0%, transparent 55%);--rarity-common: #6E6656;--rarity-uncommon: #2E7D4F;--rarity-rare: #1F5FA8;--rarity-very-rare: #6B3FA0;--rarity-mythic: #B4561F;--rarity-legendary: #8A6A22;--color-crime-none: #2E7D4F;--color-crime-low: #9A6B12;--color-crime-moderate: #B4561F;--color-crime-high: #A33A31;--color-crime-critical: var(--text-primary);--stat-magic: #6B3FA0;--stat-magic-bg: rgba(107, 63, 160, .1);--stat-magic-bg-strong: rgba(107, 63, 160, .14);--stat-magic-border: rgba(107, 63, 160, .32);--stat-magic-border-strong: rgba(107, 63, 160, .44);--stat-physical: #1F5FA8;--stat-physical-bg: rgba(31, 95, 168, .1);--stat-physical-border: rgba(31, 95, 168, .32);--stat-danger: #A33A31;--stat-danger-bg: rgba(163, 58, 49, .1);--stat-danger-border: rgba(163, 58, 49, .38);--accent-event-crime: #0F7A5A;--accent-event-moral: #6B3FA0;--accent-event-famine: #9A6B12;--accent-event-population: #2A2FA0;--accent-event-treasury: #4E7A18;--accent-event-majority: #8B1E96;--accent-event-building: #14707A;--accent-event-default: #6E6656;--event-color-population: #3A5F86;--event-color-health: #3C7A46;--event-color-celebration: #8A6A22;--event-color-conflict: #8E3C3C;--event-color-tragedy: #6A4E24;--event-color-infrastructure: #4E4E72;--event-color-diplomatic: #34606F;--event-color-spiritual: #6B4E8A;--event-color-natural_event: #3E6B3E;--event-color-narrative: #5C5C5C;--event-color-migration: #A25E30}@layer mgs-modal-base{.modal-overlay{position:fixed;inset:0;background:var(--surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-modal);padding:var(--space-6);padding-top:10vh;animation:modal-overlay-appear var(--transition-base)}}@layer mgs-modal-base{.modal{position:relative;background:var(--surface-raised);border:1px solid var(--border-strong);border-top:1px solid var(--border-bevel-ctrl);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);width:100%;max-height:min(82vh,900px);display:flex;flex-direction:column;overflow:hidden;animation:modal-appear var(--transition-slow)}}@layer mgs-modal-base{.modal__header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface-control);border-radius:0;flex-shrink:0}.modal__header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.modal__title{margin:0;font-family:var(--font-fantasy-title);color:var(--fantasy-gold);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:.06em;line-height:1.2}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border:1px solid transparent;border-radius:var(--radius-control);background:none;color:var(--text-muted);font-size:15px;cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.modal__close:hover{background:var(--overlay-light-05);color:var(--text-primary)}.modal__content{flex:1;overflow-y:auto;padding:20px 22px}.modal__content--no-padding{padding:0}.modal__content--with-tabs{padding:0;display:flex;flex-direction:column}.modal__description{margin:0;padding:14px 22px 0;background:none;border-bottom:none;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6;max-width:78ch;text-wrap:pretty}.modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2-5);padding:16px 22px;border-top:1px solid var(--border);background:var(--surface-control);flex-shrink:0}.modal__footer--space-between{justify-content:space-between}.modal__footer--center{justify-content:center}.modal__footer--sticky{position:sticky;bottom:0;background:var(--surface-secondary);box-shadow:0 -2px 10px var(--overlay-dark-10);z-index:10}.modal__sidebar{width:280px;min-width:280px;background:var(--surface-secondary);border-right:var(--border-width) solid var(--border-color);overflow-y:auto;flex-shrink:0}.modal__main{flex:1;display:flex;flex-direction:column;min-width:0}.modal__loading,.modal__error{display:flex;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;font-size:var(--font-size-lg)}.modal__error{color:var(--color-danger);background:var(--color-alert-danger-bg);border-radius:var(--border-radius);margin:var(--space-6)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:var(--border-width) solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:focus{outline:2px solid var(--fantasy-gold);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes emberFlicker{0%,to{box-shadow:0 0 0 1px var(--btn-primary-border),0 6px 22px -6px var(--shadow-glow-primary-md)}45%{box-shadow:0 0 0 1px var(--btn-primary-border),0 10px 30px -6px var(--shadow-glow-primary-lg)}}@keyframes sheen{0%{transform:translate(-120%) skew(-18deg)}55%,to{transform:translate(320%) skew(-18deg)}}.btn--primary,.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);animation:var(--btn-primary-anim, none)}.btn--primary:after,.btn-primary:after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:translate(-120%) skew(-18deg);animation:var(--btn-primary-sheen-anim, none);pointer-events:none}.btn--primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border-hover);transform:translateY(-1px)}.btn--primary.btn--no-anim,.btn-primary.btn--no-anim{animation:none}.btn--primary.btn--no-anim:after,.btn-primary.btn--no-anim:after{content:none}.btn--secondary,.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border:1px solid var(--btn-secondary-border);border-top-color:var(--border-color-top-control);box-shadow:var(--btn-secondary-shadow, none)}.btn--secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){border-color:var(--btn-secondary-border-hover);color:var(--btn-secondary-fg-hover);transform:translateY(-1px)}.btn--edit,.btn-edit{background:var(--btn-edit-bg);color:var(--btn-edit-fg);border:1px solid var(--btn-edit-border)}.btn--edit:hover:not(:disabled),.btn-edit:hover:not(:disabled){background:var(--btn-edit-bg-hover);transform:translateY(-1px)}.btn--success,.btn-success,.btn-constructive{background:var(--btn-success-bg);color:var(--btn-success-fg);border:1px solid var(--btn-success-border)}.btn--success:hover:not(:disabled),.btn-success:hover:not(:disabled),.btn-constructive:hover:not(:disabled){background:var(--btn-success-bg-hover);transform:translateY(-1px)}.btn--danger,.btn-danger,.btn-danger-icon{background:var(--btn-danger-bg);color:var(--btn-danger-fg);border:1px solid var(--btn-danger-border)}.btn--danger:hover:not(:disabled),.btn-danger:hover:not(:disabled),.btn-danger-icon:hover:not(:disabled){background:var(--btn-danger-bg-hover);border-color:var(--btn-danger-border-hover);transform:translateY(-1px)}.btn--info,.btn-info{background:var(--btn-info-bg);color:var(--btn-info-fg);border:1px solid var(--btn-info-border)}.btn--info:hover:not(:disabled),.btn-info:hover:not(:disabled){background:var(--btn-info-bg-hover);transform:translateY(-1px)}.btn--active,.btn--active:hover:not(:disabled){background:var(--fantasy-gold-subtle);border-color:var(--fantasy-gold-dim);box-shadow:var(--shadow-inset-sm);transform:translateY(1px)}.btn--ghost{background:transparent;color:var(--btn-ghost-fg);border-color:var(--btn-ghost-border)}.btn--ghost:hover:not(:disabled){background:var(--btn-ghost-bg-hover);border-color:var(--btn-ghost-border-hover);color:var(--btn-ghost-fg-hover)}.btn--sm,.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);gap:var(--space-1)}.btn--loading{color:transparent}.btn--loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--border-radius-circle);animation:btn-spin 1s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn-group{display:inline-flex;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-sm)}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}.btn-group .btn:last-child{border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);border-right-width:var(--border-width)}.btn--icon{padding:var(--space-3);aspect-ratio:1}.btn--icon.btn--sm{padding:var(--space-2)}.btn__icon{font-size:1.1em;line-height:1}.btn svg,.btn img{vertical-align:middle}@media(max-width:768px){.btn{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm)}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn-group{flex-direction:column}.btn-group .btn{border-right-width:var(--border-width);border-bottom-width:0}.btn-group .btn:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.btn-group .btn:last-child{border-radius:0 0 var(--border-radius) var(--border-radius);border-bottom-width:var(--border-width)}}.job-action-btn{width:28px;height:28px;border:1px solid var(--border-color-strong);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;font-size:var(--font-size-sm);transition:all .2s;color:var(--fantasy-text);display:flex;align-items:center;justify-content:center}.job-action-btn.increase{background-color:var(--color-success)}.job-action-btn.decrease{background-color:var(--color-danger)}.job-action-btn:hover{opacity:.9;transform:scale(1.05)}.job-action-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--border-color-strong);color:var(--fantasy-text);transform:none}.job-action-btn:disabled:hover{background-color:var(--border-color-strong);opacity:.5;transform:none}.job-action-btn.shift{font-size:var(--font-size-xs)}.job-action-btn.pending{background-color:var(--color-disabled-bg);cursor:wait;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.btn--warning,.btn-warning{background:var(--btn-warning-bg);color:var(--btn-warning-fg);border:1px solid var(--btn-warning-border)}.btn--warning:hover:not(:disabled),.btn-warning:hover:not(:disabled){background:var(--btn-warning-bg-hover);transform:translateY(-1px)}.btn--lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);gap:var(--space-3)}.btn--xl{padding:var(--space-5) var(--space-8);font-size:var(--font-size-lg);gap:var(--space-3)}.btn--icon.btn--lg{padding:var(--space-4)}.event-active-pill{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 var(--space-2);border-radius:9999px;border:1px solid var(--border-color);background:var(--surface-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.event-active-pill.active{background:var(--btn-success-bg);color:var(--btn-success-fg);border-color:var(--color-success)}@media(max-width:768px){.btn--lg{padding:var(--space-4) var(--space-5);font-size:var(--font-size-base)}}.tri-state-pill{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);border-radius:14px;border:1px solid var(--border-color-strong);background:var(--surface-tertiary);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s;-webkit-user-select:none;user-select:none}.tri-state-pill:hover:not(:disabled){border-color:var(--fantasy-gold-dim)}.tri-state-pill.state--on{background:var(--btn-success-bg);color:var(--btn-success-fg);border-color:var(--color-success)}.tri-state-pill.state--off{background:var(--btn-danger-bg);color:var(--btn-danger-fg);border-color:var(--color-danger)}.tri-state-pill.state--auto{background:var(--surface-secondary);color:var(--text-primary);border:1px dashed var(--fantasy-gold-dim)}.tri-state-pill:disabled{opacity:.5;cursor:not-allowed}.tri-state-indicator{width:8px;height:8px;border-radius:50%;background:currentColor}.form{display:flex;flex-direction:column;gap:var(--space-6)}input,textarea,select{background:var(--surface-secondary);color:var(--fantasy-text);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);font-family:inherit;font-size:var(--font-size-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}input::placeholder,textarea::placeholder{color:var(--fantasy-text-muted)}input:focus,textarea:focus,select:focus{border-color:var(--fantasy-border-focus);outline:none;box-shadow:0 0 0 2px var(--focus-ring-primary)}select option{background:var(--surface-secondary);color:var(--fantasy-text)}@media(max-width:480px){.form{gap:var(--space-4)}}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-row{display:flex;gap:var(--space-4);align-items:flex-start}.form-row>.form-group:only-child{flex:1}@media(max-width:768px){.form-row{flex-direction:column}}.check-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;margin:0;white-space:nowrap}.check-grid-2col{display:grid;grid-template-columns:repeat(2,max-content);gap:var(--space-2) var(--space-8);justify-content:start}.check-grid-3col{display:grid;grid-template-columns:repeat(3,max-content);gap:var(--space-2) var(--space-6);justify-content:start}.check-stack{display:flex;flex-direction:column;gap:var(--space-2)}.revenues-summary-full-width{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-10);width:100%;align-items:start}.modifiers-section{margin-top:var(--space-10)}.modifiers-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.modifiers-column{display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.modifiers-column-title{color:var(--text-primary);margin:0 0 var(--space-5) 0;font-size:1.2em;border-bottom:2px solid var(--fantasy-gold);padding-bottom:var(--space-2);text-align:center}.modifiers-column .modifier-table-container h3{font-size:1em;margin-bottom:var(--space-2-5);color:var(--text-primary)}.modifiers-column .modifier-table-container{margin-bottom:var(--space-4)}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}.crime-level-none{color:var(--color-crime-none)}.crime-level-low{color:var(--color-crime-low)}.crime-level-moderate{color:var(--color-crime-moderate)}.crime-level-high{color:var(--color-crime-high)}.crime-level-critical{color:var(--color-crime-critical)}@media(max-width:1024px){.revenues-summary-full-width{grid-template-columns:1fr 1fr;gap:var(--space-4)}}@media(max-width:768px){.revenues-summary-full-width,.modifiers-grid{grid-template-columns:1fr;gap:var(--space-5)}}@media(max-width:480px){.modifiers-column-title{font-size:1.1em}}.worker-row{background-color:var(--surface-secondary)}.worker-row:hover{background-color:var(--border-color)}.stats-cards{display:flex;gap:var(--card-gap);margin-bottom:var(--space-8);flex-wrap:wrap}@keyframes inkRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-card,.resource-card{background:var(--surface-card-gradient);border-radius:var(--border-radius);padding:var(--card-padding);box-shadow:var(--shadow-dark-md);border:1px solid var(--border-color);border-top:1px solid var(--border-color-top-card);position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;animation:var(--stat-card-entrance-anim, none)}.stat-card{flex:1;text-align:center;min-width:200px}.stat-card:before,.resource-card:before{content:"";position:absolute;inset:0;background:var(--texture-card) center/320px repeat;mix-blend-mode:overlay;opacity:var(--texture-card-opacity);pointer-events:none;z-index:0}.stat-card>*,.resource-card>*{position:relative;z-index:1}[data-theme=ember-forge] .stats-cards>*:nth-child(1),[data-theme=ember-forge] .resources-grid>*:nth-child(1){animation-delay:0s}[data-theme=ember-forge] .stats-cards>*:nth-child(2),[data-theme=ember-forge] .resources-grid>*:nth-child(2){animation-delay:.05s}[data-theme=ember-forge] .stats-cards>*:nth-child(3),[data-theme=ember-forge] .resources-grid>*:nth-child(3){animation-delay:.1s}[data-theme=ember-forge] .stats-cards>*:nth-child(4),[data-theme=ember-forge] .resources-grid>*:nth-child(4){animation-delay:.15s}[data-theme=ember-forge] .stats-cards>*:nth-child(5),[data-theme=ember-forge] .resources-grid>*:nth-child(5){animation-delay:.2s}[data-theme=ember-forge] .stats-cards>*:nth-child(6),[data-theme=ember-forge] .resources-grid>*:nth-child(6){animation-delay:.24s}[data-theme=ember-forge] .stats-cards>*:nth-child(7),[data-theme=ember-forge] .resources-grid>*:nth-child(7){animation-delay:.28s}[data-theme=ember-forge] .stats-cards>*:nth-child(8),[data-theme=ember-forge] .resources-grid>*:nth-child(8){animation-delay:.32s}[data-theme=ember-forge] .stats-cards>*:nth-child(9),[data-theme=ember-forge] .resources-grid>*:nth-child(9){animation-delay:.36s}[data-theme=ember-forge] .stats-cards>*:nth-child(n+10),[data-theme=ember-forge] .resources-grid>*:nth-child(n+10){animation-delay:.4s}.stat-card:hover,.resource-card:hover{transform:translateY(-3px);border-color:var(--fantasy-gold);box-shadow:0 20px 40px -24px var(--fantasy-gold-28)}.stat-card-icon{font-size:var(--font-size-3xl);margin-bottom:var(--space-2-5);display:block}.stat-card h4,.stat-card-title{margin:0 0 var(--space-4) 0;color:var(--text-primary);font-size:var(--font-size-base);font-weight:500}.stat-card-value{font-size:2.5em;font-weight:700;color:var(--text-primary);margin:var(--space-2-5) 0;font-family:Courier New,monospace}.stat-card-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.stat-card-value--primary{color:var(--fantasy-gold-secondary)}@media(max-width:1024px){.stats-cards{gap:var(--space-4)}.stat-card{min-width:180px}}@media(max-width:768px){.stats-cards{flex-direction:column;gap:var(--space-4)}.stat-card{min-width:auto;flex:none}.stat-card-value{font-size:2em}}@media(max-width:480px){.stat-card{padding:var(--space-4)}.stat-card-value{font-size:1.8em}.stat-card h4,.stat-card-title{font-size:var(--font-size-sm)}}.empty-state-card{text-align:center;padding:var(--space-10) var(--space-5);color:var(--text-secondary);background:var(--surface-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.section-title{font-family:var(--font-fantasy-title);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-2);color:var(--text-primary)}[data-theme=ember-forge] .section-title{font-size:1.75rem;font-weight:var(--font-weight-bold);line-height:1.05;letter-spacing:-.01em}.harmonized-tab{padding:0}.harmonized-tab h2{margin-bottom:var(--space-5)}.filter-group input,.filter-group select,.filters select{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.search-form{position:relative;display:inline-flex}.search-form input{padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);min-width:200px;font-size:var(--font-size-sm);width:100%}.search-icon{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);pointer-events:none;font-size:var(--font-size-sm)}.search-form button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;background-color:var(--surface-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .2s}.search-form button:hover{background-color:var(--surface-tertiary)}@media(max-width:768px){.filter-row,.filters{flex-direction:column;align-items:stretch;gap:var(--space-3)}.filter-group{min-width:auto}.search-form input{min-width:auto;width:100%}.population-controls{flex-direction:column;gap:var(--space-4)}}@media(max-width:480px){.filter-bar,.population-controls{padding:var(--space-3)}.filter-group label{font-size:var(--font-size-sm)}.filter-group input,.filter-group select,.filters select{padding:var(--space-px-6) var(--space-2-5);font-size:var(--font-size-sm)}.clear-filters-btn{padding:var(--space-px-6) var(--space-3);font-size:var(--font-size-sm)}}.buildings-filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.buildings-filters{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.buildings-search{display:flex;gap:var(--space-2-5);align-items:center}.view-toggle{display:inline-flex;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--page-bg);margin-bottom:0;gap:0}.view-toggle .toggle-button{padding:8px 14px;border:none;border-left:1px solid var(--border);background:none;color:var(--text-muted);font:400 12.5px/1 var(--font-ui);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .18s,color .18s}.view-toggle .toggle-button:first-child{border-left:none}.view-toggle .toggle-button:hover{background:var(--overlay-light-05);color:var(--text-body);border-color:var(--border)}.view-toggle .toggle-button.active{background:var(--surface-control);color:var(--text-primary);font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}.view-toggle .toggle-button.active:hover{background:var(--surface-control)}@media(max-width:768px){.view-toggle{flex-wrap:wrap}.view-toggle .toggle-button{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);min-width:auto}.view-toggle .toggle-icon{font-size:var(--font-size-base)}}@media(max-width:480px){.view-toggle .toggle-button{flex:1;justify-content:center;padding:var(--space-2) var(--space-2)}}.config-section{margin-bottom:var(--space-6)}.config-section__header{display:flex;justify-content:space-between;align-items:center;background-color:var(--surface-tertiary);border-radius:var(--border-radius);padding:var(--space-3) var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none}.config-section__header--open{margin-bottom:var(--space-4)}.config-section__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.config-section__chevron{font-size:var(--font-size-sm);color:var(--text-secondary)}.config-section__content{display:flex;flex-direction:column;gap:var(--space-3)}.config-section__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.config-section__label{flex:1}.config-section__label-text{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.config-section__default{font-size:var(--font-size-sm);color:var(--text-muted)}.config-section__input{width:80px;padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);text-align:right;font-family:monospace}.config-modal__footer{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-1) var(--space-6);background-color:var(--surface-secondary)}.salary-config{margin-bottom:var(--space-6)}.salary-config__header{display:flex;justify-content:space-between;align-items:center;background-color:var(--surface-tertiary);border-radius:var(--border-radius);padding:var(--space-3) var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none}.salary-config__header--open{margin-bottom:var(--space-4)}.salary-config__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.salary-config__chevron{font-size:var(--font-size-sm);color:var(--text-secondary)}.salary-config__loading{padding:var(--space-4);text-align:center;color:var(--text-muted)}.salary-config__error{padding:var(--space-4);color:var(--color-danger)}.salary-config__body{display:flex;flex-direction:column;gap:var(--space-3)}.salary-config__description{font-size:var(--font-size-base);color:var(--text-muted);margin-bottom:var(--space-2)}.salary-config__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.salary-config__row-info{flex:1}.salary-config__name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.salary-config__default{font-size:var(--font-size-sm);color:var(--text-muted)}.salary-config__salary-input{width:80px;flex-shrink:0;padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);text-align:right;font-family:monospace}.salary-config__reassignable{flex-shrink:0;display:flex;align-items:center;margin-top:var(--space-px-6)}.salary-config__warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-warning-light, rgba(217, 119, 6, .1));border-left:3px solid var(--color-warning);border-radius:var(--border-radius-sm);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-warning-hover)}.detail-modal__card{margin-bottom:var(--space-6)}.sidebar-menu-btn{width:100%;background:none;border:1px solid var(--fantasy-border);color:var(--fantasy-text);padding:var(--space-3) var(--space-5);border-radius:0;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.sidebar-menu-btn:hover{background-color:var(--fantasy-gold-subtle);border-color:var(--fantasy-gold);color:var(--fantasy-gold)}.game-menu-modal .modal__title{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:0;font-family:var(--font-fantasy-title);font-size:var(--font-size-2xl);font-weight:600;letter-spacing:.06em;line-height:1.2;color:var(--fantasy-gold);text-transform:none}.game-menu-button{display:flex;align-items:center;padding:var(--space-5);border:1px solid var(--fantasy-border);border-radius:var(--border-radius);background:var(--surface-secondary);color:var(--fantasy-text);cursor:pointer;transition:all var(--transition-base);text-align:left;width:100%;position:relative}.game-menu-button:hover{border-color:var(--fantasy-gold);background-color:var(--fantasy-gold-subtle);transform:translateY(-2px);box-shadow:0 4px 12px var(--fantasy-gold-15)}.game-menu-button-icon{font-size:var(--font-size-3xl);margin-right:var(--space-4);min-width:40px;text-align:center}.game-menu-button-content{flex:1}.game-menu-button-title{font-family:var(--font-fantasy-title);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.06em;color:var(--fantasy-gold);margin-bottom:var(--space-1)}.game-menu-button-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.game-menu-badge{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;background:var(--color-danger);flex-shrink:0}@media(max-width:480px){.game-menu-button{padding:var(--space-4)}.game-menu-button-icon{font-size:var(--font-size-2xl);margin-right:var(--space-2-5);min-width:30px}.game-menu-button-title{font-size:var(--font-size-base)}}[data-theme=holier-than-thou] .modal__close:hover,[data-theme=holier-than-thou] .modal-close:hover,[data-theme=holier-than-thou] .btn--xs:hover{color:var(--text-primary)}[data-theme=holier-than-thou] .badge:not([class*=badge--]),[data-theme=holier-than-thou] .badge--neutral,[data-theme=holier-than-thou] .inhabitant-details-tag.tag-secondary,[data-theme=holier-than-thou] .built-count-badge,[data-theme=holier-than-thou] .defense-means-table .amount-badge{background:var(--surface-inset);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=holier-than-thou] .skeleton,[data-theme=holier-than-thou] .skeleton-line{background:linear-gradient(90deg,var(--surface-inset) 25%,rgba(28,24,16,.05) 50%,var(--surface-inset) 75%);background-size:200% 100%}[data-theme=holier-than-thou] .variant-row td{border-bottom-color:var(--border-color)}[data-theme=holier-than-thou] .mgs-rail:after{background:linear-gradient(to right,#fffcf48c,#e8e2d459)}[data-theme=holier-than-thou] .modal-overlay{background:#3a322057;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-theme=holier-than-thou] .audio-player{background:#faf7eedb;box-shadow:0 -4px 24px #4a3d2224}[data-theme=holier-than-thou] .btn--primary:after,[data-theme=holier-than-thou] .btn-primary:after{content:none}[data-theme=holier-than-thou] .stat-card,[data-theme=holier-than-thou] .resource-card,[data-theme=holier-than-thou] .calc-card,[data-theme=holier-than-thou] .panel-card,[data-theme=holier-than-thou] .result-panel,[data-theme=holier-than-thou] .data-table-container{box-shadow:var(--shadow-dark-md)}[data-theme=holier-than-thou] .section-header,[data-theme=holier-than-thou] .calc-card h3,[data-theme=holier-than-thou] .panel-card h3{position:relative;padding-bottom:14px}[data-theme=holier-than-thou] .section-header:after,[data-theme=holier-than-thou] .calc-card h3:after,[data-theme=holier-than-thou] .panel-card h3:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:linear-gradient(90deg,rgba(201,162,39,.45),rgba(140,128,100,.18) 45%,transparent)}[data-theme=holier-than-thou] .section-header:before{content:"";position:absolute;left:0;top:1px;bottom:5px;width:16px;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2213%22%20viewBox%3D%220%200%2016%2013%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2%206%20C2%208%203.1%209.5%203.1%2013%20H12.9%20C12.9%209.5%2014%208%2014%206%20Z%22%20fill%3D%22%23F1EDE3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2%206%20C2%208%203.1%209.5%203.1%2013%20M14%206%20C14%208%2012.9%209.5%2012.9%2013%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221%22%20fill%3D%22none%22%3E%3C%2Fpath%3E%3Crect%20x%3D%220.5%22%20y%3D%220.5%22%20width%3D%2215%22%20height%3D%225%22%20fill%3D%22%23FBFAF6%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M0.5%202.6%20H15.5%22%20stroke%3D%22%23C9A227%22%20stroke-width%3D%220.8%22%20opacity%3D%220.6%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E),linear-gradient(90deg,transparent 0px 2.55px,#A79B80 2.55px 3.65px,#F1EDE3 3.65px 5.8px,#C0B49A 5.8px 6.8px,#FDFCF8 6.8px 7.75px,#F1EDE3 7.75px 9.2px,#C0B49A 9.2px 10.2px,#FDFCF8 10.2px 11.15px,#F1EDE3 11.15px 12.35px,#A79B80 12.35px 13.45px,transparent 13.45px 16px);background-position:left top,left 13px;background-repeat:no-repeat,no-repeat;background-size:16px 13px,16px calc(100% - 13px)}[data-theme=holier-than-thou] .section-header{padding-left:26px}[data-theme=holier-than-thou] .section-header:after{left:26px}[data-theme=holier-than-thou] .mgs-rail{border-right:none;box-sizing:border-box;padding-right:var(--divine-column-width);background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2246%22%20viewBox%3D%220%200%2026%2046%22%20fill%3D%22none%22%3E%3Crect%20x%3D%223%22%20y%3D%2220%22%20width%3D%2220%22%20height%3D%2226%22%20fill%3D%22%23F1EDE3%22%3E%3C%2Frect%3E%3Cg%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M3.6%2046%20V21%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22.4%2046%20V21%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cpath%20d%3D%22M5%2045.5%20C5.5%2034%207%2027%209.5%2022%20L16.5%2022%20C19%2027%2020.5%2034%2021%2045.5%22%20fill%3D%22%23F6F3EC%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221%22%3E%3C%2Fpath%3E%3Cg%20stroke%3D%22%23B0A489%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M8.5%2045%20C9%2038.5%2010.5%2034.5%2013%2032%20C15.5%2034.5%2017%2038.5%2017.5%2045%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M13%2045%20V33.5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M10.5%2039%20C11.5%2037.5%2012.3%2036.5%2013%2036%20M15.5%2039%20C14.5%2037.5%2013.7%2036.5%2013%2036%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cpath%20d%3D%22M6.5%2033.5%20C8%2029.5%2010.5%2027%2013%2026%20C15.5%2027%2018%2029.5%2019.5%2033.5%22%20stroke%3D%22%23B0A489%22%20stroke-width%3D%221.1%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3C%2Fpath%3E%3Cg%20stroke%3D%22%23C9A227%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M8%2022.5%20C4.8%2023.5%204.3%2027%206.8%2027.6%20C8.8%2028%209.3%2025.6%207.8%2025.3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M18%2022.5%20C21.2%2023.5%2021.7%2027%2019.2%2027.6%20C17.2%2028%2016.7%2025.6%2018.2%2025.3%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cpath%20d%3D%22M3.5%2021.5%20H22.5%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1.5%2020.5%20C1.5%2020.5%206%2017.5%2013%2017.5%20C20%2017.5%2024.5%2020.5%2024.5%2020.5%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.1%22%20fill%3D%22none%22%3E%3C%2Fpath%3E%3Crect%20x%3D%221%22%20y%3D%2211%22%20width%3D%2224%22%20height%3D%226.5%22%20fill%3D%22%23FBFAF6%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.1%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M1%2012.8%20H25%22%20stroke%3D%22%23C9A227%22%20stroke-width%3D%220.9%22%20opacity%3D%220.6%22%3E%3C%2Fpath%3E%3Crect%20x%3D%222.5%22%20y%3D%226.5%22%20width%3D%2221%22%20height%3D%224%22%20fill%3D%22%23F1EDE3%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221%22%3E%3C%2Frect%3E%3C%2Fsvg%3E),url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2234%22%20viewBox%3D%220%200%2026%2034%22%20fill%3D%22none%22%3E%3Crect%20x%3D%223%22%20width%3D%2220%22%20height%3D%227%22%20fill%3D%22%23F1EDE3%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M3.6%200%20V7%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22.4%200%20V7%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.2%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3.6%207%20C3.6%209%202.5%2010%202.5%2012%20M22.4%207%20C22.4%209%2023.5%2010%2023.5%2012%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.1%22%20fill%3D%22none%22%3E%3C%2Fpath%3E%3Crect%20x%3D%222%22%20y%3D%2212%22%20width%3D%2222%22%20height%3D%224.5%22%20fill%3D%22%23F6F3EC%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221%22%3E%3C%2Frect%3E%3Crect%20x%3D%223%22%20y%3D%2217.5%22%20width%3D%2220%22%20height%3D%223%22%20fill%3D%22%23F1EDE3%22%20stroke%3D%22%23C0B49A%22%20stroke-width%3D%221%22%3E%3C%2Frect%3E%3Crect%20x%3D%221.5%22%20y%3D%2221.5%22%20width%3D%2223%22%20height%3D%224.5%22%20fill%3D%22%23F6F3EC%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M1.5%2023.6%20H24.5%22%20stroke%3D%22%23C9A227%22%20stroke-width%3D%220.9%22%20opacity%3D%220.55%22%3E%3C%2Fpath%3E%3Crect%20x%3D%220.5%22%20y%3D%2226.5%22%20width%3D%2225%22%20height%3D%227%22%20fill%3D%22%23EDE8DC%22%20stroke%3D%22%23A79B80%22%20stroke-width%3D%221.1%22%3E%3C%2Frect%3E%3C%2Fsvg%3E),url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2224%22%20viewBox%3D%220%200%2026%2024%22%20fill%3D%22none%22%3E%3Crect%20x%3D%223%22%20width%3D%2220%22%20height%3D%2224%22%20fill%3D%22%23F1EDE3%22%3E%3C%2Frect%3E%3Cg%20stroke-width%3D%221.2%22%20stroke%3D%22%23A79B80%22%3E%3Cpath%20d%3D%22M3.6%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22.4%200%20V24%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cg%20stroke-width%3D%221.1%22%20stroke%3D%22%23C0B49A%22%3E%3Cpath%20d%3D%22M7.4%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M11.2%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M15%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M18.8%200%20V24%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cg%20stroke-width%3D%221%22%20stroke%3D%22%23FDFCF8%22%3E%3Cpath%20d%3D%22M8.6%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12.4%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M16.2%200%20V24%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M20%200%20V24%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E),var(--surface-sidebar-gradient);background-position:right top,right bottom,right top,left top;background-repeat:no-repeat,no-repeat,repeat-y,no-repeat;background-size:var(--divine-column-width) 46px,var(--divine-column-width) 34px,var(--divine-column-width) 24px,100% 100%;background-attachment:local,local,local,scroll}[data-theme=holier-than-thou] .sidebar-header,[data-theme=holier-than-thou] .hub-sidebar__header{border-bottom:1px solid rgba(201,162,39,.22)}[data-theme=holier-than-thou] .mgs-rail__header{padding-top:var(--space-6)}[data-theme=holier-than-thou] .sidebar-crest:not(.sidebar-crest--custom){filter:hue-rotate(var(--crest-hue)) saturate(var(--crest-sat)) drop-shadow(0 1px 10px rgba(138,106,34,.28))}[data-theme=holier-than-thou] .modal__header:before,[data-theme=holier-than-thou] .modal-header:before{background:linear-gradient(90deg,transparent,rgba(201,162,39,.5) 20%,rgba(201,162,39,.5) 80%,transparent)}[data-theme=holier-than-thou] .modal__header:after{content:"";position:absolute;top:-3px;left:50%;width:7px;height:7px;margin-left:-3.5px;transform:rotate(45deg);background:var(--ornament-rule);border:1px solid var(--surface-control)}[data-theme=holier-than-thou] .section-title,[data-theme=holier-than-thou] .app-details__title,[data-theme=holier-than-thou] .modal__title,[data-theme=holier-than-thou] .sidebar-header h3{letter-spacing:.01em;font-weight:600}[data-theme=holier-than-thou] .sidebar-tab.active,[data-theme=holier-than-thou] .hub-sidebar__nav-item.is-active{background-color:#c9a2271c;border-left-color:var(--fantasy-gold)}[data-theme=holier-than-thou] .sidebar-tab.active,[data-theme=holier-than-thou] .hub-sidebar__nav-item.is-active .hub-sidebar__nav-text{color:var(--fantasy-gold-dim);font-weight:600}[data-theme=holier-than-thou] .progress-bar,[data-theme=holier-than-thou] .housing-bar{background:var(--surface-inset);box-shadow:inset 0 1px 2px #4a3d221f}[data-theme=holier-than-thou] .progress-fill{background:linear-gradient(180deg,#e3c463,#b08d2e)}[data-theme=holier-than-thou] .form-input:focus,[data-theme=holier-than-thou] .form-select:focus,[data-theme=holier-than-thou] .form-textarea:focus,[data-theme=holier-than-thou] input:focus,[data-theme=holier-than-thou] textarea:focus,[data-theme=holier-than-thou] select:focus{border-color:var(--state-lapis);box-shadow:0 0 0 3px var(--state-lapis-soft)}[data-theme=holier-than-thou] .btn:focus{outline-color:var(--state-lapis)}[data-theme=holier-than-thou] .sidebar-meta,[data-theme=holier-than-thou] .resource-unit,[data-theme=holier-than-thou] .resource-title,[data-theme=holier-than-thou] .stat-bar-label,[data-theme=holier-than-thou] .calc-card h3{color:var(--text-muted)}[data-theme=holier-than-thou] .stat-card:before,[data-theme=holier-than-thou] .resource-card:before,[data-theme=holier-than-thou] .calc-card:before,[data-theme=holier-than-thou] .panel-card:before,[data-theme=holier-than-thou] .data-table-container:before,[data-theme=holier-than-thou] .result-panel:before{mix-blend-mode:var(--texture-card-blend, overlay);background-size:var(--texture-card-size, 320px)}@keyframes divineHalo{0%,to{box-shadow:0 0 0 1px #c9a2274d,0 0 10px -2px #c9a22747}50%{box-shadow:0 0 0 1px #c9a22775,0 0 20px -2px #c9a22780}}[data-theme=holier-than-thou] .btn--primary,[data-theme=holier-than-thou] .btn-primary,[data-theme=holier-than-thou] .next-cycle-btn,[data-theme=holier-than-thou] .alch__craft-btn{animation:divineHalo 5.5s ease-in-out infinite}[data-theme=holier-than-thou] .btn--primary:hover,[data-theme=holier-than-thou] .btn-primary:hover,[data-theme=holier-than-thou] .next-cycle-btn:hover,[data-theme=holier-than-thou] .alch__craft-btn:hover{animation:none;box-shadow:0 0 0 1px #c9a227a6,0 0 26px -2px #c9a2279e}[data-theme=holier-than-thou] .btn--primary:active,[data-theme=holier-than-thou] .btn-primary:active,[data-theme=holier-than-thou] .next-cycle-btn:active,[data-theme=holier-than-thou] .alch__craft-btn:active{box-shadow:0 0 0 1px #c9a227cc,0 0 12px -2px #c9a227b3}[data-theme=holier-than-thou] .stat-card,[data-theme=holier-than-thou] .resource-card,[data-theme=holier-than-thou] .calc-card,[data-theme=holier-than-thou] .panel-card,[data-theme=holier-than-thou] .btn,[data-theme=holier-than-thou] .edit-reserves-btn,[data-theme=holier-than-thou] .sidebar-tab{transition:box-shadow .42s cubic-bezier(.22,.61,.36,1),border-color .42s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1)}[data-theme=holier-than-thou] .stat-card:hover,[data-theme=holier-than-thou] .resource-card:hover,[data-theme=holier-than-thou] .calc-card:hover,[data-theme=holier-than-thou] .panel-card:hover{box-shadow:0 0 0 1px #c9a22757,0 0 26px -6px #c9a22757,var(--shadow-dark-md)}[data-theme=holier-than-thou] .btn:hover,[data-theme=holier-than-thou] .edit-reserves-btn:hover{box-shadow:0 0 14px -3px #c9a22773}@keyframes divineHaloInset{0%,to{box-shadow:inset 0 0 14px -6px #c9a22766}50%{box-shadow:inset 0 0 22px -6px #c9a227b3}}[data-theme=holier-than-thou] .sidebar-tab.active,[data-theme=holier-than-thou] .hub-sidebar__nav-item.is-active{animation:divineHaloInset 6.5s ease-in-out infinite}@keyframes divineVein{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}[data-theme=holier-than-thou] .section-header:after,[data-theme=holier-than-thou] .calc-card h3:after,[data-theme=holier-than-thou] .panel-card h3:after{animation:divineVein 1.4s cubic-bezier(.16,.84,.28,1) both}@keyframes divineVeinDown{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}[data-theme=holier-than-thou] .section-header:before{animation:divineVeinDown .7s cubic-bezier(.16,.84,.28,1) both}@keyframes divineVeinCentre{0%{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0 0 0 0)}}[data-theme=holier-than-thou] .modal__header:before,[data-theme=holier-than-thou] .modal-header:before{animation:divineVeinCentre .9s cubic-bezier(.16,.84,.28,1) both}@keyframes divineVeinEdge{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}[data-theme=holier-than-thou] .stat-card:after,[data-theme=holier-than-thou] .resource-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ornament-rule) 30%,var(--ornament-rule) 70%,transparent);animation:divineVeinEdge 1.1s cubic-bezier(.16,.84,.28,1) both;pointer-events:none}[data-theme=holier-than-thou] .stat-card,[data-theme=holier-than-thou] .resource-card{position:relative}[data-theme=holier-than-thou] .stats-cards>*:nth-child(1):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(1):after{animation-delay:.12s}[data-theme=holier-than-thou] .stats-cards>*:nth-child(2):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(2):after{animation-delay:.22s}[data-theme=holier-than-thou] .stats-cards>*:nth-child(3):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(3):after{animation-delay:.32s}[data-theme=holier-than-thou] .stats-cards>*:nth-child(4):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(4):after{animation-delay:.42s}[data-theme=holier-than-thou] .stats-cards>*:nth-child(5):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(5):after{animation-delay:.5s}[data-theme=holier-than-thou] .stats-cards>*:nth-child(6):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(6):after{animation-delay:.57s}[data-theme=holier-than-thou] .stats-cards>*:nth-child(n+7):after,[data-theme=holier-than-thou] .resources-grid>*:nth-child(n+7):after{animation-delay:.64s}@media(prefers-reduced-motion:reduce){[data-theme=holier-than-thou] .btn--primary,[data-theme=holier-than-thou] .btn-primary,[data-theme=holier-than-thou] .next-cycle-btn,[data-theme=holier-than-thou] .alch__craft-btn,[data-theme=holier-than-thou] .sidebar-tab.active,[data-theme=holier-than-thou] .hub-sidebar__nav-item.is-active,[data-theme=holier-than-thou] .section-header:after,[data-theme=holier-than-thou] .section-header:before,[data-theme=holier-than-thou] .calc-card h3:after,[data-theme=holier-than-thou] .panel-card h3:after,[data-theme=holier-than-thou] .modal__header:before,[data-theme=holier-than-thou] .modal-header:before,[data-theme=holier-than-thou] .stat-card:after,[data-theme=holier-than-thou] .resource-card:after{animation:none;clip-path:none}}.p-4{padding:var(--space-4)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-inverse{color:var(--fantasy-text)}.flex{display:flex}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.border{border:var(--border-width) solid var(--border-color)}.border-r{border-right:var(--border-width) solid var(--border-color)}.result-panel{background:var(--surface-primary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-dark-md);padding:var(--space-6)}.card{background:var(--surface-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-dark-md);border:1px solid var(--fantasy-border);overflow:hidden}.card__header{padding:var(--space-6);border-bottom:var(--border-width) solid var(--border-color);background:var(--surface-secondary)}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.card__footer{padding:var(--space-6);border-top:var(--border-width) solid var(--border-color);background:var(--surface-secondary)}.spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border-color);border-top:2px solid var(--fantasy-gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:flex-col{flex-direction:column}.md\:text-center{text-align:center}}@media(max-width:480px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:flex-col{flex-direction:column}.sm\:text-center{text-align:center}.sm\:text-sm{font-size:var(--font-size-sm)}}@keyframes slideFromTop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideFromBottom{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideFromRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.slide-from-top{animation:slideFromTop .3s ease-out}.slide-from-bottom{animation:slideFromBottom .3s ease-out}.slide-from-right{animation:slideFromRight .3s ease-out}.slide-from-left{animation:slideFromLeft .3s ease-out}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--fantasy-border) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--fantasy-border);border-radius:2px}html,body,#root{margin:0;padding:0;min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--page-bg);background-image:var(--page-bg-ambient);background-attachment:fixed;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{position:relative;z-index:0}.sidebar__bottom{margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--fantasy-border);background:var(--overlay-dark-10)}@layer mgs-rail-base{.sidebar-config-btn{width:100%;background:none;border:1px solid var(--fantasy-border);color:var(--fantasy-text);padding:var(--space-3) var(--space-5);border-radius:0;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.sidebar-config-btn:hover{background-color:var(--fantasy-gold-subtle);border-color:var(--fantasy-gold);color:var(--fantasy-gold)}}.sidebar-rail-btn{width:100%;background:none;border:1px solid var(--fantasy-border);color:var(--fantasy-text);padding:var(--space-3) var(--space-5);border-radius:0;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.sidebar-rail-btn:hover{background-color:var(--fantasy-gold-subtle);border-color:var(--fantasy-gold);color:var(--fantasy-gold)}.mgs-rail:before{content:"";position:absolute;inset:0;background-image:var(--texture-sidebar);background-size:var(--texture-sidebar-size, cover);background-repeat:var(--texture-sidebar-repeat, no-repeat);mix-blend-mode:var(--texture-sidebar-blend, screen);opacity:var(--texture-sidebar-opacity, .12);pointer-events:none;z-index:0}.mgs-rail:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,#070a06b3,#070a0666);pointer-events:none;z-index:1}.mgs-rail>*{position:relative;z-index:2}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:60vh;text-align:center;padding:var(--space-8)}.empty-state__icon{font-size:4rem;color:var(--fantasy-gold);opacity:.25;line-height:1;animation:empty-state-float 4s ease-in-out infinite}.empty-state__title{font-family:var(--font-fantasy-title);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0;letter-spacing:.04em}.empty-state__sub{font-size:var(--font-size-base);color:var(--text-muted);max-width:420px;line-height:1.6;margin:0;font-style:italic}@keyframes empty-state-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.promo-banner{min-height:40px;padding:10px 16px;background:#c9a84c1a;border-bottom:1px solid var(--fantasy-gold-dim);font-family:var(--font-fantasy-title);color:var(--fantasy-text);text-align:center;font-size:.9rem;line-height:1.3;box-sizing:border-box}.promo-banner a{color:var(--fantasy-gold);text-decoration:none;font-weight:600}.promo-banner a:hover{color:var(--fantasy-gold);text-decoration:underline}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px;padding-top:10vh;background:#060608b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:mgs-overlay-in .18s ease-out both}@keyframes mgs-overlay-in{0%{opacity:0}to{opacity:1}}.modal,.modal-content{position:relative;display:flex;flex-direction:column;width:min(880px,100%);max-height:min(82vh,900px);overflow:hidden;border:1px solid var(--border-strong);border-top:1px solid var(--border-bevel-ctrl);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-modal);animation:mgs-modal-in .18s cubic-bezier(.2,.8,.3,1) both}@keyframes mgs-modal-in{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}.modal--sm,.modal-content--sm{width:min(520px,100%)}.modal--lg,.modal-content--lg,.modal--xl{width:min(1180px,100%)}.modal--full{width:min(1400px,100%)}.modal__header,.modal-header{position:relative;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:var(--surface-control);border-bottom:1px solid var(--border);border-radius:0}.modal__header:before,.modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.modal__title,.modal-header h2,.modal-header .modal-title{margin:0;font:700 19px/1.2 var(--font-display);color:var(--text-primary);letter-spacing:-.005em;text-transform:none}.modal-header .modal-subtitle{margin-top:4px;font:400 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.modal__header svg,.modal-header svg{width:18px;height:18px;fill:var(--text-muted)}.modal__close,.modal-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border:1px solid transparent;border-radius:var(--radius-control);background:none;color:var(--text-muted);font-size:15px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.modal__close:hover,.modal-close:hover{background:var(--overlay-light-05);color:var(--text-primary)}.modal__content,.modal-body{flex:1;overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:18px}.modal__content--no-padding,.modal__content--with-tabs{padding:0;gap:0}.modal__description,.modal-description{margin:0;padding:14px 22px 0;font:400 13.5px/1.6 var(--font-ui);color:var(--text-muted);max-width:78ch;text-wrap:pretty;background:none;border-bottom:none}.modal__footer,.modal-footer{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--border);background:var(--surface-control)}.modal__footer--space-between,.modal-footer--split{justify-content:space-between}.modal__footer--center{justify-content:center}.modal__footer--sticky{position:sticky;bottom:0;box-shadow:none}.modal__sidebar{width:220px;flex:none;overflow-y:auto;padding:14px 12px;border-right:1px solid var(--border);background:var(--page-bg)}.modal__main{flex:1;min-width:0;overflow-y:auto;padding:20px 22px}@media(max-width:820px){.modal--with-sidebar{flex-direction:column}.modal__sidebar{width:auto;border-right:none;border-bottom:1px solid var(--border)}}.modal__error,.modal-error{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1px solid rgba(196,56,44,.5);border-radius:var(--radius-control);background:#c4382c1f;color:#e8938a;font:400 13px/1.5 var(--font-ui)}.modal__loading,.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;color:var(--text-muted);font:400 13px/1 var(--font-ui)}.form-label{font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0;line-height:1.4}.form-group{gap:7px}.form-group .form-label{margin-bottom:0}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--page-bg);color:var(--text-body);font:400 13.5px/1.35 var(--font-ui);transition:border-color .18s,box-shadow .18s,background .18s}.form-input[type=number],.form-input.is-numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-faint)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-bevel-ctrl)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-flat)}.form-input.error,.form-input[aria-invalid=true],.form-input--error,.form-textarea.error,.form-textarea.form-input--error,.form-select.error,.form-select.form-input--error{border-color:var(--negative);box-shadow:0 0 0 3px #e0736b24}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed}.form-textarea{min-height:90px;resize:vertical;font-family:var(--font-ui)}.form-select{appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-error{font:400 12px/1.4 var(--font-ui);color:var(--negative);margin:0}.form-help,.form-hint{font:400 12px/1.45 var(--font-ui);color:var(--text-faint);margin:0}.form-checkbox,.check-row{display:inline-flex;align-items:center;gap:9px;font:400 13.5px/1 var(--font-ui);color:var(--text-body);cursor:pointer}.form-checkbox input,.check-row input[type=checkbox],.check-row input[type=radio]{appearance:none;width:16px;height:16px;flex:none;margin:0;border:1px solid var(--border-strong);background:var(--page-bg);cursor:pointer;transition:background .15s,border-color .15s}.form-checkbox input[type=checkbox],.check-row input[type=checkbox]{border-radius:2px}.form-checkbox input[type=radio],.check-row input[type=radio]{border-radius:50%}.form-checkbox input:checked,.check-row input:checked{background:var(--accent);border-color:var(--accent)}.form-checkbox input[type=checkbox]:checked:after,.check-row input[type=checkbox]:checked:after{content:"";display:block;width:4px;height:8px;margin:1px auto 0;border:solid var(--btn-primary-fg);border-width:0 2px 2px 0;transform:rotate(45deg)}.form-checkbox input[type=radio]:checked:after,.check-row input[type=radio]:checked:after{content:"";display:block;width:6px;height:6px;margin:4px auto;border-radius:50%;background:var(--btn-primary-fg)}.form-checkbox input:focus-visible,.check-row input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.form-toggle{position:relative;width:38px;height:21px;flex:none;border:1px solid var(--border-strong);border-radius:999px;background:var(--page-bg);cursor:pointer;transition:background .18s,border-color .18s}.form-toggle:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--text-muted);transition:transform .18s,background .18s}.form-toggle[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent)}.form-toggle[aria-checked=true]:after{transform:translate(17px);background:var(--accent)}.tab-navigation{display:flex;gap:2px}.tab-navigation--horizontal{flex-direction:row;border-bottom:1px solid var(--border)}.tab-navigation--vertical{flex-direction:column;border-bottom:none;border-right:1px solid var(--border);width:280px;flex-shrink:0}.tab-navigation__item{position:relative;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:none;background:none;appearance:none;box-shadow:none;outline:none;color:var(--text-muted);font:400 13px/1 var(--font-ui);cursor:pointer;transition:color .18s,background .18s;width:auto;text-align:left;border-radius:0}.tab-navigation--vertical .tab-navigation__item{justify-content:flex-start;width:100%;padding:14px 16px}.tab-navigation__item:hover:not(:disabled){color:var(--text-body);background:var(--overlay-light-03)}.tab-navigation__item--active{color:var(--text-primary);font-weight:700;background:none}.tab-navigation--horizontal .tab-navigation__item--active{position:relative}.tab-navigation--horizontal .tab-navigation__item--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.tab-navigation--vertical .tab-navigation__item--active{border-right:2px solid var(--accent);margin-right:-1px}.tab-navigation__item--disabled,.tab-navigation__item:disabled{opacity:.38;cursor:not-allowed}.tab-navigation__icon{display:inline-flex;width:16px;height:16px;font-size:inherit;flex-shrink:0}.tab-navigation__icon svg{width:16px;height:16px;fill:currentColor}.tab-navigation__label{flex:1}.tab-navigation__count{font:400 11px/1 var(--font-mono);color:var(--text-faint);font-variant-numeric:tabular-nums}.tab-navigation__item--active .tab-navigation__count{color:var(--accent)}.data-table-container{background:var(--surface-card);border-radius:var(--radius-card);overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-dark-md)}.data-table{width:100%;border-collapse:collapse;font:400 13px/1.35 var(--font-ui)}.data-table th{position:sticky;top:0;z-index:1;padding:10px 14px;text-align:left;background:var(--surface-control);border-bottom:1px solid var(--border);font:700 9.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.data-table th[aria-sort],.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--text-body);background:var(--surface-control)}.data-table th[aria-sort=ascending]:after{content:" ▲";color:var(--accent);font-size:8px}.data-table th[aria-sort=descending]:after{content:" ▼";color:var(--accent);font-size:8px}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-body);vertical-align:middle}.data-table td.num,.data-table td.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--overlay-light-03)}.data-table tbody tr.is-selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.data-table tbody tr.sick{background:#c4382c17;box-shadow:inset 2px 0 0 var(--critical)}.data-table tbody tr.sick:hover{background:#c4382c26}.data-table tbody tr.is-deceased{opacity:.55}.data-table--compact td,.data-table--compact th{padding:7px 12px}@media(max-width:768px){.data-table-container{-webkit-overflow-scrolling:touch}}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;background:none;border-radius:0;box-shadow:none;margin-top:0}.pagination-btn{font-family:var(--font-ui);padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-muted);font:400 12.5px/1 var(--font-ui);cursor:pointer;transition:border-color .18s,color .18s}.pagination-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary);background:var(--surface-control)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed;background:var(--surface-control)}.pagination-info{font:400 12px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint);font-weight:400}.stat-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--border);overflow:hidden;padding:0;box-shadow:none}.stat-bar-item{padding:14px 16px;background:var(--surface-flat);text-align:center}.stat-bar-label{font:700 9.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0}.stat-bar-value{margin-top:7px;font:700 19px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.stat-bar-value.is-text{font:700 18px/1 var(--font-display);letter-spacing:.01em}.events-filter-bar{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-flat);margin-bottom:14px}.events-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.events-search-input,.events-cycle-input{padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--page-bg);color:var(--text-body);font:400 13px/1 var(--font-ui)}.events-search-input{flex:1;min-width:180px}.events-cycle-input{width:84px;font-family:var(--font-mono)}.events-cycle-label{font:700 9.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.events-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-faint);font:400 11.5px/1 var(--font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,border-color .15s,background .15s;opacity:1}.events-chip:hover{color:var(--text-body);border-color:var(--border-strong)}.events-chip.active{color:var(--text-primary);border-color:var(--chip-color, var(--accent));background:var(--overlay-light-03)}.events-chip-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--chip-color, var(--text-faint));margin-right:0}.events-chip.active .events-chip-dot{box-shadow:0 0 7px var(--chip-color, var(--accent))}.events-chip--toggle-all{opacity:1;font-weight:700;min-width:3rem;justify-content:center;color:var(--text-body);border-color:var(--border-strong)}.events-list-accordion{display:flex;flex-direction:column;gap:8px}.event-accordion-item,.event-card{position:relative;overflow:hidden;background:var(--surface-card);border-radius:var(--radius-card);box-shadow:none;transition:border-color .2s,transform .2s,box-shadow .2s}.event-card{display:flex;padding:16px}.event-accordion-item:hover,.event-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-dark-md)}.event-accordion-item:before,.event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--event-color, var(--border-bevel))}.event-accordion-item.population,.event-card.population{--event-color: var(--event-color-population) }.event-accordion-item.health,.event-card.health{--event-color: var(--event-color-health) }.event-accordion-item.celebration,.event-card.celebration{--event-color: var(--event-color-celebration) }.event-accordion-item.conflict,.event-card.conflict{--event-color: var(--event-color-conflict) }.event-accordion-item.tragedy,.event-card.tragedy{--event-color: var(--event-color-tragedy) }.event-accordion-item.infrastructure,.event-card.infrastructure{--event-color: var(--event-color-infrastructure) }.event-accordion-item.diplomatic,.event-card.diplomatic{--event-color: var(--event-color-diplomatic) }.event-accordion-item.spiritual,.event-card.spiritual{--event-color: var(--event-color-spiritual) }.event-accordion-item.natural_event,.event-card.natural_event{--event-color: var(--event-color-natural_event) }.event-accordion-item.narrative,.event-card.narrative{--event-color: var(--event-color-narrative) }.event-accordion-item.migration,.event-card.migration{--event-color: var(--event-color-migration) }.event-accordion-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;transition:background .18s}.event-accordion-header:hover{background:var(--overlay-light-03)}.event-summary{display:flex;align-items:center;flex:1;min-width:0}.event-basic-info{flex:1;min-width:0;margin-left:12px}.event-title{font:400 14px/1.3 var(--font-ui);color:var(--text-body)}.event-cycle{font:400 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:5px}.event-preview{font:400 12.5px/1.4 var(--font-ui);color:var(--text-muted);margin-top:3px}.event-expand-icon{color:var(--text-faint);font-size:11px;transition:transform .2s;margin-left:10px}.event-accordion-item.is-open .event-expand-icon{transform:rotate(90deg)}.event-accordion-content{padding:0 16px 16px;border-top:1px solid var(--border);background:var(--page-bg)}.event-full-description{font:400 13.5px/1.6 var(--font-ui);color:var(--text-body);padding-top:13px;max-width:84ch;text-wrap:pretty;margin:0}.event-metadata{display:flex;gap:18px;margin-top:11px;font:400 11px/1 var(--font-mono);color:var(--text-faint)}.event-type{font-weight:700}.event-date{font-style:normal}.event-group-children,.event-cluster-children{display:flex;flex-direction:column;gap:6px;margin-top:8px;margin-left:12px;padding-left:14px;border-left:1px solid var(--border)}.event-group-child{font:400 11.5px/1.3 var(--font-ui);color:var(--text-muted)}.event-group-toggle{background:none;border:none;padding:0;margin-top:6px;color:var(--accent);font:400 11.5px/1 var(--font-ui);cursor:pointer}.no-events{text-align:center;padding:40px 20px;color:var(--text-muted);background:var(--surface-card);border-radius:var(--radius-card);box-shadow:none}.no-events p{margin:10px 0}.no-events p:first-child{font-weight:700;font-size:14px;color:var(--text-body)}.calendar-header{padding:20px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);text-align:center;margin-bottom:20px;box-shadow:none}.current-date-display{display:flex;align-items:baseline;justify-content:center;gap:20px;flex-wrap:wrap}.current-month{display:flex;align-items:center;gap:10px;font:700 26px/1 var(--font-display);color:var(--text-primary)}.current-season{font:400 13px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-left:0}.current-year{font:700 20px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted)}.calendar-name{font:400 12px/1 var(--font-ui);color:var(--text-faint);font-style:italic}.calendar-main{padding:0;min-height:0}.panel-card{padding:18px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:none}.panel-card h3{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border);font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.calendar-center{position:sticky;top:20px}.circular-calendar{aspect-ratio:1;width:fit-content;padding:18px;border:1px solid var(--border);border-radius:50%;background:radial-gradient(circle at 50% 40%,var(--surface-flat),var(--page-bg) 70%);box-shadow:none}.season-arc{cursor:pointer;transition:opacity .2s}.season-arc.active{filter:drop-shadow(0 0 8px var(--accent-line))}.season-arc.selected{filter:drop-shadow(0 0 12px var(--accent));stroke-width:3}.month-node{cursor:pointer}.month-node.active .month-circle{filter:drop-shadow(0 0 8px var(--accent));animation:none}.month-node.selected .month-circle{filter:drop-shadow(0 0 12px var(--accent));stroke:var(--accent);animation:none}.current-overview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.overview-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--page-bg);text-align:center}.overview-label{font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.overview-value{font:700 13px/1 var(--font-ui);color:var(--text-primary)}.detail-section .modifiers-table{width:100%;border-collapse:collapse;margin-top:8px;font:400 12.5px/1.3 var(--font-ui)}.detail-section .modifiers-table th{padding:6px 4px;text-align:left;border-bottom:1px solid var(--border);font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.detail-section .modifiers-table td{padding:6px 4px;border-bottom:1px solid var(--border);color:var(--text-body)}.modifier-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;text-align:right;white-space:nowrap}.modifier-value.up{color:var(--positive)}.modifier-value.down{color:var(--negative)}.modifier-value.neutral{color:var(--text-faint)}.modifiers-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 0;border:none;background:none;cursor:pointer;text-align:left;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.modifiers-toggle:hover{color:var(--text-body)}.modifiers-arrow{font-size:9px;color:var(--text-faint);transition:transform .15s}.modifiers-toggle.open .modifiers-arrow{transform:rotate(90deg)}.modifiers-toggle-detail{margin-left:6px;font:400 10.5px/1 var(--font-ui);letter-spacing:0;text-transform:none;color:var(--text-faint);font-weight:400}.unlocks-section-collapsible__body{margin-top:10px}.calc-card{padding:18px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:none}.calc-card h3{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border);font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:left;text-shadow:none}.calc-card-table{width:100%;border-collapse:collapse;font:400 13px/1.4 var(--font-ui)}.calc-card-table td{padding:7px 0;border-bottom:1px solid var(--border)}.calc-card-table td:first-child{color:var(--text-muted);font-weight:400}.calc-card-table td:last-child{text-align:right;font-family:var(--font-mono);font-weight:400;font-variant-numeric:tabular-nums;color:var(--text-body)}.calc-card-total{border-top:1px solid var(--border-bevel);background:none}.calc-card-total td{padding:11px 0;border-bottom:none;font-weight:700;color:var(--text-primary);font-size:13px}.calc-card-separator td{border-top:1px solid var(--border);padding-top:9px}.calc-card-table td.calc-card-value--positive{color:var(--positive)}.calc-card-table td.calc-card-value--negative{color:var(--negative)}.calc-card-summary{position:relative;overflow:hidden;border-color:var(--border-bevel-ctrl);background:var(--surface-control);box-shadow:none}.calc-card-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.calc-card-summary h3{color:var(--accent);text-align:left}.calc-card-summary .calc-card-total td{font-size:15px}.calc-card-summary .calc-card-table td{color:inherit;border-bottom:1px solid var(--border)}.revenues-summary-full-width{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;margin-bottom:28px;width:100%}.revenues-summary-full-width .calc-card:first-child{display:flex;flex-direction:column;height:100%}.revenues-summary-full-width .calc-card:first-child .calc-card-table{flex:1}.modifiers-section{margin-top:28px}.modifiers-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.modifiers-column{display:flex;flex-direction:column;gap:14px}.modifiers-column-title{margin:0 0 8px;padding-bottom:9px;border-bottom:1px solid var(--border);font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:left}@media(max-width:900px){.revenues-summary-full-width,.modifiers-grid{grid-template-columns:1fr}}.progress-bar{width:100%;height:6px;overflow:hidden;border-radius:var(--radius-bar);background:var(--surface-inset);margin-bottom:0}.progress-bar--compact{height:4px}.progress-fill{height:100%;border-radius:var(--radius-bar);background:var(--accent);transition:width .3s ease}.progress-fill.is-complete{background:var(--positive)}.progress-fill.is-stalled{background:var(--text-faint)}.progress-text{margin-top:5px;font:400 11.5px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint);text-align:left}.construction-queue-item{padding:11px 0;border-bottom:1px solid var(--border)}.construction-queue-item:last-child,.construction-queue-item--compact{border-bottom:none}.construction-queue-item-name{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;font:400 13px/1.2 var(--font-ui);color:var(--text-body);font-weight:400}.cycle-modal-content{display:flex;flex-direction:column;gap:20px}.cycle-modal-section-title{margin:0 0 12px;display:flex;align-items:center;gap:8px;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.cycle-modal-section-title svg{width:14px;height:14px;fill:var(--text-muted)}.cycle-modal-events-count{color:var(--text-faint);font-size:13px;margin:0}.cycle-modal-events{display:flex;flex-direction:column;gap:7px}.cycle-modal-event-item{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-flat);font:400 13px/1.4 var(--font-ui);color:var(--text-body);animation:mgs-ink-rise .35s ease-out both}.cycle-modal-events>:nth-child(1){animation-delay:0s}.cycle-modal-events>:nth-child(2){animation-delay:.05s}.cycle-modal-events>:nth-child(3){animation-delay:.1s}.cycle-modal-events>:nth-child(4){animation-delay:.15s}.cycle-modal-events>:nth-child(5){animation-delay:.2s}.cycle-modal-event-icon{color:var(--text-muted)}.cycle-modal-event-text{color:var(--text-body)}.cycle-modal-no-events{color:var(--text-faint);font-style:italic;font-size:13px}.cycle-modal-resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.cycle-modal-panel{padding:15px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card)}.cycle-modal-panel-title{margin:0 0 11px;display:flex;align-items:center;gap:7px;font:700 9.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.cycle-modal-panel-title svg{width:13px;height:13px;fill:var(--text-muted)}.cycle-modal-rows{display:flex;flex-direction:column;gap:6px}.cycle-modal-row,.cycle-modal-row-total{display:flex;justify-content:space-between;gap:12px;font:400 12.5px/1.3 var(--font-ui);color:var(--text-muted)}.cycle-modal-row span:last-child,.cycle-modal-row-total span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cycle-modal-row-total{margin-top:4px;padding-top:9px;border-top:1px solid var(--border);font-weight:700;color:var(--text-primary)}.cycle-modal-val-positive,.cycle-modal-balance.positive{color:var(--positive)}.cycle-modal-val-negative,.cycle-modal-balance.negative{color:var(--negative)}.cycle-modal-balance{font-weight:700}.cycle-modal-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.cycle-modal-stat-card{padding:13px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-flat)}.cycle-modal-stat-icon{color:var(--text-muted);margin-bottom:6px;display:flex;justify-content:center}.cycle-modal-stat-icon svg{width:20px;height:20px;fill:var(--text-muted)}.cycle-modal-stat-label{font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.cycle-modal-stat-value{margin-top:7px;font:700 17px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.cycle-modal-calendar{position:relative;overflow:hidden;padding:15px 17px;border:1px solid var(--border-bevel-ctrl);border-radius:var(--radius-card);background:var(--surface-control)}.cycle-modal-calendar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.cycle-modal-calendar-title{margin:0 0 9px;display:flex;align-items:center;gap:7px;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.cycle-modal-calendar-title svg{width:13px;height:13px;fill:var(--accent)}.cycle-modal-calendar-body{line-height:1.6}.cycle-modal-calendar-line{margin:0 0 5px;font:400 13px/1.5 var(--font-ui);color:var(--text-body)}.cycle-modal-state{padding:40px 20px;text-align:center}.cycle-modal-state.error{color:var(--negative)}.cycle-modal-state.muted{color:var(--text-muted)}.cycle-modal-state-icon{color:var(--text-faint);margin-bottom:14px;display:flex;justify-content:center}.cycle-modal-state-icon svg{width:26px;height:26px;fill:currentColor}.cycle-modal-state-subtext{margin-top:7px;font-size:12.5px;color:var(--text-faint)}.detail-modal__section-title{margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--border);font:700 9.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.detail-modal__section-title--primary{border-bottom-color:var(--border-bevel);color:var(--text-muted)}.detail-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 18px}.detail-modal__field{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-modal__field--full{grid-column:1 / -1}.detail-modal__field-label{font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.detail-modal__field-value{font:400 13.5px/1.35 var(--font-ui);color:var(--text-body)}.detail-modal__field-value.is-numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.inhabitant-details-top{display:grid;grid-template-columns:1fr 200px;gap:18px;align-items:start}@media(max-width:720px){.inhabitant-details-top{grid-template-columns:1fr}}.inhabitant-details-portrait{width:200px;aspect-ratio:3/4;margin:0 auto;border:1px solid var(--border-strong);outline:none;outline-offset:0;border-radius:var(--radius-card);background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s}.inhabitant-details-portrait:hover:not(.is-readonly){border-color:var(--accent);box-shadow:0 0 24px -8px var(--accent)}.inhabitant-details-portrait.is-readonly{cursor:default}.inhabitant-details-health.is-sick{color:var(--negative)}.inhabitant-details-health.is-healthy{color:var(--positive)}.inhabitant-details-prose{padding:12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--page-bg);font:400 13.5px/1.6 var(--font-ui);color:var(--text-body)}.inhabitant-details-prose-pre{white-space:pre-wrap}.inhabitant-details-placeholder{color:var(--text-faint);font-style:italic}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-bar);border:1px solid transparent;font:700 9.5px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:var(--overlay-light-05);color:var(--text-muted)}.badge--neutral{background:var(--overlay-light-05);color:var(--text-muted)}.badge--accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.badge--success{background:#6bbd8521;border-color:#6bbd8566;color:var(--positive)}.badge--warning{background:#e0a04a21;border-color:#e0a04a66;color:var(--warning)}.badge--danger{background:#c4382c21;border-color:#c4382c73;color:var(--critical)}.badge--info{background:#7fa8d821;border-color:#7fa8d866;color:#7fa8d8}.pc-badge{display:inline-flex;padding:3px 8px;border-radius:var(--radius-bar);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);font:700 9.5px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-left:8px}.inhabitant-details-tag{display:inline-flex;padding:3px 8px;border-radius:var(--radius-bar);font:700 9.5px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;color:var(--fantasy-text)}.inhabitant-details-tag.tag-warning{background:#e0a04a21;border-color:#e0a04a66;color:var(--warning)}.inhabitant-details-tag.tag-info{background:#7fa8d821;border-color:#7fa8d866;color:#7fa8d8}.inhabitant-details-tag.tag-secondary{background:var(--overlay-light-05);color:var(--text-muted)}.status-sick{color:var(--negative)}.status-healthy{color:var(--positive)}.info-box,.delete-warning,.alert,.warning-content{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-flat);font:400 13px/1.55 var(--font-ui);color:var(--text-body);margin-bottom:0}.info-box{border-color:#7fa8d859;background:#7fa8d814}.delete-warning,.alert--danger{border-color:#c4382c73;background:#c4382c1a}.alert--warning{border-color:#e0a04a66;background:#e0a04a1a}.alert--success{border-color:#6bbd8566;background:#6bbd851a}.info-box__icon,.warning-icon{flex:none;width:18px;height:18px;margin-top:1px}.info-box__icon svg,.warning-icon svg{width:18px;height:18px;fill:currentColor}.info-box .info-box__icon{color:#7fa8d8}.info-box__content p{margin:0;color:var(--text-body);font-size:13px;line-height:1.4}.delete-warning .warning-icon{color:var(--critical)}.warning-message{font-weight:700;color:var(--critical);margin-bottom:4px}.warning-details{margin:0;font-size:12.5px;color:var(--text-muted)}.simulation-details{padding:14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--page-bg)}.simulation-details .detail-item{display:flex;justify-content:space-between;gap:14px;padding:5px 0;font:400 13px/1.4 var(--font-ui)}.simulation-details .detail-label{color:var(--text-muted)}.simulation-details .detail-value{color:var(--text-body);text-align:right;max-width:60%;word-break:break-word}.confirmation-text{font:400 13px/1.5 var(--font-ui);color:var(--text-body);margin-bottom:7px}.invite-code-input{font-family:var(--font-mono)!important;font-size:17px;letter-spacing:.14em;text-align:center}.mgs-tooltip{position:absolute;z-index:9999;transform:translate(-50%);max-width:300px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-body);font:400 12px/1.45 var(--font-ui);box-shadow:0 12px 28px -12px #000000e6;pointer-events:none;white-space:normal;animation:mgs-tooltip-in .12s ease-out both}@keyframes mgs-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(-3px)}to{opacity:1;transform:translate(-50%)}}.notifications-container,.toast-stack{position:fixed;right:18px;bottom:18px;top:auto;z-index:1100;display:flex;flex-direction:column;gap:9px;max-width:380px;width:100%}.notification,.toast{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid var(--border-strong);border-top:1px solid var(--border-bevel-ctrl);border-radius:var(--radius-card);background:var(--surface-control);box-shadow:0 18px 36px -18px #000000e6;font:400 13px/1.45 var(--font-ui);color:var(--text-body);animation:mgs-toast-in .22s cubic-bezier(.2,.8,.3,1) both}@keyframes mgs-toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.notification:before,.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.notification-success:before,.toast--success:before{background:var(--positive)}.notification-error:before,.toast--error:before{background:var(--critical)}.notification-warning:before,.toast--warning:before{background:var(--warning)}.notification-title{font-weight:700;margin-bottom:3px;color:var(--text-primary)}.notification-message{font-size:12.5px;line-height:1.4;white-space:pre-line;color:var(--text-body)}.notification-close,.toast__close{margin-left:auto;flex:none;border:none;background:none;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1;transition:color .15s}.notification-close:hover,.toast__close:hover{color:var(--text-primary)}.no-data,.loading,.error,.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:44px 24px;border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface-flat);text-align:center;color:var(--text-muted);font:400 13.5px/1.55 var(--font-ui)}td.no-data{display:table-cell}.error,.error-message{border-style:solid;border-color:#c4382c66;background:#c4382c14;color:#e8938a}.loading-spinner{width:16px;height:16px;flex:none;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:mgs-spin .8s linear infinite;display:inline-block}.loading-spinner.small{width:13px;height:13px;border-width:1.5px}@keyframes mgs-spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-bar);background:linear-gradient(90deg,var(--surface-inset) 25%,var(--overlay-light-05) 50%,var(--surface-inset) 75%);background-size:200% 100%;animation:mgs-shimmer 1.4s ease-in-out infinite}@keyframes mgs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filter-bar,.population-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-flat);margin-bottom:16px;box-shadow:none}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:0}.filter-group>label{font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.filter-row,.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.search-and-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.clear-filters-btn{padding:8px 13px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:none;color:var(--text-muted);font:400 12px/1 var(--font-ui);cursor:pointer;transition:color .18s,border-color .18s}.clear-filters-btn:hover{color:var(--accent);border-color:var(--accent)}.modal-color-swatch{width:26px;height:26px;flex:none;border:1px solid var(--border-strong);border-radius:var(--radius-control);cursor:pointer;transition:transform .15s,box-shadow .15s;padding:0}.modal-color-swatch:hover{transform:scale(1.08)}.modal-color-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text-muted)}.modifiers-table-container{margin-bottom:22px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);overflow:hidden}.modifiers-table-container.compact{margin-bottom:14px}.modifiers-table-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;background:var(--surface-control);border-bottom:1px solid var(--border)}.modifiers-table-title-row{display:flex;align-items:center;gap:10px;min-width:0}.modifiers-table-header h3{margin:0;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.total-effect{font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.total-effect .positive{color:var(--positive)}.total-effect .negative{color:var(--negative)}.add-modifier-btn-compact{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent-line);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent);font:700 14px/1 var(--font-ui);cursor:pointer;transition:background .18s,border-color .18s,color .18s}.add-modifier-btn-compact:hover{background:var(--accent);border-color:var(--accent);color:var(--btn-primary-fg)}.modifiers-table-toggle{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:none;color:var(--text-muted);font-size:9px;cursor:pointer;transition:color .16s,border-color .16s,transform .18s}.modifiers-table-toggle:hover{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.modifiers-table-container.is-open .modifiers-table-toggle{transform:rotate(90deg)}.modifiers-table-container:not(.is-open) .modifiers-table,.modifiers-table-container:not(.is-open) .add-modifier-form{display:none}.modifiers-table-container:not(.is-open) .modifiers-table-header{border-bottom:none}.modifiers-table-container .modifiers-table{width:100%;border-collapse:collapse;font:400 12.5px/1.35 var(--font-ui)}.modifiers-table-container .modifiers-table th{padding:9px 14px;text-align:left;border-bottom:1px solid var(--border);font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);background:none}.modifiers-table-container .modifiers-table td{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--text-body);vertical-align:middle}.modifiers-table-container .modifiers-table tr:last-child td{border-bottom:none}.modifiers-table-container .modifiers-table tbody tr{transition:background .15s}.modifiers-table-container .modifiers-table tbody tr:hover{background:var(--overlay-light-03)}.modifiers-table-container .modifiers-table .positive{color:var(--positive);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.modifiers-table-container .modifiers-table .negative{color:var(--negative);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.modifiers-table-container .modifiers-table td.duration-cell{white-space:nowrap;font:400 11.5px/1.3 var(--font-mono);color:var(--text-faint)}.modifiers-table-container .modifiers-table th:nth-child(1){width:18%}.modifiers-table-container .modifiers-table th:nth-child(2){width:12%}.modifiers-table-container .modifiers-table th:nth-child(3){width:38%}.modifiers-table-container .modifiers-table th:nth-child(4){width:18%}.modifiers-table-container .modifiers-table th:nth-child(5){width:14%;text-align:right}.modifiers-table-container .modifiers-table td:nth-child(5){text-align:right}.building-modifier-info,.research-modifier-info{display:inline-flex;align-items:center;gap:4px;color:var(--text-faint);cursor:default;white-space:nowrap}.add-modifier-form{padding:14px;background:var(--page-bg);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.add-modifier-form h3{margin:0;font:700 9.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.add-modifier-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-buttons{display:flex;gap:8px}.add-modifier-form .form-group>label{display:block;margin:0 0 7px;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);line-height:1.4}.add-modifier-form .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--page-bg);color:var(--text-body);font:400 13.5px/1.35 var(--font-ui);transition:border-color .18s,box-shadow .18s,background .18s}.add-modifier-form .form-group input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.add-modifier-form .form-group input::placeholder{color:var(--text-faint)}.add-modifier-form .form-group input:hover{border-color:var(--border-bevel-ctrl)}.add-modifier-form .form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-flat)}.modifiers-table-container .action-buttons,.defense-means-table .action-buttons{display:flex;gap:4px;justify-content:flex-end}.btn--xs{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-muted);cursor:pointer;transition:color .16s,border-color .16s,background .16s}.btn--xs:hover{background:var(--overlay-light-08);color:var(--text-primary)}.btn--xs:disabled{opacity:.4;cursor:not-allowed}.btn--info.btn--xs:hover{border-color:#7fa8d8;color:#a8c6e8}.btn--edit.btn--xs:hover{border-color:var(--accent);color:var(--accent)}.btn--danger.btn--xs{color:var(--text-muted)}.btn--danger.btn--xs:hover{border-color:var(--critical);color:#e8938a;background:#c4382c1f}@media(max-width:768px){.btn--xs{width:34px;height:34px;min-width:34px}.add-modifier-form .form-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.search-and-actions{margin-left:0;width:100%}.data-table th,.data-table td{padding:12px 10px}.tab-navigation__item{min-height:44px}.events-chip{min-height:34px}.pagination-btn{min-height:44px}.modal-overlay{padding:0;align-items:flex-end}.modal-content{width:100%;max-height:92vh;border-radius:var(--radius-card) var(--radius-card) 0 0}.modal-footer{flex-direction:column-reverse;align-items:stretch}.modal-footer .btn{width:100%}}.buildings-filter-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.buildings-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.buildings-search{display:flex;align-items:center;gap:10px;margin-left:auto}@media(max-width:768px){.buildings-filters,.buildings-search{width:100%;margin-left:0}}.buildings-tab-unified .data-table-container{border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);overflow:auto;max-height:calc(100vh - 260px)}.buildings-tab-unified .data-table{width:100%;min-width:880px;border-collapse:separate;border-spacing:0;font:400 13px/1.35 var(--font-ui)}.buildings-tab-unified .data-table thead th{position:sticky;top:0;z-index:2;padding:9px 12px;text-align:left;background:var(--surface-control);border-bottom:1px solid var(--border-strong);font:700 9px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.buildings-tab-unified .data-table thead th.sortable{cursor:pointer}.buildings-tab-unified .data-table thead th.sortable:hover{color:var(--text-body)}.buildings-tab-unified .data-table tbody td{height:40px;padding:0 12px;border-bottom:1px solid var(--border);color:var(--text-body);vertical-align:middle}.buildings-tab-unified .data-table tbody tr:last-child td{border-bottom:none}.buildings-tab-unified .data-table tbody tr.building-row{transition:background .14s}.buildings-tab-unified .data-table tbody tr.building-row:hover{background:var(--overlay-light-03)}.buildings-tab-unified .data-table tbody tr.building-row-damaged td:first-child{box-shadow:inset 2px 0 0 var(--warning)}.buildings-tab-unified .building-name{display:flex;align-items:center;gap:10px;min-width:0}.buildings-tab-unified .type-icon{display:inline-flex;flex:none;width:17px;height:17px}.buildings-tab-unified .type-icon svg{width:100%;height:100%;display:block;flex-shrink:0}.buildings-tab-unified .name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13.5px/1.2 var(--font-ui);color:var(--text-primary)}.buildings-tab-unified .built-count-badge{flex:none;min-width:18px;padding:2px 5px;border:1px solid var(--border-strong);border-radius:var(--radius-bar);background:var(--overlay-light-05);font:700 9.5px/1.3 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center}.buildings-tab-unified .unique-badge-small{flex:none;min-width:18px;padding:2px 5px;border:1px solid var(--border-strong);border-radius:var(--radius-bar);background:var(--overlay-light-05);font:700 9.5px/1.3 var(--font-mono);color:var(--text-muted);text-align:center}.buildings-tab-unified .damaged-badge{display:inline-flex;align-items:center;gap:2px;flex:none;color:var(--warning);font:700 9.5px/1 var(--font-mono);font-variant-numeric:tabular-nums}.buildings-tab-unified .damaged-badge svg{width:13px;height:13px;fill:currentColor;display:block;flex-shrink:0}.buildings-tab-unified .data-table td.maintenance-value,.buildings-tab-unified .data-table td.habitations-value,.buildings-tab-unified .data-table td.cost-value,.buildings-tab-unified .data-table td.effort-value,.buildings-tab-unified .data-table td.cycles-value{width:74px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.buildings-tab-unified .data-table td.is-zero{color:var(--text-faint)}.buildings-tab .data-table thead th:nth-child(2),.buildings-tab .data-table thead th:nth-child(3){width:74px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.buildings-tab .data-table thead th:nth-child(2){border-left:1px solid var(--border)}.buildings-tab .data-table thead th:nth-child(4),.buildings-tab .data-table tbody td:nth-child(4){border-left:1px solid var(--border)}.building-plans-tab .data-table thead th:nth-child(2),.building-plans-tab .data-table thead th:nth-child(3),.building-plans-tab .data-table thead th:nth-child(4),.building-plans-tab .data-table thead th:nth-child(5),.building-plans-tab .data-table thead th:nth-child(6){width:74px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.building-plans-tab .data-table thead th:nth-child(2){border-left:1px solid var(--border)}.building-plans-tab .data-table thead th:nth-child(7),.building-plans-tab .data-table tbody td:nth-child(7){border-left:1px solid var(--border)}.buildings-tab-unified .data-table td.effects-cell{display:table-cell;overflow:hidden}.buildings-tab-unified .building-effects-display{display:flex;flex-wrap:nowrap;gap:5px;align-items:center;min-width:0}.buildings-tab-unified .effect-badge{display:inline-flex;align-items:baseline;gap:5px;flex:none;max-width:170px;padding:2px 7px;border-radius:var(--radius-bar);background:var(--overlay-light-05);font:400 11px/1.5 var(--font-ui);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buildings-tab-unified .effect-badge.is-more{background:none;padding-left:2px;color:var(--text-faint)}.buildings-tab-unified .effects-none,.buildings-tab-unified .effects-loading{color:var(--text-faint);font-size:12px}.buildings-tab .data-table td.conditions-cell{display:table-cell;text-align:center}.buildings-tab .building-conditions-display.compact{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:none;text-align:center}.buildings-tab .building-conditions-display.compact svg{width:14px;height:14px;display:block;fill:currentColor;flex-shrink:0}.buildings-tab .building-conditions-display.compact.success{color:var(--positive)}.buildings-tab .building-conditions-display.compact.error{color:var(--warning)}.buildings-tab-unified .data-table td.actions-cell,.buildings-tab-unified .data-table th:last-child{text-align:right;padding-right:14px;white-space:nowrap}.buildings-tab-unified .data-table td.actions-cell .btn.btn--xs{display:inline-flex;vertical-align:middle;margin-left:4px;border-color:transparent;background:none;color:var(--text-faint);transition:color .16s,border-color .16s,background .16s}.buildings-tab-unified .data-table td.actions-cell .btn svg{width:13px;height:13px;display:block;fill:currentColor;flex-shrink:0}.buildings-tab-unified .data-table tbody tr.building-row:hover td.actions-cell .btn.btn--xs{color:var(--text-muted)}.buildings-tab-unified .data-table td.actions-cell .btn--xs:hover{border-color:var(--border-strong);background:var(--overlay-light-05);color:var(--text-primary)}.buildings-tab-unified .data-table td.actions-cell .btn--danger.btn--xs:hover{border-color:var(--critical);background:#c4382c1f;color:#e8938a}.buildings-tab-unified .data-table td.actions-cell .btn--edit.btn--xs:hover{border-color:var(--warning);color:var(--warning)}.building-plans-tab .data-table td.actions-cell .btn-primary{padding:5px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-body);font:500 11.5px/1 var(--font-ui);box-shadow:none}.building-plans-tab .data-table td.actions-cell .btn-primary:after{display:none}.building-plans-tab .data-table td.actions-cell .btn-primary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface-control)}.building-plans-tab .data-table td.actions-cell .btn-primary:disabled{opacity:.4;cursor:not-allowed}.building-plans-tab .data-table td.actions-cell .queued-text,.building-plans-tab .data-table td.actions-cell .built-text{font:400 11.5px/1 var(--font-ui);color:var(--text-faint);font-style:normal}.building-plans-tab .data-table td.status-cell{text-align:left}.building-plans-tab .status-badge{display:inline-flex;align-items:center;gap:7px;padding:0;border:none;background:none;font:400 11.5px/1 var(--font-ui);font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-muted);white-space:nowrap}.building-plans-tab .status-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex:none;background:currentColor;opacity:1}.building-plans-tab .status-green{color:var(--positive)}.building-plans-tab .status-orange{color:var(--accent)}.building-plans-tab .status-red{color:var(--negative)}.building-plans-tab .status-blue{color:var(--text-faint)}@media(max-width:768px){.buildings-tab-unified .data-table-container{border:none;background:none;max-height:none;overflow:visible}.buildings-tab-unified .data-table,.buildings-tab-unified .data-table tbody{display:block;width:100%;min-width:0}.buildings-tab-unified .data-table thead{display:none}.buildings-tab-unified .data-table tbody tr.building-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin-bottom:8px;padding:12px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card)}.buildings-tab-unified .data-table tbody td{height:auto;padding:0;border-bottom:none;border-left:none!important}.buildings-tab-unified .data-table tbody td:first-child{grid-column:1 / -1}.buildings-tab-unified .data-table tbody td.maintenance-value,.buildings-tab-unified .data-table tbody td.habitations-value,.buildings-tab-unified .data-table tbody td.cost-value,.buildings-tab-unified .data-table tbody td.effort-value,.buildings-tab-unified .data-table tbody td.cycles-value{width:auto;text-align:left}.buildings-tab-unified .data-table tbody td.maintenance-value:before,.buildings-tab-unified .data-table tbody td.habitations-value:before,.buildings-tab-unified .data-table tbody td.cost-value:before,.buildings-tab-unified .data-table tbody td.effort-value:before,.buildings-tab-unified .data-table tbody td.cycles-value:before{content:attr(data-label) " ";font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-right:6px}.buildings-tab-unified .data-table tbody td.effects-cell,.buildings-tab-unified .data-table tbody td.conditions-cell,.building-plans-tab .data-table tbody td.status-cell{grid-column:1 / -1}.buildings-tab-unified .building-effects-display{flex-wrap:wrap}.buildings-tab-unified .data-table tbody td.actions-cell{grid-column:1 / -1;text-align:left;margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}.buildings-tab-unified .data-table td.actions-cell .btn{margin:0 4px 0 0;min-height:36px;min-width:36px}.building-plans-tab .data-table td.actions-cell .btn-primary{min-height:36px}}.justice-defense-tab{padding:0}.defense-means-section{margin-bottom:22px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:none;padding:0;overflow:hidden}.defense-means-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;background:var(--surface-control);border-bottom:1px solid var(--border);margin-bottom:0}.defense-means-header h3{margin:0;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.add-defense-button{padding:6px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-body);font:500 11.5px/1 var(--font-ui);cursor:pointer;transition:border-color .16s,color .16s,background .16s}.add-defense-button:hover{border-color:var(--accent);color:var(--accent)}.add-defense-form{padding:14px;border-bottom:1px solid var(--border);background:var(--page-bg);border-radius:0;margin-bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.add-defense-form .form-group:nth-child(2){grid-column:1 / -1}.add-defense-form .submit-button{grid-column:1 / -1;justify-self:start}.add-defense-form .form-group{margin-bottom:0;display:flex;flex-direction:column;gap:6px}.add-defense-form .form-group>label:not(.check-row),.add-defense-form .form-group .form-label{display:block;margin-bottom:0;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.add-defense-form .form-group input,.add-defense-form .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--page-bg);color:var(--text-body);font:400 13.5px/1.35 var(--font-ui);transition:border-color .18s,box-shadow .18s,background .18s}.add-defense-form .form-group input::placeholder,.add-defense-form .form-group textarea::placeholder{color:var(--text-faint)}.add-defense-form .form-group input:focus,.add-defense-form .form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-flat)}.add-defense-form .form-group input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.add-defense-form .form-group textarea{height:auto;min-height:76px;resize:vertical}.submit-button{padding:9px 16px;border:1px solid var(--accent);border-radius:var(--radius-control);background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:var(--btn-primary-fg);font:700 12.5px/1 var(--font-ui);cursor:pointer;transition:transform .16s,box-shadow .16s}.submit-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px var(--accent)}.defense-means-table{width:100%;border-collapse:collapse;font:400 13px/1.35 var(--font-ui)}.defense-means-table th{padding:9px 14px;text-align:left;background:none;border-bottom:1px solid var(--border-strong);font:700 9px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.defense-means-table td{height:40px;padding:0 14px;border-bottom:1px solid var(--border);color:var(--text-body);vertical-align:middle}.defense-means-table tbody tr:last-child td{border-bottom:none}.defense-means-table tbody tr{transition:background .14s}.defense-means-table tbody tr:hover{background:var(--overlay-light-03)}.defense-means-table th:nth-child(1){width:26%}.defense-means-table th:nth-child(2){width:auto}.defense-means-table th:nth-child(3),.defense-means-table td:nth-child(3){width:120px;text-align:right}.defense-means-table th:nth-child(4),.defense-means-table td:nth-child(4){width:90px;text-align:right;padding-right:14px}.defense-means-table .name-text{font:500 13.5px/1.2 var(--font-ui);color:var(--text-primary)}.defense-means-table td:nth-child(2){color:var(--text-muted);font-size:12.5px}.defense-means-table tbody tr.building-row-damaged td:first-child{box-shadow:inset 2px 0 0 var(--warning)}.defense-means-table .built-count-badge{display:inline-block;margin-left:8px;min-width:18px;padding:2px 5px;border:1px solid var(--border-strong);border-radius:var(--radius-bar);background:var(--overlay-light-05);font:700 9.5px/1.3 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center}.defense-means-table .damaged-badge{display:inline-flex;align-items:center;gap:2px;margin-left:6px;color:var(--warning);font:700 9.5px/1 var(--font-mono);font-variant-numeric:tabular-nums}.defense-means-table .damaged-badge svg{width:13px;height:13px;fill:currentColor;display:block;flex-shrink:0}.defense-means-table .amount-readonly{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-body)}.defense-means-table .amount-input{width:8rem;padding:6px 9px;border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--page-bg);color:var(--text-primary);font:700 13px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;box-shadow:0 0 0 3px var(--accent-soft)}.defense-means-table .amount-input:focus{outline:none}.defense-means-table .action-buttons.compact{display:flex;gap:4px;justify-content:flex-end}.defense-means-table .action-buttons .btn{border-color:transparent;background:none;color:var(--text-faint);transition:color .16s,border-color .16s,background .16s}.defense-means-table tbody tr:hover .action-buttons .btn{color:var(--text-muted)}.defense-means-table .action-buttons .btn:hover{border-color:var(--border-strong);background:var(--overlay-light-05);color:var(--text-primary)}.defense-means-table .action-buttons .btn--danger:hover{border-color:var(--critical);background:#c4382c1f;color:#e8938a}.defense-means-table .action-buttons .btn svg,.defense-means-table .save-btn svg,.defense-means-table .cancel-btn svg{width:13px;height:13px;display:block;fill:currentColor;flex-shrink:0}.defense-means-table .save-btn.compact,.defense-means-table .cancel-btn.compact{width:24px;height:24px;min-width:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);cursor:pointer;transition:color .16s,border-color .16s,background .16s}.defense-means-table .save-btn.compact{border-color:#6bbd8580;color:var(--positive)}.defense-means-table .save-btn.compact:hover{background:#6bbd8524;border-color:var(--positive)}.defense-means-table .cancel-btn.compact{color:var(--text-muted)}.defense-means-table .cancel-btn.compact:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary);background:var(--overlay-light-05)}.defense-means-table .no-data{height:auto;padding:34px 20px;text-align:center;color:var(--text-faint);font:400 13px/1.55 var(--font-ui);border-bottom:none}.crime-level-none,.crime-level-low{color:var(--positive)}.crime-level-moderate{color:var(--warning)}.crime-level-high{color:var(--negative)}.crime-level-critical{color:var(--critical);font-weight:700}@media(max-width:768px){.add-defense-form{grid-template-columns:1fr}.defense-means-table,.defense-means-table tbody{display:block;width:100%}.defense-means-table thead{display:none}.defense-means-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:0 10px 8px;padding:12px;border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card)}.defense-means-table tbody td{height:auto;padding:0;border-bottom:none}.defense-means-table tbody td:nth-child(1){grid-column:1 / -1}.defense-means-table tbody td:nth-child(2){grid-column:1 / -1}.defense-means-table tbody td:nth-child(3){width:auto;text-align:left}.defense-means-table tbody td:nth-child(4){width:auto}.defense-means-table .action-buttons .btn,.defense-means-table .save-btn.compact,.defense-means-table .cancel-btn.compact{min-height:36px;min-width:36px}.defense-means-table .no-data{display:block}}.language-switcher{padding:var(--space-5) 0}.language-options{display:flex;flex-direction:column;gap:var(--space-2-5);margin-top:var(--space-2-5)}.language-option{display:flex;align-items:center;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;transition:all var(--transition-base);background:var(--surface-secondary)}.language-option:hover,.language-option.selected{border-color:var(--fantasy-gold);background:var(--surface-secondary)}.language-flag{font-size:24px;margin-right:var(--space-3)}.language-name{flex:1;font-weight:500}.language-check{color:var(--fantasy-gold);font-weight:700;font-size:18px}.notifications-container{position:fixed;top:var(--space-5);right:var(--space-5);z-index:1100;display:flex;flex-direction:column;gap:var(--space-2-5);max-width:400px;width:100%}.notification{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-4);border-radius:var(--border-radius-sm);box-shadow:0 2px 10px var(--overlay-dark-10);animation:slide-in .3s ease-out;background-color:var(--surface-primary);border-left:4px solid var(--border-color-strong)}.notification-content{flex:1}.notification-title{font-weight:700;margin-bottom:var(--space-1)}.notification-message{font-size:var(--font-size-sm);line-height:1.4;white-space:pre-line}.notification-close{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--text-secondary);padding:0 0 0 var(--space-2-5);margin:-5px 0 0}.notification-close:hover{color:var(--text-primary)}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:480px){.notifications-container{right:var(--space-2-5);left:var(--space-2-5);max-width:none}}.notification-info{border-left-color:var(--color-info)}.notification-success{border-left-color:var(--color-success)}.notification-warning{border-left-color:var(--color-warning)}.notification-error{border-left-color:var(--color-danger)}.devlog-list{display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.devlog-entry{display:flex;flex-direction:column;gap:var(--space-2, .5rem);padding:var(--space-3, .75rem);border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface-secondary)}.devlog-entry-header{display:flex;align-items:center;gap:var(--space-2, .5rem)}.devlog-entry-app-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:var(--font-size-xs, .7rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;line-height:1.6}.devlog-entry-date{font-size:var(--font-size-sm, .8rem);color:var(--text-secondary)}.devlog-entry-title{font-family:var(--font-fantasy-title, serif);font-size:var(--font-size-base, 1rem);font-weight:600;color:var(--fantasy-gold, #c0a060);line-height:1.3}.devlog-entry-description{font-size:var(--font-size-sm, .875rem);color:var(--fantasy-text);line-height:1.5;white-space:pre-line}.terms-of-use__body{display:flex;flex-direction:column;color:var(--fantasy-text, var(--text-primary));line-height:1.6;font-size:var(--font-size-sm, .9rem)}.terms-of-use__body h2{margin:0 0 var(--space-2, .5rem);font-family:var(--font-fantasy-title, serif);font-size:var(--font-size-lg, 1.15rem);color:var(--fantasy-gold, #c0a060)}.terms-of-use__updated{margin:0 0 var(--space-4, 1rem);color:var(--text-secondary);font-size:var(--font-size-xs, .75rem)}.terms-of-use__body h3{margin:var(--space-4, 1rem) 0 var(--space-1, .25rem);font-size:var(--font-size-base, 1rem);font-weight:600;color:var(--fantasy-gold, #c0a060)}.terms-of-use__body p{margin:0}.simulation-options-form{width:100%}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--fantasy-gold);border-radius:var(--border-radius-circle);animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.options-section{margin-bottom:var(--space-8)}.section-description{color:var(--text-secondary);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.detail-label{color:var(--text-secondary)}.detail-value{font-weight:500;color:var(--text-primary)}.options-group{margin-bottom:var(--space-6);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-secondary)}.group-title{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-4);color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-2)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.form-label{font-weight:500;margin-bottom:var(--space-1)}.form-input,.form-select{padding:var(--space-2);border:1px solid var(--border-color-strong);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);transition:border-color .2s ease}.form-input:focus,.form-select:focus{box-shadow:0 0 0 2px var(--shadow-primary-sm)}.form-input:disabled,.form-select:disabled{background-color:var(--surface-secondary);opacity:.6;cursor:not-allowed}.form-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-1)}.checkbox-label{font-size:var(--font-size-sm);color:var(--text-primary)}.btn-icon{margin-right:var(--space-2)}.species-age-overrides{margin-top:var(--space-4);border-top:1px solid var(--border-color);padding-top:var(--space-4)}.species-age-overrides-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1) 0}.species-age-overrides-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0 0 var(--space-3) 0}.species-age-overrides-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border-color, var(--border-color))}.species-age-overrides-row:last-child{border-bottom:none}.species-age-overrides-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);min-width:80px}.species-age-overrides-inputs{display:flex;gap:var(--space-3)}.species-age-overrides-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-secondary)}.species-age-overrides-field .form-input{width:80px}.species-initial-counts{margin-top:var(--space-2)}.species-initial-counts-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1) 0}.species-initial-counts-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0 0 var(--space-3) 0}.species-initial-counts-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) 0}.species-initial-counts-row:last-of-type{border-bottom:none}.species-initial-counts-label{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap}.species-initial-counts-input{flex:0 0 80px;width:80px!important;text-align:right}.species-initial-counts-total{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-color);font-size:var(--font-size-sm);color:var(--text-primary)}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.icon-svg{display:contents}.icon-svg>svg{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex-shrink:0}.icon-emoji{display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-label{display:inline-flex;align-items:center;gap:.35em}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:var(--space-2);max-height:300px;overflow-y:auto;overflow-x:visible;padding:var(--space-2-5)}.icon-picker-item{display:flex;align-items:center;justify-content:center;padding:var(--space-2-5);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-primary);cursor:pointer;transition:all .2s ease;min-height:50px;position:relative;overflow:visible}.icon-picker-item:hover{background:var(--color-alert-info-bg);border-color:var(--fantasy-gold);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-primary-sm)}.icon-picker-item:focus{outline:none;background:var(--color-alert-info-bg);border-color:var(--fantasy-gold);box-shadow:0 0 0 3px var(--focus-ring-primary)}.icon-picker-item.selected{background:var(--color-alert-info-bg);border-color:var(--fantasy-gold);border-width:3px;box-shadow:0 0 0 2px var(--focus-ring-primary)}.icon-picker-item.selected:hover{background:var(--color-alert-info-border)}.icon-picker-item:focus-visible{outline:2px solid var(--fantasy-gold);outline-offset:2px}.icon-category-sidebar{width:150px;border-right:1px solid var(--border-color);background:var(--surface-secondary);overflow-y:auto}.icon-category-button{width:100%;padding:var(--space-3);border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-size:var(--font-size-xs);border-bottom:1px solid var(--surface-tertiary);transition:all .2s ease;display:flex;align-items:center;gap:var(--space-2)}.icon-category-button:hover{background:var(--surface-tertiary)}.icon-category-button:focus{outline:none;background:var(--border-color);box-shadow:inset 3px 0 0 var(--fantasy-gold)}.icon-category-button.active{background:var(--fantasy-gold);color:var(--fantasy-text);font-weight:700}.icon-category-button.active:hover{background:var(--fantasy-gold-dim)}.icon-picker-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--surface-secondary)}.icon-picker-tab{flex:1;padding:var(--space-3);border:none;background:transparent;cursor:pointer;font-weight:400;color:var(--text-secondary);transition:all .2s ease}.icon-picker-tab:hover{background:var(--surface-tertiary);color:var(--text-primary)}.icon-picker-tab:focus{outline:none;background:var(--border-color);box-shadow:inset 0 -3px 0 var(--fantasy-gold)}.icon-picker-tab.active{background:var(--surface-primary);border-bottom:2px solid var(--fantasy-gold);color:var(--fantasy-gold);font-weight:700}.icon-picker-toggle-mobile,.icon-category-trigger-mobile{display:none}.icon-category-sheet-overlay{position:fixed;inset:0;background:var(--overlay-dark-60, rgba(0, 0, 0, .6));z-index:100000;display:flex;align-items:flex-end}.icon-category-sheet{width:100%;max-height:70vh;overflow-y:auto;background:var(--surface-primary);border-top-left-radius:var(--border-radius-lg, 12px);border-top-right-radius:var(--border-radius-lg, 12px);box-shadow:0 -4px 24px var(--shadow-primary-sm);padding-bottom:env(safe-area-inset-bottom,0)}.icon-category-sheet-header{padding:var(--space-4);font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--surface-primary)}.icon-category-sheet-item{width:100%;padding:var(--space-4);border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-size:var(--font-size-base);border-bottom:1px solid var(--surface-tertiary);display:flex;align-items:center;gap:var(--space-3)}.icon-category-sheet-item.active{background:var(--fantasy-gold);color:var(--fantasy-text);font-weight:700}@media(max-width:768px){.icon-picker-tabs{display:none}.icon-picker-toggle-mobile{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--border-color);background:var(--surface-secondary);color:var(--fantasy-gold);font-weight:700;cursor:pointer}.icon-category-sidebar{display:none}.icon-category-trigger-mobile{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2-5) var(--space-3);margin-bottom:var(--space-2-5);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-secondary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(45px,1fr));gap:var(--space-px-6)}.icon-picker-item{min-height:45px;padding:var(--space-2)}}.icon-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-10);color:var(--text-secondary)}.icon-loading:after{content:"";width:20px;height:20px;border:2px solid var(--border-color);border-top:2px solid var(--fantasy-gold);border-radius:var(--border-radius-circle);animation:spin 1s linear infinite;margin-left:var(--space-2-5)}.building-effects-display{display:flex;flex-wrap:wrap;gap:var(--space-1)}.effect-badge{display:inline-flex;align-items:center;gap:var(--space-1);background-color:var(--surface-tertiary);color:var(--text-primary);padding:var(--space-px-2) var(--space-2);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);border:1px solid var(--border-color);white-space:nowrap}.effects-loading,.effects-none{font-style:italic;color:var(--text-secondary);font-size:var(--font-size-sm)}.month-icon{font-size:28px}.calendar-main{display:grid;grid-template-columns:400px 1fr;gap:var(--space-5);padding:0;min-height:500px;align-items:start}@media(max-width:1200px){.calendar-main{grid-template-columns:1fr;grid-template-rows:auto auto}.calendar-center{order:1}.info-panel{order:2}}@media(max-width:768px){.calendar-main{min-height:auto;gap:var(--space-4)}.calendar-center{position:static;top:auto}.circular-calendar{padding:var(--space-3);width:100%}.circular-calendar svg{width:100%;height:auto;max-width:420px}}.calendar-panel{display:flex;flex-direction:column;gap:var(--space-5)}.calendar-center{display:flex;align-items:flex-start;justify-content:center;position:sticky;top:var(--space-5)}.center-indicator{filter:drop-shadow(0 2px 4px var(--overlay-dark-10))}.welcome-info h3{margin:0 0 var(--space-4) 0;color:var(--text-primary);text-align:center;border:none;padding:0}.welcome-text p{color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-5);text-align:center}.overview-icon{font-size:20px;margin-bottom:var(--space-1)}.month-details h3,.season-details h3{margin:0 0 var(--space-2-5) 0;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2-5);border:none;padding:0}.detail-icon{font-size:24px}.detail-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-4);font-style:italic}.detail-description{color:var(--text-primary);line-height:1.5;margin-bottom:var(--space-5);padding:var(--space-2-5) 0}.detail-section{margin-bottom:var(--space-5)}.detail-section h4{margin:0 0 var(--space-2-5) 0;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.empty-state{text-align:center;padding:var(--space-5);color:var(--text-secondary)}.hint{font-size:var(--font-size-xs);font-style:italic;margin-top:var(--space-2-5)}.calendar-event-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--font-size-sm);border-bottom:1px solid var(--border-color)}.calendar-event-item:last-child{border-bottom:none}.modifier-col-name{width:85%}.modifier-col-value{width:15%;text-align:right}.modifier-name{color:var(--text-primary);min-width:0}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.form-row{display:flex;gap:var(--space-4)}.form-row .form-group{flex:1}.research-tree-container{position:relative;width:100%;height:800px;background:var(--surface-primary);border:none;border-radius:0;margin-top:0}.research-tree-section.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:var(--z-modal);background:var(--surface-primary)}.research-tree-section.fullscreen .research-tree-container{height:100%}.research-tree-section.fullscreen .section-actions{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);z-index:10;margin-bottom:0;padding:var(--space-2) var(--space-3);background:var(--overlay-dark-80);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--border-radius);box-shadow:var(--shadow-medium)}.fullscreen-stats{position:absolute;top:var(--space-3);left:var(--space-3);z-index:10;padding:var(--space-2);background:var(--overlay-dark-80);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--border-radius);box-shadow:var(--shadow-medium)}.research-node{width:100%;height:100%;border-radius:var(--border-radius-circle);border:3px solid;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;font-weight:700;text-shadow:1px 1px 2px var(--overlay-dark-80);box-shadow:var(--shadow-medium);-webkit-user-select:none;user-select:none;z-index:5}.research-node.node--circle{border-radius:var(--border-radius-circle)}.research-node.node--square{border-radius:var(--border-radius)}.shape-selector{display:flex;gap:var(--space-2)}.research-node.available{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);border-color:var(--color-success);box-shadow:0 2px 8px var(--shadow-success-lg);color:var(--fantasy-text)}.research-node.unlocked{background:linear-gradient(135deg,var(--fantasy-gold) 0%,var(--fantasy-gold-dim) 100%);border-color:var(--fantasy-gold);box-shadow:0 2px 8px var(--shadow-primary-lg);color:var(--fantasy-text)}.research-node.locked{background:linear-gradient(135deg,var(--border-color-strong) 0%,var(--text-muted) 100%);border-color:var(--text-muted);opacity:.6;cursor:not-allowed;color:var(--text-secondary)}.research-node.conditions-not-met{border-color:var(--color-warning);box-shadow:0 0 0 2px var(--color-warning),var(--shadow-medium)}.research-node.conditions-error{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger),var(--shadow-medium)}.research-node.editable{border:2px dashed var(--fantasy-gold)}.research-node.editable:hover{border-color:var(--fantasy-gold-dim)}.research-node:hover:not(.locked){z-index:11}.research-node .icon{font-size:28px}.research-node .title{font-size:10px;margin-top:var(--space-px-2);text-align:center;color:var(--fantasy-text);text-shadow:1px 1px 2px var(--overlay-dark-80);font-weight:700}.research-node.unlocked .title{color:var(--fantasy-text);text-shadow:1px 1px 2px var(--overlay-dark-80)}.research-node-unlock-overlay{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:visible}.research-node-rune{position:absolute;color:var(--fantasy-gold);font-size:14px;font-weight:700;text-shadow:0 0 6px var(--fantasy-gold),0 0 2px #fff0c0;opacity:0;transform:translate(-50%,-50%) scale(.3);animation-name:researchRuneAppear,researchRuneFadeOut;animation-duration:.4s,1s;animation-timing-function:ease-out,ease-in;animation-delay:var(--rune-delay, 0s),.9s;animation-fill-mode:forwards,forwards;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes researchRuneAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes researchRuneFadeOut{0%{opacity:1}to{opacity:0}}.research-node-spark{position:absolute;top:50%;left:50%;border-radius:50%;opacity:0;transform:translate(-50%,-50%);animation-name:researchSparkBurst;animation-timing-function:ease-out;animation-fill-mode:forwards;pointer-events:none}@keyframes researchSparkBurst{0%{opacity:0;transform:translate(-50%,-50%) translate(0) scale(1)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) translate(var(--spark-dx),var(--spark-dy)) scale(.4)}}.research-node.is-unlocking{animation:researchNodeUnlockPulse 1.8s ease-out forwards}@keyframes researchNodeUnlockPulse{0%,50%{transform:scale(1)}60%{transform:scale(1.15)}to{transform:scale(1)}}.research-tooltip{position:absolute;background:var(--surface-primary);color:var(--fantasy-text);border-radius:var(--border-radius-lg);padding:var(--space-3);font-size:var(--font-size-sm);z-index:100;max-width:280px;pointer-events:none;opacity:0;transition:opacity .3s ease;box-shadow:var(--shadow-dark-xl)}.research-tooltip.visible{opacity:1}.research-tooltip__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.research-tooltip__header h3{color:var(--color-tier-gold);margin:0;font-size:var(--font-size-base)}.research-tooltip__description{color:var(--fantasy-text);margin-bottom:var(--space-2);opacity:.85}.research-tooltip__section{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-px-2)}.research-tooltip__cost{color:var(--color-tier-gold);font-weight:700;margin-top:var(--space-2)}.research-tooltip__line{font-size:var(--font-size-xs);line-height:1.4}.research-tooltip__line.is-met{color:var(--color-success)}.research-tooltip__line.is-unmet{color:var(--color-warning)}.research-tooltip__line.is-error{color:var(--color-danger)}.research-loading{display:flex;justify-content:center;align-items:center;height:400px;font-size:var(--font-size-xl);color:var(--text-secondary)}.panel-title{margin:0;color:var(--text-primary);font-size:var(--font-size-base)}.section-actions{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2-5)}.section-title{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.effects-list{display:flex;flex-direction:column;gap:var(--space-2)}.effect-info{flex:1;display:flex;flex-direction:column;gap:var(--space-px-2)}.react-flow__node-research:has(.master){width:92px;height:92px}.research-node.master{width:100%;height:100%;border-color:var(--color-tier-gold)!important;box-shadow:0 0 14px var(--shadow-glow-primary-md),var(--shadow-medium)}.research-node.master .icon{font-size:32px}.edit-bubble,.link-bubble{position:absolute;top:-10px;width:20px;height:20px;border-radius:var(--border-radius-circle);border:2px solid var(--fantasy-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--fantasy-text);font-weight:700;z-index:12;box-shadow:var(--shadow-dark-sm)}.edit-bubble{right:-10px;background:var(--btn-info-bg)}.link-bubble{left:-10px;background:var(--btn-success-bg)}.link-bubble--active{background:var(--btn-danger-bg)}.react-flow__node-research{width:80px;height:80px;background:none!important;border:none!important;border-radius:0!important;padding:0!important;font-size:inherit!important}.react-flow__handle{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important}.research-edge{stroke:var(--border-color-strong);stroke-width:2;opacity:.7;fill:none}.research-edge.active{stroke:var(--color-success);stroke-width:3;opacity:1}.react-flow__node.selected>div{outline:none}.react-flow__minimap{background:var(--surface-secondary)!important;border:1px solid var(--fantasy-border)!important}.react-flow__minimap-mask{fill:var(--overlay-dark-40, rgba(0,0,0,.4))!important}.react-flow__controls{background:transparent!important;border:none!important;box-shadow:none!important}.react-flow__controls-button{background:var(--surface-secondary)!important;border:1px solid var(--fantasy-border)!important;border-bottom:none!important;color:var(--text-primary)!important;fill:var(--text-primary)!important}.react-flow__controls-button:last-child{border-bottom:1px solid var(--fantasy-border)!important}.react-flow__controls-button:hover{background:var(--surface-primary)!important;border-color:var(--fantasy-gold-dim)!important}.react-flow__controls-button svg{fill:var(--text-primary)!important}.react-flow__attribution{display:none!important}@media(max-width:768px){.research-tree-container{height:400px}.react-flow__node-research{width:60px;height:60px}.research-node{font-size:var(--font-size-lg)}.stat-bar.research-stat-bar{grid-template-columns:repeat(2,1fr)}.btn-kbd-hint,.research-tree-container .react-flow__minimap,.section-actions .btn-warning{display:none}.section-actions{flex-wrap:wrap;gap:var(--space-1)}.section-actions .btn{min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.research-tree-section{position:relative}.research-tree-section .section-actions{position:absolute;top:var(--space-3);right:var(--space-3);left:auto;transform:none;z-index:10;margin-bottom:0;justify-content:flex-end;max-width:calc(100% - 2 * var(--space-3))}.research-tree-section.fullscreen .fullscreen-stats{display:none}.research-tree-section.fullscreen .section-actions{display:grid;grid-template-columns:1fr 1fr;top:var(--space-3);left:var(--space-3);right:auto;transform:none;justify-content:stretch;max-width:none}.research-tooltip{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:var(--space-3)!important;transform:translate(-50%)!important;width:calc(100vw - 2 * var(--space-4));max-width:calc(100vw - 2 * var(--space-4));max-height:25vh;overflow-y:auto;pointer-events:auto}}.events-tab{padding:0}.events-list-accordion{display:flex;flex-direction:column;gap:var(--space-2)}.event-icon{font-size:24px;margin-right:var(--space-4);display:flex;align-items:center;justify-content:center;width:40px}.event-content{flex:1}.event-description{font-size:var(--font-size-sm)}.events-load-more{display:flex;justify-content:center;padding:var(--space-3) 0}.events-load-more-status{font-size:var(--font-size-xs);color:var(--text-secondary)}.event-template-row{padding:var(--space-3);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.event-template-info{flex:1;min-width:0}.event-template-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.event-template-desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-1)}.event-template-count{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-1)}.event-template-actions{display:flex;gap:var(--space-2);flex-shrink:0}.event-template-buttons{display:contents}.events-templates-header{display:flex;justify-content:flex-end;gap:var(--space-2);margin-bottom:var(--space-3)}.event-cluster-row .event-cluster-info{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;cursor:pointer}.event-cluster-row .event-cluster-toggle{font-size:var(--font-size-sm);color:var(--text-secondary);width:1em;flex-shrink:0}.event-cluster-row .event-cluster-text{flex:1;min-width:0}.event-cluster-children{display:flex;flex-direction:column;gap:var(--space-2);margin-left:var(--space-5);padding-left:var(--space-3);border-left:1px dashed var(--border-color-strong)}.event-cluster-empty{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;padding:var(--space-2)}.event-template-row--indented{background-color:var(--surface-secondary)}.event-cycle-tag{font-size:var(--font-size-xs);color:var(--text-secondary)}.error button{margin-top:var(--space-2-5);background-color:var(--color-danger);color:var(--fantasy-text);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--border-radius-sm);cursor:pointer}.error button:hover{background-color:var(--color-danger-hover)}@media(max-width:768px){.events-chip{font-size:var(--font-size-xs);padding:var(--space-px-2) var(--space-2);min-height:32px}.events-chip-dot{width:6px;height:6px}.events-filter-row{gap:var(--space-1)}.event-accordion-item.event-template-row{display:grid;grid-template-columns:1fr 140px;align-items:start;gap:var(--space-2)}.event-template-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1)}.event-template-actions .event-active-pill{width:100%;justify-content:center}.event-template-buttons{display:flex;gap:var(--space-1)}.event-template-buttons .btn{flex:1;min-width:0;height:44px;min-height:44px;padding:0;justify-content:center}.events-search-input{min-width:0}}.seasonal-variables-management{display:flex;flex-direction:column;height:100%;min-height:0}.seasonal-variables-description{color:var(--text-secondary);margin:0 0 var(--space-4) 0;font-size:var(--font-size-sm)}.seasonal-variables-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);background:var(--surface-primary);border:1px solid var(--border-color)}.seasonal-variables-table th{background-color:var(--surface-secondary);padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);white-space:nowrap}.seasonal-variables-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-secondary);vertical-align:middle}.category-column{min-width:200px;max-width:250px}.season-column{width:100px;text-align:center;font-weight:500}.category-name{font-weight:500;white-space:nowrap}.category-icon{font-size:var(--font-size-lg);margin-right:var(--space-2);vertical-align:middle}.variable-cell{text-align:center;position:relative}.variable-value{padding:var(--space-px-6) var(--space-2);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .2s;font-family:Courier New,monospace;font-weight:500;min-height:20px;display:flex;align-items:center;justify-content:center}.variable-value:hover:not(.disabled){background:var(--surface-secondary)}.edit-container{display:flex;flex-direction:column;gap:var(--space-1);align-items:center}.edit-input{width:80px;padding:var(--space-1) var(--space-px-6);border:2px solid var(--fantasy-gold);border-radius:var(--border-radius-sm);text-align:center;font-family:Courier New,monospace;font-size:var(--font-size-sm)}.edit-input:focus{outline:none;border-color:var(--fantasy-gold-dim)}.edit-actions{display:flex;gap:var(--space-1)}.save-btn,.cancel-btn{width:32px;height:32px;border-radius:var(--border-radius-sm);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.save-btn{background:var(--btn-success-bg)}.cancel-btn{background:var(--btn-danger-bg)}.save-btn svg,.cancel-btn svg{width:16px;height:16px}.save-btn svg path,.cancel-btn svg path{fill:#fff}.no-data{color:var(--text-secondary);font-style:italic}.seasonal-variables-loading,.seasonal-variables-error{padding:var(--space-10);text-align:center;background:var(--surface-primary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.seasonal-variables-loading{color:var(--text-secondary)}.seasonal-variables-error{color:var(--color-danger);background:var(--color-alert-danger-bg);border-color:var(--color-alert-danger-border)}@media(max-width:768px){.seasonal-variables-table{font-size:var(--font-size-xs)}.seasonal-variables-table th,.seasonal-variables-table td{padding:var(--space-2) var(--space-3)}.category-column{min-width:150px}.season-column{width:80px}.edit-input{width:60px}}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:500;font-size:var(--font-size-base)}.form-label.required:after{content:" *";color:var(--color-danger)}.form-input{padding:var(--space-3) var(--space-4)}.form-input:focus{box-shadow:0 0 0 3px var(--shadow-primary-sm)}.form-input::placeholder{color:var(--text-muted)}.form-input.error{border-color:var(--color-danger);background:var(--color-alert-danger-bg)}.form-error{display:block;margin-top:var(--space-2);color:var(--color-danger);font-size:var(--font-size-sm)}.form-hint{display:block;margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.form-textarea{min-height:80px;resize:vertical;font-family:inherit}.loading-spinner{width:16px;height:16px;border:2px solid var(--overlay-light-30);border-top:2px solid var(--surface-primary);border-radius:var(--border-radius-circle);animation:spin 1s linear infinite}.loading-spinner.small{width:14px;height:14px;border-width:1.5px}@media(max-width:768px){.btn{width:100%}}.confirmation-input{margin-bottom:var(--space-4)}.terms-of-use__body{max-height:60vh;overflow-y:auto;line-height:1.7;color:var(--text-primary);font-size:var(--font-size-base)}.edit-simulation-modal{max-width:500px;width:90vw}.edit-simulation-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-label{font-weight:600;color:var(--text-primary)}.form-input,.form-textarea{border:2px solid var(--border-color);transition:border-color .2s ease}.form-input:focus,.form-textarea:focus{box-shadow:0 0 0 3px var(--shadow-primary-sm)}.form-input.error,.form-textarea.error{border-color:var(--color-danger)}.form-textarea{min-height:80px}.form-error{color:var(--color-danger);font-size:var(--font-size-sm);font-weight:500}.character-count{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:right;margin-top:-.25rem}.invite-code-section{display:flex;gap:var(--space-2);align-items:center}.invite-code-input{flex:1;font-family:Courier New,monospace;background:var(--surface-secondary);color:var(--text-primary)}.copy-btn{padding:var(--space-3);min-width:auto;display:flex;align-items:center;justify-content:center}.invite-code-help{font-size:var(--font-size-xs);color:var(--text-secondary);font-style:italic}.modal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.modal-actions .btn{min-width:100px}.edit-simulation-modal .btn{padding:var(--space-3) var(--space-6);border:none;font-weight:600}.edit-simulation-modal .btn:disabled{opacity:.6}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--fantasy-gold-dim) 0%,var(--fantasy-gold-dim) 100%)}.btn-secondary{background:var(--surface-tertiary);color:var(--text-primary);border:1px solid var(--border-color-strong);box-shadow:none}.btn-secondary:hover:not(:disabled){background:var(--border-color-strong);border-color:var(--text-muted);transform:none;box-shadow:none}.btn-small{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}@media(max-width:640px){.edit-simulation-modal{width:95vw;max-width:none}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.invite-code-section{flex-direction:column;align-items:stretch}.copy-btn{align-self:flex-start}}@keyframes fx-rainbow-border{0%{border-color:#ff6b6b;box-shadow:0 0 4px #ff6b6b66}16%{border-color:#ffa94d;box-shadow:0 0 4px #ffa94d66}33%{border-color:#ffd43b;box-shadow:0 0 4px #ffd43b66}50%{border-color:#69db7c;box-shadow:0 0 4px #69db7c66}66%{border-color:#4dabf7;box-shadow:0 0 4px #4dabf766}83%{border-color:#cc5de8;box-shadow:0 0 4px #cc5de866}to{border-color:#ff6b6b;box-shadow:0 0 4px #ff6b6b66}}.formula-examples-trigger{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-top:var(--space-1);padding:0;border:1.5px solid var(--fantasy-gold-dim);border-radius:var(--border-radius-circle);background:var(--surface-tertiary);color:var(--fantasy-gold);font-size:.9em;line-height:1;cursor:pointer;animation:fx-rainbow-border 3s linear infinite;transition:background .2s}.formula-examples-trigger:hover{background:var(--fantasy-gold-subtle)}.fx-desktop-panel{position:fixed;width:340px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;background:var(--surface-secondary);border:1px solid var(--border-color-strong);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-dark-xl);z-index:var(--z-modal-nested);overflow:hidden}.fx-mobile-overlay{position:fixed;inset:0;background:var(--surface-overlay);z-index:var(--z-modal-nested)}.fx-mobile-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--surface-secondary)}.fx-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-color);background:var(--surface-primary)}.fx-panel__title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.fx-panel__close{border:none;background:transparent;color:var(--text-secondary);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 var(--space-1)}.fx-panel__close:hover{color:var(--text-primary)}.fx-panel__body{padding:var(--space-4);overflow-y:auto}.fx-note{margin:0 0 var(--space-4) 0;padding:var(--space-2-5) var(--space-3);font-size:.8em;line-height:1.4;color:var(--text-secondary);background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.fx-group{margin-bottom:var(--space-5)}.fx-group__intro{margin:0 0 var(--space-3) 0;font-size:.8em;line-height:1.4;color:var(--text-secondary)}.fx-group:last-child{margin-bottom:0}.fx-group__title{margin:0 0 var(--space-3) 0;font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.fx-example{margin-bottom:var(--space-3)}.fx-example:last-child{margin-bottom:0}.fx-example__code{display:block;font-family:Courier New,monospace;font-size:.85em;color:var(--fantasy-gold);background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--space-2) var(--space-2-5);margin-bottom:var(--space-1);white-space:pre-wrap;word-break:break-word}.fx-example__desc{margin:0;font-size:.8em;color:var(--text-secondary);line-height:1.4}.fx-operators{width:100%;border-collapse:collapse;font-size:.8em;margin-bottom:var(--space-2)}.fx-operators tr+tr td{border-top:1px solid var(--border-color)}.fx-operators td{padding:var(--space-1-5) var(--space-2);vertical-align:top;line-height:1.4}.fx-operators td:first-child{color:var(--fantasy-gold);font-family:Courier New,monospace;white-space:nowrap;width:1%;padding-right:var(--space-3)}.fx-operators td:last-child{color:var(--text-secondary)}.mnm-modal .modal__content{padding:0;overflow:hidden;display:flex;flex-direction:row}.mnm-layout{display:flex;flex:1;min-height:500px;overflow:hidden}.mnm-track{display:contents}.mnm-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--border-color);background-color:var(--surface-secondary);display:flex;flex-direction:column}.mnm-sidebar__heading{padding:var(--space-4);border-bottom:1px solid var(--border-color);background-color:var(--surface-tertiary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-secondary)}.mnm-sidebar__list{flex:1;overflow-y:auto}.mnm-nav-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;background:transparent;text-align:left;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:0;outline:none}.mnm-nav-btn__icon{display:flex;align-items:center;flex-shrink:0;font-size:1.2em;margin-right:var(--space-2)}.mnm-nav-btn__label{flex:1;min-width:0}.mnm-nav-btn__chevron{display:none;flex-shrink:0;color:var(--text-secondary)}.mnm-nav-btn__count{flex-shrink:0;min-width:1.4em;padding:0 var(--space-1);background:var(--fantasy-gold-subtle);color:var(--fantasy-gold);border:1px solid var(--fantasy-gold);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;text-align:center}.mnm-nav-btn:hover{background:var(--fantasy-gold-subtle);color:var(--fantasy-gold)}.mnm-nav-btn--active,.mnm-nav-btn--active:hover{background:var(--fantasy-gold-subtle);color:var(--fantasy-gold);border-left:3px solid var(--fantasy-gold)}.mnm-nav-btn--disabled,.mnm-nav-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.mnm-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.mnm-content__header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6);border-bottom:1px solid var(--border-color);background-color:var(--surface-secondary)}.mnm-content__header--no-title{padding:0;border-bottom:none;background:transparent}.mnm-content__back{display:none;align-items:center;gap:var(--space-1);background:none;border:none;padding:0;cursor:pointer;color:var(--fantasy-gold);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.mnm-content__title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);width:100%}.mnm-content__header h2{margin:0;display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.mnm-content__title-icon{display:inline-flex;align-items:center;flex-shrink:0}.mnm-content__header-action{flex-shrink:0}.mnm-content__body{flex:1;padding:var(--space-6);overflow-y:auto;line-height:1.6;color:var(--text-primary);font-size:var(--font-size-base)}.mnm-content__placeholder{margin:0;color:var(--text-secondary)}.mnm-content__body--raw{padding:0;display:flex;flex-direction:column}.mnm-paragraph{font-size:var(--font-size-base);margin-bottom:var(--space-4)}.mnm-paragraph--empty{margin-bottom:var(--space-2)}.mnm-content__body table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:var(--font-size-sm)}.mnm-content__body th,.mnm-content__body td{padding:.4rem .75rem;border:1px solid var(--fantasy-border);text-align:left}.mnm-content__body th{background:var(--surface-secondary);color:var(--fantasy-gold);font-weight:var(--font-weight-semibold)}.mnm-content__body tr:nth-child(2n) td{background:var(--overlay-dark-10)}.mnm-content__body a{color:var(--fantasy-gold);text-decoration:underline}@media(max-width:768px){.mnm-content__body.slide-from-top,.mnm-content__body.slide-from-bottom{animation:none}}@media(max-width:768px){.mnm-modal .modal__content{display:block}.mnm-layout{display:block;position:relative;min-height:0;height:70vh;overflow:hidden}.mnm-modal--with-footer .mnm-layout{height:60vh}.mnm-track{display:flex;width:200%;height:100%;transition:transform .3s ease}.mnm-sidebar,.mnm-content{width:50%;flex-shrink:0;height:100%;border-right:none}.mnm-layout--content .mnm-track{transform:translate(-50%)}.mnm-nav-btn{min-height:48px;font-size:var(--font-size-base)}.mnm-nav-btn__chevron,.mnm-content__back{display:inline-flex}.mnm-content__header--no-title{display:flex;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);background-color:var(--surface-secondary)}}.achv-toast-container{position:fixed;right:var(--space-5);top:var(--space-5);z-index:1200;display:flex;flex-direction:column;gap:var(--space-3);max-width:360px;width:100%;pointer-events:none}.achv-toast{position:relative;display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);padding-right:var(--space-8);background:#1a1a14;border:1px solid var(--fantasy-gold);border-radius:var(--border-radius);box-shadow:0 8px 28px #00000080;overflow:hidden;pointer-events:auto;animation:achv-slide-in .4s cubic-bezier(.22,1,.36,1)}.achv-toast__topline{position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--fantasy-gold),transparent)}.achv-toast__close{position:absolute;top:var(--space-2);right:var(--space-2);display:inline-flex;padding:2px;background:none;border:none;color:var(--text-muted);cursor:pointer;line-height:0;transition:color .15s}.achv-toast__close:hover{color:var(--fantasy-gold)}.achv-toast__badge{position:relative;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#12120d;border:1px solid var(--fantasy-gold)}.achv-toast__icon{color:var(--fantasy-gold);position:relative;z-index:1}.achv-toast__rays{position:absolute;inset:-14px;border-radius:50%;background:repeating-conic-gradient(var(--fantasy-gold) 0deg 1.5deg,transparent 1.5deg 15deg);-webkit-mask:radial-gradient(circle,transparent 23px,#000 25px,transparent 38px);mask:radial-gradient(circle,transparent 23px,#000 25px,transparent 38px);opacity:.45;animation:achv-rays-spin 9s linear infinite}.achv-toast__body{flex:1;min-width:0}.achv-toast__label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fantasy-gold);margin-bottom:2px}.achv-toast__name{font-family:var(--font-fantasy-title);font-size:var(--font-size-md);line-height:1.2;color:#f3e9d8;margin-bottom:2px}.achv-toast__desc{font-size:var(--font-size-sm);line-height:1.35;color:var(--text-muted)}.achv-toast__progress{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left center;background:var(--fantasy-gold);animation-name:achv-deplete;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes achv-slide-in{0%{transform:translate(16px,-110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes achv-rays-spin{to{transform:rotate(360deg)}}@keyframes achv-deplete{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.achv-toast,.achv-toast__rays{animation:none}}@media(max-width:480px){.achv-toast-container{right:var(--space-2-5);left:var(--space-2-5);max-width:none}}.ss-layout{display:flex;min-height:100vh;width:100%}.ss-sidebar{width:var(--sidebar-width);background:var(--surface-sidebar-gradient);border-right:1px solid var(--fantasy-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:var(--z-sidebar);overflow:hidden}.ss-sidebar__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--overlay-light-05);flex-shrink:0}.ss-sidebar__logo{display:flex;align-items:center;opacity:.85;text-decoration:none}.ss-sidebar__logo img{height:28px;width:auto;display:block}.ss-sidebar__title{font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);color:var(--fantasy-gold);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.ss-sidebar__scroll{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.ss-actions{display:flex;flex-direction:column;gap:var(--space-2)}.ss-actions .sidebar-config-btn,.sc-back-btn{gap:var(--space-2)}.ss-search{width:100%;padding:10px 12px;background:var(--page-bg);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-body);font:400 13.5px/1.35 var(--font-ui);transition:border-color .18s,box-shadow .18s,background .18s}.ss-search::placeholder{color:var(--text-faint)}.ss-search:hover{border-color:var(--border-bevel-ctrl)}.ss-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-flat)}.ss-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.ss-list__empty{padding:var(--space-4);text-align:center;color:var(--text-muted);font-style:italic;font-size:var(--font-size-sm)}.ss-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-secondary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);cursor:pointer;text-align:left;font-family:inherit;color:var(--text-primary);transition:all var(--transition-base)}.ss-card:hover{border-color:var(--fantasy-border-focus);background:var(--overlay-dark-10)}.ss-card.is-active{border-color:var(--fantasy-gold);background:var(--fantasy-gold-subtle)}.ss-card__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ss-main{flex:1;margin-left:var(--sidebar-width);min-height:100vh;padding:var(--space-8);display:flex;flex-direction:column}.sc-panel{display:flex;flex-direction:column;gap:var(--space-6);width:100%}.sc-panel__header{border-bottom:1px solid var(--fantasy-border);padding-bottom:var(--space-5)}.sc-panel__title{font-family:var(--font-fantasy-title);font-size:var(--font-size-3xl);color:var(--fantasy-gold);letter-spacing:.06em;margin:0 0 var(--space-2)}.sc-panel__intro{font-family:var(--font-fantasy-body);font-style:italic;font-size:var(--font-size-lg);color:var(--fantasy-text-muted);line-height:1.5;margin:0;max-width:640px}.sc-panel__body{display:flex;flex-direction:column;gap:var(--space-4)}.sc-placeholder{min-height:160px;border:1px dashed var(--fantasy-border);border-radius:var(--border-radius-sm)}.sc-split{display:flex;gap:var(--space-4);min-height:480px;height:calc(100vh - 260px);max-height:680px}.sc-split__left{width:280px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;background:var(--surface-primary)}.sc-split__right{flex:1;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--space-4);background:var(--surface-primary)}.sc-cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.sc-cal-title{margin:0;font-weight:var(--font-weight-semibold)}.sc-cal-toggle{display:flex;flex-shrink:0;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.sc-cal-toggle button{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);border:none;background:var(--surface-primary);color:var(--text-secondary);cursor:pointer}.sc-cal-toggle button+button{border-left:1px solid var(--border-color)}.sc-cal-toggle button.active{background:var(--color-primary);color:var(--fantasy-gold-dim);font-weight:var(--font-weight-semibold)}.sc-calendar-layout{display:grid;grid-template-columns:60% 40%;gap:var(--space-4);align-items:start}.sc-calendar-layout .calendar-center{position:static;min-width:0}.sc-calendar-layout .circular-calendar{padding:0;width:100%}.sc-calendar-layout .circular-calendar svg{display:block;width:100%;height:auto}.sc-seasonal-readonly{overflow-x:auto}.sc-create-error{display:block;margin-bottom:var(--space-2);text-align:center}.sc-research-canvas{width:100%;height:100%;min-height:460px;position:relative}.sc-cal-stats{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary)}.sc-cal-stat__label{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.sc-role-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.sc-role-badge{font-size:var(--font-size-xs);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:1px var(--space-1);white-space:nowrap;color:var(--text-primary)}.sc-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);background:var(--surface-secondary);flex-shrink:0}.sc-filter-bar select{font-size:var(--font-size-xs);padding:2px var(--space-1);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-primary);color:var(--text-primary);cursor:pointer}.sc-filter-label{font-size:var(--font-size-xs);color:var(--text-secondary);align-self:center}.sc-attr-dropdown{position:relative}.sc-attr-toggle{display:flex;align-items:center;gap:var(--space-1);min-width:120px;font-size:var(--font-size-xs);padding:2px var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-primary);color:var(--text-primary);cursor:pointer}.sc-attr-count{font-size:var(--font-size-xs);background:var(--color-primary);color:var(--fantasy-gold-dim);border-radius:999px;padding:0 6px;font-weight:var(--font-weight-semibold)}.sc-attr-menu{position:absolute;top:calc(100% + 2px);left:0;z-index:20;min-width:200px;display:flex;flex-direction:column;gap:2px;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-primary);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .3))}.sc-attr-option{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-primary);cursor:pointer;padding:2px var(--space-1);border-radius:var(--border-radius-sm)}.sc-attr-option:hover{background:var(--surface-secondary)}.sc-species-controls{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);flex-shrink:0}.sc-species-search{flex:1;min-width:0;font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-primary);color:var(--text-primary)}.sc-species-search:focus{outline:none;border-color:var(--fantasy-gold)}.sc-select-all-btn{flex-shrink:0;font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-secondary);color:var(--text-primary);cursor:pointer;white-space:nowrap}.sc-select-all-btn:hover:not(:disabled){border-color:var(--fantasy-gold);color:var(--fantasy-gold)}.sc-select-all-btn:disabled{opacity:.5;cursor:not-allowed}.sc-template-list{overflow-y:auto;flex:1}.sc-template-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .12s;font-size:var(--font-size-sm)}.sc-template-item:last-child{border-bottom:none}.sc-template-item:hover{background:var(--surface-secondary)}.sc-template-item.previewing{background:var(--surface-secondary);font-weight:var(--font-weight-semibold)}.sc-template-item__check{flex-shrink:0;width:16px;height:16px;border:1.5px solid var(--border-color);border-radius:3px;display:flex;align-items:center;justify-content:center;background:var(--surface-primary);transition:background .12s,border-color .12s}.sc-template-item.selected .sc-template-item__check{background:var(--color-primary);border-color:var(--color-primary)}.sc-name-input{max-width:300px}.sc-template-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sc-sortable-th:hover{color:var(--fantasy-gold)}.sc-pack-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-color)}.sc-pack-item:last-child{border-bottom:none}.sc-pack-item__body{flex:1;min-width:0}.sc-pack-item__name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.sc-pack-item__name:hover{color:var(--color-primary)}.sc-pack-item__meta{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px}.sc-pack-toggle{flex-shrink:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-primary);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.sc-pack-toggle.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sc-drill-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.sc-drill-header__title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.sc-info-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.sc-info-table th{text-align:left;padding:var(--space-2) var(--space-3);background:var(--surface-secondary);font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.sc-info-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-primary)}.sc-info-table tr:last-child td{border-bottom:none}.sc-info-table tr:hover td{background:var(--surface-secondary)}.sc-info-table .sc-bool-yes{color:var(--color-success, var(--color-primary));font-weight:var(--font-weight-semibold)}.sc-info-table .sc-bool-no{color:var(--text-muted, var(--text-secondary))}.sc-base-note{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-warning, #b45309) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-warning, #b45309) 30%,transparent);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-4);font-style:italic}.sc-no-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--text-secondary);font-style:italic;font-size:var(--font-size-sm);gap:var(--space-2);text-align:center}.ss-sidebar .sidebar-tabs{list-style:none;margin:0;padding:0}.ss-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-6)}.ss-welcome h1{font-family:var(--font-fantasy-title);font-size:2.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fantasy-gold);margin:0;padding:var(--space-4) var(--space-6);position:relative}.ss-welcome h1:before,.ss-welcome h1:after{content:"";position:absolute;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--fantasy-gold-dim) 20%,var(--fantasy-gold) 50%,var(--fantasy-gold-dim) 80%,transparent 100%)}.ss-welcome h1:before{top:0}.ss-welcome h1:after{bottom:0}.ss-welcome p{font-family:var(--font-fantasy-body);font-style:italic;font-weight:300;font-size:var(--font-size-xl);color:var(--fantasy-text-muted);line-height:1.6;max-width:640px;margin:0}.ss-detail{display:flex;flex-direction:column;gap:var(--space-6);max-width:900px;width:100%;margin:0 auto}.ss-detail__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;border-bottom:1px solid var(--fantasy-border);padding-bottom:var(--space-5)}.ss-detail__title{font-family:var(--font-fantasy-title);font-size:var(--font-size-3xl);color:var(--fantasy-gold);letter-spacing:.06em;margin:0}.ss-detail__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.ss-detail__actions .sidebar-config-btn{width:auto;gap:var(--space-2)}.ss-enter-btn{border-color:var(--fantasy-gold-dim);color:var(--fantasy-gold)}.ss-detail__meta{display:flex;gap:var(--space-8);flex-wrap:wrap}.ss-field{display:flex;flex-direction:column;gap:var(--space-1)}.ss-field__label{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.ss-field__value{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.ss-detail__description{font-family:var(--font-fantasy-body);font-style:italic;font-size:var(--font-size-lg);color:var(--fantasy-text-muted);line-height:1.5;margin:0;max-width:78ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ss-detail__section{display:flex;flex-direction:column;gap:var(--space-3)}.ss-detail__section-title{font-family:var(--font-fantasy-title);font-size:var(--font-size-lg);color:var(--fantasy-gold);letter-spacing:.04em;margin:0;border-bottom:1px solid var(--fantasy-border);padding-bottom:var(--space-2);display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.ss-detail__section-count{font:400 11.5px/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--text-muted);white-space:nowrap}.ss-detail__when{display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);color:var(--text-muted)}.ss-detail__empty{margin:0;font-style:italic;color:var(--text-faint);font-size:var(--font-size-sm)}.ss-pc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-2)}.ss-pc{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--surface-secondary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);min-width:0}.ss-pc__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-pc__meta{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.ss-stat{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card)}.ss-stat__icon{color:var(--fantasy-gold);flex-shrink:0}.ss-stat__label{flex:1;font-size:var(--font-size-sm);color:var(--text-secondary)}.ss-stat__value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ss-detail__loading{display:flex;justify-content:center;padding:var(--space-12)}.ss-state-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);text-align:center;padding:var(--space-8);color:var(--text-primary)}.ss-state-screen h2{color:var(--color-danger);margin:0}.ss-mobile-bar,.ss-mobile-overlay{display:none}@media(max-width:768px){.ss-sidebar{position:fixed;inset:auto 0 0;width:100%;height:auto;max-height:80vh;border-right:none;border-top:1px solid var(--fantasy-border);transform:translateY(100%);transition:transform var(--transition-base, .2s ease);z-index:var(--z-mobile-bar, 300);overflow-y:auto}.ss-sidebar.is-open{transform:translateY(0)}.ss-sidebar__header{display:none}.ss-main{margin-left:0;padding:var(--space-5) var(--space-4);padding-bottom:52px}.ss-mobile-bar{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;height:52px;background:var(--surface-sidebar);border-top:1px solid var(--fantasy-border);padding:0 var(--space-4);z-index:var(--z-mobile-bar, 300);gap:var(--space-3)}.ss-mobile-toggle{display:flex;align-items:center;gap:var(--space-2);background:transparent;border:none;color:var(--fantasy-gold);font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);cursor:pointer;padding:0}.ss-mobile-toggle__icon{font-size:.8em}.ss-mobile-menu-btn{display:flex;align-items:center;background:transparent;border:none;color:var(--fantasy-text);cursor:pointer;padding:var(--space-2);font-size:0}.ss-mobile-overlay{display:block;position:fixed;inset:0;background:var(--overlay-dark-50, rgba(0,0,0,.5));z-index:299}.ss-welcome h1{font-size:var(--font-size-3xl)}.ss-detail__header{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.sc-split{flex-direction:column;height:auto;min-height:0;max-height:none}.sc-split__left{width:100%}.sc-template-list{flex:0 0 auto;overflow-y:visible}.sc-split__right{overflow-y:visible}.sc-no-preview{height:auto;min-height:80px}.sc-calendar-layout{grid-template-columns:1fr}.sc-research-canvas{height:60vh;min-height:320px}.sc-sortable-table,.sc-sortable-table tbody{display:block;width:100%}.sc-sortable-table thead{display:none}.sc-sortable-table tr{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-primary)}.sc-sortable-table tr:hover td{background:transparent}.sc-sortable-table td{flex:1 1 45%;padding:var(--space-1) var(--space-3);border-bottom:none}.sc-sortable-table td[data-label]:before{content:attr(data-label) ": ";color:var(--text-secondary);font-weight:500}.sc-sortable-table td:first-child{flex:1 1 100%;font-weight:var(--font-weight-semibold);padding-top:var(--space-2)}.sc-sortable-table td:last-child{flex:1 1 100%;padding-bottom:var(--space-2)}.sc-cal-toolbar{flex-direction:column;align-items:flex-start}.react-flow__minimap{display:none}}.role-badge{flex:none;padding:var(--space-1) var(--space-2);border-radius:0;font-family:var(--font-fantasy-title);font-size:var(--font-size-xs);font-weight:400;text-transform:uppercase;letter-spacing:.15em;white-space:nowrap;background:transparent}.role-gamemaster,.role-badge.role-gamemaster{background:transparent;color:var(--fantasy-gold);border:1px solid var(--fantasy-gold-dim)}.role-player{background:transparent;color:var(--fantasy-text);border:1px solid var(--fantasy-border-focus)}.role-observer{background:transparent;color:var(--fantasy-text-muted);border:1px solid var(--fantasy-border)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--fantasy-gold);border-radius:var(--border-radius-circle);animation:spin 1s linear infinite}.event-resolution-banner{display:block;width:calc(100% + 2 * var(--space-6));aspect-ratio:16 / 9;margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-4);background-size:cover;background-position:center;background-repeat:no-repeat}.admin-builder-footer{display:flex;justify-content:flex-end;gap:var(--space-4);width:100%}.admin-builder-footer--spread{justify-content:space-between}.admin-builder-footer__actions{display:flex;gap:var(--space-2)}@media(max-width:768px){.admin-builder-footer,.admin-builder-footer--spread{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);align-items:stretch}.admin-builder-footer>span:empty{display:none}.admin-builder-footer__actions{display:contents}.admin-builder-footer__actions .btn{min-width:0;width:100%}}.conditions-builder .conditions-list{margin-bottom:22px}.conditions-builder .no-conditions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:44px 24px;border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface-flat);text-align:center;color:var(--text-muted);font:400 13.5px/1.55 var(--font-ui)}.conditions-builder .add-condition-form{border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);margin-bottom:22px;overflow:hidden}.conditions-builder .form-header{padding:11px 14px;background:var(--surface-control);border-bottom:1px solid var(--border)}.conditions-builder .form-header h4{margin:0;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.conditions-builder .form-content{padding:16px}.conditions-builder .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.conditions-builder .condition-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.conditions-builder .condition-type-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-flat);color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,background .18s}.conditions-builder .condition-type-card:hover{border-color:var(--accent);background:var(--accent-soft)}.conditions-builder .condition-type-icon{color:var(--text-muted)}.conditions-builder .condition-type-name{font:700 13px/1.2 var(--font-ui);color:var(--text-primary)}.conditions-builder .condition-type-description{font:400 12px/1.35 var(--font-ui);color:var(--text-muted)}.conditions-builder .condition-item{border:1px solid var(--border);border-top:1px solid var(--border-bevel);border-radius:var(--radius-card);background:var(--surface-card);margin-bottom:12px;transition:border-color .18s}.conditions-builder .condition-item:hover{border-color:var(--border-bevel-ctrl)}.conditions-builder .condition-item--clickable{cursor:pointer}.conditions-builder .condition-item--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.conditions-builder .condition-item.error{border-color:#c4382c66;background:#c4382c0f}.conditions-builder .condition-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px}.conditions-builder .condition-info{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.conditions-builder .condition-icon{color:var(--text-muted);flex-shrink:0;margin-top:1px}.conditions-builder .condition-details{flex:1;min-width:0}.conditions-builder .condition-name{display:block;font:700 13.5px/1.3 var(--font-ui);color:var(--text-primary);margin-bottom:2px}.conditions-builder .condition-description{font:400 12px/1.4 var(--font-ui);font-style:italic;color:var(--text-muted)}.conditions-builder .condition-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.conditions-builder .condition-parameters{padding:0 14px 14px}.conditions-builder .parameter-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;align-items:flex-end}.conditions-builder .parameter-group{flex:1 1 0;min-width:0}.conditions-builder .parameter-label{display:block;margin-bottom:6px;font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.conditions-builder .parameter-input{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--page-bg);color:var(--text-body);font:400 13.5px/1.35 var(--font-ui);transition:border-color .18s,box-shadow .18s,background .18s}.conditions-builder .parameter-input::placeholder{color:var(--text-faint)}.conditions-builder .parameter-input:hover{border-color:var(--border-bevel-ctrl)}.conditions-builder .parameter-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-flat)}.conditions-builder .parameter-input[type=number]{text-align:center;font-family:var(--font-mono)}.conditions-builder .parameter-input:disabled{opacity:.5;cursor:not-allowed}.conditions-builder .building-search-container{position:relative;width:100%}.conditions-builder .building-search-results{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-card);max-height:220px;overflow-y:auto;z-index:100;box-shadow:0 12px 30px -14px #000000b3}.conditions-builder .building-search-result{padding:9px 12px;cursor:pointer;font:400 13px/1.3 var(--font-ui);color:var(--text-body);transition:background .15s}.conditions-builder .building-search-result:hover{background:var(--overlay-light-05)}.conditions-builder .template-key-picker{position:relative;width:100%}.conditions-builder .template-key-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:0 12px 30px -14px #000000b3;z-index:100;max-height:180px;overflow-y:auto;display:flex;flex-direction:column}.conditions-builder .template-key-suggestion{padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;font:400 12.5px/1.3 var(--font-mono);color:var(--text-body)}.conditions-builder .template-key-suggestion:hover,.conditions-builder .template-key-suggestion--active{background:var(--overlay-light-05);color:var(--accent)}.conditions-builder .formula-preview{display:block;padding:9px 12px;background:var(--page-bg);border:1px dashed var(--border-strong);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:12.5px;color:var(--text-body);white-space:pre-wrap;word-break:break-word}.conditions-builder .formula-preview.empty{color:var(--text-faint);font-style:italic}.conditions-builder .formula-condition-editor{display:flex;flex-direction:column;gap:14px}.conditions-builder .formula-condition-editor__toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}@media(max-width:768px){.conditions-builder .form-actions{flex-direction:column}}.media-library-modal{height:90vh}.media-library-modal .modal__content{overflow:hidden;display:flex;flex-direction:column}.media-library{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden}.media-library__toolbar{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:var(--space-3);gap:var(--space-4);flex-wrap:wrap}.media-library__toolbar .view-toggle{margin-bottom:0}.media-library__toolbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.media-library__toolbar-right .search-form{width:200px}.media-library__body{flex:1;min-height:0;display:flex;flex-direction:row;gap:var(--space-4);align-items:stretch}.media-library__grid-wrap{flex:1;min-width:0;min-height:0;overflow-y:auto;position:relative;border:2px dashed transparent;border-radius:var(--border-radius);transition:border-color var(--transition-base),background var(--transition-base)}.media-library__grid-wrap--dragover{border-color:var(--color-primary);background:var(--color-primary-light)}.media-library__dropzone-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:var(--color-primary-light);border-radius:var(--border-radius);pointer-events:none;z-index:10;color:var(--color-primary);font-weight:600}.media-library__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-auto-rows:130px;gap:var(--space-3);min-height:300px;align-content:start;padding:var(--space-2)}.media-library__item{position:relative;padding:0;border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-secondary);cursor:pointer;overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.media-library__item:hover{border-color:var(--color-primary-light)}.media-library__item--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.media-library__item img{width:100%;height:100%;object-fit:cover;display:block}.media-library__badge{position:absolute;top:var(--space-1);right:var(--space-1);background:var(--color-primary);color:var(--surface-primary);padding:2px var(--space-2);font-size:var(--font-size-xs);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-semibold)}.media-library__placeholder{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--space-6);color:var(--text-secondary);font-style:italic;text-align:center}.media-library__panel{width:300px;flex-shrink:0;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow-y:auto}.media-library__preview{width:100%;aspect-ratio:16 / 9;background:var(--surface-primary);border-radius:var(--border-radius);overflow:hidden}.media-library__preview img{width:100%;height:100%;object-fit:contain}.media-library__actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2)}.media-library__tag-input{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-primary);min-height:38px;cursor:text}.media-library__tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-primary)}.media-library__tag-remove{background:none;border:none;color:inherit;cursor:pointer;padding:0;line-height:1;opacity:.7}.media-library__tag-remove:hover{opacity:1}.media-library__tag-field{flex:1;min-width:80px;border:none;background:transparent;color:inherit;font-size:var(--font-size-sm);outline:none;padding:0}.media-library__tag-field::placeholder{color:var(--text-secondary)}.media-library__filename{margin:0 0 var(--space-2) 0;font-size:var(--font-size-base);word-break:break-word}.media-library__readonly-meta{font-size:var(--font-size-sm);color:var(--text-secondary)}.media-library__readonly-meta p{margin:0 0 var(--space-1) 0}.media-library__readonly-desc{font-style:italic;margin-top:var(--space-2)}@media(max-width:900px){.media-library__toolbar{flex-wrap:wrap}.media-library__toolbar-right{margin-left:0}.media-library__body{flex-direction:column;overflow-y:auto}.media-library__grid-wrap{max-height:40vh}.media-library__panel{width:100%}}.event-choice-resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.resources-section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.resources-section-header .form-label{margin-bottom:0}.resources-formula-toggle{background:none;border:1px solid transparent;border-radius:var(--radius-sm, 4px);cursor:pointer;padding:2px 5px;color:var(--text-muted, #888);line-height:1;transition:color .15s,border-color .15s,background .15s}.resources-formula-toggle:hover,.resources-formula-toggle.active{color:var(--color-primary, #6ba4f5);border-color:var(--color-primary, #6ba4f5);background:var(--surface-hover, rgba(107,164,245,.08))}.resource-formula-badge{display:inline-block;margin-left:4px;font-size:.7rem;font-style:italic;font-weight:600;color:var(--color-primary, #6ba4f5);opacity:.85;vertical-align:super;cursor:default}.resource-formula-panel{background:var(--surface-secondary, #1e2128);border:1px solid var(--border-color, #3a3a3a);border-radius:var(--radius-md, 6px);box-shadow:var(--shadow-xl, 0 8px 32px rgba(0,0,0,.45));overflow-y:auto;z-index:9999;font-size:var(--font-size-xs, .8rem)}.resource-formula-panel-header{padding:var(--space-2) var(--space-3);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #888);border-bottom:1px solid var(--border-color, #3a3a3a);background:var(--surface-tertiary, #17191f);border-radius:var(--radius-md, 6px) var(--radius-md, 6px) 0 0;position:sticky;top:0}.resource-formula-category{padding:var(--space-2) var(--space-3) var(--space-1)}.resource-formula-category-header{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #888);margin-bottom:var(--space-1)}.resource-formula-category-vars{display:flex;flex-wrap:wrap;gap:4px}.resource-formula-var-btn{background:var(--surface-primary, #13151a);border:1px solid var(--border-color, #3a3a3a);border-radius:var(--radius-sm, 4px);color:var(--text-primary, #e0e0e0);font-size:.72rem;font-family:var(--font-mono, monospace);padding:2px 6px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.resource-formula-var-btn:hover{background:var(--color-primary, #6ba4f5);border-color:var(--color-primary, #6ba4f5);color:#fff}.effect-row{display:flex;flex-direction:column;border:1px solid var(--border-color, #3a3a3a);border-radius:var(--radius-md, 6px);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.effect-row__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.effect-row__label{font-size:.8rem;font-weight:600;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.04em}.species-management{display:flex;flex-direction:column;height:100%;min-height:0}.species-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);background:var(--surface-primary);border:1px solid var(--border-color)}.species-table th{background-color:var(--surface-secondary);padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);white-space:nowrap}.species-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.species-table th.sortable:hover{background-color:var(--surface-tertiary)}.species-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-secondary);vertical-align:middle}.species-row{cursor:pointer;transition:background-color .2s}.species-row:hover,.species-row--striped{background-color:var(--surface-secondary)}.species-row.inactive{opacity:.6;background-color:var(--surface-secondary)}.species-row.inactive:hover{background-color:var(--surface-tertiary)}.number-cell{text-align:right;font-family:Courier New,monospace;font-weight:500}.status-badge{padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-lg);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase}.status-badge.active{background-color:var(--color-alert-success-bg);color:var(--color-alert-success-text)}.status-badge.inactive{background-color:var(--color-alert-danger-bg);color:var(--color-alert-danger-text)}.actions-column{width:120px;text-align:center}.actions-column .actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.species-loading,.species-error{text-align:center;padding:var(--space-10);font-size:var(--font-size-lg)}.species-error{color:var(--color-danger);background-color:var(--color-alert-danger-bg);border-radius:var(--border-radius)}.species-table th.actions-column{width:120px;text-align:center}.species-table td.actions-cell{text-align:center}.species-table td.center{text-align:center;color:var(--text-secondary)}.species-empty__icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.species-empty{text-align:center;padding:var(--space-10);color:var(--text-secondary)}.species-empty p{margin-bottom:var(--space-5);font-size:var(--font-size-lg)}@media(max-width:768px){.species-table{font-size:var(--font-size-xs)}.species-table th,.species-table td{padding:var(--space-2) var(--space-3)}.actions-column .actions-cell{flex-direction:column;gap:var(--space-1)}.btn--xs{padding:var(--space-1);font-size:var(--font-size-sm)}}@layer mgs-modal-base{.modal-overlay{position:fixed;inset:0;background:var(--surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-modal);padding:var(--space-6);padding-top:10vh;animation:modal-overlay-appear var(--transition-base)}}.modal-overlay--nested{z-index:var(--z-modal-nested);background:var(--overlay-dark-60)}.modal-overlay--centered{align-items:center;padding-top:var(--space-6)}@layer mgs-modal-base{.modal{position:relative;background:var(--surface-raised);border:1px solid var(--border-strong);border-top:1px solid var(--border-bevel-ctrl);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);width:100%;max-height:min(82vh,900px);display:flex;flex-direction:column;overflow:hidden;animation:modal-appear var(--transition-slow)}}@keyframes modal-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-container{background:var(--surface-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:42rem;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal--xs{max-width:20rem}.modal--sm{max-width:28rem}.modal--md{max-width:42rem}.modal--lg{max-width:56rem}.modal--xl{max-width:72rem}.modal--full{max-width:90vw}.modal--centered{align-self:center}.modal--with-sidebar{display:flex;flex-direction:row}@layer mgs-modal-base{.modal__header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface-control);border-radius:0;flex-shrink:0}.modal__header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.modal__title{margin:0;font-family:var(--font-fantasy-title);color:var(--fantasy-gold);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:.06em;line-height:1.2}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border:1px solid transparent;border-radius:var(--radius-control);background:none;color:var(--text-muted);font-size:15px;cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.modal__close:hover{background:var(--overlay-light-05);color:var(--text-primary)}.modal__content{flex:1;overflow-y:auto;padding:20px 22px}.modal__content--no-padding{padding:0}.modal__content--with-tabs{padding:0;display:flex;flex-direction:column}.modal__description{margin:0;padding:14px 22px 0;background:none;border-bottom:none;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6;max-width:78ch;text-wrap:pretty}.modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2-5);padding:16px 22px;border-top:1px solid var(--border);background:var(--surface-control);flex-shrink:0}.modal__footer--space-between{justify-content:space-between}.modal__footer--center{justify-content:center}.modal__footer--sticky{position:sticky;bottom:0;background:var(--surface-secondary);box-shadow:0 -2px 10px var(--overlay-dark-10);z-index:10}.modal__sidebar{width:280px;min-width:280px;background:var(--surface-secondary);border-right:var(--border-width) solid var(--border-color);overflow-y:auto;flex-shrink:0}.modal__main{flex:1;display:flex;flex-direction:column;min-width:0}.modal__loading,.modal__error{display:flex;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;font-size:var(--font-size-lg)}.modal__error{color:var(--color-danger);background:var(--color-alert-danger-bg);border-radius:var(--border-radius);margin:var(--space-6)}}@keyframes modal-overlay-appear{0%{opacity:0}to{opacity:1}}.cancel-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:var(--border-width) solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;background:var(--surface-tertiary);color:var(--fantasy-text);border-color:var(--border-color-strong);box-shadow:0 2px 4px var(--shadow-secondary-md)}.cancel-btn:hover{background:var(--border-color-strong);border-color:var(--text-muted);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-secondary-lg)}.delete-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:var(--border-width) solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-danger) 0%,var(--color-danger-hover) 100%);color:var(--fantasy-text);border-color:var(--color-danger);box-shadow:0 2px 4px var(--shadow-danger-md)}.delete-button:hover{background:linear-gradient(135deg,var(--color-danger-hover) 0%,var(--color-danger-darker) 100%);border-color:var(--color-danger-hover);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-danger-lg)}.separate-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:var(--border-width) solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-warning) 0%,var(--color-warning-hover) 100%);color:var(--fantasy-text);border-color:var(--color-warning);box-shadow:0 2px 4px var(--shadow-warning-md)}.separate-button:hover{background:linear-gradient(135deg,var(--color-warning-hover) 0%,var(--color-warning-darker) 100%);border-color:var(--color-warning-hover);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-warning-lg)}.assign-partner-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:var(--border-width) solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);color:var(--fantasy-text);border-color:var(--color-success);box-shadow:0 2px 4px var(--shadow-success-md)}.assign-partner-button:hover{background:linear-gradient(135deg,var(--color-success-hover) 0%,var(--color-success-darker) 100%);border-color:var(--color-success-hover);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-success-lg)}.card-hover-blue{background:var(--surface-secondary);border-radius:var(--border-radius);padding:var(--space-5);border:2px solid var(--border-color)}.input-focus-blue{padding:var(--space-2-5) var(--space-3);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);transition:border-color .3s ease,box-shadow .3s ease}.input-focus-blue:focus{outline:none;border-color:var(--color-secondary-hover);box-shadow:0 0 0 3px var(--shadow-primary-sm)}.sidebar-btn{width:100%;display:flex;align-items:center;padding:var(--space-3) var(--space-4);border:0;background:transparent;text-align:left;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:0;outline:none}.sidebar-btn:hover{background:var(--fantasy-gold-subtle);color:var(--fantasy-gold)}.sidebar-btn--active,.sidebar-btn--active:hover{background:var(--fantasy-gold-subtle);color:var(--fantasy-gold);border-left:3px solid var(--fantasy-gold)}.sidebar-btn--disabled,.sidebar-btn--disabled:hover{opacity:.5;cursor:not-allowed;background:transparent}.sidebar-btn--sub{padding-left:var(--space-8);font-weight:var(--font-weight-normal)}.sidebar-btn__icon{margin-right:var(--space-2);font-size:var(--font-size-lg);width:20px;text-align:center;flex-shrink:0}.sidebar-btn__label{flex:1;font-size:var(--font-size-sm)}.sidebar-btn__count{margin-left:var(--space-2);padding:0 var(--space-2);min-width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.sidebar-btn--active .sidebar-btn__count{background:var(--fantasy-gold-subtle);color:var(--fantasy-gold)}.universe-content-header{padding:var(--space-6);border-bottom:1px solid var(--border-color);background-color:var(--surface-secondary);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.universe-content-header h3{margin:0;color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.universe-content-body{flex:1;padding:var(--space-6);overflow-y:auto;min-height:0}@media(max-width:768px){.universe-content-header{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.universe-content-header h3{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0;font-size:var(--font-size-lg)}.universe-content-header .btn{flex:0 0 auto;width:auto}}.ie-mobile-note{display:none}@media(max-width:768px){.import-export-modal .ie-fs-only{display:none}.import-export-modal .ie-mobile-note{display:block;margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}}.universe-modal-content .jobs-management,.mnm-content__body--raw .jobs-management{display:flex;flex-direction:column;height:100%;min-height:0;gap:0}@media(max-width:768px){.jobs-management .actions-cell .btn,.jobs-management .universe-content-header .btn{min-height:44px}}.modal-form-body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.modal-form-info{padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--border-radius-md);border:1px solid var(--border-color)}.modal-form-info h4{margin:0 0 var(--space-2) 0;color:var(--color-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.modal-form-info p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.modal-color-swatch{width:40px;height:40px;border:2px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;flex-shrink:0}.modal-color-row{display:flex;align-items:center;gap:var(--space-3)}.modal-color-value{font-family:monospace;font-size:var(--font-size-sm);color:var(--text-secondary)}.modal-footer-actions{display:flex;justify-content:center;gap:var(--space-4);width:100%}.calendar-management{display:flex;flex-direction:column;height:100%;min-height:0}.calendar-management .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);border:none;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.calendar-management .btn-small{padding:var(--space-px-6) var(--space-3);font-size:var(--font-size-xs)}.calendar-management .btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.calendar-management .items-list{display:flex;flex-direction:column;gap:var(--space-3)}.calendar-management .item-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--surface-secondary);border:1px solid var(--surface-tertiary);border-radius:var(--border-radius);transition:all .2s ease}.calendar-management .item-card:hover{background:var(--surface-tertiary);border-color:var(--border-color)}.calendar-management .item-info{flex:1}.calendar-management .item-name{font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1);font-size:var(--font-size-base)}.calendar-management .item-details{color:var(--text-secondary);font-size:var(--font-size-sm)}.calendar-management .item-actions{display:flex;gap:var(--space-2);align-items:center}.calendar-management .form-group{margin-bottom:var(--space-5)}.calendar-management .form-group>label:not(.check-row),.calendar-management .form-group .form-label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.calendar-management .form-group input,.calendar-management .form-group select{width:100%;padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);transition:border-color .2s ease}.calendar-management .form-group input:focus,.calendar-management .form-group select:focus{outline:none;border-color:var(--fantasy-gold);box-shadow:0 0 0 3px var(--focus-ring-primary)}.calendar-management .loading{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-style:italic}.calendar-error{color:var(--color-danger);padding:var(--space-3);background:var(--color-alert-danger-bg);border-radius:var(--border-radius);margin-bottom:var(--space-4)}.calendar-management .form-row--end{justify-content:space-between;align-items:flex-end}.calendar-info-box{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--border-radius);border-left:3px solid var(--color-info, var(--fantasy-gold));font-size:var(--font-size-sm)}.calendar-info-box p{margin:0 0 var(--space-2) 0}.calendar-info-box p:last-child{margin-bottom:0}.calendar-summary{margin-top:var(--space-8);padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--border-radius)}.calendar-summary h4{margin:0 0 var(--space-3) 0;color:var(--text-primary)}.calendar-summary p{margin:var(--space-1) 0;color:var(--text-secondary)}.items-count{margin-bottom:var(--space-5);color:var(--text-secondary)}.lang-indicator{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.item-delete-confirm{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-danger)}@media(max-width:768px){.calendar-management .item-card{flex-direction:column;gap:var(--space-3);align-items:stretch}.calendar-management .item-actions{justify-content:center;flex-wrap:wrap}.calendar-management .item-actions .btn{flex:0 0 auto;padding:var(--space-2);width:auto}}.population-tab{padding:0;max-width:100%}@media(max-width:768px){.population-stats{flex-direction:column}}.list-view{width:100%}.quick-add-button{padding:var(--space-2) var(--space-4);background-color:var(--fantasy-gold);color:var(--fantasy-text);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:500;transition:background-color .2s}.quick-add-button:hover{background-color:var(--fantasy-gold-dim)}.list-actions{display:flex;gap:var(--space-2-5);align-items:center;align-self:flex-end}.list-actions__create,.filter-search-mobile{display:none}.data-table tbody tr.sick{background-color:var(--color-alert-danger-bg)}.data-table tbody tr.sick:hover{background-color:var(--color-alert-danger-border)}.pc-badge{background-color:var(--color-success);color:var(--fantasy-text);padding:var(--space-px-2) var(--space-px-6);border-radius:var(--border-radius-sm);font-size:.8em;margin-left:var(--space-2)}.pregnancy-badge{font-size:var(--font-size-base);margin-left:var(--space-2);vertical-align:middle}.close{position:absolute;top:var(--space-2-5);right:15px;font-size:24px;cursor:pointer}@media(max-width:768px){.list-view .filter-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);align-items:end}.filter-search-mobile{display:block}.filter-search-mobile input{width:100%}.list-view .filter-row .clear-filters-btn{grid-column:1 / -1;justify-self:center;width:auto;min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.search-and-actions{width:100%;margin-top:var(--space-2-5);flex-direction:column;align-items:stretch;gap:var(--space-2-5)}.search-and-actions>.filter-group{display:none}.search-form,.search-form input,.list-actions{width:100%}.list-actions__create{display:block}.list-actions>*{flex:1}.quick-add-button{min-height:44px}.list-view .data-table tbody td,.list-view .data-table th{padding-top:var(--space-3);padding-bottom:var(--space-3)}.list-view .data-table .btn{min-height:44px}}.status-sick{color:var(--color-danger);background-color:var(--color-alert-danger-bg);padding:var(--space-2);border-radius:var(--border-radius-sm)}.status-healthy{color:var(--color-success-hover);background-color:var(--color-alert-success-bg);padding:var(--space-2);border-radius:var(--border-radius-sm)}.inh-edit-portrait-zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.inh-edit-portrait-box{width:120px;height:160px;border:2px dashed var(--border-color);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;overflow:hidden}.inh-edit-portrait-input{display:none}.family-section{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.partner-info,.no-partner-info{display:flex;align-items:center;gap:var(--space-4)}.partner-info .separate-button,.no-partner-info .assign-partner-button{margin-left:auto;flex-shrink:0}.inh-edit-parent-selector{position:relative}.inh-edit-chip-row{display:flex;align-items:center;gap:var(--space-2)}.inh-edit-chip{padding:var(--space-1) var(--space-2);background:var(--surface-tertiary);border-radius:var(--border-radius);flex:1}.inh-edit-chip-clear{padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);background:var(--surface-secondary);border-radius:var(--border-radius);cursor:pointer}.inh-edit-dropdown{position:absolute;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;margin:var(--space-1) 0 0 0;padding:0;list-style:none;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);z-index:5}.inh-edit-dropdown-empty{padding:var(--space-2);color:var(--text-secondary)}.inh-edit-dropdown-item{padding:var(--space-2);cursor:pointer;border-bottom:1px solid var(--border-color)}.inh-edit-dropdown-item:hover{background:var(--surface-secondary)}.inh-edit-dropdown-meta{color:var(--text-secondary)}.inh-edit-modal-body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.inh-edit-info-panel{padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:center}.inh-edit-info-panel p{margin:0;color:var(--text-primary)}.inh-edit-empty-panel{text-align:center;padding:var(--space-8);background:var(--surface-secondary);border-radius:var(--border-radius);border:2px dashed var(--border-color)}.inh-edit-empty-panel--sm{padding:var(--space-6)}.inh-edit-empty-panel__icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.inh-edit-empty-panel__text{margin:0;color:var(--text-secondary);font-style:italic}.inh-edit-partner-list{display:flex;flex-direction:column;gap:var(--space-3)}.inh-edit-partner-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--border-radius);border:1px solid var(--border-color);transition:all var(--transition-base)}.inh-edit-partner-card:hover{background:var(--surface-tertiary);border-color:var(--color-primary)}.inh-edit-partner-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}.inh-edit-same-sex-badge{font-size:var(--font-size-xs);padding:var(--space-px-2) var(--space-px-6);border-radius:var(--border-radius-sm);background:var(--color-alert-warning-bg);color:var(--color-alert-warning-text);border:1px solid var(--color-alert-warning-border)}.pregnancy-info,.no-pregnancy-info{display:flex;align-items:center;gap:var(--space-4)}.pregnancy-details p{margin:0}.pregnancy-info-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.no-pregnancy-info button{margin-left:auto;flex-shrink:0}.quick-add-modal-body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.quick-add-modal-footer{display:flex;justify-content:center;gap:var(--space-4);width:100%}.quick-add-field-label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.quick-add-input-full{width:100%}.quick-add-section-title{margin:0 0 var(--space-3) 0;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.quick-add-options-list{display:flex;flex-direction:column;gap:var(--space-3)}.quick-add-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-primary)}.quick-add-checkbox input[type=checkbox]{transform:scale(1.2)}.quick-add-instruction{text-align:center;margin-bottom:var(--space-4);padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--border-radius-md);border:1px solid var(--border-color)}.quick-add-instruction p{margin:0;color:var(--text-primary);font-size:var(--font-size-base)}.quick-add-job-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-secondary);border-radius:var(--border-radius-md);border:1px solid var(--border-color)}.quick-add-job-label{min-width:120px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.quick-add-job-select{flex:1}.inhabitant-details-title{display:flex;align-items:center;gap:var(--space-3)}.inhabitant-details-title-icon{font-size:2rem}.inhabitant-details-title-name{display:flex;align-items:center;gap:var(--space-2)}.inhabitant-details-pc-badge{background:var(--color-primary-light);color:var(--fantasy-gold);padding:var(--space-px-2) var(--space-2);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.inhabitant-details-pregnant-icon{font-size:1.2rem}.inhabitant-details-title-meta{color:var(--text-inverse-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-top:var(--space-px-2)}.inhabitant-details-footer{display:flex;justify-content:center;gap:var(--space-4);width:100%}.inhabitant-details-body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.inhabitant-details-cards-col,.inhabitant-details-portrait-col{min-width:0}.inhabitant-details-bottom{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.inhabitant-details-portrait-error{color:var(--color-danger, #c00);font-size:var(--font-size-xs);margin-top:var(--space-2);text-align:center}@media(max-width:720px){.inhabitant-details-portrait{width:160px}}.inhabitant-details-subtext{font-size:var(--font-size-sm);color:var(--text-secondary)}.inhabitant-details-options{display:flex;flex-wrap:wrap;gap:var(--space-1)}.inhabitant-details-empty{color:var(--text-secondary);font-size:var(--font-size-sm)}.inhabitant-details-pregnancy{padding:var(--space-3);background:var(--color-alert-warning-bg);border:1px solid var(--color-alert-warning-border);border-radius:var(--border-radius-md, var(--border-radius))}.inhabitant-details-pregnancy-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.inhabitant-details-stack{display:flex;flex-direction:column;gap:var(--space-4)}.inhabitant-details-subsection-title{margin:0 0 var(--space-2) 0;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.create-inhabitant-card{background-color:var(--surface-primary);border:none;border-radius:var(--border-radius);padding:var(--space-4);text-align:center;box-shadow:var(--shadow);cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;font:inherit;color:inherit}.create-inhabitant-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.create-inhabitant-icon{font-size:24px;margin-bottom:var(--space-2-5);color:var(--color-success)}.create-inhabitant-text{font-weight:500;color:var(--text-primary)}@media(max-width:768px){.create-inhabitant-card{flex-direction:row;height:44px;min-height:44px;padding:var(--space-2) var(--space-4);gap:var(--space-2);width:100%;justify-content:center}.create-inhabitant-icon{margin-bottom:0;font-size:1.1em}}.summary-view{width:100%}.jobs-management{display:flex;flex-direction:column;gap:var(--space-5)}.summary-view .data-table{font-size:var(--font-size-base)}.data-table tbody tr.worker-row{background-color:var(--surface-secondary)}.data-table tbody tr.worker-row:hover{background-color:var(--border-color)}.worker-info{padding:var(--space-1) var(--space-2-5);background-color:var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.9em;font-style:italic}.job-name{display:flex;align-items:center;gap:var(--space-2)}@media(max-width:768px){.population-stat-bar{grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-3)}.population-stat-bar .stat-bar-value{font-size:var(--font-size-lg)}}.deceased-details-title{display:flex;align-items:center;gap:var(--space-3)}.deceased-details-title-icon{font-size:2rem;flex-shrink:0}.deceased-details-title-name{display:flex;align-items:center;gap:var(--space-2)}.deceased-details-title-meta{color:var(--text-inverse-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-top:var(--space-px-2)}.deceased-details-footer{display:flex;justify-content:center;gap:var(--space-4);width:100%}@media(max-width:768px){.deceased-details-footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);align-items:stretch}.deceased-details-footer .btn{min-width:0;width:100%}}.deceased-details-body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.deceased-details-cause{color:var(--color-alert-danger-text);font-weight:var(--font-weight-medium)}.deceased-details-stack{display:flex;flex-direction:column;gap:var(--space-4)}.deceased-details-subsection-title{margin:0 0 var(--space-2) 0;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.deceased-details-prose{padding:var(--space-3);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md, var(--border-radius));line-height:1.5}.deceased-details-prose--pre{white-space:pre-wrap}.deceased-view{padding:0;background-color:transparent;min-height:auto}.deceased-view .stat-bar{margin-bottom:var(--space-4)}.deceased-view .data-table-container{margin-bottom:var(--space-5)}.deceased-view .data-table th{position:sticky;top:0;z-index:10}.clickable-row{cursor:pointer;transition:background-color .2s ease}.clickable-row:hover{background-color:var(--color-alert-info-bg)!important}.number-cell{text-align:right;font-family:Courier New,monospace}.modal-body{padding:var(--space-5)}.detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.detail-item.full-width{grid-column:1 / -1}.detail-item strong{color:var(--text-primary);font-weight:600}@media(max-width:768px){.deceased-view .filter-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);align-items:end}.deceased-view .filter-row .clear-filters-btn{width:100%;min-height:44px}.deceased-view .data-table{font-size:var(--font-size-xs)}.deceased-view .data-table th,.deceased-view .data-table td{padding:var(--space-2) var(--space-1)}.detail-item.full-width{grid-column:1}}.population-stats{margin-bottom:var(--space-5)}.population-stats-row{display:flex;flex-direction:row;align-items:stretch;gap:var(--space-4)}.population-stats-row .population-stat-bar{flex:1}.sick-stat .stat-bar-value{color:var(--critical)}@media(max-width:768px){.population-stats .create-inhabitant-card{display:none}}.add-btn,.save-btn,.cancel-btn{padding:var(--space-px-6) var(--space-3);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;transition:background-color .3s}.add-btn{background-color:var(--color-success);color:var(--fantasy-text)}.add-btn:hover{background-color:var(--color-success-dark)}.save-btn{background-color:var(--color-success);color:var(--fantasy-text);margin-right:var(--space-1)}.save-btn:hover{background-color:var(--color-success-dark)}.cancel-btn{background-color:var(--surface-tertiary);color:var(--fantasy-text)}.cancel-btn:hover{background-color:var(--border-color-strong)}.modifiers-section{display:flex;flex-direction:column;gap:var(--space-5)}.save-btn.compact,.cancel-btn.compact,.add-btn.compact{width:24px;height:24px;padding:0;min-width:24px;font-size:var(--font-size-xs);border-radius:var(--border-radius-sm);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.save-btn.compact{background:var(--color-success);color:var(--fantasy-text)}.save-btn.compact:hover{background:var(--color-success-dark)}.cancel-btn.compact{background:var(--color-danger);color:var(--fantasy-text)}.cancel-btn.compact:hover{background:var(--color-danger-hover)}.add-btn.compact{background:var(--btn-success-bg);color:var(--btn-success-fg)}.add-btn.compact:hover{background:var(--btn-success-bg-hover)}.modifiers-table-container .modifiers-table td[title]{cursor:help}@media(max-width:768px){.modifiers-table-container .modifiers-table,.modifiers-table-container .modifiers-table tbody{display:block;width:100%}.modifiers-table-container .modifiers-table thead{display:none}.modifiers-table-container .modifiers-table tr{position:relative;display:grid;grid-template-columns:7fr 3fr;grid-template-rows:auto auto auto;gap:0;margin:var(--space-2) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-flat);overflow:hidden}.modifiers-table-container .modifiers-table td:nth-child(1){grid-column:1 / -1;grid-row:1;font-weight:700;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3) var(--space-1);border-bottom:none}.modifiers-table-container .modifiers-table td:nth-child(2){grid-column:2;grid-row:2;font-weight:700;font-size:var(--font-size-base);padding:0 var(--space-3) var(--space-2) var(--space-2);border-bottom:none;text-align:right;align-self:start;white-space:nowrap}.modifiers-table-container .modifiers-table td:nth-child(3){grid-column:1;grid-row:2;width:100%!important;font-size:var(--font-size-xs);color:var(--text-secondary);padding:0 var(--space-2) var(--space-2) var(--space-3);border-bottom:none}.modifiers-table-container .modifiers-table td:nth-child(3):empty{display:none}.modifiers-table-container .modifiers-table td:nth-child(4){grid-column:1 / -1;grid-row:3;font-size:var(--font-size-xs);color:var(--text-secondary);padding:var(--space-2) 80px var(--space-2) var(--space-3);border-top:1px solid var(--border);border-bottom:none;white-space:normal;align-self:center}.modifiers-table-container .modifiers-table td:nth-child(5){position:absolute;right:var(--space-3);bottom:var(--space-1);padding:0;border-bottom:none;text-align:right}.modifiers-table-container .modifiers-table tr:last-child{margin-bottom:var(--space-2)}}.modifiers-table th:last-child,.modifiers-table td:last-child{text-align:right;width:180px}.modifiers-table th:nth-child(3),.modifiers-table td:nth-child(3){width:40%}.moral-title{font-weight:700;margin-bottom:var(--space-1);font-size:var(--font-size-xl)}.moral-value{font-size:var(--font-size-2xl);font-weight:700}@media(max-width:768px){.modifiers-table th:last-child,.modifiers-table td:last-child{width:auto}}.tab-content .tab-header{margin-bottom:var(--space-8)}.tab-header h2{color:var(--text-primary);margin:0;font-size:2em}.right-column{display:flex;flex-direction:column;gap:var(--space-5);height:100%}@media(max-width:480px){.tab-content{padding:var(--space-4)}.tab-header h2{font-size:1.6em}}.charges-tab{padding:0}.moral-main-container{display:flex;flex-direction:row;gap:var(--space-5);margin-bottom:var(--space-5)}@media(max-width:768px){.moral-main-container{flex-direction:column}}.moral-left-panel{flex:1;background-color:var(--surface-primary);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:var(--space-5);display:flex;justify-content:center;align-items:center}.moral-global-circle{display:flex;flex-direction:column;align-items:center}.moral-circle{width:120px;height:120px;border-radius:var(--border-radius-circle);display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--fantasy-text);margin-bottom:var(--space-2-5);box-shadow:var(--shadow-md)}.moral-emoji{font-size:36px;margin-bottom:var(--space-1)}.moral-value{font-size:28px;font-weight:700}.moral-title{font-size:var(--font-size-xl);font-weight:700;margin-top:var(--space-2);text-align:center}.moral-right-panel{flex:1;display:flex;flex-direction:column}.moral-effects-card{background-color:var(--surface-primary);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:var(--space-5);height:100%}.effects-title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-5);color:var(--text-primary)}.effect-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);position:relative}.effect-label{font-size:var(--font-size-base);color:var(--text-primary);flex:1}.effect-value{font-size:var(--font-size-base);font-weight:700;text-align:right;flex:1;margin-right:var(--space-5)}.effect-info{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:right;flex:1}.health-tab{padding:0}.health-tab h2{margin-bottom:var(--space-5)}.loading{display:flex;justify-content:center;align-items:center;height:300px;font-size:var(--font-size-xl);color:var(--text-secondary)}.error-message{display:flex;justify-content:center;align-items:center;height:300px;font-size:var(--font-size-xl);color:var(--color-danger);background-color:var(--color-alert-danger-bg);border-radius:var(--border-radius);padding:var(--space-5)}.error-message--mb{margin-bottom:var(--space-4)}.form-label--inline{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.template-selector{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--space-5);margin-bottom:var(--space-5)}.template-selector h4{margin:0 0 var(--space-4) 0;color:var(--text-primary)}.template-name{font-weight:700;color:var(--text-primary);display:block;margin-bottom:var(--space-1)}.template-description{font-size:.85em;color:var(--text-secondary);line-height:1.3}.effects-list{display:flex;flex-direction:column;gap:var(--space-4)}.effect-info{display:flex;align-items:center;gap:var(--space-2-5)}.parameter-row{display:flex;flex-direction:column;margin-bottom:var(--space-4)}.parameter-label{font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1);font-size:.9em}.parameter-label .required{color:var(--color-danger);margin-left:var(--space-1)}.parameter-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color-strong);border-radius:var(--border-radius-sm);font-size:.9em;transition:border-color .2s}.parameter-input:focus{outline:none;border-color:var(--fantasy-gold);box-shadow:0 0 0 2px var(--focus-ring-primary)}.parameter-input:disabled{background-color:var(--surface-tertiary);opacity:.6}.condition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);font-weight:500}.building-search{position:relative;min-width:200px}.formula-input-container{width:100%}.formula-input-wrapper{margin-bottom:var(--space-4)}.formula-input-with-equals{display:flex;align-items:flex-start;gap:var(--space-2)}.formula-equals{font-size:1.2em;font-weight:700;color:var(--text-primary);padding-top:var(--space-2-5);line-height:1;font-family:Courier New,monospace}.formula-textarea{flex:1;min-height:80px;font-family:Courier New,monospace;font-size:.9em;resize:vertical;padding:var(--space-2-5);border:1px solid var(--border-color-strong);border-radius:var(--border-radius-sm);background:var(--surface-primary)}.formula-textarea:focus{outline:none;border-color:var(--fantasy-gold);box-shadow:0 0 0 2px var(--focus-ring-primary);background:var(--surface-primary)}.formula-helpers{background:var(--surface-secondary);border:1px solid var(--surface-tertiary);border-radius:var(--border-radius);padding:var(--space-4);margin-top:var(--space-2-5)}.variables-main-header{margin:0 0 var(--space-3) 0;color:var(--text-primary);font-size:.95em;font-weight:600}.variable-category{margin-bottom:var(--space-3)}.variable-category-header{padding:0 0 var(--space-1) 0;margin:0 0 var(--space-1) 0;color:var(--text-secondary);font-size:.8em;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.variable-buttons{display:flex;flex-wrap:wrap;gap:var(--space-px-6);padding:0 0 var(--space-2) 0}.variable-button{background:var(--surface-tertiary);color:var(--fantasy-gold);border:1px solid var(--fantasy-gold-dim);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);cursor:pointer;font-size:.8em;transition:all .2s;white-space:nowrap}.variable-button:hover{background:var(--fantasy-gold-subtle);border-color:var(--fantasy-gold);transform:translateY(-1px)}.operators-section h5{margin:0 0 var(--space-2-5) 0;color:var(--text-primary);font-size:.95em;font-weight:600}.operators-help{display:flex;flex-direction:column;gap:var(--space-1)}.operator-help{font-family:Courier New,monospace;font-size:.8em;color:var(--text-secondary);background:var(--surface-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);border:1px solid var(--surface-tertiary)}.info-text{font-style:italic}@media(max-width:768px){.effect-info{flex-wrap:wrap}.building-search{min-width:0}}.building-search-container{position:relative}.building-search-results{position:absolute;top:100%;left:0;right:0;background:var(--surface-primary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm);max-height:200px;overflow-y:auto;z-index:100;box-shadow:var(--shadow)}.building-search-result{padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--surface-secondary)}.building-search-result:hover{background:var(--surface-secondary)}.building-search-result:last-child{border-bottom:none}.renown-tab,.construction-tab{padding:0}.construction-tab-loading{text-align:center;padding:var(--space-10);font-size:1.1em;color:var(--text-secondary)}.construction-tab-error{background:var(--color-alert-danger-bg);color:var(--color-alert-danger-text);border:1px solid var(--color-alert-danger-border);border-radius:var(--border-radius);padding:var(--space-5);margin:var(--space-5) 0;text-align:center}@media(max-width:1024px){.construction-tab .revenues-summary-full-width{grid-template-columns:1fr;gap:var(--space-4)}.construction-tab .modifiers-grid{grid-template-columns:1fr;gap:var(--space-5)}}.construction-queue-section{margin:var(--space-8) 0;background:var(--surface-primary);border-radius:var(--border-radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.construction-queue-section h3{margin:0 0 var(--space-5) 0;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:var(--space-2-5)}.construction-queue{display:flex;flex-direction:column;gap:var(--space-4)}.queue-item{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--space-4);transition:all .2s ease}.queue-item:hover{border-color:var(--fantasy-gold);box-shadow:0 2px 8px var(--shadow-primary-sm)}.queue-item-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2-5)}.queue-position{background:var(--fantasy-gold);color:var(--fantasy-text);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:700;min-width:30px;text-align:center}.building-name{flex:1;margin:0;color:var(--text-primary);font-size:var(--font-size-lg)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);border-radius:var(--border-radius-sm);border:none;cursor:pointer;transition:background-color .2s}.queue-item-progress{margin-bottom:var(--space-2-5)}.queue-item-details{display:flex;gap:var(--space-5);font-size:var(--font-size-sm);color:var(--text-secondary)}.no-construction{text-align:center;padding:var(--space-10) var(--space-5);color:var(--text-secondary)}.no-construction p{margin:var(--space-2-5) 0}.construction-tab.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.construction-tab-error{background-color:var(--color-alert-danger-bg);color:var(--color-alert-danger-text);padding:var(--space-4);border-radius:var(--border-radius-sm);margin-bottom:var(--space-5)}.building-detail-banner{display:block;width:calc(100% + 2 * var(--space-6));aspect-ratio:16 / 9;margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-6);background-size:cover;background-position:center;background-repeat:no-repeat}.building-conditions-display{border-radius:var(--border-radius);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.building-conditions-display.loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--surface-primary);border:1px solid var(--border-color);color:var(--text-secondary)}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.building-conditions-display.error{padding:var(--space-4);background:var(--color-alert-danger-bg);border:1px solid var(--color-alert-danger-border);color:var(--color-alert-danger-text)}.building-conditions-display.compact{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:none;line-height:1;font-size:var(--font-size-base)}.building-conditions-display.full{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.conditions-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--surface-secondary);border-bottom:1px solid var(--border-color)}.conditions-header h3{margin:0;color:var(--text-primary);font-size:var(--font-size-lg)}.overall-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:20px;font-weight:500;font-size:var(--font-size-sm)}.overall-status.can-build{background:var(--color-alert-success-bg);color:var(--color-alert-success-text);border:1px solid var(--color-alert-success-border)}.overall-status.cannot-build{background:var(--color-alert-danger-bg);color:var(--color-alert-danger-text);border:1px solid var(--color-alert-danger-border)}.conditions-section{padding:var(--space-4);border-bottom:1px solid var(--border-color)}.conditions-section:last-child{border-bottom:none}.conditions-section h4{margin:0 0 var(--space-4) 0;color:var(--text-primary);font-size:var(--font-size-base);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-2)}.conditions-list{display:flex;flex-direction:column;gap:var(--space-3)}.condition-status{padding:var(--space-3);border-radius:var(--border-radius);border-left:4px solid}.condition-status.met{background:var(--color-alert-success-bg);border-left-color:var(--color-success)}.condition-status.not-met{background:var(--color-alert-danger-bg);border-left-color:var(--color-danger)}.condition-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.condition-name{font-weight:500;color:var(--text-primary)}.condition-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-2);line-height:1.4}.condition-message{color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:var(--space-2);padding:var(--space-2);background:var(--overlay-dark-05);border-radius:var(--border-radius-sm)}.condition-parameters{font-size:var(--font-size-xs);color:var(--text-secondary)}.condition-parameters strong{color:var(--text-primary)}.condition-parameters ul{margin:var(--space-1) 0 0 var(--space-4);padding:0}.condition-parameters li{margin-bottom:var(--space-1)}.no-conditions{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;color:var(--text-secondary);font-style:italic;justify-content:center}.blocking-summary{padding:var(--space-4);background:var(--color-alert-warning-bg);border-top:1px solid var(--color-alert-warning-border)}.blocking-summary h4{margin:0 0 var(--space-3) 0;color:var(--color-alert-warning-text);font-size:var(--font-size-base)}.blocking-summary ul{margin:0;padding:0;list-style:none}.blocking-condition{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);margin-bottom:var(--space-2);background:var(--surface-tertiary);border-radius:var(--border-radius-sm);border-left:3px solid var(--color-warning);color:var(--color-alert-warning-text)}.blocking-condition:last-child{margin-bottom:0}.construction-status{padding:var(--space-4);background:var(--surface-secondary);border-top:1px solid var(--border-color)}.status-message{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--border-radius);font-weight:500}.status-message.success{background:var(--color-alert-success-bg);color:var(--color-alert-success-text);border:1px solid var(--color-alert-success-border)}.status-message.error{background:var(--color-alert-danger-bg);color:var(--color-alert-danger-text);border:1px solid var(--color-alert-danger-border)}.status-icon{font-size:var(--font-size-xl);flex-shrink:0}@media(max-width:768px){.conditions-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.overall-status{align-self:stretch;justify-content:center}.condition-header{flex-wrap:wrap}.status-message{flex-direction:column;text-align:center;gap:var(--space-2)}}.condition-status{transition:all .3s ease}.condition-status:hover{transform:translate(2px);box-shadow:var(--shadow-sm)}.buildings-tab{padding:0}.building-plan-detail-banner{display:block;width:calc(100% + 2 * var(--space-6));aspect-ratio:16 / 9;margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-6);background-size:cover;background-position:center;background-repeat:no-repeat}.building-plans-tab{padding:0}.action-buttons{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.btn-disabled{background-color:var(--text-secondary);color:var(--fantasy-text);cursor:not-allowed;opacity:.6}.btn:disabled{cursor:not-allowed;opacity:.6}@media(max-width:768px){.building-plans-tab .population-controls{flex-direction:column;gap:var(--space-4)}.building-plans-tab .filters,.building-plans-tab .search-and-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.building-plans-tab .filters{gap:var(--space-3)}.building-plans-tab .search-and-actions{gap:var(--space-2-5)}.building-plans-tab .filters>*,.building-plans-tab .search-and-actions>*{width:100%}.building-plans-tab .search-and-actions>*:only-child{grid-column:1 / -1}}.dev-toolbar{position:fixed;bottom:12px;right:12px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dev-toolbar-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;border:2px dashed;border-radius:999px;cursor:pointer;box-shadow:0 2px 8px #00000059;transition:background-color .12s ease-in-out,transform 80ms ease-in-out}.dev-toolbar-btn:active{transform:translateY(1px)}.dev-toolbar-btn__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dev-toolbar-btn--role{background:#6b21a8;border-color:#f0abfc}.dev-toolbar-btn--role:hover{background:#7e22ce}.dev-toolbar-btn--role .dev-toolbar-btn__dot{background:#fbcfe8;box-shadow:0 0 6px #f9a8d4}.dev-toolbar-btn--role.is-active{background:#db2777;border-color:#fbcfe8;animation:dev-toolbar-pulse-role 1.6s ease-in-out infinite}.dev-toolbar-btn--role.is-active .dev-toolbar-btn__dot{background:#fff;box-shadow:0 0 8px #fff}.dev-toolbar-btn--patreon{background:#166534;border-color:#86efac}.dev-toolbar-btn--patreon:hover{background:#15803d}.dev-toolbar-btn--patreon .dev-toolbar-btn__dot{background:#86efac;box-shadow:0 0 6px #4ade80}.dev-toolbar-btn--patreon.is-active{background:#16a34a;border-color:#4ade80;animation:dev-toolbar-pulse-patreon 1.6s ease-in-out infinite}.dev-toolbar-btn--patreon.is-active .dev-toolbar-btn__dot{background:#fff;box-shadow:0 0 8px #fff}@keyframes dev-toolbar-pulse-role{0%,to{box-shadow:0 2px 8px #00000059}50%{box-shadow:0 2px 14px #db2777a6}}@keyframes dev-toolbar-pulse-patreon{0%,to{box-shadow:0 2px 8px #00000059}50%{box-shadow:0 2px 14px #16a34aa6}}.format-picker{display:flex;align-items:center;gap:var(--space-2)}.format-picker__label{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.format-picker__select{background:var(--surface-sidebar);border:1px solid var(--fantasy-border);color:var(--text-primary);padding:var(--space-1) var(--space-3);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:border-color .15s ease}.format-picker__select:hover{border-color:var(--border-bevel-ctrl);outline:none}.format-picker__select:focus{border-color:var(--accent);outline:none}.audio-sidebar{padding-top:0!important;padding-bottom:0!important;display:flex;flex-direction:column}.audio-sidebar__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--overlay-light-05);flex-shrink:0}.audio-sidebar__logo{height:28px;width:auto;opacity:.85;flex:none}.audio-sidebar__title{font-family:var(--font-fantasy-title);font-size:var(--font-size-sm);color:var(--fantasy-gold);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-align:left}.audio-sidebar__filters{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.audio-sidebar>.sidebar__bottom{position:static;margin-top:auto}.audio-user-status{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.audio-user-name{color:var(--fantasy-gold);font-weight:600;font-size:var(--font-size-sm);text-align:center;width:100%}.audio-sidebar__username{display:block;text-align:center;padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-layout{min-height:100vh;width:100%;background:transparent;color:var(--text-primary);--audio-header-h: 56px;--audio-player-h: 110px;--audio-row-h: 34px}.audio-header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--audio-header-h);z-index:400;display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:var(--surface-sidebar);border-bottom:1px solid var(--fantasy-border)}.audio-header__rail-toggle,.audio-rail-scrim{display:none}.audio-header__nav{display:flex;align-items:center;gap:var(--space-1);min-width:0}.audio-header .audio-header__nav .sidebar-tab{position:relative;text-decoration:none;width:auto;padding:var(--space-3);border:none;border-radius:0;box-shadow:none;background:none;color:var(--text-muted);font:400 13px/1 var(--font-ui)}.audio-header .audio-header__nav .sidebar-tab:hover{background:var(--overlay-light-05);color:var(--text-body)}.audio-header .audio-header__nav .sidebar-tab.active{border:none;border-radius:0;box-shadow:none;background:none;color:var(--text-primary);font-weight:700}.audio-header .audio-header__nav .sidebar-tab.active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;background:var(--accent)}.audio-header__right{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.audio-header__downloader-btn{display:inline-flex;align-items:center;position:relative;overflow:hidden;padding:.4rem .9rem;font:600 var(--font-size-sm)/1 var(--font-ui);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);border-radius:var(--radius-control);background:var(--btn-primary-bg);text-decoration:none;white-space:nowrap;animation:var(--btn-primary-anim, none);transition:filter .15s ease}.audio-header__downloader-btn:hover{filter:brightness(1.08)}.audio-main{margin-left:var(--sidebar-width);padding-top:var(--audio-header-h);padding-bottom:var(--audio-player-h);min-height:100vh;background:transparent}.audio-view{padding:var(--space-5) var(--space-5) var(--space-5)}.audio-view__title{font:700 17px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary);margin:0 0 var(--space-4)}.audio-view__count{font:400 11.5px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint)}.my-licenses-view__devices{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-color)}.audio-track-list{list-style:none;padding:0;margin:var(--space-4) 0 0}.audio-track-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--overlay-light-05)}.audio-track-list a{color:var(--text-primary);text-decoration:none}.audio-track-list a:hover{color:var(--text-primary);text-decoration:underline}.audio-track-meta{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin-top:var(--space-4)}.audio-track-meta dt{color:var(--text-muted);font-size:var(--font-size-sm)}.audio-track-meta dd{margin:0;color:var(--text-primary)}.audio-state{color:var(--text-secondary)}.audio-state--error{color:var(--color-danger)}.track-view__source-link{color:var(--text-primary);text-decoration:none}.track-view__source-link:hover{text-decoration:underline}.track-view__keywords{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.track-view__keyword-tag{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:var(--font-size-xs);padding:2px 10px;white-space:nowrap}.track-view__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5);align-items:center}.track-view__action-btn{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);text-decoration:none;transition:background .15s;white-space:nowrap}.track-view__action-btn:hover{background:var(--surface-tertiary)}.track-view__action-btn--play{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.track-view__action-btn--play.track-view__action-btn--playing{background:var(--accent-soft)}.track-view__action-btn--download{background:var(--surface-secondary)}.track-view__action-btn--license{background:var(--surface-control);border-color:var(--border-strong);color:var(--text-muted)}.track-view__action-btn--buy{background:var(--color-alert-success-bg);border-color:var(--color-success);color:var(--color-success)}.track-view__action-btn--signin{border-style:dashed;color:var(--text-muted)}.download-view__subtitle{color:var(--text-secondary);margin-bottom:var(--space-5);max-width:52ch}.download-view__version{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-4)}.download-view__buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.download-view__btn{display:inline-flex;align-items:center;gap:.4em;padding:.6rem 1.25rem;border-radius:var(--radius-control);font:400 var(--font-size-sm)/1 var(--font-ui);text-decoration:none;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.download-view__btn--primary{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);color:var(--btn-primary-fg);font-weight:600}.download-view__btn--secondary{background:var(--surface-control);border:1px solid var(--border-strong);color:var(--text-muted)}.download-view__btn--secondary:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.download-view__section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-color);max-width:60ch}.download-view__section-title{font:700 var(--font-size-sm)/1.2 var(--font-ui);letter-spacing:-.005em;margin-top:0;color:var(--text-primary)}.download-view__connect-link{display:inline-block;margin-top:var(--space-3);color:var(--text-muted);text-decoration:none;font-size:var(--font-size-sm)}.download-view__connect-link:hover{text-decoration:underline}.audio-table-wrap{overflow-x:auto}@media(max-width:1100px){.audio-header__nav{overflow-x:auto;scrollbar-width:none;flex:1 1 auto}.audio-header__nav::-webkit-scrollbar{display:none}.audio-header__nav .sidebar-tab,.audio-header__right{flex:none}}@media(max-width:768px){.audio-header__rail-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;margin-left:calc(var(--space-2) * -1);padding:0;border:1px solid transparent;border-radius:var(--border-radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.audio-header__rail-toggle:hover{background:var(--overlay-light-05);color:var(--text-primary)}.audio-header__rail-toggle[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.audio-header{left:0;gap:var(--space-3);padding:0 var(--space-3)}.audio-main{margin-left:0}.audio-view{padding:var(--space-4) var(--space-3)}.audio-sidebar{inset:0 auto auto 0;width:var(--sidebar-width);max-width:88vw;height:100vh;max-height:none;border-top:none;border-right:1px solid var(--fantasy-border);z-index:500;transform:translate(-100%);transition:transform var(--transition-base);box-shadow:2px 0 24px var(--overlay-dark-50)}.audio-sidebar.is-open{transform:translate(0)}.audio-rail-scrim{display:block;position:fixed;inset:0;z-index:499;background:var(--overlay-dark-50)}}.admin-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:var(--space-3)}.admin-modal__btn{padding:7px 14px;border:1px solid transparent;border-radius:var(--radius-control);font:400 12.5px/1 var(--font-ui);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.admin-modal__btn:disabled{opacity:.5;cursor:default}.admin-modal__btn--cancel{background:var(--surface-control);border-color:var(--border-strong);color:var(--text-muted)}.admin-modal__btn--cancel:hover:not(:disabled){border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.admin-modal__btn--save,.admin-modal__btn--publish{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-fg);font-weight:600}.admin-modal__btn--confirm,.admin-modal__btn--danger{background:transparent;border-color:var(--negative);color:var(--negative)}.admin-modal__btn--confirm:hover:not(:disabled),.admin-modal__btn--danger:hover:not(:disabled){background:var(--overlay-light-05);border-color:var(--negative);color:var(--negative)}.admin-modal__error{color:var(--negative);font-size:var(--font-size-sm);margin:0 0 var(--space-2)}.catalogue-tracks__table,.admin-queue,.my-tracks{width:100%;border-collapse:collapse}.catalogue-tracks__table th,.admin-queue thead th,.my-tracks thead th{text-align:left;padding:8px 12px;background:var(--surface-control);border-bottom:1px solid var(--border);font:700 9.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.track-row td,.admin-queue__cell,.my-tracks td{height:var(--audio-row-h);padding:6px 12px;border-bottom:1px solid var(--border);font:400 13px/1.3 var(--font-ui);color:var(--text-body);vertical-align:middle}.admin-queue__row,.my-tracks__row{border-bottom:1px solid var(--border)}.audio-player{position:fixed;bottom:0;left:var(--sidebar-width);right:0;height:0;overflow:hidden;display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:#120e0ad1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--fantasy-border);z-index:9000;transition:height .22s ease;box-shadow:0 -4px 24px #0000008c}.audio-player--active{height:90px}.audio-player__track-info{display:flex;align-items:center;gap:var(--space-3);width:200px;flex-shrink:0;overflow:hidden}.audio-player__thumb{width:52px;height:52px;border-radius:var(--border-radius-sm);object-fit:cover;flex-shrink:0}.audio-player__thumb--placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface-sidebar);border:1px solid var(--fantasy-border);color:var(--text-muted);font-size:20px}.audio-player__meta{display:flex;flex-direction:column;gap:2px;overflow:hidden}.audio-player__title{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-player__composer{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-player__center{flex:1;min-width:0;height:100%;display:flex;align-items:center}.audio-player__controls{display:flex;align-items:center;gap:var(--space-2)}.audio-player__btn{background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);transition:color .15s ease,background .15s ease;line-height:1}.audio-player__btn:hover:not(:disabled){color:var(--text-primary);background:var(--overlay-light-05)}.audio-player__btn--play{font-size:20px;color:var(--fantasy-gold);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--fantasy-gold);padding:0}.audio-player__btn-icon{display:flex;align-items:center;justify-content:center;line-height:1}.audio-player__btn-icon--play{padding-left:2px}.audio-player__btn--play .audio-player__btn-icon:not(.audio-player__btn-icon--play){padding-left:0;padding-right:0;letter-spacing:-.5px}.audio-player__btn--play:hover:not(:disabled){background:var(--fantasy-gold-subtle);color:var(--fantasy-gold)}.audio-player__btn:disabled{opacity:.35;cursor:default}.audio-player__waveform{width:100%;min-height:56px}.audio-player__right{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:var(--space-2);width:280px;flex-shrink:0}.audio-player__time{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.audio-player__volume{display:flex;align-items:center;gap:var(--space-2)}.audio-player__volume-icon{font-size:13px;color:var(--text-secondary)}.audio-player__volume-slider{width:64px;accent-color:var(--fantasy-gold);cursor:pointer}@media(max-width:768px){.audio-player{left:0;padding:0 var(--space-3);gap:var(--space-3)}}.album-zip{display:flex;flex-direction:column;gap:var(--space-2)}.album-zip__btn{width:100%;background:var(--surface-control);border:1px solid var(--border-strong);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600;padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);cursor:pointer;text-align:center;transition:filter .15s ease,opacity .15s ease,background .15s ease}.album-zip__btn:hover:not(:disabled){background:var(--color-info-hover);filter:brightness(1.05)}.album-zip__btn:disabled{opacity:.6;cursor:default}.album-zip__error{font-size:var(--font-size-xs);color:var(--negative);margin:var(--space-1) 0 0}.ss{position:relative;width:100%}.ss__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:.4rem .6rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left}.ss__trigger:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.ss__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss__value--placeholder{color:var(--text-secondary)}.ss__arrow{color:var(--text-muted);font-size:.7em;flex-shrink:0}.ss__panel{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:0 8px 24px var(--overlay-dark-50);padding:var(--space-2)}.ss__search{width:100%;padding:.35rem .5rem;margin-bottom:var(--space-2);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.ss__list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column}.ss__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:.4rem .5rem;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left}.ss__option:hover{background:var(--surface-secondary)}.ss__option--active{color:var(--text-primary);font-weight:700}.ss__option--clear{color:var(--text-secondary);font-style:italic}.ss__badge{flex-shrink:0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;padding:.05rem .35rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--text-muted);font-family:var(--font-mono)}.ss__empty{padding:.4rem .5rem;color:var(--text-secondary);font-size:var(--font-size-sm)}.src-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:.4rem .6rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left}.src-picker__trigger:hover:not(:disabled){border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.src-picker__trigger--disabled{opacity:.5;cursor:default}.src-picker__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-picker__placeholder{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-picker__arrow{color:var(--text-muted);font-size:.7em;flex-shrink:0}.src-picker__backdrop{position:fixed;inset:0;z-index:9999;background:var(--overlay-dark-65);display:flex;align-items:center;justify-content:center}.src-picker__modal{background:var(--surface-sidebar);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-lg);box-shadow:0 16px 48px var(--overlay-dark-70);width:min(480px,92vw);max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.src-picker__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--fantasy-border);flex-shrink:0}.src-picker__title{margin:0;font:700 15px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary)}.src-picker__close{background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;line-height:1;padding:0 var(--space-1)}.src-picker__close:hover{color:var(--text-primary)}.src-picker__search{margin:var(--space-3) var(--space-4);flex-shrink:0;padding:.4rem .6rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.src-picker__search:focus{outline:none;border-color:var(--accent)}.src-picker__list{overflow-y:auto;flex:1;padding:0 var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:2px}.src-picker__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:.45rem .6rem;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left}.src-picker__item:hover{background:var(--overlay-light-05)}.src-picker__item--active{color:var(--text-primary);font-weight:700}.src-picker__item--clear{color:var(--text-secondary);font-style:italic;border-bottom:1px solid var(--overlay-light-05);margin-bottom:var(--space-1)}.src-picker__item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-picker__item-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.src-picker__item-badge{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--text-muted);font-family:var(--font-mono)}.src-picker__item-count{font-size:var(--font-size-xs);color:var(--text-secondary)}.src-picker__empty{padding:.6rem;color:var(--text-secondary);font-size:var(--font-size-sm)}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-6);border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);background:var(--surface-primary);color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:center}.upload-dropzone:hover{border-color:var(--border-bevel-ctrl)}.upload-dropzone--over{border-color:var(--accent);background:var(--accent-soft)}.upload-dropzone__icon{font-size:2rem;color:var(--text-muted)}.upload-dropzone__text{font-size:var(--font-size-sm);color:var(--text-primary)}.upload-dropzone__hint{font-size:var(--font-size-xs)}.upload-dropzone__input{display:none}.bulk-edit{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--surface-secondary)}.bulk-edit__label{font:700 9.5px/1.6 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-self:center}.bulk-edit__fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);flex:1 1 auto}.bulk-edit__field{display:flex;flex-direction:column;gap:.25rem}.bulk-edit__apply{padding:7px 14px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);border-radius:var(--radius-control);font-weight:600;cursor:pointer;white-space:nowrap}.bulk-edit__apply:hover{filter:brightness(1.05)}.upload-cards{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.upload-card{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--surface-primary);padding:var(--space-4)}.upload-card--done{border-color:var(--positive)}.upload-card--error{border-color:var(--negative)}.upload-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.upload-card__filename{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-card__status{flex-shrink:0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border-color);color:var(--text-secondary)}.upload-card__status--done{color:var(--positive);border-color:var(--positive)}.upload-card__status--error{color:var(--negative);border-color:var(--negative)}.upload-card__status--processing,.upload-card__status--uploading{color:var(--warning);border-color:var(--warning)}.upload-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.upload-field{display:flex;flex-direction:column;gap:.25rem}.upload-field--full{grid-column:1 / -1}.upload-field__label{font:700 9.5px/1.6 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.upload-field__input{padding:.4rem .6rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.upload-field__input:focus{outline:none;border-color:var(--accent)}.upload-field__textarea{resize:vertical;font-family:inherit}.upload-card__progress{height:8px;margin-top:var(--space-3);background:var(--surface-secondary);border-radius:999px;overflow:hidden}.upload-card__progress-bar{height:100%;background:var(--warning);transition:width .2s linear}.upload-card--done .upload-card__progress-bar{background:var(--positive)}.upload-card__actions{margin-top:var(--space-3);display:flex;justify-content:flex-end}.upload-card__upload-btn{padding:7px 14px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);border-radius:var(--radius-control);font-weight:600;cursor:pointer}.upload-card__upload-btn:disabled{opacity:.6;cursor:default}.upload-card__error{margin:var(--space-3) 0 0;color:var(--negative);font-size:var(--font-size-sm)}.upload-mood-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.3rem 0}.upload-mood-chip{padding:.2rem .6rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.upload-mood-chip--active{background:var(--surface-control);border-color:var(--border-bevel-ctrl);color:var(--text-primary);font-weight:700}.upload-mood-chip:disabled{opacity:.5;cursor:default}.upload-card__done{padding:var(--space-2) 0}.upload-card__done-msg{margin:0 0 .25rem;color:var(--positive);font-weight:600}.upload-card__done-link{color:var(--text-muted);text-decoration:none}.upload-card__done-link:hover{text-decoration:underline}.upload-all-bar{display:flex;justify-content:flex-end;margin-top:var(--space-3)}.upload-all-bar__btn{padding:8px 20px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);border-radius:var(--radius-control);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:filter .15s ease}.upload-all-bar__btn:hover{filter:brightness(1.1)}.track-edit__schedule-row{display:flex;align-items:center;gap:.5rem;margin-top:.2rem}.track-edit__schedule-row .upload-field__input{flex:1 1 auto;min-width:0;color-scheme:dark}.track-edit__audio-section{border-top:1px solid var(--border-color);padding-top:var(--space-3);margin-top:var(--space-2)}.track-edit__audio-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem}.track-edit__audio-name{font-size:var(--font-size-sm);color:var(--text-secondary);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-edit__audio-success{font-size:var(--font-size-sm);color:var(--positive);font-weight:600}.share-field{margin-bottom:var(--space-6)}.share-field__label{display:block;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.share-field__row{display:flex;gap:var(--space-2)}.share-field__input{flex-grow:1;background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.share-field__textarea{width:100%;background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);font-size:.85rem;font-family:monospace;margin-bottom:var(--space-2);resize:none}.share-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-4)}.catalogue-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}.catalogue-sidebar__section{display:flex;flex-direction:column;gap:var(--space-2)}.catalogue-sidebar__heading{font:700 9.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0}.catalogue-sidebar__check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--text-secondary);cursor:pointer;transition:color .15s ease}.catalogue-sidebar__check:hover{color:var(--text-primary)}.catalogue-sidebar__check input[type=checkbox]{accent-color:var(--accent)}.catalogue-sidebar__duration-row{display:flex;align-items:flex-start;gap:var(--space-2)}.catalogue-sidebar__duration-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalogue-sidebar__duration-hint{font-size:10px;color:var(--text-faint);padding-left:var(--space-1)}.catalogue-sidebar__duration-input{width:100%;min-width:0;background:var(--surface-secondary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);height:34px}.catalogue-sidebar__duration-input:focus{outline:none;border-color:var(--accent)}.catalogue-sidebar__duration-sep{color:var(--text-secondary);font-size:var(--font-size-sm)}.catalogue-sidebar__reset{background:none;border:1px solid var(--fantasy-border);color:var(--text-secondary);font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-top:var(--space-2)}.catalogue-sidebar__reset:hover{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.chip-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:.4rem .6rem;background:var(--surface-primary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;text-align:left}.chip-picker__trigger:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.chip-picker__arrow{font-size:9px;color:var(--text-secondary);flex-shrink:0}.chip-picker__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-1)}.chip-picker__tag{display:inline-flex;align-items:center;gap:4px;background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font:400 var(--font-size-xs)/1.6 var(--font-ui);padding:1px 8px 1px 10px}.chip-picker__tag-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:10px;padding:0;line-height:1;opacity:.7}.chip-picker__tag-remove:hover{opacity:1}.chip-modal__backdrop{position:fixed;inset:0;z-index:600;background:var(--overlay-dark-65);display:flex;align-items:center;justify-content:center}.chip-modal{background:var(--surface-sidebar);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-lg);box-shadow:0 16px 48px var(--overlay-dark-70);width:min(480px,92vw);max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.chip-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--fantasy-border);flex-shrink:0}.chip-modal__title{margin:0;font:700 15px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary)}.chip-modal__close{background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:0 var(--space-1);line-height:1}.chip-modal__close:hover{color:var(--text-primary)}.chip-modal__search{margin:var(--space-3) var(--space-4);flex-shrink:0;padding:.4rem .6rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.chip-modal__search:focus{outline:none;border-color:var(--accent)}.chip-modal__chips{overflow-y:auto;flex:1;padding:0 var(--space-4) var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2);align-content:flex-start}.chip-modal__chip{padding:.3rem .8rem;border:1px solid var(--fantasy-border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.chip-modal__chip:hover{background:var(--overlay-light-05);color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.chip-modal__chip--active{background:var(--surface-control);color:var(--text-primary);font-weight:700;border-color:var(--border-bevel-ctrl)}.chip-modal__footer{flex-shrink:0;display:flex;justify-content:flex-end;padding:var(--space-3) var(--space-4);border-top:1px solid var(--fantasy-border)}.chip-modal__done{padding:7px 14px;background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);color:var(--btn-primary-fg);border:none;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;font-size:var(--font-size-sm)}.chip-modal__done:hover{filter:brightness(1.1)}.chip-modal__badge{display:inline-block;margin-left:var(--space-2);padding:1px 5px;font-size:10px;border-radius:3px;background:var(--surface-inset);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.filter-search__input{width:100%;background:var(--surface-primary);border:1px solid var(--fantasy-border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);box-sizing:border-box;height:34px}.filter-search__input:focus{outline:none;border-color:var(--accent)}.filter-search__list{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.filter-search__empty{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--space-1) 0}.filter-dropdown{position:relative}.filter-dropdown__trigger{width:100%;background:var(--surface-primary);border:1px solid var(--fantasy-border);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left}.filter-dropdown__trigger:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.filter-dropdown__arrow{font-size:9px;color:var(--text-secondary);margin-left:var(--space-2)}.filter-dropdown__panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--surface-sidebar);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);padding:var(--space-2);box-shadow:0 8px 24px var(--overlay-dark-50);display:flex;flex-direction:column;gap:var(--space-1)}.filter-dropdown__option{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);text-align:left;cursor:pointer;border-radius:3px;transition:background .12s ease,color .12s ease}.filter-dropdown__option:hover{background:var(--overlay-light-05);color:var(--text-primary)}.filter-dropdown__option--active{color:var(--text-primary);font-weight:700}.filter-dropdown__option--clear{font-style:italic;border-bottom:1px solid var(--overlay-light-05);margin-bottom:var(--space-1)}.catalogue-main{min-width:0;padding:0 var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.catalogue-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--fantasy-border);padding-bottom:0}.catalogue-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font:400 13px/1 var(--font-ui);letter-spacing:0;text-transform:none;padding:var(--space-3) var(--space-4);cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px;text-decoration:none;display:inline-block}.catalogue-tab:hover{color:var(--text-body)}.catalogue-tab--active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--accent)}.catalogue-tracks__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.catalogue-tracks__search{flex:1;min-width:200px;max-width:300px;background:var(--surface-primary);border:1px solid var(--fantasy-border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.catalogue-tracks__search:focus{outline:none;border-color:var(--accent)}.catalogue-tracks__count{font:400 11.5px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint);white-space:nowrap}.catalogue-tracks__table-wrap{overflow-x:auto}.catalogue-tracks__table .th-play{width:40px}.catalogue-tracks__table .th-actions{width:80px;text-align:right}.track-row:hover td{background:var(--overlay-light-05)}.track-row--active td{background:var(--accent-soft)}.track-row--active td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.track-row--skeleton td{padding:var(--space-2) var(--space-3)}.skeleton-line{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,var(--overlay-light-05) 25%,var(--overlay-light-08) 50%,var(--overlay-light-05) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.track-row__play{width:40px;text-align:center}.track-row__play-btn{width:24px;height:24px;border:1px solid var(--border-strong);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:9px;line-height:1;transition:color .15s ease,border-color .15s ease}.track-row__play-btn:not(.track-row__play-btn--playing){padding-left:2px}.track-row:hover .track-row__play-btn{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.track-row__play-btn--playing{color:var(--accent);border-color:var(--accent);letter-spacing:-.5px}.track-row__title-link{color:var(--text-body);text-decoration:none;transition:color .15s ease}.track-row__title-link:hover{color:var(--text-primary);text-decoration:underline}.track-row--active .track-row__title-link{color:var(--accent)}.track-row__badge{display:inline-block;margin-left:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-inset);color:var(--text-muted);font:700 9px/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding:1px 7px}.track-row__badge--btn{border:none;cursor:pointer;font-family:inherit;letter-spacing:inherit;vertical-align:middle;transition:background .15s ease,color .15s ease}.track-row__badge--btn:hover,.track-row__badge--expanded{background:var(--overlay-light-08);color:var(--text-primary)}.track-row__badge--owned{color:var(--positive);border-color:var(--positive)}.track-row__owned-check{color:var(--positive);font-size:13px;margin-right:var(--space-1);font-weight:700}.track-row__source-link{background:none;border:none;padding:0;font-size:inherit;font-family:inherit;cursor:pointer;color:var(--text-secondary);text-decoration:none}.track-row__source-link:hover{color:var(--text-primary);text-decoration:underline}.track-row__cell{color:var(--text-body)}.track-row__cell--empty{color:var(--text-faint)}.track-row__type,.track-row__type--music,.track-row__type--ambience,.track-row__type--sfx{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-inset);color:var(--text-muted);font:700 9px/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding:1px 7px}.track-row__genre{font-size:var(--font-size-xs)}td.track-row__duration,td.track-row__updated{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-xs);white-space:nowrap}td.track-row__duration{text-align:right}.track-row__title,.track-row__cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.track-row__era,td.track-row__genre{max-width:140px}.track-row__actions{text-align:right;white-space:nowrap}.track-row__action-btn,.track-row__action-btn--buy,.track-row__action-btn--signin{border:1px solid var(--border-strong);background:var(--surface-control);color:var(--text-muted);border-radius:var(--radius-control);font:400 11.5px/1 var(--font-ui);padding:5px 9px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;margin-left:var(--space-1);transition:color .15s ease,border-color .15s ease}.track-row__action-btn:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.catalogue-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4) 0}.catalogue-pagination__btn{background:none;border:1px solid var(--fantasy-border);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:color .15s ease,border-color .15s ease}.catalogue-pagination__btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.catalogue-pagination__btn:disabled{opacity:.35;cursor:default}.catalogue-pagination__label{font-size:var(--font-size-sm);color:var(--text-secondary)}.catalogue-artists{display:flex;flex-direction:column;gap:var(--space-3)}.artist-card{display:flex;align-items:center;gap:var(--space-4);background:var(--surface-primary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);padding:var(--space-3) var(--space-4);transition:border-color .15s ease}.artist-card:hover{border-color:var(--border-bevel-ctrl)}.artist-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--surface-inset);color:var(--text-muted);font:700 20px/1 var(--font-ui);display:flex;align-items:center;justify-content:center;flex-shrink:0}.artist-card__info{flex:1;display:flex;flex-direction:column;gap:2px}.artist-card__name{font-size:var(--font-size-base);color:var(--text-primary)}.artist-card__count{font-size:var(--font-size-xs);color:var(--text-secondary)}.catalogue-albums{display:flex;flex-direction:column;gap:var(--space-3)}.album-row{display:flex;align-items:flex-start;gap:var(--space-5);background:var(--surface-primary);border:1px solid var(--fantasy-border);border-radius:var(--border-radius-sm);padding:var(--space-5);min-height:140px;transition:border-color .15s ease}.album-row:hover{border-color:var(--border-bevel-ctrl)}.album-row__cover{width:110px;height:110px;object-fit:cover;border-radius:var(--border-radius-sm);flex-shrink:0}.album-row__cover--placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface-sidebar);color:var(--text-muted);font-size:36px}.album-row__info{flex:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.album-row__title{font:700 1.05rem/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary);text-decoration:none}.album-row__meta{font-size:var(--font-size-xs);color:var(--text-secondary)}.album-row__desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;white-space:pre-wrap;word-break:break-word}.album-row__actions{display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0;align-items:stretch;min-width:148px}.album-row__btn{background:none;border:1px solid var(--fantasy-border);color:var(--text-secondary);font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);transition:color .15s ease,border-color .15s ease}.album-row__btn:hover{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.album-row__btn--buy{background:var(--surface-control);border-color:var(--border-strong);color:var(--text-muted);font-weight:600}.album-row__btn--buy:hover{background:var(--surface-control);border-color:var(--border-bevel-ctrl);color:var(--text-primary);filter:brightness(1.1)}.album-row__err{font-size:var(--font-size-xs);color:var(--negative)}.album-row__zip{display:flex;flex-direction:column;gap:var(--space-2)}.variant-row td{padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--overlay-light-03);color:var(--text-secondary);vertical-align:middle;background:var(--overlay-dark-10)}.variant-row:hover td{background:var(--overlay-dark-25)}.variant-row--active td{background:var(--accent-soft)}.variant-row--active td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.variant-row__title{display:flex;align-items:center;gap:var(--space-2)}.variant-row__indent{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0;padding-left:var(--space-4)}.variant-row__version-label{font:700 9px/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--surface-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-control);padding:1px 6px;white-space:nowrap;flex-shrink:0}.variant-row__title-link{font-size:var(--font-size-sm);color:var(--text-body)}.variant-row__title-link:hover{color:var(--text-primary);text-decoration:underline}.variant-row--active .variant-row__title-link{color:var(--accent)}.variant-row__loading-cell,.variant-row__empty-cell{padding:var(--space-2) var(--space-3) var(--space-2) 52px;color:var(--text-muted);font-size:var(--font-size-xs);font-style:italic;background:var(--overlay-dark-10)}.admin-settings__tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--fantasy-border);margin:var(--space-3) 0 var(--space-4);padding-bottom:0}.admin-settings__tab{background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-3) var(--space-4);font:400 13px/1 var(--font-ui);color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px}.admin-settings__tab:hover{color:var(--text-primary)}.admin-settings__tab--active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--accent)}.admin-settings__toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.admin-settings__default-group{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.admin-settings__add-btn{padding:7px 14px;border:1px solid var(--btn-primary-border);border-radius:var(--radius-control);background:var(--btn-primary-bg);color:var(--btn-primary-fg);font:600 12.5px/1 var(--font-ui);cursor:pointer}.admin-settings__thumb{width:36px;height:36px;border-radius:var(--border-radius-sm);object-fit:cover;background:var(--surface-secondary)}.admin-settings__thumb--round{border-radius:50%}.admin-settings__chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.admin-settings__chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border:1px solid var(--border-color);border-radius:999px;font-size:var(--font-size-sm);color:var(--text-primary)}.admin-settings__chip-del{background:none;border:none;color:var(--negative);cursor:pointer;font-size:1rem;line-height:1;padding:0}.admin-modal__field{margin-bottom:var(--space-3)}.admin-modal__input,.admin-modal__select{width:100%;padding:.5rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit}.admin-settings__del-btn{border:1px solid var(--negative);border-radius:var(--radius-control);background:transparent;color:var(--negative);cursor:pointer;padding:.2rem .6rem;margin-left:.4rem}.admin-settings__del-btn:hover{background:var(--overlay-light-05)}.admin-files{margin-top:var(--space-3)}.admin-files__title{font:700 9.5px/1.6 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem}.admin-files__row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm)}.admin-files__name{flex:1;overflow-wrap:anywhere}.admin-files__type{color:var(--text-secondary);font-size:var(--font-size-xs)}.admin-files__size{color:var(--text-secondary);font-size:var(--font-size-xs);white-space:nowrap}.admin-files__action{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;padding:.2rem .6rem}.admin-files__action:hover{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.admin-files__action--del:hover{color:var(--negative);border-color:var(--negative)}.admin-files__upload{margin-top:.6rem;display:flex;gap:.5rem;align-items:center}.woo-tab__pending{display:flex;align-items:center;gap:.75rem;margin:var(--space-3) 0;color:var(--text-secondary)}.woo-tab__progress{margin:var(--space-3) 0;max-width:32rem}.woo-tab__bar{height:.5rem;border-radius:var(--border-radius-sm);background:var(--surface-primary);border:1px solid var(--border-color);overflow:hidden}.woo-tab__bar-fill{height:100%;width:0;background:var(--accent);transition:width .3s ease}.woo-tab__bar-fill--pulse{width:30%;animation:woo-tab-indeterminate 1.4s ease-in-out infinite}@keyframes woo-tab-indeterminate{0%{margin-left:-30%}to{margin-left:100%}}.woo-tab__progress-text{margin:.35rem 0 0;font-size:.85rem;color:var(--text-secondary)}.woo-product-field{position:relative}.woo-product-field__list{position:absolute;z-index:10;left:0;right:0;margin:.15rem 0 0;padding:0;list-style:none;max-height:12rem;overflow-y:auto;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:0 6px 16px var(--overlay-dark-35)}.woo-product-field__option{display:block;width:100%;padding:.4rem .6rem;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.woo-product-field__option:hover{background:var(--surface-secondary)}.admin-settings__count-link{background:none;border:none;padding:0;color:var(--text-muted);font:inherit;cursor:pointer;text-decoration:underline}.admin-settings__count-link:hover{color:var(--text-primary)}.admin-settings__woo-link{color:var(--text-muted);text-decoration:none;font-size:1rem}.admin-settings__woo-link:hover{color:var(--text-primary)}.access-form{max-width:680px;margin-bottom:var(--space-4)}.access-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.access-form__notes{width:100%}.access-form__section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-color)}.admin-settings__search{position:relative}.admin-settings__search .admin-modal__input{width:100%}.admin-settings__typeahead{position:absolute;z-index:10;left:0;right:0;margin:0;padding:0;list-style:none;background:var(--surface-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-control);max-height:240px;overflow-y:auto}.admin-settings__typeahead button{display:block;width:100%;text-align:left;padding:.4rem .6rem;background:transparent;border:0;color:var(--text-primary);cursor:pointer}.admin-settings__typeahead button:hover{background:var(--overlay-light-05)}.admin-settings__pager{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.admin-settings__pager button{padding:5px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-muted);font:400 11.5px/1 var(--font-ui);cursor:pointer}.admin-settings__pager button:hover:not(:disabled){border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.admin-settings__pager button:disabled{opacity:.4;cursor:default}.audio-view__toolbar{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.my-tracks{margin-top:var(--space-3)}.my-tracks__cell{padding:.5rem .6rem;font-size:var(--font-size-sm);color:var(--text-primary);vertical-align:top}.my-tracks__cell--title{min-width:220px}.my-tracks__title{display:block;font-weight:600}.my-tracks__reason{display:block;margin-top:.25rem;color:var(--negative);font-size:var(--font-size-xs)}.my-tracks__resubmit-btn{margin-top:.4rem;padding:.2rem .7rem;background:var(--surface-control);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-muted);font:400 11.5px/1 var(--font-ui);cursor:pointer}.my-tracks__resubmit-btn:hover{border-color:var(--border-bevel-ctrl);color:var(--text-primary)}.my-tracks__badge{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;border:1px solid currentColor}.my-tracks__badge--processing{color:var(--warning)}.my-tracks__badge--draft{color:var(--text-muted)}.my-tracks__badge--rejected{color:var(--negative)}.my-tracks__badge--published{color:var(--positive)}.my-tracks__badge--archived{color:var(--text-faint)}.admin-modal__backdrop{position:fixed;inset:0;overflow:hidden;background:var(--overlay-dark-60);display:flex;align-items:center;justify-content:center;z-index:100}.admin-modal__title{margin:0 0 .25rem;font:700 15px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary)}.my-tracks__editor{width:min(640px,94vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.admin-modal__body{overflow-y:auto;flex:1;max-height:calc(80vh - 120px);padding-bottom:var(--space-3)}.my-tracks__submit{white-space:nowrap}.admin-queue{margin-top:var(--space-3)}.admin-queue__row--active{background:var(--accent-soft)}.admin-queue__row--active .admin-queue__cell:first-child{box-shadow:inset 2px 0 0 var(--accent)}.admin-queue__cell--play{width:40px}.admin-queue__cell--title{min-width:140px}.admin-queue__cell--wrap{max-width:180px;overflow-wrap:break-word;word-break:break-word;font-size:var(--font-size-xs);color:var(--text-muted)}.admin-queue__cell--actions{white-space:nowrap;text-align:right}.admin-queue__play-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 0 0 2px;font-size:9px;line-height:1;transition:color .15s ease,border-color .15s ease}.admin-queue__row:hover .admin-queue__play-btn{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.admin-queue__row--active .admin-queue__play-btn{color:var(--accent);border-color:var(--accent);padding-left:0;letter-spacing:-.5px}.admin-queue__expand{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0}.admin-queue__expand-icon{color:var(--text-muted)}.admin-queue__rejected-badge{margin-left:.5rem;font-size:var(--font-size-xs);color:var(--negative);border:1px solid var(--negative);border-radius:999px;padding:.05rem .4rem}.admin-queue__btn{padding:.3rem .8rem;margin-left:.4rem;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.admin-queue__btn--publish{background:transparent;color:var(--positive);border:1px solid var(--positive)}.admin-queue__btn--reject{background:transparent;color:var(--negative);border:1px solid var(--negative)}.admin-queue__btn--archive{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.admin-queue__btn--archive:hover{color:var(--text-primary);border-color:var(--border-bevel-ctrl)}.admin-queue__detail-row td{background:var(--surface-primary)}.admin-queue__detail{padding:.75rem 1rem}.admin-queue__prior-reason{margin:0 0 .6rem;color:var(--negative);font-size:var(--font-size-sm)}.admin-queue__meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.5rem}.admin-queue__meta-row{display:flex;gap:.5rem;font-size:var(--font-size-sm)}.admin-queue__meta-label{min-width:90px;font:700 9.5px/1.6 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.admin-queue__meta-value{color:var(--text-primary)}.admin-queue__pager{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm)}.admin-queue__pager button{padding:.3rem .8rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer}.admin-queue__pager button:disabled{opacity:.5;cursor:default}.admin-modal__backdrop{position:fixed;inset:0;background:var(--overlay-dark-60);display:flex;align-items:center;justify-content:center;z-index:100}.admin-modal{width:min(480px,92vw);background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-4)}.admin-modal__title{margin:0 0 .25rem;font:700 17px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary)}.admin-modal__subtitle{margin:0 0 var(--space-3);color:var(--text-secondary)}.admin-modal__label{display:block;margin-bottom:.35rem;font-size:var(--font-size-sm);color:var(--text-primary)}.admin-modal__checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer}.admin-modal__checkbox input[type=checkbox]{flex-shrink:0;accent-color:var(--fantasy-gold)}.admin-modal__hint{margin:.25rem 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.admin-modal__warning{margin:.5rem 0 0;padding:.5rem .75rem;font-size:var(--font-size-xs);color:var(--text-body);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius-control)}.release-grant-batches{margin-top:.75rem}.release-grant-batches__list{list-style:none;margin:.25rem 0 0;padding:0}.release-grant-batches__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem 0;font-size:var(--font-size-xs);color:var(--text-secondary);border-top:1px solid var(--border-color)}.admin-modal__select-btn{display:block;text-align:left;cursor:pointer;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);padding:.5rem;width:100%;font-family:inherit;font-size:inherit}.admin-modal__textarea{width:100%;padding:.5rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;resize:vertical}.admin-modal__picker{margin-top:.35rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-secondary);overflow:hidden}.admin-modal__picker-search{border:none;border-bottom:1px solid var(--border-color);border-radius:0;width:100%;box-sizing:border-box}.admin-modal__picker-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.admin-modal__picker-item{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;width:100%;text-align:left;padding:.45rem .7rem;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:var(--font-size-sm)}.admin-modal__picker-item:hover,.admin-modal__picker-item--selected{background:var(--overlay-light-05)}.admin-modal__picker-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-modal__picker-meta{flex:0 0 auto;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-xs)}.admin-modal__picker-id{color:var(--text-secondary)}.admin-modal__picker-none{color:var(--text-secondary);font-style:italic}.admin-modal__picker-empty{padding:.5rem .7rem;color:var(--text-secondary);font-size:var(--font-size-sm)}.admin-settings__muted{color:var(--text-secondary);font-style:italic;font-size:var(--font-size-xs)}.licenses-panel{max-width:640px;margin-top:var(--space-4)}.licenses-panel__select-wrap{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.licenses-panel__select{flex:1 1 auto;padding:.5rem .75rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);cursor:pointer}.licenses-panel__price{flex:0 0 auto;color:var(--text-body);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);white-space:nowrap}.licenses-panel__detail{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-4)}.licenses-panel__description{margin:0 0 var(--space-3);line-height:1.65;color:var(--text-primary)}.licenses-panel__terms{margin-top:var(--space-3)}.licenses-panel__terms-label{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.licenses-panel__terms-body{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.7;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--space-3)}.licenses-panel__actions{margin-top:var(--space-3)}.audio-view__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.audio-view__search{flex:1 1 auto;max-width:320px;padding:.4rem .6rem;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm)}.audio-view__publish-all{white-space:nowrap}.audio-state--success{color:var(--positive)}.admin-import__toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.admin-import__hint{color:var(--text-muted);font-size:var(--font-size-sm)}.admin-import__error{border-left:3px solid var(--negative);background:var(--overlay-light-05);color:var(--negative);padding:.65rem 1rem;margin-bottom:var(--space-4);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.admin-import__summary{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.admin-import__summary h3{margin:0 0 var(--space-3) 0;font:700 15px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary)}.admin-import__summary ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.admin-import__summary li{font-size:var(--font-size-sm);color:var(--text-primary)}.admin-import__errors{background:var(--surface-primary);border:1px solid var(--negative);border-radius:var(--border-radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.admin-import__errors h4{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--negative)}.admin-import__errors ul{margin:0;padding-left:1.25rem;font-size:var(--font-size-sm);color:var(--text-primary)}.admin-import__entities{margin-bottom:var(--space-5)}.admin-import__collapsible{border-bottom:1px solid var(--border-color)}.admin-import__collapsible-trigger{width:100%;text-align:left;background:none;border:none;padding:.65rem 0;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.admin-import__collapsible-trigger:hover{color:var(--text-primary)}.admin-import__collapsible-icon{font-size:.75rem;color:var(--text-muted)}.admin-import__collapsible-content{padding:.4rem 0 .9rem 1.25rem;margin:0;list-style:square;columns:2;font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-import__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.admin-import__results{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-5) var(--space-6);text-align:center}.admin-import__results h3{margin:0 0 var(--space-3) 0;font:700 15px/1.2 var(--font-ui);letter-spacing:-.005em;color:var(--text-primary)}.admin-import__results p{color:var(--text-primary);font-size:var(--font-size-sm);margin:0}.admin-import__warnings{text-align:left;background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0}.admin-import__warnings h4{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);text-transform:uppercase;font:700 9.5px/1.6 var(--font-mono);letter-spacing:.12em;color:var(--text-muted)}.admin-import__warnings ul{margin:0;padding-left:1.25rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.text-danger{color:var(--negative);font-weight:600}.upload-dropzone--loading{opacity:.6;cursor:wait}.embed-view{display:flex;flex-direction:column;height:100vh;max-height:450px;background:var(--page-bg);color:var(--text-primary);font-family:var(--font-fantasy-body);overflow:hidden;position:relative;border:1px solid var(--fantasy-border)}.embed-view--loading,.embed-view--error{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.2rem;color:var(--text-secondary)}.embed-view__header{display:flex;padding:var(--space-4);background:var(--surface-tertiary);border-bottom:1px solid var(--fantasy-border);flex-shrink:0}.embed-view__cover-wrap{width:120px;height:120px;flex-shrink:0;margin-right:var(--space-4);background:var(--surface-sidebar);border-radius:var(--border-radius-sm);overflow:hidden;border:1px solid var(--fantasy-border)}.embed-view__cover{width:100%;height:100%;object-fit:cover}.embed-view__cover--placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3rem;color:var(--text-muted)}.embed-view__info{flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.embed-view__meta{margin-bottom:var(--space-2)}.embed-view__title{margin:0;font:700 1.05rem/1.2 var(--font-ui);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.embed-view__composer{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.embed-view__controls{display:flex;align-items:center;gap:var(--space-3)}.embed-view__play-btn{width:48px;height:48px;border-radius:var(--border-radius-circle);border:1px solid var(--fantasy-gold);background:var(--fantasy-gold);color:var(--text-primary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s,background .15s ease}.embed-view__play-btn:hover:not(:disabled){transform:scale(1.05);background:var(--fantasy-gold-subtle)}.embed-view__play-btn:disabled{opacity:.6;cursor:not-allowed}.embed-view__player-status{flex-grow:1;min-width:0}.embed-view__waveform{height:32px;width:100%;background:var(--overlay-light-05);border-radius:var(--border-radius-sm)}.embed-view__time{font-size:var(--font-size-xs);font-family:monospace;color:var(--text-secondary);margin-top:4px}.embed-view__tracks{flex-grow:1;margin:0;padding:0;list-style:none;overflow-y:auto;background:var(--surface-primary)}.embed-view__track{display:flex;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-color);cursor:pointer;font-size:var(--font-size-sm);align-items:center;transition:background .2s}.embed-view__track:hover{background:var(--surface-secondary)}.embed-view__track--active{background:var(--surface-tertiary);color:var(--fantasy-gold)}.embed-view__track-index{width:24px;color:var(--text-muted);flex-shrink:0}.embed-view__track-title{flex-grow:1;font-size:calc(var(--font-size-sm) + 2px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--space-2)}.embed-view__track-duration{font-size:calc(var(--font-size-xs) + 2px);color:var(--text-secondary);flex-shrink:0}.embed-view__footer{padding:var(--space-2) var(--space-4);background:var(--surface-tertiary);border-top:1px solid var(--fantasy-border);display:flex;justify-content:flex-end;flex-shrink:0}.embed-view__link{color:var(--text-muted);text-decoration:none;font-size:var(--font-size-xs)}.embed-view__link:hover{color:var(--text-primary);text-decoration:underline}.embed-view__link:hover{text-decoration:underline}
