
:root{
  --bg:#0f172a; --card:#111827; --muted:#94a3b8; --text:#f8fafc; --accent:#22c55e;
  --accent2:#16a34a; --danger:#ef4444; --line:#334155;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#0b1020,#0f172a 55%,#052e16);color:var(--text)}
a{color:#86efac;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:24px}
.card{background:rgba(17,24,39,.92);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-4{grid-template-columns:repeat(4,1fr)}
.btn{display:inline-block;border:none;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;background:var(--accent);color:#06250f}
.btn.secondary{background:#1d4ed8;color:#eff6ff}
.btn.muted{background:#334155;color:#e2e8f0}
.btn.danger{background:var(--danger);color:white}
.input,.select,textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid #475569;background:#0b1220;color:#f8fafc}
label{display:block;font-size:14px;margin:0 0 6px;color:#cbd5e1}
small{color:var(--muted)}
h1,h2,h3,p{margin-top:0}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #334155;vertical-align:top;font-size:14px}
th{text-align:left;color:#cbd5e1}
.badge{display:inline-block;background:#14532d;color:#dcfce7;border-radius:999px;padding:5px 10px;font-size:12px}
.notice{padding:12px 14px;border-radius:12px;background:#082f49;border:1px solid #0ea5e9;color:#e0f2fe}
.error{padding:12px 14px;border-radius:12px;background:#450a0a;border:1px solid #ef4444;color:#fee2e2}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.option{padding:18px 20px;border-radius:18px;background:#0b1220;border:2px solid #1f2937;font-size:clamp(20px,2vw,32px)}
.option b{display:inline-block;min-width:44px}
.public-wrap{min-height:100vh;display:flex;align-items:center}
.public-card{width:min(1300px,92vw);margin:auto;padding:28px}
.public-question{font-size:clamp(32px,3.4vw,56px);line-height:1.16;margin:18px 0 26px}
.public-meta{display:flex;justify-content:space-between;gap:12px;color:#cbd5e1;font-size:clamp(14px,1.3vw,20px);flex-wrap:wrap}
.footer-note{color:#93c5fd;font-size:14px;margin-top:12px}
.login-box{max-width:420px;margin:10vh auto}
@media (max-width:900px){.grid-2,.grid-4{grid-template-columns:1fr}}
