#root{height:100%;display:contents}.page-transition-enter{opacity:0;transform:translateY(8px)}.page-transition-enter-active{opacity:1;transition:opacity .2s,transform .2s;transform:translateY(0)}.nav-item.active{background:var(--surface-hover);color:var(--primary-color)}.nav-item.active .nav-icon{color:var(--primary-color)}.custom-tooltip-container{cursor:help;align-items:center;display:inline-flex;position:relative}.custom-tooltip-text{visibility:hidden;color:#fff;text-align:center;z-index:100;opacity:0;pointer-events:none;width:280px;font-family:var(--font-sans,sans-serif);font-size:var(--text-xs);background-color:#0a0f1ef2;border:1px solid #00e5ff80;border-radius:6px;padding:8px 12px;line-height:1.4;transition:opacity .2s,transform .2s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 4px 20px #000c,0 0 10px #00e5ff33}.custom-tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#0a0f1ef2;position:absolute;top:100%;left:50%;transform:translate(-50%)}.custom-tooltip-container:hover .custom-tooltip-text{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.editable-cell{cursor:cell;transition:background .12s,box-shadow .12s}.editable-cell:hover{background:#00e5ff0f;box-shadow:inset 0 -2px #00e5ff73}.game-icon{vertical-align:-.15em;object-fit:contain;flex-shrink:0;display:inline-block}.game-icon--fallback{color:currentColor;opacity:.85}.game-icon--emoji{justify-content:center;align-items:center;width:1.25em;display:inline-flex}.game-icon--lead{margin-right:6px}.fleet-tag{--tag-color:var(--color-accent-cyan);--tag-size:34px;box-sizing:border-box;min-height:var(--tag-size);padding:3px 12px 3px calc(var(--tag-size) + 4px);border:1px solid color-mix(in srgb, var(--tag-color) 50%, transparent);border-radius:calc(var(--tag-size) / 2);background:linear-gradient(90deg, color-mix(in srgb, var(--tag-color) 28%, transparent) 0, color-mix(in srgb, var(--tag-color) 10%, transparent) var(--tag-size), color-mix(in srgb, var(--tag-color) 10%, transparent));color:var(--tag-color);font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:default;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);align-items:center;font-weight:600;line-height:1.2;display:inline-flex;position:relative;overflow:hidden}.fleet-tag:before{content:"";width:calc(var(--tag-size) - 2px);height:calc(var(--tag-size) - 2px);background:var(--tag-icon) center / contain no-repeat;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--tag-color) 60%, transparent));transition:filter var(--transition-fast), opacity var(--transition-fast);position:absolute;top:50%;left:1px;transform:translateY(-50%)}.fleet-tag--glyph:before{content:none}.fleet-tag__glyph{width:calc(var(--tag-size) - 6px);height:calc(var(--tag-size) - 6px);font-size:calc(var(--tag-size) * .55);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.fleet-tag__label{position:relative}.fleet-tag .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fleet-tag--compact{width:var(--tag-size);justify-content:center;padding:0}.fleet-tag--compact:before,.fleet-tag--compact .fleet-tag__glyph{left:50%;transform:translate(-50%,-50%)}.fleet-tag--off{color:var(--color-text-muted,#5f6f8c);background:#ffffff08;border-color:#ffffff24}.fleet-tag--off:before{filter:grayscale();opacity:.55}.fleet-tag--off .fleet-tag__glyph{opacity:.55}button.fleet-tag{cursor:pointer}button.fleet-tag:hover{border-color:color-mix(in srgb, var(--tag-color) 80%, transparent);color:var(--tag-color)}button.fleet-tag--off:hover:before{filter:grayscale(.4);opacity:.85}button.fleet-tag:focus-visible{outline:2px solid var(--tag-color);outline-offset:2px}.map-tag{--tag-accent:var(--color-accent-cyan);min-height:32px;color:var(--color-text-secondary);font:inherit;font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:linear-gradient(#ffffff1a,#fff0 45%),linear-gradient(#14213d,#0a1226);border:1px solid #78a0dc38;border-radius:16px;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #0000008c,0 3px 6px #0000008c,0 8px 18px #00000059}.map-tag:hover{color:var(--color-text-primary);border-color:#a0c8ff66;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0000008c,0 5px 9px #0000008c,0 12px 24px #00000059}.map-tag:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0009,0 1px 2px #00000080}.map-tag:disabled{opacity:.45;cursor:default;transform:none}.map-tag:focus-visible{outline:2px solid var(--tag-accent);outline-offset:2px}.map-tag--on{color:var(--tag-accent);border-color:color-mix(in srgb, var(--tag-accent) 55%, transparent);background:linear-gradient(180deg, #ffffff1f, #fff0 45%), linear-gradient(180deg, color-mix(in srgb, var(--tag-accent) 26%, #14213d), color-mix(in srgb, var(--tag-accent) 10%, #0a1226));box-shadow:inset 0 1px 0 #ffffff40, inset 0 -1px 0 #0000008c, 0 0 10px color-mix(in srgb, var(--tag-accent) 35%, transparent), 0 3px 6px #0000008c, 0 8px 18px #00000059}.map-tag--on:hover{color:var(--tag-accent)}.map-tag--off{color:var(--color-text-muted,#5f6f8c)}.map-tag--off .game-icon{filter:grayscale();opacity:.6}.map-tag--accent-amber{--tag-accent:var(--color-accent-amber)}.map-tag--sm{border-radius:13px;gap:5px;min-height:26px;padding:2px 9px 2px 6px;font-weight:500}.map-tag>.game-icon{flex-shrink:0}.map-tag__count{font-family:var(--font-mono);opacity:.8;font-weight:500}.illustration{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--gradient-primary);width:100%;display:block;position:relative;overflow:hidden}.illustration>img{object-fit:cover;width:100%;height:100%;display:block}.illustration--placeholder:after{content:"";background:radial-gradient(120% 90% at 20% 0,#00e5ff1a,#0000 60%),radial-gradient(100% 80% at 90% 100%,#b47cff14,#0000 60%);position:absolute;inset:0}.entity-header{--entity-accent:var(--color-accent-cyan);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--gradient-card);position:relative;overflow:hidden}.entity-header:before{content:"";background:var(--entity-accent);width:3px;position:absolute;inset:0 auto 0 0}.entity-header__banner{border:0;border-bottom:1px solid var(--color-border);border-radius:0}.entity-header__bar{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.entity-header__icon{color:var(--entity-accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.entity-header__identity{flex:1;min-width:0}.entity-header__title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);overflow-wrap:anywhere;margin:0}.entity-header__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0}.entity-header__stats{gap:var(--space-5);flex-wrap:wrap;margin:0;display:flex}.entity-header__stat dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.entity-header__stat dd{font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:2px 0 0}.entity-header__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}@media (width<=768px){.entity-header__bar{gap:var(--space-3);flex-wrap:wrap}.entity-header__identity{flex-basis:100%}.entity-header__stats{gap:var(--space-4)}}
