@font-face{font-family:"Poppins";font-weight:300;font-display:swap;src:url(fonts/poppins-300.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url(fonts/poppins-500.woff2) format("woff2")}
:root{--bg:#141618;--surface:#1c1f22;--text:#f3f3ee;--muted:#a8adae;--line:#2a2e32;--os:#DEC27E;--hq:#12ADBE;--rx:#A6E400;--ai:#A65FFF}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 "SF Pro Text",-apple-system,BlinkMacSystemFont,"Inter","Roboto",sans-serif}
h1,h2,h3{font-family:"Poppins",system-ui,sans-serif;margin:0 0 12px}a{color:var(--os)}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 30px;border-bottom:1px solid var(--line);background:var(--surface)}
.brand{text-decoration:none;color:var(--text);font:700 18px "Poppins",sans-serif}.brand b{color:var(--os)}.top nav{display:flex;gap:22px}.top nav a{color:var(--muted);text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:36px 24px 80px}.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px}
.card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;color:var(--text)}.card:hover{border-color:var(--os)}
.tag{display:inline-block;width:fit-content;border-radius:999px;padding:3px 12px;font-size:13px;border:1px solid var(--line)}.tag.ok{color:var(--rx);border-color:var(--rx)}.tag.warn{color:var(--os);border-color:var(--os)}
.btn{background:var(--os);color:var(--bg);border:0;border-radius:999px;padding:10px 20px;font:600 15px "Poppins",sans-serif;cursor:pointer}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.gold{background:var(--os)}.btn:disabled{opacity:.5}
.btn.sm{padding:5px 11px;font-size:13px}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;position:sticky;top:0;background:var(--bg);padding:12px 0;z-index:5;border-bottom:1px solid var(--line)}
#msg{min-height:26px;margin:10px 0}#msg.err{color:#ff8f8f}#msg.good{color:var(--rx)}
label{display:block;margin:10px 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
input[type=text],input[type=password],textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit}
textarea{resize:vertical;min-height:44px}textarea#raw{min-height:60vh;font:14px/1.5 ui-monospace,Menlo,monospace}
input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--os);outline-offset:2px}
.obj{border-left:2px solid var(--line);padding-left:16px;margin:6px 0 10px}
.item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}.item>.head{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}
.item>.head b{font-family:"Poppins",sans-serif}.ctl{display:flex;gap:6px}.item .body{margin-top:8px}.item.closed .body{display:none}
.sec{margin:14px 0 4px;color:var(--os);font:600 14px "Poppins",sans-serif}
.list{list-style:none;padding:0;display:grid;gap:8px}.list li{display:flex;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 14px}
.login{display:grid;place-items:center;min-height:100vh}.box{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:34px;width:min(92vw,400px)}.err{color:#ff8f8f}

.top .brand img{width:130px;height:auto}
.login .box .btn{margin-top:20px}
.login .box label{display:flex;flex-direction:column;gap:10px;margin:0 0 6px}
.login .box input[type=password]{margin-top:0}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1}
.top .brand img{width:130px;height:auto;display:block}
.brand span,.lockup span{font-family:"Poppins",system-ui,sans-serif;font-weight:300;font-size:15px;letter-spacing:.32em;line-height:1;color:var(--text)}
.lockup{display:flex;flex-direction:row;align-items:center;gap:14px;margin:0 0 22px;line-height:1}
.login .box .lockup img{width:180px;max-width:62%;height:auto;display:block}
.lockup span{font-size:18px}
button,.btn,input[type=button],input[type=submit]{font-weight:500}