@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#e9f2ef;font-synthesis:none;--bg:#0d1c20;--panel:#13282c;--panel-soft:#173136;--line:#29464a;--muted:#8fa9a6;--lime:#c8f06b;--cyan:#74e4d0;--orange:#ffb65b;background:#0d1c20;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%, #244943 0, transparent 38%), var(--bg);min-width:320px;margin:0}.account-nav{border-bottom:1px solid var(--line);background:#0a191c;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:10px max(24px,50% - 590px);font-size:13px;display:flex}.account-nav div{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.account-nav a,.account-page a{color:var(--cyan)}.account-nav button{color:var(--cyan);background:0 0;border:0;padding:0}.account-page{width:min(760px,100% - 48px);margin:60px auto}.account-card{border:1px solid var(--line);background:var(--panel);margin-bottom:18px;padding:28px}.account-card p{color:var(--muted);line-height:1.6}.account-form{gap:16px;display:grid}.account-form label{color:var(--muted);gap:7px;font-size:13px;display:grid}.account-form input{color:#fff;border:1px solid var(--line);background:#0d1c20;width:100%;padding:12px}.account-form .button{justify-content:center}.account-switch{margin:22px 0 0}.account-error,.account-card p.account-error,.account-banner{color:#ffb6a8}.account-card p.account-warning{color:#ffd98a;border:1px solid #ffd98a55;border-radius:8px;margin:0;padding:10px 12px}.account-form label.account-check{flex-direction:row;align-items:flex-start;gap:8px;display:flex}.account-form label.account-check input{width:auto;margin-top:3px}.account-banner{padding:10px 24px}.invite-code{overflow-wrap:anywhere;background:#0d1c20;gap:8px;margin-top:20px;padding:15px;display:grid}.invite-code code{color:var(--lime);-webkit-user-select:all;user-select:all}.account-list{margin-bottom:0;padding:0;list-style:none}.account-list li{border-top:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;gap:12px;padding:12px 0;display:flex}button,select,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d1c20d6;border-bottom:1px solid #71ab9f38}.topbar-inner,.nav-inner,.content{width:min(1180px,100% - 48px);margin:auto}.topbar-inner{justify-content:space-between;align-items:center;min-height:78px;display:flex}.brand,.live-status,.nav-item,.sync-label,.text-button,.button,.stage-nav,.roster-toolbar,.member-status{align-items:center;gap:9px;display:flex}.brand{gap:12px}.brand-mark{border:1px solid var(--lime);width:41px;height:41px;color:var(--lime);letter-spacing:-.08em;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;display:grid}.brand strong{letter-spacing:.08em;font-family:Space Grotesk,sans-serif;font-size:14px;display:block}.brand span,.live-status small{color:var(--muted);font-size:12px}.live-status{color:var(--cyan);font-size:13px}.status-dot{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 12px var(--cyan);border-radius:50%}.nav{background:#102428;border-bottom:1px solid #71ab9f29}.nav-inner{gap:30px;display:flex}.nav-item{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:17px 2px 14px;font-size:13px;font-weight:600}.nav-item.active{color:var(--lime);border-bottom-color:var(--lime)}.nav-count{background:#29434a;border-radius:20px;padding:2px 7px;font-size:11px}.content{padding:58px 0 80px}.hero-row{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.eyebrow{color:var(--lime);letter-spacing:.15em;margin:0 0 10px;font-size:10px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Space Grotesk,sans-serif}h1{color:#f5fbf3;letter-spacing:-.05em;margin-bottom:12px;font-size:clamp(31px,4vw,50px);line-height:1.05}h2{letter-spacing:-.04em;margin-bottom:0;font-size:22px}h3{margin-bottom:0}.hero-copy{max-width:530px;color:var(--muted);font-size:15px;line-height:1.6}.button{color:#0e1e20;background:var(--lime);border:0;padding:12px 16px;font-size:13px;font-weight:700}.button:hover{filter:brightness(1.08)}.button:disabled{opacity:.55;cursor:wait}.roster-button{background:var(--panel-soft);color:var(--cyan);white-space:nowrap;border:1px solid #32645d}.roster-button span{color:#fff;padding-left:5px}.controls{grid-template-columns:1fr 1fr 1.4fr;gap:14px;margin-bottom:22px;display:grid}.control{border:1px solid var(--line);background:#13282ccc;padding:14px 16px}.control label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font-size:11px;display:block}.select-wrap{position:relative}select{appearance:none;color:#f5fbf3;cursor:pointer;background:0 0;border:0;outline:0;width:100%;padding:0 26px 0 0;font-weight:700}select option{color:#f5fbf3;background:#10252a}.select-wrap svg{pointer-events:none;color:var(--lime);position:absolute;top:2px;right:0}.refresh-control{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.sync-label{color:var(--cyan);font-size:13px;font-weight:600}.refresh-control small{color:var(--muted);margin-left:16px;font-size:11px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:36px;display:grid}.summary-card{border:1px solid var(--line);background:linear-gradient(135deg,#173136f2,#0f2226f2);gap:13px;min-height:119px;padding:18px;display:flex}.summary-icon{width:34px;height:34px;color:var(--cyan);background:#203e40;place-items:center;display:grid}.summary-icon svg{width:17px}.summary-card span,.summary-card small{color:var(--muted);font-size:11px;display:block}.summary-card strong{color:#f5fbf3;margin:5px 0 4px;font:700 23px Space Grotesk,sans-serif;display:block}.summary-card small{color:#6f8d8b;font-size:10px}.stage-panel,.detail-panel{border:1px solid var(--line);background:#102327d6}.stage-panel{padding:26px}.panel-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.panel-heading.compact{align-items:start}.text-button{color:var(--muted);background:0 0;border:0;padding:5px 0;font-size:12px}.text-button:hover{color:var(--lime)}.progress-track{grid-template-columns:repeat(5,1fr);gap:6px;margin:25px 0 20px;display:grid}.progress-segment{background:#294348;border:0;height:7px;position:relative}.progress-segment span{color:var(--muted);font-size:10px;position:absolute;top:12px;left:0}.progress-segment.current{background:var(--orange)}.progress-segment.complete{background:var(--lime)}.stage-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin-top:38px;display:grid}.stage-card{background:#142d31;border:1px solid #254047;padding:16px;transition:transform .2s,border-color .2s}.stage-card.active{border-color:var(--orange);transform:translateY(-4px)}.stage-card.complete{border-color:#668a36}.stage-card-top,.health-line,.stage-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-number{color:#597774;font:700 13px Space Grotesk,sans-serif}.stage-state{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.stage-card h3{margin:24px 0 17px;font-size:15px}.health-line{color:var(--muted);font-size:11px}.health-line strong{color:var(--lime)}.health-bar{background:#263d40;height:5px;margin:8px 0 17px}.health-bar span{background:var(--lime);height:100%;display:block}.stage-meta{color:var(--muted);font-size:10px}.check-button{color:#102020;background:0 0;border:1px solid #3a5958;place-items:center;width:23px;height:23px;padding:0;display:grid}.complete .check-button{border-color:var(--lime);background:var(--lime)}.stage-nav{color:var(--muted);justify-content:center;margin-top:25px;font-size:12px}.icon-button{border:1px solid var(--line);width:31px;height:31px;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.icon-button:disabled{opacity:.3;cursor:not-allowed}.details-grid{grid-template-columns:1.6fr 1fr;gap:14px;margin-top:14px;display:grid}.detail-panel{padding:24px}.defense-columns{grid-template-columns:repeat(2,1fr);gap:22px 28px;margin-top:25px;display:grid}.defense-list h3{color:var(--cyan);margin-bottom:10px;font-size:12px}.unit-row{color:var(--muted);border-bottom:1px solid #254047;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.unit-row span{flex:1}.unit-row strong{color:#e9f2ef}.unit-row.muted{color:#607a77}.unit-icon{object-fit:contain;flex:none;width:22px;height:22px}.calculation{background:linear-gradient(145deg,#183b3b,#13282c)}.calculation>.panel-heading>svg{color:var(--orange)}.formula{margin:35px 0 7px}.formula strong{color:var(--lime);margin-right:8px;font:700 42px Space Grotesk,sans-serif}.formula span{color:var(--muted);font-size:12px}.calculation p{min-height:47px;color:var(--muted);font-size:12px;line-height:1.6}.active-pill,.complete-pill{text-transform:uppercase;letter-spacing:.08em;padding:5px 9px;font-size:10px}.active-pill{color:var(--orange);background:#493923}.complete-pill{color:var(--lime);background:#354723}.undo{color:var(--cyan);background:#204247}.roster-page{padding-top:38px}.roster-page .hero-row{margin-bottom:18px}.roster-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;margin:16px 0 12px;padding:12px 0;font-size:13px}.roster-toolbar strong{color:var(--lime)}.member-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.member-row{color:#e9f2ef;text-align:left;background:#13282c;border:1px solid #254047;align-items:center;gap:8px;min-width:0;min-height:43px;padding:8px 10px;display:flex}.member-row:hover{background:#1a383b;border-color:#3b6264}.member-row.attacked{color:#90a7a4;background:#152c2d;border-color:#496b38}.member-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.member-status{color:var(--muted);flex:none;align-items:center;gap:4px;margin-left:auto;font-size:10px;display:flex}.attacked .member-status{color:var(--lime)}.member-list.editable .member-row{padding:4px 5px}.member-toggle{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:5px 2px;display:flex}.drag-handle{color:#607a77;cursor:grab;flex:none}.move-buttons{flex:none;display:grid}.move-button{width:20px;height:16px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.move-button:hover{color:var(--lime)}.move-button:disabled{opacity:.2;cursor:default}.admin-actions{align-items:center;gap:16px;display:flex}.empty-roster{border:1px dashed var(--line);color:var(--muted);text-align:center;padding:60px 20px}.empty-roster .spinner{margin:auto}.empty-roster h2{color:#e9f2ef;margin:15px 0 8px}.empty-roster p{font-size:13px}.notice{border:1px solid var(--line);padding:12px 14px;font-size:13px}.error-notice{color:#ffc5b5;background:#392622;border-color:#74483d}.modal-backdrop{z-index:5;background:#050e10b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.roster-modal{border:1px solid var(--line);background:var(--bg);width:min(1000px,100%);max-height:90vh;padding:25px;overflow:auto}.roster-content.compact{padding-top:25px}.roster-content.compact .hero-row{margin-bottom:15px}.roster-content.compact h1{font-size:28px}.roster-content.compact .hero-copy{font-size:13px}.admin-login{place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-panel{border:1px solid var(--line);background:#13282cf5;width:min(430px,100%);padding:32px}.admin-login-panel>svg{color:var(--cyan);margin-bottom:20px}.admin-login-panel h1{font-size:34px}.admin-login-panel>p:not(.eyebrow,.notice){color:var(--muted);line-height:1.55}.admin-login-panel label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;gap:7px;margin-top:17px;font-size:12px;font-weight:700;display:grid}.admin-login-panel input{border:1px solid var(--line);color:#f5fbf3;background:#0d2023;outline:0;width:100%;padding:12px}.admin-login-panel input:focus{border-color:var(--cyan)}.admin-login-panel .button{justify-content:center;width:100%;margin-top:22px}.loading-screen{min-height:100vh;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:15px;display:grid}.loading-screen h1{margin:10px 0 0;font-size:30px}.loading-screen p{max-width:400px;line-height:1.5}.spinner{border:3px solid #2d4948;border-top-color:var(--lime);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1000px){.member-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.topbar-inner,.nav-inner,.content{width:min(100% - 30px,640px)}.topbar-inner{min-height:68px}.live-status small{display:none}.content{padding-top:38px}.hero-row{flex-direction:column;align-items:start}.controls,.summary-grid,.details-grid{grid-template-columns:1fr 1fr}.refresh-control{min-height:75px}.stage-grid{grid-template-columns:repeat(5,minmax(115px,1fr));padding:5px 3px 10px;overflow-x:auto}.stage-panel{padding:20px 15px;overflow:hidden}.stage-card{min-width:115px}.details-grid{gap:10px}.defense-columns{grid-template-columns:1fr;gap:15px}.roster-toolbar{flex-direction:column;align-items:start;gap:12px}}@media (width<=600px){.member-list{grid-template-columns:1fr 1fr}.member-status{display:none}.admin-actions{gap:8px}.admin-actions .text-button{font-size:0}.admin-actions .text-button svg{width:18px;height:18px}}@media (width<=500px){.brand span{display:none}.controls,.summary-grid,.details-grid{grid-template-columns:1fr}.summary-card{min-height:95px}.stage-nav{justify-content:space-between}.panel-heading{align-items:start}.panel-heading .text-button{text-align:right;max-width:120px}.nav-inner{gap:22px}.nav-item{font-size:12px}.roster-button{justify-content:center;width:100%}}.effects-list{border-top:1px solid #254047;margin-top:24px;padding-top:18px}.effects-list h3{color:var(--cyan);margin-bottom:10px;font-size:12px}.effect-chips{flex-wrap:wrap;gap:7px;display:flex}.effect-chips span{color:var(--muted);background:#1a3639;padding:7px 9px;font-size:11px}.effect-chips strong{color:var(--orange);margin-left:4px}.muted{color:#607a77}.tracker-toolbar{color:var(--muted);justify-content:space-between;margin:0 0 16px;font-size:13px}.tracker-toolbar strong{color:var(--lime)}.tracker-table-wrap{border:1px solid var(--line);background:#102327d6;overflow-x:auto}.tracker-table{border-collapse:collapse;width:100%;font-size:13px}.tracker-table th,.tracker-table td{text-align:left;white-space:nowrap;padding:10px 14px}.tracker-table thead tr:first-child th{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);font-size:11px}.tracker-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tracker-table th.sortable:hover{color:var(--lime)}.tracker-table .filter-row th{border-bottom:1px solid var(--line);padding:6px 10px}.tracker-table .filter-row input,.tracker-table .filter-row select{border:1px solid var(--line);color:#f5fbf3;background:#0d2023;outline:0;width:100%;padding:7px 9px;font-size:12px}.tracker-table .filter-row input:focus,.tracker-table .filter-row select:focus{border-color:var(--cyan)}.tracker-row.ready{background:#c8f06b29}.tracker-row.ready td{color:#d9f6b0}.tracker-row.not-ready{background:#ff5a5a24}.tracker-row.not-ready td{color:#ffc7c1}.tracker-row+.tracker-row{border-top:1px solid #71ab9f1f}.tracker-empty{color:var(--muted);text-align:center;white-space:normal;padding:30px 14px}.tracker-pagination{color:var(--muted);justify-content:center;align-items:center;gap:14px;margin-top:16px;font-size:12px;display:flex}.best-hour-panel{margin-bottom:20px}.best-hour-panel .text-button{margin-bottom:8px}.best-hour-line{border:1px solid var(--lime);color:var(--lime);background:#c8f06b14;margin:0;padding:12px 16px;font-size:13px;font-weight:600}@media (width<=800px){.tracker-table{font-size:12px}.tracker-table th,.tracker-table td{padding:8px 10px}}
