:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text-body);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;min-height:100svh}a{color:var(--color-accent)}a:hover{color:var(--color-accent-bright)}button:focus-visible,a:focus-visible{outline:2px solid var(--color-text-bright);outline-offset:2px}.ripple-span{pointer-events:none;z-index:5;background:#ffffff73;border-radius:50%;position:absolute;transform:scale(0)}:root{--color-bg-page:#0b0f14;--color-bg-panel:#10161e;--color-bg-header:#131a22;--color-bg-surface:#1a212b;--color-bg-selected:#22271c;--color-bg-section-nav:#0e141b;--color-border:#2c3644;--color-border-strong:#3d4a5c;--color-text-primary:#e6e6e6;--color-text-body:#cfd8e3;--color-text-muted:#8fa3bf;--color-text-dim:#9aa8ba;--color-text-faint:#7e8fa3;--color-text-bright:#fff;--color-text-on-accent:#14181f;--color-accent:#d4af37;--color-accent-bright:#f0c94a;--color-accent-bg:#6b5a1a;--color-warning-text:#e0a030;--color-warning-border:#6b4e2c;--color-warning-bg:#2a2014;--color-danger-text:#f0a8ae;--color-danger-border:#6b2c33;--color-danger-bg:#2a1418;--color-path-engineering:#c9a227;--color-path-science:#3b7fd4;--color-path-tactical:#c0392b;--color-path-neutral:#444}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-block{background:linear-gradient(90deg, var(--color-bg-surface) 25%, var(--color-border-strong) 50%, var(--color-bg-surface) 75%);background-size:200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes shake-error{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.shake-on-error{animation:.4s shake-error}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-loading-fallback{text-align:center;color:var(--color-text-dim);padding:48px 24px}.section-error-boundary{text-align:center;padding:48px 24px}.section-error-boundary-text{color:var(--color-text-dim);margin:0 0 16px}.section-error-boundary-actions{justify-content:center;gap:12px;display:flex}.section-error-boundary-actions button{border:1px solid var(--color-border);color:var(--color-text-body);cursor:pointer;background:0 0;border-radius:4px;padding:7px 12px;font-size:.8rem;font-weight:600}.section-error-boundary-actions button:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.signin-prompt{background:var(--color-bg-panel);border:1px solid var(--color-border);text-align:center;color:var(--color-text-dim);border-radius:6px;padding:32px 24px}.signin-prompt p{margin:0}.signin-prompt-button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;margin-top:12px;padding:10px 20px;font-size:.9rem;font-weight:700}input[type=checkbox].themed-checkbox{appearance:none;box-sizing:border-box;background:var(--color-bg-page);border:1px solid var(--color-border);cursor:pointer;border-radius:4px;flex-shrink:0;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;margin:0;padding:0;position:relative}input[type=checkbox].themed-checkbox:hover:not(:disabled){border-color:var(--color-accent)}input[type=checkbox].themed-checkbox:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox].themed-checkbox:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input[type=checkbox].themed-checkbox:checked{background:var(--color-accent);border-color:var(--color-accent)}input[type=checkbox].themed-checkbox:checked:after{content:"";border:solid var(--color-text-on-accent);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.ship-selection-page,.character-page,.summary-page,.notes-page,.doff-roster-page,.player-equipment-page,.combat-log-page{color:var(--color-text-primary);background:var(--color-bg-page);box-sizing:border-box;border-radius:8px;margin:0 auto;padding:24px;font-family:system-ui,sans-serif}.ship-selection-page *,.character-page *,.summary-page *,.notes-page *,.doff-roster-page *,.player-equipment-page *,.combat-log-page *{box-sizing:border-box}@media (width<=768px){.ship-selection-page,.character-page,.summary-page,.notes-page,.doff-roster-page,.player-equipment-page,.combat-log-page{border-radius:0;padding:12px}}.ship-selection-section,.character-section,.summary-section,.doff-roster-section,.player-equipment-section,.combat-log-section{background:var(--color-bg-panel);border-radius:6px;margin-bottom:20px;padding:16px}@media print{body{background:#fff}.app-shell{color:#111;background:#fff}.app-header,.section-nav,.sub-nav{display:none!important}.app-content{padding:0}}html{background:var(--color-bg-page)}body{background:var(--color-bg-page);margin:0}h1,h2{font-family:var(--heading);color:var(--color-text-bright);font-weight:500}h1{letter-spacing:0;margin:32px 0 40px;font-size:46px;line-height:118%}@media (width<=1024px){h1{margin:20px 0 28px;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.ad-unit{flex-direction:column;justify-content:center;align-items:center;margin:0 auto;display:flex;overflow:hidden}.ad-unit-footer{width:100%;max-width:728px;min-height:90px;margin-top:16px}.ad-unit-content{width:100%;max-width:970px;min-height:250px;margin-bottom:20px}.ad-unit .adsbygoogle{width:100%}.ad-unit-fallback{background:var(--color-bg-surface);border:1px solid var(--color-border);text-align:center;border-radius:4px;padding:16px}.ad-unit-fallback p{color:var(--color-text-muted);margin:0;font-size:.85rem;line-height:1.5}.ad-unit-fallback a{color:var(--color-accent)}.ad-unit-rail{display:none}@media (width>=1700px){.ad-unit-rail{z-index:1;width:300px;max-width:300px;min-height:600px;margin:0;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}}.app-footer{border-top:1px solid var(--color-border);color:var(--color-text-dim);text-align:center;margin-top:24px;padding:20px 24px;font-size:.75rem;line-height:1.5}.app-footer p{margin:0 0 6px}.app-footer p:last-child{margin-bottom:0}.app-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;margin-bottom:10px;font-size:.75rem;display:flex}.app-footer-links a{color:var(--color-text-dim);text-decoration:none}.app-footer-links a:hover{color:var(--color-accent);text-decoration:underline}@media (width<=768px){.app-footer-links{gap:6px 16px}.app-footer-links span{display:none}.app-footer{margin-top:16px;padding:16px 12px}}.account-page{max-width:640px;margin:0 auto}.account-page-heading{color:var(--color-text-bright);margin:0 0 24px}.account-page-view-profile-link{color:var(--color-accent);text-decoration:none}.account-page-view-profile-link:hover{text-decoration:underline}.account-tabs{gap:6px;margin-bottom:16px;display:flex}.account-tab{color:var(--color-text-dim);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:.85rem;text-decoration:none;display:inline-block}.account-tab:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.account-tab.active{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.account-section{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:6px;margin-bottom:20px;padding:20px}.account-section h2{color:var(--color-text-bright);margin:0 0 6px;font-size:.95rem}.account-section a{color:var(--color-accent);text-decoration:none}.account-section a:hover{text-decoration:underline}.account-section>p{color:var(--color-text-dim);margin:0 0 14px;font-size:.85rem}.account-form{gap:10px;display:flex}.account-form input{background:var(--color-bg-page);color:var(--color-text-bright);border:1px solid var(--color-border);border-radius:4px;flex:1;padding:8px 10px;font-size:.9rem}.account-form input:focus{border-color:var(--color-accent);outline:none}.account-form button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:600}.account-form button:disabled{opacity:.6;cursor:not-allowed}.account-form-stacked{flex-direction:column;align-items:flex-start;gap:12px}.account-form-stacked label{width:100%;color:var(--color-text-body);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.account-form-stacked button{align-self:flex-start}.account-form-field-hint{color:var(--color-text-muted);font-size:.78rem}.account-page-error{color:var(--color-danger-text);margin:10px 0 0;font-size:.8rem}.account-page-success{color:var(--color-accent);margin:10px 0 0;font-size:.8rem}.account-form+.account-page-error,.account-form+.account-page-success{margin-top:16px}.account-page-muted{color:var(--color-text-dim);margin:0;font-size:.85rem}.account-purchase-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.account-purchase-item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-purchase-info{flex-direction:column;gap:2px;display:flex}.account-purchase-pack{color:var(--color-text-bright);font-size:.85rem;font-weight:600}.account-purchase-date{color:var(--color-text-dim);font-size:.78rem}.account-purchase-detail{color:var(--color-text-body);white-space:nowrap;font-size:.85rem}.account-purchase-receipt-link{color:var(--color-accent);text-decoration:none}.account-purchase-receipt-link:hover{text-decoration:underline}.account-connected-account-row{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-connected-account-info{flex-direction:column;gap:2px;display:flex}.account-connected-account-name{color:var(--color-text-bright);font-size:.85rem;font-weight:600}.account-connected-account-status{color:var(--color-text-dim);font-size:.78rem}.account-connected-account-row button{color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:7px 12px;font-size:.8rem;font-weight:600}.account-connected-account-row button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-text-bright)}.account-connected-account-row button:disabled{cursor:not-allowed;opacity:.6}.account-section-danger{border-color:var(--color-danger-border)}.account-section-highlight{border-color:var(--color-accent)}.account-section-highlight h2{color:var(--color-accent-bright)}.account-page-delete-button{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:.85rem;font-weight:600}.account-page-delete-button:hover{border-color:var(--color-danger-text)}.account-page-delete-confirm-label{color:var(--color-text-body);flex-direction:column;gap:6px;margin-bottom:14px;font-size:.85rem;display:flex}.account-combat-log-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.account-combat-log-item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.account-combat-log-item-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.account-combat-log-info{flex-direction:column;gap:2px;display:flex}.account-combat-log-title{color:var(--color-text-bright);font-size:.85rem;font-weight:600}.account-combat-log-date{color:var(--color-text-dim);font-size:.78rem}.account-combat-log-delete-button{color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:7px 12px;font-size:.8rem;font-weight:600}.account-combat-log-delete-button:hover:not(:disabled){border-color:var(--color-danger-text);color:var(--color-danger-text)}.account-combat-log-delete-button:disabled{cursor:not-allowed;opacity:.6}.account-combat-log-link-row{align-items:center;gap:6px;display:flex}.account-combat-log-link{color:var(--color-accent);overflow-wrap:anywhere;flex:1;font-size:.78rem;text-decoration:none}.account-combat-log-link:hover{text-decoration:underline}.account-combat-log-copy-button{width:26px;height:26px;color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.account-combat-log-copy-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.account-combat-log-copy-button svg{width:14px;height:14px}.account-control-signin{color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:8px 14px;font-size:.85rem;font-weight:600}.account-control-signin:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.account-control{position:relative}.account-control-profile-icon{width:38px;height:38px;color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.account-control-profile-icon:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.account-control-profile-icon svg{width:18px;height:18px}.account-control-dropdown{background:var(--color-bg-header);border:1px solid var(--color-border);z-index:1100;border-radius:6px;flex-direction:column;gap:2px;min-width:160px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.account-control-link{box-sizing:border-box;width:100%;color:var(--color-text-body);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 10px;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.account-control-link:hover{background:var(--color-bg-surface);color:var(--color-text-bright)}.account-control-link-indicator{width:14px;height:14px;color:var(--color-accent);flex-shrink:0}.app-shell{background:var(--color-bg-page);min-height:100svh;color:var(--color-text-primary);font-family:system-ui,sans-serif}.app-header{background:var(--color-bg-header);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;display:flex}.app-logo{align-items:center;margin:0;display:flex}.app-logo-image{width:auto;height:40px}.app-header-actions{align-items:center;gap:12px;display:flex}.main-menu{position:relative}.main-menu-toggle{color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;width:38px;height:38px;font-size:1.1rem;line-height:1;position:relative}.main-menu-toggle:hover{border-color:var(--color-accent)}.main-menu-badge{background:var(--color-accent-bright);border:2px solid var(--color-bg-header);border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px}.main-menu-badge-inline{border:none;margin-left:6px;display:inline-block;position:static}.main-menu-dropdown{background:var(--color-bg-header);border:1px solid var(--color-border);z-index:1100;border-radius:6px;flex-direction:column;gap:2px;min-width:160px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.main-menu-link{box-sizing:border-box;width:100%;color:var(--color-text-body);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 10px;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.main-menu-link:hover{background:var(--color-bg-surface);color:var(--color-text-bright)}.main-menu-link-indicator{width:14px;height:14px;color:var(--color-accent);flex-shrink:0}.main-menu-link:disabled{cursor:not-allowed}.main-menu-link:disabled:hover{color:var(--color-text-body);background:0 0}.main-menu-link-highlight{color:var(--color-accent);font-weight:700}.section-nav-bar{background:var(--color-bg-section-nav);border-bottom:1px solid var(--color-border);align-items:center;min-height:58px;display:flex}.app-nav{flex-shrink:0;margin:0 0 0 24px;position:relative}.app-nav-trigger{color:var(--color-text-body);border:1px solid var(--color-border);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:700;display:flex}.app-nav-trigger:hover,.app-nav-trigger[aria-expanded=true]{border-color:var(--color-accent);color:var(--color-text-bright)}.app-nav-caret{color:var(--color-accent);font-size:.6rem}.app-nav-dropdown{background:var(--color-bg-header);border:1px solid var(--color-border);z-index:1100;border-radius:6px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.app-nav-link{box-sizing:border-box;width:100%;color:var(--color-text-body);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.app-nav-link:hover{background:var(--color-bg-surface);color:var(--color-text-bright)}.app-nav-link[aria-current=true]{color:var(--color-accent)}.app-nav-link:disabled{opacity:.5;cursor:not-allowed}.app-nav-link:disabled:hover{color:var(--color-text-body);background:0 0}.app-nav-divider{background:var(--color-border);height:1px;margin:4px}.app-nav-save{box-sizing:border-box;background:var(--color-accent);width:100%;color:var(--color-text-on-accent);font:inherit;text-align:center;cursor:pointer;border:none;border-radius:4px;padding:9px 10px;font-size:.85rem;font-weight:700;display:block}.app-nav-save:hover{background:var(--color-accent-bright)}.app-nav-toolbar{gap:6px;display:flex}.app-nav-toolbar-button{flex:1 1 0;justify-content:center;width:auto}.section-nav-divider{background:var(--color-border);flex-shrink:0;align-self:stretch;width:1px;margin:10px 0 10px 12px}.section-nav{gap:4px;min-width:0;padding:0 24px;display:flex;overflow-x:auto}.section-nav-link{color:var(--color-text-body);white-space:nowrap;border-bottom:3px solid #0000;flex-shrink:0;padding:14px 18px;font-size:.95rem;font-weight:600;text-decoration:none}.section-nav-link:hover{color:var(--color-text-bright)}.section-nav-link.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.app-content{padding:24px}.sub-nav-layout{max-width:1320px;margin:0 auto}.sub-nav{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.sub-nav-link{color:var(--color-text-dim);white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;padding:10px 16px;font-size:.85rem;font-weight:600;text-decoration:none}.sub-nav-link:hover{color:var(--color-text-bright)}.sub-nav-link.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media (width<=768px){.app-header{padding:8px 12px}.app-content{padding:12px}.section-nav{padding:0 8px}.app-nav{margin-left:8px}.section-nav-link{padding:10px 16px;font-size:.85rem}}.modal-backdrop{z-index:1200;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-bg-panel);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:8px;padding:16px;font-family:system-ui,sans-serif;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h3{color:var(--color-text-bright);margin:0;font-size:1rem}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.4rem;line-height:1}.modal-close:hover{color:var(--color-text-bright)}.confirm-dialog{width:min(400px,100%);max-height:min(600px,100svh - 32px)}.confirm-dialog-message{color:var(--color-text-body);align-items:center;gap:6px;margin:0 0 14px;font-size:.9rem;display:flex}.confirm-dialog-message.danger{color:var(--color-danger-text)}.confirm-dialog-error{color:var(--color-danger-text);margin:0 0 12px;font-size:.8rem}.confirm-dialog-input{box-sizing:border-box;background:var(--color-bg-page);width:100%;color:var(--color-text-bright);border:1px solid var(--color-border);border-radius:4px;margin-bottom:14px;padding:8px 10px;font-size:.9rem}.confirm-dialog-input:focus{border-color:var(--color-accent);outline:none}.confirm-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-dialog-cancel,.confirm-dialog-confirm{border:1px solid var(--color-border-strong);cursor:pointer;color:var(--color-text-body);background:0 0;border-radius:4px;padding:8px 16px;font-size:.85rem;font-weight:600}.confirm-dialog-cancel:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.confirm-dialog-confirm{background:var(--color-accent);color:var(--color-text-on-accent);border-color:#0000}.confirm-dialog-confirm:hover:not(:disabled){background:var(--color-accent-bright)}.confirm-dialog-confirm.danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.confirm-dialog-confirm.danger:hover:not(:disabled){border-color:var(--color-danger-text)}.confirm-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}.quick-save-modal{width:min(420px,100%);max-height:min(600px,100svh - 32px)}.quick-save-modal-tabs{gap:6px;margin-bottom:12px;display:flex}.quick-save-modal-tab{color:var(--color-text-dim);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:.85rem}.quick-save-modal-tab:hover{border-color:var(--color-accent)}.quick-save-modal-tab.active{border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.quick-save-modal-signin-prompt{color:var(--color-text-dim);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:.85rem;display:flex}.quick-save-modal-signin-prompt p{margin:0}.quick-save-modal-signin-prompt button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:6px 14px;font-size:.85rem;font-weight:600}.quick-save-modal-signin-prompt button:hover{background:var(--color-accent-bright)}.quick-save-modal-status{color:var(--color-text-dim);margin:0 0 14px;font-size:.85rem}.quick-save-modal-slots{flex-direction:column;gap:6px;max-height:220px;margin-bottom:14px;display:flex;overflow-y:auto}.quick-save-modal-slot{background:var(--color-bg-panel);border:1px solid var(--color-border-strong);color:var(--color-text-body);cursor:pointer;text-align:left;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;display:flex}.quick-save-modal-slot:hover{border-color:var(--color-accent)}.quick-save-modal-slot.selected{border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.quick-save-modal-slot-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-save-modal-slot-date{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem;font-weight:400}.badge-award-toast{z-index:1300;background:var(--color-bg-panel);border:1px solid var(--color-accent);max-width:min(420px,100vw - 48px);color:var(--color-text-bright);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.85rem;animation:.25s ease-out forwards badge-award-toast-in;display:flex;position:fixed;top:24px;left:50%;box-shadow:0 8px 24px #0006}.badge-award-toast.closing{animation:.25s ease-in forwards badge-award-toast-out}@keyframes badge-award-toast-in{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@keyframes badge-award-toast-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-16px)}}.badge-award-toast-icons{flex-shrink:0;display:flex}.badge-award-toast-icon{object-fit:contain;width:36px;height:36px}.badge-award-toast-icon:not(:first-child){margin-left:-10px}.badge-award-toast-text{flex-direction:column;gap:2px;min-width:0;display:flex}.badge-award-toast-title{color:var(--color-accent);font-weight:700}.badge-award-toast-names{color:var(--color-text-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge-award-toast-close{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:1.1rem;line-height:1}@media (width<=768px){.badge-award-toast{max-width:calc(100vw - 24px);top:12px}}.refit-toast{z-index:1300;background:var(--color-bg-panel);border:1px solid var(--color-accent);max-width:min(420px,100vw - 48px);color:var(--color-text-bright);border-radius:8px;align-items:center;gap:12px;padding:14px 16px;font-size:.85rem;animation:.25s ease-out forwards refit-toast-in;display:flex;position:fixed;top:24px;left:50%;box-shadow:0 8px 24px #0006}.refit-toast.closing{animation:.25s ease-in forwards refit-toast-out}@keyframes refit-toast-in{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@keyframes refit-toast-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-16px)}}.refit-toast-close{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1.1rem;line-height:1}@media (width<=768px){.refit-toast{max-width:calc(100vw - 24px);top:12px}}.refit-attribution-note{color:var(--color-text-dim);margin:0 0 16px;font-size:.8rem}.refit-attribution-link{color:var(--color-accent);text-decoration:none}.refit-attribution-link:hover{text-decoration:underline}.creator-badge{border:1px solid var(--color-accent);white-space:nowrap;background:#d4af371f;border-radius:999px;align-items:center;gap:6px;margin-bottom:4px;padding:3px 10px 3px 8px;line-height:1;text-decoration:none;display:inline-flex}.creator-badge-crest{width:13px;height:13px;color:var(--color-accent-bright);flex-shrink:0}.creator-badge-label{color:var(--color-accent-bright);letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;font-weight:700}.creator-badge-divider{background:var(--color-accent);opacity:.5;width:1px;height:11px}.creator-badge-channel-icon{width:13px;height:13px;color:var(--color-text-dim);flex-shrink:0;transition:color .15s}a.creator-badge:hover{border-color:var(--color-accent-bright);background:#d4af3733}a.creator-badge:hover .creator-badge-channel-icon{color:var(--color-accent-bright)}.creator-badge--small{gap:4px;margin-bottom:0;padding:1px 7px 1px 6px}.creator-badge--small .creator-badge-crest,.creator-badge--small .creator-badge-channel-icon{width:10px;height:10px}.creator-badge--small .creator-badge-label{font-size:.64rem}.creator-badge--small .creator-badge-divider{height:9px}.shared-build-status-page{background:var(--color-bg-page);min-height:100svh;color:var(--color-text-primary);flex-direction:column;font-family:system-ui,sans-serif;display:flex}.shared-build-status-message{color:var(--color-text-dim);text-align:center;flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.viewing-banner{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;display:flex}.viewing-banner-text{color:var(--color-text-body);margin:0;font-size:.9rem}.viewing-banner-text strong{color:var(--color-text-bright)}.viewing-banner-link{color:var(--color-accent);font-weight:600;text-decoration:underline}.viewing-banner-link:hover{color:var(--color-accent-bright)}.viewing-banner .refit-attribution-note{margin:2px 0 0;font-size:.78rem}.viewing-banner-refit-button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:600}.viewing-banner-refit-button:hover{background:var(--color-accent-bright)}@media (width<=768px){.viewing-banner{padding:10px 12px}}.contest-draft-banner{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding:10px 24px;display:flex}.contest-draft-banner-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contest-draft-banner-text{color:var(--color-text-body);flex-shrink:0;margin:0;font-size:.9rem}.contest-draft-banner-text strong{color:var(--color-text-bright)}.contest-draft-banner-name-input{background:var(--color-bg-page);min-width:160px;color:var(--color-text-bright);border:1px solid var(--color-border);border-radius:4px;flex:1;padding:6px 10px;font-size:.85rem}.contest-draft-banner-name-input:focus{border-color:var(--color-accent);outline:none}.contest-draft-banner-save-button{color:var(--color-text-bright);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:600}.contest-draft-banner-save-button:hover{border-color:var(--color-accent)}.contest-draft-banner-submit-button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:600}.contest-draft-banner-submit-button:hover{background:var(--color-accent-bright)}.contest-draft-banner-save-button:disabled,.contest-draft-banner-submit-button:disabled{opacity:.6;cursor:not-allowed}.contest-draft-banner-error{color:var(--color-danger-text);margin:0;font-size:.8rem}.contest-draft-banner-success{color:var(--color-accent);margin:0;font-size:.8rem}.contest-draft-banner-note{color:var(--color-text-dim);margin:0;font-size:.75rem}@media (width<=768px){.contest-draft-banner{padding:10px 12px}}.contest-entry-banner{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);padding:10px 24px}.contest-entry-banner-back-link{color:var(--color-text-dim);margin-bottom:6px;font-size:.78rem;text-decoration:none;display:inline-block}.contest-entry-banner-back-link:hover{color:var(--color-accent)}.contest-entry-banner-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contest-entry-banner-text{color:var(--color-text-body);flex:1;min-width:200px;margin:0;font-size:.9rem}.contest-entry-banner-text strong{color:var(--color-text-bright)}.contest-entry-banner-link{color:var(--color-accent);font-weight:600;text-decoration:underline}.contest-entry-banner-link:hover{color:var(--color-accent-bright)}.contest-entry-banner-votes{color:var(--color-text-dim);flex-shrink:0;font-size:.85rem}.contest-entry-banner-note{color:var(--color-text-dim);flex-shrink:0;font-size:.85rem;font-style:italic}.contest-entry-banner-vote-button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:600}.contest-entry-banner-vote-button:hover{background:var(--color-accent-bright)}.contest-entry-banner-save-button{color:var(--color-text-bright);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:600}.contest-entry-banner-save-button:hover{border-color:var(--color-accent)}.contest-entry-banner-vote-button:disabled{opacity:.6;cursor:not-allowed}.contest-entry-banner-error{color:var(--color-danger-text);margin:6px 0 0;font-size:.8rem}@media (width<=768px){.contest-entry-banner{padding:10px 12px}}.home-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:48px 24px;display:flex}.home-logo{width:auto;height:72px}.home-title{margin:0}.home-title img{width:auto;height:56px}.home-tagline{color:var(--color-text-muted);margin:0;font-size:1.1rem}.home-latest-post{box-sizing:border-box;background:var(--color-bg-panel);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);text-align:left;border-radius:8px;flex-direction:column;gap:8px;width:100%;max-width:720px;padding:28px 32px;display:flex}.home-latest-post-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);font-size:.72rem;font-weight:600}.home-latest-post-title{color:var(--color-accent);font-size:1.35rem;font-weight:600;text-decoration:none}.home-latest-post-title:hover{text-decoration:underline}.home-latest-post-excerpt{color:var(--color-text-primary);margin:0;font-size:1.05rem;line-height:1.55}.home-latest-post-cta{background:var(--color-accent);color:var(--color-text-on-accent);border-radius:4px;align-self:flex-start;margin-top:6px;padding:8px 16px;font-size:.88rem;font-weight:600;text-decoration:none}.home-latest-post-cta:hover{background:var(--color-accent-bright)}.home-nav-grid{border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));width:100%;max-width:720px;margin-top:8px;display:grid}.home-nav-item{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-text-body);text-align:left;flex-direction:column;gap:6px;padding:20px;text-decoration:none;transition:background-color .15s;display:flex}.home-nav-item:hover{background:var(--color-bg-panel)}.home-nav-item-icon{width:22px;height:22px;color:var(--color-accent)}.home-nav-item-title{color:var(--color-text-bright);font-size:1.05rem;font-weight:600}.home-nav-item-desc{color:var(--color-text-muted);font-size:.88rem}.home-sections{text-align:left;width:100%;max-width:720px;margin-top:24px}.home-section{margin-bottom:36px}.home-section-featured{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:8px;margin-top:12px;padding:28px 32px}.home-section h2{color:var(--color-text-bright);margin:0 0 12px;font-size:1.25rem}.home-section p{color:var(--color-text-body);margin:0 0 12px;font-size:.95rem;line-height:1.6}.home-section p a{color:var(--color-accent);text-decoration:underline}.home-guide-list{flex-direction:column;gap:16px;margin-bottom:12px;display:flex}.home-guide-item{flex-direction:column;gap:2px;text-decoration:none;display:flex}.home-guide-item-title{color:var(--color-accent);font-size:1rem;font-weight:600}.home-guide-item:hover .home-guide-item-title{text-decoration:underline}.home-guide-item-desc{color:var(--color-text-muted);font-size:.88rem}.combat-log-layout{flex-direction:column;flex:1;display:flex}.combat-log-layout-tabs{box-sizing:border-box;gap:6px;width:100%;max-width:900px;margin:0 auto;padding:28px 24px 0;display:flex}.combat-log-layout-tab{color:var(--color-text-dim);border:1px solid var(--color-border);background:0 0;border-radius:4px;padding:6px 14px;font-size:.85rem;text-decoration:none;display:inline-block}.combat-log-layout-tab:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.combat-log-layout-tab.active{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.fleets-page{max-width:900px;margin:0 auto;padding:48px 24px}.fleets-back-link{color:var(--color-accent);margin:0 0 16px;font-size:.85rem;text-decoration:none;display:inline-block}.fleets-back-link:hover{text-decoration:underline}.fleets-page-heading{color:var(--color-text-bright);margin:0 0 16px}.fleets-page-intro{color:var(--color-text-dim);max-width:640px;margin:0 0 20px;font-size:.85rem}.fleets-page-meta{color:var(--color-text-muted);margin:0 0 16px;font-size:.85rem}.fleets-report-link{margin:24px 0 0;font-size:.8rem}.fleets-report-link a{color:var(--color-text-muted)}.fleets-report-link a:hover{color:var(--color-accent)}.fleets-page-error{color:var(--color-danger-text);margin:0 0 16px;font-size:.85rem}.fleets-join-prompt{margin-top:16px}.fleets-cta-link{background:var(--color-accent);color:var(--color-text-on-accent);border-radius:4px;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.fleets-create-form,.fleets-reupload{flex-direction:column;gap:14px;max-width:480px;margin-bottom:24px;display:flex}.fleets-create-form label,.fleets-reupload label{color:var(--color-text-body);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.fleets-create-form input,.fleets-reupload input{background:var(--color-bg-page);color:var(--color-text-bright);border:1px solid var(--color-border);border-radius:4px;padding:8px 10px;font-family:inherit;font-size:.9rem}.fleets-create-form input:focus,.fleets-reupload input:focus{border-color:var(--color-accent);outline:none}.fleets-primary-button{background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:10px 20px;font-size:.9rem;font-weight:600}.fleets-primary-button:disabled{opacity:.6;cursor:not-allowed}.fleets-tabs{gap:6px;margin-bottom:20px;display:flex}.fleets-tab{color:var(--color-text-dim);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:.85rem;text-decoration:none;display:inline-block}.fleets-tab:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.fleets-tab.active{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.fleets-sort-button{color:var(--color-text-dim);font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:0;font-family:inherit;display:inline-flex}.fleets-sort-button:hover,.fleets-sort-button.active{color:var(--color-text-bright)}.fleets-stats{flex-direction:column;gap:28px;max-width:640px;display:flex}.fleets-stat-tiles{flex-wrap:wrap;gap:12px;display:flex}.fleets-stat-tile{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;flex:160px;gap:4px;padding:14px 16px;display:flex}.fleets-stat-tile-value{color:var(--color-text-bright);font-size:1.6rem;font-weight:700}.fleets-stat-tile-label{color:var(--color-text-dim);font-size:.78rem}.fleets-chart{flex-direction:column;gap:8px;display:flex}.fleets-bar-row{grid-template-columns:110px 1fr 44px;align-items:center;gap:10px;display:grid}.fleets-bar-label{color:var(--color-text-body);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.fleets-bar-track{background:var(--color-bg-page);border-radius:4px;height:14px;overflow:hidden}.fleets-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .2s}.fleets-bar-value{color:var(--color-text-dim);text-align:right;font-size:.8rem}.fleets-directory-list-wrap{margin-top:24px}.fleets-directory-table{border-collapse:collapse;width:100%;max-width:480px;font-size:.9rem}.fleets-directory-table th,.fleets-directory-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 12px 8px 0}.fleets-directory-table th{color:var(--color-text-dim);font-weight:600}.fleets-directory-table td a{color:var(--color-accent);text-decoration:none}.fleets-directory-table td a:hover{text-decoration:underline}.fleets-announcements{margin-bottom:24px}.fleets-announcement-form{flex-direction:column;gap:10px;max-width:560px;margin-bottom:16px;display:flex}.fleets-announcement-form textarea{background:var(--color-bg-page);color:var(--color-text-bright);border:1px solid var(--color-border);resize:vertical;border-radius:4px;min-height:80px;padding:8px 10px;font-family:inherit;font-size:.9rem}.fleets-announcement-form textarea:focus{border-color:var(--color-accent);outline:none}.fleets-announcement-list{flex-direction:column;gap:12px;max-width:560px;margin:0;padding:0;list-style:none;display:flex}.fleets-announcement{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:6px;padding:12px 14px}.fleets-announcement-meta{color:var(--color-text-dim);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.8rem;display:flex}.fleets-announcement-meta strong{color:var(--color-text-bright)}.fleets-announcement-body{color:var(--color-text-body);white-space:pre-wrap;margin:0;font-size:.9rem}.fleets-announcement-delete{color:var(--color-danger-text);cursor:pointer;background:0 0;border:none;padding:6px 0 0;font-size:.78rem}.fleets-announcement-delete:disabled{opacity:.6;cursor:not-allowed}.fleets-permissions,.fleets-settings{margin-bottom:24px}.fleets-emblem-preview{border:1px solid var(--color-border);border-radius:6px;max-width:160px;max-height:160px;margin-bottom:12px;display:block}.fleets-profile-emblem{border:1px solid var(--color-border);border-radius:6px;max-width:160px;max-height:160px;margin-bottom:16px}.fleets-profile-description{color:var(--color-text-body);white-space:pre-wrap;max-width:640px;margin:0 0 16px;font-size:.9rem}.fleets-permissions-heading{color:var(--color-text-bright);margin:0 0 10px;font-size:1rem}.fleets-permissions-table{border-collapse:collapse;font-size:.85rem}.fleets-permissions-table th,.fleets-permissions-table td{text-align:left;padding:6px 16px 6px 0}.fleets-permissions-table th{color:var(--color-text-dim);font-weight:600}.fleets-permissions-table td{color:var(--color-text-body)}.fleets-member-identity{flex-direction:column;gap:2px;display:flex}.fleets-member-identity-name{color:var(--color-accent);font-weight:600;text-decoration:none}.fleets-member-identity-name:hover{text-decoration:underline}.fleets-member-identity-handle{color:var(--color-text-muted)}.fleets-permissions-table td.fleets-request-actions{gap:8px;display:flex}.fleets-secondary-button{color:var(--color-text-body);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:7px 12px;font-size:.8rem;font-weight:600}.fleets-secondary-button:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.fleets-secondary-button:disabled{opacity:.6;cursor:not-allowed}.fleets-roster-table-wrap{border:1px solid var(--color-border);border-radius:6px;overflow-x:auto}.fleets-roster-table{border-collapse:collapse;width:100%;font-size:.85rem}.fleets-roster-table th,.fleets-roster-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:8px 12px}.fleets-roster-table th{color:var(--color-text-dim);background:var(--color-bg-panel);font-weight:600;position:sticky;top:0}.fleets-roster-table td{color:var(--color-text-body)}.fleets-roster-table tbody tr:last-child td{border-bottom:none}.coming-soon-logo{width:auto;height:32px}.coming-soon-heading{color:var(--color-text-bright);letter-spacing:.02em;margin:0 0 8px;font-size:2rem;font-weight:700}.coming-soon-text{color:var(--color-text-dim);max-width:32em;margin:0}.not-found-code{color:var(--color-text-bright);letter-spacing:.05em;margin:0 0 8px;font-size:3rem;font-weight:700}.not-found-text{color:var(--color-text-dim);margin:0 0 16px}.not-found-home-link{color:var(--color-accent);font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.not-found-home-link:hover{color:var(--color-accent-bright);text-decoration:underline}.legal-page{max-width:760px;margin:0 auto;padding:24px 16px 8px}.legal-page-heading{color:var(--color-text-bright);margin:0 0 24px}.legal-page-updated{color:var(--color-text-dim);margin:0 0 24px;font-size:.8rem}.legal-page section{margin-bottom:24px}.legal-page h2{color:var(--color-text-bright);margin:0 0 8px;font-size:1rem}.legal-page p{color:var(--color-text-body);margin:0 0 10px;font-size:.88rem;line-height:1.65}.legal-page ul{color:var(--color-text-body);margin:0 0 10px;padding-left:22px;font-size:.88rem;line-height:1.65}.legal-page li{margin-bottom:4px}.legal-page a{color:var(--color-accent);text-decoration:underline}
