:root{--bg:#141119;--panel:#1e1a26;--border:#332c3d;--text:#eee6f5;--muted:#a394b3;--accent:#8b3a52;--accent2:#3a5c8b;--danger:#a53232;--wolf:#7a2c3a;--dorf:#2c5a3a;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Arial,sans-serif;line-height:1.4}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border)}
.topbar .brand{color:var(--text);font-weight:700;text-decoration:none;font-size:1.1rem}
.topbar nav a{color:var(--muted);text-decoration:none;margin-left:16px}
.topbar nav a:hover{color:var(--text)}
.container{max-width:1000px;margin:0 auto;padding:20px}
h1{margin-top:0}
h2{border-bottom:1px solid var(--border);padding-bottom:6px;margin-top:32px}
.muted{color:var(--muted)}
.field-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
input,select,button{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.95rem}
input[type=number]{width:80px}
button{cursor:pointer}
button.primary{background:var(--accent);border-color:var(--accent)}
button.danger{background:var(--danger);border-color:var(--danger)}
button:hover{filter:brightness(1.15)}
.name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:14px 0}
.name-grid input{width:100%}
table.role-table{width:100%;border-collapse:collapse;margin:12px 0}
table.role-table th,table.role-table td{border-bottom:1px solid var(--border);padding:8px;text-align:left;vertical-align:middle}
table.role-table tr.dead{opacity:.5;text-decoration:line-through}
.badge{padding:2px 8px;border-radius:10px;font-size:.8rem}
.badge.team-wolf{background:var(--wolf)}
.badge.team-dorf{background:var(--dorf)}
.badge.team-solo{background:#5a4a2c}
.alert-error{background:#4a1f1f;border:1px solid var(--danger);padding:10px;border-radius:6px;margin:10px 0}
.status-bar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--panel);padding:12px;border-radius:8px;margin-bottom:16px}
.wake-order{background:var(--panel);padding:10px 14px;border-radius:8px;margin-bottom:16px}
.wake-order ol{margin:6px 0 0 20px;padding:0}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px}
.card h3{margin-top:0}
.card select,.card input,.card button{width:100%;margin-bottom:8px}
.event-log{list-style:none;padding:0;max-height:320px;overflow-y:auto;background:var(--panel);border-radius:8px;padding:10px}
.event-log li{padding:6px 4px;border-bottom:1px solid var(--border);font-size:.92rem}
.note-input{width:140px}
#role-sum-status.ok{color:#6fbf73}
#role-sum-status.bad{color:#e07a7a}
