@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-cyrillic-ext-wght-normal-BbRulJFC.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-cyrillic-wght-normal-se3OnFSl.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-vietnamese-wght-normal-DTJpi3oK.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-latin-ext-wght-normal-CeZZaleV.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-latin-wght-normal-CLTz0ja0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#121212;--accent-2:#121212;--accent-press:#000;--accent-rgb:18, 18, 18;--accent-soft:#f1f1ef;--accent-grad:#121212;--on-accent:#fff;--bg:#fff;--surface:#fff;--surface-2:#f6f6f4;--surface-3:#ececea;--text:#121212;--text-soft:#3d3d3d;--muted:#767676;--border:#00000021;--border-strong:#0000003d;--danger:#b3261e;--ok:#3f9079;--shop-active:#c96f54;--shop-recent:#3f9079;--shop-paper:#f7f3ea;--shop-rule:#2d241438;--serif:"Newsreader Variable", Georgia, "Times New Roman", serif;--sans:"Libre Franklin Variable", "Franklin Gothic Medium", "Franklin Gothic", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-sm:6px;--r:10px;--r-lg:16px;--r-pill:999px;--shadow-xs:none;--shadow:none;--shadow-lg:0 12px 48px -16px #0000004d;--shadow-accent:none;--bottomnav-h:62px;--navmini-lift:0px;--dock-bottom:calc(var(--bottomnav-h) + 36px + env(safe-area-inset-bottom));font-family:var(--sans);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-optical-sizing:auto}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#f2f2f0;--accent-2:#f2f2f0;--accent-press:#fff;--accent-rgb:242, 242, 240;--accent-soft:#1e1e1e;--accent-grad:#f2f2f0;--on-accent:#0c0c0c;--bg:#0c0c0c;--surface:#141414;--surface-2:#1c1c1c;--surface-3:#262626;--text:#f3f3f1;--text-soft:#cfcfcd;--muted:#8f8f8d;--border:#ffffff26;--border-strong:#ffffff47;--danger:#ff6b6b;--ok:#65b39c;--shop-active:#db9077;--shop-recent:#65b39c;--shop-paper:#1b1a16;--shop-rule:#f0eada29;--shadow-xs:none;--shadow:none;--shadow-lg:0 12px 48px -16px #000c;--shadow-accent:none}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}body{font-size:16px;line-height:1.5}.container{max-width:680px;padding:calc(24px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.app-shell .container{padding-top:24px}.narrow{max-width:400px}.app-shell{min-height:100dvh;padding-bottom:calc(var(--bottomnav-h) + 40px + env(safe-area-inset-bottom))}.route-anim{animation:.22s ease-out route-in}@keyframes route-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.route-anim{animation:none}}.app-shell--cal{flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;display:flex;overflow:hidden}h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 4px;font-size:2.3rem;font-weight:640;line-height:1.05}.page-sub{color:var(--muted);font-size:.95rem;font-style:italic;font-family:var(--serif);margin:0 0 22px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 14px;font-size:1.25rem;font-weight:600}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:.75rem;font-weight:650}.muted{color:var(--muted)}.small{font-size:.875rem}code{font-family:ui-monospace,SF Mono,monospace}.topnav{z-index:20;padding-top:env(safe-area-inset-top);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);position:sticky;top:0}.topnav-inner{justify-content:space-between;align-items:center;gap:10px;max-width:680px;min-height:70px;margin:0 auto;padding:14px 12px;display:flex}.topnav-title{font-family:var(--serif);letter-spacing:-.02em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:9px;min-width:0;font-size:1.55rem;font-weight:640;text-decoration:none;display:flex;overflow:hidden}.brand-dot{background:var(--accent-grad);width:26px;height:26px;box-shadow:var(--shadow-accent);border-radius:9px;flex-shrink:0}.icon-btn{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text-soft);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;transition:transform .1s,background .15s;display:inline-flex}.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.94)}.bottomnav{left:50%;bottom:calc(11px + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);width:min(560px,100% - 24px);box-shadow:var(--shadow-lg);gap:4px;padding:8px;transition:bottom .28s cubic-bezier(.22,.61,.36,1),width .28s cubic-bezier(.22,.61,.36,1),padding .28s cubic-bezier(.22,.61,.36,1),border-radius .28s;display:flex;position:fixed;transform:translate(-50%)}.bottomnav-item{border-radius:var(--r-sm);color:var(--muted);letter-spacing:-.01em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:9px 0;font-weight:600;text-decoration:none;transition:color .15s,background .15s,padding .28s;display:flex}.bottomnav-item.active{color:var(--accent);background:var(--accent-soft)}.bottomnav-ico{justify-content:center;align-items:center;display:inline-flex}.bottomnav-item svg{width:22px;height:22px;transition:width .28s,height .28s}.bottomnav-label{opacity:1;max-height:1.5em;font-size:.68rem;line-height:1.35;transition:max-height .28s,opacity .18s,margin-top .28s;overflow:hidden}.bottomnav--mini{bottom:calc(6px + env(safe-area-inset-bottom));border-radius:var(--r);width:min(440px,100% - 76px);padding:5px}.bottomnav--mini .bottomnav-item{padding:8px 0}.bottomnav--mini .bottomnav-item svg{width:20px;height:20px}.bottomnav--mini .bottomnav-label{opacity:0;max-height:0;margin-top:-3px}@media (prefers-reduced-motion:reduce){.bottomnav,.bottomnav-item,.bottomnav-item svg,.bottomnav-label{transition:none}}.app-shell--navmini{--navmini-lift:33px}:root[data-platform=android] .app-shell--navmini{--navmini-lift:20px}:root[data-platform=ios] .bottomnav{background:color-mix(in srgb, var(--surface) 55%, transparent);-webkit-backdrop-filter:saturate(200%)blur(32px);border-color:color-mix(in srgb, var(--border) 55%, transparent);border-radius:var(--r-pill);box-shadow:inset 0 1px #fff9,inset 0 -1px #0000000f,0 18px 42px -20px #00000073}:root[data-platform=ios] .bottomnav-item{border-radius:var(--r-pill)}:root[data-platform=ios] .bottomnav-item.active{background:color-mix(in srgb, var(--accent) 11%, transparent)}:root[data-platform=ios] .bottomnav--mini{border-radius:var(--r-pill)}:root[data-platform=ios][data-theme=dark] .bottomnav{box-shadow:inset 0 1px #ffffff24,inset 0 -1px #0000004d,0 18px 42px -20px #000c}:root[data-platform=android] .bottomnav{width:100%;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:var(--surface-2);-webkit-backdrop-filter:none;border:none;border-top:1px solid var(--border);box-shadow:none;border-radius:0;gap:0;transition:padding .28s cubic-bezier(.22,.61,.36,1);bottom:0;left:0;right:0;transform:none}:root[data-platform=android] .bottomnav-item{background:0 0;gap:4px;padding:0}:root[data-platform=android] .bottomnav-ico{border-radius:var(--r-pill);width:62px;max-width:100%;height:32px;transition:background .18s}:root[data-platform=android] .bottomnav-item.active{color:var(--text);background:0 0}:root[data-platform=android] .bottomnav-item.active .bottomnav-ico{background:color-mix(in srgb, var(--accent) 15%, transparent)}:root[data-platform=android] .bottomnav-item.active .bottomnav-label{font-weight:700}:root[data-platform=android] .bottomnav--mini{width:100%;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-radius:0;bottom:0}:root[data-platform=android] .bottomnav--mini .bottomnav-item{padding:0}.fab{right:max(18px,50% - 322px);bottom:calc(var(--bottomnav-h) + 28px + env(safe-area-inset-bottom));z-index:29;background:var(--accent-grad);width:56px;height:56px;color:var(--on-accent);box-shadow:var(--shadow-accent);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s;display:flex;position:fixed}.fab:active{transform:scale(.92)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin:16px 0;padding:20px 22px}.btn{font:inherit;letter-spacing:normal;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:12px 20px;font-weight:600;text-decoration:none;transition:transform .1s,background .15s,border-color .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent-grad);color:var(--on-accent);box-shadow:var(--shadow-accent);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--accent-grad);filter:brightness(1.05)}.btn:disabled{opacity:.5;cursor:default}.btn.google{background:var(--surface);width:100%;box-shadow:var(--shadow-xs);border:1px solid var(--border);justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:14px;display:flex}.btn.apple{color:#fff;background:#000;border:1px solid #000;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:12px;padding:14px;display:flex}.btn.sm{padding:7px 14px;font-size:.84rem}.btn.block{width:100%}.small-btn{padding:9px 14px;font-size:.85rem}.selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;overflow-wrap:anywhere}.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:600;text-decoration:none}.link:hover{opacity:.8}.topnav-back{border-radius:var(--r-pill);min-width:0;color:var(--text);cursor:pointer;font:inherit;letter-spacing:-.01em;background:0 0;border:none;align-items:center;gap:4px;margin-left:-6px;padding:8px 10px 8px 4px;font-size:1.08rem;font-weight:650;transition:opacity .15s,transform .12s;display:inline-flex}.topnav-back svg{color:var(--accent);flex-shrink:0}.topnav-back-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topnav-back:hover{opacity:.7}.topnav-back:active{transform:translate(-2px)}@media (prefers-reduced-motion:reduce){.topnav-back{transition:none}.topnav-back:active{transform:none}}.toast{left:50%;bottom:calc(var(--bottomnav-h) + 18px + env(safe-area-inset-bottom) - var(--navmini-lift));background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);box-shadow:var(--shadow-lg);z-index:80;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;animation:.24s toast-in;display:inline-flex;position:fixed;transform:translate(-50%)}.toast svg{flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.move-bar{left:50%;bottom:calc(var(--bottomnav-h) + 18px + env(safe-area-inset-bottom) - var(--navmini-lift));border-radius:var(--r-lg);background:var(--accent);width:min(520px,100% - 24px);color:var(--on-accent);box-shadow:var(--shadow-lg);z-index:80;align-items:center;gap:10px;padding:9px 10px 9px 16px;font-size:.86rem;animation:.24s toast-in;display:flex;position:fixed;transform:translate(-50%)}.move-bar-txt{flex:1;min-width:0;line-height:1.25}.move-bar-more{width:34px;height:34px;color:var(--on-accent);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.move-bar-more:hover{background:color-mix(in srgb, var(--on-accent) 16%, transparent)}.move-bar .btn.ghost{border-color:color-mix(in srgb, var(--on-accent) 40%, transparent);color:var(--on-accent);background:0 0;flex-shrink:0}.move-bar .btn.ghost:hover{background:color-mix(in srgb, var(--on-accent) 14%, transparent)}.cell.picked,.mw-slot.picked{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:var(--shadow);z-index:3;transform:scale(1.03)}.cell.target,.mw-slot.target{outline:1px dashed var(--border-strong);outline-offset:-3px}.cell.target:hover,.mw-slot.target:hover{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.cell-drop{color:var(--muted);display:inline-flex;position:absolute;bottom:5px;right:6px}.cell,.mw-slot{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.snackbar{left:50%;bottom:calc(var(--bottomnav-h) + 18px + env(safe-area-inset-bottom) - var(--navmini-lift));background:var(--accent);max-width:min(440px,100% - 28px);color:var(--on-accent);border-radius:var(--r-pill);box-shadow:var(--shadow-lg);z-index:80;align-items:center;gap:14px;padding:8px 8px 8px 18px;font-size:.9rem;font-weight:600;animation:.24s toast-in;display:inline-flex;position:fixed;transform:translate(-50%)}.snackbar-msg{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.snackbar-action{font:inherit;color:var(--on-accent);background:color-mix(in srgb, var(--on-accent) 16%, transparent);border-radius:var(--r-pill);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-weight:700;transition:transform .1s,background .15s;display:inline-flex}.snackbar-action:hover{background:color-mix(in srgb, var(--on-accent) 24%, transparent)}.snackbar-action:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.snackbar{animation:none}}.link.danger{color:var(--danger)}.error{color:var(--danger);margin:0;font-size:.875rem}.form{gap:14px;display:grid}.form.row{grid-template-columns:1fr auto;align-items:center}.form-2col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form label{color:var(--text-soft);gap:7px;font-size:.8rem;font-weight:600;display:grid}input[type=text],input[type=email],input[type=password],input[type=time],input[type=number],textarea,select{font:inherit;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);border:1px solid #0000;width:100%;padding:13px 16px;transition:background .15s,border-color .15s,box-shadow .15s}select{cursor:pointer}input[type=time]{cursor:pointer;width:auto}input:focus,select:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}input::placeholder{color:var(--muted)}.switch{margin-top:16px}.list{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);justify-content:space-between;align-items:center;padding:17px 20px;font-weight:600;text-decoration:none;transition:transform .1s,border-color .15s;display:flex}a.list-item:hover{border-color:var(--text)}a.list-item:active{transform:scale(.99)}.badge{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-pill);white-space:nowrap;letter-spacing:.01em;padding:4px 10px;font-size:.7rem;font-weight:700}.row-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.row-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.row-item.wrap{flex-wrap:wrap}.row-item .person-name{margin-right:auto;font-weight:600}.segmented.compact{padding:2px}.segmented.compact .seg{padding:5px 11px;font-size:.75rem}.person-add-controls{justify-content:space-between;align-items:center;gap:10px;display:flex}.edit-fields{flex:1;gap:8px;display:flex}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);align-items:center;gap:12px;margin:14px 0 20px;padding:12px 14px;display:flex}.account-avatar{background:var(--surface-2);width:38px;height:38px;color:var(--text-soft);font-family:var(--serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:650;display:inline-flex}.account-who{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.account-name,.account-mail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-name{font-weight:650}.account-mail{color:var(--muted);font-size:.82rem}.account-out{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.chip{font:inherit;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-soft);cursor:pointer;border:none;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .15s}.chip.active{background:var(--accent-grad);color:var(--on-accent);box-shadow:var(--shadow-accent)}.search-field{align-items:center;margin-top:16px;scroll-margin-top:76px;display:flex;position:relative}.search-ico{color:var(--muted);pointer-events:none;position:absolute;left:14px}.search-input{padding-left:44px!important;padding-right:44px!important}.search-clear{border-radius:var(--r-pill);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:absolute;right:8px}.search-clear:hover{background:var(--surface-3);color:var(--text)}.cal-bar{justify-content:space-between;align-items:center;gap:10px;margin:10px 0 16px;display:flex}.cal-nav{align-items:center;gap:4px;min-width:0;display:flex}.cal-nav .icon-btn{width:34px;height:34px}.cal-date{min-width:0;font:inherit;letter-spacing:-.02em;color:var(--text);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;margin:0 -2px;padding:4px 6px;font-size:1.05rem;font-weight:700;transition:background .15s;display:inline-flex}.cal-date:hover{background:var(--surface-2)}.cal-date-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-date-chev{color:var(--muted);flex-shrink:0}.cal-date-tag{color:var(--accent);font-weight:600}.cal-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.mp{flex-direction:column;gap:8px;display:flex}.mp-monthbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-grid{flex-direction:column;gap:2px;display:flex}.mp-monthbar .icon-btn{width:34px;height:34px}.mp-month{font-family:var(--serif);letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.mp-initials,.mp-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mp-initials span{text-align:center;letter-spacing:.04em;color:var(--muted);padding:2px 0;font-size:.7rem;font-weight:700}.mp-week{border-radius:var(--r-sm);border:1px solid #0000}.mp-week.pickable:hover{background:var(--surface-2)}.mp-week.selected{border-color:var(--accent);background:var(--accent-soft)}.mp-day{min-height:40px;font:inherit;color:var(--text);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:.92rem;font-weight:600;display:inline-flex}.mp-day.off{color:var(--muted);opacity:.65}.mp-day:disabled{color:var(--muted);opacity:.3;cursor:default}.mp-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent)}.mp-day.picked{background:var(--accent);color:var(--on-accent)}.mp-week:not(.pickable) .mp-day:hover:not(:disabled){background:var(--surface-2)}.btn-actions{font:inherit;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn-actions svg{flex-shrink:0}.btn-actions:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-actions:active{transform:scale(.96)}.btn-actions.nudge{color:var(--accent);border-color:var(--accent)}.cal-view-toggle{font:inherit;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.cal-view-toggle svg{flex-shrink:0}.cal-view-toggle:hover{background:var(--surface-2);border-color:var(--border-strong)}.cal-view-toggle:active{transform:scale(.96)}@media (width<=460px){.btn-actions span,.cal-view-toggle span{display:none}.btn-actions,.cal-view-toggle{padding:6px 9px}.cal-bar,.cal-actions{gap:6px}.cal-nav .icon-btn{width:30px;height:30px}.cal-date{font-size:.98rem}}.action-list{flex-direction:column;gap:8px;display:flex}.action-row{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:background .15s,border-color .15s,transform .1s;display:flex}.action-row:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.action-row:active:not(:disabled){transform:scale(.99)}.action-row:disabled{opacity:.5;cursor:default}.action-row.primary{border-color:var(--accent)}.action-row.primary .action-icon{color:var(--accent)}.action-row.invite .action-icon{border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent)}.action-row.danger .action-title,.action-row.danger .action-icon{color:var(--danger)}.action-icon{width:34px;height:34px;color:var(--text-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-text{flex-direction:column;gap:2px;min-width:0;display:flex}.action-title{font-weight:600}.action-chev{color:var(--text-soft);opacity:.6;flex-shrink:0;margin-left:auto}@media (width<=430px){.topnav-title{font-size:1.35rem}}.app-shell--cal .topnav-inner{max-width:880px}.app-shell--cal .cal-page{flex-direction:column;flex:1;align-self:center;width:100%;max-width:880px;min-height:0;display:flex}.app-shell--cal .cal-bar{border-bottom:1px solid var(--border);flex-wrap:nowrap;flex-shrink:0;margin:0;padding:6px 12px}.app-shell--cal .cal{border:none;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex}.app-shell--cal .cal-scroll{min-height:0;max-height:none;padding-bottom:calc(var(--bottomnav-h) + 24px + env(safe-area-inset-bottom));flex:1}.app-shell--cal .cal-anim,.app-shell--cal>.route-anim{flex-direction:column;flex:1;min-height:0;display:flex}.app-shell--cal .dayview{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding-bottom:calc(var(--bottomnav-h) + 24px + env(safe-area-inset-bottom));border-left:none;border-right:none;border-radius:0;flex:1;overflow-y:auto}.app-shell--cal .dayview .dv-head{z-index:2;position:sticky;top:0}.app-shell--cal .empty-state{margin:auto;padding:24px 20px}.cal-anim,.cal-anim.next,.cal-anim.prev{animation:.2s cal-fade}@keyframes cal-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.cal-anim,.cal-anim.next,.cal-anim.prev{animation:none}}.cal{--daycol:40px;--cellw:minmax(0, 1fr);--cellh:60px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.cal.scrollx{--cellw:116px}.cal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 290px);overflow:hidden auto}.cal.scrollx .cal-scroll{overflow-x:auto}.cal-row{grid-template-columns:var(--daycol) repeat(var(--n), var(--cellw));width:100%;display:grid}.cal.scrollx .cal-row{width:max-content;min-width:100%}.cal-head{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.cal-corner{z-index:6;background:var(--surface);position:sticky;left:0}.cal-person{background:color-mix(in srgb, var(--pc,transparent) 13%, var(--surface));flex-direction:column;align-items:center;gap:5px;min-width:0;padding:10px 4px 11px;display:flex}.avatar{color:#fff;letter-spacing:.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.82rem;font-weight:700;display:flex}.cal-person-name{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:600;overflow:hidden}.cal-bodyrow{border-top:1px solid var(--border)}.cal-daycol{z-index:3;background:var(--surface);color:var(--text-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 2px;font-size:.7rem;font-weight:600;line-height:1.05;display:flex;position:sticky;left:0}.cal-daycol .dnum{color:var(--text);font-size:.95rem;font-weight:700}.cal-bodyrow.today .cell.empty{background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.cell{min-height:var(--cellh);text-align:left;font:inherit;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;justify-content:flex-start;align-items:center;margin:3px;padding:8px 10px;transition:background .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.cell.empty:hover{background:var(--surface-2)}.cell.empty{justify-content:center}.cell-add{color:var(--border-strong);font-size:1.1rem;font-weight:300;line-height:1}.cell:hover .cell-add{color:var(--text-soft)}.cell.filled{background:color-mix(in srgb, var(--pc,transparent) 20%, var(--surface));flex-direction:column;justify-content:center;align-items:flex-start;gap:3px}.cell.filled:hover{background:color-mix(in srgb, var(--pc,transparent) 27%, var(--surface))}.cell-line{align-items:flex-start;gap:7px;width:100%;min-width:0;display:flex}.cell-ico{color:color-mix(in srgb, var(--pc,var(--text-soft)) 62%, var(--text));flex-shrink:0;margin-top:1px;display:inline-flex}.cell-dish{font-family:var(--sans);color:var(--text);white-space:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;flex:1;min-width:0;font-size:.88rem;font-weight:530;line-height:1.18}.cell-tags{color:var(--muted);align-items:center;gap:5px;font-size:.7rem;display:flex}.cell.out{background:repeating-linear-gradient(-45deg, var(--surface-2), var(--surface-2) 7px, var(--surface-3) 7px, var(--surface-3) 8px);justify-content:center}.cell.out:hover{background:var(--surface-3)}.cell-out{color:var(--muted);align-items:center;gap:5px;font-size:.72rem;font-style:italic;font-weight:600;display:inline-flex}@keyframes cell-pulse{0%{transform:scale(.9)}55%{transform:scale(1.04)}to{transform:scale(1)}}.cell.pulse{animation:.28s cell-pulse}@media (prefers-reduced-motion:reduce){.cell.pulse{animation:none}}.dayview{--cellh:60px;--dv-person:92px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}@media (width>=600px){.dayview{--dv-person:150px}}.dv-head,.dv-row{grid-template-columns:var(--dv-person) repeat(var(--slots,3), minmax(0, 1fr));display:grid}.dv-head{background:var(--surface-2);border-bottom:1px solid var(--border)}.dv-slot{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);justify-content:center;align-items:center;gap:6px;padding:10px 4px;font-size:.68rem;font-weight:700;display:flex}.dv-row{border-top:1px solid var(--border)}.dv-head+.dv-row{border-top:none}.dv-person{background:var(--surface);flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 6px;display:flex}.dv-person-name{color:var(--text-soft);text-align:center;-webkit-line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;min-width:0;font-size:.74rem;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.mw-cell{background:color-mix(in srgb, var(--pc,transparent) 7%, transparent);flex-direction:column;min-width:0;display:flex}.mw-row{padding-bottom:14px}.mw-slot{min-height:32px;font:inherit;text-align:left;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:9px;justify-content:flex-start;align-items:center;gap:5px;margin:2px;padding:6px 8px;transition:background .14s,box-shadow .14s;display:flex;overflow:hidden}.mw-slot.empty:hover{background:var(--surface-2)}.mw-dayhead{background:var(--surface);grid-column:1/-1;align-items:baseline;gap:9px;padding:17px 12px 5px;display:flex}.mw-dayhead-label{background:var(--surface);align-items:baseline;gap:9px;padding-right:10px;display:inline-flex;position:sticky;left:0}.mw-dayname{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:700}.mw-daynum{letter-spacing:-.01em;color:var(--text);font-size:.98rem;font-weight:700}.mw-gutter{z-index:3;background:var(--surface);flex-direction:column;display:flex;position:sticky;left:0}.mw-gutter-cell{color:var(--muted);opacity:.75;flex:1;justify-content:center;align-items:center;display:flex}.mw-slot-text{font-family:var(--sans);letter-spacing:-.005em;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;min-width:0;font-size:.78rem;font-weight:560;line-height:1.16}.mw-slot.empty{justify-content:center}.mw-slot.empty .mw-slot-text{font-family:var(--sans);color:var(--border-strong);font-weight:400}.mw-slot.filled{background:color-mix(in srgb, var(--pc,transparent) 20%, var(--surface))}.mw-slot.filled:hover{background:color-mix(in srgb, var(--pc,transparent) 27%, var(--surface))}.mw-slot.out{background:repeating-linear-gradient(-45deg, var(--surface-2), var(--surface-2) 7px, var(--surface-3) 7px, var(--surface-3) 8px);box-shadow:none;justify-content:center}.mw-slot.out:hover{background:var(--surface-3)}.mw-slot-out{font-family:var(--sans);color:var(--muted);white-space:nowrap;font-size:.72rem;font-style:italic;font-weight:600}.mw-slot-tag{white-space:nowrap;font-size:.7rem}.mw-slot.pulse{animation:.28s cell-pulse}.mw-row.today .mw-slot.empty{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.mw-row.today .mw-dayname{color:var(--accent)}.mw-row.today .mw-daynum{background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);padding:1px 9px}@supports (grid-template-rows:subgrid){.mw-row{grid-template-rows:auto repeat(var(--slots,3), auto)}.mw-row>.mw-dayhead{grid-row:1}.mw-row>.mw-gutter{grid-row:2/-1;grid-template-rows:subgrid;display:grid}.mw-cell{grid-template-rows:subgrid;grid-row:2/-1;display:grid}}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 55%, var(--surface)) 37%, var(--surface-2) 63%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skel-shimmer;display:inline-block}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.skel-avatar{border-radius:50%;width:34px;height:34px}.skel-line{border-radius:5px;height:9px}.skel-slot{border-top:1px solid var(--border);align-items:flex-start;min-height:30px;padding:9px 6px;display:flex}.skel-slot:first-child{border-top:none}.cal-skel{pointer-events:none}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#140e0b73;justify-content:center;align-items:flex-end;animation:.2s backdrop-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:540px;max-height:92vh;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;animation:.34s cubic-bezier(.22,1.2,.36,1) sheet-up;display:flex}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}}@media (width>=600px){.modal-backdrop{align-items:center}.modal{border-radius:var(--r-lg)}}.modal-head{justify-content:space-between;align-items:flex-start;padding:22px 24px 14px;display:flex}.modal-head h2{margin:0;font-size:1.3rem}.modal-body{grid-template-columns:minmax(0,1fr);gap:24px;padding:8px 24px 20px;display:grid;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:12px;padding:16px 24px 22px;display:flex}.modal--confirm{max-width:420px}@media (width>=600px){.modal--confirm{max-width:420px}}.confirm-body{gap:14px;padding:24px 24px 4px;display:flex}.confirm-ico{border-radius:var(--r-pill);background:var(--surface-2);width:40px;height:40px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.confirm-ico.danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.confirm-txt{min-width:0}.confirm-txt h2{margin:2px 0 4px;font-size:1.15rem}.confirm-txt p{color:var(--muted);margin:0;line-height:1.45}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.06)}.danger-zone{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.danger-zone h2{color:var(--danger)}.sep{border:none;border-top:1px solid var(--border);margin:14px 0}.licenses{flex-direction:column;gap:10px;margin:16px 0;display:flex}.license-item{margin:0}.license-item>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;list-style:none;display:flex}.license-item>summary::-webkit-details-marker{display:none}.license-name{font-weight:600}.license-meta{margin:8px 0 0}.license-text{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;max-height:240px;margin:10px 0 0;padding:10px 12px;font-size:11px;line-height:1.5;overflow:auto}.confirm-require{padding:0 22px 4px;display:block}.confirm-require-hint{color:var(--muted);margin-bottom:6px;font-size:.85rem;display:block}.confirm-require-hint strong{color:var(--text)}.confirm-require input{width:100%}.checkbox{cursor:pointer;align-items:center;gap:11px;font-size:.95rem;display:flex}.checkbox input{width:19px;height:19px;accent-color:var(--accent)}.presence-list{gap:12px;margin-top:14px;display:grid}.presence-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.presence-name{font-weight:600}.segmented{background:var(--surface-2);border-radius:var(--r-pill);gap:2px;padding:3px;display:inline-flex}.seg{font:inherit;border-radius:var(--r-pill);cursor:pointer;color:var(--muted);background:0 0;border:none;padding:7px 13px;font-size:.8rem;font-weight:600;transition:all .15s}.seg.active{background:var(--accent);color:var(--on-accent)}.combo{position:relative}.combo-icon{color:var(--muted);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.combo-list{z-index:5;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);max-height:260px;box-shadow:var(--shadow-lg);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.combo-option{cursor:pointer;font-family:var(--serif);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:1rem;display:flex}.combo-option-ico{color:var(--muted);flex-shrink:0;display:inline-flex}.combo-option-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.combo-option.active{background:var(--surface-2)}.combo-create{font-family:var(--sans);color:var(--text-soft);border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:4px;font-size:.9rem;font-weight:600}.copy-btn{font:inherit;color:var(--text-soft);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:.82rem;font-weight:600;display:inline-flex}.copy-btn:disabled{opacity:.4;cursor:default}.presence-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;width:100%;font:inherit;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.presence-label{font-weight:600}.btn.ghost{border:1px solid var(--border);background:0 0}.btn.ghost.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.btn.ghost.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:var(--danger);filter:none}.shop-page,.dishes-page{padding-bottom:calc(var(--bottomnav-h) + 120px + env(safe-area-inset-bottom))}.shop-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}@media (width>=560px){.shop-grid{grid-template-columns:repeat(4,1fr)}}.shop-tile{--paper:var(--shop-paper);--rule:var(--shop-rule);--ink:var(--text);aspect-ratio:1;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;box-shadow:inset 0 0 0 2px var(--paper), inset 0 0 0 3px color-mix(in srgb, var(--rule) 55%, transparent);border-radius:4px;flex-direction:column;align-items:stretch;padding:0;transition:transform 80ms,box-shadow .15s,background .15s;display:flex;position:relative;overflow:hidden}.shop-tile:active{transform:scale(.97)}.shop-tile.active{--paper:color-mix(in srgb, var(--shop-active) 15%, var(--shop-paper));--rule:color-mix(in srgb, var(--shop-active) 50%, var(--shop-rule));--ink:color-mix(in srgb, var(--shop-active) 78%, var(--text))}.shop-tile.recent{--paper:color-mix(in srgb, var(--shop-recent) 13%, var(--shop-paper));--rule:color-mix(in srgb, var(--shop-recent) 46%, var(--shop-rule));--ink:color-mix(in srgb, var(--shop-recent) 74%, var(--text))}.shop-tile.recent .shop-tile-name{color:var(--text-soft)}.shop-tile.catalog{--paper:var(--shop-paper);--rule:var(--shop-rule);--ink:var(--text-soft)}.shop-tile.catalog.added{--paper:color-mix(in srgb, var(--shop-active) 15%, var(--shop-paper));--rule:color-mix(in srgb, var(--shop-active) 50%, var(--shop-rule));--ink:color-mix(in srgb, var(--shop-active) 78%, var(--text))}.shop-tile-ico{color:var(--ink);flex:1;justify-content:center;align-items:center;padding:16px 8px 10px;display:flex}.shop-tile-name{border-top:1px solid var(--rule);font-family:var(--sans);text-transform:uppercase;letter-spacing:.05em;text-align:center;color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:6px;font-size:.63rem;font-weight:650;line-height:1.15;display:-webkit-box;overflow:hidden}.shop-tile-name:not(:last-child){padding-bottom:1px}.shop-tile-sub{font-family:var(--serif);text-align:center;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:1px 6px 7px;font-size:.78rem;font-style:italic;font-weight:500;line-height:1;overflow:hidden}.shop-tile-badge{z-index:1;font-family:var(--serif);color:var(--shop-active);font-size:.8rem;font-weight:700;line-height:1;position:absolute;top:4px;right:6px}.shop-list{border:1px solid var(--shop-rule);background:var(--shop-paper);border-radius:4px;margin:14px 0;padding:0;list-style:none;overflow:hidden}.shop-list.in-cat{margin:2px 0 16px}.shop-row{--paper:var(--shop-paper);--rule:var(--shop-rule);--ink:var(--text);background:var(--paper);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:none;align-items:center;gap:12px;padding:11px 12px;transition:background .15s;display:flex}.shop-list li+li .shop-row{border-top:1px solid var(--rule)}.shop-row:active{background:color-mix(in srgb, var(--rule) 22%, var(--paper))}.shop-row.active{--paper:color-mix(in srgb, var(--shop-active) 15%, var(--shop-paper));--rule:color-mix(in srgb, var(--shop-active) 50%, var(--shop-rule));--ink:color-mix(in srgb, var(--shop-active) 78%, var(--text))}.shop-row.recent{--paper:color-mix(in srgb, var(--shop-recent) 13%, var(--shop-paper));--rule:color-mix(in srgb, var(--shop-recent) 46%, var(--shop-rule));--ink:color-mix(in srgb, var(--shop-recent) 74%, var(--text))}.shop-row.recent .shop-row-name{color:var(--text-soft)}.shop-row.catalog{--ink:var(--text-soft)}.shop-row.catalog.added{--paper:color-mix(in srgb, var(--shop-active) 15%, var(--shop-paper));--rule:color-mix(in srgb, var(--shop-active) 50%, var(--shop-rule));--ink:color-mix(in srgb, var(--shop-active) 78%, var(--text))}.shop-row.create{--ink:var(--shop-active)}.shop-row.create .shop-row-name{color:var(--shop-active)}.shop-row-ico{width:30px;color:var(--ink);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.shop-row-name{min-width:0;font-family:var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;font-weight:650;line-height:1.2;overflow:hidden}.shop-row-sub{font-family:var(--serif);color:var(--muted);flex-shrink:0;font-size:.9rem;font-style:italic}.shop-row-mark{color:color-mix(in srgb, var(--ink) 65%, transparent);flex-shrink:0;display:inline-flex}.shop-section{margin-top:18px}.shop-section-head{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:7px;padding:4px 0;display:flex}.shop-section-head h2{font-family:var(--serif);margin:0;font-size:1.15rem}.chev{color:var(--muted);flex-shrink:0;transition:transform .18s}.chev.open{transform:rotate(180deg)}.shop-catalog{border-top:1px solid var(--border);margin-top:22px}.shop-cat{border-bottom:1px solid var(--border)}.shop-cat-head{cursor:pointer;width:100%;font-family:var(--serif);color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:15px 2px;font-size:1.08rem;font-weight:600;display:flex}.shop-grid.in-cat{margin:2px 0 16px}.shop-add-bar,.dishes-cta-bar{left:50%;bottom:calc(var(--dock-bottom) - var(--navmini-lift));z-index:29;width:min(560px,100% - 24px);transition:bottom .28s cubic-bezier(.22,.61,.36,1);position:fixed;transform:translate(-50%)}.shop-add-bar:before,.dishes-cta-bar:before{content:"";width:100vw;top:-22px;left:50%;bottom:calc(var(--navmini-lift) - var(--dock-bottom));background:linear-gradient(to bottom, transparent, var(--bg) 42%);pointer-events:none;z-index:-1;position:absolute;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.shop-add-bar,.dishes-cta-bar{transition:none}}.dishes-cta-bar .add-cta{box-shadow:var(--shadow-lg);margin-top:0}.shop-suggest{scrollbar-width:none;gap:6px;padding-bottom:8px;display:flex;overflow-x:auto}.shop-suggest::-webkit-scrollbar{display:none}.shop-suggest-chip{font:inherit;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow-lg);flex-shrink:0;padding:7px 13px;font-size:.82rem;font-weight:600}.shop-add-form{background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:8px;display:flex}.shop-add-form input{min-width:0;font:inherit;color:var(--text);background:0 0;border:none;flex:1;padding:8px 10px;font-size:1rem}.shop-add-form input:focus{outline:none}.shop-add-btn{background:var(--accent);width:42px;height:42px;color:var(--on-accent);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .1s,opacity .15s;display:inline-flex}.shop-add-btn:disabled{opacity:.4;cursor:default}.shop-add-btn:active:not(:disabled){transform:scale(.92)}.shop-snackbar{bottom:calc(var(--bottomnav-h) + 108px + env(safe-area-inset-bottom) - var(--navmini-lift))}.shop-add-trigger{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-lg);cursor:pointer;font:inherit;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.shop-add-search{color:var(--muted);flex-shrink:0}.shop-add-placeholder{text-align:left;color:var(--muted);flex:1;font-size:1rem}.shop-add-plus{background:var(--accent);width:42px;height:42px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.addsheet-backdrop{z-index:90;background:#00000073;flex-direction:column;justify-content:flex-end;transition:padding-bottom .2s;animation:.16s addsheet-fade;display:flex;position:fixed;inset:0}.addsheet{background:var(--surface);border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg);border-top:1px solid var(--border);box-shadow:var(--shadow-lg);max-height:80vh;padding:14px 14px calc(12px + env(safe-area-inset-bottom));flex-direction:column;animation:.22s addsheet-up;display:flex}.addsheet-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.addsheet-hint{color:var(--muted);margin:6px 2px 10px;font-size:.82rem;font-weight:600}.addsheet-list{margin:0 0 4px}.addsheet-detail{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.addsheet-detail-label{color:var(--muted);margin-bottom:8px;font-size:.8rem;display:block}.addsheet-detail-label strong{color:var(--text)}.addsheet-qty{scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.addsheet-qty::-webkit-scrollbar{display:none}.addsheet-qty-chip{font:inherit;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;flex-shrink:0;padding:7px 14px;font-size:.85rem;font-weight:600}.addsheet-form{margin-top:12px}.addsheet-done{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:8px 6px 8px 10px;font-weight:600}.shop-tile.create{--rule:color-mix(in srgb, var(--shop-active) 50%, var(--shop-rule));--ink:var(--shop-active);border-style:dashed}.shop-tile.create .shop-tile-name{color:var(--shop-active)}@keyframes addsheet-fade{0%{opacity:0}to{opacity:1}}@keyframes addsheet-up{0%{opacity:.6;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.addsheet-backdrop,.addsheet{animation:none}}.empty-state{text-align:center;justify-items:center;gap:14px;padding:40px 16px;display:grid}.empty-art{color:var(--muted);opacity:.75}.seed-title{font-family:var(--serif);margin:0;font-size:1.25rem;font-weight:600}.seed-body{max-width:38ch;margin:0}.hero{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.hero-illu{color:var(--text);margin-bottom:22px}.brand-badge{color:#fff;width:104px;height:104px;box-shadow:var(--shadow-lg);background:#121212;border-radius:26px;justify-content:center;align-items:center;display:inline-flex}.splash{z-index:100;color:#fff;background:#121212;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:fixed;inset:0}.splash svg{animation:1.4s ease-in-out infinite splash-pulse}.splash-lockup{flex-direction:column;align-items:center;gap:6px;display:flex}.splash-name{font-family:var(--serif);letter-spacing:.01em;font-size:2rem;font-weight:600;line-height:1}.splash-tagline{font-family:var(--serif);opacity:.72;font-size:1rem;font-style:italic;font-weight:400}@keyframes splash-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.splash svg{animation:none}}.hero h1{margin-bottom:8px;font-size:2.1rem}.hero-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);width:100%;max-width:380px;margin-top:28px;padding:24px}.invite-code{letter-spacing:.14em;color:var(--accent);font-family:ui-monospace,SF Mono,monospace;font-size:1.1rem;font-weight:700}.sheet-person{align-items:center;gap:11px;display:flex}.sheet-person .avatar{width:40px;height:40px;font-size:.95rem}.sheet-person h2{margin:0;font-size:1.25rem}.sheet-search{margin-top:2px;position:relative}.sheet-search.has-edit .combo-input{padding-right:52px}.sheet-search .combo-input{font:inherit;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);border:1px solid #0000;width:100%;padding:13px 16px 13px 44px;transition:background .15s,border-color .15s,box-shadow .15s}.sheet-search .combo-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.dish-edit-icon{border-radius:var(--r-sm);background:var(--surface-3);width:34px;height:34px;color:var(--text-soft);cursor:pointer;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:7px;right:7px}.dish-edit-icon:hover{background:var(--accent-soft);color:var(--accent)}.dish-edit-icon:disabled{opacity:.5;cursor:default}.assign-group{margin-top:10px}.assign-group>*+*{margin-top:6px}.assign-row-cnt{text-align:center;min-width:22px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);flex-shrink:0;margin-left:auto;padding:1px 8px;font-size:.8rem;font-weight:600}.assign-row--primary .assign-row-cnt{color:var(--on-accent);background:#ffffff29;border-color:#0000}.assign-row{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:11px;padding:6px 12px;transition:transform .1s,opacity .15s;display:flex}.assign-row:active:not(:disabled){transform:scale(.99)}.assign-row:disabled{opacity:.6;cursor:default}.assign-row--primary{color:var(--on-accent);background:var(--accent-grad);opacity:1;border-color:#0000}.assign-row--primary:hover:not(:disabled){filter:brightness(1.06)}.assign-row--primary:disabled{background:var(--surface-2);color:var(--muted);border-color:var(--border);opacity:1}.assign-row--primary .assign-row-sub{color:inherit;opacity:.82}.assign-row--primary:disabled .assign-row-sub{color:var(--muted);opacity:1}.assign-row-ico{flex-shrink:0;justify-content:center;align-items:center;width:20px;font-size:1.05rem;line-height:1;display:flex}.assign-row-txt{flex-direction:column;gap:1px;min-width:0;display:flex}.assign-row-title{font-size:.92rem;font-weight:600;line-height:1.15}.assign-row-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.15;overflow:hidden}.assign-split{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assign-btn{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:9px;font-size:.88rem;font-weight:600;transition:transform .1s,opacity .15s;display:flex}.assign-btn:active:not(:disabled){transform:scale(.98)}.assign-btn:disabled{opacity:.5;cursor:default}.assign-btn .cnt{color:var(--muted);font-size:.75rem;font-weight:600}.toggle{border-radius:var(--r-pill);background:var(--surface-3);cursor:pointer;border:none;flex-shrink:0;width:42px;height:25px;transition:background .18s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(17px)}.suggest-label{margin:0 0 8px}.suggest-chips{flex-wrap:wrap;gap:8px;display:flex}.suggest-chip{font:inherit;font-family:var(--serif);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:8px 14px;font-size:.92rem;transition:border-color .15s,transform .1s,background .15s}.suggest-chip:hover{border-color:var(--text)}.suggest-chip.active{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.suggest-chip:active{transform:scale(.96)}.sheet-danger{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.sheet-remove{font:inherit;color:var(--danger);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:4px 0;font-size:.88rem;font-weight:600;display:inline-flex}.sheet-remove:disabled{opacity:.5;cursor:default}.sheet-remove svg{flex-shrink:0}.menu-backdrop{z-index:70;background:#140e0b4d;animation:.15s backdrop-in;position:fixed;inset:0}.context-menu{z-index:71;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);min-width:216px;box-shadow:var(--shadow-lg);padding:6px;animation:.18s sheet-up;position:fixed}.context-menu .mi{width:100%;font:inherit;color:var(--text);border-radius:var(--r-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;padding:11px 12px;font-size:.92rem;font-weight:500;display:flex}.context-menu .mi:hover{background:var(--surface-2)}.context-menu .mi.danger{color:var(--danger)}.context-menu .mi svg{color:var(--muted);flex-shrink:0}.context-menu .mi.danger svg{color:var(--danger)}.shop-toolbar{justify-content:space-between;align-items:center;gap:10px;margin:2px 0 12px;display:flex}.shop-layout .seg{justify-content:center;align-items:center;padding:7px 11px;display:inline-flex}.shop-derive-btn{align-items:center;gap:7px;font-size:.9rem;display:inline-flex}.derive-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.derive-row{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background .15s,opacity .15s;display:flex}.derive-row.on{border-color:var(--accent);background:var(--accent-soft)}.derive-row:not(.on){opacity:.55}.derive-row input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.derive-ico{display:inline-flex}.derive-name{font-size:.95rem}.derive-group+.derive-group{margin-top:14px}.shop-group+.shop-group{margin-top:16px}.shop-cat-kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:10px;margin:0 2px 8px;font-size:.7rem;font-weight:650;display:flex}.shop-cat-kicker:after{content:"";background:var(--border);flex:1;height:1px}.ing-chips{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.ing-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text);align-items:center;gap:5px;padding:5px 6px 5px 12px;font-size:.9rem;display:inline-flex}.ing-chip button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ing-chip button:hover{background:var(--surface);color:var(--text)}.ing-add{gap:8px;display:flex}.ing-add input{flex:1}.quickpick-modal .modal-body{flex-direction:column;gap:16px;display:flex}.quickpick-sugg{flex-wrap:wrap;gap:8px;display:flex}.quickpick-sugg .suggest-chip{align-items:center;gap:7px;display:inline-flex}.quickpick-chip-ico{display:inline-flex}.quickpick-status{gap:8px;display:flex}.quickpick-foot{flex-direction:column;align-items:stretch;gap:8px}.quickpick-recipe{text-align:left;width:100%;font:inherit;border-radius:var(--r);color:var(--text-soft);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:9px 14px;transition:border-color .15s,background .15s,color .15s;display:flex}.quickpick-recipe:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}.quickpick-recipe-lead{color:var(--muted);flex-shrink:0}.quickpick-recipe-ico{color:var(--muted);flex-shrink:0;margin-left:auto;display:inline-flex}.quickpick-recipe-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.quickpick-recipe-title{font-size:.9rem;font-weight:600}.quickpick-recipe-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.quickpick-act{font:inherit;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;flex:1;padding:12px 8px;font-size:.92rem;transition:border-color .15s,background .15s,transform .1s}.quickpick-act:hover{border-color:var(--text)}.quickpick-act:active{transform:scale(.97)}.quickpick-act.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.quickpick-more{text-align:left;width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface-2);color:var(--text);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.quickpick-more:hover{border-color:var(--text)}.quickpick-more-lead{color:var(--muted);flex-shrink:0}.quickpick-more-chev{color:var(--muted);flex-shrink:0;margin-left:auto}.quickpick-more-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.quickpick-more-title{font-weight:600}.quickpick-more-sub{color:var(--muted);font-size:.78rem}.pick-list{gap:8px;display:grid}.pick-row{background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:13px 15px;font-weight:600;display:flex}.pick-row.checked{border-color:var(--accent);background:var(--accent-soft)}.pick-row input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.pick-row .avatar{width:28px;height:28px;font-size:.72rem}.weekcopy-anchor{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-sm);align-items:center;gap:12px;margin:14px 0;padding:11px 14px;display:flex}.weekcopy-anchor .wa-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem;font-weight:700}.settings-section{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:26px 4px 10px;font-size:.72rem;font-weight:700}.settings-section:first-of-type{margin-top:10px}.settings-nav{gap:8px;display:grid}.settings-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);align-items:center;gap:14px;padding:13px 16px;text-decoration:none;transition:transform .1s,background .15s,border-color .15s;display:flex}.settings-row:hover{background:var(--surface-2);border-color:var(--border-strong)}.settings-row:active{transform:scale(.99)}.settings-row-ico{border-radius:var(--r-sm);background:var(--surface-2);width:38px;height:38px;color:var(--text-soft);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-row:hover .settings-row-ico{background:var(--surface-3)}.settings-row-text{flex:1;gap:1px;min-width:0;display:grid}.settings-row-title{font-family:var(--serif);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600;overflow:hidden}.settings-row-hint{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.settings-row-chev{color:var(--muted);flex-shrink:0}.confirm-card{border-radius:var(--r-lg);max-width:380px}@media (width>=600px){.confirm-card{border-radius:var(--r-lg)}}.food-tile{border-radius:var(--r-sm);background:var(--surface-2);width:42px;height:42px;color:var(--text-soft);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.food-tile.sm{border-radius:8px;width:34px;height:34px}.food-tile.lg{border-radius:var(--r);width:56px;height:56px}.recipe-page{padding-bottom:calc(var(--bottomnav-h) + 96px + env(safe-area-inset-bottom))}.recipe-head{align-items:center;gap:12px;margin:0 0 18px;display:flex}.recipe-title{font:inherit;font-family:var(--serif,inherit);border-radius:var(--r-sm);min-width:0;color:var(--text);background:0 0;border:1px solid #0000;flex:1;padding:6px 8px;font-size:1.35rem;font-weight:600}.recipe-title:hover{background:var(--surface-2)}.recipe-frombase{color:var(--muted);margin:0 0 14px;font-size:.85rem}.recipe-facts{gap:12px;display:flex}.recipe-facts label{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.recipe-steps{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.recipe-step{flex-wrap:wrap;align-items:flex-start;gap:0 8px;padding:10px 0;display:flex}.recipe-step:first-child{padding-top:0}.recipe-step+.recipe-step{border-top:1px solid var(--border)}.recipe-step-n{text-align:right;font-variant-numeric:tabular-nums;min-width:14px;color:var(--muted);flex:none;padding-top:12px;font-size:.8rem;font-weight:650}.recipe-step-input{resize:none;min-width:0;font:inherit;color:var(--text);background:var(--surface-2);border-radius:var(--r-sm);overflow-wrap:anywhere;border:1px solid #0000;flex:1 1 0;padding:9px 12px;font-size:.95rem;line-height:1.45;transition:background .15s,border-color .15s,box-shadow .15s;overflow:hidden}.recipe-step-input:hover{border-color:var(--border)}.recipe-step-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.recipe-step-actions{flex:0 0 100%;justify-content:flex-end;gap:2px;margin-top:2px;display:flex}.recipe-save{padding:10px 16px calc(10px + var(--bottomnav-h) + 26px + env(safe-area-inset-bottom) - var(--navmini-lift));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);z-index:5;justify-content:flex-end;gap:10px;transition:padding-bottom .28s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.recipe-save{transition:none}}.row-actions.icon-actions{gap:4px}.icon-act{border-radius:var(--r-sm);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.icon-act:hover{background:var(--surface-2);color:var(--text)}.icon-act:active{transform:scale(.94)}.icon-act.danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--surface))}.dish-list,.person-list{gap:8px}.dish-row,.person-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);align-items:center;gap:4px;padding-right:10px;transition:border-color .15s;display:flex}.dishes-filterbar{align-items:center;gap:8px;margin:12px 0;display:flex}.dishes-filterbar>:first-child{margin-right:auto}.dishes-filterbar .btn{align-items:center;gap:7px;padding:8px 14px;font-size:.9rem;display:inline-flex}.dishes-filterbar .btn:disabled{opacity:.45;cursor:default}.select-pill{align-items:center;display:inline-flex;position:relative}.select-pill select{appearance:none;border-radius:var(--r-pill);background:var(--surface-2);width:auto;color:var(--text);border:1px solid #0000;padding:8px 34px 8px 16px;font-size:.85rem;font-weight:600}.select-pill svg{color:var(--muted);pointer-events:none;position:absolute;right:12px}.select-pill.on select{background:var(--accent);color:var(--on-accent)}.select-pill.on svg{color:var(--on-accent)}.dish-row.picked{border-color:var(--border-strong);background:var(--surface-2)}.food-tile.picked{background:var(--accent);color:var(--on-accent)}.dish-row:hover,.person-row:hover{border-color:var(--border-strong)}.person-row.dragging{border-color:var(--accent);background:var(--surface-2);opacity:.9}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:12px 2px 12px 8px;display:inline-flex}.drag-handle:active{cursor:grabbing}.drag-handle+.person-open{padding-left:4px}.dish-open,.person-open{min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:14px;padding:12px 4px 12px 16px;display:flex}.dish-open:active,.person-open:active{opacity:.7}.dish-main,.person-main{flex-wrap:wrap;flex:1;align-items:center;gap:2px 10px;min-width:0;display:flex}.dish-name{font-family:var(--serif);letter-spacing:-.01em;color:var(--text);overflow-wrap:anywhere;font-size:1.12rem;font-weight:560;line-height:1.2}.person-name{color:var(--text);overflow-wrap:anywhere;min-width:0;font-weight:600}.badge.soft{color:var(--muted);background:var(--surface-2);font-weight:650}.add-cta{justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.swatches{flex-wrap:wrap;flex-basis:100%;gap:9px;padding-top:6px;display:flex}.swatch{cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .1s,box-shadow .15s;display:inline-flex}.swatch:hover{transform:scale(1.1)}.swatch.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.recipe-nutri h3{color:var(--text);margin:22px 0 4px}.nutri-sub-hint{margin:0 0 12px}.nutri-readout{background:var(--surface-2);border-radius:var(--r-sm);align-items:flex-start;gap:12px;margin:14px 0 4px;padding:13px 14px;display:flex}.nutri-readout-body{flex:1;min-width:0}.nutri-readout-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:.7rem;font-weight:700}.nutri-tags{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.nutri-tag{grid-template-columns:74px minmax(0,1fr);column-gap:8px;font-size:.9rem;display:grid}.nutri-tag-label{color:var(--muted);grid-area:1/1;font-size:.8rem}.nutri-tag-value{grid-area:1/2;font-weight:650}.nutri-tag.unknown .nutri-tag-value{color:var(--muted);font-style:italic;font-weight:600}.nutri-tag-from{color:var(--muted);grid-area:2/2;font-size:.78rem;line-height:1.35}.nutri-from-all{color:var(--muted);margin:7px 0 0;font-size:.78rem}.nutri-role{border-top:1px solid var(--border);color:var(--text-soft);margin:10px 0 0;padding-top:9px;font-size:.9rem}.nutri-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px;display:grid}.nutri-field{flex-direction:column;gap:5px;min-width:0;display:flex}.nutri-field-label{color:var(--muted);font-size:.8rem;font-weight:600}.field-select{min-width:0;display:flex;position:relative}.field-select select{appearance:none;width:100%;min-width:0;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;padding:11px 36px 11px 14px;font-size:.95rem;font-weight:600;overflow:hidden}.field-select svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.icon-auto{width:100%;font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:9px;margin-bottom:6px;padding:9px 12px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.icon-auto-text{text-align:left;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.icon-auto-title{font-size:.95rem;line-height:1.2}.icon-auto-now{color:var(--muted);font-size:.78rem;font-weight:500}.icon-auto.active .icon-auto-now{color:inherit;opacity:.75}.icon-picker-or{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:10px;margin:12px 0 2px;font-size:.72rem;font-weight:600;display:flex}.icon-picker-or:before,.icon-picker-or:after{content:"";background:var(--border);flex:1;height:1px}.icon-auto:hover{border-color:var(--border-strong);background:var(--surface-2)}.icon-auto.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.icon-head-row{justify-content:space-between;align-items:center;gap:12px;margin:28px 0 4px;display:flex}.icon-head-row h3{margin:0}.icon-info-btn{font:inherit;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;background:0 0;flex:none;align-items:center;gap:5px;padding:3px 9px;font-size:.74rem;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.icon-info-btn:hover{color:var(--text);border-color:var(--border-strong)}.legend-block+.legend-block{margin-top:26px}.legend-block>h3{color:var(--text);margin:0 0 6px}.legend-group h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px;font-size:.75rem;font-weight:650}.legend-quote{gap:1px;margin:0;padding:0;list-style:none;display:grid}.legend-quote li{border-radius:var(--r-sm);align-items:baseline;gap:8px;padding:5px 8px;font-size:.85rem;display:flex}.legend-quote li:nth-child(odd){background:var(--surface-2)}.legend-quota-label{flex:1;min-width:0}.legend-quota-value{font-variant-numeric:tabular-nums;flex:none;font-weight:650}.legend{gap:18px;display:grid}.legend-group h3{margin:0 0 8px}.legend-hint{color:var(--muted);margin:-4px 0 8px;font-size:.78rem}.legend-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.legend-row{border-radius:var(--r-sm);align-items:center;gap:10px;padding:6px 8px;display:flex}.legend-row:nth-child(odd){background:var(--surface-2)}.legend-ico{color:var(--text-soft);flex:none;display:inline-flex}.legend-text{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.legend-name{font-size:.85rem;font-weight:600}.legend-what{color:var(--muted);font-size:.78rem}.icon-picker{background:var(--surface-2);border-radius:var(--r-sm);margin-top:2px;padding:13px 14px}.icon-group{margin-top:14px}.icon-picker .icon-group:first-of-type{margin-top:10px}.icon-group-name{color:var(--text-soft);margin:0;font-size:.8rem;font-weight:600}.icon-group-hint{color:var(--muted);margin:1px 0 8px;font-size:.8rem}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px;display:grid}.icon-grid.named{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}.icon-pick{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-soft);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:border-color .15s,background .15s,transform .1s;display:inline-flex;position:relative}.icon-grid.named .icon-pick{aspect-ratio:auto;gap:5px;padding:9px 4px 7px}.icon-pick-name{-webkit-line-clamp:2;text-align:center;color:var(--muted);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.62rem;font-weight:650;line-height:1.2;display:-webkit-box;overflow:hidden}.icon-pick:hover{border-color:var(--border-strong);background:var(--surface-2)}.icon-pick.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.icon-pick.active .icon-pick-name{color:var(--accent)}.icon-pick:active{transform:scale(.95)}.icon-pick-check{color:var(--accent);position:absolute;top:3px;right:3px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}.spinner.sm{border-width:2px;width:16px;height:16px}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.page-loading{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:70vh;display:flex}.skel-list{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.skel-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);align-items:center;gap:14px;padding:14px 16px;display:flex}.skel-tile{border-radius:var(--r-sm);flex-shrink:0;width:42px;height:42px}.btn .spinner,.assign-btn .spinner{border-top-color:currentColor}.cook-loader{color:var(--accent);overflow:visible}@media (prefers-reduced-motion:no-preference){.cook-loader{animation:2.6s ease-in-out infinite cook-bob}.cook-steam>path{transform-box:fill-box;transform-origin:50% 100%;opacity:0;animation:2.6s ease-in-out infinite cook-steam}.cook-steam>path:first-child{animation-delay:0s}.cook-steam>path:nth-child(2){animation-delay:.45s}.cook-steam>path:nth-child(3){animation-delay:.9s}}@media (prefers-reduced-motion:reduce){.cook-steam>path{opacity:.55}}@keyframes cook-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes cook-steam{0%{opacity:0;transform:translateY(5px)scaleY(.5)}25%{opacity:.85}60%{opacity:.4}to{opacity:0;transform:translateY(-7px)scaleY(1.15)}}.loader{flex-direction:column;align-items:center;gap:14px;display:flex}.busy-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140e0b80;justify-content:center;align-items:center;padding:24px;animation:.18s backdrop-in;display:flex;position:fixed;inset:0}.busy-card{background:var(--surface);border-radius:var(--r-lg);min-width:190px;max-width:78vw;box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 32px;animation:.24s cubic-bezier(.22,1.2,.36,1) busy-pop;display:flex}.busy-label{color:var(--text);margin:0;font-weight:600}@keyframes busy-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.busy-overlay,.busy-card{animation:none}}.check-rows{gap:8px;display:grid}.check-row{background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:13px 15px;font-weight:600;display:flex}.check-row.on{border-color:var(--accent);background:var(--accent-soft)}.check-row input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.pp-days{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.pp-day{grid-template-columns:minmax(0,1fr);gap:3px;display:grid}.pp-dayhead{align-items:baseline;gap:8px;padding:0 2px 3px;display:flex}.pp-dayname{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.68rem;font-weight:700}.pp-daynum{letter-spacing:-.01em;color:var(--text);font-size:.92rem;font-weight:700}.pp-day.today .pp-dayname{color:var(--accent)}.pp-day.today .pp-daynum{background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);padding:1px 9px}.pp-row{background:var(--surface-2);border-radius:9px;align-items:center;gap:10px;min-height:36px;padding:6px 12px;display:flex}.pp-slot-ico{width:18px;color:var(--muted);opacity:.75;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp-dish{min-width:0;font-family:var(--sans);flex:1;align-items:center;gap:8px;font-size:.82rem;font-weight:560;line-height:1.2;display:flex}.pp-dish-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pp-row.keep{box-shadow:inset 0 0 0 1px var(--border);background:0 0}.pp-keep{color:var(--border-strong)}.pp-conto{border-top:1px solid var(--border);text-align:center;margin:18px 0 0;padding-top:14px}.pp-lockbar{justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 8px;display:flex}.pp-lockbar p{margin:0}button.pp-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;border:none;transition:background .15s,box-shadow .15s,transform .15s}.pp-row.locked{background:color-mix(in srgb, var(--ok) 13%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ok) 55%, transparent)}.pp-row.locked .pp-rowstate{color:var(--ok)}.pp-row.picked{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent), var(--shadow);transform:scale(1.015)}.pp-row.target{outline:1px dashed var(--border-strong);outline-offset:-3px}.pp-row.target:hover{outline:2px solid var(--accent);outline-offset:-2px}.pp-days.swapping .pp-row.keep{opacity:.45}.pp-rowstate-idle{opacity:.28}button.pp-row:hover .pp-rowstate-idle{opacity:.7}.pp-rowstate{width:20px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pp-swapbar{z-index:2;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-lg);align-items:center;gap:10px;margin:12px -4px -4px;padding:10px 12px;font-size:.85rem;display:flex;position:sticky;bottom:-1px}.pp-swapbar-txt{flex:1;min-width:0;line-height:1.25}.pp-swapbar .btn.ghost{border-color:color-mix(in srgb, var(--on-accent) 40%, transparent);color:var(--on-accent);background:0 0;flex-shrink:0}.pp-swapbar .btn.ghost:hover{background:color-mix(in srgb, var(--on-accent) 14%, transparent)}.pp-quotas{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pp-quota{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);align-items:center;gap:2px;padding:3px;display:inline-flex}.pp-quota.set{border-color:var(--accent)}.pp-step{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.pp-step:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.pp-step:active:not(:disabled){transform:scale(.92)}.pp-step:disabled{opacity:.35;cursor:default}.pp-step:disabled:hover{border-color:var(--border);background:var(--surface);color:var(--text)}.pp-quota.manca{border-style:dashed}.pp-quota-body{align-items:baseline;gap:5px;padding:0 8px;font-size:.88rem;display:inline-flex}.pp-quota-n{font-variant-numeric:tabular-nums;font-weight:700}.pp-quota-lab{color:var(--text-soft)}.pp-quota-off{margin-top:12px}.pp-quota-off>p{margin:0}.pp-quota-ghost{border-radius:var(--r-pill);border:1px dashed var(--border-strong);height:38px;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 14px;font-size:.88rem;display:inline-flex}.pp-quota-ghost:hover{border-style:solid;border-color:var(--accent);color:var(--text)}.pp-quota-ghost.tolta{color:var(--muted);text-decoration:line-through}.pp-quota-reset{margin-top:10px;font-size:.82rem;display:inline-block}.wizard-dots{gap:6px;margin-top:8px;display:flex}.wizard-dot{border-radius:var(--r-pill);background:var(--surface-3);width:22px;height:4px;transition:background .2s}.wizard-dot.on{background:var(--accent)}.onboarding{justify-content:space-between;gap:24px;position:relative;overflow:hidden}.onboarding:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(58% 42% at 50% 30%, color-mix(in srgb, var(--tint,transparent) 20%, transparent), transparent 72%);transition:background .4s;position:absolute;inset:0}.onboarding-skip{top:calc(14px + env(safe-area-inset-top));z-index:2;font-weight:600;position:absolute;right:18px}.onboarding-stage{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;max-width:440px;animation:.42s both onb-enter;display:flex;position:relative}.onboarding-art2{margin-bottom:30px}.onboarding-stage h1{margin-bottom:12px;font-size:2rem}.onboarding-stage .muted{max-width:23em;font-size:1.05rem;line-height:1.55}.onboarding-foot{z-index:1;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:360px;display:flex;position:relative}.onboarding-reassure{color:var(--text);opacity:.55;margin:0;font-size:.85rem}.onboarding-dots{gap:8px;display:flex}.onboarding-dot{background:var(--surface-3);border-radius:50%;width:8px;height:8px;transition:width .2s,background .2s}.onboarding-dot.on{border-radius:var(--r-pill);background:var(--accent);width:22px}.onboarding .prev{background:var(--surface);border:1px solid var(--surface-3);width:300px;max-width:80vw;box-shadow:var(--shadow);border-radius:20px;padding:16px}.prev-av{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.prev-av.sm{width:26px;height:26px;font-size:11px}.prev-avatars{grid-template-columns:repeat(4,1fr);justify-items:center;gap:8px;margin-bottom:10px;display:grid}.prev-person{flex-direction:column;align-items:center;gap:4px;display:flex}.prev-name{color:var(--text);opacity:.7;font-size:9px;font-weight:600}.prev-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.prev-cell{height:30px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:flex;overflow:hidden}.prev-cell.out{background:var(--surface-3);opacity:.6;font-style:italic}.prev-plan{flex-direction:column;gap:10px;padding:20px 16px;display:flex;position:relative}.prev-wand{color:#fff;background:var(--tint,var(--accent));border:2px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;top:-12px;right:-12px}.prev-planrow{align-items:center;gap:8px;display:flex}.prev-planslot{color:var(--text);opacity:.6;text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:0 0 62px;font-size:10px;font-weight:600;overflow:hidden}.prev-planchips{flex:1;grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.prev-planchip{opacity:0;border-radius:8px;height:26px;animation:3.6s ease-out infinite onb-plan-fill}.prev-basket{flex-direction:column;gap:12px;padding:20px 16px 16px;display:flex;position:relative}.prev-basketrows{flex-direction:column;gap:10px;display:flex}.prev-basketrow{align-items:center;gap:10px;display:flex}.prev-basketbox{border:1.5px solid var(--surface-3);border-radius:4px;flex-shrink:0;width:13px;height:13px}.prev-basketline{border-radius:var(--r-pill);background:var(--surface-2);height:7px}.prev-basketfoot{border-top:1px solid var(--surface-3);color:var(--text);text-align:center;padding-top:10px;font-size:12px;font-weight:600}.prev-family{flex-direction:column;align-items:center;gap:16px;padding:22px 16px;display:flex}.prev-avstack{display:flex}.prev-avstack .prev-av{border:2px solid var(--surface);margin-left:-8px}.prev-avstack .prev-av:first-child{margin-left:0}.prev-invite{border-radius:var(--r-pill);border:1px dashed var(--surface-3);color:var(--text);align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.prev-invite-text{opacity:.7}@keyframes onb-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes onb-plan-fill{0%{opacity:0;transform:scale(.9)}22%,88%{opacity:1;transform:none}to{opacity:0}}@media (prefers-reduced-motion:reduce){.onboarding-stage,.prev-planchip{animation:none!important}.prev-planchip{opacity:1}}.modal-foot.wizard-foot{justify-content:space-between}.wizard-add{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.wizard-add input[type=text]{flex:120px;min-width:0}.wizard-people{gap:8px;margin:0;padding:0;list-style:none;display:grid}.wizard-people li{background:var(--surface-2);border-radius:var(--r-sm);align-items:center;gap:11px;padding:8px 12px;display:flex}.wizard-people .avatar{width:30px;height:30px;font-size:.75rem}.wp-name{overflow-wrap:anywhere;min-width:0;margin-right:auto;font-weight:600}.invite-link-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;width:100%;font:inherit;color:var(--text);text-align:left;align-items:center;gap:10px;padding:12px 14px;display:flex}.invite-link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-soft);flex:1;font-size:.85rem;overflow:hidden}.list-item.current{border-color:var(--text)}.legal-doc{max-width:720px;line-height:1.6}.legal-doc h1{margin-bottom:18px;font-size:2rem}.legal-doc h2{font-family:var(--serif);margin:32px 0 8px;font-size:1.3rem;font-weight:600}.legal-doc h3{margin:22px 0 6px;font-size:1.05rem;font-weight:650}.legal-doc p{margin:0 0 14px}.legal-doc ul{margin:0 0 14px;padding-left:22px}.legal-doc li{margin-bottom:8px}.legal-doc blockquote{border-left:3px solid var(--border-strong);color:var(--muted);margin:0 0 22px;padding:10px 16px;font-style:italic}.legal-doc code{background:var(--accent-soft);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.legal-doc a{color:var(--text);text-decoration:underline}.legal-doc .md-table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:.95rem}.legal-doc .md-table th,.legal-doc .md-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.legal-doc .md-table th{background:var(--accent-soft);font-weight:600}.legal-doc>.link{margin-top:16px;display:inline-block}.legal-notice{text-align:center;max-width:320px;margin:18px auto 0;line-height:1.45}.legal-notice a{color:var(--text);text-decoration:underline}button.topnav-title{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.topnav-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topnav-chev{opacity:.55;flex-shrink:0}button.list-item.switcher-item{width:100%;font:inherit;cursor:pointer;text-align:left;font-weight:600}button.list-item.switcher-item:hover{border-color:var(--text)}.switcher-item .switcher-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.switcher-actions{gap:10px;margin-top:16px;display:grid}.invite-preview{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:30px 24px 24px;display:flex}.invite-preview h1{margin:0;font-size:1.5rem;line-height:1.25}.invite-preview p{max-width:34ch;margin:0}.invite-preview .btn{margin-top:8px}.invite-preview-ico{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.invite-preview-ico.invalid{background:var(--surface-2,var(--accent-soft));color:var(--muted)}.invite-manage{margin-top:14px}.invite-manage summary{cursor:pointer;-webkit-user-select:none;user-select:none}.invite-manage[open] summary{margin-bottom:12px}.invite-manage .btn{margin-top:12px}
