/* RTO // CYBER OPERATIONS — local, dependency-free visual system. */
:root{color-scheme:dark;--bg:#08090d;--panel:#0d1017;--line:#25323d;--muted:#9caeba;--text:#e5eef4;--cyan:#00f0ff;--magenta:#ff0055;--acid:#39ff14;--yellow:#fffb00;--gold:var(--cyan);--green:var(--acid);--display:'Bahnschrift','Arial Black','Noto Sans TC',sans-serif;--mono:'Cascadia Code','JetBrains Mono','Roboto Mono','Consolas',monospace}
body{background-color:var(--bg);background-image:radial-gradient(#2a3b453d .7px,transparent .7px);background-size:18px 18px;font-family:var(--mono);line-height:1.75}
body::after{content:'';position:fixed;inset:0;z-index:20;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#00000022 3px,#00000022 4px);opacity:.26}
::selection{background:var(--cyan);color:#05090b}
button,input,select,textarea{border-radius:0!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;box-shadow:0 0 15px #00f0ff24}
button{transition:color .16s,border-color .16s,background-color .16s,box-shadow .16s}
aside{width:246px;padding:30px 20px 24px;background:#0a0d12;border-color:#00f0ff38;z-index:5}
aside::before{content:'';position:absolute;top:0;left:20px;width:58px;height:3px;background:var(--cyan);box-shadow:0 0 15px #00f0ff50}
.brand{gap:12px}.brand strong{font-family:var(--display);font-size:27px;letter-spacing:6px;line-height:1.3;color:#f3faff}.brand .eyebrow{font-size:9px;letter-spacing:1px}
.crest{width:46px;height:48px;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:var(--cyan);color:#05090c;font-family:var(--display);font-weight:900}
.season{border:1px solid #00f0ff45;border-left:3px solid var(--cyan);border-radius:0;background:#00f0ff06;margin:29px 0 24px;padding:12px 10px;font-size:12px;letter-spacing:1px}.season span{color:#c8d8e0!important;font-size:11px}
nav{gap:6px;padding:2px 0 18px}nav button{border:1px solid transparent;padding:11px 10px;color:#9cabb8;position:relative;font-size:13px}nav button span:first-child{color:#637d8d;width:27px}
nav button:hover{background:#00f0ff08;border-color:#00f0ff38;color:var(--cyan)}nav button.active{background:#00f0ff0b;color:var(--cyan);border:1px solid #00f0ff4d;border-left:3px solid var(--cyan);box-shadow:inset 0 0 20px #00f0ff05}
nav button.active span:first-child{color:var(--cyan)}nav .subnav{border-left:1px solid #00f0ff40;font-size:12px;padding:7px 10px}nav .subnav.active{border-left:2px solid var(--magenta);color:#ff668d}.asideFoot{font-size:10px;border-top:1px solid #25323d;padding-top:18px;line-height:1.9;letter-spacing:.4px}
main{margin-left:246px;max-width:1800px;padding:24px 36px 40px}.top{padding-bottom:16px;margin-bottom:28px;border-bottom:1px solid #00f0ff32;gap:14px}.top>.eyebrow{color:var(--cyan);font-size:10px;letter-spacing:2px}.top>.eyebrow::before{content:'[ ';color:var(--magenta)}.top>.eyebrow::after{content:' ]';color:var(--magenta)}.pill{border:1px solid #39ff143d;border-radius:0;padding:5px 10px;color:#b4c4b5;font-size:10px;background:#39ff1404}.dot{color:var(--acid);text-shadow:0 0 8px #39ff1460}
h1,h2,h3{font-family:var(--display);font-weight:800}h1{font-size:32px;letter-spacing:1px;line-height:1.4}h2{font-size:18px;letter-spacing:.7px}h3{font-size:15px}.heading{padding:4px 0 20px;margin-bottom:22px;border-bottom:1px solid #25323d;align-items:flex-start}.heading .eyebrow{color:var(--magenta);letter-spacing:3px;margin-bottom:10px;font-size:10px}.heading p{font-size:12px;max-width:680px}p{color:var(--muted)}
.btn{border:1px solid var(--cyan);background:var(--cyan);color:#050a10;font-size:12px;font-weight:800;padding:10px 16px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));letter-spacing:.3px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.btn:hover{background:#b1fbff;box-shadow:0 0 18px #00f0ff45}.btn.secondary{clip-path:none;color:#cee0e8;background:#10151d;border-color:#405867}.btn.secondary:hover{border-color:var(--cyan);color:var(--cyan);background:#00f0ff0a;box-shadow:0 0 12px #00f0ff1a}.btn.danger{color:#ff7c9d;background:#ff005508;border-color:#ff00555e}.btn.danger:hover{border-color:var(--magenta);box-shadow:0 0 12px #ff00552a}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.toolbar{gap:10px;align-items:center}
.card{border-radius:0;padding:23px;background:#0d1017;border:1px solid #2c3d49;position:relative;min-width:0}
.card::before{content:'';position:absolute;left:-1px;top:-1px;width:15px;height:2px;background:var(--cyan);pointer-events:none}.card::after{content:'+';position:absolute;right:7px;top:1px;color:#587583;font-size:10px;pointer-events:none}
.stats{gap:14px;margin:25px 0}.stats>.card{border-top:2px solid var(--cyan);padding:19px;min-width:0}.stats>.card:nth-child(2){border-top-color:var(--magenta)}.stats>.card:nth-child(3){border-top-color:var(--acid)}.stats>.card:nth-child(4){border-top-color:var(--yellow)}.stats>.card::before{display:none}.stats>.card::after{content:'//';color:#405c6b;top:10px;right:12px;font-size:11px}.statLabel{font-size:11px;color:#b3c6d0;letter-spacing:.5px}.statNumber{font-family:var(--display);font-size:38px;line-height:1.3;font-weight:800;margin:12px 0 9px;font-variant-numeric:tabular-nums;color:#eaf8ff}.stats>.card:nth-child(1) .statNumber{color:var(--cyan);text-shadow:0 0 18px #00f0ff24}.stats>.card:nth-child(2) .statNumber{color:#ff5c88}.stats>.card:nth-child(3) .statNumber{color:#8fff79}.stats>.card:nth-child(4) .statNumber{color:#f0ee73}.stats .small{font-size:10px;line-height:1.7}.small{color:var(--muted);font-size:12px}.gold{color:var(--cyan)}
.grid{gap:20px;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.sectionbar{padding-bottom:15px;border-bottom:1px solid #25323d}.sectionbar h2::before{content:'// ';color:var(--cyan);font-family:var(--mono);font-size:14px}.sectionbar>.small{font-size:10px;letter-spacing:.4px}
th{background:#101c25;color:#a9c1cf;font-size:11px;letter-spacing:.4px;border-bottom:1px solid #00f0ff3b;padding:12px}td{font-size:12px;padding:15px 12px;border-color:#23313c}tbody tr:hover{background:#00f0ff05}.rank{color:var(--cyan);font-family:var(--display);font-size:16px}.player{font-size:12px;max-width:100%}.player:hover{text-shadow:0 0 9px #00f0ff50}.avatar{border-radius:0;background:#00f0ff0b;border:1px solid #00f0ff38;color:var(--cyan);width:30px;height:30px;clip-path:polygon(0 0,100% 0,100% 80%,80% 100%,0 100%)}
.badge{border-radius:0;border:1px solid #39ff1440;color:#88f973;background:#39ff1407;font-size:10px;letter-spacing:.3px;padding:3px 7px}.badge.amber{color:#f2ed68;background:#fffb0007;border-color:#fffb0038}.badge.blue{color:var(--cyan);background:#00f0ff07;border-color:#00f0ff3d}
.notice{border-radius:0;border:1px solid #fffb0033;border-left:3px solid #c9c64c;color:#d8d5ab;background:#fffb0004;padding:13px 16px;font-size:12px;line-height:1.9}
input,select,textarea{background:#080d13;color:#e5f3fc;border:1px solid #3c5362;font-family:var(--mono);font-size:13px;min-height:40px}input:hover,select:hover,textarea:hover{border-color:#7b9daa}input[type=checkbox]{width:16px!important;height:16px;min-height:0;accent-color:var(--cyan);vertical-align:middle;margin-right:5px}input:disabled,select:disabled{opacity:.58}input[type=date]{min-width:160px}label{font-size:12px;color:#b7cad4}summary{cursor:pointer;color:#b7d8e5;font-size:12px}pre{background:#080d13;border-left:2px solid var(--magenta);padding:14px;color:#bbced8;font-size:12px}
.day{border-radius:0;border-color:#30414f;background:#0b1017;min-height:78px;font-size:12px}.day:hover{border-color:#00f0ff65;color:#dffaff}.day.active{border-color:var(--cyan);background:#00f0ff0c;box-shadow:inset 0 -3px 0 var(--cyan),0 0 14px #00f0ff0f}.day.active strong{color:var(--cyan)}.bar,.bar i{border-radius:0}.bar{height:4px;background:#26323b}.bar i{background:var(--cyan);box-shadow:0 0 9px #00f0ff32}.activity{border-color:#25323d;font-size:12px}.activity .small{font-size:10px}.rule{border-color:#25323d}.rule h3{color:#e4f5ff}
dialog{border-radius:0;background:#0d1119;border:1px solid #00f0ff6b;border-top:3px solid var(--cyan);box-shadow:0 0 50px #00f0ff12;padding:28px}dialog::backdrop{background:#000c;backdrop-filter:blur(3px)}#toast{border-radius:0;border-color:var(--acid);background:#0c1b0c;color:#b6ffa5;font-size:12px;box-shadow:0 0 22px #39ff1420;max-width:calc(100vw - 32px)}.shot{border-radius:0;background:#0b1118;border-color:#30414f}.shot img{border-radius:0}.footer{border-top:1px solid #25323d;padding-top:18px;font-size:10px;gap:10px;color:#8397a6}
/* Signature hero — graphic decoration never overlays data or controls. */
.cyber-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;position:relative;border:1px solid #00f0ff3d;background:#0b1017;margin-bottom:22px;padding:30px 32px;min-height:240px;overflow:hidden;isolation:isolate}
.cyber-hero::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.4;background:linear-gradient(90deg,transparent 49.8%,#00f0ff10 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#00f0ff10 50%,transparent 50.2%);background-size:48px 48px}
.hero-copy{align-self:center}.hero-kicker{color:var(--cyan);font-size:10px;letter-spacing:3px;display:flex;align-items:center;gap:10px}.hero-kicker::before{content:'';width:24px;height:2px;background:var(--magenta)}.hero-title{font-family:var(--display);font-weight:900;font-size:clamp(34px,4vw,62px);line-height:1.07;letter-spacing:2px;margin:17px 0 14px;color:#edf9ff}.hero-title span{color:var(--cyan);text-shadow:3px 2px 0 #ff005540}.hero-sub{font-family:var(--display);font-size:16px;letter-spacing:2px;color:#c6dbe8;margin-bottom:20px}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;letter-spacing:1px;color:#809ba9}.hero-meta b{font-weight:400;color:var(--acid)}.hero-art{align-self:center;justify-self:center;width:215px;height:215px;position:relative}.hero-art svg{width:100%;height:100%}.hero-art::after{content:'110 / RTO';position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:4px;color:#7d9aa8}.hero-corner{position:absolute;right:0;bottom:0;background:var(--magenta);color:#fff;font-size:9px;padding:4px 16px;letter-spacing:2px;clip-path:polygon(12px 0,100% 0,100% 100%,0 100%)}
@media(min-width:1450px){main{padding-left:48px;padding-right:48px}}
@media(max-width:1150px){aside{width:220px;padding-left:14px;padding-right:14px}main{margin-left:220px;padding:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.cyber-hero{grid-template-columns:minmax(0,1fr) 200px}.hero-art{width:180px;height:180px}}
@media(max-width:700px){aside{position:static;width:100%;padding:17px 16px 10px;border-bottom:1px solid #00f0ff3d}aside::before{left:16px}.brand strong{font-size:23px}.crest{width:36px;height:39px}.season,.asideFoot{display:none}nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:17px;overflow:visible;padding-bottom:4px}nav button{min-height:38px;padding:8px;font-size:11px;white-space:nowrap}nav .navgroup{width:100%;order:1;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #23333d;padding-top:5px}nav .subnav{margin:0;font-size:11px}.navgroup[hidden]{display:none!important}main{margin:0;padding:20px 14px}.top{flex-wrap:wrap;gap:8px;margin-bottom:20px}.top>.eyebrow{font-size:8px;letter-spacing:1px}.pill{font-size:9px;padding:3px 7px}.heading{flex-direction:column;gap:14px}h1{font-size:25px}.heading .toolbar{width:100%}.cyber-hero{grid-template-columns:minmax(0,1fr) 95px;padding:23px 17px;min-height:205px}.hero-title{font-size:31px;letter-spacing:1px}.hero-art{width:100px;height:130px}.hero-sub{font-size:12px;letter-spacing:.5px}.hero-kicker{font-size:8px;letter-spacing:1.2px}.hero-meta{font-size:8px;gap:8px}.hero-art::after{font-size:7px;letter-spacing:1px;bottom:7px}.hero-corner{font-size:7px;padding:3px 10px}.card{padding:17px}.stats>.card{padding:16px 12px}.statNumber{font-size:31px}.stats{gap:10px}.fields{grid-template-columns:1fr}.stats .small{font-size:10px}.btn{padding:9px 12px;min-height:42px;font-size:11px}td{padding:13px 10px}.sectionbar{gap:9px}.footer{display:flex;flex-direction:column}.notice{font-size:11px}dialog{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-contrast:more){:root{--muted:#c2d3dd;--line:#67808e}.notice{color:#ffffc9}.card{border-color:#67808e}body::after{display:none}}

/* Focused roster: inset the whole workspace, keeping heading and table aligned. */
.roster-focus{width:100%;max-width:900px;margin-inline:auto}.roster-focus>.heading{flex-direction:column;align-items:flex-start;gap:18px}.roster-focus>.card{padding:24px 28px}.roster-focus th:first-child,.roster-focus td:first-child{width:82px}.roster-focus th:last-child,.roster-focus td:last-child{width:120px}.rank-legend{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}.rank-legend .small{font-size:10px;margin-left:3px}.rank-chip{--rank-color:#a3adb8;display:inline-flex;gap:7px;align-items:center;justify-content:center;min-width:49px;padding:3px 9px;font-family:var(--mono);font-size:11px;font-weight:700;line-height:1.6;color:var(--rank-color);border:1px solid color-mix(in srgb,var(--rank-color) 50%,transparent);background:color-mix(in srgb,var(--rank-color) 8%,#0d1017);white-space:nowrap}.rank-chip i{display:inline-block;width:4px;height:4px;background:var(--rank-color)}.rank-r5{--rank-color:#ff466b}.rank-r4{--rank-color:#ff982e}.rank-r3{--rank-color:#c58aff}.rank-r2{--rank-color:#4aa8ff}.rank-r1{--rank-color:#a3adb8}@media(max-width:700px){.roster-focus>.card{padding:17px 14px}.rank-legend{gap:6px}.rank-legend .small{width:100%;margin-top:4px}.roster-focus>.heading .toolbar{gap:7px}}
/* Shared cloud state */
.cloud-status{margin-bottom:20px;overflow-wrap:anywhere}.cloud-status[hidden]{display:none}.cloud-busy #app button,.cloud-busy #app input,.cloud-busy #app select,.cloud-busy #app textarea,.cloud-busy #modal button,.cloud-busy #modal input,.cloud-busy #modal select{pointer-events:none;opacity:.6}.cloud-busy .top .pill{color:var(--yellow);border-color:#fffb0060}

/* Interactive roster filters and sorting */
.rank-legend button.rank-chip{cursor:pointer;border-radius:0;transition:box-shadow .15s,background .15s;min-height:34px}.rank-legend button.rank-chip:hover,.rank-legend button.rank-chip:focus-visible,.rank-legend .is-selected{background:color-mix(in srgb,var(--rank-color) 19%,#0d1017);border-color:var(--rank-color);box-shadow:0 0 10px color-mix(in srgb,var(--rank-color) 25%,transparent)}.rank-legend .is-selected{outline:1px solid var(--rank-color);outline-offset:2px}.rank-all{--rank-color:#00f0ff}.member-sort-heading{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.member-sort-heading:hover,.member-sort-heading:focus-visible{color:#00f0ff}.member-sort-heading span{color:#00f0ff}.roster-focus select{max-width:100%}
