:root{--bg:#f4efe6;--fg:#1f2a24;--accent:#2f6f4f;--muted:#6b746e;--error:#b3261e;--surface:#fff;--accent-text:var(--accent);--on-accent:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}:root[data-theme=coral]{--bg:#293241;--surface:#384250;--fg:#e0fbfc;--muted:#9aafb5;--accent:#ee6c4d;--on-accent:#293241;--error:#ffb4ab;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=plum]{--bg:#31031f;--surface:#00382e;--fg:#f9e1e2;--muted:#c98790;--accent:#efa8ac;--on-accent:#31031f;--error:#ffb4ab;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=lavender]{--bg:#faf0ca;--surface:#fdfaec;--fg:#0d3b66;--muted:#48687f;--accent:#9381ff;--accent-text:#5762ba;--on-accent:#0d3b66;--error:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0}.page{max-width:640px;margin:0 auto;padding:24px 16px}.page.narrow{max-width:400px}form{flex-direction:column;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}input{border:1px solid color-mix(in srgb, var(--muted) 40%, transparent);background:var(--surface);color:var(--fg);border-radius:10px;padding:12px;font-size:17px}button{background:var(--accent);color:var(--on-accent);border:0;border-radius:10px;padding:12px;font-size:17px;font-weight:600}button:disabled{opacity:.6}button.link{color:var(--accent-text);background:0 0;font-weight:400}.error{color:var(--error)}h1{margin:0 0 8px;font-size:26px}h2{margin:0 0 12px;font-size:17px}a{color:var(--accent-text)}.muted{color:var(--muted)}.notice{color:var(--accent-text)}.stack{flex-direction:column;gap:16px;display:flex}.row{gap:8px;display:flex}.row>*{flex:1}.card{background:var(--surface);border-radius:14px;padding:16px}button.secondary{color:var(--accent-text);border:1px solid var(--accent-text);background:0 0}button.danger,button.link.danger{color:var(--error);border-color:var(--error)}.code{letter-spacing:3px;margin:0 0 4px;font:600 28px ui-monospace,SF Mono,Menlo,monospace}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid color-mix(in srgb, var(--muted) 20%, transparent);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.list li:last-child{border-bottom:0}.list button{padding:4px 8px;font-size:15px}.topbar{background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--muted) 20%, transparent);padding:12px 16px;font-size:17px;position:sticky;top:0}.topbar select{color:var(--fg);background:0 0;border:0;padding:0;font-size:17px;font-weight:600}main.page{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.tabbar{background:var(--surface);border-top:1px solid color-mix(in srgb, var(--muted) 20%, transparent);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{text-align:center;color:var(--muted);flex:1;padding:14px 0;font-weight:500;text-decoration:none}.tabbar a.active{color:var(--accent-text)}.small{font-size:13px}.tile{color:var(--fg);align-items:center;gap:14px;text-decoration:none;display:flex}.tile-icon{font-size:30px}.toggle{width:100%;color:var(--fg);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;font-size:17px}input[type=checkbox][role=switch]{appearance:none;background:color-mix(in srgb, var(--muted) 35%, transparent);border:0;border-radius:31px;flex:none;width:51px;height:31px;padding:0;transition:background .2s;position:relative}input[type=checkbox][role=switch]:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}input[type=checkbox][role=switch]:checked{background:var(--accent)}input[type=checkbox][role=switch]:checked:after{transform:translate(20px)}input[type=checkbox][role=switch]:disabled{opacity:.6}.row-between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.row-tight{flex-direction:row;align-items:center;gap:6px;display:flex}.grow{flex:1;min-width:0}.list li.stack-tight{flex-direction:column;align-items:stretch;gap:4px}.list li.stack-tight>button{align-self:flex-start;padding:0}.section-title{margin:8px 0 -4px}select{border:1px solid color-mix(in srgb, var(--muted) 40%, transparent);background:var(--surface);color:var(--fg);border-radius:8px;padding:8px;font-size:15px}button.icon{min-width:36px;color:var(--accent-text);border:1px solid color-mix(in srgb, var(--muted) 40%, transparent);background:0 0;flex:none;padding:8px;font-weight:600}button.icon.danger{color:var(--error)}.check{color:var(--fg);flex-direction:row;align-items:center;gap:10px;font-size:17px}.check input{width:20px;height:20px;accent-color:var(--accent)}.badge{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent-text);border-radius:999px;padding:1px 8px;font-weight:600;display:inline-block}.person{border-bottom:1px solid color-mix(in srgb, var(--muted) 20%, transparent);padding:8px 0}.person:last-child{border-bottom:0}.person p{margin:4px 0 0}.card.highlight{outline:2px solid var(--accent)}button.link.small{padding:0;font-size:13px}.status-pill{white-space:nowrap;border-radius:999px;flex:none;padding:2px 9px;font-size:12px;font-weight:600}.status-done,.status-made_up{color:var(--accent-text);background:color-mix(in srgb, var(--accent) 14%, transparent)}.status-missed{color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent)}.status-skipped,.status-open{color:var(--muted);background:color-mix(in srgb, var(--muted) 14%, transparent)}.themes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:1px solid color-mix(in srgb, var(--muted) 35%, transparent);color:var(--fg);cursor:pointer;border-radius:10px;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;font-size:15px;position:relative}.theme-option input{opacity:0;pointer-events:none;position:absolute}.theme-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-option:has(input:focus-visible){outline:2px solid var(--accent-text);outline-offset:2px}.swatches{flex:none;display:flex}.swatches span{border:1px solid color-mix(in srgb, var(--fg) 40%, transparent);border-radius:50%;width:18px;height:18px}.swatches span+span{margin-left:-5px}.language-switch{justify-content:center;gap:16px;margin-top:32px;display:flex}.language-switch button[aria-pressed=true]{font-weight:600;text-decoration:underline}.card>select{width:100%}.pkg-0{--pkg:var(--accent);--pkg-on:var(--on-accent)}.pkg-1{--pkg:#b5651d;--pkg-on:#fff}.pkg-2{--pkg:#3b6ea5;--pkg-on:#fff}.pkg-3{--pkg:#8a4f9a;--pkg-on:#fff}.pkg-4{--pkg:#a33d3d;--pkg-on:#fff}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:8px 4px -8px;display:flex}.section-head h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:13px}.hint{background:color-mix(in srgb, var(--accent) 10%, var(--bg));border-radius:12px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.pkg-badge{background:var(--pkg);width:22px;height:22px;color:var(--pkg-on);border-radius:7px;flex:none;place-items:center;font-size:13px;font-weight:800;display:inline-grid}.pkg-badge.lg{border-radius:9px;width:30px;height:30px;font-size:16px}.pkg-dot{background:var(--pkg);border-radius:50%;flex:none;width:9px;height:9px}table.distribution{border-collapse:collapse;width:100%;font-size:14px}table.distribution th{text-align:left;color:var(--muted);padding:0 6px 6px;font-size:12px;font-weight:600}table.distribution td{vertical-align:middle;padding:7px 6px}table.distribution tr.block-start td{border-top:1px solid color-mix(in srgb, var(--muted) 25%, transparent)}table.distribution .kw{white-space:nowrap;width:1%;padding-right:12px;font-weight:600}table.distribution .kw small{color:var(--muted);font-size:11px;font-weight:400;display:block}table.distribution .now{vertical-align:1px;background:var(--accent);color:var(--on-accent);border-radius:4px;margin-left:4px;padding:1px 5px;font-size:10px}table.distribution .cell{white-space:nowrap;align-items:center;gap:6px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--bg);color:var(--fg);border:1.5px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:600;display:inline-flex}.chip.add{border:1.5px dashed color-mix(in srgb, var(--muted) 55%, transparent);color:var(--muted);background:0 0;font-weight:500}.chip.on{border-color:var(--accent-text)}.person-chip{gap:0;padding:0 8px 0 0}.person-chip .chip-main{color:inherit;background:0 0;align-items:center;gap:8px;padding:8px 6px 8px 8px;font-size:15px;display:inline-flex}.person-chip .pos{background:var(--fg);width:22px;height:22px;color:var(--bg);border-radius:50%;place-items:center;font-size:12px;display:grid}.grip{color:var(--muted);letter-spacing:-2px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:8px 4px;font-size:14px}.dragging{z-index:10;background:var(--surface);border-radius:12px;position:relative;box-shadow:0 8px 24px #0000002e}.drop-over{outline:2px dashed var(--pkg,var(--accent));outline-offset:2px}.card.package{padding:0}.package-head{align-items:center;gap:10px;padding:12px 14px 6px;font-size:18px;display:flex}.load{color:var(--muted);align-items:center;gap:8px;padding:0 14px 10px;font-size:12px;display:flex}.bar{background:var(--bg);border-radius:3px;flex:1;height:6px;overflow:hidden}.bar>span{background:var(--pkg);border-radius:3px;height:100%;transition:width .2s;display:block}.rooms{margin:0;padding:0;list-style:none}.rooms li{border-top:1px solid color-mix(in srgb, var(--muted) 20%, transparent);align-items:center;gap:4px;padding-left:10px;display:flex}.rooms li.dragging{border-top-color:#0000}.room-link{color:var(--fg);flex:1;align-items:center;gap:10px;padding:12px 14px 12px 4px;font-size:16px;font-weight:500;text-decoration:none;display:flex}.chev{color:var(--muted);font-size:18px}.drop-zone{border:1.5px dashed color-mix(in srgb, var(--pkg) 60%, transparent);background:color-mix(in srgb, var(--pkg) 8%, transparent);color:var(--pkg);text-align:center;border-radius:10px;margin:0 14px 12px;padding:10px;font-size:13px;font-weight:600}.add-dashed{color:var(--accent-text);border:1.5px dashed color-mix(in srgb, var(--muted) 55%, transparent);background:0 0;border-radius:14px}a.back{font-size:17px;text-decoration:none}.title-input{background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:4px 0;font-size:26px;font-weight:700}.title-input:focus{border-bottom-color:var(--accent);outline:none}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:13px}.segmented{background:color-mix(in srgb, var(--muted) 14%, var(--bg));border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{color:var(--muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 4px;font-size:15px;font-weight:500;display:flex}.segmented button.on{background:var(--surface);color:var(--fg);font-weight:600;box-shadow:0 1px 3px #0000001f}.card.task-list{padding:0;overflow:hidden}.task-section{text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--bg) 55%, var(--surface));justify-content:space-between;padding:9px 14px 5px;font-size:12px;font-weight:600;display:flex}.task-section span+span{text-transform:none}.task-row,.add-row{width:100%;color:var(--fg);text-align:left;border-top:1px solid color-mix(in srgb, var(--muted) 20%, transparent);background:0 0;border-radius:0;align-items:center;padding:12px 14px;font-size:16px;font-weight:400;display:flex}.task-section+.task-row,.task-list>.add-row:first-child{border-top:0}.add-row{color:var(--accent-text);font-size:15px;font-weight:600}.sheet-backdrop{z-index:100;background:#141a176b;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;max-height:90dvh;padding:10px 16px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-radius:22px 22px 0 0;gap:16px;margin:0 auto;overflow-y:auto}.sheet-grabber{background:color-mix(in srgb, var(--muted) 30%, transparent);border-radius:3px;width:38px;height:5px;margin:0 auto -4px}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head button.link{padding:0}button.link.strong{font-weight:600}.room-chip{font-weight:500}.chips+p{margin:10px 0 0}a.pill-link{background:var(--surface);border-radius:999px;padding:6px 12px;font-size:15px;font-weight:600;text-decoration:none}.person-card{padding:0;overflow:hidden}.person-head{align-items:center;gap:10px;padding:14px 14px 8px;display:flex}.person-head .grow{flex-direction:column;gap:2px;display:flex}.person-title{font-size:18px}.person-card.hero .person-title{font-size:22px}.progress-count{font-variant-numeric:tabular-nums;font-weight:700}.progress{background:var(--bg);border-radius:3px;height:6px;margin:0 14px 12px;overflow:hidden}.progress>span{background:var(--accent);border-radius:3px;height:100%;transition:width .3s;display:block}.empty-week{color:var(--muted);margin:0;padding:4px 14px 16px}.all-done{color:var(--accent-text);margin:-4px 14px 10px;font-weight:600}.room-label{align-items:center;gap:6px;display:inline-flex}.todo{border-top:1px solid color-mix(in srgb, var(--muted) 20%, transparent)}.task-section+.todo{border-top:0}.todo-row{align-items:center;display:flex}.todo-main{color:var(--fg);flex-direction:row;flex:1;align-items:center;gap:12px;padding:11px 14px;font-size:16px}.todo-text{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.todo-text .done{color:var(--muted);text-decoration:line-through}.todo-note{color:var(--muted);margin:-6px 14px 10px 50px;font-size:13px}.mini-chip{color:var(--muted);background:color-mix(in srgb, var(--muted) 14%, transparent);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}button.more{color:var(--muted);background:0 0;flex:none;padding:8px 14px;font-size:20px;line-height:1}input[type=checkbox].tick{appearance:none;border:2px solid color-mix(in srgb, var(--muted) 55%, transparent);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin:0;padding:0;transition:background .15s,border-color .15s;display:grid}input[type=checkbox].tick:after{content:"";border:solid var(--on-accent);border-width:0 2.5px 2.5px 0;width:6px;height:11px;margin-top:-2px;transition:transform .15s;transform:rotate(45deg)scale(0)}input[type=checkbox].tick:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox].tick:checked:after{transform:rotate(45deg)scale(1)}input[type=checkbox].tick:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.list-card{padding:0;overflow:hidden}.card-hint{margin:0;padding:12px 14px 4px}.list-row{border-top:1px solid color-mix(in srgb, var(--muted) 20%, transparent);align-items:center;gap:8px;padding:11px 14px;display:flex}.card-hint+.list-row{border-top:0}.list-row .grow{flex-direction:column;gap:2px;display:flex}.row-meta{display:block}button.compact{border-radius:9px;flex:none;padding:7px 11px;font-size:14px}.quote-row{grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;gap:12px;display:grid}.quote-name{flex-direction:column;display:flex}.quote-row .progress{margin:0}.missed-row{flex-wrap:wrap}.missed-row .grow{flex-basis:100%}.swap-card h2{margin-bottom:4px}.swap-request p{margin:0 0 10px}.swap-request+.swap-request{border-top:1px solid color-mix(in srgb, var(--muted) 20%, transparent);margin-top:12px;padding-top:12px}.sheet:not(form){flex-direction:column;display:flex}.sheet-options{flex-direction:column;gap:8px;display:flex}
