/* Design wie obs-control: dunkel, Arial, max. 560px */
*{box-sizing:border-box}
body{background:#0f1115;color:#fff;font-family:Arial,sans-serif;margin:0 auto;max-width:560px;padding:14px 14px 90px}
a{color:inherit}
header{text-align:center;margin:10px 0 14px}
header b{display:block;font-size:26px;margin-bottom:10px}
header a{display:inline-block;color:#fff;font-size:14px;font-weight:700;text-decoration:none;padding:9px 16px;border-radius:12px;background:#252b36;border:1px solid #374151}
main{display:grid;gap:12px}
.card{background:#151923;border:1px solid #293241;border-radius:16px;padding:14px;text-align:left;min-width:0}
.card h2{margin:0 0 10px;font-size:16px;font-weight:800}
.warn{border-color:#7f1d1d;color:#fca5a5}
.kv{display:grid;gap:6px;padding:10px 0;border-top:1px solid #293241}.card h2+.kv{border-top:0}
.kv span{font-size:12px;color:#9ca3af}.kv code{word-break:break-all;font-size:14px}
button,.btn{font:inherit;font-size:17px;font-weight:800;padding:22px 10px;border-radius:16px;color:#fff;cursor:pointer;background:#123524;border:1px solid #047857}
button:active{transform:scale(.97)}
button.sec{background:#252b36;border-color:#374151;padding:12px;font-size:15px}
button.bad{background:#3a1717;border-color:#7f1d1d}
input{font:inherit;font-size:15px;width:100%;padding:12px;border-radius:10px;border:none;background:#0f1115;color:#fff}
form.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}form.row input{flex:1;min-width:140px}form.row button{padding:12px 16px;font-size:15px}
.mod{display:grid;gap:8px;padding:10px 0;border-top:1px solid #293241}.card h2+.notice+.mod,.card h2+.mod{border-top:0}
.mod .actions{display:flex;gap:8px;flex-wrap:wrap}.mod .actions form{margin:0}.mod button{padding:10px 14px;font-size:14px;border-radius:12px}
.notice{border:1px solid #047857;border-radius:14px;padding:12px;margin-bottom:10px;line-height:1.6}
nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;background:#151923;border-top:1px solid #293241;padding-bottom:env(safe-area-inset-bottom);z-index:50}
nav a{flex:1;max-width:128px;text-align:center;padding:10px 4px;color:#9ca3af;text-decoration:none;font-size:12px}
nav a i{display:block;font-style:normal;font-size:22px}nav a.on{color:#22c55e;font-weight:700}
body.login{display:grid;place-items:center;min-height:100vh;padding:20px}
.login form.card{width:100%;max-width:380px;display:grid;gap:12px}.login h1{margin:0;text-align:center;font-size:26px}.err{color:#ef4444;text-align:center}
.locked main>.card:not(.warn){opacity:.3;pointer-events:none}

.statusGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sec-title{display:none}
.label{font-size:12px;color:#9ca3af;margin-bottom:5px}.value{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.led{width:11px;height:11px;border-radius:50%;background:#4b5563;display:inline-block}
.led.red{background:#ef4444;box-shadow:0 0 10px #ef4444}.led.green{background:#22c55e;box-shadow:0 0 10px #22c55e}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid form{margin:0;display:contents}.grid button{width:100%}
button.blue,.blue{background:#172554;border-color:#1d4ed8}button.blue.active{background:#1d4ed8;border-color:#93c5fd;box-shadow:0 0 14px rgba(59,130,246,.6)}
.hint{font-size:12px;color:#9ca3af;text-align:center;margin:10px 0 0}.hint a{color:#93c5fd}
select{font:inherit;font-size:15px;padding:12px;border-radius:10px;border:none;background:#0f1115;color:#fff}
.mod .label{margin:0}

.info{font-size:14px;color:#cbd5e1;line-height:1.45;margin:8px 0}
.pick{display:grid;gap:10px;margin-top:12px}.pick select{width:100%}.pick button:disabled{opacity:.45;cursor:default}
.grid button.active{background:#1d4ed8;border-color:#93c5fd;box-shadow:0 0 14px rgba(59,130,246,.6)}
details.card summary{font-size:16px;font-weight:800;cursor:pointer}details.card[open] summary{margin-bottom:10px}
form.row{flex-direction:column}form.row input,form.row select,form.row button{width:100%;flex:none}
.grid form{display:contents}

button.safe{background:#123524;border-color:#047857}
.card .value+form{margin-top:12px}.card .value+form button{width:100%}

a.btn{display:block;text-align:center;text-decoration:none;font-size:16px;padding:14px 10px;border-radius:16px}
a.btn.twitch{background:#2e1065;border:1px solid #7c3aed;color:#fff}

.kindform{margin:0}.kindform select{width:100%}

.chatlog{height:calc(100dvh - 300px);min-height:240px;overflow-y:auto;font-size:15px;line-height:1.4;word-break:break-word;margin:8px 0;padding-right:4px}
.chatlog .m{padding:3px 0}.m .t{color:#6b7280;font-size:11px;margin-right:6px}.m .n{font-weight:700;cursor:pointer}
.badge{height:16px;vertical-align:-3px;margin-right:3px}.emote{height:24px;vertical-align:middle}
.m.del{opacity:.4;text-decoration:line-through}.m.notice{color:#c4b5fd;border-left:3px solid #7c3aed;padding-left:8px}
.m .rp{font-size:12px;color:#9ca3af}.m .nt{font-weight:700}
.chatsend{display:flex;gap:8px}.chatsend input{flex:1}.chatsend button{padding:12px 16px;font-size:15px;border-radius:12px}
.chatcard .hint{text-align:left;margin:0}

.sheet{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet[hidden]{display:none}
.sheetBox{background:#151923;border:1px solid #293241;border-radius:16px 16px 0 0;padding:16px;width:100%;max-width:560px;max-height:80vh;overflow-y:auto;display:grid;gap:10px}
.sheetBox .actions{display:flex;gap:8px;flex-wrap:wrap}.sheetBox .actions .btn,.sheetBox .actions button{padding:10px 14px;font-size:14px;border-radius:12px;margin:0}
.hits{display:grid;gap:6px}.hit{font-size:14px;line-height:1.4;word-break:break-word;padding:4px 0;border-top:1px solid #293241}.hit .n{cursor:pointer;color:#c4b5fd;text-decoration:none;font-weight:700;margin-right:4px}
.hit .t{color:#6b7280;font-size:11px;margin-right:6px}
