:root{color-scheme:dark;font:15px/1.6 "Instrument Sans","Microsoft JhengHei",system-ui,sans-serif;color:#e8edf4;background:#10141b;--panel:#171d27;--border:#2d3747;--muted:#a7b4c6;--accent:#9ee5dc}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
button,input,select{font:inherit}
button{cursor:pointer;border:1px solid var(--border);background:#202937;color:#f1f5fa;border-radius:8px;padding:8px 13px;min-height:42px}
button:hover{border-color:#7da39e}
button:disabled{opacity:.55;cursor:default}
button.primary{background:var(--accent);border-color:var(--accent);color:#142825;font-weight:700}
button.danger,.error{color:#ffaaa4}
a{color:var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,p{margin:0}
h1{font-size:clamp(25px,4vw,34px);line-height:1.2}
h2{font-size:20px}
small,.muted{color:var(--muted)}
.access{width:min(440px,calc(100% - 32px));margin:clamp(36px,12vh,128px) auto;padding:32px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}
.access h1{margin:25px 0 20px}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{padding:4px 8px;border:1px solid #577f80;border-radius:6px;color:var(--accent);font:700 13px/1.7 monospace}
#shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}
aside{display:flex;flex-direction:column;padding:25px 16px;border-right:1px solid var(--border);background:#131921;gap:30px}
nav{display:grid;gap:5px}
nav button{text-align:left;background:transparent;border-color:transparent}
nav button[aria-current="page"]{background:#263b42;color:#bbfff5;border-color:#416065;font-weight:700}
.identity{margin-top:auto;display:grid;gap:8px;color:var(--muted)}
.workspace{padding:clamp(18px,4vw,49px);min-width:0;max-width:1400px;width:100%}
header,.panel-head,.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
header{margin-bottom:22px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px;min-width:0}
.panel>*+*{margin-top:12px}
.collection-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.collection-metrics>.panel{margin:0}
.collection-metrics strong{display:block;font-size:22px}
.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px}
.games>.panel{margin:0}
.badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:20px;padding:3px 9px;color:var(--muted);font-size:12px;white-space:nowrap}
.badge.good{color:var(--accent);border-color:#416965}
.badge.warn{color:#fbd391;border-color:#745737}
dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px}
dt{color:var(--muted)}
dd{margin:0;overflow-wrap:anywhere}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
form{display:grid;gap:12px}
label{display:grid;gap:4px}
input:not([type=checkbox]),select{width:100%;min-width:0;border:1px solid #43516a;border-radius:7px;background:#101722;color:#f4f6fb;padding:9px 11px;min-height:42px}
input[type=checkbox]{accent-color:#89d8d0;width:17px;height:17px}
.check{display:flex;align-items:center;gap:8px}
fieldset{min-width:0;border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left}
th,td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}
th{white-space:nowrap;color:var(--muted);font-size:13px}
code{font-family:monospace;overflow-wrap:anywhere;color:var(--accent)}
dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:22px;background:var(--panel);color:inherit;border:1px solid #465267;border-radius:13px}
dialog::backdrop{background:#080c15bb}
.dialog-head{margin-bottom:14px}
#notice{background:#233840;border:1px solid #486a6d;border-radius:8px;padding:10px 13px;margin-bottom:15px;overflow-wrap:anywhere}
#notice.error{background:#3a252d;border-color:#704b52}
#boot{padding:32px}
@media(max-width:710px){#shell{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--border);padding:14px;gap:12px}nav{display:flex;flex-wrap:wrap}.identity{display:flex;justify-content:space-between;align-items:center}.collection-metrics{gap:6px}.collection-metrics>.panel{padding:11px}.collection-metrics strong{font-size:17px}}
