@import"https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";:root{--chalk: #f2efe6;--field-dark: #0f3d2e;--field-mid: #154a38;--field-line: rgba(242, 239, 230, .55);--navy: #0b1622;--navy-2: #111f2e;--gold: #d8a73d;--rust: #b5482e;--steel: #3e7cb1;--panel-border: #22354a}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--chalk);font-family:Oswald,sans-serif;min-height:100vh}#root{min-height:100vh}.wrap{max-width:1200px;margin:0 auto;padding:18px 16px 60px}header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:3px solid var(--gold);padding-bottom:14px;margin-bottom:18px}.title-block .eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}.title-block h1{font-family:Anton,sans-serif;font-size:clamp(28px,6vw,44px);letter-spacing:1px;margin:2px 0 0;text-transform:uppercase}.team-input{background:transparent;border:none;border-bottom:2px dotted var(--panel-border);color:var(--chalk);font-family:Anton,sans-serif;font-size:clamp(18px,4vw,26px);letter-spacing:1px;text-transform:uppercase;padding:2px 4px;width:220px}.team-input:focus{outline:none;border-bottom-color:var(--gold)}.toggle-row{display:flex;gap:10px;margin-bottom:16px}.toggle-btn{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;background:var(--navy-2);border:1px solid var(--panel-border);color:var(--chalk);padding:10px 18px;cursor:pointer;border-radius:2px;transition:all .15s ease}.toggle-btn.active-off{background:var(--steel);border-color:var(--steel);color:#0b1622;font-weight:700}.toggle-btn.active-def{background:var(--rust);border-color:var(--rust);color:#0b1622;font-weight:700}.variant-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.variant-btn{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;background:var(--navy-2);border:1px solid var(--panel-border);color:#8fa3b8;padding:6px 12px;cursor:pointer;border-radius:2px;transition:all .15s ease}.variant-btn.active{background:var(--gold);border-color:var(--gold);color:#0b1622;font-weight:700}.toggle-btn:disabled{opacity:.4;cursor:not-allowed}.combined-toggle{margin-left:auto}.combined-toggle.active{background:var(--gold);border-color:var(--gold);color:#0b1622;font-weight:700}.variant-group-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#5f7186;margin:2px 0 6px}.main-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:900px){.main-grid{grid-template-columns:2.1fr 1fr}}.field-card{background:var(--navy-2);border:1px solid var(--panel-border);border-radius:6px;padding:14px}.formation-label{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.field{position:relative;width:100%;border:3px solid var(--chalk);border-radius:3px;overflow:hidden}.field-surface{position:absolute;left:0;right:0;width:100%;background:repeating-linear-gradient(to bottom,var(--field-dark) 0px,var(--field-dark) 40px,var(--field-mid) 40px,var(--field-mid) 80px)}.los{position:absolute;left:0;right:0;top:50%;height:3px;background:var(--gold);box-shadow:0 0 6px #d8a73d99}.los-label{position:absolute;right:6px;top:calc(50% - 20px);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:2px;color:var(--gold)}.pos-slot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;width:78px;z-index:1}.pos-slot-open{z-index:100}.pos-chip{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Anton,sans-serif;font-size:12px;color:#0b1622;border:2px solid rgba(0,0,0,.35)}.pos-chip.off{background:var(--steel)}.pos-chip.def{background:var(--rust)}.pos-name{font-family:JetBrains Mono,monospace;font-size:10px;background:#0b1622d9;border:1px solid var(--panel-border);color:var(--chalk);padding:2px 4px;border-radius:2px;width:100%;text-align:center;cursor:pointer;min-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-name.empty{color:#6b7c8f;font-style:italic}.pos-name:hover{border-color:var(--gold)}.pos-select{position:fixed;z-index:200;transform:translate(-50%);background:var(--navy-2);border:1px solid var(--gold);border-radius:4px;max-height:220px;overflow-y:auto;min-width:180px;box-shadow:0 8px 20px #00000080}.pos-select div{padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:12px;cursor:pointer;border-bottom:1px solid var(--panel-border)}.pos-select div:hover{background:var(--steel);color:#0b1622}.pos-select .clear-opt{color:var(--rust)}.roster-card{background:var(--navy-2);border:1px solid var(--panel-border);border-radius:6px;padding:14px;display:flex;flex-direction:column;max-height:900px}.roster-card h2{font-family:Anton,sans-serif;font-size:20px;letter-spacing:1px;text-transform:uppercase;margin:0 0 4px}.roster-sub{font-family:JetBrains Mono,monospace;font-size:11px;color:#8fa3b8;margin-bottom:10px}.add-row{display:flex;gap:6px;margin-bottom:10px}.add-row input{flex:1;background:var(--navy);border:1px solid var(--panel-border);color:var(--chalk);padding:8px;border-radius:3px;font-family:Oswald,sans-serif;font-size:14px}.add-row button{background:var(--gold);border:none;color:#0b1622;font-family:JetBrains Mono,monospace;font-weight:700;font-size:12px;padding:0 14px;border-radius:3px;cursor:pointer}.roster-list{overflow-y:auto;border-top:1px solid var(--panel-border);padding-top:6px;flex:1}.roster-item{display:flex;flex-direction:column;padding:7px 4px;border-bottom:1px solid #182636;font-size:14px}.roster-item-top{display:flex;align-items:center;justify-content:space-between}.roster-item .rn{font-family:JetBrains Mono,monospace;font-size:11px;color:#5f7186;width:24px}.roster-item .rname{flex:1}.roster-item .rm{background:none;border:none;color:var(--rust);cursor:pointer;font-size:14px;padding:2px 6px}.roster-item.assigned .rname{color:var(--gold)}.roster-item.assigned .rname:after{content:" ●";color:var(--gold);font-size:9px}.rdetails{font-family:JetBrains Mono,monospace;font-size:10.5px;color:#7e93a8;margin-left:24px;margin-top:2px;display:flex;flex-wrap:wrap;gap:8px}.rdetails b{color:#b9c7d4;font-weight:600}.rdetails input{background:var(--navy);border:1px solid var(--panel-border);color:#cfe0ef;font-family:JetBrains Mono,monospace;font-size:10.5px;width:44px;padding:1px 3px;border-radius:2px}.rdetails input.wide{width:64px}.rdetails select{background:var(--navy);border:1px solid var(--panel-border);color:#cfe0ef;font-family:JetBrains Mono,monospace;font-size:10.5px;padding:1px 3px;border-radius:2px}.filter-row{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.filter-row select,.filter-row input{background:var(--navy);border:1px solid var(--panel-border);color:var(--chalk);font-family:JetBrains Mono,monospace;font-size:11px;padding:5px 6px;border-radius:3px}.filter-row input{flex:1;min-width:90px}.legend{display:flex;gap:14px;margin-top:10px;font-family:JetBrains Mono,monospace;font-size:11px;color:#8fa3b8}.legend span{display:flex;align-items:center;gap:5px}.dot{width:10px;height:10px;border-radius:50%}.dot.off{background:var(--steel)}.dot.def{background:var(--rust)}footer{text-align:center;margin-top:20px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;color:#4a5c70}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{width:100%;max-width:340px;background:var(--navy-2);border:1px solid var(--panel-border);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:12px;border-top:3px solid var(--gold)}.login-card .eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}.login-card h1{font-family:Anton,sans-serif;font-size:28px;letter-spacing:1px;text-transform:uppercase;margin:0 0 8px}.login-card input{background:var(--navy);border:1px solid var(--panel-border);color:var(--chalk);padding:10px;border-radius:3px;font-family:Oswald,sans-serif;font-size:15px}.login-card button{background:var(--gold);border:none;color:#0b1622;font-family:JetBrains Mono,monospace;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:12px;border-radius:3px;cursor:pointer;margin-top:6px}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--rust);font-family:JetBrains Mono,monospace;font-size:12px}.sync-status{font-family:JetBrains Mono,monospace;font-size:11px;color:#5f7186}.sign-out-btn{background:none;border:1px solid var(--panel-border);color:#8fa3b8;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:6px 10px;border-radius:2px;cursor:pointer}.sign-out-btn:hover{border-color:var(--gold);color:var(--gold)}.account-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:6px}@media(max-width:700px){.pos-slot{width:56px;gap:2px}.pos-chip{width:28px;height:28px;font-size:10px}.pos-name{font-size:8.5px;padding:1px 3px;min-height:14px}}@media(max-width:480px){.pos-slot{width:42px}.pos-chip{width:24px;height:24px;font-size:9px;border-width:1.5px}.pos-name{font-size:7.5px;padding:1px 2px;min-height:12px}.rdetails input,.rdetails select{font-size:14px;width:60px;padding:5px 6px}.rdetails input.wide{width:84px}.rdetails{gap:10px}.add-row input,.filter-row input,.filter-row select{font-size:14px;padding:8px}}
