:root{--scale: 1;--bg: #0b1020;--bg-raised: #151b30;--bg-sunken: #070b16;--line: #253050;--line-strong: #35436d;--text: #eef2ff;--text-dim: #9aa7c7;--text-faint: #6a789c;--accent: #4f46e5;--accent-ink: #ffffff;--danger: #e11d48;--danger-ink: color-mix(in srgb, var(--danger) 72%, var(--text));--today: #f59e0b;--backdrop: var(--bg);--tap-min: calc(48px * var(--scale));--tap: calc(56px * var(--scale));--tap-lg: calc(72px * var(--scale));--radius: 14px;--radius-lg: 20px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow: 0 10px 30px rgb(0 0 0 / .45)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--backdrop);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:calc(17px * var(--scale));line-height:1.45;overscroll-behavior:none;user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;min-height:var(--tap-min);touch-action:manipulation}.scroll{overflow:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{display:none}.app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;min-height:0;overflow:hidden}.topbar{display:flex;align-items:center;gap:14px;padding:12px 20px;min-height:80px;background:var(--bg-raised);border-bottom:1px solid var(--line);flex-wrap:wrap}.tabbar{padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--bg-raised);border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.tabbar::-webkit-scrollbar{display:none}.tabbar-inner{display:flex;gap:calc(12px * var(--scale));margin:0 auto;width:100%;min-width:max-content}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(7px * var(--scale));scroll-snap-align:center;flex:1 1 auto;min-width:calc(120px * var(--scale));max-width:calc(220px * var(--scale));height:calc(96px * var(--scale));border-radius:var(--radius-lg);background:var(--bg-sunken);border:2px solid var(--line);color:var(--text-dim);transition:background .15s ease,color .15s ease,transform .07s ease}.tab:active{filter:brightness(1.15)}.tab.is-dragging{box-shadow:var(--shadow);filter:brightness(1.2)}.tab[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tab-label{font-size:calc(16px * var(--scale));font-weight:600}:root[data-tab-shape=pill] .tab{border-radius:999px}:root[data-tab-shape=tray] .tab{border-radius:calc(var(--radius) / 2);background:transparent;border-color:transparent}:root[data-tab-shape=tray] .tabbar{background:var(--bg-sunken)}:root[data-tab-shape=tray] .tab[aria-pressed=true]{background:var(--accent)}:root[data-playful=yes] .tab[aria-pressed=true] svg{animation:tab-bob 2.6s ease-in-out infinite}@keyframes tab-bob{0%,to{translate:0 0}50%{translate:0 -3px}}@media(prefers-reduced-motion:reduce){:root[data-playful=yes] .tab[aria-pressed=true] svg{animation:none}}.tab svg{width:calc(30px * var(--scale));height:calc(30px * var(--scale))}.bar-title{font-size:20px;font-weight:620}.clock{display:flex;align-items:baseline;gap:calc(8px * var(--scale));min-width:0}.clock-time{font-size:calc(20px * var(--scale));font-weight:640;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.clock-date{font-size:calc(13px * var(--scale));color:var(--text-dim);white-space:nowrap}.spacer{flex:1}.range-label{font-size:22px;font-weight:620;min-width:210px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:var(--tap-min);padding:0 18px;height:var(--tap);border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);color:var(--text);font-weight:560;transition:transform .06s ease,background .15s ease}.btn:active{transform:scale(.96)}.btn.primary{background:var(--accent);border-color:transparent}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger-ink)}.btn.icon{padding:0;width:var(--tap)}.btn[aria-pressed=true]{background:var(--accent);border-color:transparent}.btn:disabled{opacity:.4;cursor:default}.btn:disabled:active{transform:none}.segmented{display:flex;gap:6px;padding:6px;background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-lg)}.segmented .btn{height:46px;border:none;background:transparent;padding:0 20px}.segmented .btn[aria-pressed=true]{background:var(--accent)}.chips{display:flex;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:10px;height:var(--tap);padding:0 18px 0 12px;border-radius:999px;background:var(--bg-sunken);border:1px solid var(--line);font-weight:560;opacity:.5;transition:opacity .15s ease,transform .06s ease}.chip[aria-pressed=true]{opacity:1;border-color:var(--line-strong)}.chip:active{transform:scale(.96)}.dot{width:18px;height:18px;border-radius:50%;flex:none}.view{min-height:0;height:100%;padding:18px 20px 24px;overflow:hidden}.grid-week{display:grid;grid-template-columns:70px repeat(7,minmax(0,1fr));height:100%;min-height:0}.grid-day{display:grid;grid-template-columns:70px minmax(0,1fr);height:100%;min-height:0}.col-head{position:sticky;top:0;z-index:3;background:var(--bg);padding:8px 6px 12px;text-align:center;border-bottom:1px solid var(--line)}.col-head .dow{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.col-head .dom{font-size:26px;font-weight:650;font-variant-numeric:tabular-nums}.col-head.is-today .dom{color:var(--today)}.time-gutter{position:relative}.time-label{position:absolute;right:10px;transform:translateY(-50%);font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.day-col{position:relative;border-left:1px solid var(--line)}.hour-line{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.now-line{position:absolute;left:0;right:0;height:2px;background:var(--today);z-index:2;pointer-events:none}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--today)}.event{position:absolute;left:4px;right:4px;border-radius:10px;padding:6px 10px;overflow:hidden;text-align:left;min-height:30px;border-left:4px solid rgb(255 255 255 / .55);display:block}.event:active{filter:brightness(1.2)}.event .t{font-weight:620;font-size:15px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event .m{font-size:12.5px;opacity:.85;font-variant-numeric:tabular-nums}.grid-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:6px;height:100%;min-height:0}.month-cell{background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;padding:8px;min-height:0;display:flex;flex-direction:column;gap:4px;overflow:hidden;text-align:left;align-items:stretch}.month-cell.other-month{opacity:.4}.month-cell.is-today{border-color:var(--today)}.month-cell .n{font-size:17px;font-weight:620;font-variant-numeric:tabular-nums}.month-pill{font-size:12.5px;border-radius:6px;padding:2px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:560}.month-more{font-size:12px;color:var(--text-dim)}.agenda{display:flex;flex-direction:column;gap:26px;height:100%;padding-bottom:40px}.agenda-day h3{margin:0 0 10px;font-size:16px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.agenda-day.is-today h3{color:var(--today)}.agenda-row{display:flex;align-items:center;gap:16px;width:100%;padding:14px 16px;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line);margin-bottom:8px;text-align:left;min-height:var(--tap-lg)}.agenda-row .when{min-width:130px;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:15px}.agenda-row .title{font-size:19px;font-weight:580;flex:1}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;display:flex;align-items:flex-end;justify-content:center;height:100vh;height:100dvh}.sheet{width:min(760px,100%);max-height:92vh;max-height:92dvh;background:var(--bg-raised);border:1px solid var(--line-strong);border-bottom:none;border-radius:24px 24px 0 0;box-shadow:var(--shadow);padding:0 24px;display:flex;flex-direction:column;gap:16px;animation:rise .18s ease-out;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sheet::-webkit-scrollbar{display:none}.sheet>h2{position:sticky;top:0;z-index:3;margin:0;padding:22px 0 12px;background:var(--bg-raised)}.sheet>.sheet-actions{position:sticky;bottom:0;z-index:3;padding:14px 0 22px;background:var(--bg-raised);box-shadow:0 -14px 18px -14px #000000bf}.sheet>:last-child:not(.sheet-actions){margin-bottom:22px}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.sheet h2{margin:0;font-size:24px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em}.field input,.field textarea,.field select{height:var(--tap);padding:0 16px;font-size:18px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);color:var(--text)}.field textarea{height:auto;min-height:90px;padding:14px 16px;resize:none}.field-hint{font-size:13.5px;color:var(--text-faint);line-height:1.4}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px}.row{display:flex;gap:14px}.row>*{flex:1}.sheet-actions{display:flex;gap:12px;align-items:center;margin-top:auto}.banner{padding:10px 20px;background:#7f1d1d;color:#fff;font-weight:560;text-align:center}.empty{color:var(--text-faint);text-align:center;padding:60px 20px;font-size:18px}.chores-view{height:100%;min-height:0;display:flex;flex-direction:column}.kanban{flex:1;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,420px);justify-content:start;gap:16px;overflow-x:auto;scrollbar-width:none}.kanban::-webkit-scrollbar{display:none}.lane{display:flex;flex-direction:column;min-height:0;gap:12px}.lane-head{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:14px 16px 16px;border-radius:var(--radius-lg);background:var(--bg-raised);border:2px solid var(--line);text-align:left;position:relative;overflow:hidden}.lane-head:active{transform:scale(.99)}.lane-name{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:620}.lane-points{grid-column:2;grid-row:1 / span 2;font-size:38px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.lane-meta{grid-column:1;font-size:13px;color:var(--text-dim)}.lane-progress{position:absolute;left:0;right:0;bottom:0;height:5px}.lane-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-bottom:12px}.lane-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:118px;padding:16px 18px;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line);border-left:5px solid var(--line-strong);text-align:left;width:100%;transition:transform .08s ease,opacity .2s ease}.lane-card:active:not(:disabled){transform:scale(.97)}.lane-card.is-done{opacity:.4}.lane-card.is-done .lane-card-title{text-decoration:line-through}.lane-card.is-awaiting{opacity:.8;border-style:dashed}.lane-card-title{font-size:21px;font-weight:600;line-height:1.2}.lane-card-foot{display:flex;align-items:baseline;gap:10px;width:100%}.lane-card-points{font-size:15px;color:var(--text-dim);font-variant-numeric:tabular-nums}.lane-card-state{font-size:13px;color:var(--text-faint)}.lane-clear{padding:14px 4px;color:var(--text-faint);font-size:15px;text-align:center}.pin-sheet{width:min(440px,100%);align-items:stretch}.pin-dots{display:flex;gap:16px;justify-content:center;padding:8px 0}.pin-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong)}.pin-dot.filled{background:var(--accent);border-color:var(--accent)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.key{height:var(--tap-lg);border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.key:active:not(:disabled){transform:scale(.95);background:var(--line)}.key.primary{background:var(--accent);border-color:transparent;font-size:18px}.key:disabled{opacity:.4}.scoreboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,280px));justify-content:start;gap:14px;margin-bottom:26px}.score-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:4px 12px;padding:16px 20px;border-radius:var(--radius-lg);background:var(--bg-raised);border:2px solid var(--line);text-align:left;min-height:96px}.score-card:active{transform:scale(.98)}.score-dot{width:16px;height:16px;border-radius:50%;grid-row:1}.score-name{grid-row:1;font-size:18px;font-weight:600}.score-points{grid-row:2;grid-column:1;font-size:40px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.score-label{grid-row:2;grid-column:2;justify-self:start;align-self:end;padding-bottom:3px;font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;line-height:1.2}.reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.reward-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:150px;padding:18px 20px;border-radius:var(--radius-lg);background:var(--bg-raised);border:2px solid var(--line);text-align:left;transition:transform .08s ease,opacity .2s ease}.reward-card:active:not(:disabled){transform:scale(.97)}.reward-card.is-locked{opacity:.6;border-style:dashed}.reward-title{font-size:22px;font-weight:620;line-height:1.2;flex:1}.reward-points{font-size:17px;color:var(--text-dim);font-variant-numeric:tabular-nums}.reward-state{font-size:14px;color:var(--text-faint)}.rewards-view{height:100%;min-height:0;display:flex;flex-direction:column;gap:4px}.section-head{font-size:16px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:26px 0 12px}.queue{background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:8px}.queue h3{margin:0 0 12px;font-size:15px;color:var(--today);text-transform:uppercase;letter-spacing:.08em}.queue-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.queue-row:first-of-type{border-top:none}.queue-text{flex:1;font-size:18px}.queue-cost{color:var(--text-dim);font-variant-numeric:tabular-nums}.entertainment{height:100%;padding-bottom:40px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));justify-content:start;gap:16px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:180px;padding:20px 22px;border-radius:var(--radius-lg);background:var(--bg-raised);border:2px dashed var(--line);text-align:left}.tile:disabled{opacity:.55;cursor:default}.tile-title{font-size:23px;font-weight:620}.tile-detail{font-size:15px;color:var(--text-dim);line-height:1.4;flex:1}.tile-note{font-size:13px;color:var(--today);text-transform:uppercase;letter-spacing:.07em}.entertainment-foot{margin-top:26px;max-width:62ch;color:var(--text-faint);font-size:14.5px;line-height:1.5}.pairing{display:grid;place-items:center;height:100%;padding:24px}.pairing-card{width:min(620px,100%);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:16px}.pairing-card h1{margin:0;font-size:30px}.pairing-card p{margin:0;color:var(--text-dim)}.pairing-hint{font-size:13px;color:var(--text-faint)}.pairing-hint code{display:block;margin-top:8px;padding:10px 12px;background:var(--bg-sunken);border-radius:8px;font-size:12px;word-break:break-all;user-select:text;-webkit-user-select:text}.stepper{display:flex;align-items:center;gap:12px}.stepper .btn.icon{width:var(--tap-lg);height:var(--tap-lg);font-size:28px;font-weight:600}.stepper-input{width:140px;height:var(--tap-lg);padding:0 16px;font-size:26px;font-weight:620;text-align:center;font-variant-numeric:tabular-nums;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);color:var(--text)}.stepper-input:focus{outline:2px solid var(--accent);outline-offset:1px}.stepper-unit{color:var(--text-dim);font-size:16px}.lane-card.reward{min-height:132px}.lane-card.reward.is-locked{opacity:.72;border-style:solid}.reward-bar{width:100%;height:6px;border-radius:3px;overflow:hidden}.notice{padding:10px 20px;margin-bottom:14px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 22%,var(--bg-raised));border:1px solid var(--accent);color:var(--text);font-weight:560;text-align:center}.queue.owed{border-color:var(--today)}.queue.owed h3{color:var(--today)}.lane-card.reward.is-owed{opacity:1;border-style:solid;border-color:var(--today);border-left-color:var(--today)!important}.lane-card.reward.is-owed .lane-card-state{color:var(--today);font-weight:600}.settings{height:100%;padding-bottom:40px;display:flex;flex-direction:column;gap:18px;max-width:900px}.panel{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;display:flex;flex-direction:column;gap:18px}.panel h3{margin:0;font-size:15px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.swatches{display:flex;flex-wrap:wrap;gap:12px}.swatch{position:relative;width:var(--tap);height:var(--tap);min-height:var(--tap);border-radius:50%;border:3px solid transparent;transition:transform .08s ease}.swatch[aria-pressed=true]{border-color:var(--text);transform:scale(1.08)}.swatch-taken{position:absolute;right:2px;bottom:2px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--bg-raised)}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.person{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;padding:14px 16px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);text-align:left;min-height:var(--tap-lg)}.person:active{transform:scale(.98)}.person-dot{width:18px;height:18px;border-radius:50%;grid-row:1 / span 2}.person-name{font-size:18px;font-weight:600}.person-role{grid-column:2;font-size:13px;color:var(--text-dim)}.person-edit{grid-column:3;grid-row:1 / span 2;font-size:14px;color:var(--accent);font-weight:600}.token-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.token-row code{padding:12px 16px;background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius);font-size:15px;letter-spacing:.06em}.danger-zone{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--bg-raised))}.danger-zone span{color:var(--text-dim);font-size:14.5px;line-height:1.45}.onboarding{display:grid;place-items:center;height:100dvh;padding:24px;overflow:auto}.onboard-card{width:min(720px,100%);background:var(--bg-raised);border:1px solid var(--line);border-radius:24px;padding:36px 38px 28px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow)}.onboard-card h1{margin:0;font-size:42px;letter-spacing:-.02em;color:var(--text)}.onboard-card h2{margin:0;font-size:28px}.onboard-hero{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--text-dim);padding:8px 0 4px}.onboard-tagline{margin:0;font-size:18px;color:var(--text-dim)}.onboard-sub{margin:0;color:var(--text-dim);line-height:1.5}.onboard-points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.onboard-points li{color:var(--text-dim);line-height:1.5;padding-left:18px;border-left:3px solid var(--line-strong)}.onboard-points strong{color:var(--text);display:block}.onboard-actions{display:flex;gap:12px;align-items:center;margin-top:4px}.draft-list{display:flex;flex-direction:column;gap:12px}.draft{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line)}.draft-name{flex:1 1 160px;height:var(--tap);padding:0 14px;font-size:17px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);color:var(--text)}.draft-pin{width:92px;height:var(--tap);padding:0 14px;font-size:17px;text-align:center;font-variant-numeric:tabular-nums;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);color:var(--text)}.draft-role{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em}.swatches.compact .swatch{width:34px;height:34px;min-height:34px;border-width:2px}.summary{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line)}.summary>div{display:flex;justify-content:space-between;gap:16px}.summary span{color:var(--text-dim);font-size:14px}.summary strong{text-align:right}.onboard-steps{display:flex;justify-content:center;gap:8px;margin-top:6px}.onboard-pip{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.onboard-pip.on{background:var(--accent);width:22px;border-radius:4px}.lane-grip{position:absolute;top:8px;right:12px;width:22px;height:10px;opacity:.4;background-image:radial-gradient(circle,var(--text-dim) 1.4px,transparent 1.5px);background-size:7px 5px}.lane.is-dragging{filter:brightness(1.12)}.lane.is-dragging .lane-head{box-shadow:var(--shadow);transform:scale(1.02)}.tasks-view{height:100%;padding-bottom:40px;display:flex;flex-direction:column;gap:22px;max-width:900px}.task-group{display:flex;flex-direction:column;gap:10px}.task-group h3{display:flex;align-items:center;gap:10px;margin:0 0 2px;font-size:14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.task-group.is-late h3{color:var(--today)}.task-count{padding:2px 9px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--line);font-size:12px;letter-spacing:0}.task{display:flex;align-items:stretch;gap:14px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;min-height:var(--tap-lg)}.task.is-done{opacity:.45}.task.is-done .task-title{text-decoration:line-through}.task-check{flex:none;align-self:center;width:34px;height:34px;min-height:34px;border-radius:50%;border:2.5px solid var(--line-strong);background:transparent;display:grid;place-items:center}.task-check:active{transform:scale(.92)}.task-tick{width:14px;height:14px;border-radius:50%;background:var(--text-faint)}.task-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:0;padding:0}.task-title{font-size:19px;font-weight:560;line-height:1.25}.task-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13.5px;color:var(--text-dim)}.task-who{font-weight:620}.task-late{color:var(--today);font-weight:600}.task-repeat{padding:1px calc(7px * var(--scale));border:1px solid var(--line);border-radius:999px;color:var(--text-dim)}.task-priority{padding:1px 8px;border-radius:999px;border:1px solid var(--line-strong);font-size:12px}.task-note{color:var(--text-faint);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-toggle-done{align-self:flex-start}.meals-view{height:100%;min-height:0;display:flex;flex-direction:column}.meal-grid{flex:1;min-height:0;display:grid;grid-template-columns:96px repeat(7,minmax(0,1fr));gap:8px;align-content:start}.meal-row-contents{display:contents}.meal-corner{position:sticky;top:0;background:var(--bg);z-index:2}.meal-day{position:sticky;top:0;z-index:2;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line)}.meal-day .dow{font-size:12.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.meal-day .dom{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.meal-day.is-today .dom{color:var(--today)}.meal-slot{display:flex;align-items:center;font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;padding-right:8px}.meal-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;min-height:104px;padding:12px 13px;border-radius:var(--radius);background:var(--bg-sunken);border:1px dashed var(--line);border-left:4px solid transparent;text-align:left}.meal-cell.has-meal{background:var(--bg-raised);border-style:solid;border-left-color:var(--line-strong)}.meal-cell.is-today{outline:1px solid var(--today);outline-offset:-1px}.meal-cell:active{transform:scale(.98)}.meal-title{font-size:16px;font-weight:570;line-height:1.25}.meal-who{font-size:12px;font-weight:620}.meal-note{font-size:12px;color:var(--text-faint);line-height:1.3}.meal-add{font-size:13px;color:var(--text-faint);opacity:.65}.chip-count{margin-left:7px;padding:1px 7px;border-radius:999px;background:var(--bg);font-size:11.5px;color:var(--text-dim)}.sheet-wide{width:min(920px,100%)}.sheet textarea.tall{min-height:180px}.recipes-view{height:100%;padding-bottom:40px;display:flex;flex-direction:column;gap:18px}.recipe-search{max-width:460px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,320px));justify-content:start;gap:14px}.recipe-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:116px;padding:18px 20px;border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--line);text-align:left}.recipe-card:active{transform:scale(.98)}.recipe-title{font-size:21px;font-weight:600;line-height:1.2;flex:1}.recipe-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13.5px;color:var(--text-dim)}.ing-list{display:flex;flex-direction:column;gap:8px}.ing-row{display:grid;grid-template-columns:72px 92px minmax(0,1fr) minmax(0,.7fr) auto;gap:8px;align-items:center}.ing-row input{height:var(--tap-min);padding:0 12px;font-size:16px;border-radius:10px;background:var(--bg-sunken);border:1px solid var(--line);color:var(--text)}.ing-qty{text-align:center;font-variant-numeric:tabular-nums}.ing-row .btn.icon{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min)}.ing-read{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.ing-read li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:baseline;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:16.5px}.ing-amount{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}.ing-note-read{grid-column:2;font-size:13.5px;color:var(--text-faint)}.recipe-method{margin:0;white-space:pre-wrap;line-height:1.6;color:var(--text)}.recipe-source{font-size:14px;color:var(--text-faint);word-break:break-all;user-select:text;-webkit-user-select:text}.ing-unit{text-align:center}.ing-item{font-weight:550}.ing-note{color:var(--text-dim)}.shopping-view{height:100%;padding-bottom:40px;display:flex;flex-direction:column;gap:16px;max-width:760px}.shop-add{display:flex;gap:12px}.shop-add input{flex:1;height:var(--tap);padding:0 16px;font-size:18px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);color:var(--text)}.shop-actions{display:flex;gap:12px;flex-wrap:wrap}.shop-heading{margin:8px 0 0;font-size:14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.shop-list{display:flex;flex-direction:column;gap:8px}.shop-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:10px 14px;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line);min-height:var(--tap-lg)}.shop-item.is-done{opacity:.42}.shop-item.is-done .shop-name{text-decoration:line-through}.shop-name{font-size:18px;font-weight:550}.shop-qty{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:15px}.shop-src{font-size:11.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.shop-item .btn.icon{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min)}.acct-list{display:flex;flex-direction:column;gap:10px}.acct{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line)}.acct.is-bad{border-color:var(--today)}.acct-dot{width:14px;height:14px;border-radius:50%}.acct-main{display:flex;flex-direction:column;gap:3px;min-width:0}.acct-name{font-size:17px;font-weight:580;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-meta{font-size:13px;color:var(--text-dim)}.acct-warn{font-size:13px;color:var(--today)}.cal-picker{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line)}.cal-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line);text-align:left;min-height:var(--tap-min)}.cal-row.is-on{border-color:var(--accent)}.cal-swatch{width:14px;height:14px;border-radius:4px}.cal-name{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-flag{font-size:11.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.cal-state{font-size:13px;color:var(--text-dim)}.cal-row.is-on .cal-state{color:var(--accent);font-weight:600}.home{height:100%;padding-bottom:40px;display:flex;flex-direction:column;gap:16px}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-content:start}.card{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:190px;padding:20px 22px;border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--line);text-align:left}.card:active{transform:scale(.99)}.card-wide{grid-column:span 2}@media(max-width:760px){.card-wide{grid-column:span 1}}.card-alert{border-color:var(--today)}.card-title{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.09em}.card-alert .card-title{color:var(--today)}.card-headline{font-size:30px;font-weight:640;line-height:1.15}.card-note{font-size:14px;color:var(--text-faint)}.card-empty{font-size:20px;color:var(--text-faint)}.card-more{font-size:13px;color:var(--text-faint)}.home-events{display:flex;flex-direction:column;gap:9px}.home-event{display:grid;grid-template-columns:4px 84px minmax(0,1fr) auto;align-items:baseline;gap:12px}.home-event.is-past{opacity:.38}.he-bar{height:1.05em;border-radius:2px;align-self:center}.he-when{font-size:14px;color:var(--text-dim);font-variant-numeric:tabular-nums}.he-title{font-size:18px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.he-who{font-size:13px;font-weight:620}.home-chores,.home-points{display:flex;flex-direction:column;gap:10px}.hc-row,.hp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.hc-name,.hp-name{font-size:17px}.hc-count{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.hp-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.home-tasks{display:flex;flex-direction:column;gap:8px}.ht-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.ht-title{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ht-title.is-late{color:var(--today);font-weight:600}.ht-when{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums}.home-next{padding:14px 18px;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line-strong);font-size:19px;color:var(--text-dim)}.home-next strong{color:var(--text)}.card-weather{justify-content:space-between}.wx-main{display:flex;align-items:center;gap:calc(14px * var(--scale))}.wx-temp{font-size:calc(62px * var(--scale));font-weight:300;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.wx-side{display:flex;flex-direction:column;gap:calc(3px * var(--scale))}.wx-desc{font-size:calc(19px * var(--scale));font-weight:560}.wx-range{font-size:calc(15px * var(--scale));color:var(--text-dim);font-variant-numeric:tabular-nums}.wx-extra{display:flex;flex-wrap:wrap;gap:calc(14px * var(--scale));font-size:calc(14px * var(--scale));color:var(--text-faint)}.wx-rain{color:var(--today)}:root{--wx-sun: var(--today);--wx-cloud: var(--text-dim);--wx-cloud-back: var(--line-strong);--wx-drop: var(--accent);--wx-bolt: var(--today)}.wx-art{flex:0 0 auto;width:calc(58px * var(--scale));height:calc(58px * var(--scale))}:root[data-weather-art=minimal]{--wx-sun: var(--text-dim);--wx-cloud: var(--text-dim);--wx-cloud-back: var(--line);--wx-drop: var(--text-faint);--wx-bolt: var(--text-dim)}:root[data-weather-art=playful] .wx-art{width:calc(76px * var(--scale));height:calc(76px * var(--scale))}:root[data-weather-art=playful] .wx-sun{transform-origin:center;animation:wx-spin 26s linear infinite}:root[data-weather-art=playful] .wx-fall line,:root[data-weather-art=playful] .wx-fall circle{animation:wx-drop 1.5s ease-in infinite}:root[data-weather-art=playful] .wx-fall>*:nth-child(2){animation-delay:.35s}:root[data-weather-art=playful] .wx-fall>*:nth-child(3){animation-delay:.7s}:root[data-weather-art=playful] .wx-fall>*:nth-child(4){animation-delay:1.05s}:root[data-weather-art=playful] .wx-bolt{animation:wx-flash 3.4s ease-in-out infinite}@keyframes wx-spin{to{rotate:360deg}}@keyframes wx-drop{0%{opacity:0;translate:0 -6px}30%{opacity:1}to{opacity:0;translate:0 8px}}@keyframes wx-flash{0%,88%,to{opacity:1}92%{opacity:.25}}@media(prefers-reduced-motion:reduce){.wx-art *,.wx-art{animation:none!important}}.wgrid{position:relative;width:100%}.wtile{position:absolute;top:0;left:0;min-height:0;overflow:hidden;box-sizing:border-box;padding:calc(18px * var(--scale)) calc(20px * var(--scale));transition:transform .26s cubic-bezier(.2,.9,.25,1),width .26s cubic-bezier(.2,.9,.25,1),height .26s cubic-bezier(.2,.9,.25,1),box-shadow .18s ease;will-change:transform;touch-action:pan-y}@media(prefers-reduced-motion:reduce){.wtile{transition:none}}.wtile-body{display:flex;flex-direction:column;gap:calc(10px * var(--scale));min-height:0;overflow:hidden;width:100%}.home.is-editing .wtile{border-color:var(--line-strong);border-style:dashed;cursor:move;touch-action:none}.home.is-editing .wtile:not(.is-moving){animation:wtile-jiggle .32s ease-in-out infinite alternate}.home.is-editing .wtile:nth-child(2n):not(.is-moving){animation-delay:-.16s}@keyframes wtile-jiggle{0%{rotate:-.45deg}to{rotate:.45deg}}@media(prefers-reduced-motion:reduce){.home.is-editing .wtile:not(.is-moving){animation:none}}.home.is-editing .wtile-body{opacity:.75;pointer-events:none}.wtile.is-moving{border-color:var(--accent);border-style:solid;box-shadow:0 18px 44px #00000073;opacity:.96;z-index:20}.wtile-remove{position:absolute;top:8px;right:8px;width:calc(34px * var(--scale));height:calc(34px * var(--scale));min-height:0;border-radius:50%;background:var(--danger);color:var(--accent-ink);font-size:calc(20px * var(--scale));line-height:1;z-index:3}.wtile-resize{position:absolute;right:0;bottom:0;width:calc(38px * var(--scale));height:calc(38px * var(--scale));z-index:3;touch-action:none;cursor:nwse-resize;background:linear-gradient(135deg,transparent 55%,var(--accent) 55%,var(--accent) 70%,transparent 70%),linear-gradient(135deg,transparent 78%,var(--accent) 78%,var(--accent) 92%,transparent 92%)}.topbar-slot{display:contents}.wpicker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.wpick{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px 18px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--line);text-align:left;min-height:var(--tap-lg)}.wpick-name{font-size:calc(17px * var(--scale));font-weight:600}.wpick-desc{font-size:calc(13px * var(--scale));color:var(--text-dim)}.w-clock{display:flex;flex-direction:column;justify-content:center;height:100%;gap:2px}.w-clock-time{font-size:calc(64px * var(--scale));font-weight:300;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.w-clock-date{font-size:calc(17px * var(--scale));color:var(--text-dim)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(200px * var(--scale)),1fr));gap:calc(14px * var(--scale))}.theme-card{display:flex;flex-direction:column;gap:calc(8px * var(--scale));padding:calc(10px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.theme-card.is-current{border-color:var(--accent)}.theme-swatch{display:flex;flex-direction:column;justify-content:space-between;gap:calc(8px * var(--scale));height:calc(112px * var(--scale));padding:calc(10px * var(--scale));border:1px solid;border-radius:calc(var(--radius) - 4px);min-height:0}.theme-swatch-card{flex:1;display:flex;flex-direction:column;justify-content:center;gap:calc(6px * var(--scale));padding:calc(10px * var(--scale));border:1px solid}.theme-swatch-line{height:calc(6px * var(--scale));border-radius:999px;opacity:.9}.theme-swatch-line.short{width:55%;opacity:.6}.theme-swatch-tabs{display:flex;gap:calc(6px * var(--scale))}.theme-swatch-tabs>span{flex:1;height:calc(14px * var(--scale))}.theme-meta{display:flex;flex-direction:column}.theme-name{font-weight:620}.theme-author{font-size:calc(13px * var(--scale));color:var(--text-faint)}.theme-actions{display:flex;flex-wrap:wrap;gap:calc(8px * var(--scale))}.btn.sm{min-height:calc(40px * var(--scale));padding:0 calc(14px * var(--scale));font-size:calc(15px * var(--scale))}.theme-import{display:flex;flex-direction:column;gap:calc(10px * var(--scale));margin-top:calc(14px * var(--scale))}.theme-json{width:100%;min-height:calc(150px * var(--scale));padding:calc(12px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-sunken);color:var(--text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:calc(13px * var(--scale));resize:vertical}.theme-problems{margin:0;padding-left:calc(20px * var(--scale));color:var(--danger-ink);font-size:calc(14px * var(--scale))}:root[data-cards=tinted] .wtile{background:color-mix(in oklab,var(--tint, var(--accent)) 28%,var(--bg-raised));border-color:color-mix(in oklab,var(--tint, var(--line)) 55%,var(--line))}:root[data-cards=tinted] .wtile .card-title{color:color-mix(in oklab,var(--tint, var(--text-dim)) 70%,var(--text))}@supports (background: oklch(from white l c h)){:root[data-cards=tinted][data-theme-base=dark] .wtile{background:oklch(from var(--tint, var(--accent)) .3 .072 h);border-color:oklch(from var(--tint, var(--accent)) .45 .1 h)}:root[data-cards=tinted][data-theme-base=dark] .wtile .card-title{color:oklch(from var(--tint, var(--text-dim)) .8 .11 h)}:root[data-cards=tinted][data-theme-base=light] .wtile{background:oklch(from var(--tint, var(--accent)) .95 .04 h);border-color:oklch(from var(--tint, var(--accent)) .82 .07 h)}:root[data-cards=tinted][data-theme-base=light] .wtile .card-title{color:oklch(from var(--tint, var(--text-dim)) .5 .13 h)}}:root[data-tab-icons=tinted] .tab svg,:root[data-tab-icons=badge] .tab svg{color:var(--tint, currentColor)}:root[data-tab-icons=tinted] .tab[aria-pressed=true] svg,:root[data-tab-icons=badge] .tab[aria-pressed=true] svg{color:var(--accent-ink)}:root[data-tab-icons=badge] .tab svg{box-sizing:content-box;padding:calc(7px * var(--scale));border-radius:50%;background:color-mix(in srgb,var(--tint, var(--accent)) 22%,transparent)}:root[data-tab-icons=badge] .tab[aria-pressed=true] svg{background:color-mix(in srgb,var(--accent-ink) 22%,transparent)}.ev-head{display:flex;align-items:center;gap:calc(12px * var(--scale))}.ev-head h2{margin:0}.ev-swatch{flex:0 0 auto;width:calc(14px * var(--scale));height:calc(34px * var(--scale));border-radius:999px}.ev-detail{display:grid;grid-template-columns:auto 1fr;gap:calc(10px * var(--scale)) calc(18px * var(--scale));margin:calc(6px * var(--scale)) 0 0;align-items:baseline}.ev-detail dt{color:var(--text-faint);font-size:calc(14px * var(--scale));text-transform:uppercase;letter-spacing:.04em}.ev-detail dd{margin:0;font-size:calc(17px * var(--scale))}.ev-who{display:flex;flex-wrap:wrap;gap:calc(8px * var(--scale))}.chip.is-static{pointer-events:none}.agenda-who{font-weight:600;color:var(--text-dim)}.agenda-who.is-shared:before{content:"";display:inline-block;width:calc(8px * var(--scale));height:calc(8px * var(--scale));margin-right:calc(6px * var(--scale));border-radius:50%;background:linear-gradient(135deg,var(--accent) 50%,var(--today) 50%);vertical-align:baseline}.swatch-custom{position:relative;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:conic-gradient(from 0deg,#ef4444,#f59e0b,#facc15,#22c55e,#06b6d4,#3b82f6,#a855f7,#ec4899,#ef4444)}.swatch-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:none;opacity:0;cursor:pointer}.swatch-custom.is-chosen{box-shadow:inset 0 0 0 3px var(--bg-raised)}.swatch-plus{font-size:calc(22px * var(--scale));font-weight:700;color:#fff;text-shadow:0 1px 3px rgb(0 0 0 / 55%);pointer-events:none}.place-results{list-style:none;margin:calc(8px * var(--scale)) 0 0;padding:0;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-sunken)}.place-results li+li{border-top:1px solid var(--line)}.place-hit{display:flex;flex-direction:column;align-items:flex-start;gap:calc(2px * var(--scale));width:100%;min-height:var(--tap);padding:calc(10px * var(--scale)) calc(14px * var(--scale));background:transparent;border:none;border-radius:0;text-align:left}.place-hit:active{background:var(--bg-raised)}.place-name{font-weight:620}.place-where{font-size:calc(14px * var(--scale));color:var(--text-faint)}.topbar{position:relative}.topbar-grab{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;touch-action:pan-y}.topbar>*:not(.topbar-grab),.topbar-slot>*{position:relative;z-index:1}.topbar-bell{position:relative}.bell-count{position:absolute;top:calc(-4px * var(--scale));right:calc(-4px * var(--scale));min-width:calc(20px * var(--scale));height:calc(20px * var(--scale));padding:0 calc(5px * var(--scale));border-radius:999px;background:var(--danger);color:#fff;font-size:calc(12px * var(--scale));font-weight:700;line-height:calc(20px * var(--scale));text-align:center}.topbar-gear{margin-left:auto}.shade-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073}.shade{display:flex;flex-direction:column;gap:calc(10px * var(--scale));max-height:min(70dvh,70vh);padding:calc(18px * var(--scale)) calc(20px * var(--scale)) calc(8px * var(--scale));background:var(--bg-raised);border-bottom:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow);overflow-y:auto;animation:shade-in .22s cubic-bezier(.2,.9,.25,1)}@keyframes shade-in{0%{transform:translateY(-100%)}}.shade h2{margin:0}.shade-empty{margin:0;color:var(--text-faint)}.shade-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(8px * var(--scale))}.shade-item{display:flex;align-items:center;gap:calc(12px * var(--scale));width:100%;min-height:var(--tap);padding:calc(10px * var(--scale)) calc(14px * var(--scale));background:var(--bg-sunken);border:2px solid var(--line);border-radius:var(--radius);text-align:left}.shade-icon{display:grid;place-items:center;flex:0 0 auto;width:calc(38px * var(--scale));height:calc(38px * var(--scale));border-radius:50%;background:color-mix(in oklab,var(--accent) 22%,transparent);color:var(--accent)}.shade-item.kind-chore_missed .shade-icon,.shade-item.kind-task_overdue .shade-icon,.shade-item.kind-sync_error .shade-icon{background:color-mix(in oklab,var(--danger) 22%,transparent);color:var(--danger-ink)}.shade-text{display:flex;flex-direction:column;min-width:0}.shade-title{font-weight:620}.shade-detail{font-size:calc(14px * var(--scale));color:var(--text-faint)}.shade-handle{align-self:center;width:calc(120px * var(--scale));height:calc(22px * var(--scale));padding:0;background:transparent;border:none;border-radius:999px}.shade-handle:before{content:"";display:block;width:100%;height:calc(5px * var(--scale));border-radius:999px;background:var(--line-strong)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end;background:#00000073}.drawer{display:flex;flex-direction:column;gap:calc(16px * var(--scale));width:min(420px,92vw);height:100%;padding:calc(20px * var(--scale));background:var(--bg-raised);border-left:1px solid var(--line);box-shadow:var(--shadow);overflow-y:auto;animation:drawer-in .22s cubic-bezier(.2,.9,.25,1)}@keyframes drawer-in{0%{transform:translate(100%)}}.drawer h2{margin:0}.drawer-foot{display:flex;align-items:center;gap:calc(10px * var(--scale));margin-top:auto;padding-top:calc(10px * var(--scale))}.quick-themes{display:flex;flex-wrap:wrap;gap:calc(10px * var(--scale))}.quick-theme{display:grid;place-items:end start;width:calc(54px * var(--scale));height:calc(54px * var(--scale));padding:calc(7px * var(--scale));border:2px solid;border-radius:var(--radius)}.quick-theme.is-current{box-shadow:0 0 0 3px var(--accent)}.quick-theme>span{display:block;width:calc(18px * var(--scale));height:calc(8px * var(--scale));border-radius:999px}@media(prefers-reduced-motion:reduce){.shade,.drawer{animation:none}}.tile.is-live{border-color:var(--line-strong);cursor:pointer}.tile.is-live:active{filter:brightness(1.12)}.tile-icon{display:grid;place-items:center;width:calc(52px * var(--scale));height:calc(52px * var(--scale));margin-bottom:calc(4px * var(--scale));border-radius:50%;background:color-mix(in oklab,var(--accent) 22%,transparent);color:var(--accent)}.tile:disabled .tile-icon{background:color-mix(in oklab,var(--text-faint) 18%,transparent);color:var(--text-faint)}.saver{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;overflow:hidden;background:#05070e;color:#f4f7ff;touch-action:none;animation:saver-in .6s ease}@keyframes saver-in{0%{opacity:0}}.saver-centre{display:flex;flex-direction:column;align-items:center;gap:calc(6px * var(--scale));transition:transform 60s linear;text-align:center}.saver-time{font-size:clamp(72px,16vw,240px);font-weight:200;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.saver-dim{opacity:.55;font-weight:150}.saver-date{font-size:clamp(18px,2.6vw,34px);color:#93a0c0}.saver-weather{display:flex;align-items:center;gap:calc(14px * var(--scale));margin-top:calc(18px * var(--scale))}.saver-weather .wx-art{width:clamp(48px,6vw,92px);height:clamp(48px,6vw,92px)}.saver-temp{font-size:clamp(30px,4.5vw,64px);font-weight:300;font-variant-numeric:tabular-nums}.saver-desc{font-size:clamp(16px,2vw,28px);color:#93a0c0}.saver-next{display:flex;flex-direction:column;gap:calc(2px * var(--scale));margin-top:calc(16px * var(--scale))}.saver-next-when{font-size:clamp(16px,2vw,26px);color:#93a0c0}.saver-next-title{font-size:clamp(24px,3.4vw,48px);font-weight:500}.saver-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 15%,#14224a,#05070e 70%)}.saver-bubbles .saver-centre,.saver-stars .saver-centre{position:relative;z-index:1}.bubble{position:absolute;bottom:-22vh;border-radius:50%;opacity:.5;filter:blur(1px);animation:bubble-rise linear infinite}@keyframes bubble-rise{to{transform:translateY(-135vh) translate(6vw)}}.bubble.b0{left:6%;width:8vmin;height:8vmin;background:#f43f5e;animation-duration:41s}.bubble.b1{left:19%;width:5vmin;height:5vmin;background:#fb923c;animation-duration:53s;animation-delay:-12s}.bubble.b2{left:33%;width:11vmin;height:11vmin;background:#facc15;animation-duration:67s;animation-delay:-30s}.bubble.b3{left:47%;width:6vmin;height:6vmin;background:#4ade80;animation-duration:47s;animation-delay:-8s}.bubble.b4{left:61%;width:9vmin;height:9vmin;background:#22d3ee;animation-duration:59s;animation-delay:-22s}.bubble.b5{left:76%;width:7vmin;height:7vmin;background:#818cf8;animation-duration:44s;animation-delay:-35s}.bubble.b6{left:89%;width:10vmin;height:10vmin;background:#e879f9;animation-duration:71s;animation-delay:-17s}.saver-stars{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(120% 100% at 50% 100%,#0b1226,#03040a 65%)}.star{position:absolute;width:2px;height:2px;border-radius:50%;background:#dbe6ff;animation:twinkle ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.15}to{opacity:.85}}.star.s0{top:12%;left:8%;animation-duration:4s}.star.s1{top:22%;left:21%;animation-duration:6s;width:3px;height:3px}.star.s2{top:8%;left:37%;animation-duration:5s}.star.s3{top:31%;left:52%;animation-duration:7s}.star.s4{top:17%;left:68%;animation-duration:4.5s;width:3px;height:3px}.star.s5{top:41%;left:82%;animation-duration:6.5s}.star.s6{top:62%;left:14%;animation-duration:5.5s}.star.s7{top:74%;left:44%;animation-duration:8s}.star.s8{top:68%;left:73%;animation-duration:4.2s;width:3px;height:3px}.star.s9{top:86%;left:29%;animation-duration:7.5s}.star:nth-child(n+11){transform:translate(9vw,4vh)}.star:nth-child(n+21){transform:translate(-7vw,11vh)}.star:nth-child(n+31){transform:translate(15vw,-6vh)}.star:nth-child(n+41){transform:translate(-13vw,-9vh)}.star:nth-child(n+51){transform:translate(4vw,17vh)}@media(prefers-reduced-motion:reduce){.saver,.bubble,.star,.saver-centre{animation:none;transition:none}}.slider-row{display:flex;align-items:center;gap:calc(14px * var(--scale))}.slider-row input[type=range]{flex:1;height:var(--tap-min);accent-color:var(--accent)}.slider-value{min-width:calc(72px * var(--scale));font-weight:620;font-variant-numeric:tabular-nums;text-align:right}.saver-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(190px * var(--scale)),1fr));gap:calc(12px * var(--scale))}.saver-pick{display:flex;flex-direction:column;align-items:stretch;gap:calc(8px * var(--scale));padding:calc(10px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);text-align:left}.saver-thumb-btn{display:flex;flex-direction:column;align-items:flex-start;gap:calc(4px * var(--scale));padding:0;background:transparent;border:none;text-align:left}.saver-pick.is-current{border-color:var(--accent)}.saver-thumb{width:100%;height:calc(84px * var(--scale));border-radius:calc(var(--radius) - 4px);border:1px solid var(--line)}.thumb-clock{background:linear-gradient(160deg,#101a33,#05070e)}.thumb-next{background:linear-gradient(160deg,#0e2033,#05070e)}.thumb-bubbles{background:radial-gradient(circle at 25% 70%,#f43f5e 0 8%,transparent 9%),radial-gradient(circle at 62% 40%,#22d3ee 0 6%,transparent 7%),radial-gradient(circle at 80% 75%,#facc15 0 7%,transparent 8%),radial-gradient(120% 90% at 50% 15%,#14224a,#05070e 70%)}.thumb-photos{background:linear-gradient(115deg,transparent 46%,rgb(255 255 255 / 14%) 50%,transparent 54%),linear-gradient(160deg,#3b5b7a,#16222f)}.thumb-stars{background:radial-gradient(circle at 20% 30%,#dbe6ff 0 1.5%,transparent 2%),radial-gradient(circle at 55% 20%,#dbe6ff 0 1%,transparent 1.5%),radial-gradient(circle at 75% 55%,#dbe6ff 0 1.5%,transparent 2%),radial-gradient(circle at 38% 70%,#dbe6ff 0 1%,transparent 1.5%),radial-gradient(120% 100% at 50% 100%,#0b1226,#03040a 65%)}.saver-pick-name{font-weight:620}.saver-pick-desc{font-size:calc(13px * var(--scale));color:var(--text-faint)}.frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#000}.frame-wash{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.frame-wash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.frame-img{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;max-width:100%;max-height:100%;object-fit:contain;animation:frame-in 1.1s ease}@keyframes frame-in{0%{opacity:0;transform:scale(1.015)}}.frame-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(6px * var(--scale));height:100%;color:#93a0c0}.frame-empty-note{margin:0;font-size:clamp(15px,1.8vw,22px)}.frame-empty-note.dim{opacity:.55}.upload-page{max-width:640px;margin:0 auto;padding:calc(20px * var(--scale));display:flex;flex-direction:column;gap:calc(14px * var(--scale));height:100dvh;overflow-y:auto}.upload-head h1{margin:calc(10px * var(--scale)) 0 calc(4px * var(--scale))}.upload-head p{margin:0;color:var(--text-dim)}.upload-pick{min-height:var(--tap-lg);font-size:calc(19px * var(--scale))}.upload-count{margin:0;color:var(--text-dim);font-weight:620}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(8px * var(--scale))}.upload-item{display:flex;align-items:center;gap:calc(12px * var(--scale));padding:calc(8px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.upload-item img,.upload-thumb{width:calc(52px * var(--scale));height:calc(52px * var(--scale));border-radius:calc(var(--radius) - 6px);object-fit:cover;background:var(--bg-sunken);flex:0 0 auto}.upload-name{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-error{font-size:calc(13px * var(--scale));color:var(--danger-ink);white-space:normal}.upload-state{color:var(--text-faint);font-size:calc(14px * var(--scale))}.upload-item.is-done .upload-state{color:var(--accent)}.upload-item.is-failed{border-color:var(--danger)}.qr-block{display:flex;align-items:flex-start;gap:calc(16px * var(--scale));flex-wrap:wrap}.qr{width:calc(180px * var(--scale));height:calc(180px * var(--scale));border-radius:calc(8px * var(--scale));flex:0 0 auto}.qr.is-dead{opacity:.3}.qr-side{flex:1;min-width:calc(200px * var(--scale));display:flex;flex-direction:column;gap:calc(6px * var(--scale));align-items:flex-start}.qr-title{margin:0;font-weight:620}.qr-side p{margin:0}.photo-manage{display:flex;flex-direction:column;gap:calc(10px * var(--scale));margin-top:calc(12px * var(--scale))}.photo-strip{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--scale))}.photo-cell{position:relative;width:calc(72px * var(--scale));height:calc(72px * var(--scale))}.photo-cell img,.photo-skel{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius) - 6px);background:var(--bg-sunken);display:block}.photo-remove{position:absolute;top:calc(-6px * var(--scale));right:calc(-6px * var(--scale));width:calc(26px * var(--scale));height:calc(26px * var(--scale));min-height:0;padding:0;border-radius:50%;background:var(--danger);color:#fff;font-size:calc(16px * var(--scale));line-height:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;opacity:0}label.btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative}label.btn.is-busy{opacity:.5;pointer-events:none}.saver-badge{margin-left:calc(8px * var(--scale));padding:0 calc(8px * var(--scale));border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:calc(12px * var(--scale));font-weight:700;vertical-align:middle}.saver-time.font-thin{font-weight:200}.saver-time.font-plain{font-weight:500;letter-spacing:-.01em}.saver-time.font-serif{font-family:ui-serif,Georgia,Iowan Old Style,serif;font-weight:400}.saver-time.font-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:300;letter-spacing:-.04em}.saver-seconds{font-size:.36em;margin-left:.18em;opacity:.55;vertical-align:super}.analog{width:clamp(200px,34vmin,460px);height:clamp(200px,34vmin,460px)}.analog-rim{fill:none;stroke:#ffffff1f;stroke-width:2}.analog-tick{stroke:#ffffff73;stroke-width:3;stroke-linecap:round}.analog-hour,.analog-minute{stroke:#f4f7ff;stroke-linecap:round}.analog-hour{stroke-width:7}.analog-minute{stroke-width:5}.analog-second{stroke:var(--today, #f59e0b);stroke-width:2;stroke-linecap:round}.analog-pin{fill:#f4f7ff}.saver-bubbles.speed-calm .bubble{animation-duration:96s}.saver-bubbles.speed-lively .bubble{animation-duration:26s}.frame-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:calc(10px * var(--scale));padding:calc(10px * var(--scale))}.frame-stage .frame-img{position:static;margin:0;max-width:100%;max-height:100%;object-fit:contain}.frame-stage.is-pair .frame-img{max-width:calc(50% - 10px)}.frame.fit-cover .frame-stage .frame-img{width:100%;height:100%;object-fit:cover}.frame.fit-cover .frame-stage{padding:0;gap:0}.frame-caption{position:absolute;right:calc(30px * var(--scale));bottom:calc(24px * var(--scale));display:flex;flex-direction:column;align-items:flex-end;gap:calc(2px * var(--scale));color:#fff;text-shadow:0 2px 14px rgb(0 0 0 / 75%)}.frame-clock{font-size:calc(38px * var(--scale));font-weight:300;font-variant-numeric:tabular-nums;line-height:1.1}.frame-date{font-size:calc(19px * var(--scale));font-weight:400;opacity:.92}.frame-weather{display:flex;align-items:center;gap:calc(8px * var(--scale));margin-top:calc(6px * var(--scale))}.frame-weather .wx-art{width:calc(34px * var(--scale));height:calc(34px * var(--scale));filter:drop-shadow(0 2px 8px rgb(0 0 0 / 70%))}.frame-temp{font-size:calc(24px * var(--scale));font-weight:300;font-variant-numeric:tabular-nums}.frame-desc{font-size:calc(16px * var(--scale));opacity:.85}.week-strip{display:flex;gap:calc(8px * var(--scale));padding:0 0 calc(12px * var(--scale));overflow-x:auto;scrollbar-width:none}.week-strip::-webkit-scrollbar{display:none}.week-day{flex:1 1 0;min-width:calc(92px * var(--scale));display:flex;flex-direction:column;align-items:center;gap:calc(2px * var(--scale));padding:calc(10px * var(--scale)) calc(6px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);min-height:var(--tap-lg)}.week-day.is-selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 16%,var(--bg-raised))}.week-day.is-today .week-name{color:var(--today);font-weight:700}.week-name{font-size:calc(14px * var(--scale));font-weight:620;color:var(--text-dim)}.week-date{font-size:calc(22px * var(--scale));font-weight:640;line-height:1;font-variant-numeric:tabular-nums}.week-count{font-size:calc(12px * var(--scale));color:var(--text-faint);white-space:nowrap}.week-count.is-clear{color:var(--accent)}.empty .btn{margin-top:calc(14px * var(--scale))}.day-picker{display:flex;gap:calc(6px * var(--scale));margin-top:calc(8px * var(--scale))}.day-toggle{flex:1 1 0;min-width:0;min-height:var(--tap-min);padding:0 calc(4px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-sunken);color:var(--text-dim);font-size:calc(14px * var(--scale));font-weight:620}.day-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.swipe{position:relative;overflow:hidden;border-radius:var(--radius)}.swipe-action{position:absolute;top:0;right:0;bottom:0;width:96px;padding:0;border:none;border-radius:0;background:var(--danger);color:#fff;font-weight:640;font-size:calc(15px * var(--scale))}.swipe-body{position:relative;touch-action:pan-y;will-change:transform;background:var(--bg)}.swipe-body>*{width:100%}.lane-card.is-confirming{border-color:var(--accent);border-left-color:var(--accent)!important;background:color-mix(in oklab,var(--accent) 18%,var(--bg-raised));animation:confirm-nudge 1.4s ease-in-out infinite}.lane-card.is-confirming .lane-card-state{color:var(--accent);font-weight:700}@keyframes confirm-nudge{0%,to{scale:1}50%{scale:1.015}}.lane-cheer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(2px * var(--scale));border-radius:inherit;background:color-mix(in oklab,var(--accent) 88%,transparent);color:var(--accent-ink);pointer-events:none;animation:cheer 1.6s ease forwards}.cheer-points{font-size:calc(34px * var(--scale));font-weight:750;line-height:1}.cheer-word{font-size:calc(14px * var(--scale));font-weight:620;opacity:.9}@keyframes cheer{0%{opacity:0;scale:.85}18%{opacity:1;scale:1}70%{opacity:1}to{opacity:0;scale:1.04}}@media(prefers-reduced-motion:reduce){.lane-card.is-confirming,.lane-cheer{animation:none}}.osk{position:fixed;left:0;right:0;bottom:calc(var(--tap-lg) + 28px);z-index:55;display:flex;flex-direction:column;gap:calc(6px * var(--scale));padding:calc(10px * var(--scale));background:var(--bg-sunken);border-top:1px solid var(--line);box-shadow:0 -12px 32px #00000047;touch-action:none;-webkit-user-select:none;user-select:none;animation:osk-in .16s ease}@keyframes osk-in{0%{transform:translateY(100%)}}.osk-row{display:flex;gap:calc(6px * var(--scale));justify-content:center}.osk-key{flex:1 1 0;min-width:calc(44px * var(--scale));max-width:calc(96px * var(--scale));min-height:calc(56px * var(--scale));padding:0;border:1px solid var(--line);border-radius:calc(10px * var(--scale));background:var(--bg-raised);color:var(--text);font-size:calc(20px * var(--scale));font-weight:560}.osk-key:active{background:var(--accent);color:var(--accent-ink)}.osk-wide{flex:1.4 1 0;max-width:calc(120px * var(--scale));font-size:calc(22px * var(--scale))}.osk-wide.is-on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.osk-space{flex:6 1 0;max-width:none;font-size:calc(15px * var(--scale));color:var(--text-faint)}.osk-done{flex:1.6 1 0;max-width:calc(140px * var(--scale));background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-size:calc(17px * var(--scale))}:root[data-osk=on] .scrim{padding-bottom:var(--osk-h, 0px);align-items:flex-end}:root[data-osk=on] .sheet{max-height:calc(100dvh - var(--osk-h, 0px) - 12px);border-radius:24px}@media(prefers-reduced-motion:reduce){.osk{animation:none}}.device-list{display:flex;flex-direction:column;gap:calc(8px * var(--scale))}.device-row{display:flex;align-items:baseline;justify-content:space-between;gap:calc(12px * var(--scale));min-height:var(--tap);padding:calc(10px * var(--scale)) calc(14px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.device-name{font-weight:620}.device-seen{font-size:calc(14px * var(--scale));color:var(--text-faint);white-space:nowrap}.parent{position:relative;display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;background:var(--backdrop)}.parent-bar{display:flex;align-items:center;gap:calc(10px * var(--scale));padding:calc(12px * var(--scale)) calc(14px * var(--scale));padding-top:calc(12px * var(--scale) + max(env(safe-area-inset-top),24px));background:var(--bg-raised);border-bottom:1px solid var(--line)}.parent-cal{display:flex;flex-direction:column;height:100%;gap:calc(10px * var(--scale));padding:calc(12px * var(--scale))}.parent-weeknav{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--scale));flex:0 0 auto}.pwn-label{display:flex;flex-direction:column;align-items:center;line-height:1.2}.pwn-range{font-size:calc(17px * var(--scale));font-weight:640}.pwn-tag{font-size:calc(12px * var(--scale));color:var(--text-dim)}.parent-today{flex:0 0 auto;align-self:center;padding:calc(6px * var(--scale)) calc(14px * var(--scale));border-radius:999px;border:1px solid var(--line);background:var(--bg-raised);color:var(--text-dim);font-size:calc(13px * var(--scale))}.parent-cal .agenda{flex:1;min-height:0}.parent-segmented{flex:0 0 auto;align-self:stretch}.parent-segmented .btn{flex:1}.pmv{flex:0 0 auto}.pmv-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:calc(11px * var(--scale));color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;padding-bottom:calc(4px * var(--scale))}.pmv-grid{display:grid;grid-template-columns:repeat(7,1fr)}.pmv-cell{display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--scale));aspect-ratio:1;padding-top:calc(4px * var(--scale));border:none;background:none;color:inherit;min-width:0}.pmv-num{display:grid;place-items:center;width:calc(30px * var(--scale));height:calc(30px * var(--scale));border-radius:50%;font-size:calc(15px * var(--scale));font-variant-numeric:tabular-nums}.pmv-cell.is-other .pmv-num{opacity:.35}.pmv-cell.is-today .pmv-num{color:var(--accent);font-weight:700}.pmv-cell.is-selected .pmv-num{background:var(--accent);color:var(--accent-ink, #0b1020);font-weight:700}.pmv-dots{display:flex;gap:calc(3px * var(--scale));height:calc(6px * var(--scale))}.pmv-dot{width:calc(5px * var(--scale));height:calc(5px * var(--scale));border-radius:50%}.pmv-day{flex:1;min-height:0;border-top:1px solid var(--line);padding-top:calc(10px * var(--scale));margin-top:calc(6px * var(--scale));overflow-y:auto}.pr-people{display:flex;gap:calc(8px * var(--scale));flex:0 0 auto;overflow-x:auto;scrollbar-width:none;padding-bottom:calc(2px * var(--scale))}.pr-people::-webkit-scrollbar{display:none}.pr-person{display:flex;flex-direction:column;align-items:flex-start;gap:calc(2px * var(--scale));flex:0 0 auto;padding:calc(8px * var(--scale)) calc(12px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);color:inherit}.pr-name{display:flex;align-items:center;gap:calc(6px * var(--scale));font-size:calc(13px * var(--scale));color:var(--text-dim)}.pr-person.is-selected .pr-name{color:inherit}.pr-balance{font-size:calc(20px * var(--scale));font-weight:660;font-variant-numeric:tabular-nums}.pr-list{display:flex;flex-direction:column;gap:calc(8px * var(--scale));flex:1;min-height:0;padding-bottom:calc(88px * var(--scale))}.pr-list .swipe{flex:0 0 auto;border-radius:var(--radius-lg)}.pr-card{display:flex;flex-direction:column;gap:calc(7px * var(--scale));padding:calc(12px * var(--scale));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised)}.pr-card.is-ready{border-color:var(--accent)}.pr-title{font-size:calc(15px * var(--scale))}.pr-foot{display:flex;gap:calc(10px * var(--scale));font-size:calc(12px * var(--scale));color:var(--text-dim)}.pr-state{margin-left:auto}.parent-fab{position:absolute;right:calc(16px * var(--scale));bottom:calc(16px * var(--scale) + env(safe-area-inset-bottom));width:calc(56px * var(--scale));height:calc(56px * var(--scale));border-radius:50%;border:none;background:var(--accent);color:var(--accent-ink, #0b1020);font-size:calc(30px * var(--scale));line-height:1;box-shadow:0 6px 20px #00000059;z-index:6}.pm-days{display:flex;flex-direction:column;gap:calc(12px * var(--scale));flex:1;min-height:0;padding-bottom:calc(88px * var(--scale))}.pm-day{flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);overflow:hidden}.pm-day.is-today{border-color:var(--accent)}.pm-day-head{display:flex;align-items:baseline;gap:calc(8px * var(--scale));padding:calc(10px * var(--scale)) calc(12px * var(--scale));border-bottom:1px solid var(--line)}.pm-dow{font-size:calc(15px * var(--scale));font-weight:640}.pm-dom{font-size:calc(13px * var(--scale));color:var(--text-dim)}.pm-count{margin-left:auto;font-size:calc(12px * var(--scale));color:var(--text-dim)}.pm-count.is-empty{opacity:.65}.pm-slot{display:flex;align-items:center;gap:calc(10px * var(--scale));width:100%;padding:calc(11px * var(--scale)) calc(12px * var(--scale));border:none;border-left:3px solid transparent;border-top:1px solid var(--line);background:none;text-align:left;color:inherit}.pm-day .pm-slot:first-of-type{border-top:none}.pm-slot-label{flex:0 0 calc(74px * var(--scale));font-size:calc(13px * var(--scale));color:var(--text-dim)}.pm-slot-body{display:flex;flex-direction:column;min-width:0}.pm-slot-title{font-size:calc(15px * var(--scale));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-slot-who{font-size:calc(12px * var(--scale))}.pm-slot-add{font-size:calc(14px * var(--scale));color:var(--text-dim);opacity:.7}.pc-week{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(4px * var(--scale));flex:0 0 auto}.pc-day{display:flex;flex-direction:column;align-items:center;gap:calc(2px * var(--scale));padding:calc(7px * var(--scale)) 0;border:1px solid var(--line);border-radius:var(--radius-sm, 10px);background:var(--bg-raised);color:inherit;min-width:0}.pc-day.is-selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,var(--bg-raised))}.pc-dow{font-size:calc(10px * var(--scale));color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.pc-day.is-today .pc-dow{color:var(--accent)}.pc-dom{font-size:calc(16px * var(--scale));font-weight:660;line-height:1}.pc-left{font-size:calc(10px * var(--scale));color:var(--text-dim)}.pc-left.is-clear{opacity:.4}.pc-list{display:flex;flex-direction:column;gap:calc(16px * var(--scale));flex:1;min-height:0;padding-bottom:calc(88px * var(--scale))}.pc-group-head{display:flex;align-items:center;gap:calc(8px * var(--scale))}.pc-who{font-size:calc(14px * var(--scale));font-weight:640}.pc-progress{margin-left:auto;font-size:calc(12px * var(--scale));color:var(--text-dim)}.pc-group{display:flex;flex-direction:column;flex:0 0 auto;gap:calc(8px * var(--scale))}.pc-group .swipe{border-radius:var(--radius-lg)}.pc-card{display:flex;flex-direction:column;gap:calc(5px * var(--scale));width:100%;padding:calc(12px * var(--scale));border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);text-align:left;color:inherit}.pc-card.is-done,.pc-card.is-awaiting{opacity:.55}.pc-card.is-expired,.lane-card.is-expired{opacity:.4}.pc-card.is-expired .pc-card-title,.lane-card.is-expired .lane-card-title{text-decoration:line-through;text-decoration-thickness:1px}.pc-card.is-confirming{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 20%,var(--bg-raised))}.pc-card-title{font-size:calc(15px * var(--scale))}.pc-card-foot{display:flex;gap:calc(10px * var(--scale));font-size:calc(12px * var(--scale));color:var(--text-dim)}.pc-card-state{margin-left:auto}.parent-title{font-size:calc(19px * var(--scale));font-weight:640}.parent-hub,.parent-body{flex:1;min-height:0;overflow-y:auto}.parent-body{padding-bottom:env(safe-area-inset-bottom)}.parent-hub{display:flex;flex-direction:column;gap:calc(14px * var(--scale));padding:calc(14px * var(--scale));padding-bottom:calc(14px * var(--scale) + env(safe-area-inset-bottom))}.parent-waiting{display:flex;align-items:center;gap:calc(14px * var(--scale));padding:calc(16px * var(--scale));border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);text-align:left}.parent-waiting.is-live{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 16%,var(--bg-raised))}.pw-count{font-size:calc(34px * var(--scale));font-weight:700;line-height:1;min-width:calc(44px * var(--scale));text-align:center}.parent-waiting.is-live .pw-count{color:var(--accent)}.pw-text{font-size:calc(16px * var(--scale));color:var(--text-dim)}.parent-adds{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(10px * var(--scale))}.parent-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(6px * var(--scale));min-height:calc(92px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);font-size:calc(16px * var(--scale));font-weight:620}.parent-add.wide{grid-column:1 / -1;flex-direction:row;min-height:calc(64px * var(--scale))}.parent-add svg{color:var(--accent)}.parent-links{display:flex;flex-direction:column;gap:calc(8px * var(--scale))}.parent-link{display:flex;align-items:center;gap:calc(12px * var(--scale));min-height:var(--tap);padding:calc(10px * var(--scale)) calc(14px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);text-align:left}.pl-icon{display:grid;place-items:center;width:calc(38px * var(--scale));height:calc(38px * var(--scale));border-radius:50%;background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent);flex:0 0 auto}.pl-text{display:flex;flex-direction:column}.pl-label{font-weight:620}.pl-detail{font-size:calc(13px * var(--scale));color:var(--text-faint)}.approvals{display:flex;flex-direction:column;gap:calc(10px * var(--scale));padding:calc(14px * var(--scale))}.approval-day{display:flex;flex-direction:column;gap:calc(8px * var(--scale))}.approval-daylabel{margin:calc(4px * var(--scale)) 0 0;font-size:calc(14px * var(--scale));font-weight:640;color:var(--text-dim)}.approval-head{margin:calc(6px * var(--scale)) 0 0;font-size:calc(15px * var(--scale));color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.approvals .swipe,.sheet .swipe{border-radius:var(--radius)}.ap-price{width:calc(72px * var(--scale));text-align:center}.ap-actions{display:flex;gap:calc(8px * var(--scale));margin-left:auto}.parent .approval{flex-wrap:wrap}.parent .ap-actions{flex:1 0 100%;margin-left:0;margin-top:calc(8px * var(--scale))}.parent .ap-actions .btn{flex:1;white-space:nowrap}.approval{display:flex;align-items:center;gap:calc(10px * var(--scale));padding:calc(10px * var(--scale)) calc(12px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.ap-bar{width:calc(6px * var(--scale));align-self:stretch;border-radius:999px;flex:0 0 auto}.ap-text{flex:1;min-width:0;display:flex;flex-direction:column}.ap-title{font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-who{font-size:calc(13px * var(--scale));color:var(--text-faint)}.snap{display:flex;flex-direction:column;gap:calc(12px * var(--scale));padding:calc(14px * var(--scale))}.snap-take{min-height:calc(78px * var(--scale));font-size:calc(20px * var(--scale))}.snap-pick{min-height:var(--tap)}.snap-count{margin:0;color:var(--text-dim);font-weight:620}.snap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(6px * var(--scale))}.snap-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:calc(var(--radius) - 6px)}.add-device,.change-pin{display:flex;flex-direction:column;align-items:flex-start;gap:calc(10px * var(--scale));margin-top:calc(10px * var(--scale))}.change-pin input{width:min(320px,100%)}.pair-code{width:100%;padding:calc(14px * var(--scale));border:2px dashed var(--line-strong);border-radius:var(--radius);background:var(--bg-sunken);display:flex;flex-direction:column;gap:calc(6px * var(--scale))}.pair-code.is-dead{opacity:.45}.pair-digits{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:calc(38px * var(--scale));font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums}.kid{position:relative;display:flex;flex-direction:column;height:100dvh;max-width:1100px;margin:0 auto;background:var(--backdrop)}.kid-bar{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;gap:calc(2px * var(--scale));padding:calc(14px * var(--scale)) calc(18px * var(--scale));padding-top:calc(14px * var(--scale) + max(env(safe-area-inset-top),24px));background:var(--bg-raised);border-bottom:1px solid var(--line)}.kid-date{font-size:clamp(14px,2.2vh,18px);font-weight:600;color:var(--text-dim)}.kid-hello{font-size:clamp(16px,2.6vh,22px);font-weight:600;color:var(--text-dim)}.kid-score{font-size:clamp(40px,9vh,76px);font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}.kid-score-label{font-size:calc(16px * var(--scale));color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.kid-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.kid-list{display:flex;flex-direction:column;gap:calc(12px * var(--scale));flex:1;min-height:min-content;padding:calc(16px * var(--scale));padding-bottom:calc(24px * var(--scale))}.kid-headline{margin:0 0 calc(4px * var(--scale));font-size:calc(24px * var(--scale));font-weight:660}.kid-head{margin:calc(10px * var(--scale)) 0 0;font-size:calc(14px * var(--scale));color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.kid-card,.kid-reward{position:relative;display:flex;flex-direction:column;gap:calc(8px * var(--scale));flex:0 0 auto;width:100%;padding:calc(16px * var(--scale));border:2px solid var(--line);border-left:6px solid var(--me, var(--accent));border-radius:var(--radius-lg);background:var(--bg-raised);color:inherit;text-align:left}.kid-card-title{font-size:calc(19px * var(--scale));font-weight:600}.kid-card-foot{display:flex;gap:calc(10px * var(--scale));font-size:calc(14px * var(--scale));color:var(--text-dim)}.kid-card-state{margin-left:auto}.kid-card.is-confirming{border-color:var(--me, var(--accent));background:color-mix(in oklab,var(--me, var(--accent)) 22%,var(--bg-raised))}.kid-card.is-done,.kid-card.is-waiting{opacity:.55}.kid-card.is-off{opacity:.4}.kid-card.is-off .kid-card-title{text-decoration:line-through}.kid-cheer{position:absolute;right:calc(16px * var(--scale));top:calc(14px * var(--scale));font-size:calc(26px * var(--scale));font-weight:700;color:var(--me, var(--accent));animation:kid-cheer 1.6s ease-out forwards}@keyframes kid-cheer{0%{opacity:0;transform:translateY(6px) scale(.9)}20%{opacity:1;transform:translateY(0) scale(1.05)}75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.kid-progress{height:calc(12px * var(--scale));border-radius:999px}.kid-reward.is-ready{border-color:var(--me, var(--accent))}.kid-reward.is-wish{border-left-color:var(--line)}.kid-empty{margin:0;color:var(--text-dim)}.kid-undo{margin-left:auto;border:none;background:none;color:var(--text-dim);text-decoration:underline;font-size:calc(13px * var(--scale))}.kid-ask{display:flex;flex-direction:column;gap:calc(8px * var(--scale));margin-top:calc(8px * var(--scale));padding:calc(16px * var(--scale));border:2px dashed var(--line);border-radius:var(--radius-lg)}.kid-ask label{font-size:calc(18px * var(--scale));font-weight:600}.kid-ask-input{width:100%;box-sizing:border-box;padding:calc(14px * var(--scale));border:2px solid var(--line);border-radius:var(--radius);background:var(--bg);color:inherit;font:inherit;font-size:calc(20px * var(--scale));line-height:1.35;resize:none}.kid-ask-input::placeholder{color:var(--text-faint)}.kid-ask-input:focus{outline:none;border-color:var(--me, var(--accent))}.kid-ask-go{padding:calc(15px * var(--scale));border:none;border-radius:var(--radius);background:var(--me, var(--accent));color:#fff;font-size:calc(19px * var(--scale));font-weight:660}.kid-ask-go:disabled{opacity:.45}.kid-error{color:var(--danger);font-size:calc(13px * var(--scale))}.kid-tabs{display:grid;grid-template-columns:1fr 1fr;gap:calc(8px * var(--scale));padding:calc(10px * var(--scale));padding-bottom:calc(10px * var(--scale) + env(safe-area-inset-bottom));background:var(--bg-raised);border-top:1px solid var(--line)}.kid-tab{display:flex;flex-direction:column;align-items:center;gap:calc(4px * var(--scale));padding:calc(10px * var(--scale));border:none;border-radius:var(--radius);background:none;color:var(--text-dim);font-size:calc(14px * var(--scale))}.kid-tab[aria-pressed=true]{background:color-mix(in oklab,var(--me, var(--accent)) 20%,transparent);color:inherit}.kid-nobody{display:flex;flex-direction:column;gap:calc(14px * var(--scale));align-items:center;justify-content:center;height:100%;padding:calc(24px * var(--scale));text-align:center;font-size:calc(20px * var(--scale))}.kid-nobody .dim{font-size:calc(16px * var(--scale));color:var(--text-dim);max-width:34ch}.pair-qr{display:flex;flex-direction:column;align-items:center;gap:calc(8px * var(--scale));margin:calc(10px * var(--scale)) 0}.pair-qr .qr{width:calc(200px * var(--scale));height:calc(200px * var(--scale));border-radius:calc(8px * var(--scale))}.pair-qr .field-hint{max-width:40ch;text-align:center}.kid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-auto-rows:minmax(clamp(130px,22vh,200px),1fr);gap:calc(12px * var(--scale));flex:1;min-height:0}.kid-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(10px * var(--scale));position:relative;min-height:clamp(130px,24vh,190px);padding:calc(18px * var(--scale)) calc(14px * var(--scale));border:none;border-radius:calc(22px * var(--scale));background:color-mix(in oklab,var(--me, var(--accent)) 16%,var(--bg-raised));color:inherit;text-align:center}.kid-mark{width:clamp(40px,7vh,58px);height:clamp(40px,7vh,58px);color:var(--me, var(--accent));flex:0 0 auto}.kid-tile-title{font-size:calc(20px * var(--scale));font-weight:660;line-height:1.2}.kid-tile-state{font-size:calc(15px * var(--scale));color:var(--text-dim)}.kid-tile.is-confirming{background:color-mix(in oklab,var(--me, var(--accent)) 42%,var(--bg-raised))}.kid-tile.is-confirming .kid-tile-state{color:inherit;font-weight:660}.kid-tile.is-done,.kid-tile.is-waiting{opacity:.5}.kid-tile.is-off{opacity:.35}.kid-tile.is-off .kid-tile-title{text-decoration:line-through}.kid-tile.is-task .kid-mark{color:var(--text-dim)}.kid-daynav{display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--scale));flex:0 0 auto}.kid-day{display:flex;flex-direction:column;align-items:center;line-height:1.15}.kid-day-name{font-size:clamp(20px,3.4vh,28px);font-weight:700}.kid-day-date{font-size:clamp(13px,2vh,17px);color:var(--text-dim)}.kid-arrow{display:grid;place-items:center;width:clamp(48px,8vh,64px);height:clamp(48px,8vh,64px);flex:0 0 auto;border:none;border-radius:50%;background:color-mix(in oklab,var(--me, var(--accent)) 16%,var(--bg-raised));color:inherit;font-size:clamp(26px,4vh,34px);line-height:1}.kid-arrow:disabled{opacity:.3}.touch-check{display:flex;flex-direction:column;gap:calc(8px * var(--scale))}.touch-check-pad{height:calc(160px * var(--scale));overflow-y:auto;border:2px dashed var(--line);border-radius:var(--radius)}.touch-check-row{padding:calc(10px * var(--scale)) calc(14px * var(--scale));border-bottom:1px solid var(--line)}
