:root{--bg: #f3f5f4;--card: #ffffff;--ink: #15211f;--muted: #5d6b68;--line: #dde3e1;--accent: #0f6b5c;--accent-ink: #ffffff;--good: #1f7a4d;--good-bg: #e3f4ea;--warn: #9a5b00;--warn-bg: #fff1d6;--bad: #b3261e;--bad-bg: #fde7e5;--soft: #eef2f1;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1514;--card: #172120;--ink: #e4ece9;--muted: #93a39f;--line: #2a3634;--accent: #4fb8a3;--accent-ink: #0b1312;--good: #7ed3a4;--good-bg: #173326;--warn: #f0c36a;--warn-bg: #3a2c10;--bad: #f2a29c;--bad-bg: #3d1a17;--soft: #1d2928;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2{margin:0}h1{font-size:26px}h2{font-size:17px}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--bad)}.notice{background:var(--warn-bg);color:var(--warn);padding:8px 12px;border-radius:8px}.saved{color:var(--good);font-weight:600}button{font:inherit;border:0;border-radius:8px;padding:8px 14px;background:var(--accent);color:var(--accent-ink);font-weight:600;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--soft);color:var(--ink)}button.danger{background:var(--bad);color:#fff}button.link{background:none;color:var(--accent);padding:4px 6px}input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 10px;width:100%}input[type=checkbox]{width:18px;height:18px}input[type=time]{width:120px}label{display:grid;gap:4px;font-weight:600}textarea{resize:vertical;font-weight:400}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px;align-content:start;min-width:0}.signin{width:min(380px,100%)}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.shell{max-width:1100px;margin:0 auto;padding:0 16px 48px;display:grid;gap:16px}.top{display:flex;align-items:center;gap:12px;padding:14px 0 0}.top strong{font-size:18px;margin-right:auto}.members{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:99px}.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip.add{color:var(--accent)}.member{display:grid;gap:14px}.member-head{display:grid;gap:2px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}.tab{background:none;color:var(--muted);border-radius:0;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.daynav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media(max-width:400px){.grid{grid-template-columns:1fr}}.timeline,.entries{list-style:none;margin:0;padding:0;display:grid}.timeline li,.entries li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.time{font-variant-numeric:tabular-nums;width:44px;color:var(--muted)}.pic{width:24px;text-align:center}.title{flex:1;min-width:0}.flag{margin-left:6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--warn)}.badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--soft);color:var(--muted);white-space:nowrap}.badge.done{background:var(--good-bg);color:var(--good)}.badge.missed{background:var(--bad-bg);color:var(--bad)}.badge.later,.badge.pending{background:var(--warn-bg);color:var(--warn)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 6px;border-top:1px solid var(--line);vertical-align:middle}th{font-size:12px;color:var(--muted);font-weight:600;border-top:0}.card:has(table){overflow-x:auto}tr.off td{opacity:.5}.offset{display:flex;gap:6px;align-items:center}.offset input{width:72px}.tone{font-size:12px;font-weight:700}.tone.optimal{color:var(--good)}.tone.warn{color:var(--warn)}.tone.over{color:var(--bad)}.code{display:grid;gap:4px;justify-items:start}.code span{font:700 40px/1.1 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.08em}.nicknames{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.nick{display:inline-flex;align-items:center;gap:2px;padding:3px 4px 3px 12px;border-radius:99px;background:var(--soft);font-weight:600}.nick .link{padding:0 8px;font-size:18px;line-height:1}.nick-add{display:flex;gap:6px}.nick-add input{width:160px}
