:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--font-size-xs: 12px;--font-size-meta: 13px;--font-size-sm: 14px;--font-size-time: 15px;--font-size-base: 16px;--font-size-md: 18px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-date: 26px;--font-size-2xl: 30px;--line-tight: 1.25;--line-base: 1.5;--weight-regular: 400;--weight-medium: 600;--weight-bold: 700;--weight-black: 800;--font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--touch-target-min: 44px;--control-height: 44px;--motion-fast: .12s;--motion-base: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--elevation-0: none;--elevation-1: 0 1px 2px rgba(0, 0, 0, .3);--elevation-2: 0 6px 16px rgba(0, 0, 0, .35);--elevation-3: 0 12px 32px rgba(0, 0, 0, .45);--shadow-sheet: 0 -6px 30px rgba(16, 24, 40, .16);--shadow-fab: 0 8px 22px color-mix(in srgb, var(--color-accent) 38%, transparent);--shadow-toast: 0 8px 24px rgba(16, 24, 40, .2);--shadow-panel: 0 10px 40px rgba(16, 24, 40, .14);--shadow-seg: 0 1px 2px rgba(0, 0, 0, .08);--content-max: 34rem;--shell-max: 1100px;--rail-width: 216px;--z-sheet: 100;--z-toast: 200;--color-bg: #eef1f6;--color-surface: #ffffff;--color-surface-sunken: #f4f6fa;--color-text: #1b2330;--color-text-muted: #545b6e;--color-divider: #e9ecf3;--color-border: #dfe3ec;--color-border-strong: #64748b;--color-focus: #3a55c9;--color-accent: #3a55c9;--color-accent-contrast: #ffffff;--color-danger: #c23b34;--color-warning: #8a5600;--color-warning-soft: #fbf3e2;--color-success: #1f7a4d;--color-info: #3a55c9;--color-event: #0369a1;--color-task: #4f46e5;--color-note: #8a5600;--color-grocery: #1f7a4d;--color-private: #6d28d9;--color-on-owner: #ffffff;--color-owner-1: #3567c0;--color-owner-2: #0f9a8f;--color-owner-3: #cf4e8b;--color-owner-4: #c47a1e;--color-owner-5: #7c3aed;--color-owner-6: #4a7a2f}@media(prefers-color-scheme:dark){:root{--color-bg: #10151f;--color-surface: #19202e;--color-surface-sunken: #1f2735;--color-text: #eef1f7;--color-text-muted: #a8b1c6;--color-divider: #232c3c;--color-border: #2b3446;--color-border-strong: #7d8aa1;--color-focus: #8ea2ff;--color-accent: #8ea2ff;--color-accent-contrast: #0c1220;--color-danger: #ff6b66;--color-warning: #e6b552;--color-warning-soft: #2a2313;--color-success: #5ec88b;--color-info: #7dd3fc;--color-event: #7dd3fc;--color-task: #a5b4fc;--color-note: #fcd34d;--color-grocery: #6ee7b7;--color-private: #c4b5fd;--color-on-owner: #ffffff;--color-owner-1: #6ba6ff;--color-owner-2: #3fd3c6;--color-owner-3: #f386bb;--color-owner-4: #f0b56b;--color-owner-5: #c084fc;--color-owner-6: #8bd45e}}:root[data-theme=dark]{--color-bg: #10151f;--color-surface: #19202e;--color-surface-sunken: #1f2735;--color-text: #eef1f7;--color-text-muted: #a8b1c6;--color-divider: #232c3c;--color-border: #2b3446;--color-border-strong: #7d8aa1;--color-focus: #8ea2ff;--color-accent: #8ea2ff;--color-accent-contrast: #0c1220;--color-danger: #ff6b66;--color-warning: #e6b552;--color-warning-soft: #2a2313;--color-success: #5ec88b;--color-info: #7dd3fc;--color-event: #7dd3fc;--color-task: #a5b4fc;--color-note: #fcd34d;--color-grocery: #6ee7b7;--color-private: #c4b5fd;--color-on-owner: #ffffff;--color-owner-1: #6ba6ff;--color-owner-2: #3fd3c6;--color-owner-3: #f386bb;--color-owner-4: #f0b56b;--color-owner-5: #c084fc;--color-owner-6: #8bd45e}:root[data-theme=light]{--color-bg: #eef1f6;--color-surface: #ffffff;--color-surface-sunken: #f4f6fa;--color-text: #1b2330;--color-text-muted: #545b6e;--color-divider: #e9ecf3;--color-border: #dfe3ec;--color-border-strong: #64748b;--color-focus: #3a55c9;--color-accent: #3a55c9;--color-accent-contrast: #ffffff;--color-danger: #c23b34;--color-warning: #8a5600;--color-warning-soft: #fbf3e2;--color-success: #1f7a4d;--color-info: #3a55c9;--color-event: #0369a1;--color-task: #4f46e5;--color-note: #8a5600;--color-grocery: #1f7a4d;--color-private: #6d28d9;--color-on-owner: #ffffff;--color-owner-1: #3567c0;--color-owner-2: #0f9a8f;--color-owner-3: #cf4e8b;--color-owner-4: #c47a1e;--color-owner-5: #7c3aed;--color-owner-6: #4a7a2f}@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:800;font-display:swap;src:url(/fonts/inter-800.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:600;font-display:swap;src:url(/fonts/atkinson-600.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700.woff2) format("woff2")}@font-face{font-family:Nunito;font-weight:400;font-display:swap;src:url(/fonts/nunito-400.woff2) format("woff2")}@font-face{font-family:Nunito;font-weight:600;font-display:swap;src:url(/fonts/nunito-600.woff2) format("woff2")}@font-face{font-family:Nunito;font-weight:700;font-display:swap;src:url(/fonts/nunito-700.woff2) format("woff2")}@font-face{font-family:Lora;font-weight:400;font-display:swap;src:url(/fonts/lora-400.woff2) format("woff2")}@font-face{font-family:Lora;font-weight:600;font-display:swap;src:url(/fonts/lora-600.woff2) format("woff2")}@font-face{font-family:Lora;font-weight:700;font-display:swap;src:url(/fonts/lora-700.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-time);line-height:1.45;-webkit-font-smoothing:antialiased}#app{display:flex;height:100vh;height:100dvh;overflow:hidden}.icon{display:block;flex:0 0 auto}.icon-label{display:inline-flex;align-items:center;gap:var(--space-2)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:where(a[href],button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}button{font:inherit;color:inherit}.rail{display:none;width:var(--rail-width);flex:0 0 var(--rail-width);background:var(--color-surface);border-right:1px solid var(--color-divider);flex-direction:column;padding:18px 12px}.rail-brand{font-weight:var(--weight-black);font-size:var(--font-size-md);padding:8px 10px 16px;display:flex;align-items:center;gap:10px}.rail-brand .icon{color:var(--color-accent)}.rail-item{display:flex;align-items:center;gap:12px;min-height:var(--touch-target-min);padding:0 12px;border:0;background:transparent;border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:var(--weight-medium);cursor:pointer;text-align:left}.rail-item[aria-current=page]{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.rail-add{margin-top:10px;min-height:var(--touch-target-min);border:0;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.rail-foot{margin-top:auto;display:flex;align-items:center;gap:10px;min-height:var(--touch-target-min);padding:0 10px;border:0;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);font-weight:var(--weight-medium);text-align:left}.main-col{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.topbar{display:flex;align-items:center;gap:6px;padding:14px var(--space-4);min-height:60px}.topbar-nav{display:flex;align-items:center;gap:6px}.topbar-h{margin:0}.topbar-date{font-weight:var(--weight-black);font-size:var(--font-size-date);white-space:nowrap;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:2px;color:var(--color-text);padding:2px 4px}.topbar-date .date-sub{color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--font-size-base);margin-left:4px}.topbar-date .icon{color:var(--color-text-muted)}.tool-btn{width:var(--touch-target-min);height:var(--touch-target-min);border-radius:var(--radius-md);display:grid;place-items:center;color:var(--color-text-muted);cursor:pointer;background:transparent;border:0}.tool-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-btn.disabled{opacity:.35;pointer-events:none}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.scope{display:inline-flex;gap:4px;font-size:var(--font-size-meta);color:var(--color-text-muted);cursor:pointer;align-items:center;padding:8px 10px;border-radius:var(--radius-pill);min-height:36px;border:0;background:transparent}.scope b{color:var(--color-text)}.avatar-btn{width:34px;height:34px;border-radius:50%;background:var(--color-owner-1);color:var(--color-on-owner);display:grid;place-items:center;font-weight:var(--weight-bold);font-size:var(--font-size-meta);cursor:pointer;flex:0 0 auto;border:0;padding:0}.see{flex:1;overflow-y:auto;padding:0 var(--space-4) 96px}.subtle{color:var(--color-text-muted);font-size:var(--font-size-meta);margin:0 2px 12px}.panel{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider);overflow:hidden}.items{list-style:none;margin:0;padding:0;background:var(--color-surface)}.on-backdrop{background:var(--color-surface)}.row-item,.item{display:flex;align-items:center;gap:var(--space-3);padding:12px var(--space-4);min-height:56px;cursor:pointer}.row-item+.row-item,.item+.item{border-top:1px solid var(--color-divider)}.row-item:hover,.item:hover{background:var(--color-surface-sunken)}.row-lead,.lead{width:24px;display:grid;place-items:center;flex:0 0 auto;color:var(--color-text-muted)}.row-circle{width:var(--touch-target-min);height:var(--touch-target-min);margin:-10px -8px;display:grid;place-items:center;flex:0 0 auto;background:transparent;border:0;cursor:pointer}.circle{width:23px;height:23px;border-radius:50%;border:2px solid var(--color-border);display:grid;place-items:center;color:transparent}.circle .icon{width:16px;height:16px}.done .circle,.circle.on{background:var(--color-success);border-color:var(--color-success);color:var(--color-on-owner)}.row-open{min-width:0;flex:1;border:0;background:transparent;text-align:left;cursor:pointer;padding:0;display:flex;align-items:center;gap:8px}.row-title,.it-title{font-size:var(--font-size-base);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.done .row-title,.done .it-title{text-decoration:line-through;color:var(--color-text-muted)}.it-sub,.row-sub{font-size:var(--font-size-meta);color:var(--color-text-muted);margin-top:1px}.row-time,.it-time{font-size:var(--font-size-time);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text);margin-left:auto}.qty{min-width:30px;color:var(--color-text-muted);font-weight:var(--weight-bold);font-size:var(--font-size-meta);flex:0 0 auto}.tickbtn{width:var(--touch-target-min);height:var(--touch-target-min);margin:-10px -8px -10px auto;display:grid;place-items:center;flex:0 0 auto;background:transparent;border:0;cursor:pointer}.owner-stack{display:inline-flex;margin-left:10px;flex:0 0 auto}.owner-stack .owner-av{margin-left:-9px;box-shadow:0 0 0 2px var(--color-surface)}.owner-stack .owner-av:first-child{margin-left:0}.owner-av{width:28px;height:28px;border-radius:50%;color:var(--color-on-owner);font-size:var(--font-size-xs);font-weight:var(--weight-bold);display:grid;place-items:center;flex:0 0 auto}.owner-av.owner-1{background:var(--color-owner-1)}.owner-av.owner-2{background:var(--color-owner-2)}.owner-av.owner-3{background:var(--color-owner-3)}.owner-av.owner-4{background:var(--color-owner-4)}.owner-av.owner-5{background:var(--color-owner-5)}.owner-av.owner-6{background:var(--color-owner-6)}.section-h{font-size:var(--font-size-base);font-weight:var(--weight-bold);margin:22px 2px 8px}.slip-line{display:flex;align-items:center;gap:8px;color:var(--color-warning);font-size:var(--font-size-meta);font-weight:var(--weight-medium);background:var(--color-warning-soft);border-radius:var(--radius-pill);padding:9px 14px;margin:14px 0 4px;cursor:pointer;border:0;width:100%;text-align:left}.slip-text{flex:1}.slip-caret{opacity:.7;margin-left:auto}.peek{margin-top:8px}.peek .prow{display:flex;gap:12px;padding:9px 2px;font-size:var(--font-size-time);border-top:1px solid var(--color-divider)}.peek .prow:first-child{border-top:0}.peek .pd{width:52px;color:var(--color-text-muted);font-weight:var(--weight-bold);flex:0 0 auto}.peek-open{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:var(--color-text);flex:1}.tag,.src-badge{font-size:11px;font-weight:var(--weight-bold);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-divider)}.src-badge{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent);border-color:transparent}.cal{display:inline-flex}.linklike,.link{color:var(--color-accent);font-weight:var(--weight-medium);font-size:var(--font-size-meta);cursor:pointer;background:transparent;border:0}.link-row{padding:12px 2px}.week .day{padding:14px 0;border-top:1px solid var(--color-divider)}.week .day:first-child{border-top:0}.day-head{display:flex;align-items:baseline;gap:8px;margin:0 2px 8px;font-size:var(--font-size-base);font-weight:var(--weight-bold)}.day.today .day-head{color:var(--color-accent)}.day-head .day-num{color:var(--color-text-muted);font-weight:var(--weight-medium)}.day-empty{color:var(--color-text-muted);font-size:var(--font-size-meta);padding:2px;margin:0}.wchip{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-divider);margin-bottom:6px;cursor:pointer;width:100%;text-align:left}.wchip:hover{border-color:var(--color-accent)}.wchip .lc{justify-self:end;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text);font-size:var(--font-size-meta)}.wchip .mk{justify-self:end;width:9px;height:9px;border:2px solid var(--color-text-muted);border-radius:50%;opacity:.55}.wchip .wchip-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(148px,1fr);gap:8px;margin-top:6px;overflow-x:auto;padding-bottom:6px}.bcol{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);min-height:320px;padding:8px}.bcol.today{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.bch{font-size:var(--font-size-meta);color:var(--color-text-muted);font-weight:var(--weight-bold);margin-bottom:8px;display:flex;justify-content:space-between}.bcol.today .bch{color:var(--color-accent)}.bitem{font-size:var(--font-size-meta);padding:6px;border-radius:8px;background:var(--color-surface-sunken);margin-bottom:6px;display:flex;gap:6px;align-items:center;cursor:pointer;border:0;width:100%;text-align:left;color:var(--color-text)}.bitem:hover{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface-sunken))}.bitem .bt{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold)}.bitem .btitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bitem .owner-stack{margin-left:auto}.bitem .owner-av{width:20px;height:20px;font-size:10px}.bnone{color:var(--color-text-muted);font-size:var(--font-size-meta);margin:0}.month-grid{display:grid;grid-template-columns:38px repeat(7,1fr);gap:2px;margin-top:8px}.month-dow{display:contents}.dow{color:var(--color-text-muted);font-weight:var(--weight-bold);font-size:11px;text-align:center;padding:4px 0}.dow.wk-head{font-size:9px;letter-spacing:.02em}.month-week{display:contents}.month-cell{min-height:52px}.cell-open{width:100%;min-height:52px;border:0;background:transparent;border-radius:10px;padding:6px 2px;font-size:var(--font-size-meta);font-weight:var(--weight-medium);cursor:pointer;text-align:center;color:var(--color-text);display:flex;flex-direction:column;align-items:center;gap:1px}.cell-open:hover{background:var(--color-surface-sunken)}.month-cell.out .cell-open{color:var(--color-text-muted);opacity:.5}.cell-day{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%}.month-cell.today .cell-day{background:var(--color-accent);color:var(--color-accent-contrast)}.cell-count{display:block;font-size:11px;color:var(--color-accent);font-weight:var(--weight-bold);margin-top:1px}.cell-names{display:none}.week-col{display:block}.week-col-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;min-height:52px;border:0;border-radius:10px;cursor:pointer;color:var(--color-text-muted);border-right:1px solid var(--color-divider);background:transparent}.week-col-btn:hover{background:var(--color-surface-sunken)}.week-col-btn .wk-num{font-size:13px;color:var(--color-text);font-weight:var(--weight-bold);line-height:1}.week-col-btn .wk-term{font-size:9px;font-weight:var(--weight-black);color:var(--color-accent);line-height:1}.toolbar{display:flex;align-items:center;gap:8px;margin:6px 2px 12px}.seg{display:inline-flex;background:var(--color-surface-sunken);border:1px solid var(--color-divider);border-radius:var(--radius-pill);padding:3px}.seg-btn{border:0;background:transparent;color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--font-size-meta);padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer;min-height:34px}.seg-btn[aria-pressed=true],.seg-btn.on{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-seg)}.task-sec h2{font-size:var(--font-size-base);font-weight:var(--weight-bold);margin:22px 2px 8px}.bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-divider);display:grid;grid-template-columns:repeat(4,1fr);padding:4px 2px}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--color-text-muted);font-size:11px;font-weight:var(--weight-medium);cursor:pointer;min-height:var(--touch-target-min);justify-content:center;border:0;background:transparent}.nav-item[aria-current=page]{color:var(--color-accent)}.fab{position:absolute;right:16px;bottom:78px;z-index:30;height:54px;padding:0 22px;border:0;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:var(--weight-bold);font-size:var(--font-size-base);display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-fab);cursor:pointer}@media(min-width:48rem){.board{grid-auto-flow:row;grid-template-columns:repeat(7,1fr);overflow-x:visible}}@media(min-width:53.75rem){#app,.rail{display:flex}.bottom-nav,.fab,.topbar .avatar-btn{display:none}.see{padding-left:32px;padding-right:32px;max-width:980px;margin:0 auto;width:100%}.board{grid-auto-flow:row;grid-template-columns:repeat(7,1fr);overflow-x:visible}.cell-names{display:flex;flex-direction:column;margin-top:2px;line-height:1.2}.cell-count{display:none}.cell-name{display:block;font-size:10px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-name.more{color:var(--color-accent);font-weight:var(--weight-bold)}}.menu-backdrop,.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f196b;z-index:var(--z-sheet)}.avatar-menu{position:fixed;left:0;right:0;bottom:0;z-index:calc(var(--z-sheet) + 1);background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);padding:8px var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));max-width:var(--shell-max);margin:0 auto}.menu-name{margin:8px 2px 4px;font-weight:var(--weight-black);font-size:var(--font-size-md)}.menu-row{display:flex;align-items:center;gap:var(--space-3);padding:12px 4px;min-height:56px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--color-text)}.menu-row .icon{color:var(--color-text-muted)}.menu-row.danger,.menu-row.danger .icon{color:var(--color-danger)}.menu-row .menu-sub{display:block;font-size:var(--font-size-meta);color:var(--color-text-muted)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f196b;z-index:var(--z-sheet)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:calc(var(--z-sheet) + 1);background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;max-height:92%;max-width:var(--shell-max);margin:0 auto}.grab{width:40px;height:4px;border-radius:2px;background:var(--color-border);margin:10px auto 2px}.sheet__head,.shh{display:flex;align-items:center;padding:4px var(--space-4) var(--space-2)}.sheet__head h2,.shh h2,.shh h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--weight-black)}.shbody,.sheet__body{padding:0 var(--space-4);overflow:auto}label.f{display:block;font-weight:var(--weight-medium);font-size:var(--font-size-meta);margin:14px 0 6px;color:var(--color-text-muted)}.field{position:relative}.input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);padding:13px 14px;font:inherit;font-size:var(--font-size-base);color:var(--color-text)}textarea.input{min-height:60px;resize:none;padding-right:96px}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.inbtns{position:absolute;right:8px;bottom:8px;display:flex;gap:6px}.inbtns button{width:var(--touch-target-min);height:var(--touch-target-min);border-radius:var(--radius-md);border:0;background:transparent;display:grid;place-items:center;color:var(--color-accent);cursor:pointer}.inbtns button.soon{color:var(--color-text-muted)}.checkrow,.check-row{display:flex;align-items:center;gap:10px;min-height:var(--touch-target-min);cursor:pointer;font-weight:var(--weight-medium)}.box{width:22px;height:22px;border-radius:6px;border:2px solid var(--color-border);display:grid;place-items:center;color:transparent;flex:0 0 auto}.box.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-owner)}.vis{display:flex;gap:8px;flex-wrap:wrap}.visb{flex:1;min-width:calc(50% - 4px);min-height:var(--touch-target-min);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font:inherit;font-weight:var(--weight-medium);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.visb.on{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent)}.sheet__foot,.sheetfoot{display:flex;justify-content:flex-end;gap:10px;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--color-divider)}.btn{min-height:var(--touch-target-min);padding:0 22px;border-radius:var(--radius-md);font:inherit;font-weight:var(--weight-bold);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.btn.primary{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.btn.link{border:0;background:transparent;color:var(--color-danger);margin-right:auto}.cap-confirm,.toast{position:fixed;left:16px;right:16px;bottom:96px;z-index:var(--z-toast);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-toast);padding:12px 14px;display:flex;align-items:center;gap:10px;max-width:var(--shell-max);margin:0 auto}.cap-tick{width:30px;height:30px;border-radius:50%;background:var(--color-success);color:var(--color-on-owner);display:grid;place-items:center;flex:0 0 auto}.cap-added{min-width:0;flex:1}.cap-chips{display:flex;gap:6px;margin-top:3px;flex-wrap:wrap}.cap-chip{font-size:11px;font-weight:var(--weight-bold);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-divider)}.cap-chip.cap-dest{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent);border-color:transparent}.cap-edit{border:0;background:transparent;color:var(--color-accent);font-weight:var(--weight-medium);cursor:pointer}.review{display:grid;gap:var(--space-2)}.review-head{margin:0;color:var(--color-text-muted);font-size:var(--font-size-meta)}.review-row{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.review-row.dup{opacity:.65}.review-body{display:grid;gap:2px}.review-title{font-weight:var(--weight-medium)}.review-meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.review .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.mim-theme{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tcard{border:2px solid var(--color-divider);border-radius:var(--radius-md);padding:14px;cursor:pointer;background:var(--color-surface);text-align:left}.tcard[aria-pressed=true],.tcard.on{border-color:var(--color-accent)}.tcard b{display:block}.tswatch{height:8px;border-radius:4px;margin-top:8px}.palette{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.sw,.swatch{aspect-ratio:1;border-radius:50%;cursor:pointer;display:grid;place-items:center;color:var(--color-on-owner);font-weight:var(--weight-black);border:3px solid transparent;font-size:var(--font-size-xs)}.sw.on{border-color:var(--color-text)}.sw.taken{cursor:not-allowed}.calm-empty{display:grid;place-items:center;gap:10px;color:var(--color-text-muted);padding:48px 16px;text-align:center}.calm-empty .icon{color:var(--color-text-muted);opacity:.7}#app:has(.card){display:grid;place-items:center;padding:24px}.card{width:100%;max-width:360px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:28px 24px;display:grid;gap:12px;box-shadow:var(--shadow-panel)}.card h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--weight-black)}.card .muted{margin:0;color:var(--color-text-muted)}.card label{display:grid;gap:6px;font-weight:var(--weight-medium);font-size:var(--font-size-meta);color:var(--color-text-muted)}.card input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);padding:12px 14px;font:inherit;font-size:var(--font-size-base);color:var(--color-text)}.card button{min-height:var(--touch-target-min);border:0;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:var(--weight-bold);cursor:pointer}.card button.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.error{color:var(--color-danger);font-size:var(--font-size-meta);margin:0;min-height:1em}.muted{color:var(--color-text-muted)}.nbadge{position:absolute;top:2px;left:calc(50% + 8px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-danger);color:var(--color-on-owner);font-size:10px;font-weight:var(--weight-black);display:grid;place-items:center}.menu-title{display:block;font-weight:var(--weight-medium)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f196b;z-index:var(--z-sheet)}.sheet{role:dialog}.sheet__head .secondary,.sheet .secondary{min-height:40px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer}.sheet__head .secondary{margin-left:auto}.capture,.settings,.item-edit,.draft{padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));display:grid;gap:10px;overflow:auto}.capture label,.settings label,.item-edit label,.draft label,.settings-label{font-weight:var(--weight-medium);font-size:var(--font-size-meta);color:var(--color-text-muted);margin-top:6px}.capture textarea,.capture input[type=file],.settings input[type=file],.item-edit input[type=text],.item-edit input[type=date],.draft input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);padding:12px 14px;font:inherit;font-size:var(--font-size-base);color:var(--color-text);min-height:var(--touch-target-min)}.capture textarea{min-height:72px;resize:vertical}.capture textarea:focus,.item-edit input:focus,.draft input:focus,.settings input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}fieldset.route,fieldset.theme-cards{border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:12px;display:grid;gap:8px;margin:4px 0}fieldset.route legend,fieldset.theme-cards legend{font-weight:var(--weight-medium);font-size:var(--font-size-meta);color:var(--color-text-muted);padding:0 4px}fieldset.route label{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--touch-target-min);font-weight:var(--weight-regular);color:var(--color-text);margin:0}.check-row{display:flex;align-items:center;gap:10px;min-height:var(--touch-target-min);cursor:pointer;font-weight:var(--weight-medium);color:var(--color-text)}.capture button[type=submit],.settings button[type=submit],.item-edit button[type=submit],.draft button[type=submit]{min-height:var(--touch-target-min);padding:0 22px;border-radius:var(--radius-md);border:0;background:var(--color-accent);color:var(--color-accent-contrast);font:inherit;font-weight:var(--weight-bold);cursor:pointer}.capture button[type=submit]:disabled,.draft button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.actions,.item-sheet-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.item-sheet-actions .row-btn,.row-btn{min-height:var(--touch-target-min);padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer;display:inline-flex;align-items:center}.row-btn.danger,.row-del summary.danger{color:var(--color-danger)}.row-del{display:inline-block}.row-del summary{list-style:none;cursor:pointer;min-height:var(--touch-target-min);display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.item-when{display:flex;gap:10px}.theme-cards{grid-template-columns:repeat(2,1fr);display:grid}.theme-card{border:2px solid var(--color-divider);border-radius:var(--radius-md);padding:14px;cursor:pointer;background:var(--color-surface);text-align:left;min-height:var(--touch-target-min)}.theme-card[aria-pressed=true]{border-color:var(--color-accent)}.theme-name{display:block;font-weight:var(--weight-bold)}.theme-swatch{display:block;height:8px;border-radius:4px;margin-top:8px}.swatch-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.avatar-swatch{min-height:var(--touch-target-min)}.restatement{font-size:var(--font-size-base);color:var(--color-text);margin:4px 0}.draft dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:4px 0}.draft dt{color:var(--color-text-muted);font-size:var(--font-size-meta)}.draft dd{margin:0}.photo-label{display:block}
