:root{--bg:#0f1115;--surface:#181b22;--surface-2:#20242d;--text:#e6e6e6;--muted:#8b93a3;--accent:#2b5cff;--accent-text:#fff;--danger:#e5484d;--success:#3dd68c;--radius:12px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:light){:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#eef0f3;--text:#15171c;--muted:#5f6675}}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent)}h1{font-size:1.6rem}h2{margin-top:0;font-size:1.15rem}.container{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 4rem}.center{place-items:center;min-height:60vh;display:grid}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,monospace}.error{color:var(--danger)}.success{color:var(--success)}.topbar{background:var(--surface);border-bottom:1px solid var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.brand{color:var(--text);font-size:1.2rem;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.topbar nav{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.topbar nav a,.tabs a{color:var(--muted);border-radius:8px;padding:.4rem .75rem;text-decoration:none}.topbar nav a.active,.tabs a.active{color:var(--text);background:var(--surface-2)}.tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:8px;padding:.5rem .9rem}button:disabled{opacity:.6;cursor:wait}button.ghost{background:var(--surface-2);color:var(--text)}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button.link{color:var(--accent);background:0 0;padding:0 .3rem}input,select,textarea{font:inherit;background:var(--surface-2);width:100%;color:var(--text);border:1px solid #0000;border-radius:8px;margin-top:.3rem;padding:.55rem .7rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}label{margin-bottom:.9rem;font-size:.9rem;display:block}label.check{align-items:center;gap:.5rem;display:flex}label.check input{width:auto;margin:0}.auth-card{background:var(--surface);border-radius:var(--radius);max-width:400px;margin:8vh auto 0;padding:2rem}.auth-card button{width:100%}.card{background:var(--surface);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem 1.2rem}.card.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card.inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card.inline input{flex:1;min-width:160px;margin:0}.actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.list{margin-top:1rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 1rem;display:grid}.chips{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.chip{background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;margin:0;padding:.25rem .7rem;font-size:.85rem;display:inline-flex}.chip input{display:none}.chip.on{background:var(--accent);color:var(--accent-text)}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;display:grid}.tile{text-align:center;background:var(--surface);border-radius:var(--radius);color:var(--text);flex-direction:column;align-items:center;gap:.5rem;padding:1.4rem 1rem;text-decoration:none;transition:transform .12s,background .12s;display:flex}.tile:hover{background:var(--surface-2);transform:translateY(-2px)}.tile img{object-fit:contain;width:56px;height:56px}.tile-letter{background:var(--accent);width:56px;height:56px;color:var(--accent-text);border-radius:14px;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.tile .muted{font-size:.8rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--surface-2);vertical-align:top;padding:.5rem}td.small{overflow-wrap:anywhere;max-width:380px}code{background:var(--surface-2);border-radius:4px;padding:.1rem .35rem}
