:root{--bg:#0d0a14;--fg:#f4ead5;--accent:#ff7a1a;--card:#1b1426}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#2a1740,var(--bg) 60%);color:var(--fg);font-family:Georgia,serif}
main{width:min(92vw,520px);padding:2rem;background:var(--card);border:1px solid #3a2a55;border-radius:16px;text-align:center}
h1{color:var(--accent);margin-top:0}
[hidden]{display:none!important}
.btn{background:var(--accent);color:#1a0d00;border:0;padding:.7rem 1.4rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer}
.btn:disabled{opacity:.5;cursor:wait}
input[type=password]{padding:.7rem;border-radius:8px;border:1px solid #555;background:#0d0a14;color:var(--fg);width:100%;margin:1rem 0}
fieldset{border:1px solid #3a2a55;border-radius:8px;margin:0 0 1rem;text-align:left}
label{display:block;padding:.25rem 0;cursor:pointer}
canvas{max-width:100%;height:auto}
#error{color:#ff6b6b;min-height:1.4em}
#wheel-result{font-size:1.6rem;color:var(--accent)}
textarea{width:calc(100% - 1rem);margin:.5rem;padding:.6rem;border-radius:8px;border:1px solid #555;background:#0d0a14;color:var(--fg);font-family:ui-monospace,Consolas,monospace;font-size:.9rem;resize:vertical}
