*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{background:#010814;color:#b8ccdf;font-family:Barlow,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased;line-height:1.6}:root{--navy: #010814;--navy-panel: #060f1e;--navy-raise: #091628;--navy-high: #0c1e34;--blue: #3a7bd5;--blue-light: #5a9ff0;--blue-bright: #a0c8ff;--rune: #4a8fff;--silver: #c0d4ec;--silver-dim: #7a94b4;--silver-muted: #344a64;--border: #0c1e34;--border-mid: #142440;--border-rune: #1e3a60;--green: #2ed88a;--amber: #e8a828;--red: #e04858;--gold: #c8a840;--gold-dim: #8a6820;--text: #b8ccdf;--text-dim: #6a84a4;--text-muted: #304050;--max-w: 1280px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#010814}::-webkit-scrollbar-thumb{background:#142440;border-radius:3px}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes runeGlow{0%,to{filter:drop-shadow(0 0 4px #4a8fff55)}50%{filter:drop-shadow(0 0 14px #4a8fffbb)}}@keyframes scanline{0%{transform:translateY(-100%);opacity:.3}to{transform:translateY(100vh);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}.rise{animation:riseIn .38s cubic-bezier(.22,.68,0,1.15) both}.fadein{animation:fadeIn .3s ease both}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#010814e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-mid);transition:all .3s}.nav.scrolled{background:#010814fa;border-bottom-color:var(--border-rune)}.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;height:62px;display:flex;align-items:center;gap:24px}.nav-logo{font-family:Cinzel Decorative,serif;font-size:1.05rem;letter-spacing:.1em;color:var(--blue-bright);background:none;border:none;cursor:pointer;text-shadow:0 0 16px #3a7bd544;white-space:nowrap;padding:0}.nav-links{display:flex;gap:3px;margin-left:auto}.nav-link{font-family:Cinzel,serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-muted);padding:7px 14px;border-radius:4px;cursor:pointer;transition:all .15s;border:1px solid transparent;background:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.nav-link:hover{color:var(--blue-bright);background:var(--navy-panel);border-color:var(--border-mid)}.nav-link.active{color:var(--blue-bright);background:var(--navy-panel);border-color:var(--border-rune)}.nav-link-gold{color:var(--gold-dim)!important}.nav-link-gold:hover,.nav-link-gold.active{color:var(--gold)!important;border-color:var(--gold-dim)!important}.panel{background:var(--navy-panel);border:1px solid var(--border-mid);border-radius:6px;position:relative;overflow:hidden}.panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(58,123,213,.03),transparent 40%);border-radius:6px}.rc{position:absolute;pointer-events:none;z-index:5}.rc-tl{top:-1px;left:-1px;width:15px;height:15px;border-top:1px solid var(--rune);border-left:1px solid var(--rune);border-radius:4px 0 0}.rc-tr{top:-1px;right:-1px;width:15px;height:15px;border-top:1px solid var(--rune);border-right:1px solid var(--rune);border-radius:0 4px 0 0}.rc-bl{bottom:-1px;left:-1px;width:15px;height:15px;border-bottom:1px solid var(--rune);border-left:1px solid var(--rune);border-radius:0 0 0 4px}.rc-br{bottom:-1px;right:-1px;width:15px;height:15px;border-bottom:1px solid var(--rune);border-right:1px solid var(--rune);border-radius:0 0 4px}.rc-gold-tl{top:-1px;left:-1px;width:15px;height:15px;border-top:1px solid var(--gold);border-left:1px solid var(--gold);border-radius:4px 0 0}.rc-gold-tr{top:-1px;right:-1px;width:15px;height:15px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);border-radius:0 4px 0 0}.rc-gold-bl{bottom:-1px;left:-1px;width:15px;height:15px;border-bottom:1px solid var(--gold);border-left:1px solid var(--gold);border-radius:0 0 0 4px}.rc-gold-br{bottom:-1px;right:-1px;width:15px;height:15px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);border-radius:0 0 4px}.accent{height:2px;background:linear-gradient(90deg,transparent,#142440,#3a7bd5,#5a9ff0,#a0c8ff,#5a9ff0,#3a7bd5,#142440,transparent)}.accent-gold{height:2px;background:linear-gradient(90deg,transparent,#4a3010,#c8a840,#f0d060,#c8a840,#4a3010,transparent)}.accent-sub{height:1px;background:linear-gradient(90deg,transparent,var(--border-mid),transparent)}.btn{background:linear-gradient(180deg,#0c1e38,#050d1a);border:1px solid var(--border-mid);color:var(--blue-light);font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.1em;cursor:pointer;padding:9px 20px;text-transform:uppercase;clip-path:polygon(8px 0%,calc(100% - 8px) 0%,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0% calc(100% - 8px),0% 8px);white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;gap:7px;text-decoration:none}.btn:hover{background:linear-gradient(180deg,#142440,#091628);border-color:var(--blue);color:var(--blue-bright);box-shadow:0 0 14px #3a7bd522}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#143060,#091a40);border-color:var(--blue);color:var(--blue-bright);box-shadow:0 0 10px #3a7bd522}.btn-primary:hover{background:linear-gradient(180deg,#1a3870,#0f2050);box-shadow:0 0 20px #3a7bd544;color:#fff}.btn-gold{background:linear-gradient(180deg,#2a1e04,#140e02);border-color:var(--gold-dim);color:var(--gold)}.btn-gold:hover{background:linear-gradient(180deg,#3a2a08,#1e1404);border-color:var(--gold);box-shadow:0 0 14px #c8a84033;color:#f0d060}.btn-success{background:linear-gradient(180deg,#0c2e1c,#061008);border-color:#2ed88a33;color:var(--green)}.btn-success:hover{border-color:var(--green);box-shadow:0 0 10px #2ed88a22}.btn-danger{background:linear-gradient(180deg,#2e0c10,#140408);border-color:#e0485822;color:var(--red)}.btn-danger:hover{border-color:var(--red);box-shadow:0 0 10px #e0485822}.btn-amber{background:linear-gradient(180deg,#2e1e06,#140c02);border-color:#e8a82822;color:var(--amber)}.btn-amber:hover{border-color:var(--amber);box-shadow:0 0 10px #e8a82822}.btn-ghost{background:transparent;border-color:transparent;clip-path:none;color:var(--silver-muted)}.btn-ghost:hover{background:var(--navy-raise);border-color:var(--border-mid);color:var(--silver-dim)}.btn-sm{padding:6px 14px;font-size:.66rem}.btn-xs{padding:4px 10px;font-size:.6rem}.btn-icon{padding:7px;clip-path:none;border-radius:4px}.btn-lg{padding:13px 30px;font-size:.82rem}input.ipt,select.ipt,textarea.ipt{background:#040c18;border:1px solid var(--border-mid);color:var(--silver);font-family:Barlow,sans-serif;font-size:.92rem;padding:10px 14px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s;border-radius:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none}input.ipt:focus,select.ipt:focus,textarea.ipt:focus{border-color:var(--blue);box-shadow:0 0 0 2px #3a7bd318}input.ipt::placeholder{color:var(--text-muted)}select.ipt option{background:#060f1e}.ipt-label{display:block;font-family:Cinzel,serif;font-size:.6rem;letter-spacing:.14em;color:var(--silver-muted);margin-bottom:5px;text-transform:uppercase}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:3px 10px;font-size:.74rem;font-weight:600;white-space:nowrap}.badge-confirmed{background:#0a2418;border:1px solid #2ed88a33;color:var(--green)}.badge-benched{background:#281806;border:1px solid #e8a82833;color:var(--amber)}.badge-absent{background:#280810;border:1px solid #e0485833;color:var(--red)}.badge-unknown{background:var(--navy-raise);border:1px solid var(--border-mid);color:var(--silver-muted)}.badge-open{background:#0a2418;border:1px solid #2ed88a44;color:var(--green)}.badge-limited{background:#281806;border:1px solid #e8a82844;color:var(--amber)}.badge-closed{background:#280810;border:1px solid #e0485844;color:var(--red)}.class-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;flex-shrink:0;transition:box-shadow .2s}.role-chip{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:3px 10px;font-size:.74rem;font-weight:600;white-space:nowrap}.ilvl-wrap{display:flex;align-items:center;gap:8px}.ilvl-track{height:5px;background:#040c18;border:1px solid var(--border);border-radius:3px;overflow:hidden}.ilvl-fill{height:100%;border-radius:3px;transition:width .7s cubic-bezier(.22,.68,0,1.2)}.roster-row{transition:background .12s;cursor:pointer;border-bottom:1px solid #080e18}.roster-row:hover{background:var(--navy-raise)}.roster-row:last-child{border-bottom:none}.roster-row.open{background:var(--navy-high)}.prog-track{height:8px;background:#040c18;border:1px solid var(--border);border-radius:4px;overflow:hidden}.prog-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(.22,.68,0,1.2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--navy-panel);border:1px solid var(--border-rune);border-radius:6px;position:relative;max-height:90vh;overflow-y:auto;animation:riseIn .25s ease}.section{max-width:var(--max-w);margin:0 auto;padding:80px 24px}.att-table{width:100%;border-collapse:collapse}.att-table th{font-family:Cinzel,serif;font-size:.57rem;letter-spacing:.12em;color:var(--silver-muted);text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--border-mid);text-align:left;background:#040a14;white-space:nowrap}.att-table td{padding:9px 10px;border-bottom:1px solid var(--border);font-size:.86rem}.att-table tr:last-child td{border-bottom:none}.att-table tr:hover td{background:var(--navy-raise)}.log-entry{border-left:3px solid;border-radius:0 4px 4px 0;padding:9px 13px;background:#040c18;margin-bottom:5px}@media (max-width:900px){.hide-md{display:none!important}.nav-link{padding:7px 10px;font-size:.62rem}}@media (max-width:640px){.hide-sm{display:none!important}.nav-link span{display:none}}
