:root{--bg:#141A22;--card:#1B242F;--sunk:#10151C;--ink:#ECE7DE;--muted:#A3AEBC;--faint:#7C8798;--line:#2A3542;--line-soft:#222C38;--accent:#E0A45C;--accent-hover:#EDB471;--accent-ink:#1A1206;--quiet:#2A3542;--quiet-hover:#34414F;--ok:#7FB08A;--warn:#E0A45C;--bad:#E8867B;--radius:10px;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Segoe UI",system-ui,-apple-system,Roboto,sans-serif}
main{max-width:640px;margin:0 auto;padding:24px 16px 64px}
h1{font-size:1.6rem;line-height:1.25;letter-spacing:-.01em;margin:0 0 14px}
h2{font-size:1.1rem;line-height:1.3;margin:0 0 10px}
h3{font-size:1rem;margin:16px 0 8px}
p{margin:8px 0}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}
.draft{background:var(--sunk);border-bottom:1px solid var(--line);color:var(--warn);font-size:.85rem;text-align:center;padding:4px 8px}
.card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px;margin:0 0 14px}
.card>:first-child{margin-top:0}
.card>:last-child{margin-bottom:0}
.muted{color:var(--muted);font-size:.92rem}
.ok{color:var(--ok)} .bad{color:var(--bad)} .warn{color:var(--warn)}
.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font:inherit;font-weight:600;line-height:1.25;text-align:center;text-decoration:none;border:1px solid var(--accent);border-radius:var(--radius);padding:12px 20px;cursor:pointer;background:var(--accent);color:var(--accent-ink);transition:background-color .15s ease,border-color .15s ease}
.button:hover,button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}
.button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}
button.quiet{background:var(--quiet);border-color:var(--quiet);color:var(--ink)}
button.quiet:hover{background:var(--quiet-hover);border-color:var(--quiet-hover);color:var(--ink)}
button.danger{background:var(--bad);border-color:var(--bad);color:var(--accent-ink)}
form.inline{display:inline}
form.entry{margin:0}
form.entry input[type=text]{display:block;width:100%;margin:12px 0 0}
.row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0}
label{font-weight:600}
input[type=text],input[type=date],select{font:inherit;color:var(--ink);background:var(--sunk);border:1px solid var(--line);border-radius:6px;padding:10px 12px;max-width:100%}
input::placeholder{color:var(--faint)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;word-break:break-all}
a.profile{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;margin:2px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95rem;font-weight:600;text-decoration:none;word-break:break-all;color:var(--ink);background:var(--quiet);border:1px solid var(--quiet);border-radius:var(--radius)}
a.profile:hover{background:var(--quiet-hover);border-color:var(--quiet-hover);color:var(--ink)}
a.profile:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}
ol.rules li{margin:0 0 10px}
.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:0 8px;margin:2px 4px 2px 0;font-size:.85rem}
footer{margin-top:24px;color:var(--muted);font-size:.85rem}
a.twitch{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:0 .6rem;border:1px solid rgba(145, 70, 255, 0.30);border-radius:6px;background:linear-gradient(45deg,rgba(119, 44, 232, 0.07) 0%,rgba(145, 70, 255, 0.12) 60%,rgba(184, 138, 255, 0.13) 100%),var(--sunk);color:var(--ink);font-size:.875rem;font-weight:600;letter-spacing:-.005em;line-height:1;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}
a.twitch:hover{border-color:rgba(145, 70, 255, 0.65);background:linear-gradient(45deg,rgba(119, 44, 232, 0.14) 0%,rgba(145, 70, 255, 0.22) 60%,rgba(184, 138, 255, 0.24) 100%),var(--sunk);color:var(--ink)}
a.twitch svg{width:18px;height:18px;flex:none;display:block}
a.twitch span{white-space:nowrap}
