*{box-sizing:border-box;margin:0}html,body{background:#0f172a;color:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{min-height:100vh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{font-family:inherit;cursor:pointer}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.app-header h1{font-size:1.4rem;letter-spacing:-0.02em}.app-header h1 .dot{color:#22c55e}.identity{background:#1e293b;color:#f1f5f9;border:1px solid #334155;border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;white-space:nowrap}.app{flex:1;width:100%;max-width:520px;margin:0 auto;padding:4px 14px 32px;display:flex;flex-direction:column;gap:16px}.app-footer{text-align:center;color:#94a3b8;font-size:.75rem;padding:16px}.loading{color:#94a3b8;text-align:center;padding:48px 0}.card{background:#1e293b;border:1px solid #334155;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}.card h2{font-size:1.15rem}.muted{color:#94a3b8;font-size:.9rem;line-height:1.45}.btn-primary{background:#22c55e;color:#04220f;border:0;border-radius:14px;padding:15px;font-size:1rem;font-weight:700}.btn-primary.subtle{background:#334155;color:#f1f5f9}.btn-primary:disabled{opacity:.5}.btn-secondary{background:#334155;color:#f1f5f9;border:0;border-radius:14px;padding:13px;font-size:.95rem;font-weight:600}.btn-secondary:disabled{opacity:.5}.link-btn{background:none;border:0;color:#94a3b8;font-size:.85rem;text-decoration:underline;padding:6px;align-self:flex-start}.link-btn.danger{color:#ef4444}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.name-btn{background:#334155;color:#f1f5f9;border:1px solid rgba(0,0,0,0);border-radius:14px;padding:20px 10px;font-size:1.05rem;font-weight:600}.name-btn:active{border-color:#22c55e}.days{display:flex;flex-direction:column;gap:10px}.day-card{background:#0f172a;border:1px solid #334155;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}.day-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.day-name{font-weight:700}.day-tally{color:#94a3b8;font-size:.8rem}.seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.seg-btn{background:#334155;color:#94a3b8;border:1px solid rgba(0,0,0,0);border-radius:10px;padding:12px 4px;font-weight:700;font-size:.9rem}.seg-btn.active{color:#04220f}.seg-btn.active.seg-yes{background:#22c55e}.seg-btn.active.seg-maybe{background:#f59e0b;color:#2a1a00}.seg-btn.active.seg-no{background:#ef4444;color:#2a0707}.day-inputs{display:flex;flex-direction:column;gap:8px}.day-input-row{display:flex;gap:8px;align-items:center}input[type=date],select{flex:1;width:100%;background:#0f172a;color:#f1f5f9;border:1px solid #334155;border-radius:10px;padding:12px;font-size:1rem;font-family:inherit}.resolve{display:flex;flex-direction:column;gap:10px;border-top:1px solid #334155;padding-top:14px}.resolve h3{font-size:.95rem}label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#94a3b8}.replies{font-size:.85rem;color:#94a3b8;line-height:1.5}.replies strong{color:#f1f5f9}.result-date{text-align:center;font-size:1.5rem;font-weight:800;color:#22c55e}.group{display:flex;flex-direction:column;gap:8px}.group h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.player-row{display:flex;align-items:center;gap:10px;background:#0f172a;border:1px solid #334155;border-radius:10px;padding:13px 14px;font-weight:600}.player-row.playing{border-color:rgba(34,197,94,.5)}.player-row.dim{opacity:.6}.player-row .tag{margin-left:auto;font-size:.72rem;font-weight:700;text-transform:uppercase;color:#94a3b8}button.player-row{width:100%;text-align:left;color:#f1f5f9}button.player-row.player-toggle.on{opacity:1;border-color:#22c55e}.banner{border-radius:10px;padding:12px 14px;font-size:.9rem;display:flex;gap:10px;align-items:center}.banner.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.4);color:#fecaca}.banner.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#fde68a}.banner button{margin-left:auto;background:none;border:0;color:inherit;font-size:1.2rem;line-height:1}
