@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.rounded-2xl{border-radius:1rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-dashed{border-style:dashed}.border-cyan-400\/60{border-color:#22d3ee99}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/50{background-color:#02061780}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.text-cyan-200{--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-stone-300{--tw-text-opacity: 1;color:rgb(214 211 209 / var(--tw-text-opacity, 1))}.text-stone-400{--tw-text-opacity: 1;color:rgb(168 162 158 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:dark;font-family:var(--font-ui);--font-ui: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: var(--font-ui);--page-bg: #000000;--page-panel: #0f1318;--page-panel-strong: #0a0c0f;--page-panel-soft: #141a21;--border: #1c232c;--border-strong: #3a4654;--text: #e6e8ec;--muted: #6d7783;--muted-strong: #aab2bd;--accent-bg: #f5b042;--accent-text: #000000;--accent-warm: #f5b042;--shadow: rgba(0, 0, 0, .7);--healthy: #7fd4a8;--healthy-bg: rgba(127, 212, 168, .14);--warning: #f5b042;--warning-bg: rgba(245, 176, 66, .14);--danger: #e26464;--danger-bg: rgba(226, 100, 100, .14)}:root[data-theme=light]{color-scheme:light;--page-bg: #edf1f5;--page-panel: #ffffff;--page-panel-strong: #f7f9fc;--page-panel-soft: #e7eef5;--border: #c1cfda;--border-strong: #7f96aa;--text: #101820;--muted: #5d6f80;--muted-strong: #243442;--accent-bg: #04395e;--accent-text: #f7fbff;--accent-warm: #b96816;--shadow: rgba(16, 34, 52, .12);--healthy: #16864f;--healthy-bg: rgba(22, 134, 79, .12);--warning: #9b6815;--warning-bg: rgba(155, 104, 21, .14);--danger: #b8333a;--danger-bg: rgba(184, 51, 58, .13)}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font:inherit}.dashboard-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(116,215,255,.16),transparent 28rem),radial-gradient(circle at 80% 15%,rgba(242,182,109,.11),transparent 22rem),linear-gradient(135deg,rgba(255,255,255,.045),transparent 36rem),var(--page-bg);color:var(--text)}.dashboard-state{padding:2rem 1.5rem}.state-panel{max-width:34rem;border:1px solid var(--border);border-radius:10px;background:var(--page-panel);padding:1.5rem;box-shadow:0 6px 18px var(--shadow)}.state-panel-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.app-header{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--page-panel-strong) 92%,transparent);box-shadow:0 12px 34px #0000002e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header__inner{display:flex;min-height:4.75rem;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,2rem)}.app-header__brand{display:grid;gap:.15rem;min-width:0;color:var(--text);font-family:var(--font-ui);text-transform:uppercase}.app-header__brand span{font-size:clamp(1.45rem,3vw,2.05rem);font-weight:700;letter-spacing:.14em;line-height:1}.app-header__brand small{color:var(--muted);font-family:var(--font-ui);font-size:.73rem;font-weight:700;letter-spacing:.16em}.app-header__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.toolbar-button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--page-panel) 90%,transparent);color:var(--text);padding:0 1.05rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.toolbar-button:hover{border-color:var(--border-strong);background:var(--page-panel-soft);transform:translateY(-1px)}.toolbar-button:disabled{cursor:not-allowed;opacity:.6}.toolbar-button-primary{border-color:var(--accent-bg);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-bg) 26%,transparent),0 10px 24px color-mix(in srgb,var(--accent-bg) 18%,transparent)}.toolbar-button-primary:hover{border-color:var(--accent-bg);background:var(--accent-bg);filter:brightness(.97)}.ship-planner-shell{display:grid;gap:1rem;padding:1.25rem clamp(1rem,3vw,2rem) 2rem}.ship-planner-header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.ship-planner-header h1{margin:0;color:var(--text);font-size:clamp(2rem,4vw,3.35rem);font-weight:800;line-height:.95}.ship-planner-header p{margin:.45rem 0 0;color:var(--muted);font-size:.95rem;font-weight:600}.ship-planner-mode{display:inline-grid;grid-template-columns:repeat(2,minmax(8rem,1fr));min-height:2.8rem;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--page-panel-strong)}.ship-planner-mode button{border:0;background:transparent;color:var(--muted);padding:0 1rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ship-planner-mode button.active{background:var(--accent-bg);color:var(--accent-text)}.ship-planner-controls{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(18rem,1fr);gap:1rem}.ship-planner-controls label{display:grid;gap:.45rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ship-planner-controls input,.ship-planner-controls select{min-height:3rem;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--page-panel);color:var(--text);padding:0 .9rem;font-size:.95rem;font-weight:650;letter-spacing:0}.ship-planner-panel{display:grid;gap:1rem;border-top:1px solid var(--border);padding-top:1rem}.ship-planner-panel__heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.ship-planner-panel__heading h2{margin:0;font-size:1.45rem;font-weight:800}.ship-planner-panel__heading p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem;font-weight:650}.ship-planner-panel__heading>span{color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ship-planner-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:.9rem}.ship-planner-results--dense{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.ship-planner-result{display:grid;gap:.9rem;min-height:10rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--page-panel) 92%,transparent);padding:1rem;box-shadow:0 10px 26px var(--shadow)}.ship-planner-result--ready{border-color:color-mix(in srgb,var(--healthy) 58%,var(--border))}.ship-planner-result--missing{border-color:color-mix(in srgb,var(--warning) 50%,var(--border))}.ship-planner-result--unknown{border-color:color-mix(in srgb,var(--danger) 46%,var(--border))}.ship-planner-result__summary{display:flex;align-items:start;justify-content:space-between;gap:.8rem}.ship-planner-result__summary h3{margin:0;color:var(--text);font-size:1rem;font-weight:800}.ship-planner-result__summary p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem;font-weight:650}.ship-planner-result__summary>strong{flex:0 0 auto;border-radius:999px;background:var(--page-panel-soft);color:var(--muted-strong);padding:.35rem .65rem;font-size:.78rem;font-weight:850}.ship-planner-requirements{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.ship-planner-requirements li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;color:var(--muted);font-size:.82rem;font-weight:650}.ship-planner-requirements span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ship-planner-requirements strong,.ship-planner-emptyline{color:var(--muted-strong);font-size:.78rem;font-weight:800}.toolbar-button-theme{min-width:4.75rem}.toolbar-dropdown{position:relative}.toolbar-dropdown__panel{position:absolute;right:0;top:3.25rem;z-index:20;width:min(30rem,calc(100vw - 2rem));border:1px solid var(--border);border-radius:18px;background:var(--page-panel-strong);padding:1.1rem;box-shadow:0 22px 48px var(--shadow)}.dashboard-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.25rem clamp(1rem,3vw,2rem) 0}.dashboard-overview__card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--page-panel) 92%,white 8%),var(--page-panel-strong)),var(--page-panel);padding:1rem 1.15rem;box-shadow:0 14px 34px var(--shadow)}.dashboard-overview__card:after{position:absolute;inset:auto -2rem -2.5rem auto;width:8rem;height:8rem;border-radius:999px;background:color-mix(in srgb,var(--accent-bg) 12%,transparent);content:""}.dashboard-overview__card--primary{border-color:color-mix(in srgb,var(--accent-bg) 44%,var(--border))}.dashboard-overview__card span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.dashboard-overview__card strong{display:block;margin-top:.35rem;color:var(--text);font-family:var(--font-ui);font-size:clamp(1.85rem,4vw,2.8rem);line-height:1}.dashboard-overview__card p{margin:.35rem 0 0;color:var(--muted-strong);font-size:.88rem;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.15rem;padding:1.25rem clamp(1rem,3vw,2rem) 2rem}.character-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--page-panel) 90%,white 7%),var(--page-panel)),var(--page-panel);padding:1rem;box-shadow:0 18px 42px var(--shadow);cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.character-card:before{position:absolute;inset:0 auto 0 0;width:.28rem;background:var(--border-strong);content:""}.character-card--healthy:before{background:linear-gradient(to bottom,var(--healthy),color-mix(in srgb,var(--healthy) 24%,transparent))}.character-card--warning:before{background:linear-gradient(to bottom,var(--warning),color-mix(in srgb,var(--warning) 24%,transparent))}.character-card--danger:before{background:linear-gradient(to bottom,var(--danger),color-mix(in srgb,var(--danger) 24%,transparent))}.character-card--neutral:before{background:linear-gradient(to bottom,var(--border-strong),transparent)}.character-card--dragging{z-index:10;border-color:var(--border-strong);box-shadow:0 24px 60px var(--shadow);cursor:grabbing}.character-card__hero{display:grid;grid-template-columns:8.25rem minmax(0,1fr);gap:1rem;align-items:start}.character-card__portrait{width:8.25rem;height:8.25rem;border-radius:18px;border:1px solid var(--border-strong);background:var(--page-panel-soft);-o-object-fit:cover;object-fit:cover;box-shadow:0 10px 24px var(--shadow)}.character-card__identity{min-width:0}.character-card__identity-top{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.character-card__identity h2{margin:0;font-family:var(--font-ui);font-size:1.7rem;line-height:1.05;font-weight:700;letter-spacing:.01em}.character-card__sp{margin:.35rem 0 0;color:var(--muted-strong);font-size:.92rem;font-weight:600}.character-card__status{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.38rem .78rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.character-card__status--healthy{border-color:var(--healthy);background:var(--healthy-bg);color:var(--healthy)}.character-card__status--warning{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.character-card__status--danger{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.character-card__status--neutral{border-color:var(--border);background:var(--page-panel-soft);color:var(--muted-strong)}.character-card__skill-name{margin-top:1rem;color:var(--text);font-size:1.08rem;font-weight:700;line-height:1.35}.character-card__progress{margin-top:.9rem}.character-card__progress-track{height:.75rem;overflow:hidden;border-radius:999px;background:var(--page-panel-strong);border:1px solid var(--border)}.character-card__progress-fill{height:100%;border-radius:999px;box-shadow:0 0 18px currentColor}.character-card__progress-fill--healthy{background:var(--healthy)}.character-card__progress-fill--warning{background:var(--warning)}.character-card__progress-fill--danger{background:var(--danger)}.character-card__progress-fill--neutral{background:var(--muted)}.character-card__progress-meta{display:flex;justify-content:space-between;gap:.75rem;margin-top:.45rem;color:var(--muted-strong);font-size:.82rem;font-weight:600}.character-card__panel{margin-top:1rem;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:16px;background:color-mix(in srgb,var(--page-panel-soft) 68%,transparent);padding:.85rem}.character-card__panel-title{margin-bottom:.7rem;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.character-card__stats{display:grid;gap:.62rem}.card-stat{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.8rem;align-items:baseline}.card-stat dt{color:var(--muted);font-size:.77rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.card-stat dd{margin:0;color:var(--text);font-size:.91rem;font-weight:700;text-align:right}.attribute-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.attribute-chip{border:1px solid var(--border);border-radius:14px;background:var(--page-panel-strong);padding:.6rem .35rem .55rem;text-align:center}.attribute-chip span{display:block;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.attribute-chip strong{display:block;margin-top:.25rem;color:var(--text);font-family:var(--font-ui);font-size:1.15rem;font-weight:700}.character-card__sync{margin-top:1rem;border-radius:14px;background:var(--page-panel-strong);padding:.75rem .85rem;font-size:.8rem;font-weight:700;line-height:1.45}.character-card__sync--healthy{color:var(--muted-strong)}.character-card__sync--warning{color:var(--warning)}.character-card__sync--danger{color:var(--danger)}.character-card__sync--neutral{color:var(--muted-strong)}.settings-form{display:grid;gap:1rem}.settings-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.settings-form__toggle{display:flex;align-items:center;gap:.7rem;border:1px solid var(--border);border-radius:10px;background:var(--page-panel);padding:.75rem .85rem;color:var(--text);font-size:.84rem;font-weight:600}.settings-form__checkbox{width:1rem;height:1rem;margin:0}.settings-form__field{display:grid;gap:.45rem}.settings-form__field span{color:var(--muted-strong);font-size:.84rem;font-weight:700}.settings-form__input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;background:var(--page-panel);color:var(--text);padding:.75rem .85rem;outline:none}.settings-form__input::-moz-placeholder{color:var(--muted)}.settings-form__input::placeholder{color:var(--muted)}.settings-form__input:focus{border-color:var(--border-strong)}.settings-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.settings-form__status{margin:0;font-size:.83rem;font-weight:600}.settings-form__status--ok{color:var(--healthy)}.settings-form__status--error{color:var(--danger)}@media(min-width:780px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1220px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.app-header__inner{flex-direction:column;align-items:flex-start}.app-header__actions{width:100%;justify-content:flex-start}.toolbar-dropdown__panel{left:0;right:auto}.dashboard-overview{grid-template-columns:1fr}}@media(max-width:620px){.dashboard-state,.dashboard-grid{padding-left:1rem;padding-right:1rem}.character-card__hero{grid-template-columns:1fr}.character-card__portrait{width:100%;max-width:11rem;height:auto;aspect-ratio:1}.card-stat{grid-template-columns:1fr;gap:.2rem}.card-stat dd{text-align:left}.attribute-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-form__grid{grid-template-columns:1fr}}:root,:root[data-theme=light]{color-scheme:dark;font-family:var(--font-ui);--font-ui: "Geist", "Inter", system-ui, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;--page-bg: #07090f;--page-panel: #0f1525;--page-panel-strong: #0b0f1b;--page-panel-soft: rgba(255, 255, 255, .035);--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--text: #e7ecf5;--muted: #5d6883;--muted-strong: #9aa4bc;--accent-bg: #e83a5a;--accent-text: #0a0204;--accent-warm: #e83a5a;--shadow: rgba(0, 0, 0, .7);--healthy: #34d399;--healthy-bg: rgba(52, 211, 153, .14);--warning: #f5b544;--warning-bg: rgba(245, 181, 68, .14);--danger: #ff5470;--danger-bg: rgba(255, 84, 112, .14)}:root[data-theme=dark]{color-scheme:dark;--page-bg: #07090f;--page-panel: #0f1525;--page-panel-strong: #0b0f1b;--page-panel-soft: rgba(255, 255, 255, .035);--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--text: #e7ecf5;--muted: #5d6883;--muted-strong: #9aa4bc;--accent-bg: #e83a5a;--accent-text: #0a0204;--shadow: rgba(0, 0, 0, .7);--healthy: #34d399;--healthy-bg: rgba(52, 211, 153, .14);--warning: #f5b544;--warning-bg: rgba(245, 181, 68, .14);--danger: #ff5470;--danger-bg: rgba(255, 84, 112, .14)}body{background:radial-gradient(1400px 700px at 50% -200px,rgba(245,176,66,.04),transparent 70%),var(--page-bg);font-family:var(--font-ui);font-size:13px;font-synthesis:none;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.dashboard-shell{min-height:100vh;background:radial-gradient(1400px 700px at 50% -200px,rgba(245,176,66,.04),transparent 70%),var(--page-bg);color:var(--text)}.app-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:linear-gradient(to bottom,var(--page-panel-strong),var(--page-bg));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-header:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--accent-bg) 27%,transparent) 50%,transparent);content:"";opacity:.5;pointer-events:none}.app-header__inner{min-height:3.25rem;align-items:stretch;gap:1rem;padding:0 clamp(1rem,2.6vw,2rem)}.app-header__left{display:flex;align-items:center;min-width:0}.app-header__brand-mark{display:flex;align-items:center;padding-right:1rem}.app-header__brand-mark span{position:relative;display:block;width:1.75rem;height:1.75rem;background:var(--accent-bg)}.app-header__brand-mark span:after{position:absolute;top:.3rem;right:.28rem;bottom:.3rem;left:.28rem;clip-path:polygon(50% 0,100% 100%,0 100%);background:#111110;content:""}.app-header__brand{display:flex;align-items:baseline;gap:.85rem;justify-content:flex-start;padding-right:2rem;border-right:1px solid var(--border);font-family:var(--font-ui)}.app-header__brand span{color:var(--text);font-size:.9rem;font-weight:700;letter-spacing:.08em}.app-header__brand small{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;white-space:nowrap}.app-header__nav{display:none;align-items:stretch;padding-left:.5rem}.app-header__nav a{display:flex;align-items:center;border-bottom:3px solid transparent;margin-bottom:-3px;padding:0 1.2rem;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.app-header__nav a[aria-current=page]{border-bottom-color:var(--accent-bg);color:var(--text)}.app-header__stats{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);margin-left:auto}.app-header__stats div{text-align:right}.app-header__stats span,.dashboard-subheader span,.character-card__panel-title,.card-stat dt,.attribute-chip span{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-header__stats strong{display:block;margin-top:.12rem;color:var(--text);font-family:var(--font-mono);font-size:.78rem;font-weight:600}.app-header__actions{flex-wrap:nowrap;gap:.4rem}.esi-indicator,.theme-selector{display:inline-flex;min-height:2.25rem;align-items:center;gap:.42rem;border:1px solid var(--border);border-radius:4px;background:var(--page-panel);padding:0 .65rem;color:var(--text);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.esi-indicator span{width:.58rem;height:.58rem;border-radius:999px;background:var(--muted)}.esi-indicator--ok span{background:#22c55e}.esi-indicator--stale span{background:#ef4444}.esi-indicator--downtime span{background:#f59e0b}.theme-selector span{color:var(--muted)}.theme-selector select{border:0;background:transparent;color:var(--text);font:inherit;outline:0}.toolbar-button{min-height:2.25rem;border-color:var(--border);border-radius:4px;background:transparent;color:var(--text);padding:0 .75rem;font-size:.68rem;letter-spacing:.06em}.toolbar-button:hover{border-color:color-mix(in srgb,var(--border-strong) 72%,var(--border));background:var(--page-panel);transform:none}.toolbar-button-primary,.toolbar-button-primary:hover{border-color:var(--accent-bg);background:var(--accent-bg);color:var(--accent-text);box-shadow:none}.toolbar-dropdown__panel,.state-panel{border:1px solid var(--border-strong);border-radius:4px;background:var(--page-panel);box-shadow:0 12px 28px -6px #000000b3,0 4px 12px -2px #00000080,inset 0 1px #ffffff05}.dashboard-subheader{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border);background:var(--page-panel-strong);padding:.85rem clamp(1rem,2.6vw,2rem)}.dashboard-subheader div{display:flex;align-items:center;gap:.75rem}.dashboard-subheader h1{margin:0;color:var(--text);font-family:var(--font-ui);font-size:1.25rem;font-weight:700;letter-spacing:.02em;line-height:1;text-transform:uppercase}.dashboard-subheader div>span{background:var(--accent-bg);color:var(--accent-text);font-family:var(--font-mono);padding:.2rem .5rem}.dashboard-subheader p{margin:0 0 0 auto;color:var(--muted);font-size:.8rem;font-weight:600}.accent-picker{display:none;align-items:center;gap:.35rem;margin-left:.5rem}.accent-picker__swatch{width:1.2rem;height:1.2rem;border:1px solid var(--border-strong);border-radius:50%;background:var(--swatch);padding:0}.accent-picker__swatch--active{outline:2px solid var(--text);outline-offset:2px}.dashboard-grid{grid-template-columns:repeat(auto-fill,19rem);justify-content:start;align-items:start;box-sizing:border-box;width:100%;max-width:104rem;margin:0 auto;gap:.9rem;padding:1rem clamp(1rem,2.6vw,2rem) 3rem}.character-card{position:relative;width:19rem;height:30.25rem;border:1px solid var(--border-strong);border-radius:4px;outline:0;background:var(--page-panel);padding:0;box-shadow:0 12px 28px -6px #000000b3,0 4px 12px -2px #00000080,inset 0 1px #ffffff05;perspective:1000px;transition:box-shadow 90ms ease,outline-color 90ms ease;will-change:transform}.character-card:after{position:absolute;right:0;bottom:0;left:0;z-index:3;height:.34rem;border-radius:0 0 4px 4px;background:var(--danger);content:"";pointer-events:none}.character-card--training:after{background:var(--healthy);box-shadow:0 0 14px color-mix(in srgb,var(--healthy) 42%,transparent)}.character-card--idle:after{background:var(--danger);box-shadow:0 0 14px color-mix(in srgb,var(--danger) 34%,transparent)}.character-card--dragging{border-color:var(--accent-bg);box-shadow:0 5px 14px #0000002e;opacity:.92}.character-card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .26s ease}.character-card--flipped .character-card__inner{transform:rotateY(180deg)}.character-card__face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;background:var(--page-panel);border-radius:4px;backface-visibility:hidden}.character-card__face--front{transform:rotateY(0);visibility:visible}.character-card__face--back{transform:rotateY(180deg);visibility:hidden}.character-card--flipped .character-card__face--front{visibility:hidden}.character-card--flipped .character-card__face--back{visibility:visible}.character-card__hero{display:block}.character-card__portrait{display:block;width:100%;height:12.5rem;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%;border:0;border-radius:4px 4px 0 0;background:var(--page-panel-soft);box-shadow:none}.character-card__identity{padding:.65rem .7rem 0}.character-card__identity-top{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.character-card__identity h2{color:var(--text);font-family:var(--font-mono);font-size:.92rem;font-weight:600;letter-spacing:.04em;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-card__corp{margin:.12rem 0 0;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.character-card__inline-stats{display:flex;flex-wrap:nowrap;gap:.38rem;margin-top:.3rem;color:var(--text);font-family:var(--font-mono);font-size:.68rem;font-weight:700;line-height:1.2}.character-card__inline-stats span{color:var(--text);white-space:nowrap}.character-card__inline-stats span+span:before{margin-right:.38rem;color:var(--muted);content:"|"}.character-card__status{display:none;border:0;border-radius:0;padding:.2rem .34rem;font-family:var(--font-ui);font-size:.54rem;letter-spacing:0;max-width:4.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.character-card__status--healthy{background:var(--accent-bg);color:#111110}.character-card__status--warning{background:var(--warning-bg);color:var(--warning)}.character-card__status--danger{background:var(--danger-bg);color:var(--danger)}.character-card__status--neutral{background:var(--page-panel-soft);color:var(--muted-strong)}.character-card__skill-name{display:flex;align-items:center;gap:.38rem;margin-top:.46rem;color:var(--accent-bg);font-family:var(--font-ui);font-size:.82rem;font-weight:800;line-height:1.28}.character-card__skill-name--paused{color:var(--muted-strong)}.character-card__training-slot{height:5.45rem;margin-top:.08rem}.character-card__training-dot{width:.48rem;height:.48rem;border-radius:999px;background:var(--accent-bg);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--accent-bg) 22%,transparent);flex:0 0 auto}.character-card__training-dot--paused{background:var(--muted);box-shadow:none}.character-card__progress{margin-top:.36rem}.character-card__progress-track{height:.72rem;border:1px solid var(--border);border-radius:2px;background:#060708;box-shadow:inset 0 1px 3px #000000b8}.character-card__progress-fill{border-radius:1px;box-shadow:0 0 12px color-mix(in srgb,var(--accent-bg) 60%,transparent)}.character-card__progress-fill--healthy,.character-card__progress-fill--warning,.character-card__progress-fill--neutral{background:var(--accent-bg)}.character-card__progress-fill--paused{background:#8f8f8f}.character-card__progress-meta{color:var(--muted-strong);font-family:var(--font-mono);font-size:.74rem;font-weight:700;margin-top:.32rem}.character-card__queue-end{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.24rem;color:var(--muted-strong);font-family:var(--font-mono);font-size:.76rem;font-weight:800}.character-card__queue-end span{color:var(--muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.character-card__training-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.42rem}.character-card__indicator{display:flex;min-width:0;min-height:2rem;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;background:var(--page-panel-soft);padding:.16rem .34rem}.character-card__indicator--active{border-color:color-mix(in srgb,var(--accent-bg) 72%,var(--border));background:color-mix(in srgb,var(--accent-bg) 14%,var(--page-panel-soft))}.character-card__indicator--inactive{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:color-mix(in srgb,var(--danger) 14%,var(--page-panel-soft))}.character-card__indicator span{overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.04em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.character-card__indicator--active span,.character-card__indicator--inactive span{color:var(--text);text-align:center}.character-card__indicator strong{display:block;overflow:hidden;margin-top:.08rem;color:var(--text);font-size:.54rem;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.character-card__primary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;border-top:1px solid var(--border);margin:.55rem .65rem 0;padding-top:.45rem}.character-card__primary-stats .card-stat{display:block}.character-card__primary-stats .card-stat dd{margin-top:.06rem;font-family:var(--font-ui);font-size:.62rem;text-align:left}.character-card__panel{margin:.43rem .5rem 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;padding:.4rem 0 0}.attribute-strip{gap:.18rem}.attribute-chip{border-color:var(--border);border-radius:0;background:var(--page-panel-soft);padding:.24rem .12rem}.attribute-chip strong{font-family:var(--font-ui);font-size:.62rem}.character-card__section{margin:.44rem .58rem 0;border-top:1px solid var(--border);padding-top:.28rem}.character-card__meta{display:grid;gap:.16rem;margin:0}.card-stat{grid-template-columns:3.8rem minmax(0,1fr);gap:.35rem;align-items:baseline}.card-stat dt,.app-header__stats span,.dashboard-subheader span,.character-card__panel-title,.attribute-chip span{font-size:.62rem;letter-spacing:.04em}.card-stat dd{color:var(--text);font-family:var(--font-ui);font-size:.66rem;text-align:right;white-space:nowrap}.character-card__sync{margin-top:auto;border-radius:0;background:var(--page-panel-soft);padding:.34rem .58rem;font-size:.54rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.skill-queue{display:flex;min-height:0;flex:1;flex-direction:column;padding:.8rem}.skill-queue h3{margin:0;color:var(--text);font-size:.96rem;line-height:1.2}.skill-queue p{margin:.15rem 0 0;color:var(--muted);font-size:.68rem;font-weight:700}.skill-queue ol{display:grid;gap:.34rem;min-height:0;margin:.75rem 0;overflow:auto;padding:0}.skill-queue__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;border-bottom:1px solid var(--border);padding-bottom:.34rem;color:var(--text);font-size:.66rem}.skill-queue__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-queue__item strong{color:var(--muted-strong);font-size:.6rem}.skill-queue__empty{display:grid;flex:1;place-items:center;color:var(--muted);font-size:.82rem}@media(min-width:1320px){.dashboard-grid{grid-template-columns:repeat(auto-fill,19rem)}}.landing-shell{display:grid;min-height:100vh;place-items:center;background:var(--page-bg);color:var(--text);padding:1.5rem}.landing-panel{display:grid;width:min(31rem,100%);gap:2rem;border:1px solid var(--border);background:var(--page-panel-strong);padding:2rem;box-shadow:0 14px 34px var(--shadow)}.landing-brand{display:flex;align-items:center;gap:1rem}.landing-brand__mark{position:relative;display:block;width:2.5rem;height:2.5rem;background:var(--accent-bg);flex:0 0 auto}.landing-brand__mark:after{position:absolute;top:.45rem;right:.4rem;bottom:.45rem;left:.4rem;clip-path:polygon(50% 0,100% 100%,0 100%);background:#111110;content:""}.landing-brand strong{font-family:var(--font-ui);font-size:2rem;letter-spacing:.08em;line-height:1}.landing-brand small{display:block;margin-top:.2rem;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.landing-button{width:-moz-fit-content;width:fit-content}.landing-status{margin:0;color:var(--muted);font-size:.9rem;font-weight:700}.dashboard-shell{background:radial-gradient(1100px 520px at 88% -8%,color-mix(in srgb,var(--accent-bg) 6%,transparent),transparent 62%),radial-gradient(900px 460px at 6% 108%,color-mix(in srgb,var(--accent-bg) 2.5%,transparent),transparent 60%),var(--page-bg);font-feature-settings:"cv11","ss01"}.app-header{border-bottom:1px solid var(--border);background:linear-gradient(180deg,#0f1525b3,#07090f66);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header:after{display:none}.app-header__inner{min-height:4.65rem;align-items:center;gap:1.5rem;padding:.9rem 1.4rem}.app-header__left{gap:.75rem}.app-header__brand-mark{padding-right:0}.app-header__brand-mark span,.app-header__brand-mark span:after{display:none}.app-header__glyph{display:block;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent-bg) 22%,transparent))}.app-header__brand{display:block;border-right:0;padding-right:0;font-family:var(--font-ui);text-transform:none}.app-header__brand>span{display:flex;align-items:center;gap:.5rem;color:var(--text);font-size:.875rem;font-weight:600;letter-spacing:.24em;line-height:1.1}.app-header__version{border:1px solid var(--border-strong);border-radius:2px;padding:.1rem .36rem;color:var(--muted);font-size:.56rem;font-style:normal;font-weight:500;letter-spacing:.05em}.app-header__brand>small{display:flex;align-items:center;gap:.38rem;margin-top:.2rem;color:var(--muted);font-family:var(--font-ui);font-size:.625rem;font-weight:500;letter-spacing:.16em}.app-header__brand i{display:inline-block;width:.45rem;height:.45rem;border-radius:999px;background:var(--healthy);box-shadow:0 0 0 3px color-mix(in srgb,var(--healthy) 20%,transparent);animation:pulse 2.2s ease-in-out infinite}.app-header__center{display:flex;align-items:center;gap:1.125rem;margin-left:auto}.app-header__clock{text-align:right}.app-header__clock strong{display:block;color:var(--text);font-family:var(--font-mono);font-size:1.38rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1}.app-header__clock span{display:block;margin-top:.25rem;color:var(--muted);font-size:.56rem;letter-spacing:.18em}.app-header__separator{width:1px;height:2rem;background:linear-gradient(to bottom,transparent,var(--border-strong),transparent)}.app-header__stats{gap:1.38rem;margin-left:0}.app-header__stats div{text-align:center}.app-header__stats span{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.56rem;font-weight:600;letter-spacing:.2em}.app-header__stats strong{color:var(--text);font-family:var(--font-mono);font-size:1.25rem;font-weight:500;font-variant-numeric:tabular-nums;line-height:1}.app-header__stats div:nth-child(2) strong{color:var(--healthy)}.app-header__stats div:nth-child(4) strong{color:var(--accent-bg)}.toolbar-button,.theme-selector,.esi-indicator{min-height:2rem;border:1px solid var(--border-strong);border-radius:3px;background:transparent;color:var(--muted-strong);padding:0 .7rem;font-size:.68rem;font-weight:500;letter-spacing:.1em}.toolbar-button:hover,.theme-selector:hover,.esi-indicator:hover{border-color:#ffffff2e;background:#ffffff05;color:var(--text)}.toolbar-button-primary,.toolbar-button-primary:hover{border-color:color-mix(in srgb,var(--accent-bg) 40%,transparent);background:color-mix(in srgb,var(--accent-bg) 14%,transparent);color:var(--accent-bg)}.dashboard-subheader{justify-content:space-between;border-bottom:0;background:transparent;padding:.875rem 1.4rem .25rem}.dashboard-subheader h1{font-size:.75rem;font-weight:600;letter-spacing:.24em}.dashboard-subheader div>span{display:inline-flex;align-items:center;gap:.38rem;border:1px solid color-mix(in srgb,var(--healthy) 32%,transparent);border-radius:2px;background:color-mix(in srgb,var(--healthy) 14%,transparent);color:var(--healthy);font-family:var(--font-mono);font-size:.63rem;font-weight:600;letter-spacing:.12em;padding:.2rem .5rem;text-transform:uppercase}.dashboard-subheader div>span:before{width:.4rem;height:.4rem;border-radius:999px;background:var(--healthy);box-shadow:0 0 0 3px color-mix(in srgb,var(--healthy) 20%,transparent);content:""}.dashboard-subheader p{color:var(--muted);font-size:.66rem;letter-spacing:.08em}.dashboard-grid{grid-template-columns:repeat(auto-fill,310px);justify-content:center;max-width:1650px;gap:12px;padding:.38rem 1.4rem 1.75rem}@media(max-width:1650px){.dashboard-grid{max-width:1330px}}@media(max-width:1330px){.dashboard-grid{max-width:1010px}}@media(max-width:1010px){.dashboard-grid{max-width:690px}}.character-card{display:flex;flex-direction:column;width:310px;height:34.1rem;border:1px solid var(--border);border-radius:4px;background:linear-gradient(180deg,#0e111cb3,#090b12d9);box-shadow:none;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}.character-card__name-bar{display:flex;align-items:center;min-height:2.05rem;margin-bottom:.24rem;border-bottom:1px solid var(--border);padding:0 .68rem;background:#07090fe0;color:var(--text);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;line-height:1;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.character-card:hover{border-color:var(--border-strong);box-shadow:0 22px 50px -28px #000000bf,0 0 0 1px var(--border-strong) inset}.character-card:after{display:none}.character-card:before{display:none;content:none}.character-card__face{overflow:hidden;border-radius:4px;background:transparent}.character-card__inner{flex:1 1 auto;min-height:0;height:auto}.character-card__face--back{background:var(--page-panel-strong)}.character-card__portrait{position:relative;display:block;width:100%;height:auto;aspect-ratio:4 / 2.7;overflow:hidden;border-bottom:1px solid var(--border);border-radius:0;background:radial-gradient(120% 100% at 50% 0%,#182338,#0a0e18 70%)}.character-card__portrait:after{display:none;content:none}.character-card__portrait-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%}.character-card__accent-line{position:absolute;top:0;right:0;left:0;z-index:3;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-bg) 70%,transparent),transparent);opacity:.7}.character-card__identity-logo{position:absolute;bottom:.58rem;z-index:2;width:2.82rem;height:2.82rem;filter:drop-shadow(0 10px 14px rgba(0,0,0,.68));-o-object-fit:contain;object-fit:contain;opacity:.9}.character-card__identity-logo--corporation{left:.58rem}.character-card__identity-logo--alliance{right:.58rem}.character-card__clone-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.character-card__identity{padding:.56rem .68rem 0}.character-card__wealth{display:flex;flex-direction:column;gap:.2rem}.character-card__wealth-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:var(--text);font-family:var(--font-mono);font-size:.72rem;font-variant-numeric:tabular-nums}.character-card__wealth-icon{display:inline-grid;place-items:center;width:1rem;height:1rem;color:var(--muted);flex:0 0 auto}.character-card__wealth-icon--isk{position:relative;font-size:.72rem;font-weight:800;line-height:1}.character-card__wealth-icon--isk:after{position:absolute;right:.14rem;left:.14rem;height:1px;background:currentColor;content:"";transform:rotate(-12deg)}.character-card__wealth-icon--sp{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.character-card__wealth-row>span:last-child{color:var(--muted);margin-left:auto;font-size:.72rem;font-weight:700;letter-spacing:0}.character-card__training-slot{min-height:3.9rem;margin-top:0;border-bottom:1px solid var(--border);padding:.66rem .68rem .58rem;background:#07090f6b}.character-card__skill-name{display:flex;align-items:center;min-width:0;gap:.44rem;margin:0;color:var(--text);font-family:var(--font-mono);font-size:.82rem;font-weight:700;overflow:hidden;white-space:nowrap}.character-card__skill-name-text{display:block;min-width:0;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 1.3rem),transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 1.3rem),transparent 100%)}.character-card__skill-name--paused{color:var(--muted)}.character-card__training-dot{width:.42rem;height:.42rem;flex:0 0 auto;background:var(--muted);box-shadow:none}.character-card__training-dot--live{background:var(--healthy);box-shadow:0 0 0 3px color-mix(in srgb,var(--healthy) 22%,transparent);animation:pulse 2.2s ease-in-out infinite}.character-card__progress-track{position:relative;height:1.78rem;overflow:hidden;border:0;border-radius:1px;background:#ffffff0b;box-shadow:none}.character-card__progress-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:1px;transition:width .4s}.character-card__progress-content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;height:100%;padding:0 .48rem}.character-card__progress-time{color:var(--text);font-family:var(--font-mono);font-size:.76rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.character-card__progress-fill--healthy,.character-card__progress-fill--warning,.character-card__progress-fill--neutral{background:linear-gradient(90deg,var(--healthy),color-mix(in srgb,var(--healthy) 60%,transparent));box-shadow:0 0 10px -2px var(--healthy)}.character-card__progress-fill--paused{background:var(--muted);box-shadow:none}.character-card__progress-meta{color:var(--muted);font-family:var(--font-mono);font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.character-card__progress-meta span:first-child{color:var(--text)}.character-card__queue-end{display:flex;justify-content:space-between;gap:.75rem;margin-top:.34rem;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.14em}.character-card__queue-end strong{color:var(--muted-strong);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:none}.character-card__training-meta{gap:.38rem;margin-top:.42rem}.character-card__indicator{min-height:1.9rem;border:1px solid var(--border-strong);border-radius:2px;background:transparent;color:var(--muted-strong);font-family:var(--font-mono)}.character-card__indicator--active{border-color:color-mix(in srgb,var(--healthy) 44%,transparent);background:color-mix(in srgb,var(--healthy) 16%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--healthy) 32%,transparent) inset}.character-card__indicator--inactive{border-color:var(--border);background:transparent}.character-card__indicator span{font-size:.56rem;letter-spacing:.14em}.character-card__indicator--active span{color:var(--healthy)}.character-card__indicator--inactive span{color:var(--muted-strong)}.character-card__section{margin:.48rem .68rem 0;border-top:1px solid var(--border);padding-top:.44rem}.character-card__meta{gap:.25rem}.card-stat{grid-template-columns:auto minmax(0,1fr);-moz-column-gap:.62rem;column-gap:.62rem}.card-stat dt{color:var(--muted);font-size:.53rem;font-weight:600;letter-spacing:.18em}.card-stat dd{color:var(--text);font-family:var(--font-mono);font-size:.63rem;font-variant-numeric:tabular-nums}.character-card__state-strip{position:absolute;right:0;bottom:0;left:0;z-index:4;height:3px;background:var(--muted);pointer-events:none}.character-card__state-strip--training{background:linear-gradient(90deg,transparent,var(--healthy) 30%,var(--healthy) 70%,transparent)}.character-card__state-strip--ended{background:linear-gradient(90deg,transparent,var(--warning) 30%,var(--warning) 70%,transparent)}.character-card__state-strip--paused{background:linear-gradient(90deg,transparent,var(--danger) 30%,var(--danger) 70%,transparent)}.skill-queue{background:var(--page-panel-strong)}@media(max-width:1180px){.app-header__inner{flex-wrap:wrap;padding-top:.65rem;padding-bottom:.65rem}.app-header__stats{order:3;width:100%;margin-left:0;justify-content:flex-start}}@media(max-width:760px){.app-header__inner,.app-header__left,.dashboard-subheader,.dashboard-subheader div{align-items:flex-start;flex-direction:column}.app-header__brand{border-right:0;padding-right:0}.app-header__nav{padding-left:0}.app-header__nav a{min-height:2.4rem;padding:0 1rem 0 0}.app-header__actions,.app-header__stats{flex-wrap:wrap}.dashboard-subheader p{margin-left:0}}.ship-planner-shell{display:flex;flex-direction:column;gap:0;padding:0}.sp-modebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);background:#0b0f1b85;padding:.62rem 1.38rem}.sp-segmented{display:inline-flex;border:1px solid var(--border);border-radius:4px;background:#ffffff05;padding:.18rem}.sp-segmented button{border:0;border-radius:2px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.75rem;font-weight:600;padding:.45rem .9rem}.sp-segmented button.active{background:color-mix(in srgb,var(--accent-bg) 14%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-bg) 24%,transparent);color:var(--accent-bg)}.sp-modebar__stats,.sp-stat{display:flex;align-items:center}.sp-modebar__stats{flex-wrap:wrap;gap:.55rem}.sp-stat{gap:.45rem;border:1px solid var(--border);border-radius:3px;background:#ffffff05;color:var(--muted);font-size:.72rem;font-weight:600;padding:.38rem .7rem}.sp-stat i{width:.38rem;height:.38rem;border-radius:999px;background:var(--muted)}.sp-stat strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sp-stat--ready i,.sp-ready{color:var(--healthy)}.sp-stat--ready i{background:var(--healthy);box-shadow:0 0 8px color-mix(in srgb,var(--healthy) 60%,transparent)}.sp-stat--trainable i,.sp-trainable{color:var(--warning)}.sp-stat--trainable i{background:var(--warning)}.sp-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;padding:1.1rem 1.38rem 1.6rem}.sp-rail{position:sticky;top:1rem;align-self:start;display:flex;flex-direction:column;gap:.75rem;max-height:calc(100vh - 2rem);min-width:0}.sp-rail__section,.sp-panel{border:1px solid var(--border);border-radius:6px;background:linear-gradient(180deg,#0e111ca3,#090b12c7);box-shadow:0 1px #ffffff06 inset,0 24px 60px -32px #000000b3;overflow:hidden}.sp-rail__section--filters{flex:0 0 auto}.sp-rail__section--picker{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.sp-rail__heading{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border);padding:.72rem .8rem}.sp-rail__heading>span{display:none}.sp-rail__heading strong{color:var(--text);font-size:.78rem;font-weight:700}.sp-rail__heading em{margin-left:auto;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;font-style:normal}.sp-search{position:relative;display:flex;align-items:center;margin:.75rem}.sp-search span{position:absolute;left:.72rem;color:var(--muted);font-size:.82rem;pointer-events:none}.sp-search input{width:100%;min-width:0;border:1px solid var(--border);border-radius:4px;background:#0000002e;color:var(--text);font:inherit;font-size:.78rem;outline:0;padding:.68rem 2rem}.sp-search input:focus{border-color:color-mix(in srgb,var(--accent-bg) 46%,var(--border))}.sp-search button{position:absolute;right:.4rem;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem}.sp-search--secondary{margin-top:.2rem}.sp-picker-list{display:flex;flex:1;flex-direction:column;gap:.25rem;min-height:0;overflow:auto;padding:0 .5rem .55rem}.sp-picker-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;cursor:pointer;font:inherit;min-width:0;padding:.55rem;text-align:left}.sp-picker-list button:hover,.sp-picker-list button.active{border-color:var(--border);background:#ffffff06}.sp-picker-list button.active{box-shadow:inset 2px 0 0 var(--accent-bg)}.sp-picker-list strong,.sp-table strong{display:block;color:var(--text);font-size:.82rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-picker-list small,.sp-table small{display:block;color:var(--muted);font-size:.68rem;font-weight:500;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-picker-list em{color:var(--muted);font-family:var(--font-mono);font-size:.66rem;font-style:normal;white-space:nowrap}.sp-avatar{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid var(--border-strong);border-radius:4px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 65%,#111827),#111827);color:var(--text);font-weight:800}.sp-avatar img,.sp-avatar>span{grid-area:1 / 1}.sp-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sp-ship-glyph{display:inline-grid;flex:0 0 auto;place-items:center;width:2.1rem;height:2.1rem}.sp-ship-glyph svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ship-tone) 22%,transparent))}.sp-ship-glyph path:first-child{fill:color-mix(in srgb,var(--ship-tone) 16%,transparent);stroke:var(--ship-tone);stroke-linejoin:round;stroke-width:1.1}.sp-ship-glyph path:last-child{fill:none;stroke:var(--ship-tone);stroke-width:.7;opacity:.62}.sp-sync{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--healthy) 30%,transparent);border-radius:3px;background:color-mix(in srgb,var(--healthy) 10%,transparent);color:var(--healthy);font-family:var(--font-mono);font-size:.62rem;font-weight:700;padding:.18rem .4rem;white-space:nowrap}.sp-sync--bad{border-color:color-mix(in srgb,var(--danger) 34%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.sp-filters{display:grid;gap:.25rem;padding:.55rem}.sp-filters button{display:grid;grid-template-columns:auto minmax(0,1fr) 1rem;align-items:center;gap:.55rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted-strong);cursor:pointer;font:inherit;font-size:.78rem;padding:.55rem;text-align:left}.sp-filters button.active,.sp-filters button:hover{border-color:var(--border);background:#ffffff06}.sp-filters i{width:.42rem;height:.42rem;border-radius:999px}.sp-filters strong{color:var(--accent-bg);font-size:.75rem}.sp-panel{min-width:0}.sp-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.018),transparent);padding:.8rem 1rem}.sp-panel__heading h1{margin:0;color:var(--text);font-size:.92rem;font-weight:700;letter-spacing:0;line-height:1.2}.sp-panel__heading p{margin:.16rem 0 0;color:var(--muted);font-size:.72rem;font-weight:500}.sp-panel__heading>span{color:var(--muted);font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase}.sp-subject{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;border-bottom:1px solid var(--border);background:#ffffff04;padding:1rem}.sp-subject>.sp-ship-glyph{width:3.5rem;height:3.5rem}.sp-subject__body{min-width:0}.sp-subject__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sp-subject h2{margin:0;color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:0}.sp-subject p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.35}.sp-training-card{flex:0 1 18rem;border:1px solid var(--border);border-radius:4px;background:#00000024;padding:.65rem .75rem}.sp-training-card span,.sp-training-card small,.sp-subject__stats em{display:block;color:var(--muted);font-size:.62rem;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sp-training-card strong{display:block;color:var(--text);font-size:.82rem;margin:.18rem 0}.sp-subject__stats{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:.9rem}.sp-subject__stats strong{display:block;color:var(--text);font-family:var(--font-mono);font-size:.92rem;font-variant-numeric:tabular-nums;font-weight:700}.sp-tree{display:grid}.sp-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border);background:#07090f5c;padding:.6rem 1rem}.sp-results-toolbar span{color:var(--muted);font-size:.72rem;font-weight:600}.sp-results-toolbar button{border:1px solid var(--border-strong);border-radius:3px;background:#ffffff05;color:var(--muted-strong);cursor:pointer;font:inherit;font-size:.7rem;font-weight:700;padding:.32rem .58rem}.sp-results-toolbar button:hover{border-color:color-mix(in srgb,var(--accent-bg) 38%,var(--border-strong));color:var(--text)}.sp-group{border-bottom:1px solid var(--border)}.sp-group:last-child{border-bottom:0}.sp-group summary{display:flex;align-items:center;gap:.65rem;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent-bg) 10%,transparent),transparent 42%),linear-gradient(180deg,#ffffff0e,#ffffff05);cursor:pointer;list-style:none;min-width:0;padding:.78rem 1rem}.sp-group summary::-webkit-details-marker{display:none}.sp-group summary:before{color:var(--accent-bg);content:"▸";font-size:.72rem;transition:transform .12s}.sp-group[open] summary:before{transform:rotate(90deg)}.sp-group summary em,.sp-group summary strong{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:600;white-space:nowrap}.sp-group summary strong{margin-left:auto}.sp-group-title{color:var(--text);font-size:.82rem;font-weight:800;letter-spacing:.02em}.sp-table{width:100%;border-collapse:collapse;table-layout:fixed}.sp-table th{border-bottom:1px solid var(--border);background:#0003;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.12em;padding:.65rem .75rem;text-align:left;text-transform:uppercase}.sp-table td{border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--muted-strong);font-size:.78rem;padding:.5rem .75rem;vertical-align:middle}.sp-table tbody tr:last-child td{border-bottom:0}.sp-table tbody tr:hover{background:#ffffff05}.sp-table tbody tr.sp-row-ready td:first-child{box-shadow:inset 2px 0 0 var(--healthy)}.sp-table tbody tr.sp-row-unknown td:first-child{box-shadow:inset 2px 0 0 var(--muted)}.sp-table--ships th:nth-child(1),.sp-table--ships td:nth-child(1){width:3.3rem;padding-left:1rem}.sp-table--ships th:nth-child(3),.sp-table--characters th:nth-child(3){width:7.8rem}.sp-table--ships th:nth-child(4),.sp-table--characters th:nth-child(4){width:8.5rem}.sp-table--ships th:nth-child(5),.sp-table--characters th:nth-child(5){width:7.6rem}.sp-table--characters th:nth-child(1){width:3rem}.sp-table--characters th:nth-child(2){width:28%}.sp-table--characters th:nth-child(7){width:6.4rem}.sp-character-cell{display:flex;align-items:center;gap:.65rem;min-width:0}.sp-character-cell>span:last-child{min-width:0}.sp-readiness{display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--border);border-radius:3px;color:var(--muted-strong);font-size:.7rem;font-weight:700;padding:.25rem .5rem;white-space:nowrap}.sp-readiness span{width:.38rem;height:.38rem;border-radius:999px;background:var(--muted)}.sp-readiness--ready{border-color:color-mix(in srgb,var(--healthy) 30%,transparent);color:var(--healthy)}.sp-readiness--ready span{background:var(--healthy)}.sp-readiness--trainable{border-color:color-mix(in srgb,var(--warning) 28%,transparent);color:var(--warning)}.sp-readiness--trainable span{background:var(--warning)}.sp-readiness--unknown{color:var(--muted)}.sp-skill-chips{display:flex;flex-wrap:wrap;gap:.32rem;min-width:0}.sp-skill-chip,.sp-skill-more{display:inline-flex;align-items:center;gap:.35rem;max-width:14rem;border:1px solid var(--border);border-radius:3px;background:#ffffff05;color:var(--muted-strong);font-size:.68rem;padding:.24rem .45rem}.sp-skill-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-skill-chip strong{color:var(--text);display:inline;flex:0 0 auto;font-family:var(--font-mono);font-size:.62rem}.sp-skill-more,.sp-muted{color:var(--muted)}.sp-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sp-state{display:grid;place-items:center;gap:.45rem;min-height:17rem;padding:2rem;text-align:center}.sp-state strong{color:var(--text);font-size:.92rem}.sp-state span{color:var(--muted);font-size:.78rem}.sp-loader{width:2rem;height:2rem;border:1px solid var(--border);border-top-color:var(--accent-bg);border-radius:999px;animation:sp-spin .8s linear infinite}@keyframes sp-spin{to{transform:rotate(360deg)}}.character-planner-shell{--cp-bg: #0c0e12;--cp-surface: #14171d;--cp-surface-2: #181c23;--cp-surface-hover: #1d222b;--cp-border: #262b34;--cp-border-strong: #333a45;--cp-text: #eef1f6;--cp-text-2: #9aa4b2;--cp-text-3: #69727f;background:radial-gradient(circle at top left,rgba(42,111,219,.14),transparent 28rem),radial-gradient(circle at 78% 10%,rgba(31,138,91,.08),transparent 22rem),var(--cp-bg)}.cp-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.7rem clamp(1rem,3vw,2rem) 1rem}.cp-header h1{margin:0;color:var(--cp-text);font-size:clamp(1.9rem,3vw,2.35rem);font-weight:750;letter-spacing:0;line-height:1}.cp-header p{margin:.45rem 0 0;color:var(--cp-text-2);font-size:.92rem;font-weight:550}.cp-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:0 clamp(1rem,3vw,2rem) 1rem}.cp-search{position:relative;flex:1 1 16rem;max-width:22rem}.cp-search span{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--cp-text-3);font-size:1.1rem;pointer-events:none}.cp-search input,.cp-select{width:100%;min-height:2.35rem;border:1px solid var(--cp-border);border-radius:8px;background:var(--cp-surface);color:var(--cp-text);font-size:.86rem;outline:none}.cp-search input{padding:0 .8rem 0 2.15rem}.cp-search input:focus,.cp-select:focus{border-color:color-mix(in srgb,var(--accent-bg) 64%,var(--cp-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-bg) 16%,transparent)}.cp-select{width:auto;min-width:9.5rem;padding:0 2rem 0 .75rem;font-weight:650}.cp-select option{background:var(--cp-surface);color:var(--cp-text)}.cp-group-filter{display:flex;gap:.3rem;border:1px solid var(--cp-border);border-radius:9px;background:var(--cp-surface);padding:.25rem}.cp-group-filter button{display:inline-flex;align-items:center;gap:.42rem;min-height:1.9rem;border:0;border-radius:6px;background:transparent;color:var(--cp-text-2);cursor:pointer;font-size:.81rem;font-weight:650;padding:0 .75rem}.cp-group-filter button span{width:.43rem;height:.43rem;border-radius:999px;background:var(--cp-filter-color)}.cp-group-filter button.active{background:var(--cp-filter-bg, var(--cp-surface-2));color:var(--cp-filter-color, var(--cp-text));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cp-filter-color, var(--cp-border-strong)) 48%,transparent)}.cp-save-error{margin:0 clamp(1rem,3vw,2rem) 1rem;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:8px;background:var(--danger-bg);color:var(--danger);padding:.7rem .85rem;font-size:.82rem;font-weight:650}.cp-coverage{display:flex;align-items:stretch;flex-wrap:wrap;gap:.55rem;padding:0 clamp(1rem,3vw,2rem) 1rem}.cp-coverage__item{display:grid;grid-template-columns:auto auto;grid-template-areas:"dot count" "dot label";align-items:center;-moz-column-gap:.55rem;column-gap:.55rem;min-width:5.8rem;border:1px solid var(--cp-border);border-radius:8px;background:var(--cp-surface);padding:.55rem .75rem}.cp-coverage__item>span{grid-area:dot;width:.55rem;height:.55rem;border-radius:999px;background:var(--cp-role-color);box-shadow:0 0 0 .2rem var(--cp-role-glow)}.cp-coverage__item strong{grid-area:count;color:var(--cp-text);font-size:1.1rem;font-weight:750;font-variant-numeric:tabular-nums;line-height:1}.cp-coverage__item small{grid-area:label;color:var(--cp-text-2);font-size:.68rem;font-weight:650}.cp-coverage__item--empty{opacity:.56}.cp-panel{margin:0 clamp(1rem,3vw,2rem) 2rem;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface);box-shadow:0 14px 38px #00000047;overflow:hidden}.cp-matrix-scroll{max-width:100%;overflow:auto}.cp-matrix{width:100%;min-width:58rem;border-collapse:collapse}.cp-matrix th,.cp-matrix td{border-bottom:1px solid var(--cp-border)}.cp-matrix__corner,.cp-matrix__band,.cp-matrix__name-head,.cp-matrix__vertical{position:sticky;top:0;z-index:4;background:var(--cp-surface)}.cp-matrix__corner{left:0;z-index:7}.cp-matrix__band{height:1.9rem;color:var(--cp-text-3);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center}.cp-matrix__name-head{left:0;top:1.9rem;z-index:7;min-width:15.5rem;border-right:1px solid var(--cp-border);color:var(--cp-text-3);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-align:left;text-transform:uppercase;vertical-align:bottom;padding:0 1rem .75rem}.cp-matrix__vertical{top:1.9rem;width:2.6rem;height:5rem;color:var(--cp-text-2);vertical-align:bottom}.cp-matrix__vertical>span{display:inline-flex;align-items:center;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:.74rem;font-weight:650;letter-spacing:0}.cp-matrix__vertical>i{display:block;width:.55rem;height:.55rem;border-radius:999px;background:var(--cp-header-color);margin:.35rem auto .5rem}.cp-matrix__divider{border-left:2px solid var(--cp-border-strong)}.cp-section-row td{position:sticky;left:0;z-index:3;border-right:1px solid var(--cp-border);background:var(--cp-surface-2);padding:.58rem 1rem}.cp-section-row td+td{position:static;border-right:0}.cp-section-row strong{color:var(--cp-text-2);font-size:.78rem;font-weight:750}.cp-section-row span{color:var(--cp-text-3);font-size:.72rem;font-weight:650;margin-left:.45rem}.cp-character-cell{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:.65rem;min-width:15.5rem;border-right:1px solid var(--cp-border);background:var(--cp-surface);padding:.42rem 1rem;text-align:left}.cp-character-cell>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.2}.cp-character-cell strong{overflow:hidden;color:var(--cp-text);font-size:.86rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.cp-character-cell small{color:var(--cp-text-3);font-family:var(--font-mono);font-size:.68rem;font-weight:600}.cp-avatar{display:grid;place-items:center;flex:0 0 auto;width:1.65rem;height:1.65rem;border-radius:7px;background:var(--cp-avatar-bg);color:var(--cp-avatar-fg);box-shadow:inset 0 0 0 1px var(--cp-avatar-ring);font-size:.62rem;font-weight:800}.cp-matrix td{min-width:2.6rem;padding:0;text-align:center}.cp-matrix__muted{background:var(--cp-surface-2)}.cp-cell{position:relative;display:grid;place-items:center;width:100%;height:2.25rem;border:0;background:transparent;cursor:pointer}.cp-cell:before{content:"";display:block;width:1.38rem;height:1.38rem;border-radius:7px;box-shadow:inset 0 0 0 1.5px var(--cp-border-strong);transition:box-shadow .12s ease,background-color .12s ease}.cp-cell--square:before{border-radius:6px}.cp-cell:hover:before{box-shadow:inset 0 0 0 1.5px var(--accent-bg)}.cp-cell--active:before{background:var(--cp-cell-bg);box-shadow:none}.cp-cell svg{position:absolute;width:.92rem;height:.92rem;fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.4;pointer-events:none}.cp-empty{margin:-1rem clamp(1rem,3vw,2rem) 2rem;color:var(--cp-text-3);font-size:.86rem;text-align:center}@media(max-width:1180px){.sp-table--ships th:nth-child(4),.sp-table--ships td:nth-child(4),.sp-table--ships th:nth-child(5),.sp-table--ships td:nth-child(5),.sp-table--characters th:nth-child(4),.sp-table--characters td:nth-child(4),.sp-table--characters th:nth-child(5),.sp-table--characters td:nth-child(5),.sp-table--characters th:nth-child(7),.sp-table--characters td:nth-child(7){display:none}}@media(max-width:900px){.sp-layout{grid-template-columns:1fr}.sp-rail{position:static;max-height:none}.sp-rail__section--picker{max-height:24rem}}@media(max-width:700px){.sp-modebar,.sp-panel__heading,.sp-subject__top{align-items:flex-start;flex-direction:column}.sp-layout,.sp-modebar{padding:.8rem}.sp-modebar__stats{width:100%}.sp-subject{grid-template-columns:1fr}.sp-training-card{width:100%}.sp-table colgroup,.sp-table--ships th:nth-child(5),.sp-table--ships td:nth-child(5),.sp-table--ships th:nth-child(6),.sp-table--ships td:nth-child(6),.sp-table--characters th:nth-child(1),.sp-table--characters td:nth-child(1),.sp-table--characters th:nth-child(5),.sp-table--characters td:nth-child(5),.sp-table--characters th:nth-child(6),.sp-table--characters td:nth-child(6){display:none}.sp-group summary{flex-wrap:wrap}.sp-group summary strong{margin-left:0}}.hover\:border-cyan-300:hover{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity, 1))}.hover\:bg-cyan-400\/20:hover{background-color:#22d3ee33}@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
