:root{--bg: #f6f7f5;--surface: #ffffff;--text: #1c2420;--muted: #5d6a63;--accent: #2f7d5b;--accent-text: #ffffff;--border: #d5dbd7;--error: #b3261e;--nav-h: 64px;--accent-soft: #e3f0e9;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--shadow-1: 0 1px 2px rgb(20 40 30 / .06), 0 2px 8px rgb(20 40 30 / .05);--shadow-2: 0 4px 12px rgb(20 40 30 / .1), 0 12px 32px rgb(20 40 30 / .12);--ease: cubic-bezier(.2, .8, .2, 1);--dur: .18s;--member-1: #2f7d5b;--member-2: #3a7ca5;--member-3: #b5651d;--member-4: #8a5fb0;--member-5: #c0476b;--member-6: #8a8a1f;--fs-display: 28px;--fw-display: 700;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #121714;--surface: #1b231f;--text: #e8eeea;--muted: #9aa8a0;--accent: #4fae86;--accent-text: #0b1410;--border: #2d3832;--error: #f2b8b5;--accent-soft: #223a2f;--shadow-1: 0 1px 2px rgb(0 0 0 / .4), 0 2px 8px rgb(0 0 0 / .3);--shadow-2: 0 4px 12px rgb(0 0 0 / .5), 0 12px 32px rgb(0 0 0 / .5);--member-1: #4fae86;--member-2: #6aa8d1;--member-3: #d9955a;--member-4: #b895d6;--member-5: #e07a9a;--member-6: #c2c25a}}@media (prefers-reduced-motion: reduce){:root{--dur: 0ms}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}.page{max-width:560px;margin:0 auto;padding:24px 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}h1{font-size:1.6rem;margin:0 0 12px}.muted{color:var(--muted)}a{color:var(--accent)}.steps{padding-left:1.2rem}.steps li{margin-bottom:12px}.field{display:block;margin-bottom:16px}.field span{display:block;margin-bottom:4px;color:var(--muted);font-size:.9rem}.field input{width:100%;min-height:44px;padding:8px 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px}.btn{display:block;width:100%;min-height:44px;margin:0 0 12px;padding:10px 16px;font:inherit;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer}.btn.primary{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--error);margin:0 0 12px}.navbar{position:fixed;left:0;right:0;bottom:0;display:flex;padding:0 var(--space-2) env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-2)}.navbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--nav-h);color:var(--muted);text-decoration:none;font-size:.75rem;transition:color var(--dur) var(--ease)}.navbar a .icon{padding:4px 14px;box-sizing:content-box;border-radius:var(--radius-lg);transition:background var(--dur) var(--ease)}.navbar a.active{color:var(--accent);font-weight:700}.navbar a.active .icon{background:var(--accent-soft)}.today h2{font-size:1rem;margin:16px 0 4px}.rows{list-style:none;margin:0 0 8px;padding:0}.row{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 0;border-bottom:1px solid var(--border)}.row input[type=checkbox]{width:24px;height:24px;flex:none;accent-color:var(--accent)}.row-check{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;gap:10px;cursor:pointer}.row-name{flex:1;min-width:0}.row.done .row-name{text-decoration:line-through;color:var(--muted)}.clock{font-variant-numeric:tabular-nums;font-size:.9rem}.clock.running{color:var(--accent);font-weight:700}.icon-btn{flex:none;min-width:44px;min-height:44px;font:inherit;color:var(--accent);background:transparent;border:0;cursor:pointer}.overdue{margin:8px -8px;padding:0 8px 4px;border-left:4px solid var(--error);background:color-mix(in srgb,var(--error) 10%,transparent);border-radius:6px}.group{margin:8px 0}.group summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer}.today-footer{margin:16px 0 0;font-weight:600}.row-btn{flex:1;min-width:0;min-height:48px;display:flex;align-items:center;gap:10px;padding:0;font:inherit;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.row-who{font-size:.85rem}.block{display:block}.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.week h2,.settings h2{font-size:1rem;margin:16px 0 4px}.settings h3{font-size:.95rem;margin:16px 0 4px}.day.rest{opacity:.55}.totals{font-weight:600}.warning{margin:0 0 8px;color:var(--error)}.row.skipped .row-name{color:var(--muted)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-end;background:#0006;animation:fade var(--dur) var(--ease)}.sheet{width:100%;max-width:560px;margin:0 auto;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-2);outline:none;animation:rise var(--dur) var(--ease)}.sheet-grip{display:block;width:40px;height:4px;margin:0 auto var(--space-3);background:var(--border);border-radius:2px}.sheet h2{margin-top:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.check input{width:22px;height:22px;accent-color:var(--accent)}.toggles{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;border:0}.toggles legend{padding:0;margin-bottom:4px;color:var(--muted);font-size:.9rem}.toggle{min-width:44px;min-height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer}.toggle.on{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.field select{width:100%;min-height:44px;padding:8px 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px}.interval{display:flex;align-items:flex-end;gap:10px}.interval .field{flex:1}.interval>.muted{margin-bottom:26px}.suggestion{margin:-8px 0 16px}.link-btn{min-height:44px;padding:0 4px;font:inherit;color:var(--accent);background:transparent;border:0;cursor:pointer}.btn.danger{color:var(--error)}.capacity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:0 12px}.capacity-grid .field input{width:100%}.invite{display:flex;gap:10px}.invite input{flex:1;min-width:0;min-height:44px;padding:8px 12px;font:inherit;letter-spacing:.1em;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px}.invite .btn{width:auto}.participants{margin:0 0 16px;padding:0;border:0}.participants legend{color:var(--muted);font-size:.9rem}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;color:#fff;font-weight:700;border-radius:50%}@media (prefers-color-scheme: dark){.avatar{color:#0b1410}}.avatar.sm{width:24px;height:24px;font-size:.75rem}.ring{display:inline-flex;align-items:center;gap:var(--space-3)}.ring-track{stroke:var(--border)}.ring-value{stroke:var(--accent);transition:stroke-dashoffset var(--dur) var(--ease)}.ring-text{fill:var(--text);font-size:14px;font-weight:700}.ring-label{color:var(--muted)}.toast-host{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--space-4) + env(safe-area-inset-bottom));z-index:20;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:0 var(--space-4);pointer-events:none}.toast{max-width:480px;padding:var(--space-3) var(--space-4);color:var(--accent-text);background:var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:rise var(--dur) var(--ease)}h1{font-size:var(--fs-display);font-weight:var(--fw-display)}.btn,.field input{border-radius:var(--radius-md);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.fairness{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.fairness-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.fairness-track{flex:1;height:10px;background:var(--accent-soft);border-radius:var(--radius-sm);overflow:hidden}.fairness-bar{height:100%;border-radius:var(--radius-sm);transition:width var(--dur) var(--ease)}.fairness-min{min-width:3.5em;text-align:right;font-variant-numeric:tabular-nums}.fairness-carry{margin:var(--space-2) 0 0;font-size:.9rem}.chip{display:inline-block;padding:0 var(--space-2);font-size:.75rem;color:var(--muted);background:var(--accent-soft);border-radius:var(--radius-lg)}.today-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.today-head h1{font-size:var(--fs-display);margin:0}.all-done{font-weight:600;margin:var(--space-2) 0}.today .row{touch-action:pan-y;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.today .row input[type=checkbox]{transition:transform var(--dur) var(--ease)}.row.done input[type=checkbox]{animation:check-pop var(--dur) var(--ease)}.row.done{background:var(--accent-soft)}@keyframes check-pop{50%{transform:scale(1.25)}}.row.card{padding:0;margin-bottom:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.room-icon{flex:none;color:var(--accent);display:inline-flex}.chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.settings .card{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.settings .card>h2{margin-top:0}.settings .card .row{gap:var(--space-2)}@media (prefers-reduced-motion: reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.admin-badge{display:inline-block;padding:2px var(--space-2);font-size:.8rem;font-weight:600;color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent);border:1px solid var(--error);border-radius:var(--radius-lg)}.admin .card{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.admin .card>h2{margin-top:0}.admin a.card{display:block;color:inherit;text-decoration:none}.admin .card .row{gap:var(--space-2)}.field select{width:100%;padding:var(--space-3);font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}
