:root{--bg:#0e0d0e;--panel:#1a181a;--panel-2:#222022;--border:#3a373a;--text:#f1ece9;--muted:#a49ea0;--rose:#e8899f;--rose-ink:#1a0f12;--green:#7fc89a;--yellow:#e8c46a;--red:#ef7b7b;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-size:16px;line-height:1.5}a{color:var(--rose)}a:hover{color:var(--text)}h1,h2,h3,.label,button,.tag,th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-weight:500}h1{margin:0 0 1rem;font-size:1.1rem}h2{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.shell{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.topbar .brand{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.topbar nav{align-items:center;gap:1rem;font-size:.85rem;display:flex}.topbar nav a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}.box{background:var(--panel);border:1px solid var(--border);margin-bottom:1.25rem;padding:1.25rem;position:relative}.box:before,.box:after{content:"";border-color:var(--muted);border-style:solid;width:8px;height:8px;position:absolute}.box:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.box:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.muted{color:var(--muted)}.small{font-size:.85rem}label{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:block}input,select{background:var(--panel-2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:0;padding:.6rem .7rem}input:focus,select:focus{outline:1px solid var(--rose);border-color:var(--rose)}button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;padding:.55rem .9rem;font-size:.8rem}button:hover{border-color:var(--text)}button.primary{background:var(--rose);color:var(--rose-ink);border-color:var(--rose)}button.primary:hover{filter:brightness(1.08)}button.danger{color:var(--red);border-color:var(--red)}button:disabled{opacity:.5;cursor:default}.row{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.row>*{flex:180px}.row>.shrink{flex:none}.stack>*+*{margin-top:.9rem}.tag{border:1px solid var(--border);color:var(--muted);padding:.1rem .45rem;font-size:.7rem;display:inline-block}.tag.rose{border-color:var(--rose);color:var(--rose)}.tag.green{border-color:var(--green);color:var(--green)}.tag.yellow{border-color:var(--yellow);color:var(--yellow)}.notice{border:1px solid var(--border);padding:.75rem 1rem;font-size:.9rem}.notice.error{border-color:var(--red);color:var(--red)}.notice.ok{border-color:var(--green);color:var(--green)}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:.5rem;font-size:.7rem}td{border-bottom:1px solid var(--border);vertical-align:top;padding:.65rem .5rem}.checks{flex-wrap:wrap;gap:.9rem;display:flex}.checks label{color:var(--text);align-items:center;gap:.35rem;margin:0;display:flex}.checks input{width:auto}.center-card{max-width:420px;margin:12vh auto 0}
