:root{--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--status-h: 0px;--offline-h: 0px;--banner-h: calc(var(--status-h) + var(--offline-h));--topbar-extra-top: max(0px, calc(var(--safe-top) - var(--status-h) - var(--offline-h)))}:root,[data-theme]{--surface-0: var(--bg);--surface-1: var(--card);--surface-2: var(--card-2);--surface-sunken: var(--bg-2);--surface-ctl: var(--ctl);--border-ctl: var(--ctl-border);--text-primary: var(--text);--text-secondary: var(--text-2);--text-muted: var(--muted);--border-hairline: var(--line);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);--elev-1: var(--shadow);--elev-2: 0 4px 12px var(--sh-1);--elev-3: var(--shadow-lg);--blur-chrome: saturate(160%) blur(12px);--blur-soft: blur(10px);--blur-scrim: blur(3px);--warn-surface: color-mix(in srgb, #f59e0b 18%, var(--bg));--warn-border: color-mix(in srgb, #f59e0b 45%, transparent);--switch-on: #34c759;--grad-soft: color-mix(in srgb, var(--accent) 12%, transparent);--shadow: 0 1px 2px var(--sh-1), 0 1px 3px var(--sh-1);--shadow-lg: 0 8px 24px var(--sh-2);--app-bg: var(--bg)}@media (prefers-reduced-transparency: reduce){:root,[data-theme]{--blur-chrome: none;--blur-soft: none;--blur-scrim: none}}:root{--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--fs-caption: .75rem;--fs-caption-2: .8125rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-title: 1.375rem;--fs-display: 1.75rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--dur-spring: .42s;--ease-out: cubic-bezier(.2, .7, .3, 1);--spring-fallback: cubic-bezier(.34, 1.3, .45, 1)}:root,[data-theme=day]{--accent: #0c9d62;--accent-2: #d96a10;--bg: #fdfbf6;--bg-2: #f7f3e9;--card: #fffefd;--card-2: #fdfaf4;--text: #1f1d17;--text-2: #524e42;--muted: #6d6858;--line: #e8e2d4;--danger: #c94f43;--ok: #0c9d62;--btn-fg: #ffffff;--ctl: #fffefd;--ctl-border: #e4decd;--sh-1: rgba(60, 50, 20, .06);--sh-2: rgba(60, 45, 15, .13);--warn: #7a4d09;--accent-2-text: #a04e0a;--toast-action: #7fe3b3}:root[data-theme=night],[data-theme=night]{--accent: #63dba2;--accent-2: #e9b355;--bg: #0a0c0a;--bg-2: #141a16;--card: #1d241f;--card-2: #242c26;--text: #f6faf5;--text-2: #ccd6cc;--muted: #aebbb0;--line: #3d4a41;--danger: #f0705f;--ok: #63dba2;--btn-fg: #08281a;--ctl: #222925;--ctl-border: #3a463d;--sh-1: rgba(0, 0, 0, .3);--sh-2: rgba(0, 0, 0, .45);--warn: #fbbf24;--accent-2-text: #e9b355;--toast-action: #0d7a50}:root[data-theme=aurora],[data-theme=aurora]{--accent: #c14bff;--accent-2: #2de2e6;--bg: #100a18;--bg-2: #1a1128;--card: #1d1430;--card-2: #241a3e;--text: #f5eefc;--text-2: #cfc3e6;--muted: #a99cd1;--line: #37295f;--danger: #ff4d8d;--ok: #2de2e6;--btn-fg: #140a20;--ctl: rgba(255, 255, 255, .06);--ctl-border: rgba(255, 255, 255, .16);--sh-1: rgba(20, 0, 40, .45);--sh-2: rgba(40, 0, 70, .5);--warn: #fbbf24;--accent-2-text: #2de2e6;--toast-action: #0b6d70}@media (prefers-color-scheme: dark){:root:not([data-theme]){--accent: #63dba2;--accent-2: #e9b355;--bg: #0a0c0a;--bg-2: #141a16;--card: #1d241f;--card-2: #242c26;--text: #f6faf5;--text-2: #ccd6cc;--muted: #aebbb0;--line: #3d4a41;--danger: #f0705f;--ok: #63dba2;--btn-fg: #08281a;--ctl: #222925;--ctl-border: #3a463d;--sh-1: rgba(0, 0, 0, .3);--sh-2: rgba(0, 0, 0, .45);--warn: #fbbf24;--accent-2-text: #e9b355;--toast-action: #0d7a50}}:root,[data-theme]{--ease-spring: var(--spring-fallback)}@supports (animation-timing-function: linear(0,1)){:root,[data-theme]{--ease-spring: linear(0, .053 5%, .183 10%, .35 15%, .524 20%, .686 25%, .824 30%, .932 35%, 1.01 40%, 1.06 45%, 1.087 50%, 1.096 55%, 1.092 60%, 1.081 65%, 1.065 70%, 1.048 75%, 1.032 80%, 1.019 85%, 1.008 90%, 1 95%, 1)}}@font-face{font-family:Fraunces;font-weight:600;font-style:normal;font-display:swap;src:url(./fraunces-semibold-D12ps5YC.woff2) format("woff2")}@font-face{font-family:Fraunces;font-weight:900;font-style:normal;font-display:swap;src:url(./fraunces-black-3X4kyjfn.woff2) format("woff2")}:root{--font-display: "Fraunces", ui-serif, Georgia, "Times New Roman", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:1.4;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--app-bg);transition:background-color var(--dur-slow) ease}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font:inherit}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.ic{display:block;flex:none}#app{max-width:640px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-top:var(--banner-h, 0)}.content{flex:1;padding:14px 18px 150px}.brand{font-family:var(--font-display);font-weight:900;letter-spacing:-.01em;color:var(--accent)}.muted{color:var(--muted)}.center-empty{text-align:center;color:var(--muted);padding:60px 16px}.center-empty .big{font-size:3rem;margin-bottom:6px}.hidden{display:none!important}.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:rot .7s linear infinite;vertical-align:-2px}@keyframes rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-screen-dir=fwd]::view-transition-old(root){animation:screen-under-out .3s var(--ease-out) both}[data-screen-dir=fwd]::view-transition-new(root){animation:screen-push-in .3s var(--ease-out) both}[data-screen-dir=back]::view-transition-old(root){animation:screen-pop-out .28s var(--ease-out) both;z-index:1}[data-screen-dir=back]::view-transition-new(root){animation:screen-under-in .28s var(--ease-out) both}@keyframes screen-push-in{0%{transform:translate(100%)}}@keyframes screen-pop-out{to{transform:translate(100%)}}@keyframes screen-under-out{to{transform:translate(-24%)}}@keyframes screen-under-in{0%{transform:translate(-24%)}}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.topbar{position:sticky;top:var(--banner-h, 0);z-index:20;display:flex;align-items:center;gap:10px;padding:calc(12px + var(--topbar-extra-top)) 18px 12px;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:var(--blur-chrome);-webkit-backdrop-filter:var(--blur-chrome);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.topbar h1{font-family:var(--font-display);font-size:clamp(1.3rem,5.2vw,1.55rem);font-weight:var(--fw-semibold);letter-spacing:-.015em;line-height:1.2;margin:0;flex:1;display:flex;align-items:center;gap:9px;min-width:0}.topbar h1 .brand{font-size:1.05em}.topbar h1 .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar h1 .logo{flex:none}.iconbtn{width:40px;height:40px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:1.2rem;color:var(--text);background:var(--ctl);border:1px solid var(--ctl-border);transition:background var(--dur-fast),transform var(--dur-fast),border-color var(--dur-fast)}.iconbtn:active{background:var(--line);transform:scale(.9);transition-timing-function:var(--ease-spring)}.topbar h1 .list-emoji{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--c) 20%,transparent);font-size:1.05rem;flex:none}.presence{display:flex;align-items:center}.presence-dot{width:26px;height:26px;border-radius:50%;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;margin-left:-7px;border:2px solid var(--card)}.presence-dot:first-child{margin-left:0}.sync-badge{display:grid;place-items:center;color:var(--muted);animation:rot 1.1s linear infinite;margin:0 2px}.env-badge{display:inline-flex;align-items:center;flex:none;vertical-align:middle;background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);border-radius:999px;padding:2px 8px;font-size:.6rem;font-weight:800;letter-spacing:.08em;line-height:1.45;white-space:nowrap}.auth-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding:26px;gap:22px}.auth-logo{text-align:center;font-size:2.6rem}.auth-logo .logo{vertical-align:-.14em;margin-right:2px;border-radius:22%}.auth-logo .sub{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--muted);margin-top:10px;letter-spacing:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px}.tabs{display:flex;gap:4px;background:var(--bg-2);padding:5px;border-radius:var(--r-md);margin-bottom:16px}.tabs button{flex:1;padding:11px;border-radius:10px;color:var(--muted);font-weight:var(--fw-semibold);transition:var(--dur-base)}.tabs button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.social{display:flex;flex-direction:column;gap:10px;margin-top:6px}.social .btn{display:flex;align-items:center;justify-content:center;gap:10px}.social .apple{background:#000;color:#fff}.social .facebook{background:#1877f2;color:#fff}.divider{text-align:center;color:var(--muted);font-size:var(--fs-caption-2);font-weight:600;margin:12px 0;display:flex;align-items:center;gap:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.err{color:var(--danger);font-size:var(--fs-sm);min-height:1.1em;margin:4px 2px;font-weight:600}.card-note{text-align:center;padding:8px 0 16px}.card-title{margin:0 0 8px;font-size:1.1rem}.card-hint{margin:0 0 16px;font-size:var(--fs-sm)}.forgot-link{display:block;text-align:right;width:100%;margin-bottom:4px}.field{width:100%;padding:14px 15px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--card-2);color:var(--text);margin-bottom:11px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.auth-label{display:block}.auth-label>span{display:block;font-size:var(--fs-caption-2);font-weight:700;color:var(--muted);margin:0 2px 5px}.pw-wrap{position:relative}.pw-wrap .field{padding-right:46px}.pw-toggle{position:absolute;top:0;right:4px;height:calc(100% - 11px);width:40px;display:grid;place-items:center;color:var(--muted);border-radius:10px}.due-row{display:flex;gap:8px;align-items:center}.due-input{flex:1;min-width:0;padding:11px 13px;border-radius:12px;background:var(--bg-2);border:1.5px solid transparent;font-size:var(--fs-sm);color:var(--text);font-weight:600;outline:none}.due-input:focus{border-color:var(--accent);background:var(--card)}.sheet .field{margin-bottom:14px}.sheet .field>label{display:block;font-size:var(--fs-caption-2);font-weight:700;color:var(--muted);margin:0 2px 6px}.sheet .field>input{width:100%;padding:11px 13px;border-radius:12px;background:var(--bg-2);border:1.5px solid transparent;font-size:var(--fs-sm);color:var(--text);font-weight:600;outline:none}.sheet .field>input:focus{border-color:var(--accent);background:var(--card)}.btn{width:100%;padding:15px;border-radius:var(--r-md);font-weight:var(--fw-bold);letter-spacing:-.01em;background:var(--accent);color:var(--btn-fg);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base),filter var(--dur-fast);display:flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:scale(.97);filter:brightness(1.03)}.btn.secondary{background:var(--bg-2);color:var(--text);box-shadow:none}.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--text);box-shadow:none}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-size:var(--fs-caption-2);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fab{position:fixed;right:20px;bottom:calc(24px + var(--safe-bottom));width:60px;height:60px;border-radius:var(--r-lg);background:var(--accent);color:var(--btn-fg);font-size:1.9rem;display:grid;place-items:center;box-shadow:var(--shadow-lg);z-index:25;transition:transform var(--dur-base) var(--ease-spring);animation:pop var(--dur-spring) var(--ease-spring) both}.fab:active{transform:scale(.9) rotate(90deg)}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.btn.icon-only{flex:none;width:auto;padding:0 12px}.btn.danger{background:var(--danger)}.list-tile{--c: var(--accent);display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:12px;transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base);animation:rise .35s var(--ease-out) both}.list-tile:active{transform:scale(.98);box-shadow:var(--elev-2)}.list-tile .emoji{font-size:1.55rem;width:56px;height:56px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--c) 25%,transparent);border-radius:14px 14px 2px 2px;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - 4px) no-repeat,radial-gradient(circle 4px at 7px 0,#000 99%,#0000 101%) bottom / 14px 4px repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - 4px) no-repeat,radial-gradient(circle 4px at 7px 0,#000 99%,#0000 101%) bottom / 14px 4px repeat-x}.list-tile .meta{flex:1;min-width:0}.list-tile .meta .t{font-weight:var(--fw-semibold);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-tile .meta .s{color:var(--muted);font-size:var(--fs-sm);margin-top:3px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}.list-tile .meta .s .open-n{color:var(--c);font-weight:var(--fw-semibold)}.badge{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.02em;padding:3px 9px;border-radius:var(--r-pill);background:var(--bg-2);color:var(--muted);text-transform:uppercase}.badge.owner{background:var(--grad-soft);color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toggle-pill{margin-left:auto;font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.04em;padding:4px 11px;border-radius:var(--r-pill);background:var(--ctl);border:1px solid var(--ctl-border);color:var(--muted)}.toggle-pill.on{background:var(--grad-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.skeleton{position:relative;overflow:hidden;background:var(--surface-sunken);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 7%,transparent),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.inline-error{display:flex;align-items:center;gap:10px;margin:14px 2px;padding:12px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--danger) 10%,var(--surface-1));border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.inline-error .ic{flex:none}.inline-error-msg{flex:1;min-width:0}.inline-error-retry{flex:none;padding:7px 14px;border-radius:var(--r-pill);background:var(--danger);color:#fff;font-weight:var(--fw-bold);font-size:var(--fs-caption)}.skeleton-tile{height:82px;border-radius:var(--r-lg);margin-bottom:13px}.skeleton-row{height:50px;border-radius:var(--r-md);margin-bottom:8px}.presence-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.presence-list li{display:flex;align-items:center;gap:10px;font-weight:var(--fw-medium)}.presence-list .presence-dot{margin-left:0;border-color:transparent}.center-empty .big svg{display:block;margin:0 auto 6px;color:color-mix(in srgb,var(--accent) 45%,var(--muted))}.split-empty svg{color:color-mix(in srgb,var(--accent) 45%,var(--muted))}.auth-logo .logo{vertical-align:-8px;margin-right:2px}.about-mark svg{display:block}.items{list-style:none;margin:0 0 12px;padding:0;background:var(--card);border:1px solid var(--border-hairline);border-radius:var(--r-md);overflow:hidden}.items:empty{display:none}.item-wrap{position:relative;overflow:hidden}.item-wrap .swipe-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;font-size:1.3rem;opacity:0;transition:opacity var(--dur-fast)}.item-wrap .swipe-bg.check{justify-content:flex-start;padding-left:22px;background:var(--ok);color:var(--btn-fg)}.item-wrap .swipe-bg.del{justify-content:flex-end;padding-right:22px;background:var(--danger);color:#fff}.item-wrap.swiping-right .swipe-bg.check,.item-wrap.swiping-left .swipe-bg.del{opacity:1}.item-wrap .swipe-bg .ic{transform:scale(.75);transition:transform var(--dur-base) var(--ease-spring)}.item-wrap.swipe-armed .swipe-bg .ic{transform:scale(1.12)}.item-wrap:not(:last-child)>.item{border-bottom:1px solid var(--line)}.item{position:relative;display:flex;align-items:center;gap:12px;background:var(--card);padding:13px 14px;touch-action:pan-y;transition:transform var(--dur-base) ease,opacity var(--dur-base);will-change:transform;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.item .check{position:relative;width:24px;height:24px;padding:0;border-radius:7px;border:2px solid var(--line);flex:none;display:grid;place-items:center;color:transparent;transition:var(--dur-base)}.item .check:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.item.done .check{background:var(--c, var(--accent));border-color:transparent;color:var(--c-fg, #fff);animation:check-pop var(--dur-spring) var(--ease-spring)}.item .check .spunta path{stroke-dasharray:34;stroke-dashoffset:34}.item.done .check .spunta path{stroke-dashoffset:0;transition:stroke-dashoffset .22s var(--ease-out) 40ms}@keyframes check-pop{0%{transform:scale(.7)}to{transform:none}}.item .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--fw-medium);font-size:var(--fs-base);letter-spacing:-.01em}.item.done{opacity:.6}.item.done .txt{text-decoration:line-through;color:var(--muted);font-weight:var(--fw-regular)}.item .indent-btn,.item .del-btn{color:var(--muted);font-size:var(--fs-sm);padding:4px 6px;opacity:.5;border-radius:8px;flex:none}.item .indent-btn:active,.item .del-btn:active{background:var(--bg-2);opacity:1}.item .del-btn:active{color:var(--danger)}.item.child{padding-left:40px}.item.child:before{content:"";position:absolute;left:22px;top:50%;width:10px;height:2px;border-radius:2px;background:var(--line)}.item .drag-btn{color:var(--muted);opacity:.38;padding:4px 2px;margin:0 -2px 0 -4px;flex:none;border-radius:6px;cursor:grab;touch-action:none}.item .drag-btn:active{opacity:.85;cursor:grabbing}.items:has(.item-wrap.dragging){overflow:visible}.items:has(.item-wrap.dragging) .item-wrap:not(.dragging){transition:transform var(--dur-fast) ease}.item-wrap.dragging{z-index:5;touch-action:none;transition:none}body.dragging-active{user-select:none!important;-webkit-user-select:none!important;cursor:grabbing}body.dragging-active *{-webkit-user-select:none!important}.item-wrap.dragging>.item{background:var(--card);box-shadow:var(--shadow-lg);border-radius:var(--r-md);border-bottom:none;transition:box-shadow var(--dur-fast)}.item.editing{border-color:var(--c, var(--accent));box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 20%,transparent);padding:7px 7px 7px 15px}.item.editing .check.ghost{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);flex:none}.edit-input{flex:1;border:none;background:transparent;color:var(--text);padding:12px 0;font-size:var(--fs-base);font-weight:var(--fw-medium);outline:none;min-width:0}.item.editing .add-x{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--muted)}.item.editing .add-x:active{background:var(--bg-2)}.item .txt{display:flex;flex-direction:column;gap:1px;text-align:left;padding:0}.item .txt .txt-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .txt .txt-note{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item.done .txt .txt-note{text-decoration:none}.item .qty-badge{flex:none;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--c, var(--accent));background:color-mix(in srgb,var(--c, var(--accent)) 14%,transparent);padding:2px 8px;border-radius:var(--r-pill)}.item .note-badge{flex:none;color:var(--muted);opacity:.6;padding:4px;border-radius:8px}.item .note-badge:active{background:var(--bg-2);opacity:1}.item .assignee-chip{flex:none;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;box-shadow:0 2px 6px #0000002e}.item .more-btn{color:var(--muted);padding:4px 6px;opacity:.7;border-radius:8px;flex:none}.item .more-btn:active{background:var(--bg-2);opacity:1}.item .due-badge{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--muted);background:var(--bg-2);padding:2px 7px 2px 5px;border-radius:var(--r-pill);white-space:nowrap}.item .due-badge.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.item .price-badge{flex:none;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ok, #2bb673);background:color-mix(in srgb,var(--ok, #2bb673) 14%,transparent);padding:2px 8px;border-radius:var(--r-pill)}[data-density=compact] .item{padding:8px 14px;gap:9px}[data-density=compact] .item .txt{font-size:var(--fs-sm, .92rem)}[data-density=compact] .item .assignee-chip{width:20px;height:20px;font-size:.66rem}[data-density=compact] .item .qty-badge{padding:1px 7px}.content.keep{padding-bottom:calc(96px + var(--safe-bottom))}.empty-hint{color:var(--muted);text-align:center;padding:26px 12px 10px}#add-area.editing{position:fixed;left:0;right:0;bottom:var(--kb, 0);max-width:640px;margin:0 auto;z-index:30;padding:8px 16px calc(8px + var(--safe-bottom));background:linear-gradient(to top,var(--bg) 72%,color-mix(in srgb,var(--bg) 40%,transparent));backdrop-filter:var(--blur-soft);-webkit-backdrop-filter:var(--blur-soft)}.add-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:var(--r-md);color:var(--muted);font-weight:var(--fw-medium);text-align:left;background:var(--card);border:1px solid var(--border-hairline);transition:background var(--dur-fast),color var(--dur-fast)}.add-row .ic{color:var(--c, var(--accent))}.add-row:active{background:var(--card);border-color:var(--accent);color:var(--text)}.edit-row{display:flex;align-items:center;gap:13px;background:var(--card);border:1.5px solid var(--c, var(--accent));box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 20%,transparent);padding:7px 7px 7px 15px;border-radius:var(--r-md);animation:rise var(--dur-base) ease both}.edit-row .check.ghost{width:24px;height:24px;border-radius:7px;border:2px solid var(--line);flex:none}.edit-row input{flex:1;border:none;background:transparent;color:var(--text);padding:12px 0;font-size:var(--fs-base);font-weight:var(--fw-medium);outline:none;min-width:0}.edit-row input::placeholder{color:var(--muted);font-weight:500}.edit-row .add-mic,.edit-row .add-x{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:background var(--dur-fast),transform var(--dur-fast)}.edit-row .add-mic:active,.edit-row .add-x:active{background:var(--bg-2);transform:scale(.9)}.edit-row .add-mic.rec{background:var(--danger);color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #ff4d6d80}50%{transform:scale(1.08);box-shadow:0 0 0 10px #ff4d6d00}}.pills{display:flex;gap:7px;align-items:center;padding:0 2px 8px;overflow:hidden}.pill-sug{display:inline-flex;align-items:center;gap:5px;max-width:46%;padding:7px 13px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);background:color-mix(in srgb,var(--c, var(--accent)) 14%,transparent);border:none;white-space:nowrap;overflow:hidden;transition:transform var(--dur-base) var(--ease-spring)}.pill-sug:active{transform:scale(.95)}.pill-sug span{overflow:hidden;text-overflow:ellipsis}.pill-sug.ai{background:color-mix(in srgb,var(--accent-2) 14%,transparent);color:var(--accent-2-text)}.pill-sug .ic{flex:none}.pill-sug.loading{opacity:.55;pointer-events:none;background:transparent;border:1.5px dashed var(--border-ctl)}.pill-sug.loading .spinner-sm{width:12px;height:12px}.proactive{margin:4px 2px 2px}.proactive-head{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption, .76rem);color:var(--muted);margin-bottom:5px}.proactive-head .ic{color:var(--c, var(--accent));flex:none}.proactive-x{margin-left:auto;color:var(--muted);display:grid;place-items:center;padding:2px;border-radius:var(--r-sm)}.proactive-x:active{background:var(--bg-2)}.proactive-pills{display:flex;flex-wrap:wrap;gap:7px}.proactive-pills .pill-sug .ic{color:var(--c, var(--accent))}.done-sep{height:1px;background:var(--line);margin:18px 4px 6px}.done-head,.archived-head{display:flex;align-items:center;gap:9px;width:100%;text-align:left;color:var(--muted);font-weight:var(--fw-semibold);letter-spacing:-.01em;padding:8px 6px 12px}.done-head .dh-chev,.archived-head .dh-chev{display:grid;place-items:center;transition:transform var(--dur-base)}.done-head .dh-chev.collapsed,.archived-head .dh-chev.collapsed{transform:rotate(-90deg)}.archived-block{margin-top:14px}.seg-label{color:var(--muted);font-size:var(--fs-caption);font-weight:var(--fw-bold);margin:6px 2px 8px}.theme-seg{display:flex;flex-wrap:wrap;gap:5px;background:var(--bg-2);padding:5px;border-radius:var(--r-md);margin-bottom:12px}.theme-seg button{flex:1 1 28%;min-width:0;padding:10px 8px;border-radius:10px;color:var(--muted);font-weight:var(--fw-semibold);overflow-wrap:anywhere;transition:var(--dur-fast)}.theme-seg button.sel{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.theme-card{display:flex;flex-direction:column;gap:7px;padding:7px 7px 9px;border-radius:var(--r-md);background:var(--ctl);border:1.5px solid var(--ctl-border);transition:transform var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}.theme-card:active{transform:scale(.96)}.theme-card .tc-prev{position:relative;height:50px;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #80808033}.theme-card .tc-bar{position:absolute;top:6px;left:6px;right:6px;height:12px;border-radius:4px}.theme-card .tc-row{position:absolute;left:6px;right:8px;height:8px;border-radius:4px;border:1px solid transparent;top:24px}.theme-card .tc-row.short{right:20px;top:37px}.theme-card .tc-name{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text);text-align:center;letter-spacing:-.01em}.theme-card.sel{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent)}.emoji-pick{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.emoji-pick button{font-size:1.45rem;width:48px;height:48px;border-radius:var(--r-md);background:var(--bg-2);transition:transform var(--dur-fast)}.emoji-pick button:active{transform:scale(.9)}.emoji-pick button.sel{outline:2.5px solid var(--accent);background:var(--grad-soft)}.color-pick{display:flex;gap:11px;flex-wrap:wrap;margin:2px 0 16px}.color-pick button{width:34px;height:34px;border-radius:50%;background:var(--c);border:none;transition:transform var(--dur-fast)}.color-pick button:active{transform:scale(.88)}.color-pick button.sel{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--c)}.color-pick.big{gap:16px;justify-content:space-between;margin:14px 0 6px}.color-pick.big button{width:52px;height:52px;display:grid;place-items:center;color:var(--c-fg, #fff)}.swatch{width:22px;height:22px;border-radius:50%;background:var(--c);margin-left:auto;box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 35%,transparent)}.assignee-list,.cat-list{display:flex;flex-wrap:wrap;gap:7px}.assignee-opt,.cat-opt{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--r-pill);background:var(--bg-2);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:var(--dur-fast)}.assignee-opt.sel,.cat-opt.sel{background:var(--grad-soft);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.assignee-opt .dot{width:12px;height:12px;border-radius:50%;flex:none}.seg-label.sub{font-weight:var(--fw-semibold);text-transform:none;opacity:.85;margin-top:2px}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0808149e;backdrop-filter:var(--blur-scrim);-webkit-backdrop-filter:var(--blur-scrim)}.tour-spot{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #0808149e;outline:2.5px solid var(--accent);outline-offset:2px;pointer-events:none;transition:top var(--dur-slow) cubic-bezier(.2,.8,.3,1),left var(--dur-slow),width var(--dur-slow),height var(--dur-slow)}.tour-card{position:fixed;left:50%;transform:translate(-50%);width:min(420px,calc(100% - 32px));background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:20px 18px calc(16px + var(--safe-bottom));animation:slideup var(--dur-slow) cubic-bezier(.2,.8,.3,1)}.tour-card.at-bottom{bottom:calc(22px + var(--safe-bottom))}.tour-card.at-top{top:calc(16px + var(--safe-top))}.tour-card.at-center{top:50%;transform:translate(-50%,-50%)}.tour-card h3{margin:0 0 8px;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;letter-spacing:0}.tour-card p{margin:0;font-size:var(--fs-sm);line-height:1.45}.tour-emoji{font-size:2.4rem;margin-bottom:6px;filter:drop-shadow(0 8px 16px var(--sh-2))}.tour-skip{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--bg-2);color:var(--muted)}.tour-skip:active{background:var(--line);color:var(--text)}.tour-foot{display:flex;align-items:center;gap:12px;margin-top:18px}.tour-dots{display:flex;gap:6px;flex:1}.tour-dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:var(--dur-base)}.tour-dot.on{background:var(--accent);width:18px;border-radius:999px}.tour-nav{display:flex;gap:8px}.tour-nav .btn{width:auto;padding:11px 18px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a1980;backdrop-filter:var(--blur-scrim);-webkit-backdrop-filter:var(--blur-scrim);z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fade var(--dur-base) ease;overscroll-behavior:contain;padding-bottom:var(--kb, 0);transition:padding-bottom var(--dur-fast) ease}.sheet{position:relative;background:var(--card);width:100%;max-width:640px;max-height:calc(88dvh - var(--kb, 0px));overflow-y:auto;overflow-x:clip;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:14px 20px calc(22px + var(--safe-bottom));box-shadow:var(--shadow-lg);animation:slideup var(--dur-spring) var(--ease-spring);will-change:transform}.sheet.center{border-radius:var(--r-xl);margin:auto;max-width:420px;max-height:calc(88dvh - var(--kb, 0px));padding-top:22px}.sheet-backdrop.centered{align-items:center}.sheet-grab{position:relative;display:grid;place-items:center;height:18px;margin:-4px 0 4px;touch-action:none;cursor:grab}.sheet-grab:before{content:"";width:40px;height:4px;border-radius:999px;background:var(--line)}.sheet-grab:after{content:"";position:absolute;top:-12px;right:0;bottom:-8px;left:0}.sheet-backdrop.closing{opacity:0;transition:opacity .18s ease}.sheet-close{position:sticky;top:-4px;z-index:3;display:grid;place-items:center;width:36px;height:36px;margin:-6px -4px 2px auto;border-radius:50%;background:var(--bg-2);color:var(--muted)}.sheet-close:active{background:var(--line);color:var(--text)}.sheet-close+h3{margin-top:-22px}@keyframes slideup{0%{transform:translateY(48px);opacity:.4}to{transform:none;opacity:1}}#app{transition:transform var(--dur-slow) var(--ease-out)}@media (max-width: 899.98px){#app.recede{transform:scale(.96) translateY(4px);clip-path:inset(0 round var(--r-xl))}}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet:focus{outline:none}.sheet h3{margin:0 0 14px;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.02em}.sheet .row{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:14px 6px;border-radius:var(--r-sm);font-weight:var(--fw-medium);transition:background var(--dur-fast)}.sheet .row:active{background:var(--bg-2)}.sheet .row.danger{color:var(--danger)}.sheet .row .row-trail{margin-left:auto;font-size:var(--fs-caption-2);font-weight:700}.ios-group{background:var(--bg-2);border-radius:var(--r-md);overflow:hidden;margin:0 0 18px}.ios-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;font-weight:var(--fw-medium);background:transparent;color:var(--text)}.ios-row:not(:last-child){border-bottom:1px solid var(--line)}.ios-row>span:first-child{flex:1;min-width:0}.ios-row:active{background:var(--line)}.switch{position:relative;flex:none;width:50px;height:30px;border-radius:999px;background:var(--line);transition:background var(--dur-base) ease}.switch.on{background:var(--switch-on)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform var(--dur-slow) var(--ease-spring)}.switch.on:after{transform:translate(20px)}.sheet .row>.switch{margin-left:auto}.sheet-hint{margin-top:-6px}.prefs-preview{pointer-events:none;user-select:none;-webkit-user-select:none;background:var(--bg);border:1px solid var(--border-hairline);border-radius:var(--r-md);padding:12px 12px 4px;margin:0 0 18px}.prefs-preview .pv-head{display:flex;align-items:center;gap:8px;padding:0 2px 10px;font-weight:var(--fw-semibold);letter-spacing:-.01em}.prefs-preview .pv-head .pv-emoji{font-size:1.05rem}.prefs-preview .pv-head .presence{margin-left:auto;display:flex;align-items:center}.prefs-preview .items{margin:0 0 8px}.prefs-preview .done-sep{margin:4px 4px 2px}.prefs-preview .done-head{padding:6px 6px 8px;font-size:var(--fs-sm, .92rem)}.about{max-height:72vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.about-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}.about-mark{width:54px;height:54px;flex:none;display:grid;place-items:center;font-size:1.7rem;border-radius:16px;background:var(--grad-soft)}.about-id h3{margin:0;font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:-.02em}.about-ver{display:flex;align-items:center;gap:7px;margin:3px 0 2px}.about-vnum{font-weight:var(--fw-bold);font-size:var(--fs-sm)}.about-edition{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:var(--r-pill);background:var(--accent);color:var(--btn-fg)}.about-stack{font-size:var(--fs-caption-2)}.about-sec-label{color:var(--muted);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;margin:20px 2px 10px}.about-rel{border-left:3px solid color-mix(in srgb,var(--accent) 50%,transparent);padding:0 0 0 13px;margin-bottom:14px}.about-rel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.about-rel-head b{font-weight:var(--fw-bold);letter-spacing:-.01em}.about-rel-head span{font-size:var(--fs-caption);white-space:nowrap}.about-changes{margin:0;padding-left:18px;line-height:1.55}.about-changes li{font-size:var(--fs-sm);font-weight:var(--fw-regular);margin-bottom:4px}.about-libs-note{font-size:var(--fs-caption-2);margin:-4px 2px 12px}.about-libs{display:flex;flex-direction:column;gap:9px}.about-lib{display:block;text-decoration:none;color:var(--text);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;transition:border-color var(--dur-fast),transform var(--dur-fast)}.about-lib:active{transform:scale(.99);border-color:var(--accent)}.about-lib-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.about-lib-name{font-weight:var(--fw-bold);letter-spacing:-.01em}.about-lib-lic{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.02em;padding:2px 8px;border-radius:var(--r-pill);background:var(--bg-2);color:var(--muted);white-space:nowrap}.about-lib-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px}.about-lib-meta .muted{font-size:var(--fs-caption-2)}.about-lib-ver{font-size:var(--fs-caption-2);font-weight:700;color:var(--accent);white-space:nowrap}.places-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.place-row{display:flex;align-items:center;gap:10px;padding:10px 6px;color:var(--muted)}.place-meta{display:flex;flex-direction:column;min-width:0;flex:1}.place-label{color:var(--text);font-weight:var(--fw-semibold)}.place-sub{font-size:var(--fs-caption)}.place-del{color:var(--muted);padding:6px;border-radius:8px;flex:none}.place-del:active{background:var(--bg-2);color:var(--danger)}.share-preview{background:var(--bg-2);border-radius:12px;padding:10px 12px;font-size:var(--fs-sm);color:var(--muted);max-height:96px;overflow:auto;word-break:break-word;margin:4px 0 10px}.share-lists{list-style:none;margin:6px 0 0;padding:0}.share-lists .row .list-emoji{flex:none}.share-lists .row .ic{margin-left:auto;color:var(--muted)}.handsfree-status{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 0 8px}.handsfree-mic{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;color:var(--muted);background:var(--bg-2);transition:color var(--dur-base),background var(--dur-base)}.handsfree-mic.on{color:var(--c-fg, #fff);background:var(--accent);animation:pulse 1.6s ease-in-out infinite}.handsfree-hint{margin:0;font-size:var(--fs-sm);color:var(--text-2, var(--muted));text-align:center}.handsfree-added{margin-top:14px}.handsfree-added .small{font-size:var(--fs-caption-2)}.handsfree-added ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.handsfree-added li{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm)}.handsfree-added li .ic{flex:none}.handsfree-added li.hf-add .ic{color:var(--accent)}.handsfree-added li.hf-check .ic{color:var(--ok, #2ca06a)}.handsfree-added li.hf-check span{text-decoration:line-through;color:var(--muted)}.handsfree-added li.hf-miss,.handsfree-added li.hf-dup,.handsfree-added li.hf-dup .ic{color:var(--muted)}.hf-note{margin-left:auto;font-size:var(--fs-caption);color:var(--muted);flex:none}.hf-undo{margin-left:auto;flex:none;width:28px;height:28px;display:grid;place-items:center;color:var(--muted);border-radius:8px}.hf-undo:active{background:var(--bg-2)}.handsfree-added li.hf-undone{opacity:.45}.handsfree-added li.hf-undone span{text-decoration:line-through}button.handsfree-mic{border:none;cursor:pointer}button.handsfree-mic:disabled{opacity:.6;cursor:default}.alt-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.alt-row{display:flex;align-items:center;gap:8px}.alt-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium)}.video-url-row{display:flex;gap:8px;margin:6px 0 4px}.video-url-input{flex:1;min-width:0;padding:10px 13px;border-radius:14px;background:var(--bg-2);border:1.5px solid transparent;font:inherit;font-size:var(--fs-sm);color:var(--text);outline:none}.video-url-input:focus{border-color:var(--accent);background:var(--card)}.video-url-input:disabled{opacity:.6}.video-platform-badge{font-size:var(--fs-caption-2);margin:2px 0 0}.video-error{color:var(--danger, #e55);font-size:var(--fs-caption-2);margin:4px 0 0}.video-phase{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption-2);margin:4px 0 0}.preview-subtitle{font-size:var(--fs-caption-2);color:var(--text-2);margin:0 0 4px}.preview-reasoning{font-size:var(--fs-caption-2);color:var(--text-2);margin:6px 0 4px;line-height:1.45;font-style:italic}.preview-sources-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.preview-source-badge{font-size:var(--fs-caption);padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:500}.preview-header{font-size:var(--fs-caption-2);font-weight:600;color:var(--text-2);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.04em}.preview-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;margin:0 -4px 4px;list-style:none;padding:0}.preview-item{display:flex;align-items:center;gap:10px;padding:7px 4px;border-radius:10px;cursor:pointer}.preview-item:active{background:var(--bg-2)}.preview-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.preview-item-name{flex:1;min-width:0;font-size:var(--fs-sm)}.preview-item-name.deselected{opacity:.45;text-decoration:line-through}.preview-item-qty{font-size:var(--fs-caption-2);color:var(--text-2);white-space:nowrap}.preview-item-edit{flex:none;width:30px;height:30px;display:grid;place-items:center;color:var(--muted);border-radius:8px}.preview-item-edit:active{background:var(--bg-2)}.preview-item.editing{gap:8px;cursor:default}.preview-edit-name{flex:1;min-width:0;font-size:var(--fs-sm);color:inherit;padding:7px 9px;border:1.5px solid var(--accent);border-radius:9px;background:var(--ctl)}.preview-edit-qty{flex:none;width:84px;min-width:0;font-size:var(--fs-caption-2);color:inherit;padding:7px 9px;border:1.5px solid var(--line);border-radius:9px;background:var(--ctl)}.preview-edit-done{flex:none;width:34px;height:34px;display:grid;place-items:center;color:var(--btn-fg);background:var(--accent);border-radius:9px}.preview-edit-done:active{transform:scale(.94)}.servings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 10px;border-radius:10px;background:var(--bg-2)}.servings-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.servings-stepper{display:flex;align-items:center;gap:4px}.servings-stepper button{width:32px;height:32px;display:grid;place-items:center;font-size:1.2rem;font-weight:700;color:var(--accent);background:var(--card);border-radius:8px;border:1px solid var(--border-hairline)}.servings-stepper button:disabled{opacity:.4}.servings-stepper button:active:not(:disabled){transform:scale(.92)}.servings-count{min-width:28px;text-align:center;font-weight:var(--fw-bold);font-size:1rem}.template-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.template-row{display:flex;align-items:stretch;gap:8px}.template-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--bg-2);color:var(--text);text-align:left}.template-main .template-name{font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-main .template-count{margin-left:auto;color:var(--muted);font-size:var(--fs-caption);flex:none}.template-del{flex:none;width:46px;border-radius:var(--r-md);background:var(--bg-2);color:var(--danger);display:grid;place-items:center}.template-del:disabled,.template-main:disabled{opacity:.55}.cat-order-list{margin:4px 0 12px}.cat-order-list .item{background:var(--bg-2);border-radius:12px;margin-bottom:6px;padding:12px}.install-banner{display:flex;align-items:center;gap:12px;background:var(--grad-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:14px;animation:rise .35s var(--ease-out) both}.install-banner .ib-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);background:var(--accent);color:var(--btn-fg)}.install-banner .ib-text{flex:1;min-width:0;display:flex;flex-direction:column}.install-banner .ib-text b{font-weight:var(--fw-bold);letter-spacing:-.01em}.install-banner .ib-text span{color:var(--muted);font-size:var(--fs-sm)}.install-banner .ib-go{flex:none;background:var(--accent);color:var(--btn-fg);font-weight:var(--fw-bold);padding:9px 16px;border-radius:var(--r-md)}.install-banner .ib-go:active{transform:scale(.96)}.install-banner .ib-x{flex:none;color:var(--muted);width:28px;height:28px;border-radius:8px;font-size:var(--fs-sm)}.install-banner .ib-x:active{background:#0000000f}.howto{margin:6px 0 12px;padding-left:22px;line-height:2.1}.howto li{font-weight:600}.howto .ic{display:inline-block;vertical-align:-4px}#toast{position:fixed;bottom:calc(96px + var(--safe-bottom));left:50%;transform:translate(-50%) translateY(12px) scale(.96);background:var(--text);color:var(--bg);padding:12px 20px;border-radius:999px;font-size:var(--fs-sm);font-weight:700;opacity:0;transition:opacity var(--dur-base) ease,transform var(--dur-spring) var(--ease-spring);pointer-events:none;z-index:60;max-width:90%;box-shadow:var(--shadow-lg)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#toast.has-action{pointer-events:auto;display:inline-flex;align-items:center;gap:12px}#toast .toast-action{color:var(--toast-action);font-weight:800;text-transform:uppercase;font-size:var(--fs-caption-2);letter-spacing:.03em}.status-banner{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--warn-surface);border-bottom:1px solid var(--warn-border);color:var(--warn);padding:calc(var(--safe-top) + 8px) 18px 9px;display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-caption-2);font-weight:600;line-height:1.4;animation:rise var(--dur-slow) ease both}.status-banner-icon{font-size:var(--fs-sm);flex-shrink:0;margin-top:1px}.status-banner-body{display:flex;flex-direction:column;gap:3px}.status-banner-note{font-size:var(--fs-caption);font-weight:400;opacity:.85}.offline-strip{position:fixed;top:var(--status-h, 0px);left:0;right:0;z-index:49;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:7px;row-gap:1px;background:var(--card);color:var(--muted);border-bottom:1px solid var(--line);padding:6px 14px;padding-top:max(6px,calc(var(--safe-top) + 6px - var(--status-h, 0px)));font-size:var(--fs-caption-2);font-weight:600;line-height:1.35;animation:rise var(--dur-slow) ease both}.offline-strip svg{flex:none}.offline-strip .os-main{white-space:nowrap}.offline-strip .os-time{font-weight:500;font-size:var(--fs-caption);opacity:.8;white-space:nowrap}.offline-strip.ok{color:var(--ok, #2bb673);border-color:color-mix(in srgb,var(--ok, #2bb673) 40%,transparent)}.list-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px 4px}.search-box{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--ctl);border:1px solid var(--ctl-border);border-radius:var(--r-md);padding:8px 12px;color:var(--muted)}.search-box input{flex:1;background:transparent;border:none;outline:none;font-size:var(--fs-sm);color:var(--text);font-weight:var(--fw-medium)}.search-box .search-clear{color:var(--muted);display:grid;place-items:center}.sort-toggle{width:40px;height:40px;border-radius:var(--r-md);background:var(--ctl);border:1px solid var(--ctl-border);color:var(--muted);display:grid;place-items:center;flex:none;transition:var(--dur-fast)}.sort-toggle.on{background:color-mix(in srgb,var(--c, var(--accent)) 20%,var(--ctl));border-color:color-mix(in srgb,var(--c, var(--accent)) 45%,transparent);color:var(--c, var(--accent))}.cat-section{margin-bottom:8px}.cat-header{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.01em;color:var(--muted);padding:12px 6px 6px;text-transform:none;display:flex;align-items:center;gap:7px}.cat-header .hdot{width:12px;height:12px;border-radius:50%;flex:none}.cat-section .items{border-radius:var(--r-md);overflow:hidden}.activity-list{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto}.activity-item{display:flex;align-items:baseline;gap:10px;padding:9px 4px;border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.activity-item .activity-text{flex:1;font-size:var(--fs-sm);font-weight:600}.activity-item .activity-time{font-size:var(--fs-caption);flex:none}.magic-btn{width:40px;height:40px;border-radius:var(--r-md);background:var(--grad-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent);display:grid;place-items:center;flex:none}.magic-btn:active{filter:brightness(.97);transform:scale(.94)}.magic-input{width:100%;resize:vertical;min-height:96px;padding:12px 13px;border-radius:14px;background:var(--bg-2);border:1.5px solid transparent;font:inherit;font-size:var(--fs-sm);color:var(--text);outline:none;margin:4px 0 12px}.magic-input:focus{border-color:var(--accent);background:var(--card)}.magic-actions{display:flex;gap:10px}.magic-actions .btn{flex:1}.magic-actions .btn.rec{background:var(--danger);color:#fff;box-shadow:none}.magic-actions .btn:disabled{opacity:.55}.list-total{display:flex;align-items:center;gap:8px;margin:14px 4px 4px;padding:12px 14px;border-radius:var(--r-md);background:var(--card-2);border:1.5px solid var(--line);font-weight:var(--fw-bold)}.list-total .list-total-label{color:var(--muted);font-weight:var(--fw-semibold)}.list-total .list-total-amount{margin-left:auto;font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums;font-size:1.15rem}.week-nav{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 16px 2px}.week-nav .week-label{font-family:var(--font-display);font-weight:600;min-width:9rem;text-align:center}.content.meal-plan{padding-bottom:calc(96px + var(--safe-bottom))}.meal-day{margin-bottom:10px}.meal-day-head{font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);color:var(--text-2);padding:12px 6px 6px;text-transform:capitalize}.meal-recipe{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-md);background:var(--card-2);border:1.5px solid var(--line);margin-bottom:6px}.meal-recipe-info{display:flex;flex-direction:column;min-width:0;flex:1}.meal-recipe-title{font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-recipe-meta{font-size:var(--fs-caption);color:var(--muted)}.meal-recipe-del{flex:none;color:var(--danger);padding:4px}.meal-add{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border-radius:var(--r-md);border:1.5px dashed var(--line);color:var(--muted);font-weight:var(--fw-semibold);background:transparent}.meal-generate{position:fixed;left:16px;right:16px;bottom:calc(18px + var(--safe-bottom));display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;border-radius:var(--r-md);background:var(--accent);color:var(--btn-fg);font-weight:var(--fw-bold);box-shadow:var(--shadow-lg);z-index:25}.meal-generate:disabled{opacity:.5}.recipe-ingredients{width:100%;padding:11px 13px;border-radius:12px;background:var(--bg-2);border:1.5px solid transparent;font-size:var(--fs-sm);color:var(--text);font-weight:600;outline:none;resize:vertical;font-family:inherit;min-height:120px}.recipe-ingredients:focus{border-color:var(--accent);background:var(--card)}.list-tile.sel{border-color:var(--c, var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--c, var(--accent)) 45%,transparent)}.split-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}@media (min-width: 900px){#app{max-width:1180px;height:100dvh}.split{flex:1;display:flex;min-height:0}.split-pane{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.list-pane{position:relative;width:360px;flex:none;border-right:1px solid var(--line)}.detail-pane{flex:1;min-width:0}.list-pane .fab{position:sticky;align-self:flex-end;right:0;bottom:18px;margin:0 18px 0 auto}.sheet-backdrop:not(.centered){align-items:center}.sheet-backdrop:not(.centered) .sheet{max-width:480px;border-radius:var(--r-xl);max-height:86dvh;padding-top:22px}.sheet-backdrop:not(.centered) .sheet-grab{display:none}}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.btn:focus-visible,.iconbtn:focus-visible,.fab:focus-visible,.link-btn:focus-visible,.tabs button:focus-visible,.pw-toggle:focus-visible,.item .check:focus-visible,.item .txt:focus-visible,.item .drag-btn:focus-visible,.item .more-btn:focus-visible,.item .del-btn:focus-visible,.item .indent-btn:focus-visible,.badge-tap:focus-visible,.list-tile:focus-visible,.add-row:focus-visible,.pill-sug:focus-visible,.sheet .row:focus-visible,.ios-row:focus-visible,.sheet-close:focus-visible,.search-clear:focus-visible,.sort-toggle:focus-visible,.magic-btn:focus-visible,.done-head:focus-visible,.archived-head:focus-visible,.theme-seg button:focus-visible,.theme-card:focus-visible,.presence:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-transparency: reduce){.topbar,#add-area.editing{background:var(--bg)}}.item .del-btn,.item .indent-btn,.item .more-btn,.badge-tap,.ib-x,.search-clear,.proactive-x,.place-del,.preview-item-edit,.meal-recipe-del,.template-del{position:relative}.item .del-btn:after,.item .indent-btn:after,.item .more-btn:after,.badge-tap:after,.ib-x:after,.search-clear:after,.proactive-x:after,.place-del:after,.preview-item-edit:after,.meal-recipe-del:after,.sheet-close:after,.pw-toggle:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}
