:root { color-scheme:dark; background:#1a1a2e; color:#fff; font:16px/1.5 Arial,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; }
header, nav, main { width:100%; max-width:640px; margin:auto; padding:20px; }
header { padding-bottom:0; }
h1, h2 { font-size:18px; font-weight:600; line-height:1.5; margin:0 0 16px; }
p { margin:0 0 16px; overflow-wrap:anywhere; }
button, input, textarea, select { font:inherit; }
button, select { min-height:48px; border:1px solid #777486; border-radius:12px; color:#fff; background:#292941; padding:12px 18px; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
button { cursor:pointer; }
button:disabled { opacity:.55; cursor:default; }
button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, main:focus-visible { outline:3px solid #9b8fef; outline-offset:3px; }
.primary { background:#6c5ce7; border-color:#6c5ce7; }
.danger { background:#b33352; border-color:#b33352; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.actions button { flex:1 1 180px; }
label { display:block; margin:16px 0 8px; }
input:not([type=radio]), textarea { display:block; min-height:48px; width:100%; padding:12px; background:#121224; color:#fff; border:1px solid #8b879a; border-radius:8px; }
textarea { min-height:128px; resize:vertical; }
fieldset { padding:0; margin:24px 0; border:0; }
legend { margin-bottom:12px; font-weight:600; }
.reason { display:flex; align-items:center; gap:12px; min-height:48px; margin:8px 0; padding:12px; border:1px solid #777486; border-radius:12px; }
.reason input { flex:none; width:20px; height:20px; accent-color:#9b8fef; }
.notice { padding:24px; background:#23233a; border-radius:12px; margin-bottom:24px; }
.notice p:last-child { margin-bottom:0; }
.error { padding:16px; margin:16px 0; border-left:4px solid #f58fa3; background:#342438; }
.account { margin:0 0 24px; overflow-wrap:anywhere; }
nav { display:flex; justify-content:flex-end; padding-bottom:0; }
[hidden] { display:none !important; }
.busy { color:#b9afea; }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }
