:root{--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-pill: 999px;--radius: var(--r-lg);--radius-sm: var(--r-md);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--fs-caption: .75rem;--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;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--topbar-extra-top: var(--safe-top)}:root,[data-theme=day]{--accent: #6c5ce7;--accent-2: #00d3a7;--accent-3: #ff5fa2;--bg: #f1f1fb;--bg-2: #e9e7f6;--card: #ffffff;--card-2: #fbfbff;--text: #14152a;--text-2: #454a66;--muted: #6a6f8f;--line: #e4e5f2;--danger: #ff4d6d;--ok: #16c79a;--btn-fg: #ffffff;--ctl: #ffffff;--ctl-border: #e1e2f0;--sh-1: rgba(30, 30, 80, .06);--sh-2: rgba(40, 30, 90, .12)}:root[data-theme=sand],[data-theme=sand]{--accent: #db6a3f;--accent-2: #c98a2b;--accent-3: #d6477a;--bg: #f6efe3;--bg-2: #efe4d3;--card: #fffaf2;--card-2: #fff6ea;--text: #382c20;--text-2: #5d4e3a;--muted: #75644d;--line: #ebdfcc;--danger: #d6455e;--ok: #5a9e6a;--btn-fg: #1d1206;--ctl: #fffaf2;--ctl-border: #e7dbc6;--sh-1: rgba(120, 80, 30, .08);--sh-2: rgba(120, 70, 20, .14)}:root[data-theme=night],[data-theme=night]{--accent: #8b78ff;--accent-2: #00d3a7;--accent-3: #ff5fa2;--bg: #0b0c12;--bg-2: #111322;--card: #171a27;--card-2: #1c1f30;--text: #f1f2fb;--text-2: #c3c8e4;--muted: #9aa0bd;--line: #2a2f44;--danger: #ff4d6d;--ok: #16c79a;--ctl: #1e2233;--ctl-border: #2e3349;--sh-1: rgba(0, 0, 0, .35);--sh-2: rgba(0, 0, 0, .5)}:root[data-theme=carbon],[data-theme=carbon]{--accent: #2dd4bf;--accent-2: #22d3ee;--accent-3: #a3e635;--bg: #000000;--bg-2: #0a0e0d;--card: #0f1413;--card-2: #141a18;--text: #eafff7;--text-2: #b6c8c2;--muted: #7e8f8a;--line: #233029;--danger: #ff5a76;--ok: #2dd4bf;--btn-fg: #04211c;--ctl: #121917;--ctl-border: #21302b;--sh-1: rgba(0, 0, 0, .55);--sh-2: rgba(0, 0, 0, .7)}:root[data-theme=aurora],[data-theme=aurora]{--accent: #c14bff;--accent-2: #2de2e6;--accent-3: #ff2e97;--bg: #0a0613;--bg-2: #160b2b;--card: #18112e;--card-2: #1f1640;--text: #f4ecff;--text-2: #cdc0ea;--muted: #a89bd0;--line: #342865;--danger: #ff4d8d;--ok: #2de2e6;--btn-fg: #140a20;--ctl: rgba(255,255,255,.06);--ctl-border: rgba(255,255,255,.16);--sh-1: rgba(40, 0, 70, .5);--sh-2: rgba(80, 0, 120, .55)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--accent: #8b78ff;--accent-2: #00d3a7;--accent-3: #ff5fa2;--bg: #0b0c12;--bg-2: #111322;--card: #171a27;--card-2: #1c1f30;--text: #f1f2fb;--text-2: #c3c8e4;--muted: #9aa0bd;--line: #2a2f44;--ctl: #1e2233;--ctl-border: #2e3349;--sh-1: rgba(0, 0, 0, .35);--sh-2: rgba(0, 0, 0, .5)}}:root,[data-theme]{--grad: var(--accent);--grad-soft: color-mix(in srgb, var(--accent) 12%, transparent);--glow: var(--sh-2);--shadow: 0 1px 2px var(--sh-1), 0 1px 3px var(--sh-1);--shadow-lg: 0 10px 30px var(--sh-2);--app-bg: var(--bg)}*{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-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--app-bg);transition:background-color .25s 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)}.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:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.topbar h1{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.02em;margin:0;flex:1;display:flex;align-items:center;gap:9px;min-width:0}.topbar h1 .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconbtn{width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.2rem;color:var(--text);background:var(--ctl);border:1px solid var(--ctl-border);box-shadow:var(--shadow);transition:background .15s,transform .12s,border-color .15s}.iconbtn:active{background:var(--line);transform:scale(.92)}.content{flex:1;padding:14px 18px 150px}.brand{font-weight:var(--fw-bold);letter-spacing:-.03em;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}.auth-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding:26px;gap:22px}.auth-logo{text-align:center;font-size:2.4rem;font-weight:var(--fw-bold);letter-spacing:-.03em}.auth-logo .sub{display:block;font-size:.95rem;font-weight:500;color:var(--muted);margin-top:8px;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:.18s}.tabs button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.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 .15s,box-shadow .15s}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.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);box-shadow:var(--shadow);transition:transform .12s,box-shadow .2s,filter .15s;display:flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:translateY(1px) scale(.99);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}.btn-row{display:flex;gap:10px}.social{display:flex;flex-direction:column;gap:10px;margin-top:6px}.social .btn{display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow)}.social .apple{background:#000;color:#fff}.social .facebook{background:#1877f2;color:#fff}.divider{text-align:center;color:var(--muted);font-size:.82rem;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:.9rem;min-height:1.1em;margin:4px 2px;font-weight:600}.auth-label{display:block}.auth-label>span{display:block;font-size:.8rem;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}.auth-hint{font-size:.78rem;margin:0 2px 10px}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.list-tile{--c: var(--accent);display:flex;align-items:center;gap:15px;background:var(--card);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-left:5px solid var(--c);border-radius:var(--radius);box-shadow:var(--shadow);padding:15px 16px;margin-bottom:13px;transition:transform .14s,box-shadow .2s;animation:rise .35s cubic-bezier(.2,.7,.3,1) both}.list-tile:active{transform:scale(.985);box-shadow:var(--shadow-lg)}.list-tile .emoji{font-size:1.6rem;width:50px;height:50px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);border-radius:var(--r-md);flex:none}.list-tile .meta{flex:1;min-width:0}.list-tile .meta .t{font-weight:var(--fw-bold);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}.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)}.count-pill{background:var(--c, var(--accent));color:var(--c-fg, #fff);font-weight:var(--fw-bold);min-width:28px;height:28px;padding:0 9px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:var(--fs-sm)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.items{list-style:none;margin:0 0 12px;padding:0;background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow);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;color:#fff;font-size:1.3rem;opacity:0;transition:opacity .12s}.item-wrap .swipe-bg.check{justify-content:flex-start;padding-left:22px;background:linear-gradient(90deg,var(--ok),#0fb98c);color:#03281f}.item-wrap .swipe-bg.del{justify-content:flex-end;padding-right:22px;background:linear-gradient(90deg,#ff7a90,var(--danger))}.item-wrap.swiping-right .swipe-bg.check,.item-wrap.swiping-left .swipe-bg.del{opacity:1}.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 .18s ease,opacity .2s;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:.18s}.item .check:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.item.done .check{background:var(--c, var(--grad));border-color:transparent;color:var(--c-fg, #fff)}.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:.95rem;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)}.section-label{color:var(--muted);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;margin:18px 6px 10px}.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{transition:transform .15s ease}.item-wrap.dragging{z-index:5;touch-action:none;transition:none}.item-wrap.dragging>.item{background:var(--card)}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(--radius-sm);border-bottom:none;transition:box-shadow .15s}.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:blur(10px);-webkit-backdrop-filter:blur(10px)}.add-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:var(--radius-sm);color:var(--muted);font-weight:var(--fw-medium);text-align:left;background:var(--card);box-shadow:var(--shadow);transition:background .12s,color .15s}.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(--radius-sm);animation:rise .18s 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 .15s,transform .12s}.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}}.done-sep{height:1px;background:var(--line);margin:18px 4px 6px}.done-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{display:grid;place-items:center;transition:transform .2s}.done-head .dh-chev.collapsed{transform:rotate(-90deg)}.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)}.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:6px 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);background:var(--card);border:1.5px solid var(--c, var(--accent));white-space:nowrap;overflow:hidden}.pill-sug span{overflow:hidden;text-overflow:ellipsis}.pill-sug.ai{border-color:var(--accent-2);color:var(--accent-2)}.pill-sug .ic{flex:none}.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:.15s}.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 .12s,border-color .15s,box-shadow .15s}.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)}.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:blur(2px);-webkit-backdrop-filter:blur(2px)}.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 .26s cubic-bezier(.2,.8,.3,1),left .26s,width .26s,height .26s}.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:22px;box-shadow:var(--shadow-lg);padding:20px 18px calc(16px + var(--safe-bottom));animation:slideup .26s 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-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.02em}.tour-card p{margin:0;font-size:.95rem;line-height:1.45}.tour-emoji{font-size:2.4rem;margin-bottom:6px;filter:drop-shadow(0 8px 16px var(--glow))}.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:.2s}.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:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease;overscroll-behavior:contain;padding-bottom:var(--kb, 0);transition:padding-bottom .14s 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:28px 28px 0 0;padding:22px 20px calc(22px + var(--safe-bottom));box-shadow:var(--shadow-lg);animation:slideup .26s cubic-bezier(.2,.8,.3,1)}.sheet.center{border-radius:26px;margin:auto;max-width:420px;max-height:calc(88dvh - var(--kb, 0px))}.sheet-backdrop.centered{align-items:center}.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:999px;background:var(--line);margin:-6px auto 14px}.sheet.center:before{display:none}.sheet-close{position:sticky;top:-4px;z-index:3;display:grid;place-items:center;width:36px;height:36px;margin:-10px -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(40px);opacity:.5}to{transform:none;opacity:1}}@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 .12s}.sheet .row:active{background:var(--bg-2)}.sheet .row.danger{color:var(--danger)}.sheet .row .row-trail{margin-left:auto;font-size:.85rem;font-weight:700}.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:.8rem}.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:.78rem;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:.82rem;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(--radius-sm);padding:12px 14px;transition:border-color .15s,transform .12s}.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:.83rem}.about-lib-ver{font-size:.8rem;font-weight:700;color:var(--accent);white-space:nowrap}.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 .12s}.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 .12s}.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)}.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}.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(--radius);padding:12px 14px;margin-bottom:14px;animation:rise .35s cubic-bezier(.2,.7,.3,1) 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);box-shadow:var(--shadow)}.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:.9rem}.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(8px);background:var(--text);color:var(--bg);padding:12px 20px;border-radius:999px;font-size:.9rem;font-weight:700;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;z-index:60;max-width:90%;box-shadow:var(--shadow-lg)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}.hidden{display:none!important}.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 .14s;animation:pop .35s cubic-bezier(.2,.9,.3,1.4) both}.fab:active{transform:scale(.92) rotate(90deg)}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.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}}.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)}.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:.95rem;color:var(--text);font-weight:600;outline:none}.due-input:focus{border-color:var(--accent);background:var(--card)}.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)}.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);box-shadow:var(--shadow)}.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;box-shadow:var(--shadow);transition:.15s}.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))}.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{color:var(--muted);font-size:1.1rem;animation:rot 1.1s linear infinite;margin:0 2px}.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(--radius-sm, 14px);overflow:hidden}.archived-block{margin-top:14px}.archived-head{display:flex;align-items:center;gap:8px;width:100%;text-align:left;color:var(--muted);font-weight:var(--fw-semibold);padding:8px 6px 12px}.archived-head .dh-chev{display:grid;place-items:center;transition:transform .2s}.archived-head .dh-chev.collapsed{transform:rotate(-90deg)}.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:.9rem;font-weight:600}.activity-item .activity-time{font-size:.76rem;flex:none}.sheet .field{margin-bottom:14px}.sheet .field>label{display:block;font-size:.8rem;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:.95rem;color:var(--text);font-weight:600;outline:none}.sheet .field>input:focus{border-color:var(--accent);background:var(--card)}.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:.12s}.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}.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)}#toast.has-action{pointer-events:auto;display:inline-flex;align-items:center;gap:12px}#toast .toast-action{color:var(--accent-2, #6cf);font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.03em}.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;box-shadow:var(--shadow)}.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:.95rem;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}.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 .2s,background .2s}.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:.92rem;color:var(--text-2, var(--muted));text-align:center}.handsfree-added{margin-top:14px}.handsfree-added .small{font-size:.8rem}.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:.92rem}.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:.74rem;color:var(--muted);flex:none}.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)}.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))}.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:.95rem;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:.82rem;margin:2px 0 0}.video-error{color:var(--danger, #e55);font-size:.86rem;margin:4px 0 0}.video-phase{display:flex;align-items:center;gap:8px;font-size:.86rem;margin:4px 0 0}.preview-subtitle{font-size:.82rem;color:var(--text-2);margin:0 0 4px}.preview-reasoning{font-size:.84rem;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:.75rem;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:.82rem;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:.95rem}.preview-item-name.deselected{opacity:.45;text-decoration:line-through}.preview-item-qty{font-size:.82rem;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:.95rem;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:.85rem;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:.9rem;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;box-shadow:var(--shadow)}.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}.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)}}.btn.icon-only{flex:none;width:auto;padding:0 12px}.status-banner{position:fixed;top:0;left:0;right:0;z-index:50;background:color-mix(in srgb,#f59e0b 18%,var(--bg));border-bottom:1px solid color-mix(in srgb,#f59e0b 45%,transparent);color:#f59e0b;padding:calc(var(--safe-top) + 8px) 18px 9px;display:flex;align-items:flex-start;gap:10px;font-size:.82rem;font-weight:600;line-height:1.4;animation:rise .25s ease both}.status-banner-icon{font-size:.95rem;flex-shrink:0;margin-top:1px}.status-banner-body{display:flex;flex-direction:column;gap:3px}.status-banner-note{font-size:.76rem;font-weight:400;opacity:.85}.env-badge{display:inline-flex;align-items:center;flex:none;vertical-align:middle;background:color-mix(in srgb,#f59e0b 20%,transparent);color:#f59e0b;border:1px solid color-mix(in srgb,#f59e0b 55%,transparent);border-radius:999px;padding:2px 8px;font-size:.6rem;font-weight:800;letter-spacing:.08em;line-height:1.45;white-space:nowrap}.offline-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:60;pointer-events:none;background:var(--card);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:.8rem;font-weight:700;box-shadow:var(--shadow-lg);animation:rise .25s ease both}.offline-banner.ok{color:var(--ok, #2bb673);border-color:color-mix(in srgb,var(--ok, #2bb673) 40%,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)}.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-size:1.05rem}.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}.week-nav{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 16px 2px}.week-nav .week-label{font-weight:var(--fw-bold);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-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--muted);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:.95rem;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)}.seg-label.sub{font-weight:var(--fw-semibold);text-transform:none;opacity:.85;margin-top:2px}.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)}.ios-icon{flex:none;color:var(--muted)}.switch{position:relative;flex:none;width:50px;height:30px;border-radius:999px;background:var(--line);transition:background .2s ease}.switch.on{background:#34c759}.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 .2s ease}.switch.on:after{transform:translate(20px)}.sheet .row>.switch{margin-left:auto}[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}.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:24px;max-height:86dvh}.sheet-backdrop:not(.centered) .sheet:before{display:none}}
