:root { color-scheme: dark; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#07100d; color:#e9fff6; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at top,#12362a 0,#07100d 48%); }
main { width:min(720px,100%); margin:auto; padding:calc(22px + env(safe-area-inset-top)) 18px calc(36px + env(safe-area-inset-bottom)); }
header { display:flex; align-items:center; gap:13px; margin-bottom:22px; }
.sigil { width:47px; height:47px; display:grid; place-items:center; border:1px solid #3bf5ad; border-radius:14px; font-weight:800; color:#3bf5ad; box-shadow:0 0 22px #22ce8a33 inset; }
.eyebrow { margin:0; color:#6fd9b0; letter-spacing:.14em; font-size:.7rem; }
h1 { margin:2px 0 0; font-size:1.34rem; }
h2 { margin:0 0 10px; font-size:1rem; }
p { line-height:1.45; color:#b6d2c7; }
.pill { margin-left:auto; border:1px solid #365c4e; border-radius:999px; padding:6px 10px; color:#9bc9b6; font-size:.73rem; }
.pill.ok { color:#4ff0b0; border-color:#287858; }
.card,.challenge { border:1px solid #264a3d; border-radius:18px; padding:17px; background:#0d1d18dd; box-shadow:0 14px 35px #0005; margin:13px 0; }
.stack { display:grid; gap:12px; }
.challenge { margin:0; }
.challenge h3 { margin:0 0 7px; font-size:1rem; }
.meta { color:#8eafa2; font-size:.84rem; margin:4px 0; overflow-wrap:anywhere; }
label { display:block; color:#9fc9b8; margin:13px 0 7px; font-size:.86rem; }
input { width:100%; border:1px solid #376451; background:#07120e; color:#fff; border-radius:12px; font-size:1.25rem; letter-spacing:.18em; padding:13px; }
.choice { display:flex; align-items:center; gap:11px; margin:10px 0; padding:12px 13px; border:1px solid #315446; border-radius:12px; background:#091510; }
.choice input { width:22px; height:22px; margin:0; padding:0; accent-color:#35dfa0; }
.choice span { color:#dff8ee; font-weight:650; }
button { width:100%; border:0; border-radius:12px; padding:13px 15px; margin-top:12px; font-weight:750; font-size:.95rem; background:#35dfa0; color:#042218; }
button:disabled { cursor:default; background:#173a2e; color:#66eab5; border:1px solid #2d6e55; opacity:1; }
button.deny { background:#321b20; color:#ffadb7; border:1px solid #7c3641; }
button.quiet { width:auto; margin:0; padding:8px 11px; color:#9ed4be; border:1px solid #38604f; background:transparent; }
.actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.section-head { display:flex; justify-content:space-between; align-items:center; margin:24px 2px 11px; }
.section-head h2 { margin:0; }
.history-head { margin-top:30px; }
.history-item { padding:14px 16px; background:#0a1713bb; box-shadow:none; }
.history-status { display:inline-block; margin:9px 0 0; padding:5px 9px; border-radius:999px; font-size:.78rem; color:#9fc9b8; background:#142a22; }
.status-approved { color:#66eab5; background:#123627; }
.status-denied,.status-failed { color:#ffadb7; background:#321b20; }
.status-expired { color:#d4bd83; background:#302817; }
.connected { border-color:#2d7d5d; }
.hidden { display:none !important; }
.note { opacity:.8; }
#message { min-height:1.5em; text-align:center; color:#66eab5; }
.empty { text-align:center; padding:25px; color:#86aa9c; border:1px dashed #315446; border-radius:16px; }
