@font-face{font-family:"Exo 2";font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/exo2-latin-CQ1lLIdm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/rajdhani-400-latin-CurJOxDW.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/rajdhani-500-latin-ByNUCHrt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/rajdhani-600-latin-CXCVEoA9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/rajdhani-700-latin-BPDUZo87.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/share-tech-mono-latin-CCqdbj5z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Teko;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/teko-400-latin-xZgsYnjU.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Teko;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/teko-500-latin-CnS-PWFz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Teko;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/teko-600-latin-Cj5MAY47.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Teko;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/teko-700-latin-D19WDQ7P.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/barlow-condensed-400-latin-Dc2u_eUW.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-condensed-500-latin-BgYH2mbd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-condensed-600-latin-DepVgxBB.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-condensed-700-latin-v1xN8_Wq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/saira-400-latin-6Q3FbzbH.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/saira-500-latin-BUkaYXVh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/saira-600-latin-DYxBFP1f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/saira-700-latin-CObqxJsW.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Michroma;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/michroma-400-latin-4gS0VCia.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Black Ops One;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/black-ops-one-400-latin-CYRH0z_U.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/bebas-neue-400-latin-9mHNbWWO.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/russo-one-400-latin-BfOuQF9V.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Dots;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/zen-dots-400-latin-BZdwNeW0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Play;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/play-400-latin-GKW-4YV7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Play;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/play-700-latin-DyPlLDbb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/orbitron-400-latin-U6xZUhur.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/orbitron-500-latin-DQ2gt4P1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/orbitron-600-latin-mazHmDYu.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/orbitron-700-latin-4jsRXGGJ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-deep:#05080f;--bg-panel:#0a0e1a;--bg-surface:#0f1423;--bg-hover:#141b2e;--bg-active:#1a2340;--accent:#00d4ff;--accent-dim:#00d4ff88;--accent-glow:#00d4ff33;--accent-subtle:#00d4ff15;--secondary:#fa0;--secondary-dim:#fa08;--secondary-glow:#fa03;--red:#f46;--red-dim:#f466;--green:#0f8;--text-primary:#c8d6e5;--text-secondary:#6b7fa3;--text-muted:#3d4f6f;--text-bright:#e8f0ff;--border:#1a2540;--border-accent:#1e3050;--font-display:"Rajdhani", sans-serif;--font-body:"Exo 2", sans-serif;--font-mono:"Share Tech Mono", monospace;--logo-offset:2px;--sidebar-width:350px;--toolbar-height:48px;--ui-scale:1.25}body[data-theme=aegis]{--accent:#ff4a1c;--accent-dim:#ff4a1c88;--accent-glow:#ff4a1c33;--accent-subtle:#ff4a1c15;--secondary:#7a9bb5;--secondary-dim:#7a9bb588;--secondary-glow:#7a9bb533;--bg-deep:#08090e;--bg-panel:#0c0f18;--bg-surface:#111620;--bg-hover:#181e2c;--bg-active:#1f2838;--text-primary:#bcc8d8;--text-secondary:#5e7290;--text-muted:#3a4a64;--text-bright:#dce4f0;--border:#1c2538;--border-accent:#243048;--font-display:"Teko", sans-serif;--font-body:"Barlow Condensed", sans-serif;--logo-offset:3px}body[data-theme=anvil]{--accent:#5a8a3c;--accent-dim:#5a8a3c88;--accent-glow:#5a8a3c33;--accent-subtle:#5a8a3c15;--secondary:#b8a878;--secondary-dim:#b8a87888;--secondary-glow:#b8a87833;--bg-deep:#070908;--bg-panel:#0c100c;--bg-surface:#121812;--bg-hover:#1a201a;--bg-active:#222a22;--text-primary:#bcc8b8;--text-secondary:#627860;--text-muted:#3e4e3c;--text-bright:#d8e4d4;--border:#1e2a1e;--border-accent:#283828;--font-display:"Russo One", sans-serif;--font-body:"Exo 2", sans-serif;--logo-offset:2px}body[data-theme=aopoa]{--accent:#00c9a7;--accent-dim:#00c9a788;--accent-glow:#00c9a733;--accent-subtle:#00c9a715;--secondary:#d4a040;--secondary-dim:#d4a04088;--secondary-glow:#d4a04033;--bg-deep:#060a0a;--bg-panel:#0a1212;--bg-surface:#0f1a18;--bg-hover:#142220;--bg-active:#1a2c28;--text-primary:#b8d8d0;--text-secondary:#5a8a80;--text-muted:#3a5c54;--text-bright:#d4f0e8;--border:#1a2e28;--border-accent:#203830;--font-display:"Rajdhani", sans-serif;--font-body:"Saira", sans-serif;--logo-offset:2px}body[data-theme=argo]{--accent:#f0b400;--accent-dim:#f0b40088;--accent-glow:#f0b40033;--accent-subtle:#f0b40015;--secondary:#e0e0e0;--secondary-dim:#e0e0e088;--secondary-glow:#e0e0e033;--bg-deep:#0a0908;--bg-panel:#110f0c;--bg-surface:#181614;--bg-hover:#201e1a;--bg-active:#282620;--text-primary:#d0ccc0;--text-secondary:#7a7668;--text-muted:#4a4638;--text-bright:#e8e4d8;--border:#282418;--border-accent:#322c20;--font-display:"Bebas Neue", sans-serif;--font-body:"Barlow Condensed", sans-serif;--logo-offset:3px}body[data-theme=banu]{--accent:#9b59b6;--accent-dim:#9b59b688;--accent-glow:#9b59b633;--accent-subtle:#9b59b615;--secondary:#d4a017;--secondary-dim:#d4a01788;--secondary-glow:#d4a01733;--bg-deep:#0a070c;--bg-panel:#100c16;--bg-surface:#181220;--bg-hover:#201a2c;--bg-active:#282238;--text-primary:#c8bcd8;--text-secondary:#7a6898;--text-muted:#4a3c60;--text-bright:#e0d8f0;--border:#241c38;--border-accent:#2e2444;--font-display:"Rajdhani", sans-serif;--font-body:"Saira", sans-serif;--logo-offset:2px}body[data-theme=co]{--accent:#2196f3;--accent-dim:#2196f388;--accent-glow:#2196f333;--accent-subtle:#2196f315;--secondary:#fff;--secondary-dim:#fff8;--secondary-glow:#fff3;--bg-deep:#06080e;--bg-panel:#0a0e18;--bg-surface:#0f1424;--bg-hover:#141c30;--bg-active:#1c2440;--text-primary:#c4d4e8;--text-secondary:#5c78a0;--text-muted:#3a4e6e;--text-bright:#e0ecff;--border:#182840;--border-accent:#20344c;--font-display:"Zen Dots", sans-serif;--font-body:"Exo 2", sans-serif;--logo-offset:2px}body[data-theme=crusader]{--accent:#4db8ff;--accent-dim:#4db8ff88;--accent-glow:#4db8ff33;--accent-subtle:#4db8ff15;--secondary:#e0e8f0;--secondary-dim:#e0e8f088;--secondary-glow:#e0e8f033;--bg-deep:#060a12;--bg-panel:#0a1020;--bg-surface:#0f1830;--bg-hover:#142040;--bg-active:#1a2850;--text-primary:#d0dcea;--text-secondary:#6888aa;--text-muted:#3e5a78;--text-bright:#e4f0ff;--border:#1a3050;--border-accent:#203c5e;--font-display:"Orbitron", sans-serif;--font-body:"Exo 2", sans-serif;--logo-offset:0px}body[data-theme=drake]{--accent:#e87e24;--accent-dim:#e87e2488;--accent-glow:#e87e2433;--accent-subtle:#e87e2415;--secondary:#c33;--secondary-dim:#c338;--secondary-glow:#c333;--bg-deep:#0a0806;--bg-panel:#110e0a;--bg-surface:#181410;--bg-hover:#201a14;--bg-active:#28201a;--text-primary:#c4b8a8;--text-secondary:#7a6e5e;--text-muted:#4a4234;--text-bright:#e0d8c8;--border:#2a2218;--border-accent:#342a20;--font-display:"Black Ops One", sans-serif;--font-body:"Barlow Condensed", sans-serif;--logo-offset:2px}body[data-theme=esperia]{--accent:#d4a44a;--accent-dim:#d4a44a88;--accent-glow:#d4a44a33;--accent-subtle:#d4a44a15;--secondary:#f0ead8;--secondary-dim:#f0ead888;--secondary-glow:#f0ead833;--bg-deep:#0a0908;--bg-panel:#110f0c;--bg-surface:#181510;--bg-hover:#201c16;--bg-active:#28241c;--text-primary:#d0c8b8;--text-secondary:#887a62;--text-muted:#544a36;--text-bright:#e8e0d0;--border:#2a2418;--border-accent:#342e20;--font-display:"Rajdhani", sans-serif;--font-body:"Exo 2", sans-serif;--logo-offset:2px}body[data-theme=greycat]{--accent:#f5c518;--accent-dim:#f5c51888;--accent-glow:#f5c51833;--accent-subtle:#f5c51815;--secondary:gray;--secondary-dim:#80808088;--secondary-glow:#80808033;--bg-deep:#090908;--bg-panel:#0e0e0c;--bg-surface:#161614;--bg-hover:#1e1e1a;--bg-active:#262620;--text-primary:#c8c8c0;--text-secondary:#787870;--text-muted:#484840;--text-bright:#e0e0d8;--border:#242420;--border-accent:#2e2e28;--font-display:"Bebas Neue", sans-serif;--font-body:"Barlow Condensed", sans-serif;--logo-offset:3px}body[data-theme=kruger]{--accent:#e63946;--accent-dim:#e6394688;--accent-glow:#e6394633;--accent-subtle:#e6394615;--secondary:silver;--secondary-dim:#c0c0c088;--secondary-glow:#c0c0c033;--bg-deep:#08080c;--bg-panel:#0c0e16;--bg-surface:#121420;--bg-hover:#1a1c2a;--bg-active:#222436;--text-primary:#c8c8d8;--text-secondary:#6a6e88;--text-muted:#3e4058;--text-bright:#e0e0f0;--border:#1c1e30;--border-accent:#24263c;--font-display:"Teko", sans-serif;--font-body:"Exo 2", sans-serif;--logo-offset:3px}body[data-theme=misc]{--accent:#0091ea;--accent-dim:#0091ea88;--accent-glow:#0091ea33;--accent-subtle:#0091ea15;--secondary:#ff8c00;--secondary-dim:#ff8c0088;--secondary-glow:#ff8c0033;--bg-deep:#080a0e;--bg-panel:#0c1018;--bg-surface:#101822;--bg-hover:#162030;--bg-active:#1c283c;--text-primary:#c0cce0;--text-secondary:#5878a0;--text-muted:#364a68;--text-bright:#dce8ff;--border:#1a2840;--border-accent:#20324c;--font-display:"Rajdhani", sans-serif;--font-body:"Saira", sans-serif;--logo-offset:2px}body[data-theme=mirai]{--accent:#e0304e;--accent-dim:#e0304e88;--accent-glow:#e0304e33;--accent-subtle:#e0304e15;--secondary:#fff;--secondary-dim:#fff8;--secondary-glow:#fff3;--bg-deep:#0a0a0a;--bg-panel:#0f0f0f;--bg-surface:#161616;--bg-hover:#1e1e1e;--bg-active:#262626;--text-primary:#c8c8c8;--text-secondary:#787878;--text-muted:#484848;--text-bright:#e0e0e0;--border:#222;--border-accent:#2c2c2c;--font-display:"Zen Dots", sans-serif;--font-body:"Saira", sans-serif;--logo-offset:2px}body[data-theme=origin]{--accent:#c9a959;--accent-dim:#c9a95988;--accent-glow:#c9a95933;--accent-subtle:#c9a95915;--secondary:#f0f0f0;--secondary-dim:#f0f0f088;--secondary-glow:#f0f0f033;--bg-deep:#0c0a08;--bg-panel:#12100c;--bg-surface:#1a1610;--bg-hover:#221e16;--bg-active:#2a251c;--text-primary:#d8d0c0;--text-secondary:#8a7e6a;--text-muted:#544c3a;--text-bright:#f0e8d8;--border:#2a2418;--border-accent:#342e20;--font-display:"Michroma", sans-serif;--font-body:"Saira", sans-serif;--logo-offset:0px}body[data-theme=rsi]{--accent:#0078d7;--accent-dim:#0078d788;--accent-glow:#0078d733;--accent-subtle:#0078d715;--secondary:#fff;--secondary-dim:#fff8;--secondary-glow:#fff3;--bg-deep:#06080e;--bg-panel:#0a0e1a;--bg-surface:#0e1428;--bg-hover:#141c34;--bg-active:#1a2440;--text-primary:#c8d4e8;--text-secondary:#6080a8;--text-muted:#3a5070;--text-bright:#e0ecff;--border:#182848;--border-accent:#203454;--font-display:"Play", sans-serif;--font-body:"Exo 2", sans-serif;--logo-offset:1px}body[data-theme=tumbril]{--accent:#6b8e23;--accent-dim:#6b8e2388;--accent-glow:#6b8e2333;--accent-subtle:#6b8e2315;--secondary:#c4a35a;--secondary-dim:#c4a35a88;--secondary-glow:#c4a35a33;--bg-deep:#090a06;--bg-panel:#0e100a;--bg-surface:#141810;--bg-hover:#1c2018;--bg-active:#242a1e;--text-primary:#c4c8b0;--text-secondary:#6e7858;--text-muted:#444c34;--text-bright:#dce0c8;--border:#1e2416;--border-accent:#282e1e;--font-display:"Russo One", sans-serif;--font-body:"Barlow Condensed", sans-serif;--logo-offset:2px}#seo-hero{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}#app{height:100dvh;display:flex;position:relative;overflow:hidden}#sidebar-col{zoom:var(--ui-scale);background:var(--bg-panel);border-right:1px solid var(--border);z-index:10;width:var(--sidebar-width);flex-direction:column;display:flex;position:relative}#sidebar{flex-direction:column;flex:1;height:0;min-height:0;display:flex;overflow:hidden}#sidebar-col:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00d4ff04 2px 4px);position:absolute;inset:0}#sidebar-header{height:var(--toolbar-height);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:relative}.ko-fi-toolbar-link,.reddit-toolbar-link{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;text-decoration:none;transition:all .15s;display:flex}.ko-fi-toolbar-link:hover{color:#ff5e5b;background:#ff5e5b14;border-color:#ff5e5b66;box-shadow:0 0 12px #ff5e5b26}.reddit-toolbar-link:hover{color:#ff4500;background:#ff450014;border-color:#ff450066;box-shadow:0 0 12px #ff450026}#sidebar-header:after{content:"";background:linear-gradient(90deg, var(--accent-glow), var(--accent-dim), var(--accent-glow));height:1px;position:absolute;bottom:-1px;left:20px;right:20px}.logo{align-items:center;gap:10px;display:flex}.logo-img{background:var(--accent);width:28px;height:28px;filter:drop-shadow(0 0 6px var(--accent-glow));animation:3s ease-in-out infinite pulse-glow;-webkit-mask-image:url(/logo-mask.png);mask-image:url(/logo-mask.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 6px var(--accent-glow));opacity:.9}50%{filter:drop-shadow(0 0 10px var(--accent-dim));opacity:1}}.logo-text{font-family:var(--font-display);letter-spacing:3px;color:var(--text-bright);text-transform:uppercase;transform:translateY(var(--logo-offset,0px));font-size:20px;font-weight:700;line-height:1}.logo-accent{color:var(--accent)}.panel{flex-direction:column;min-height:0;display:flex}.panel-header{justify-content:space-between;align-items:center;padding:12px 20px 10px;display:flex;position:relative}.panel-label{font-family:var(--font-display);letter-spacing:2.5px;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.panel-count{font-family:var(--font-mono);color:var(--accent);background:var(--accent-subtle);border:1px solid var(--accent-glow);text-align:center;border-radius:3px;min-width:28px;padding:2px 8px;font-size:11px}#ship-picker{border-bottom:1px solid var(--border);flex:1;min-height:50%}.search-wrap{margin:0 16px 8px;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}#ship-search{background:var(--bg-surface);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);border-radius:4px;outline:none;padding:8px 10px 8px 32px;font-size:12px;transition:border-color .2s,box-shadow .2s}#ship-search:focus{border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-glow), inset 0 0 12px var(--accent-subtle)}#ship-search::placeholder{color:var(--text-muted)}.search-overlay{z-index:100;background:var(--bg-panel);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;transition:opacity .2s ease-out,visibility .2s ease-out;display:flex;position:fixed;inset:0}.search-overlay.overlay-open{opacity:1;visibility:visible;pointer-events:auto}.search-overlay-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex;position:relative}.search-overlay-header .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:26px;transform:translateY(-50%)}#overlay-search{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-body);border-radius:4px;outline:none;flex:1;padding:10px 10px 10px 36px;font-size:14px;transition:border-color .2s,box-shadow .2s}#overlay-search:focus{border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-glow), inset 0 0 12px var(--accent-subtle)}#overlay-search::placeholder{color:var(--text-muted)}#search-overlay-back{flex-shrink:0}.search-overlay-results{-webkit-overflow-scrolling:touch;flex:1;padding:0;overflow-y:auto}.search-overlay-results .ship-row{cursor:default;justify-content:space-between;align-items:center;min-height:48px;padding:10px 16px;display:flex;position:relative}.search-overlay-results .ship-row .ship-row-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.search-overlay-results .ship-row .ship-row-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.search-overlay-results .mfr-group-header{min-height:48px;padding:10px 16px}html.search-overlay-open,body.phone.search-overlay-open{overflow:hidden}body.phone #ship-search,body.phone #overlay-search{-webkit-user-select:text;user-select:text}#filter-controls{gap:6px;padding:0 16px 10px;display:flex}#filter-controls select{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23fff' fill='none' stroke-width='1.5' opacity='0.4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:3px;outline:none;flex:1;padding:6px 24px 6px 8px;font-size:11px;transition:border-color .2s}#filter-controls select:focus{border-color:var(--accent-dim)}#ship-list,#fleet-list{flex:1;list-style:none;overflow-y:auto}#ship-list{padding:0}#fleet-list{padding:4px 8px}.mfr-group-header{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:var(--bg-surface);align-items:center;gap:6px;padding:7px 12px;font-size:9px;font-weight:700;display:flex}.mfr-group-header:hover{color:var(--text-primary)}.mfr-group-header{-webkit-user-select:none;user-select:none}.mfr-group-header .mfr-chevron{color:var(--text-muted);flex-shrink:0;font-size:8px;transition:transform .15s}.mfr-group.collapsed .mfr-chevron{transform:rotate(-90deg)}.mfr-group.collapsed .mfr-group-ships{display:none}.mfr-group-header .mfr-count{font-family:var(--font-mono);color:var(--text-muted);font-size:9px}.mfr-group-header .mfr-line{background:var(--border);flex:1;height:1px}#ship-list .ship-row{cursor:default;justify-content:space-between;align-items:center;padding:4px 10px 4px 16px;transition:background .1s;display:flex;position:relative}#ship-list .ship-row:hover{background:var(--bg-hover)}#ship-list .ship-row:before{content:"";opacity:.6;border-radius:1px;width:2px;transition:opacity .15s;position:absolute;top:3px;bottom:3px;left:2px}#ship-list .ship-row:hover:before{opacity:1}#ship-list .ship-row[data-size=small]:before{background:var(--green)}#ship-list .ship-row[data-size=medium]:before{background:#00d4ff}#ship-list .ship-row[data-size=large]:before{background:#fa0}#ship-list .ship-row[data-size=capital]:before{background:var(--red)}#ship-list .ship-row[data-size=snub]:before{background:#b088ff}#ship-list .ship-row[data-size=vehicle]:before{background:#8ac}#ship-list .ship-row .ship-row-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}#ship-list .ship-row .ship-row-meta{flex-shrink:0;align-items:center;gap:5px;display:flex}.stepper{border:1px solid var(--border);border-radius:3px;align-items:center;height:20px;display:flex;overflow:hidden}.stepper-btn{background:var(--bg-surface);width:18px;height:20px;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:all .1s;display:flex}.stepper-btn:hover{background:var(--bg-active);color:var(--text-primary)}.stepper-btn.stepper-minus:hover{color:var(--red)}.stepper-btn.stepper-plus:hover{color:var(--accent)}.stepper-val{background:var(--bg-deep);border-left:1px solid var(--border);border-right:1px solid var(--border);width:22px;height:20px;font-family:var(--font-mono);color:var(--accent);justify-content:center;align-items:center;font-size:11px;display:flex}.stepper.zero .stepper-val{color:var(--text-muted)}.stepper.zero .stepper-minus{color:var(--border);cursor:default}.ship-size-tag{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;border-radius:2px;flex-shrink:0;margin-left:4px;padding:1px 5px;font-size:8px}.ship-size-tag[data-size=small]{color:var(--green);background:#00ff8814}.ship-size-tag[data-size=medium]{color:#00d4ff;background:#00d4ff14}.ship-size-tag[data-size=large]{color:#fa0;background:#ffaa0021}.ship-size-tag[data-size=capital]{color:var(--red);background:var(--red-dim)}.ship-size-tag[data-size=snub]{color:#b088ff;background:#b088ff14}.ship-size-tag[data-size=vehicle]{color:#8ac;background:#88aacc14}.no-model-tag{font-family:var(--font-mono);letter-spacing:1px;color:var(--text-muted);background:#3d4f6f26;border-radius:2px;flex-shrink:0;margin-left:4px;padding:1px 5px;font-size:8px}#fleet-panel{flex-direction:column;flex:0 auto;max-height:50%;display:flex;position:relative;overflow:hidden}#fleet-panel[hidden],#ship-picker[hidden]{display:none!important}#fleet-panel .panel-header{border-top:1px solid var(--border);padding:12px 18px 10px}.fleet-clear-btn{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-body);background:0 0;border:1px solid #0000;border-radius:3px;padding:2px 6px;transition:all .15s}.fleet-clear-btn:hover{color:var(--red);background:var(--red-dim);border-color:var(--red-dim)}#btn-treat-as-layout.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim,#64a0dc26)}#fleet-empty{color:var(--text-muted);justify-content:center;align-items:center;padding:20px;font-size:12px;font-style:italic;display:flex}#fleet-list li{cursor:pointer;border-bottom:1px solid var(--bg-surface);justify-content:space-between;align-items:center;padding:5px 10px 5px 14px;font-size:12.5px;transition:background .1s;display:flex;position:relative}#fleet-list li:last-child{border-bottom:none}#fleet-list li:hover{background:var(--bg-hover)}#fleet-list li.selected{background:#3d7ca626;outline:1px solid #3d7ca6}#fleet-list li.selected:before{opacity:1}#fleet-list li:before{content:"";opacity:.6;border-radius:1px;width:2px;transition:opacity .15s;position:absolute;top:3px;bottom:3px;left:2px}#fleet-list li:hover:before{opacity:1}#fleet-list li[data-size=small]:before{background:var(--green)}#fleet-list li[data-size=medium]:before{background:#00d4ff}#fleet-list li[data-size=large]:before{background:#fa0}#fleet-list li[data-size=capital]:before{background:var(--red)}#fleet-list li[data-size=snub]:before{background:#b088ff}#fleet-list li[data-size=vehicle]:before{background:#8ac}#fleet-list li .fleet-ship-name{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}#fleet-list li .fleet-ship-title{color:#e6c88c;width:100%;margin-left:20px;font-size:9px;font-style:italic}#fleet-list li .fleet-ship-name span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#fleet-list li .drag-handle{color:var(--text-muted);cursor:grab;opacity:0;flex-shrink:0;font-size:10px;transition:opacity .15s}#fleet-list li:hover .drag-handle{opacity:1}#fleet-list li button{color:var(--text-muted);cursor:pointer;font-size:14px;font-family:var(--font-body);background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:4px 8px;transition:all .15s;display:flex}#fleet-list li button:hover{color:var(--red);background:var(--red-dim);border-color:var(--red-dim)}#fleet-list .sortable-ghost{opacity:.4;background:var(--bg-active);border-color:var(--accent-dim)}#viewport{background:var(--bg-deep);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}#toolbar{height:var(--toolbar-height);zoom:var(--ui-scale);background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:95;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:flex;position:relative}#toolbar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-glow), transparent);height:1px;position:absolute;bottom:-1px;left:0;right:0}.toolbar-group{align-items:center;gap:4px;display:flex}.toolbar-group[hidden]{display:none}.btn-toolbar-menu{background:var(--bg-surface);border:1px solid var(--border);height:30px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 10px;font-size:11px;transition:all .15s;display:flex}.btn-toolbar-menu:hover{border-color:var(--accent-dim);color:var(--accent);background:var(--accent-subtle)}.btn-toolbar-menu .chevron{opacity:.5;flex-shrink:0}.btn-toolbar-menu.active{border-color:var(--accent-dim);color:var(--accent);background:var(--accent-subtle)}.toolbar-dropdown{position:relative}.toolbar-dropdown-panel{background:var(--bg-panel);border:1px solid var(--border);z-index:100;border-radius:6px;flex-direction:column;gap:4px;min-width:160px;margin-top:6px;padding:8px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 32px #00000080}.toolbar-dropdown-panel[hidden]{display:none}.toolbar-dropdown-panel .btn-tool{justify-content:flex-start;width:100%}.toolbar-dropdown-panel .dropdown-row{align-items:center;gap:6px;display:flex}.toolbar-dropdown-panel select{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;border-radius:3px;flex:1;padding:6px 8px;font-size:11px}#toolbar select{background:var(--bg-surface);border:1px solid var(--border);height:30px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23fff' fill='none' stroke-width='1.5' opacity='0.4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:4px;outline:none;padding:0 24px 0 10px;font-size:11px;transition:border-color .2s}#toolbar select:focus{border-color:var(--accent-dim)}.btn-icon{background:var(--bg-surface);border:1px solid var(--border);width:32px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-icon:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent);background:var(--accent-subtle)}.btn-icon:disabled{opacity:.35;cursor:default}.btn-tool{background:var(--bg-surface);border:1px solid var(--border);height:30px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 10px;font-size:11px;transition:all .15s;display:flex}.btn-tool:hover{border-color:var(--accent-dim);color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 12px var(--accent-glow)}.btn-tool:active{transform:scale(.97)}.btn-tool.active{border-color:var(--accent-dim);color:var(--accent);background:var(--accent-subtle)}.btn-tool svg{flex-shrink:0}.btn-danger:hover{border-color:var(--red-dim);color:var(--red);background:#ff446614;box-shadow:0 0 12px #ff446626}#c{touch-action:none;flex:1;width:100%;height:100%;display:block}#viewport-overlay{top:calc(var(--toolbar-height) * var(--ui-scale));pointer-events:none;z-index:1;justify-content:flex-end;align-items:flex-start;gap:8px;padding:12px;display:flex;position:absolute;bottom:0;left:0;right:0}#viewport-overlay>.corner-bracket,#viewport-overlay>#version-tag{pointer-events:none}#viewcube-buttons,#viewcube-container,#btn-viewcube-toggle{pointer-events:auto;z-index:4}.corner-bracket{pointer-events:none;width:24px;height:24px;position:absolute}.corner-bracket:before,.corner-bracket:after{content:"";background:var(--accent-dim);position:absolute}.top-left{top:10px;left:10px}.top-left:before{width:24px;height:1px;top:0;left:0}.top-left:after{width:1px;height:24px;top:0;left:0}.top-right{top:10px;right:10px}.top-right:before{width:24px;height:1px;top:0;right:0}.top-right:after{width:1px;height:24px;top:0;right:0}.bottom-left{bottom:10px;left:10px}.bottom-left:before{width:24px;height:1px;bottom:0;left:0}.bottom-left:after{width:1px;height:24px;bottom:0;left:0}.bottom-right{bottom:10px;right:10px}.bottom-right:before{width:24px;height:1px;bottom:0;right:0}.bottom-right:after{width:1px;height:24px;bottom:0;right:0}#version-tag{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;pointer-events:none;font-size:10px;position:absolute;bottom:16px;right:76px}#viewcube-buttons{-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;margin-top:8px;display:flex}#viewcube-buttons .btn-icon{background:color-mix(in srgb, var(--bg-surface) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:30px;height:30px}#viewcube-container{cursor:pointer;width:120px;height:120px}#viewcube-container canvas{display:block;width:100%!important;height:100%!important}#btn-viewcube-toggle{background:color-mix(in srgb, var(--bg-surface) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#btn-viewcube-toggle[hidden]{display:none}.viewcube-lock-btn{border:1px solid var(--border-accent);background:color-mix(in srgb, var(--bg-surface) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;z-index:5;pointer-events:auto;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;bottom:4px;right:4px}.viewcube-lock-btn:hover{background:color-mix(in srgb, var(--bg-active) 90%, transparent);color:var(--accent);border-color:var(--accent)}.viewcube-lock-btn.active{background:color-mix(in srgb, var(--accent) 20%, var(--bg-surface));color:var(--accent);border-color:var(--accent)}.viewcube-roll-btn{border:1px solid var(--border-accent);background:color-mix(in srgb, var(--bg-surface) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;z-index:5;pointer-events:auto;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;top:4px}.viewcube-roll-btn:hover{background:color-mix(in srgb, var(--bg-active) 90%, transparent);color:var(--accent);border-color:var(--accent)}.viewcube-roll-left{left:4px}.viewcube-roll-right{right:4px}#viewcube-container.pz-active canvas{outline:1px solid var(--accent-dim);outline-offset:-1px}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}#sidebar-header{animation:.3s ease-out fade-in}#ship-picker{animation:.4s ease-out 50ms both fade-in}#fleet-panel{animation:.4s ease-out .1s both fade-in}#toolbar{animation:.3s ease-out .15s both fade-in}.corner-bracket{animation:.5s ease-out .3s both fade-in}::selection{background:var(--accent-dim);color:var(--text-bright)}.settings-popover{width:280px;max-height:calc(100dvh / var(--ui-scale) - var(--toolbar-height) - 24px);background:var(--bg-panel);border:1px solid var(--border);z-index:100;border-radius:6px;margin-top:8px;padding:16px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.settings-popover[hidden]{display:none}.settings-section{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section-title{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px;font-size:10px;font-weight:600}.settings-row{margin-bottom:10px}.settings-row:last-child{margin-bottom:0}.settings-row-header{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;display:flex}.settings-row-header .settings-value{font-family:var(--font-mono);color:var(--accent);font-size:11px}.settings-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.settings-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg-panel);cursor:pointer;border-radius:50%;width:14px;height:14px}.settings-btn-group{gap:4px;display:flex}.settings-btn{min-width:0;font-size:10px;font-family:var(--font-body);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:4px 10px;transition:all .15s}.settings-btn.active{background:var(--accent-subtle);border-color:var(--accent-dim);color:var(--accent)}.settings-btn:hover:not(.active){border-color:var(--border-accent);color:var(--text-primary)}.settings-check{cursor:pointer;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.settings-checkbox{border:1px solid var(--border);background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;transition:all .15s;display:flex}.settings-checkbox.checked{border-color:var(--accent-dim);background:var(--accent-glow)}.settings-checkbox.checked:after{content:"";background:var(--accent);border-radius:1px;width:6px;height:6px}.facing-btn{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.facing-btn.active{border-color:var(--accent-dim);color:var(--accent);background:var(--accent-subtle)}#detail-panel{display:none!important}.detail-tag{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:9px}#ship-popup{z-index:10;zoom:var(--ui-scale);background:color-mix(in srgb, var(--bg-panel) 90%, transparent);border:1px solid var(--accent-glow);font-family:var(--font-mono);color:var(--text-primary);white-space:normal;pointer-events:auto;box-sizing:border-box;border-radius:4px;width:270px;padding:10px 14px;position:absolute}#ship-popup[hidden]{display:none}.session-conflict{z-index:20;background:color-mix(in srgb, var(--bg-panel) 95%, transparent);border:1px solid var(--accent-glow);font-family:var(--font-mono);color:var(--text-primary);text-align:center;border-radius:4px;max-width:500px;padding:20px 28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.session-conflict[hidden]{display:none}.session-conflict p{margin:0 0 16px;font-size:13px;line-height:1.5}.session-conflict-buttons{justify-content:center;gap:8px;display:flex}.session-conflict-buttons button{border:1px solid var(--accent-dim);color:var(--accent-glow);font-family:var(--font-mono);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:6px 18px;font-size:12px}.session-conflict-buttons button:hover{border-color:var(--accent-glow);background:#00ffff1a}#layout-warning{z-index:20;background:color-mix(in srgb, var(--bg-panel) 95%, transparent);border:1px solid var(--accent-glow);font-family:var(--font-mono);color:var(--text-primary);text-align:center;border-radius:4px;max-width:360px;padding:20px 28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#layout-warning[hidden]{display:none}#layout-warning p{margin:0 0 16px;font-size:13px;line-height:1.5}#layout-warning-ok{border:1px solid var(--accent-dim);color:var(--accent-glow);font-family:var(--font-mono);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:6px 24px;font-size:12px}#layout-warning-ok:hover{border-color:var(--accent-glow);background:#00ffff1a}.confirm-modal{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[hidden]{display:none}.confirm-modal-content{background:var(--panel-bg,#1a1a2e);border:1px solid var(--border-color,#333);text-align:center;max-width:400px;color:var(--text-color,#e0e0e0);border-radius:8px;padding:1.5rem}.confirm-modal-buttons{justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.shortcuts-panel{right:4px;top:calc(var(--toolbar-height) + 16px);background:var(--bg-panel);border:1px solid var(--border);z-index:100;min-width:260px;color:var(--text-bright);pointer-events:auto;border-radius:6px;padding:16px;position:fixed;box-shadow:0 8px 32px #00000080}.shortcuts-panel[hidden]{display:none}.shortcuts-panel-header{border-bottom:1px solid var(--border);color:var(--text-bright);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:.85rem;font-weight:600;display:flex}.shortcuts-panel-header .btn-icon{padding:0 4px;font-size:1.1rem;line-height:1}.shortcuts-table{border-collapse:collapse;width:100%;font-size:.78rem}.shortcuts-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--border);padding:.5rem 0 .2rem;font-size:.7rem}.shortcuts-table td{color:var(--text-mid);padding:.25rem 0}.shortcuts-table td:first-child{white-space:nowrap;padding-right:1rem}.shortcuts-table kbd{background:var(--border-accent);border:1px solid var(--border);color:var(--text-bright);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:.75rem;display:inline-block}#marquee-overlay{pointer-events:none;z-index:10;background:#3d7ca633;border:1px solid #3d7ca6;position:fixed}#marquee-overlay[hidden]{display:none}.popup-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.popup-name{font-family:var(--font-display);color:var(--text-bright);font-size:15px;font-weight:600}.popup-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;transition:color .15s}.popup-close:hover{color:var(--text-primary)}.popup-mfr{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-size:9px}.popup-tags{gap:4px;margin:6px 0;display:flex}.popup-title-row{margin-bottom:6px}.popup-title-toggle{cursor:pointer;align-items:center;gap:6px;display:flex}.popup-title-toggle input{accent-color:#e6c88c}.popup-title-text{color:#e6c88c;font-size:11px;font-style:italic}.popup-roles{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.popup-role-tag{font-family:var(--font-mono);letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border);border-radius:2px;padding:1px 6px;font-size:9px}.popup-stats{flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:11px;display:flex}.popup-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-right:2px;font-size:9px}.popup-stats .unit{color:var(--text-muted);font-size:9px}.popup-animations{flex-direction:column;gap:6px;margin-top:6px;display:flex}.popup-overrides{border-top:1px solid var(--border-accent,#1e3050);flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;display:flex}.popup-override-row{align-items:center;gap:8px;font-size:11px;display:flex}.popup-override-label{font-family:var(--font-mono,monospace);letter-spacing:.3px;text-transform:uppercase;color:var(--text-secondary,#6b7fa3);min-width:56px;font-size:10px}.popup-override-mat{background:var(--bg-active,#1a2340);color:var(--text-primary,#fff);border:1px solid var(--border-accent,#1e3050);border-radius:3px;flex:1;padding:2px 4px;font-size:11px}.popup-override-bars label{cursor:pointer;align-items:center;gap:3px;display:inline-flex}.popup-anim-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.popup-anim-name{font-family:var(--font-mono);letter-spacing:.3px;color:var(--text-muted);white-space:nowrap;font-size:10px}.popup-anim-toggle{border:1px solid var(--accent);border-radius:3px;display:inline-flex;overflow:hidden}.popup-anim-state{font-family:var(--font-mono);letter-spacing:.3px;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:3px 8px;font-size:10px;transition:background .15s,color .15s}.popup-anim-state+.popup-anim-state{border-left:1px solid var(--accent)}.popup-anim-state.active{background:var(--accent);color:var(--bg)}.popup-anim-state:hover:not(.active){background:color-mix(in srgb, var(--accent) 20%, transparent)}#fleet-summary{border-top:1px solid var(--border);flex-shrink:0;padding:10px 16px}.summary-label{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:600}.summary-grid{text-align:center;grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.summary-value{font-size:14px;font-family:var(--font-mono);color:var(--accent);display:block}.summary-crew{color:var(--secondary)}.summary-cargo{color:var(--green)}.summary-unit{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:8px}#hover-tooltip{pointer-events:none;z-index:20;background:color-mix(in srgb, var(--bg-panel) 92%, transparent);border:1px solid var(--accent-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;border-radius:4px;padding:8px 12px;position:absolute}#hover-tooltip[hidden]{display:none}#hover-tooltip .tooltip-name{color:var(--text-bright);font-size:12px;font-weight:500}#hover-tooltip .tooltip-info{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.5px;margin-top:2px;font-size:9px}.perf-stats{top:calc(var(--toolbar-height) + 12px);z-index:25;background:color-mix(in srgb, var(--bg-panel) 85%, transparent);border:1px solid var(--accent-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);color:var(--text-secondary);pointer-events:none;border-radius:4px;padding:10px 14px;font-size:11px;line-height:1.6;position:absolute;left:12px}.perf-stats div:first-child{color:var(--text-bright);font-size:13px;font-weight:500}.perf-stats[hidden]{display:none}.dev-options{border-top:1px solid var(--accent-glow);pointer-events:auto;margin-top:8px;padding-top:8px}.dev-options[hidden]{display:none}.dev-options-title{color:var(--text-bright);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.dev-option-row{color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.dev-option-row input[type=range]{height:4px;accent-color:var(--accent-glow);flex:1}.dev-option-row span:last-child{text-align:center;min-width:12px;color:var(--text-bright)}#label-overlay{inset:var(--toolbar-height) 0 0 0;pointer-events:none;z-index:3;position:absolute;overflow:hidden}#annotation-overlay{inset:var(--toolbar-height) 0 0 0;pointer-events:none;z-index:5;position:absolute;overflow:hidden}.annotation{pointer-events:auto;-webkit-user-select:none;user-select:none;cursor:move;font-family:var(--font-display,"Rajdhani", sans-serif);color:#fff;text-shadow:0 1px 2px #000c,0 0 4px #0009;white-space:nowrap;border:1px solid #0000;border-radius:2px;outline:none;padding:2px 4px;font-size:16px;font-weight:600;line-height:1.2;position:absolute}.annotation:hover{border-color:#ffffff40}.annotation.selected{border-color:var(--accent,#00d4ff);box-shadow:0 0 0 1px #00d4ff59}.annotation.dragging{opacity:.85}.annotation.editing{cursor:text;border-color:var(--accent,#00d4ff)}.annotation .annotation-input{font:inherit;color:inherit;border:1px solid var(--accent,#00d4ff);background:#0009;border-radius:2px;outline:none;min-width:60px;margin:0;padding:0 2px}.btn-add-annotation{background:var(--bg-surface);width:100%;color:var(--text-secondary);border:1px solid var(--border);font-family:var(--font-body,sans-serif);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.btn-add-annotation:hover{background:var(--bg-elev,#ffffff0d);color:var(--text-bright);border-color:var(--accent-dim,var(--accent))}.annotation-anchor-controls{pointer-events:auto;align-items:center;gap:4px;margin-top:4px;display:flex}.annotation-anchor-select{font-family:var(--font-body,sans-serif);color:var(--text-secondary,#ccc);cursor:pointer;background:#000000bf;border:1px solid #fff3;border-radius:2px;outline:none;max-width:120px;padding:2px 4px;font-size:10px}.annotation-anchor-select:focus{border-color:var(--accent,#00d4ff)}.annotation-eyedropper-btn{color:var(--text-secondary,#ccc);cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:2px;justify-content:center;align-items:center;padding:2px 4px;line-height:1;display:flex}.annotation-eyedropper-btn:hover{border-color:var(--accent,#00d4ff);color:var(--accent,#00d4ff);background:#00d4ff26}.annotation.annotation-invalid{opacity:.4;filter:grayscale(.6)}.annotation-svg-layer{pointer-events:none;z-index:5}.annotation-svg-group{pointer-events:none}.annotation-svg-group .ann-ep-handle,.annotation-svg-group .ann-rhandle,.annotation-svg-group .ann-chandle,.annotation-svg-group .ann-callout-leader-handle{pointer-events:all;opacity:0;transition:opacity .15s}.annotation-svg-group.selected .ann-ep-handle,.annotation-svg-group.selected .ann-rhandle,.annotation-svg-group.selected .ann-chandle,.annotation-svg-group.selected .ann-callout-leader-handle{opacity:1}.annotation-svg-group.selected .ann-line-body,.annotation-svg-group.selected .ann-rect-full,.annotation-svg-group.selected .ann-callout-box{filter:drop-shadow(0 0 3px #00d4ff99)}.annotation.annotation-callout{text-align:center;pointer-events:auto;cursor:move;box-sizing:border-box;z-index:6;background:0 0;border:1px solid #fff6;border-radius:2px;justify-content:center;align-items:center;min-width:60px;min-height:24px;padding:4px 6px;display:flex;overflow:hidden}.annotation.annotation-callout.selected{border-color:var(--accent,#00d4ff);box-shadow:0 0 0 1px #00d4ff59}.annotation-callout-text{pointer-events:none;white-space:pre-wrap;word-break:break-word}.annotation-style-panel{z-index:20;background:var(--bg-panel,#10141cf5);border:1px solid var(--border,#ffffff1a);pointer-events:auto;font-family:var(--font-body,sans-serif);color:var(--text-secondary,#fff9);border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:300px;padding:6px 8px;font-size:11px;display:flex;position:absolute;box-shadow:0 2px 8px #00000080}.asp-label{cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.asp-color{border:1px solid var(--border,#ffffff26);background:var(--bg-surface,#ffffff0d);cursor:pointer;vertical-align:middle;border-radius:2px;width:22px;height:18px;padding:0}.asp-select{background:var(--bg-surface,#ffffff0d);border:1px solid var(--border,#ffffff26);color:var(--text-secondary,#fff9);font-family:var(--font-body,sans-serif);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 opacity=%220.4%22 stroke-width=%222%22><polyline points=%226 9 12 15 18 9%22/></svg>");background-position:right 2px center;background-repeat:no-repeat;border-radius:2px;padding:2px 16px 2px 4px;font-size:11px}.annotation-handles-bbox{border:1px dashed var(--accent,#00d4ff);box-sizing:border-box}.annotation-handle{border:1px solid var(--accent,#00d4ff);box-sizing:border-box;background:#fff;width:8px;height:8px;margin-top:-4px;margin-left:-4px}.annotation-handle-nw{cursor:nwse-resize;top:0;left:0}.annotation-handle-n{cursor:ns-resize;top:0;left:50%}.annotation-handle-ne{cursor:nesw-resize;top:0;left:100%}.annotation-handle-e{cursor:ew-resize;top:50%;left:100%}.annotation-handle-se{cursor:nwse-resize;top:100%;left:100%}.annotation-handle-s{cursor:ns-resize;top:100%;left:50%}.annotation-handle-sw{cursor:nesw-resize;top:100%;left:0}.annotation-handle-w{cursor:ew-resize;top:50%;left:0}.annotation-snap-guide{background:var(--accent,#00d4ff);opacity:.85}.annotation-snap-guide-x{width:1px}.annotation-snap-guide-y{height:1px}.annotation-context-menu{background:var(--bg-panel,#1a1f2a);border:1px solid var(--border,#303540);min-width:180px;font-family:var(--font-body,sans-serif);-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 0;font-size:12px;box-shadow:0 4px 18px #00000073}.annotation-context-menu-item{text-align:left;width:100%;color:var(--text,#cfd6e0);cursor:pointer;background:0 0;border:0;padding:6px 14px;display:block}.annotation-context-menu-item:hover{background:var(--accent-glow,#00d4ff2e);color:var(--text-bright,#fff)}.annotation-context-menu-sep{background:var(--border,#303540);height:1px;margin:4px 0}.hud-label{background:color-mix(in srgb, var(--bg-panel) 75%, transparent);border:1px solid var(--accent-glow);font-family:var(--font-mono);color:var(--accent);white-space:nowrap;border-radius:3px;padding:3px 8px;font-size:10px;transition:opacity .2s;position:absolute;transform:translate(-50%,-100%)}.hud-label .label-name{color:var(--text-bright);font-size:11px}.hud-label .label-title{color:#e6c88c;margin-top:1px;font-size:10px;font-style:italic}.hud-label .label-stats{color:var(--text-secondary);margin-top:1px;font-size:9px}.settings-color-row{justify-content:space-between;align-items:center;margin-top:6px;font-size:12px;transition:opacity .15s;display:flex}#crop-overlay{z-index:9999;cursor:crosshair;background:#0000004d;position:fixed;inset:0}.crop-instructions{font-family:var(--font-body);color:var(--text-secondary);background:color-mix(in srgb, var(--bg-panel) 85%, transparent);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:4px;padding:6px 14px;font-size:12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.crop-selection{border:2px solid var(--accent);pointer-events:auto;cursor:move;background:#00d4ff0d;display:none;position:absolute;box-shadow:0 0 0 9999px #00000059}.crop-size-label{color:#fff;pointer-events:none;white-space:nowrap;z-index:3;font-variant-numeric:tabular-nums;background:#0000008c;border-radius:3px;padding:3px 6px;font-size:11px;line-height:1;position:absolute;top:4px;left:6px}.crop-handle{pointer-events:auto;z-index:2;position:absolute}.crop-handle-n,.crop-handle-s{cursor:ns-resize;height:10px;left:12px;right:12px}.crop-handle-n{top:-5px}.crop-handle-s{bottom:-5px}.crop-handle-e,.crop-handle-w{cursor:ew-resize;width:10px;top:12px;bottom:12px}.crop-handle-e{right:-5px}.crop-handle-w{left:-5px}.crop-handle-nw,.crop-handle-ne,.crop-handle-sw,.crop-handle-se{background:var(--accent);border:1px solid #0000004d;border-radius:2px;width:12px;height:12px}.crop-handle-nw{cursor:nwse-resize;top:-6px;left:-6px}.crop-handle-ne{cursor:nesw-resize;top:-6px;right:-6px}.crop-handle-sw{cursor:nesw-resize;bottom:-6px;left:-6px}.crop-handle-se{cursor:nwse-resize;bottom:-6px;right:-6px}.crop-actions{background:color-mix(in srgb, var(--bg-panel) 90%, transparent);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;gap:8px;max-width:calc(100% - 20px);padding:8px 12px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.crop-actions[hidden]{display:none}.crop-select{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;border-radius:4px;outline:none;padding:5px 8px;font-size:11px}.crop-check{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.crop-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.crop-more-wrap{display:none;position:relative}.crop-more-panel{background:color-mix(in srgb, var(--bg-panel) 95%, transparent);border:1px solid var(--border);white-space:nowrap;border-radius:6px;flex-direction:column;gap:8px;padding:10px 14px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.crop-more-panel[hidden]{display:none}#crop-more.active svg{transform:rotate(180deg)}.crop-icon{display:none}body.compact .crop-actions{bottom:max(40px, calc(16px + env(safe-area-inset-bottom,0px)));align-items:center;gap:6px;padding:8px 10px}body.compact .crop-actions .btn-tool{justify-content:center}body.compact .crop-actions .crop-select{flex:1 1 0;min-width:0}body.compact .crop-actions #crop-copy,body.compact .crop-check-desktop{display:none}body.compact .crop-more-wrap{display:block}body.compact .crop-icon{display:inline}body.compact .crop-label{display:none}.crop-watermark{opacity:.6;pointer-events:none;align-items:flex-end;height:8%;min-height:16px;display:flex;position:absolute;bottom:2%;right:2%}.crop-watermark-text{letter-spacing:2px;white-space:nowrap;font-weight:700;line-height:1}.crop-watermark-gg{font-size:.7em}#sidebar-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-shrink:0;padding:10px 16px;font-size:9px;line-height:1.5}#sidebar-footer p{margin-bottom:4px}#sidebar-footer p:last-child{margin-bottom:0}#sidebar-footer a{color:var(--text-secondary);text-decoration:none;transition:color .15s}#sidebar-footer a:hover{color:var(--accent)}.attributions-toggle{cursor:pointer;color:var(--text-secondary);border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;font-size:10px;display:flex}.attributions-toggle:hover{color:var(--accent)}.attributions-arrow{flex-shrink:0;transition:transform .15s}.attributions-toggle.open .attributions-arrow{transform:rotate(180deg)}.attributions-content{padding:2px 0 4px 14px}.attributions-content p{margin-bottom:3px}.footer-copy{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:6px;padding-top:6px;font-size:10px}body.compact #sidebar-col{zoom:1}body.compact #toolbar{zoom:1;padding-left:calc(var(--toolbar-height) + 6px)}body.compact #ship-popup,body.compact .edit-panel{zoom:1}body.compact .settings-popover{max-height:calc(100dvh - var(--toolbar-height) - 24px)}body.compact .settings-scale-row{display:none}body.compact [data-compact-hide]{display:none!important}body.compact .toolbar-btn-label,body.compact .btn-toolbar-menu .chevron{display:none}body.compact .btn-toolbar-menu{justify-content:center;width:32px;height:30px;padding:0}body.compact #viewcube-buttons,body.compact #viewcube-container{display:none}body.compact #btn-viewcube-toggle{display:flex}body.compact #viewport-overlay{top:var(--toolbar-height)}body.compact #viewport-overlay.expanded #viewcube-buttons,body.compact #viewport-overlay.expanded #viewcube-container{display:flex}.sidebar-toggle{z-index:11;background:var(--bg-panel);border:1px solid var(--border);width:14px;height:32px;color:var(--text-muted);cursor:pointer;border-left:none;border-radius:0 4px 4px 0;justify-content:center;align-items:center;padding:0;transition:color .15s;display:none;position:fixed;top:50%;left:0;transform:translateY(-50%)}.sidebar-toggle:hover{color:var(--accent)}.sidebar-toggle svg{transition:transform .25s}body.compact .sidebar-toggle{display:flex}body.compact #sidebar-col{background:0 0;border-right:none;width:0;overflow:visible}body.compact #sidebar-col:after,body.compact .logo-text{display:none}body.compact #sidebar-header{width:var(--toolbar-height);height:var(--toolbar-height);background:var(--bg-panel);border-bottom:1px solid var(--border);border-right:1px solid var(--border);z-index:101;justify-content:center;padding:0;position:fixed;top:0;left:0}body.compact #sidebar-header:after,#toolbar-logo{display:none}body.compact #toolbar-logo{width:var(--toolbar-height);height:var(--toolbar-height);background:var(--bg-panel);border-bottom:1px solid var(--border);border-right:1px solid var(--border);z-index:101;justify-content:center;display:flex;position:fixed;top:0;left:0}body.compact #sidebar-col.sidebar-open~#viewport #toolbar-logo,body.compact #sidebar{display:none}body.compact .sidebar-toggle{position:fixed;top:50%;left:0;right:auto}.sidebar-toggle-hint{white-space:nowrap;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border);pointer-events:none;opacity:1;border-radius:5px;padding:5px 12px;font-size:13px;transition:opacity 1.5s;display:none;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.sidebar-toggle-hint:before{content:"";border:5px solid #0000;border-right-color:var(--border);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.sidebar-toggle-hint:after{content:"";border:5px solid #0000;border-right-color:var(--bg-panel);margin-right:-1px;position:absolute;top:50%;right:100%;transform:translateY(-50%)}body.compact .sidebar-toggle-hint{display:block}body.compact .sidebar-toggle[aria-expanded=true] .sidebar-toggle-hint{display:none}.sidebar-toggle-hint.fading{opacity:0;transition:opacity 2s 3s}.sidebar-toggle-hint.dismissed{display:none!important}body.compact #sidebar-col.sidebar-open{width:var(--sidebar-width);z-index:100;background:var(--bg-panel);border-right:1px solid var(--border);position:fixed;top:0;bottom:0;left:0}body.compact #sidebar-col.sidebar-open #sidebar-header{width:auto;height:var(--toolbar-height);border-right:none;justify-content:flex-start;padding:0 20px;position:static}body.compact #sidebar-col.sidebar-open #sidebar-header:after{display:block}body.compact #sidebar-col.sidebar-open .logo-text{display:inline}body.compact #sidebar-col.sidebar-open #sidebar{display:flex}body.compact .sidebar-toggle[aria-expanded=true]{left:calc(var(--sidebar-width) - 14px);position:fixed}body.compact .sidebar-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.sidebar-backdrop{z-index:99;background:#00000080;display:none;position:fixed;inset:0}body.compact .sidebar-backdrop.active{display:block}#btn-pegman{cursor:grab;z-index:20;pointer-events:auto;background:color-mix(in srgb, var(--bg-surface) 80%, transparent);border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex;position:absolute;bottom:16px;right:16px}#btn-pegman:hover{background:color-mix(in srgb, var(--bg-hover) 90%, transparent);border-color:var(--accent-dim);color:var(--accent)}#btn-pegman:active{cursor:grabbing}#btn-freefly.active{background:var(--accent-glow);border-color:var(--accent-dim)}.camera-mode-hint{color:#ccc;pointer-events:none;z-index:10000;opacity:1;background:#000000b3;border-radius:6px;padding:8px 16px;font-size:13px;transition:opacity .5s;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.camera-mode-hint.fade-out{opacity:0}.fp-loading-box{color:#ddd;text-align:center;z-index:10001;pointer-events:none;background:#000000d9;border-radius:10px;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;font-size:15px;line-height:1.6;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 24px #00000080}.fp-loading-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite fp-spin}@keyframes fp-spin{to{transform:rotate(360deg)}}#btn-edit-mode.active{background:var(--accent-glow);border-color:var(--accent-dim);color:var(--accent)}.edit-panel{background:var(--bg-panel);border-left:1px solid var(--border);zoom:var(--ui-scale);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.edit-panel[hidden]{display:none}.edit-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.edit-panel-title{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--text-bright);font-size:12px;font-weight:600}.edit-panel-header .btn-icon{padding:0 4px;font-size:1.1rem;line-height:1}.edit-panel-content{flex:1;padding:0;overflow-y:auto}.edit-section{border-bottom:1px solid var(--border)}.edit-section:last-child{border-bottom:none}.edit-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;transition:background .15s;display:flex}.edit-section-header:hover{background:var(--bg-surface)}.edit-section-title{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:600}.edit-section-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.edit-section.open .edit-section-arrow{transform:rotate(90deg)}.edit-section-body{padding:0 16px 14px}body.compact #btn-edit-mode{display:none}#scene-tree-panel{flex-direction:column;flex:auto;min-height:0;display:flex}#scene-tree-panel[hidden]{display:none!important}.scene-tree-header{justify-content:space-between;align-items:center;display:flex}.scene-tree-add{border:1px solid var(--border,#333);color:inherit;cursor:pointer;background:0 0;border-radius:3px;width:22px;height:22px;font-size:16px;line-height:1}.scene-tree-add:hover{background:var(--accent-subtle,#00d4ff26);border-color:var(--accent,#00d4ff)}.scene-tree-list{flex:auto;padding:4px 0;overflow-y:auto}.scene-tree-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-left:2px solid #0000;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-size:12px;display:flex;position:relative}.scene-tree-row:hover{background:#ffffff0a}.scene-tree-row.selected{background:var(--accent-subtle,#00d4ff26);border-left-color:var(--accent,#00d4ff)}.scene-tree-row.dragging{opacity:.5}.scene-tree-row.drop-target.drop-into{outline:1px solid var(--accent,#00d4ff);outline-offset:-1px}.scene-tree-row.drop-target.drop-before:before{content:"";background:var(--accent,#00d4ff);height:2px;position:absolute;top:-1px;left:0;right:0}.scene-tree-icon{width:14px;height:14px;color:var(--text-muted,#888);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.scene-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scene-tree-toggle{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;width:18px;height:18px;padding:0;font-size:11px;line-height:1}.scene-tree-toggle:hover{color:inherit;background:#ffffff14}.scene-tree-children{border-left:1px dotted #ffffff14;min-height:4px;margin-left:10px}.scene-tree-children.drop-target{background:var(--accent-subtle,#00d4ff14)}.annotation.locked{cursor:not-allowed}#annotation-prop-panel{background:var(--bg-panel);border:1px solid var(--border-accent);z-index:200;pointer-events:all;min-width:260px;max-width:360px;font-family:var(--font-body);color:var(--text-secondary);border-radius:6px;padding:10px 14px;font-size:12px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.ann-prop-header{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:600}.ann-prop-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ann-prop-row:last-child{margin-bottom:0}.ann-prop-label{color:var(--text-secondary);flex:0 0 40px;font-size:11px}.ann-prop-ctrl{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.ann-prop-select{background:var(--bg-surface);border:1px solid var(--border);min-width:0;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 opacity=%220.4%22 stroke-width=%222%22><polyline points=%226 9 12 15 18 9%22/></svg>");background-position:right 4px center;background-repeat:no-repeat;border-radius:3px;flex:1;padding:4px 20px 4px 6px;font-size:11px}.ann-prop-color-input{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;border-radius:3px;flex-shrink:0;width:28px;height:22px;padding:0}.ann-prop-swatches{flex-wrap:wrap;flex:1;gap:3px;display:flex}.ann-prop-swatch{cursor:pointer;border:1px solid #ffffff26;border-radius:2px;flex-shrink:0;width:18px;height:18px;padding:0;transition:transform .1s,border-color .1s}.ann-prop-swatch:hover{border-color:#ffffff80;transform:scale(1.15)}.ann-prop-reset{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:13px;line-height:1;transition:color .1s,border-color .1s}.ann-prop-reset:hover{color:var(--text-secondary);border-color:var(--accent-dim)}body.compact .annotation,body.compact .annotation-svg-group{pointer-events:none!important}body.compact .btn-add-annotation,body.compact .annotation-style-panel,body.compact .annotation-anchor-controls,body.compact #annotation-databound-slot,body.compact #annotation-prop-panel,body.compact #scene-tree-panel{display:none!important}body.phone #btn-edit-mode{display:none}body.phone #crop-overlay{display:none!important}body.compact .btn-tool,body.compact .btn-toolbar-menu,body.compact .btn-icon{min-width:48px;min-height:48px}body.compact .stepper-btn{min-width:28px;min-height:28px;font-size:14px}body.compact .stepper,body.compact .stepper-val{height:28px}body.compact #ship-list .ship-row,body.compact .mfr-group-header,body.compact #fleet-list li{min-height:48px}body.compact #fleet-list li button{min-width:48px;min-height:48px}#fleet-list .sortable-drag{background:var(--bg-hover);z-index:10;transition:box-shadow .2s,transform .2s;transform:translate(4px);box-shadow:0 4px 16px #0006}body.compact .toolbar-dropdown-panel .btn-tool{min-width:48px;min-height:48px}body.compact #filter-controls select,body.compact .toolbar-dropdown-panel select,body.compact .settings-btn{min-height:48px}body.compact .popup-anim-state,body.compact .popup-close,body.compact .facing-btn,body.compact .sidebar-toggle,body.compact #btn-pegman,body.compact #viewcube-buttons .btn-icon{min-width:48px;min-height:48px}body.compact .fleet-clear-btn{justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:0;font-size:14px;display:flex}body.compact .session-conflict-buttons button,body.compact #layout-warning-ok,body.compact .crop-select{min-height:48px}body.compact .settings-checkbox,body.compact .shortcuts-panel .btn-icon{min-width:48px;min-height:48px}body.compact .confirm-modal-buttons button,body.compact #ship-search{min-height:48px}body.compact .ko-fi-toolbar-link,body.compact .reddit-toolbar-link{justify-content:center;min-width:48px;min-height:48px;padding:0}body.compact .attributions-toggle{min-height:48px}body.phone #sidebar-col{z-index:100;flex-direction:column;width:100vw;height:max(100dvh,100vh);transition:transform .2s ease-out;display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-100%)}body.phone #sidebar-col.sidebar-open{transform:translate(0)}body.phone #sidebar-col #sidebar{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}html.phone-sidebar-open,body.phone.phone-sidebar-open{overflow:hidden}body.phone #viewport{flex-direction:column-reverse}body.phone .sidebar-toggle{top:auto;left:0;bottom:calc(var(--toolbar-height) + 10px);z-index:60;position:fixed;transform:none;display:flex!important}body.phone .sidebar-toggle[aria-expanded=true]{top:10px;left:auto;right:10px;transform:none}body.phone #toolbar{border-top:1px solid var(--border);border-bottom:none;padding-right:0}body.phone #toolbar:after{top:-1px;bottom:auto}body.phone #viewport-overlay{top:0;bottom:var(--toolbar-height)}body.phone #btn-pegman{display:none}body.phone #btn-viewcube-toggle{display:flex;position:absolute;bottom:10px;right:0}body.phone .corner-bracket.bottom-left,body.phone .corner-bracket.bottom-right{display:none}body.phone #viewport-overlay.expanded #viewcube-container{position:absolute;bottom:48px;right:12px}body.phone #viewport-overlay.expanded #viewcube-buttons{position:absolute;bottom:48px;right:132px}body.phone #btn-undo,body.phone #btn-redo{display:none}body.phone #label-overlay{inset:0 0 var(--toolbar-height) 0}body.phone #perf-stats{top:auto;bottom:calc(var(--toolbar-height) + 12px)}body.phone #btn-pegman{bottom:calc(var(--toolbar-height) + 16px)}body.phone #version-tag{white-space:nowrap;bottom:10px;right:50px}body.phone .toolbar-dropdown-panel{margin-top:0;margin-bottom:6px;top:auto;bottom:100%}body.phone .settings-popover{max-height:calc(100dvh - var(--toolbar-height) - 24px);margin-top:0;margin-bottom:8px;top:auto;bottom:100%}body.phone .shortcuts-panel{top:auto;bottom:calc(var(--toolbar-height) + 16px)}body.phone #btn-shortcuts{display:none}body.phone #ship-popup{zoom:1;-webkit-overflow-scrolling:touch;z-index:100;box-sizing:border-box;white-space:normal;border-bottom:none;border-left:none;border-right:none;border-radius:12px 12px 0 0;width:100%;max-width:none;max-height:60vh;padding:16px 14px 24px;transition:transform .2s ease-out;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%)}body.phone #ship-popup:not([hidden]){transform:translateY(0)}body.phone #ship-popup[hidden]{pointer-events:none;transform:translateY(100%);display:block!important}body.phone #ship-popup:before{content:"";background:var(--text-muted);opacity:.6;border-radius:2px;width:40px;height:4px;display:block;position:absolute;top:8px;left:50%;transform:translate(-50%)}body.phone #ship-popup .popup-header{padding-top:12px}body.phone #ship-popup .popup-stats{flex-direction:column;gap:4px}body.phone #ship-popup .popup-animations{gap:8px}body.phone .ko-fi-toolbar-link,body.phone .reddit-toolbar-link{justify-content:center;min-width:48px;min-height:48px;padding:0}body.phone #ship-picker .panel-header,body.phone #ship-picker #filter-controls,body.phone #ship-picker #ship-list{display:none}body.phone #ship-picker{border-bottom:none;flex:none;min-height:0;padding-bottom:0}body.phone #ship-picker .search-wrap{margin:8px 16px}body.phone #fleet-panel{flex-direction:column;flex:auto;min-height:0;max-height:none;display:flex}body.phone #fleet-panel #fleet-list{-webkit-overflow-scrolling:touch;flex:auto;overflow-y:auto}body.phone #fleet-summary{flex-shrink:0}body.phone #fleet-panel .panel-header{border-top:none;padding:6px 14px 6px 18px}body.phone #fleet-panel .fleet-clear-btn{height:24px;min-height:0;padding:0 8px;font-size:11px;line-height:22px}body.phone #sidebar-footer{flex-shrink:0;margin-top:auto;padding:4px 12px 6px;font-size:9px;line-height:1.25}body.phone #sidebar-footer p{margin-bottom:1px}body.phone #sidebar-footer .footer-copy{margin-top:2px}body.phone #sidebar-footer .attributions-toggle{min-height:0;margin-top:4px;padding-top:4px;padding-bottom:0;font-size:9px;line-height:1.5}body.phone #sidebar-footer .attributions-content{padding:2px 0 2px 10px;font-size:9px;line-height:1.25}body.phone #sidebar-footer .attributions-content p{margin-bottom:1px}html.search-overlay-open body.phone .sidebar-toggle,body.phone.search-overlay-open .sidebar-toggle{display:none!important}body.phone #sidebar-col{height:100dvh}body.phone .sidebar-toggle[aria-expanded=true]{top:auto;left:auto;right:0;bottom:calc(var(--toolbar-height) + 10px);z-index:110;border-left:1px solid var(--border);border-right:none;border-radius:4px 0 0 4px}body.phone #ship-popup .popup-anim-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;align-items:stretch;gap:4px;padding:8px 10px}body.phone #ship-popup .popup-anim-name{color:var(--text-primary);letter-spacing:.4px;font-size:12px}body.phone #ship-popup .popup-anim-toggle{width:100%}body.phone #ship-popup .popup-anim-state{flex:1;min-height:36px;padding:8px 10px;font-size:12px}.popup-focus{border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-mono);letter-spacing:.4px;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;margin-left:auto;margin-right:6px;padding:4px 8px;font-size:11px;transition:background .15s,color .15s;display:inline-flex}.popup-focus:hover{background:var(--accent-subtle)}body.phone #ship-popup .popup-close{display:none}body.phone #ship-popup .popup-focus{margin-right:0;padding:6px 12px;font-size:12px}
