:root,[data-theme=minimal]{--bg:#1c1c1e;--card:#2c2c2e;--card-border:#3a3a3c;--text:#f2f2f2;--muted:#a0a0a5;--accent:#f2f2f2;--ok:#4ade80;--bad:#f87171;--warn:#fbbf24;--input:#242426;--shadow:0 1px 0 #ffffff0a;--radius:6px;--font:"Segoe UI", "IBM Plex Sans", "Helvetica Neue", sans-serif;--bg-image:radial-gradient(1200px 600px at 10% -10%, #ffffff0f, transparent 55%), radial-gradient(900px 500px at 90% 0%, #78788c1f, transparent 50%), linear-gradient(165deg, #222226 0%, #1c1c1e 40%, #161618 100%);--shell-rail:3.2rem;--shell-expanded:12rem;--shell-sticky-top:5.35rem;--shell-ease:cubic-bezier(.22, 1, .36, 1);--shell-expand-ms:.58s;--shell-close-delay:.35s;--icon-sec:color-mix(in srgb, var(--accent) 28%, transparent);--panel-face:var(--card);--panel-edge:inset 0 1px 0 #ffffff1f, inset 0 -1px 0 #00000059;--panel-lift:0 10px 28px #00000061, 0 2px 6px #00000047}[data-theme=classic]{--bg:#09090b;--card:#27272a8c;--card-border:#ffffff1a;--text:#fafafa;--muted:#a1a1aa;--accent:#e4e4e7;--ok:#4ade80;--bad:#f87171;--warn:#fbbf24;--input:#27272ad9;--shadow:0 2px 14px #00000040;--radius:12px;--font:"Segoe UI", "IBM Plex Sans", "Helvetica Neue", sans-serif;--bg-image:linear-gradient(#09090b8c, #09090b9e), url(/images/homepage-bg.png);--icon-sec:#e4e4e738;--panel-face:var(--card);--panel-edge:inset 0 1px 0 #ffffff24, inset 0 -1px 0 #00000073;--panel-lift:0 12px 32px #00000073, 0 2px 8px #00000059}[data-theme=light]{--bg:#f4f4f5;--card:#fff;--card-border:#e4e4e7;--text:#18181b;--muted:#71717a;--accent:#27272a;--ok:#16a34a;--bad:#dc2626;--warn:#ca8a04;--input:#f4f4f5;--shadow:0 1px 3px #00000014;--radius:8px;--font:"Segoe UI", "IBM Plex Sans", "Helvetica Neue", sans-serif;--bg-image:radial-gradient(1000px 500px at 8% -5%, #ffffffe6, transparent 50%), linear-gradient(180deg, #ececef 0%, #f4f4f5 45%, #e8e8ec 100%);--icon-sec:#27272a29;--panel-face:var(--card);--panel-edge:inset 0 1px 0 #fffffff2, inset 0 -1px 0 #0000000f;--panel-lift:0 10px 24px #0000001a, 0 2px 6px #0000000f}[data-theme=ocean]{--bg:#0b1220;--card:#132337;--card-border:#1e3a5f;--text:#e8f1ff;--muted:#8ba3c7;--accent:#7dd3fc;--ok:#34d399;--bad:#fb7185;--warn:#fbbf24;--input:#0f1c2e;--shadow:0 2px 12px #00142859;--radius:10px;--font:"Segoe UI", "IBM Plex Sans", "Helvetica Neue", sans-serif;--bg-image:radial-gradient(1000px 520px at 12% -8%, #7dd3fc24, transparent 55%), radial-gradient(800px 480px at 100% 10%, #38bdf814, transparent 50%), linear-gradient(165deg, #101a2c 0%, #0b1220 50%, #081018 100%);--icon-sec:#7dd3fc47;--panel-face:var(--card);--panel-edge:inset 0 1px 0 #7dd3fc2e, inset 0 -1px 0 #0006;--panel-lift:0 12px 30px #000a1e80, 0 2px 8px #00000059}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg);margin:0}body{background-image:var(--bg-image);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}a{color:inherit;text-decoration:none}button,input{font:inherit}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:var(--radius);width:100%;max-width:24rem;box-shadow:var(--shadow);padding:1.75rem}.auth-card h1{margin:0 0 .35rem;font-size:1.5rem}.auth-card p.sub{color:var(--muted);margin:0 0 1.25rem;font-size:.9rem}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field label{color:var(--muted);font-size:.85rem}.field input{background:var(--input);border:1px solid var(--card-border);color:var(--text);border-radius:8px;padding:.65rem .75rem}.btn{color:#18181b;cursor:pointer;background:#fafafa;border:0;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.7rem 1rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{color:var(--text);border:1px solid var(--card-border);background:0 0}.auth-links{text-align:center;color:var(--muted);margin-top:1rem;font-size:.9rem}.auth-links a{color:#93c5fd}.error{color:#fecaca;background:#f8717126;border:1px solid #f8717159;border-radius:8px;margin-bottom:.9rem;padding:.65rem .75rem;font-size:.9rem}.ok-msg{color:#bbf7d0;background:#4ade801f;border:1px solid #4ade8059;border-radius:8px;margin-bottom:.9rem;padding:.65rem .75rem;font-size:.9rem}.app-shell{--sidebar-w:var(--shell-rail);--shell-chip:2.45rem;--shell-chip-open:11rem;flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:40;background:var(--panel-face);border:1px solid var(--card-border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--panel-edge), var(--panel-lift);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;align-items:center;gap:.75rem;margin:.75rem .75rem 0;padding:.7rem 1rem;display:flex;position:sticky;top:.75rem}.app-nav-toggle{align-items:center;gap:.4rem;display:none}.app-nav-toggle svg{width:18px;height:18px}.app-header-brand{min-width:0;color:var(--text);flex-shrink:0;align-items:center;gap:.65rem;text-decoration:none;display:flex}.app-header-brand-mark{letter-spacing:-.03em;width:2.15rem;height:2.15rem;color:var(--text);background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 35%, var(--card)) 0%, color-mix(in srgb, var(--card) 80%, #000 20%) 100%);border-radius:.65rem;flex-shrink:0;place-items:center;font-size:.95rem;font-weight:800;display:grid;box-shadow:inset 0 1px #fff3,0 4px 10px #00000047}.app-header-brand-text{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.app-body{flex:1;align-items:flex-start;min-height:0;display:flex}.app-sidebar-slot{width:fit-content;top:var(--shell-sticky-top);z-index:30;max-height:calc(100vh - var(--shell-sticky-top) - .75rem);transition:width var(--shell-expand-ms) var(--shell-ease) var(--shell-close-delay);will-change:width;flex:none;align-self:flex-start;margin:.75rem 0 .75rem .75rem;position:sticky}.app-sidebar{width:max-content;max-width:100%;max-height:inherit;background:var(--panel-face);border:1px solid var(--card-border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--panel-edge), var(--panel-lift);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:padding var(--shell-expand-ms) var(--shell-ease) var(--shell-close-delay);flex-direction:column;align-items:flex-start;gap:.35rem;margin:0;padding:.4rem;display:flex;overflow:hidden auto}.app-shell.sidebar-expanded .app-sidebar-slot,.app-shell.sidebar-pinned .app-sidebar-slot{width:fit-content;max-width:min(var(--shell-expanded), 70vw);transition-delay:0s}.app-shell.sidebar-expanded .app-sidebar,.app-shell.sidebar-pinned .app-sidebar{align-items:stretch;width:max-content;padding:.4rem;transition-delay:0s}.app-sidebar-top{flex-direction:column;gap:.35rem;margin-bottom:.2rem;display:flex}.app-sidebar-top:empty{display:none}.app-sidebar-nav{flex-direction:column;gap:.35rem;display:flex;overflow:visible}.app-sidebar-link,.app-sidebar-pin{z-index:1;width:max-content;max-width:var(--shell-chip);min-height:2.45rem;box-shadow:none;color:var(--muted);font:inherit;cursor:pointer;transition:max-width var(--shell-expand-ms) var(--shell-ease) var(--shell-close-delay), padding var(--shell-expand-ms) var(--shell-ease) var(--shell-close-delay), background .18s ease, box-shadow .18s ease, color .18s ease, border-color .18s ease;background:0 0;border:1px solid #0000;border-radius:.75rem;align-items:center;gap:.65rem;padding:.15rem;font-size:.94rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.app-sidebar-pin{width:auto;max-width:var(--shell-chip);color:var(--muted);font-size:.82rem;display:none}@media (hover:hover) and (min-width:861px){.app-sidebar-pin{max-width:var(--shell-chip);display:flex}}.app-sidebar-pin-glyph{text-align:center;opacity:.75;flex-shrink:0;width:2.15rem;font-size:1rem}.app-sidebar-link-icon{width:2.15rem;height:2.15rem;color:var(--text);background:linear-gradient(160deg, color-mix(in srgb, var(--card) 70%, #fff 8%) 0%, color-mix(in srgb, var(--card) 85%, #000 15%) 100%);border-radius:.55rem;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff24,0 2px 6px #00000038}.nav-icon-sec{fill:var(--icon-sec)}.nav-icon-pri{fill:none}.app-sidebar-link-label{white-space:nowrap;opacity:0;pointer-events:none;color:var(--text);letter-spacing:-.015em;transition:opacity calc(var(--shell-expand-ms) * .75) var(--shell-ease) var(--shell-close-delay), transform calc(var(--shell-expand-ms) * .75) var(--shell-ease) var(--shell-close-delay);font-weight:600;transform:translate(-6px)}.app-sidebar-link:hover,.app-sidebar-pin:hover{color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}.app-sidebar-link.is-active{color:var(--text);background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);font-weight:600}.app-sidebar-link.is-active .app-sidebar-link-icon{box-shadow:inset 0 1px 0 #ffffff38, 0 3px 10px color-mix(in srgb, var(--accent) 25%, transparent), 0 2px 6px #00000040}.app-shell.sidebar-expanded .app-sidebar-link,.app-shell.sidebar-pinned .app-sidebar-link,.app-shell.sidebar-expanded .app-sidebar-pin,.app-shell.sidebar-pinned .app-sidebar-pin{align-self:stretch;width:auto;max-width:none;padding-right:.7rem;transition-delay:0s}.app-shell[data-sidebar-mode=basic]:not(.sidebar-expanded):not(.sidebar-pinned) .app-sidebar-link,.app-shell[data-sidebar-mode=basic]:not(.sidebar-expanded):not(.sidebar-pinned) .app-sidebar-pin{width:var(--shell-chip);max-width:var(--shell-chip);align-self:flex-start}.app-shell.sidebar-expanded .app-sidebar-link-label,.app-shell.sidebar-pinned .app-sidebar-link-label{opacity:1;pointer-events:auto;transition-delay:50ms;transform:translate(0)}.app-shell[data-sidebar-mode=minimal] .app-sidebar-slot,.app-shell[data-sidebar-mode=minimal].sidebar-expanded .app-sidebar-slot,.app-shell[data-sidebar-mode=minimal].sidebar-pinned .app-sidebar-slot{width:fit-content;transition:none}.app-shell[data-sidebar-mode=minimal] .app-sidebar{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:.35rem;overflow:visible}.app-shell[data-sidebar-mode=minimal] .app-sidebar-top,.app-shell[data-sidebar-mode=minimal] .app-sidebar-pin{display:none!important}.app-shell[data-sidebar-mode=minimal] .app-sidebar-nav{overflow:visible}.app-shell[data-sidebar-mode=minimal] .app-sidebar-link{max-width:var(--shell-chip);width:max-content;padding-right:.15rem;overflow:visible}.app-shell[data-sidebar-mode=minimal].sidebar-expanded .app-sidebar-link,.app-shell[data-sidebar-mode=minimal].sidebar-pinned .app-sidebar-link{max-width:var(--shell-chip);align-self:auto;width:max-content;padding-right:.15rem}.app-shell[data-sidebar-mode=minimal] .app-sidebar-link-label,.app-shell[data-sidebar-mode=minimal].sidebar-expanded .app-sidebar-link-label,.app-shell[data-sidebar-mode=minimal].sidebar-pinned .app-sidebar-link-label{z-index:8;background:var(--panel-face);border:1px solid var(--card-border);box-shadow:var(--panel-edge), var(--panel-lift);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;border-radius:.45rem;margin:0;padding:.32rem .6rem;font-size:.82rem;font-weight:600;transition:opacity .14s,transform .14s;position:absolute;top:50%;left:calc(100% + .5rem);transform:translateY(-50%)translate(-4px)}.app-shell[data-sidebar-mode=minimal] .app-sidebar-link:hover .app-sidebar-link-label,.app-shell[data-sidebar-mode=minimal] .app-sidebar-link:focus-visible .app-sidebar-link-label{opacity:1;transform:translateY(-50%)translate(0)}.app-shell[data-sidebar-mode=cascade] .app-sidebar-slot,.app-shell[data-sidebar-mode=cascade].sidebar-expanded .app-sidebar-slot,.app-shell[data-sidebar-mode=cascade].sidebar-pinned .app-sidebar-slot{width:fit-content;transition:none}.app-shell[data-sidebar-mode=cascade] .app-sidebar{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:.35rem;overflow:visible}.app-shell[data-sidebar-mode=cascade] .app-sidebar-top,.app-shell[data-sidebar-mode=cascade] .app-sidebar-pin{display:none!important}.app-shell[data-sidebar-mode=cascade] .app-sidebar-link{max-width:var(--shell-chip);background:var(--panel-face);border-color:var(--card-border);box-shadow:var(--panel-edge), var(--panel-lift);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-right:.15rem}.app-shell[data-sidebar-mode=cascade] .app-sidebar-link.is-active{background:color-mix(in srgb, var(--accent) 18%, var(--panel-face));box-shadow:var(--panel-edge), var(--panel-lift), inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.app-shell[data-sidebar-mode=cascade].sidebar-expanded .app-sidebar-link,.app-shell[data-sidebar-mode=cascade].sidebar-pinned .app-sidebar-link{max-width:var(--shell-chip);padding-right:.15rem}.app-shell[data-sidebar-mode=cascade].sidebar-expanded .app-sidebar-link-label,.app-shell[data-sidebar-mode=cascade].sidebar-pinned .app-sidebar-link-label{opacity:0;pointer-events:none;transition-delay:var(--shell-close-delay);transform:translate(-6px)}.app-shell[data-sidebar-mode=cascade] .app-sidebar-link:hover,.app-shell[data-sidebar-mode=cascade] .app-sidebar-link:focus-visible{z-index:6;max-width:var(--shell-chip-open);background:color-mix(in srgb, var(--text) 6%, var(--panel-face));padding-right:.85rem;transition-delay:0s}.app-shell[data-sidebar-mode=cascade] .app-sidebar-link:hover .app-sidebar-link-label,.app-shell[data-sidebar-mode=cascade] .app-sidebar-link:focus-visible .app-sidebar-link-label{opacity:1;transition-delay:50ms;transform:translate(0)}.app-sidebar-backdrop{display:none}.app-content{flex:1;min-width:0}.app-header-clock{color:var(--muted);white-space:nowrap;background:color-mix(in srgb, var(--input) 80%, transparent);border-radius:.55rem;flex-shrink:0;padding:.35rem .65rem;font-size:.92rem;box-shadow:inset 0 1px 2px #0003,inset 0 1px #ffffff0a}.app-header-search{flex:1;min-width:8rem;max-width:26rem}.app-header-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.brand{font-size:1.25rem;font-weight:700}.clock{color:var(--muted);font-size:1.05rem}.search-form{flex:1;gap:.5rem;max-width:28rem;display:flex}.search-form input{background:var(--input);border:1px solid var(--card-border);color:var(--text);border-radius:8px;flex:1;padding:.5rem .75rem;box-shadow:inset 0 1px 2px #0000002e}.topbar,.topbar-left,.topbar-actions,.app-nav{display:contents}.chip{color:var(--muted);font-size:.8rem}.page-title{letter-spacing:-.02em;text-shadow:0 1px #ffffff14,0 2px 8px #00000040;margin:0 0 .35rem;font-size:1.55rem;font-weight:700}.page-lead{color:var(--muted);max-width:40rem;margin:0 0 1.1rem;font-size:.95rem}.meals-pin{top:calc(var(--shell-sticky-top) - .85rem);z-index:30;background:var(--bg);margin:-.85rem -.15rem 1.1rem;padding:.85rem .15rem 0;position:sticky}[data-theme=classic] .meals-pin{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#09090b6b}.meals-pin .config-tabs{background:var(--bg);margin-bottom:0}[data-theme=classic] .meals-pin .config-tabs{background:0 0}.meals-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.5rem;margin-bottom:.85rem;display:flex}.meals-title-copy{flex:16rem;min-width:min(100%,16rem)}.meals-title-row .page-title,.meals-title-row .page-lead{margin-bottom:0}.meals-title-row .page-title{margin-bottom:.35rem}.meals-title-row .meals-caller{flex:0 auto}.config-tabs{border-bottom:1px solid var(--card-border);flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.config-tab{border:1px solid var(--card-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .9rem;font-size:.9rem}.config-tab:hover{color:var(--text)}.config-tab.is-active{color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--card-border));font-weight:600}.meals-panel{justify-content:flex-start;min-height:8.75rem}.meals-panel:hover,.meals-page .card:hover{transform:none}.meals-meta-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.meals-chip-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.meals-chip{border:1px solid var(--card-border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .7rem;font-size:.82rem}span.meals-chip{cursor:default}.meals-chip.is-on{color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--card-border))}.meals-lines{resize:vertical;min-height:8.5rem}.meals-organize-group+.meals-organize-group{margin-top:.35rem}.meals-planner{flex-direction:column;gap:1rem;display:flex}.meals-planner-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.meals-week-scroll{overflow-x:auto}.meals-week{grid-template-columns:5.4rem repeat(7,minmax(7.2rem,1fr));gap:.35rem;min-width:56rem;display:grid}.meals-week-row{display:contents}.meals-week-head,.meals-week-label{color:var(--muted);padding:.15rem .2rem;font-size:.75rem}.meals-week-head.is-today,.meals-week-label{color:var(--text);font-weight:650}.meals-cell{border:1px solid var(--card-border);border-radius:8px;flex-direction:column;gap:.25rem;min-height:4.75rem;padding:.3rem;display:flex}.meals-cell.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--card-border))}.meals-entry{align-items:flex-start;gap:.25rem;display:flex}.meals-entry-title,.meals-entry-remove,.meals-cell-add{color:var(--text);font:inherit;text-align:left;background:0 0;border:0;padding:0}.meals-entry-title{cursor:pointer;flex:1;min-width:0;font-size:.78rem}span.meals-entry-title{cursor:default}.meals-entry-remove,.meals-cell-add{color:var(--muted);cursor:pointer;font-size:.75rem}.meals-composer{margin-top:.85rem}.meals-composer .meals-meta-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.meals-rule{justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.meals-shop-block{margin-top:1.25rem}.meals-shop-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr) auto;align-items:end;gap:.75rem;display:grid}.meals-shop-row.is-pair{grid-template-columns:minmax(0,1fr) auto}.meals-shop-inline{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0 .25rem;display:flex}.meals-shop-inline .select{width:min(100%,16rem)}.meals-page .lists-sidebar .btn.secondary{margin-top:.5rem}.meals-recipe-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.meals-recipe-actions{flex-wrap:wrap;gap:.5rem;display:flex}.meals-section-title{margin-top:.35rem}.meals-caller{flex-direction:column;justify-content:flex-end;align-items:flex-end;min-width:min(100%,18rem);display:flex}.meals-caller-note{color:var(--muted);margin:.35rem .4rem 0;font-size:.75rem}.meals-caller-machine{border:1px solid var(--card-border);background:color-mix(in srgb, var(--card) 88%, transparent);box-shadow:var(--panel-edge), var(--shadow);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.4rem .55rem .4rem .45rem;display:flex}.meals-caller-cage{appearance:none;width:7.4rem;height:7.4rem;color:inherit;font:inherit;cursor:pointer;background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--card) 45%, transparent), color-mix(in srgb, var(--bg) 62%, transparent) 72%);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--text) 28%, transparent), inset 0 0 22px #00000073, 0 6px 14px #00000047;border:0;border-radius:50%;flex:none;padding:0;position:relative;overflow:hidden}.meals-caller-cage:disabled{opacity:1;cursor:default}.meals-caller.is-drop .meals-caller-cage{overflow:visible}.meals-caller.is-over .meals-caller-cage{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 70%, transparent), inset 0 0 22px #00000073, 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent)}.meals-caller-cage:after{content:"";border-radius:inherit;z-index:2;pointer-events:none;background:repeating-linear-gradient(60deg, transparent 0 6px, color-mix(in srgb, var(--text) 22%, transparent) 6px 7px), repeating-linear-gradient(-60deg, transparent 0 6px, color-mix(in srgb, var(--text) 16%, transparent) 6px 7px);mix-blend-mode:soft-light;position:absolute;inset:0}.meals-caller-empty{z-index:1;text-align:center;color:var(--muted);pointer-events:none;place-items:center;font-size:.72rem;line-height:1.25;display:grid;position:absolute;inset:22%}.meals-caller-orb{z-index:1;color:#2a241c;background:radial-gradient(circle at 32% 28%,#fff 0%,#f6f0e4 48%,#e4d6c0 100%);border-radius:50%;place-items:center;width:2.15rem;height:2.15rem;margin:-1.075rem 0 0 -1.075rem;display:grid;position:absolute;box-shadow:inset 0 -3px 4px #50341233,0 1px 2px #0006}.meals-caller-orb.tone-0{box-shadow:inset 0 0 0 2px #e25b4a,inset 0 -3px 4px #50341233,0 1px 2px #0006}.meals-caller-orb.tone-1{box-shadow:inset 0 0 0 2px #e7a23a,inset 0 -3px 4px #50341233,0 1px 2px #0006}.meals-caller-orb.tone-2{box-shadow:inset 0 0 0 2px #3aaa6a,inset 0 -3px 4px #50341233,0 1px 2px #0006}.meals-caller-orb.tone-3{box-shadow:inset 0 0 0 2px #3d8fd4,inset 0 -3px 4px #50341233,0 1px 2px #0006}.meals-caller-orb.tone-4{box-shadow:inset 0 0 0 2px #8b6ad6,inset 0 -3px 4px #50341233,0 1px 2px #0006}.meals-caller.is-tumble .meals-caller-orb{animation:.22s ease-in-out infinite alternate caller-jostle;animation-delay:var(--delay);transition:left .14s linear,top .14s linear}.meals-caller-orb-label{text-align:center;-webkit-line-clamp:3;pointer-events:none;-webkit-box-orient:vertical;width:1.7rem;font-size:.42rem;font-weight:750;line-height:1.05;display:-webkit-box;overflow:hidden}.meals-caller-chute{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--text) 16%, transparent));width:1.15rem;height:.72rem;box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--text) 28%, transparent);border-radius:0 0 .45rem .45rem;align-self:center;margin-left:-.55rem;margin-right:-.15rem}.meals-caller-tray{background:color-mix(in srgb, var(--bg) 55%, transparent);border-radius:999px;align-items:center;min-width:8.5rem;max-width:13rem;min-height:2.7rem;padding:.28rem .45rem;display:flex;box-shadow:inset 0 2px 6px #00000059}.meals-caller-tray-empty{color:var(--muted);padding:0 .45rem;font-size:.75rem}.meals-caller-draw{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;animation:.62s cubic-bezier(.16,.84,.32,1.15) both caller-land;display:flex}.meals-caller-draw-ball{background:radial-gradient(circle at 32% 28%,#fff 0%,#f6f0e4 55%,#e4d6c0 100%);border-radius:50%;flex:none;width:1.7rem;height:1.7rem;box-shadow:inset 0 -2px 3px #50341238,0 1px 2px #00000059}.meals-caller-draw-ball.tone-0{box-shadow:inset 0 0 0 2px #e25b4a,inset 0 -2px 3px #50341238}.meals-caller-draw-ball.tone-1{box-shadow:inset 0 0 0 2px #e7a23a,inset 0 -2px 3px #50341238}.meals-caller-draw-ball.tone-2{box-shadow:inset 0 0 0 2px #3aaa6a,inset 0 -2px 3px #50341238}.meals-caller-draw-ball.tone-3{box-shadow:inset 0 0 0 2px #3d8fd4,inset 0 -2px 3px #50341238}.meals-caller-draw-ball.tone-4{box-shadow:inset 0 0 0 2px #8b6ad6,inset 0 -2px 3px #50341238}.meals-caller-draw-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;font-weight:680;line-height:1.2;display:-webkit-box;overflow:hidden}.meals-caller-crank{border:1px solid var(--card-border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem .35rem .4rem;font-size:.78rem;font-weight:650;display:inline-flex}.meals-caller-crank:disabled,.meals-caller-clear:disabled{opacity:.45;cursor:default}.meals-caller-clear{border:1px solid var(--card-border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:650}.meals-cage-popout{width:min(36rem,100%);max-width:36rem;animation:.22s cubic-bezier(.16,.84,.32,1) caller-pop}.meals-cage-popout-actions{gap:.4rem;display:flex}.meals-cage-list{flex-direction:column;gap:.4rem;max-height:min(60vh,28rem);margin:.25rem 0 0;padding:0;list-style:none;display:flex;overflow:auto}.meals-cage-row{border:1px solid var(--card-border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 35%, transparent);align-items:center;gap:.65rem;padding:.45rem .55rem;display:flex}.meals-cage-row-title{flex:1;min-width:0;font-weight:650;line-height:1.3}.meals-caller-crank-knob{background:radial-gradient(circle at 32% 30%, color-mix(in srgb, var(--text) 35%, var(--card)), var(--card) 58%), conic-gradient(from 20deg, transparent 0 70%, color-mix(in srgb, var(--text) 55%, transparent) 0 78%, transparent 0);width:1.35rem;height:1.35rem;box-shadow:inset 0 0 0 1px var(--card-border), 0 1px 2px #0000004d;border-radius:50%}.meals-caller.is-tumble .meals-caller-cage{animation:.28s ease-in-out infinite caller-rock}.meals-caller.is-tumble .meals-caller-crank-knob{animation:.42s linear infinite caller-crank}.meals-caller-orb.is-eject{z-index:4;animation:.62s cubic-bezier(.45,.05,.55,1) forwards caller-eject}@keyframes caller-rock{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes caller-crank{to{transform:rotate(360deg)}}@keyframes caller-jostle{0%{transform:translate(0)}to{transform:translate(var(--dx), var(--dy))}}@keyframes caller-eject{0%{opacity:1;transform:translate(0)scale(1)}72%{transform:translate(var(--exit), var(--exit-y)) scale(.92);opacity:1}to{transform:translate(var(--exit), var(--exit-y)) scale(.8);opacity:0}}@keyframes caller-land{0%{opacity:0;transform:translate(-1.6rem,-.7rem)rotate(-160deg)}40%{opacity:1}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes caller-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.meals-caller.is-tumble .meals-caller-cage,.meals-caller.is-tumble .meals-caller-crank-knob,.meals-caller.is-tumble .meals-caller-orb,.meals-caller-orb.is-eject,.meals-caller-draw,.meals-cage-popout{transition:none;animation:none}}@media (max-width:640px){.meals-title-row{flex-direction:column;align-items:stretch}.meals-title-copy{flex-basis:auto;min-width:0}.meals-caller{align-items:stretch;width:100%;min-width:0}.meals-caller-note,.meals-caller-chute{display:none}.meals-caller-machine{border-radius:999px;flex-flow:row;justify-content:flex-start;gap:.3rem;width:100%;margin:0;padding:.2rem .35rem .2rem .2rem;display:flex}.meals-caller-cage{width:2.15rem;height:2.15rem}.meals-caller-empty{font-size:0}.meals-caller-empty:before{content:"+";color:var(--muted);font-size:.95rem;line-height:1}.meals-caller-orb{width:.8rem;height:.8rem;margin:-.4rem 0 0 -.4rem}.meals-caller-orb-label{display:none}.meals-caller-tray{flex:auto;width:auto;min-width:0;max-width:none;min-height:1.65rem;padding:.12rem .4rem}.meals-caller-draw-ball{width:1.1rem;height:1.1rem}.meals-caller-draw-title,.meals-caller-tray-empty{-webkit-line-clamp:1;white-space:nowrap;font-size:.72rem}.meals-caller-crank,.meals-caller-clear{white-space:nowrap;flex:none;padding:.22rem .45rem;font-size:.68rem}.meals-caller-crank-knob{width:.85rem;height:.85rem}}.meals-recipe-bar .field{flex:16rem;max-width:24rem;margin:0}.recipes-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.meals-recipe-card-chips{margin-top:auto}.meals-book-bar{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;margin:.15rem 0 .85rem;display:flex}.meals-book-bar .groups-create{flex:14rem;max-width:22rem;margin:0}.meals-book-bar .btn.is-on,.meals-recipe-actions .btn.is-on{color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--card-border))}.meals-recipe-actions .btn.meals-reach.is-private{color:#8ec4ef;border-color:#3d8fd4}.meals-recipe-actions .btn.meals-reach.is-shared{color:#7dcea4;border-color:#2f9d62}.meals-recipe-actions .btn.meals-reach.is-global{color:#ee8d8d;border-color:#d23b3b}.meals-recipe-actions .btn.meals-reach.is-private.is-on{color:#e8f3fc;background:#3d8fd447;border-color:#3d8fd4}.meals-recipe-actions .btn.meals-reach.is-shared.is-on{color:#e7f6ee;background:#2f9d6247;border-color:#2f9d62}.meals-recipe-actions .btn.meals-reach.is-global.is-on{color:#fde8e8;background:#d23b3b47;border-color:#d23b3b}.meals-cookbook-manage{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin:0 0 .85rem;display:flex}.meals-cookbook-manage .btn-delete{margin-left:auto}.btn.tiny.btn-delete{border:1px solid var(--bad);color:var(--bad);background:0 0}.btn.tiny.btn-delete:hover,.btn.tiny.btn-delete:focus-visible{background:color-mix(in srgb, var(--bad) 14%, transparent)}.popout-delete{justify-content:flex-end;margin-top:1.5rem;display:flex}.page.meals-page{max-width:none;margin:0;padding:.75rem 1.25rem 3rem .75rem}.meals-layout{align-items:flex-start;gap:1rem;display:flex}.meals-layout-main{flex:auto;min-width:0;max-width:1400px}.meals-book-panel{top:var(--shell-sticky-top);z-index:20;width:18rem;max-height:calc(100vh - var(--shell-sticky-top) - .75rem);background:var(--panel-face);border:1px solid var(--card-border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--panel-edge), var(--panel-lift);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;flex:none;gap:.55rem;margin:0;padding:.55rem .4rem .7rem;display:flex;position:sticky;overflow:hidden}.meals-book-panel-head{flex-direction:column;gap:.4rem;display:flex}.meals-book-panel-title{letter-spacing:-.01em;text-align:left;margin:0;font-size:.82rem;font-weight:700}.meals-book-panel-head .btn,.meals-book-panel-delete{width:100%}.meals-book-panel .meals-book-grid{flex-flow:column;flex:auto;align-items:stretch;gap:.4rem;min-height:0;margin:0;padding:.15rem 0 .2rem;overflow:auto}.meals-book-panel .meals-book-grid li{width:100%}.meals-book-panel .meal-book{text-align:left;border:2px solid #0000;border-left-width:4px;border-left-color:var(--muted);background:var(--card);border-radius:8px;flex-direction:row;justify-content:space-between;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;font-size:.92rem;font-weight:600}.meals-book-panel .meal-book.is-private{border-left-color:#3d8fd4}.meals-book-panel .meal-book.is-shared{border-left-color:#2f9d62}.meals-book-panel .meal-book.is-global{border-left-color:#d23b3b}.meals-book-panel .meal-book-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:auto;width:auto;min-width:0;margin:0;font-size:.92rem;display:block}.meals-book-panel .meal-book-share{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:0 46%;width:auto;min-width:0;margin:0;font-size:.75rem;font-weight:450;line-height:1.3;display:block}.meals-book-panel .meal-book:hover,.meals-book-panel .meal-book:focus-visible{background:color-mix(in srgb, var(--card) 82%, var(--text))}.meals-book-panel .meal-book.is-selected{background:color-mix(in srgb, var(--accent) 24%, var(--card));border-color:color-mix(in srgb, var(--accent) 62%, var(--card-border));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.meals-book-panel .meal-book.is-private.is-selected{border-left-color:#3d8fd4}.meals-book-panel .meal-book.is-shared.is-selected{border-left-color:#2f9d62}.meals-book-panel .meal-book.is-global.is-selected{border-left-color:#d23b3b}.meals-book-panel .meal-book.is-selected:hover,.meals-book-panel .meal-book.is-selected:focus-visible{background:color-mix(in srgb, var(--accent) 32%, var(--card))}.meals-book-panel .meal-book.is-open{background:color-mix(in srgb, var(--accent) 18%, var(--card));border-color:color-mix(in srgb, var(--accent) 70%, var(--card-border))}@media (max-width:860px){.page.meals-page{padding-left:.65rem;padding-right:.65rem}.meals-layout{flex-direction:column}.meals-book-panel{width:100%;max-height:16rem;position:static;overflow:hidden}.meals-book-panel-head{flex-direction:row;justify-content:space-between;align-items:center}.meals-book-panel-head .btn,.meals-book-panel-delete{width:auto}.meals-book-panel .meals-book-grid{flex-direction:column;align-items:stretch;padding-bottom:.45rem;overflow:auto}}@media print{.meals-book-panel{display:none}}.meals-book-group{margin:0 0 1.35rem}.meals-book-note{margin:0 0 .35rem}.meals-book-grid{flex-wrap:wrap;align-items:flex-start;gap:1.15rem 1.5rem;margin:0;padding:.35rem .1rem .8rem;list-style:none;display:flex}.meals-book-grid li{position:relative}:is(.meals-book-grid li:has(.meal-book.is-open),.meals-book-grid li:has(.meal-book.is-selected)){z-index:4}.meal-book{--book-cover:var(--card);--book-spine:color-mix(in srgb, var(--card) 62%, #000);--book-paper:#cfc8bb;--book-paper-line:#b3ab9e;--book-mark:var(--muted);width:96px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex}.meal-book-scene{perspective:860px;width:92px;height:124px;position:relative}.meal-book-pages{z-index:1;background:repeating-linear-gradient(to bottom, var(--book-paper) 0 3px, var(--book-paper-line) 3px 4px);border-radius:0 2px 2px 0;position:absolute;inset:8px 0 0 14px;box-shadow:3px 0 #c4bdae,6px 0 #aea798}.meal-book-cover{z-index:2;border:1px solid var(--card-border);background:linear-gradient(#6d6458, #6d6458) 0 22px / 13px 2px no-repeat, linear-gradient(#6d6458, #6d6458) 0 52px / 13px 2px no-repeat, linear-gradient(#6d6458, #6d6458) 0 82px / 13px 2px no-repeat, linear-gradient(var(--book-spine), var(--book-spine)) 0 0 / 13px 100% no-repeat, var(--book-cover);transform-origin:0;transform-style:preserve-3d;transition:transform .45s var(--shell-ease,cubic-bezier(.22, 1, .36, 1));border-radius:2px 3px 3px 2px;position:absolute;inset:0 10px 10px 0}.meal-book-cover:before{content:"";background:color-mix(in srgb, #000 50%, var(--card-border));width:1px;position:absolute;top:0;bottom:0;left:13px}.meal-book.is-selected .meal-book-cover,.meal-book.is-open .meal-book-cover{transform:rotateY(-52deg)}.meal-book-mark{background:var(--book-mark);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);width:12px;height:18px;position:absolute;bottom:-12px;left:46%}.meal-book-share{width:96px;color:var(--muted);text-align:center;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.15rem;font-size:.68rem;line-height:1.2;display:-webkit-box;overflow:hidden}.share-inbox{margin:0 0 1rem}.share-inbox-list{margin:0;padding:0;list-style:none}.share-inbox-row{border-top:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .75rem;padding:.55rem 0;display:flex}.share-inbox-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.share-inbox-preview,.share-inbox-recipe{width:100%}.share-inbox-recipe{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;padding:.25rem 0;display:flex}.meal-book-title{width:100%;color:var(--text);box-shadow:none;letter-spacing:0;text-align:center;text-transform:none;-webkit-line-clamp:2;background:0 0;-webkit-box-orient:vertical;margin-top:.7rem;padding:0;font-family:inherit;font-size:.78rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.meal-book.is-private{--book-mark:#3d8fd4}.meal-book.is-shared{--book-mark:#2f9d62}.meal-book.is-global{--book-mark:#d23b3b}.meal-book.is-private .meal-book-cover,.meal-book.is-shared .meal-book-cover,.meal-book.is-global .meal-book-cover{border-color:var(--book-mark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--book-mark) 70%, transparent)}.meals-ingredient-filters{margin-bottom:.75rem}.meals-pantry-bin{border:1px dashed var(--card-border);border-radius:var(--radius);background:color-mix(in srgb, var(--card) 82%, transparent);flex-wrap:wrap;align-content:flex-start;align-items:center;gap:.35rem;min-height:3.4rem;max-height:9rem;margin:0 0 1.25rem;padding:.55rem;display:flex;overflow:auto}.meals-pantry-bin.is-over{border-color:color-mix(in srgb, var(--accent) 55%, var(--card-border));background:color-mix(in srgb, var(--accent) 12%, var(--card))}.meals-pantry-have{color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--card-border));align-items:center;gap:.3rem;display:inline-flex}.meals-pantry-have button{color:var(--muted);cursor:pointer;line-height:1;font:inherit;background:0 0;border:0;padding:0}.meals-pantry-have button:disabled{cursor:default}.meals-pantry-catalog{max-height:min(62vh,40rem);padding-right:.2rem;overflow:auto}.meals-pantry-chips{flex-wrap:wrap;gap:.35rem;margin:0 0 .9rem;padding:0;list-style:none;display:flex}.meals-pantry-chip.is-stocked{color:var(--text)}.meals-pantry-chip.is-picked{color:var(--text);background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, var(--card-border))}.meals-ingredient-group+.meals-ingredient-group{margin-top:1.25rem}.meals-recipe-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.65rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.meals-recipe-app{position:relative}.meals-recipe-tile{text-align:center;width:100%;min-height:0;color:var(--text);background:var(--card);font:inherit;cursor:grab;box-shadow:none;border:2px solid #0000;border-left-width:4px;border-radius:8px;justify-content:center;align-items:center;padding:.85rem 1.15rem;font-size:1rem;font-weight:600;transition:background .15s;display:flex;position:relative;overflow:hidden}.meals-recipe-tile.has-remove{padding-right:2.1rem}.meals-recipe-tile:hover,.meals-recipe-tile:focus-visible{background:color-mix(in srgb, var(--card) 82%, var(--text))}.meals-recipe-tile:active{cursor:grabbing}.meals-recipe-tile.is-private{border-left-color:#3d8fd4}.meals-recipe-tile.is-shared{border-left-color:#2f9d62}.meals-recipe-tile.is-global{border-left-color:#d23b3b}.meals-recipe-tile-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;font-size:1rem;font-weight:600;line-height:1.2;overflow:hidden}.meals-recipe-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .75rem;margin:.35rem 0 .15rem;display:flex}.meals-recipe-head .meals-section-title{margin:0}.meals-recipe-view{flex-wrap:wrap;gap:.35rem;display:inline-flex}.meals-recipe-tile-desc,.meals-recipe-tile-meta{width:100%;min-width:0;color:var(--muted);font-weight:450}.meals-recipe-tile-desc{text-align:left;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.35;display:-webkit-box;overflow:hidden}.meals-recipe-tile-meta{font-size:.75rem;line-height:1.3}.meals-recipe-grid.is-list{grid-template-columns:1fr;gap:.12rem}.meals-recipe-grid.is-list .meals-recipe-app,.meals-recipe-grid.is-list .meals-recipe-tile{min-width:0;max-width:100%}.meals-recipe-grid.is-list .meals-recipe-tile{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .85rem}.meals-recipe-grid.is-list .meals-recipe-tile-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:auto;width:auto;overflow:hidden}.meals-recipe-grid.is-list .meals-recipe-tile:has(.meals-recipe-tile-desc) .meals-recipe-tile-title{flex:0 auto;max-width:38%}.meals-recipe-grid.is-list .meals-recipe-tile-desc{white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;flex:1 1 0;width:auto;min-width:0;display:block;overflow:hidden}.meals-recipe-grid.is-list .meals-recipe-tile-meta{text-align:right;white-space:nowrap;flex:none;width:auto}.meals-recipe-grid.is-cards{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.meals-recipe-grid.is-cards .meals-recipe-tile{text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.35rem;padding:.85rem 1rem .75rem}.meals-recipe-grid.is-cards .meals-recipe-tile-title{text-align:left;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.meals-recipe-grid.is-cards .meals-recipe-tile-meta{margin-top:auto}.meals-recipe-grid.is-cards .meals-recipe-remove{top:.45rem;transform:none}.meals-recipe-tile.is-picked{background:color-mix(in srgb, var(--accent) 16%, var(--card))}.meals-recipe-grid .meals-recipe-tile.is-picked{padding-left:2.15rem}.meals-recipe-check{background:var(--accent);color:#fff;pointer-events:none;border-radius:999px;place-items:center;width:1.15rem;height:1.15rem;font-size:.72rem;font-weight:700;line-height:1;display:grid;position:absolute;top:50%;left:.45rem;transform:translateY(-50%)}.meals-recipe-select{top:var(--shell-sticky-top,.5rem);z-index:5;background:color-mix(in srgb, var(--accent) 14%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--card-border));border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .75rem;margin:0 0 .75rem;padding:.45rem .7rem;display:flex;position:sticky}.meals-drag-ghost{z-index:80;border:1px solid var(--card-border);background:var(--card);color:var(--text);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;border-radius:999px;margin:0;padding:.35rem .75rem;font-size:.85rem;font-weight:700;display:none;position:fixed;transform:translate(-50%,-140%)}.meals-recipe-tile{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (max-width:640px){.meals-recipe-grid.is-list .meals-recipe-tile{gap:.4rem}.meals-recipe-grid.is-list .meals-recipe-tile-title{max-width:46%}.meals-recipe-grid.is-list .meals-recipe-tile:has(.meals-recipe-tile-desc) .meals-recipe-tile-title{max-width:46%}.meals-recipe-grid.is-list .meals-recipe-tile-meta{text-overflow:ellipsis;max-width:34%;overflow:hidden}}.meals-recipe-remove{width:1.35rem;height:1.35rem;color:var(--muted);box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;line-height:1;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}@media (prefers-reduced-motion:reduce){.meal-book-cover{transition:none}}.recipes-card .meals-chip{cursor:pointer}@media (max-width:640px){.meals-meta-row,.meals-shop-row,.meals-shop-row.is-pair{grid-template-columns:1fr}}.sidebar-mode-field{max-width:22rem}.sidebar-mode-field select.input{cursor:pointer;width:100%}.sidebar-mode-field select.input:disabled{opacity:.7;cursor:wait}.sidebar-mode-hint{margin:.55rem 0 0}.app-tabbar,.app-more-sheet,.app-more-backdrop{display:none}@media (max-width:860px){.app-shell{--sidebar-w:0px;--shell-sticky-top:4.35rem;--tabbar-h:calc(3.65rem + env(safe-area-inset-bottom,0px));padding-bottom:var(--tabbar-h)}.app-sidebar-slot,.app-nav-toggle,.app-sidebar-backdrop{display:none!important}.app-header{border-radius:calc(var(--radius) + 2px);gap:.45rem;margin:.55rem .65rem 0;padding:.45rem .55rem}.app-header-clock,.app-header-search,.app-header-user,.app-header-logout{display:none!important}.app-header-brand-text{font-size:.98rem}.app-header-actions{margin-left:auto}.app-body{display:block}.app-content{padding-bottom:.5rem}.app-tabbar{z-index:45;min-height:var(--tabbar-h);padding:.2rem .2rem env(safe-area-inset-bottom,0px);background:color-mix(in srgb, var(--card) 92%, transparent);border-top:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000047}.app-tabbar-item{min-height:3.2rem;color:var(--muted);font:inherit;letter-spacing:-.01em;cursor:pointer;background:0 0;border:0;border-radius:.65rem;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;padding:.2rem .15rem;font-size:.68rem;font-weight:600;text-decoration:none;display:flex}.app-tabbar-item.is-active{color:var(--text)}.app-tabbar-icon{border-radius:.55rem;place-items:center;width:1.85rem;height:1.85rem;display:grid}.app-tabbar-item.is-active .app-tabbar-icon{background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)}.app-tabbar-icon svg{width:1.15rem;height:1.15rem}.app-tabbar-label{white-space:nowrap;line-height:1}.app-more-backdrop{z-index:50;opacity:0;pointer-events:none;background:#0000007a;transition:opacity .22s;display:block;position:fixed;inset:0}.app-shell.more-open .app-more-backdrop{opacity:1;pointer-events:auto}.app-more-sheet{z-index:55;max-height:min(78vh,36rem);padding:.55rem .85rem calc(.85rem + env(safe-area-inset-bottom,0px));background:var(--panel-face);border:1px solid var(--card-border);box-shadow:var(--panel-edge), 0 -12px 36px #00000073;transition:transform .28s var(--shell-ease);pointer-events:none;border-bottom:0;border-radius:1.1rem 1.1rem 0 0;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(110%)}.app-shell.more-open .app-more-sheet{pointer-events:auto;transform:translateY(0)}.app-more-handle{background:color-mix(in srgb, var(--text) 28%, transparent);border-radius:999px;width:2.5rem;height:.28rem;margin:.1rem auto .15rem}.app-more-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.app-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.app-more-link{color:var(--text);text-align:center;background:color-mix(in srgb, var(--text) 4%, transparent);border:1px solid #0000;border-radius:.85rem;flex-direction:column;align-items:center;gap:.4rem;padding:.7rem .4rem;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.app-more-link.is-active{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 28%, transparent)}.app-more-link-icon{background:linear-gradient(160deg, color-mix(in srgb, var(--card) 70%, #fff 8%) 0%, color-mix(in srgb, var(--card) 85%, #000 15%) 100%);border-radius:.7rem;place-items:center;width:2.35rem;height:2.35rem;display:grid;box-shadow:inset 0 1px #ffffff24,0 2px 6px #00000038}.app-more-footer{border-top:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.35rem;display:flex}.app-more-user{color:var(--muted);min-width:0;font-size:.85rem;text-decoration:none}.app-more-user strong{color:var(--text)}.chat-layout.has-selection .lists-sidebar,.lists-layout.has-selection .lists-sidebar,.chat-layout:not(.has-selection) .chat-main,.lists-layout:not(.has-selection) .lists-main{display:none}.mobile-back-row{margin-bottom:.65rem;display:flex}}@media (min-width:861px){.mobile-back-row{display:none}}@media (max-width:560px){.app-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding-left:.65rem;padding-right:.65rem}}@media (prefers-reduced-motion:reduce){.app-sidebar,.app-sidebar-slot,.app-sidebar-link,.app-sidebar-link-label,.app-sidebar-pin{transition:none!important}}.btn.small{width:auto;padding:.4rem .75rem;font-size:.85rem}.page{max-width:1400px;margin:0 auto;padding:1rem 1.25rem 3rem}.group{margin-bottom:1.5rem}.group-header{align-items:center;gap:.5rem;margin:.5rem 0 .75rem;display:flex}.group-header h2{text-shadow:0 1px 3px #0000008c;margin:0;font-size:1.1rem}.group-title-input{flex:1;min-width:8rem;max-width:20rem;padding:.35rem .55rem;font-size:1.05rem;font-weight:700}.group-edit-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.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}.collapse-btn{border:1px solid var(--card-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.15rem .45rem}.grid{gap:.85rem;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}.card{background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.55rem;min-height:4.5rem;padding:.9rem 1rem;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:#ffffff38;transform:translateY(-1px)}.card-head{align-items:flex-start;gap:.65rem;display:flex}.card-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1.35rem;line-height:1;display:flex}.card-icon-img{object-fit:contain;width:1.35rem;height:1.35rem;display:block}.card-icon-img.is-mono{filter:invert();opacity:.92}[data-theme=light] .card-icon-img.is-mono{filter:none;opacity:.88}.card-icon-badge{box-sizing:border-box;background:#fff;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:.12rem;display:flex}.card-icon-badge .card-icon-img.is-badge-logo{width:100%;height:100%}.card-icon-emoji{line-height:1}.card-title{margin:0;font-size:.98rem;font-weight:600}.card-desc{color:var(--muted);margin:.15rem 0 0;font-size:.82rem}.status-dot{background:#52525b;border-radius:999px;flex-shrink:0;width:.55rem;height:.55rem;margin-top:.35rem;margin-left:auto}.status-dot.ok{background:var(--ok);box-shadow:0 0 8px #4ade8073}.status-dot.bad{background:var(--bad)}.status-dot.unknown{background:#71717a}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;font-size:.82rem;display:grid}.metric{white-space:nowrap;justify-content:space-between;gap:.5rem;display:flex}.metric span:first-child{color:var(--muted)}.iframe-wrap{background:#00000040;border-radius:8px;width:100%;overflow:hidden}.iframe-wrap iframe{background:0 0;border:0;width:100%;display:block}.table{border-collapse:collapse;background:var(--card);border-radius:var(--radius);border:1px solid var(--card-border);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--card-border);padding:.75rem .9rem;font-size:.9rem}.table th{color:var(--muted);font-weight:500}.badge{border:1px solid var(--card-border);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.badge.active{color:var(--ok);border-color:#4ade8066}.badge.pending{color:var(--warn);border-color:#fbbf2466}.badge.denied{color:var(--bad);border-color:#f8717166}.row-actions{flex-wrap:wrap;gap:.4rem;display:flex}.btn.tiny{width:auto;padding:.3rem .55rem;font-size:.75rem}.btn.tiny.approve{color:#fff;background:#166534}.btn.tiny.deny{color:#fff;background:#991b1b}.badge.role-admin{color:#93c5fd;border-color:#93c5fd73}.badge.role-superuser{color:#f5d78e;border-color:#f5d78e8c}.badge.role-user{color:var(--muted)}.filter-tabs{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.filter-tab{border:1px solid var(--card-border);color:var(--muted);cursor:pointer;font:inherit;background:#27272a8c;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.85rem;display:inline-flex}.filter-tab.active{color:var(--text);background:#3f3f46bf;border-color:#ffffff47}.filter-count{opacity:.85;background:#00000040;border-radius:999px;padding:.05rem .4rem;font-size:.75rem}.admin-panel-card{max-width:40rem;margin-bottom:1.25rem}.panel-title{margin:0 0 .35rem;font-size:1.1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem;display:grid}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.select{background:var(--input);border:1px solid var(--card-border);color:var(--text);font:inherit;border-radius:8px;padding:.65rem .75rem}.user-list{flex-direction:column;gap:.75rem;display:flex}.user-card{background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.65rem;padding:.9rem 1rem;display:flex}.user-card-main{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.user-card-name{font-weight:600}.user-card-meta{color:var(--muted);margin-top:.15rem;font-size:.82rem}.user-card-badges{flex-wrap:wrap;align-items:flex-start;gap:.35rem;display:flex}.inline-form{border-top:1px solid var(--card-border);margin-top:.15rem;padding-top:.75rem}.access-fields{border:0;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.35rem .75rem;margin:.75rem 0;padding:0;display:grid}.access-fields legend{margin-bottom:.2rem;padding:0;font-weight:650}.access-fields .card-desc{grid-column:1/-1;margin:0 0 .25rem}.access-fields label{align-items:center;gap:.4rem;display:flex}.section-link{color:inherit;text-decoration:none}.section-link:hover{text-decoration:underline}.weather-page-title{text-shadow:0 1px 3px #0000008c;margin:0;font-size:1.5rem}.nws-panel{flex-direction:column;gap:1rem;display:flex}.nws-title{text-shadow:0 1px 3px #0000008c;margin:0;font-size:1.15rem}.nws-header a{color:#93c5fd}.nws-temp{margin:.2rem 0;font-size:2rem;font-weight:700}.nws-temp-sm{margin:.15rem 0;font-size:1.25rem;font-weight:650}.nws-detail{color:var(--muted);margin:.35rem 0 0;font-size:.88rem;line-height:1.45}.nws-icon{background:#0003;border-radius:8px}.nws-section h3{text-shadow:0 1px 3px #0000008c;margin:0 0 .65rem;font-size:1.05rem}.nws-alerts{flex-direction:column;gap:.55rem;display:flex}.nws-alert{border-radius:var(--radius);background:#7f1d1d59;border:1px solid #f8717159;padding:.75rem .9rem}.nws-alert-title{align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:650;display:flex}.nws-alert-headline{margin:0;font-size:.9rem}.nws-hourly{gap:.55rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.nws-hour{background:var(--card);border:1px solid var(--card-border);text-align:center;border-radius:10px;min-width:5.5rem;padding:.55rem}.nws-hour-time{color:var(--muted);margin-bottom:.25rem;font-size:.75rem}.nws-hour-temp{margin:.2rem 0;font-weight:700}.nws-periods{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (max-width:800px){.nws-periods{grid-template-columns:1fr}}.nws-radar-img{object-fit:contain;background:#00000040;width:100%;max-height:520px;display:block}.nws-current{max-width:48rem}.upcoming-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.upcoming-list li{border-top:1px solid var(--card-border);flex-direction:column;gap:.1rem;padding-top:.4rem;display:flex}.upcoming-when{color:var(--muted);font-size:.78rem}.upcoming-title{font-size:.92rem;font-weight:600}.upcoming-card:hover{text-decoration:none}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.cal-nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cal-month-title{text-align:center;text-shadow:0 1px 3px #0000008c;min-width:10rem;margin:0;font-size:1.35rem}.cal-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cal-layout{grid-template-columns:minmax(0,1fr) 17rem;align-items:start;gap:1rem;display:grid}.cal-side-stack{flex-direction:column;gap:1rem;display:flex;position:sticky;top:4.5rem}.cal-side-stack .cal-sidebar{position:static}@media (max-width:900px){.cal-layout{grid-template-columns:1fr}.cal-side-stack{position:static}}.cal-dow{color:var(--muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:.35rem;font-size:.8rem;display:grid}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.cal-cell{background:var(--card);border:1px solid var(--card-border);min-height:5.5rem;color:var(--text);text-align:left;cursor:pointer;font:inherit;border-radius:10px;flex-direction:column;gap:.25rem;padding:.35rem;display:flex}.cal-cell.muted{opacity:.45}.cal-cell.today{border-color:#93c5fd8c}.cal-cell.selected{border-color:#fafafa73;box-shadow:0 0 0 1px #fafafa33}.cal-daynum{font-size:.8rem;font-weight:600}.cal-cell-events{flex-direction:column;gap:.15rem;display:flex;overflow:hidden}.cal-pill{white-space:nowrap;text-overflow:ellipsis;background:#1665348c;border-radius:4px;padding:.1rem .25rem;font-size:.68rem;display:block;overflow:hidden}.cal-more{color:var(--muted);font-size:.68rem}.cal-sidebar{position:sticky;top:4.5rem}.cal-day-list{flex-direction:column;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.cal-day-item{text-align:left;border:1px solid var(--card-border);width:100%;color:var(--text);cursor:pointer;font:inherit;background:#0003;border-radius:8px;flex-direction:column;gap:.15rem;padding:.55rem .65rem;display:flex}.cal-modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cal-modal{max-width:28rem;max-height:90vh;overflow:auto}.cal-allday{color:var(--muted);align-items:center;gap:.45rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.cal-calendar-picks{border:1px solid var(--card-border);background:var(--input);border-radius:8px;flex-direction:column;max-height:11rem;padding:.35rem .5rem;display:flex;overflow:auto}.cal-calendar-picks .cal-allday{margin-bottom:.35rem}.cal-jump{width:auto;min-width:7rem;padding:.35rem .5rem;font-size:.85rem}.input{background:var(--input);border:1px solid var(--card-border);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:.5rem .65rem}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.share-pickers{gap:.75rem;margin:.75rem 0;display:grid}.share-check-list{max-height:12rem;margin:0;padding:0;list-style:none;overflow:auto}.share-check-list li label{cursor:pointer;align-items:center;gap:.45rem;padding:.25rem 0;display:flex}.groups-panel{margin-bottom:1rem}.groups-create{align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.groups-create .input{flex:1}.groups-list{margin:0;padding:0;list-style:none}.groups-row{border-bottom:1px solid var(--card-border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.groups-row-actions{gap:.35rem;margin-left:auto;display:flex}.lists-layout{grid-template-columns:minmax(14rem,18rem) 1fr;align-items:start;gap:1rem;display:grid}@media (max-width:800px){.lists-layout{grid-template-columns:1fr}}.lists-nav{margin:.5rem 0 0;padding:0;list-style:none}.lists-nav-item{width:100%;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .4rem;display:flex}.lists-nav-item:hover,.lists-nav-item.active{background:var(--input)}.lists-toolbar{margin:0 0 1rem}.lists-card-grid{--list-lines:4;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));align-items:stretch;gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.lists-card{text-align:left;width:100%;height:auto;min-height:8.55rem;color:var(--text);background:var(--card);font:inherit;border:0;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:.8rem .95rem .7rem;font-size:1rem;font-weight:600;display:flex;overflow:visible}.lists-card.is-selected{background:color-mix(in srgb, var(--card) 88%, var(--text))}.lists-card-title{border:0;border-bottom:1px solid color-mix(in srgb, var(--text) 28%, transparent);width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;flex:none;padding:0 0 .4rem;font-weight:600;overflow:hidden}.lists-card-body{color:var(--text);text-align:left;flex-direction:column;flex:none;gap:.35rem;margin-top:.45rem;font-size:.95rem;font-weight:500;line-height:1.4;display:flex;overflow:visible}button.lists-card-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:normal;background:0 0;border:0;padding:0;font-weight:500;display:block}.lists-card-line{white-space:normal;overflow-wrap:anywhere;flex:none;overflow:visible}.lists-card-line:not(.is-placeholder):not(.is-note):before{content:"•";margin-right:.45rem}.lists-card-line.is-note{white-space:pre-wrap}.lists-card-line.is-placeholder{color:var(--muted)}.lists-card-line.is-done{opacity:.72;text-decoration:line-through}.btn.lists-card-expand{flex:none;width:100%;margin-top:auto}button.list-item-title{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:.15rem 0}.lists-popout button.list-item-title{white-space:normal;overflow-wrap:anywhere}.lists-popout button.list-item-title:before{content:"•";margin-right:.45rem}.lists-popout{width:min(48rem,100%);max-width:48rem;max-height:min(90vh,44rem);overflow:auto}.lists-page .lists-main{margin-top:1.25rem}.tiny-chip{padding:.1rem .4rem;font-size:.7rem}.lists-main-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.recipes-sidebar .lists-nav{margin-bottom:.75rem}.recipes-list-head{border-top:1px solid var(--card-border);margin-top:.5rem;padding-top:.65rem}.recipes-search{margin-bottom:.35rem}.recipes-new-book{gap:.35rem;margin-bottom:.5rem;display:flex}.recipes-new-book .input{flex:1;min-width:0}.recipes-book-bar{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.recipes-books-label{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:block}.recipes-book-checks{margin-top:0}.recipes-card-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.85rem;display:grid}.recipes-card{text-align:left;border:1px solid var(--card-border);border-radius:var(--radius,12px);background:color-mix(in srgb, var(--input) 55%, transparent);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.45rem;min-height:9.5rem;padding:.9rem .95rem .75rem;transition:border-color .15s,transform .15s,background .15s;display:flex}.recipes-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--card-border));background:color-mix(in srgb, var(--input) 85%, transparent);transform:translateY(-1px)}.recipes-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.02rem;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.recipes-card-chip{align-self:flex-start}.recipes-card-preview{width:100%;color:var(--muted);flex:1;margin:0;padding:0;font-size:.82rem;line-height:1.35;list-style:none}.recipes-card-preview li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipes-card-more{opacity:.7}.recipes-card-empty{flex:1;margin:0}.recipes-card-open{color:var(--accent);letter-spacing:.02em;margin-top:auto;font-size:.75rem;font-weight:600}.recipes-popout{width:min(40rem,100%);max-height:min(90vh,52rem);overflow:auto}.recipes-popout-edit{width:min(36rem,100%)}.recipes-view-section{margin-top:1rem}.recipes-view-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.8rem;font-weight:650}.recipes-view-list,.recipes-view-steps{margin:0;padding-left:1.15rem;line-height:1.45}.recipes-view-list li,.recipes-view-steps li{margin-bottom:.35rem}.recipes-view-steps{padding-left:1.35rem}.meals-print-root{display:none}@media print{body{background:#fff!important;overflow:visible!important}body>*{display:none!important}body>.meals-print-root{display:block!important}.meals-print-root,.meals-print-root *{color:#111!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}.meals-print-root .card-title{font-size:1.5rem}.meals-print-root .groups-row-actions,.meals-print-root .meals-shop-inline,.meals-print-root .popout-delete{display:none!important}.meals-print-root .meals-print-recipe+.meals-print-recipe{break-before:page}.meals-print-root .lists-print-body{white-space:pre-wrap}.meals-print-root .lists-print-done{text-decoration:line-through}}.recipes-item-editor-list{flex-direction:column;gap:.35rem;margin:0 0 .55rem;padding:0;list-style:none;display:flex}.recipes-item-editor-steps{padding-left:1.25rem;list-style:decimal}.recipes-item-editor-list li{border:1px solid var(--card-border);background:color-mix(in srgb, var(--input) 50%, transparent);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;line-height:1.35;display:flex}.recipes-item-editor-list li span{flex:1;min-width:0}.recipes-item-editor-list .btn{flex-shrink:0;width:auto}.recipes-item-add{align-items:center;gap:.4rem;display:flex}.recipes-item-add .input{flex:1;min-width:0}.recipes-item-add .btn{flex-shrink:0;width:auto}.lists-add-item{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.lists-add-item .input{flex:1;min-width:8rem}.list-category-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:.75rem 0 .35rem;font-size:.85rem}.list-items{margin:0;padding:0;list-style:none}.list-items li{border-bottom:1px solid var(--card-border);align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.list-items li.checked .list-item-title{color:var(--muted);text-decoration:line-through}.list-item-row{cursor:pointer;flex:1;align-items:center;gap:.5rem;display:flex}.cal-filter-bar{margin-bottom:1rem}.cal-filter-row{flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.5rem;display:flex}.cal-filter-item{cursor:pointer;align-items:center;gap:.35rem;min-width:0;font-size:.9rem;display:inline-flex}.cal-color-dot{border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem;display:inline-block}.cal-calendars-panel .panel-title{margin-bottom:.35rem}.cal-calendars-list{flex-direction:column;gap:.55rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.cal-calendars-item{border-bottom:1px solid var(--card-border);flex-direction:column;gap:.3rem;padding-bottom:.45rem;display:flex}.cal-calendars-item:last-child{border-bottom:0;padding-bottom:0}.cal-calendars-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-calendars-meta{flex-wrap:wrap;align-items:center;gap:.35rem;padding-left:1.35rem;display:flex}.cal-calendars-meta .btn{width:auto}.cal-calendars-create{border-top:1px solid var(--card-border);flex-direction:column;gap:.4rem;margin-top:.75rem;padding-top:.65rem;display:flex}.cal-calendars-create .btn{align-self:flex-start;width:auto}.cal-google-actions{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.cal-google-actions .btn{width:auto}.theme-picker{align-items:center;gap:.35rem;display:inline-flex}.theme-picker-label{color:var(--muted);font-size:.75rem}.theme-picker-select{width:auto;min-width:6.5rem;padding:.3rem .45rem;font-size:.85rem}.auth-theme,.config-section{margin-bottom:1rem}.config-card-group{margin-top:.75rem;margin-bottom:.75rem}.dashboard-config-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.35rem 0 1rem;display:flex}.dashboard-config-toolbar-actions{align-items:center;gap:.35rem;display:flex}.config-card-group-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.config-card-group-head .list-category-title{margin:0}.dashboard-config-list{flex-direction:column;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.dashboard-config-row{border:1px solid var(--card-border);background:color-mix(in srgb, var(--input) 55%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.45rem .55rem;display:flex}.dashboard-config-toggle{cursor:pointer;flex:1;align-items:center;gap:.5rem;min-width:10rem;display:flex}.dashboard-config-section{width:auto;min-width:9rem;max-width:14rem;margin-left:auto;padding:.35rem .5rem;font-size:.85rem}.dashboard-sections{width:100%}.dashboard-page .react-grid-layout{min-height:1px}.dashboard-page .react-grid-item{box-sizing:border-box}.dashboard-page .react-grid-item.dashboard-grid-item,.dashboard-page .react-grid-item>.dashboard-grid-item{width:100%;height:100%}.dashboard-grid-item{box-sizing:border-box;width:100%;height:100%;position:relative}.dashboard-stack{flex-direction:column;gap:.65rem;display:flex}.dashboard-stack-item{width:100%}.dashboard-stack-item .dashboard-card-shell,.dashboard-stack-item .card{height:auto;min-height:0}.dashboard-card-shell{box-sizing:border-box;flex-direction:column;justify-content:center;gap:.35rem;width:100%;height:100%;min-height:0;margin:0;padding:.55rem .7rem;display:flex;overflow:hidden}.dashboard-card-shell .card-head{align-items:center;gap:.5rem;min-width:0}.dashboard-card-shell .card-icon{flex-shrink:0;width:1.35rem;height:1.35rem;font-size:1.2rem}.dashboard-card-shell .card-icon:has(.card-icon-badge){width:1.5rem;height:1.5rem}.dashboard-card-shell .card-icon-img{width:1.2rem;height:1.2rem}.dashboard-card-shell .card-icon-badge{border-radius:.32rem;width:1.5rem;height:1.5rem;padding:.1rem}.dashboard-card-shell .card-title{font-size:.92rem;line-height:1.25}.dashboard-card-shell .card-desc{margin:.1rem 0 0;font-size:.78rem;line-height:1.25}.dashboard-card-shell .status-dot{margin-top:0}.dashboard-card-shell.is-compact{justify-content:center;gap:0;min-height:0;padding:.25rem .5rem}.dashboard-card-shell.is-compact .card-head{align-items:center;gap:.4rem;width:100%}.dashboard-card-shell.is-compact .card-icon{width:1.1rem;height:1.1rem;font-size:1rem;line-height:1}.dashboard-card-shell.is-compact .card-icon:has(.card-icon-badge){width:1.25rem;height:1.25rem}.dashboard-card-shell.is-compact .card-icon-img{width:1rem;height:1rem}.dashboard-card-shell.is-compact .card-icon-badge{border-radius:.28rem;width:1.25rem;height:1.25rem;padding:.08rem}.dashboard-card-shell.is-compact .card-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;font-weight:600;line-height:1.2;overflow:hidden}.dashboard-card-shell.is-compact .card-desc{display:none}.dashboard-grid-item .upcoming-card,.dashboard-card-shell.upcoming-card{box-sizing:border-box;width:100%;height:100%;margin:0}.upcoming-inline-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;padding:0 .15rem;font-size:.9rem;display:flex}.card-drag-handle{z-index:2;cursor:grab;color:var(--muted);background:var(--input);border:1px solid var(--card-border);-webkit-user-select:none;user-select:none;border-radius:4px;padding:.2rem .35rem;font-size:.85rem;line-height:1;position:absolute;top:.35rem;right:.45rem}.card-drag-handle:active{cursor:grabbing}.card-move-to{z-index:2;max-width:calc(100% - .8rem);position:absolute;bottom:.35rem;left:.4rem}.card-move-to select{max-width:100%;font:inherit;border:1px solid var(--card-border);background:var(--input);color:var(--text);border-radius:4px;padding:.2rem .35rem;font-size:.75rem}.dashboard-page.is-editing .react-grid-item.react-grid-placeholder{background:var(--accent);opacity:.15;border-radius:var(--radius)}.dashboard-page.is-editing .react-resizable-handle{opacity:1}.dashboard-page.is-editing .react-resizable-handle:after{border-color:var(--muted)}[data-theme=minimal] .card,[data-theme=minimal] .auth-card{-webkit-backdrop-filter:none;backdrop-filter:none}.household-spine{margin-bottom:1.25rem}.spine-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}@media (max-width:1100px){.spine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.spine-grid{grid-template-columns:1fr}}.spine-card{min-height:0;padding:.85rem 1rem}.spine-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.spine-head h2{margin:0;font-size:1rem}.spine-list{margin:0;padding:0;list-style:none}.spine-list li+li{margin-top:.35rem}.spine-list a{color:inherit;border-radius:6px;flex-direction:column;gap:.1rem;padding:.35rem .25rem;text-decoration:none;display:flex}.spine-list a:hover{background:var(--input)}.muted{color:var(--muted);font-size:.85rem}.notif-bell-wrap{position:relative}.notif-panel{z-index:40;width:min(22rem,90vw);max-height:22rem;padding:.75rem;position:absolute;top:calc(100% + .4rem);right:0;overflow:auto}.notif-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.notif-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.notif-dash-card .notif-list{max-height:16rem;overflow:auto}.notif-dash-actions{flex-wrap:wrap;gap:.35rem;display:flex}.notif-list{margin:0;padding:0;list-style:none}.notif-row{align-items:flex-start;gap:.25rem;display:flex}.notif-row .notif-item{flex:1;min-width:0}.notif-dismiss{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:.45rem .35rem;font-size:1.1rem;line-height:1}.notif-time{color:var(--muted);font-size:.75rem}.notif-settings{gap:.65rem;margin-top:.75rem;display:grid}.notif-settings-head,.notif-settings-row{grid-template-columns:minmax(0,1fr) 4.5rem 4.5rem 4.5rem;align-items:center;gap:.5rem;display:grid}.notif-settings-head{color:var(--muted);text-align:center;font-size:.75rem}.notif-settings-row .card-desc{display:block}.notif-switch{justify-content:center;display:flex}.notif-device{justify-items:start;gap:.4rem;margin-top:1rem;display:grid}@media (max-width:640px){.notif-settings-head,.notif-settings-row{grid-template-columns:minmax(0,1fr) 3.2rem 3.2rem 3.2rem}}.notif-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;border:none;border-bottom:1px solid var(--card-border);background:0 0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .35rem;display:flex}.notif-item:hover{background:var(--input)}.notif-item.unread .notif-title{font-weight:700}.notif-title{font-size:.9rem}.notif-body{color:var(--muted);font-size:.8rem}.chat-layout{grid-template-columns:minmax(12rem,16rem) 1fr;align-items:stretch;gap:1rem;min-height:28rem;display:grid}@media (max-width:800px){.chat-layout{grid-template-columns:1fr}}.chat-sidebar-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.chat-sidebar-head .panel-title{margin:0}.chat-create{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.chat-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);vertical-align:middle;margin-left:.35rem;font-size:.65rem;font-weight:600;display:inline-block}.chat-main{flex-direction:column;min-height:28rem;display:flex}.chat-channel-head{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding-bottom:.65rem;display:flex}.chat-messages{flex-direction:column;flex:1;gap:.75rem;max-height:60vh;padding-bottom:.75rem;display:flex;overflow-y:auto}.chat-msg-meta{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.15rem;display:flex}.chat-msg-actions{gap:.25rem;margin-left:auto;display:inline-flex}.chat-msg-body{white-space:pre-wrap;word-break:break-word;margin:0}.chat-edit-form{flex-direction:column;gap:.4rem;display:flex}.chat-edit-form textarea.input{resize:vertical;min-height:2.5rem}.chat-msg-mine .chat-msg-body{opacity:.95}.chat-compose{border-top:1px solid var(--card-border);align-items:flex-end;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.chat-compose .input,.chat-compose textarea.input{resize:vertical;flex:auto;min-width:0;min-height:2.75rem;max-height:8rem;line-height:1.4}.chat-compose .btn{white-space:nowrap;flex:none;align-self:flex-end;width:auto;padding:.55rem 1.1rem}.day-agenda{padding:1rem}.day-agenda .cal-day-list{margin-top:.5rem}.list-item-qty{flex:none;width:4.5rem;padding:.35rem .45rem;font-size:.85rem}.list-item-notes{flex:6rem;min-width:5rem;padding:.35rem .45rem;font-size:.85rem}.contacts-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.contacts-toolbar .input[type=search]{flex:14rem;min-width:10rem}.contacts-label-filter{flex:0 12rem;min-width:8rem}.contacts-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem;display:grid}.contact-card{flex-direction:column;gap:.65rem;padding:1rem 1.1rem;display:flex}.contact-card.is-self{border-color:color-mix(in srgb, var(--accent) 45%, var(--card-border))}.contact-card.is-editing{grid-column:1/-1}.contact-card-head{align-items:center;gap:.75rem;display:flex}.contact-avatar{letter-spacing:.02em;width:2.6rem;height:2.6rem;color:var(--text);background:color-mix(in srgb, var(--accent) 18%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--card-border));border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:650;display:grid}.contact-card-titles{min-width:0}.contact-name{margin:0;font-size:1.05rem;font-weight:650;line-height:1.25}.contact-labels{flex-wrap:wrap;gap:.35rem;display:flex}.contact-label-chip{background:color-mix(in srgb, var(--text) 8%, var(--card));border:1px solid var(--card-border);color:var(--muted);border-radius:.35rem;padding:.15rem .45rem;font-size:.72rem;font-weight:550}.contact-label-chip.is-global{background:color-mix(in srgb, var(--accent) 14%, var(--card));border-color:color-mix(in srgb, var(--accent) 30%, var(--card-border));color:var(--text)}.contact-group-pickers{margin-top:.35rem}.groups-sections{flex-direction:column;gap:1.75rem;margin-top:1.25rem;display:flex}.groups-section .panel-title{margin-bottom:.2rem}.groups-create{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.groups-create .input{flex:10rem;min-width:8rem}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem;margin-top:.75rem;display:grid}.group-card{flex-direction:column;gap:.65rem;padding:1rem 1.1rem;display:flex}.group-card.is-editing{grid-column:1/-1}.group-card.is-global{border-color:color-mix(in srgb, var(--accent) 40%, var(--card-border))}.group-card-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.group-card-titles{min-width:0}.group-card-name{margin:0;font-size:1.05rem;font-weight:650;line-height:1.25}.group-scope-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--card-border);color:var(--muted);background:color-mix(in srgb, var(--text) 6%, var(--card));border-radius:.3rem;flex:none;padding:.15rem .4rem;font-size:.68rem;font-weight:600}.group-scope-badge.is-global{background:color-mix(in srgb, var(--accent) 14%, var(--card));border-color:color-mix(in srgb, var(--accent) 30%, var(--card-border));color:var(--text)}.group-member-chips{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.group-card-edit{border-top:1px solid var(--card-border);flex-direction:column;gap:.65rem;padding-top:.35rem;display:flex}.profile-form{flex-direction:column;gap:1rem;display:flex}.profile-share-list{flex-direction:column;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.profile-share-row{cursor:pointer;align-items:flex-start;gap:.65rem;display:flex}.profile-share-row input{margin-top:.2rem}.profile-share-row span{flex-direction:column;gap:.1rem;display:flex}.profile-share-row .card-desc{margin:0}a.chip.app-header-user{color:inherit;text-decoration:none}a.chip.app-header-user:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--card-border))}.contact-facts{grid-template-columns:auto 1fr;gap:.2rem .65rem;margin:0;font-size:.88rem;display:grid}.contact-facts dt{color:var(--muted);margin:0;font-weight:550}.contact-facts dd{word-break:break-word;margin:0}.contact-notes{white-space:pre-wrap}.contact-groups-line{margin:0}.contact-edit{border-top:1px solid var(--card-border);flex-direction:column;gap:.65rem;padding-top:.35rem;display:flex}.contact-scope-toggle{cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.contacts-edit-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.65rem;display:grid}.games-app-grid{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));gap:1.15rem .85rem;max-width:36rem;margin:.75rem 0 1.5rem;padding:0;list-style:none;display:grid}.games-app{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.45rem;padding:0;text-decoration:none;display:flex}.games-app-icon{width:4rem;height:4rem;color:var(--text);background:linear-gradient(160deg, color-mix(in srgb, var(--card) 70%, #fff 8%) 0%, color-mix(in srgb, var(--card) 85%, #000 15%) 100%);border-radius:.85rem;place-items:center;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:inset 0 1px #ffffff24,0 2px 6px #00000038}.games-app:hover .games-app-icon,.games-app:focus-visible .games-app-icon{box-shadow:inset 0 1px 0 #ffffff38, 0 3px 10px color-mix(in srgb, var(--accent) 25%, transparent), 0 2px 6px #00000040;transform:scale(1.05)}.games-app-glyph{width:1.85rem;height:1.85rem}.games-app-name{text-align:center;font-size:.8rem;font-weight:600;line-height:1.2}.games-play{max-width:28rem;margin:.25rem 0 1.5rem}.games-play-tetris{max-width:32rem}.games-play-sudoku{max-width:26rem}.games-play-slider{max-width:28rem}.slider-toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.55rem 0 .75rem;display:flex}.slider-size{align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.slider-select{width:auto;padding:.35rem .55rem}.slider-moves{font-variant-numeric:tabular-nums;margin-left:auto;font-size:.9rem;font-weight:650}.slider-board{--gap:.35rem;width:100%;aspect-ratio:var(--cols) / var(--rows);background:color-mix(in srgb, var(--input) 82%, #000);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--panel-edge);position:relative}.slider-tile{width:calc((100% - (var(--cols) + 1) * var(--gap)) / var(--cols));height:calc((100% - (var(--rows) + 1) * var(--gap)) / var(--rows));left:calc((var(--c) + 1) * var(--gap) + var(--c) * (100% - (var(--cols) + 1) * var(--gap)) / var(--cols));top:calc((var(--r) + 1) * var(--gap) + var(--r) * (100% - (var(--rows) + 1) * var(--gap)) / var(--rows));border:1px solid var(--card-border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;font-size:clamp(.85rem,4.5vw,1.45rem);font-weight:720;transition:left .16s,top .16s;position:absolute;box-shadow:inset 0 1px #ffffff1f}.slider-tile.is-ready{border-color:color-mix(in srgb, var(--accent) 40%, var(--card-border))}.slider-tile:hover{background:color-mix(in srgb, var(--accent) 10%, var(--card))}.slider-overlay{z-index:2;text-align:center;background:color-mix(in srgb, var(--bg) 78%, transparent);border-radius:inherit;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1rem;display:flex;position:absolute;inset:0}.slider-win-score{color:var(--muted);margin:0;font-size:.9rem}.slider-hint{margin-top:.75rem}@media (prefers-reduced-motion:reduce){.slider-tile{transition:none}}.games-play-minesweeper{max-width:min(100%,42rem)}.ms-toolbar{margin:.55rem 0 .65rem}.ms-diffs{flex-wrap:wrap;gap:.35rem;display:flex}.ms-hud{border:1px solid var(--card-border);background:color-mix(in srgb, var(--input) 55%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;padding:.35rem .5rem;display:flex}.ms-hud-stat{font-variant-numeric:tabular-nums;min-width:4.5rem;font-size:.95rem;font-weight:650}.ms-face{border:1px solid var(--card-border);background:var(--input);cursor:pointer;border-radius:8px;width:2.4rem;height:2.4rem;padding:0;font-size:1.35rem;line-height:1}.ms-face:active{transform:translateY(1px)}.ms-board-wrap{width:100%;position:relative;overflow-x:auto}.ms-board{-webkit-user-select:none;user-select:none;touch-action:manipulation;gap:2px;width:100%;margin:0 auto;display:grid}.ms-board-expert .ms-board{min-width:28rem}.ms-cell{aspect-ratio:1;font:inherit;cursor:pointer;border:none;border-radius:3px;justify-content:center;align-items:center;min-width:0;padding:0;font-size:clamp(.7rem,2.4vw,.95rem);font-weight:750;line-height:1;display:flex}.ms-cell-closed{background:color-mix(in srgb, var(--accent) 22%, var(--input));box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0003}.ms-cell-closed:active{background:color-mix(in srgb, var(--accent) 12%, var(--input))}.ms-cell-open{background:color-mix(in srgb, var(--card) 70%, var(--input));cursor:default}.ms-cell-flag{background:color-mix(in srgb, var(--warn,#fbbf24) 25%, var(--input))}.ms-cell-mine{background:color-mix(in srgb, var(--bad) 35%, var(--input))}.ms-n1{color:#60a5fa}.ms-n2{color:#4ade80}.ms-n3{color:#f87171}.ms-n4{color:#a78bfa}.ms-n5{color:#fb923c}.ms-n6{color:#22d3ee}.ms-n7{color:var(--text)}.ms-n8{color:var(--muted)}.ms-overlay{z-index:2;background:color-mix(in srgb, var(--card) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1rem;display:flex;position:absolute;inset:0}.ms-win-score{margin:0;font-size:1.15rem;font-weight:700}.ms-status{margin:.55rem 0 0;font-size:.9rem}.ms-hint{margin:.4rem 0 0}.sudoku-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:.65rem 0 .75rem;display:flex}.sudoku-diffs{flex-wrap:wrap;gap:.35rem;display:flex}.sudoku-board-wrap{aspect-ratio:1;width:100%;margin:0 auto;position:relative}.sudoku-board{border:2px solid var(--text);background:var(--card);border-radius:6px;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);width:100%;height:100%;display:grid;overflow:hidden}.sudoku-cell{border:0;border-right:1px solid color-mix(in srgb, var(--card-border) 80%, transparent);border-bottom:1px solid color-mix(in srgb, var(--card-border) 80%, transparent);color:var(--text);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:flex;position:relative}.sudoku-cell-box-l{border-left:2px solid var(--text)}.sudoku-cell-box-t{border-top:2px solid var(--text)}.sudoku-cell-box-r{border-right:2px solid var(--text)}.sudoku-cell-box-b{border-bottom:2px solid var(--text)}.sudoku-cell-given .sudoku-digit{font-weight:750}.sudoku-cell-selected{background:color-mix(in srgb, var(--accent) 28%, transparent)}.sudoku-cell-band{background:color-mix(in srgb, var(--accent) 10%, transparent)}.sudoku-cell-same{background:color-mix(in srgb, var(--accent) 18%, transparent)}.sudoku-cell-conflict .sudoku-digit{color:var(--bad)}.sudoku-digit{font-size:clamp(.95rem,4.2vw,1.35rem);font-weight:600;line-height:1}.sudoku-notes{width:92%;height:92%;color:var(--muted);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);font-size:clamp(.45rem,1.8vw,.62rem);line-height:1;display:grid}.sudoku-note{justify-content:center;align-items:center;display:flex}.sudoku-pad{grid-template-columns:repeat(5,1fr);gap:.35rem;margin-top:.85rem;display:grid}.sudoku-pad-btn{width:100%;min-height:2.4rem}.sudoku-actions{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.sudoku-status{margin:.55rem 0 0;font-size:.9rem}.sudoku-hint{margin:.4rem 0 0}.sudoku-overlay{z-index:2;background:color-mix(in srgb, var(--card) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex;position:absolute;inset:0}.sudoku-win-score{margin:0;font-size:1.15rem;font-weight:700}.tetris-toolbar{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.65rem;display:flex}.tetris-toolbar-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.tetris-levels{flex-wrap:wrap;gap:.3rem;display:flex}.tetris-layout{justify-content:center;align-items:flex-start;gap:.85rem;display:flex}.tetris-board-wrap{flex:none;width:min(100%,15rem)}.tetris-side{flex-direction:column;gap:.75rem;min-width:4.75rem;padding-top:.15rem;display:flex}.tetris-meta-label{color:var(--muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.tetris-meta-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.tetris-next{border:1px solid var(--card-border);background:#0f172a;border-radius:.65rem;width:4.5rem;height:4.5rem;display:block}.tetris-pad .tetris-pad-wide{grid-column:span 2;width:auto;min-width:6.35rem}@media (max-width:420px){.tetris-layout{flex-wrap:wrap;justify-content:center}.tetris-side{flex-direction:row;justify-content:space-around;align-items:center;width:100%}}.game-stage{flex-direction:column;gap:.75rem;display:flex}.game-stage-bar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.game-stage-bar .btn{width:auto}.game-stage-title{font-weight:700}.game-stage-scores{flex-direction:column;align-items:flex-end;font-size:.85rem;line-height:1.2;display:flex}.snake-board-wrap{touch-action:none;-webkit-user-select:none;user-select:none;width:min(100%,22rem);margin:0 auto;position:relative}.snake-canvas{border:1px solid var(--card-border);background:#0f172a;border-radius:.85rem;width:100%;height:auto;display:block}.snake-overlay{color:#f8fafc;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;font-weight:600;display:flex;position:absolute;inset:0}.snake-overlay .btn{pointer-events:auto;width:auto}.snake-pad{justify-items:center;gap:.35rem;margin-top:.25rem;display:grid}.snake-pad-mid{grid-template-columns:repeat(3,3rem);gap:.35rem;display:grid}.snake-pad-btn{border:1px solid var(--card-border);background:var(--card);width:3rem;height:3rem;color:var(--text);cursor:pointer;border-radius:.85rem;font-size:1.15rem;font-weight:700}.snake-pad-btn:active{opacity:.85}.asteroids-board-wrap{width:min(100%,32rem)}.asteroids-controls{touch-action:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;width:min(100%,32rem);margin:.15rem auto 0;display:grid}.asteroids-pad-btn{width:100%;height:3rem;font-size:1rem}.asteroids-fire{grid-column:1/-1}.games-play-pacman{max-width:32rem}.games-play-ski,.games-play-dos{width:100%;max-width:none}.skifree-frame,.dos-player{border:0;border-radius:.75rem;width:100%;height:calc(100dvh - 9rem);min-height:28rem;display:block;overflow:hidden}.skifree-frame{background:#fff}.dos-player{background:#111;flex-shrink:0;position:relative}.dos-player>div{inset:0;width:auto!important;height:auto!important;position:absolute!important}.dos-player canvas{max-width:none}.dos-catalog-title{margin:0;font-size:1.35rem}.dos-catalog{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;max-width:52rem;margin:.5rem 0 1.5rem;padding:0;list-style:none;display:grid}.dos-card{min-height:7.5rem;color:var(--text);background:linear-gradient(160deg, color-mix(in srgb, var(--card) 70%, #fff 8%) 0%, color-mix(in srgb, var(--card) 85%, #000 15%) 100%);border-radius:.85rem;flex-direction:column;gap:.35rem;padding:.9rem 1rem;text-decoration:none;display:flex;box-shadow:inset 0 1px #ffffff24,0 2px 6px #00000038}.dos-card:hover,.dos-card:focus-visible{box-shadow:inset 0 1px 0 #ffffff38, 0 3px 10px color-mix(in srgb, var(--accent) 25%, transparent), 0 2px 6px #00000040}.dos-card-title{font-weight:700}.dos-card-blurb{color:var(--muted,color-mix(in srgb, var(--text) 70%, transparent));font-size:.9rem;line-height:1.35}.dos-card-license,.dos-play-license{letter-spacing:.02em;text-transform:uppercase;opacity:.7;font-size:.75rem;font-weight:600}.dos-save-status{text-align:right;opacity:.75;margin:-.35rem 0 0;font-size:.8rem}@media (max-width:640px){.skifree-frame,.dos-player{height:calc(100dvh - 12rem);min-height:22rem}}.pacman-board-wrap{width:min(100%,26rem)}.pacman-board-wrap .snake-canvas{background:#000}.snake-leaders{margin-top:1.25rem}.snake-leaders-title{margin:0 0 .5rem;font-size:.95rem;font-weight:700}.snake-leaders-empty{margin:0;font-size:.85rem}.snake-leaders-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.snake-leaders-row{grid-template-columns:1.5rem 1fr auto;align-items:center;gap:.5rem;font-size:.9rem;display:grid}.snake-leaders-rank{color:var(--muted);font-variant-numeric:tabular-nums}.snake-leaders-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.snake-leaders-score{font-variant-numeric:tabular-nums;font-weight:700}.games-play-freecell{max-width:42rem}.games-play-solitaire{max-width:40rem}.games-play-hearts{max-width:52rem}@media (max-width:860px){.fc-board{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.games-play-freecell,.games-play-solitaire,.games-play-hearts{max-width:100%}}.kl-board{width:100%}.kl-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;display:flex}.kl-stock-waste{grid-template-columns:repeat(2, var(--fc-card-w));gap:.35rem;display:grid}.kl-tableau{grid-template-columns:repeat(7, var(--fc-card-w));gap:.35rem;width:100%;display:grid}.kl-card-back{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--accent) 22%, transparent), color-mix(in srgb, var(--accent) 22%, transparent) 4px, color-mix(in srgb, var(--card) 80%, #1e293b 20%) 4px, color-mix(in srgb, var(--card) 80%, #1e293b 20%) 8px);border:1px solid color-mix(in srgb, var(--text) 18%, transparent)}@media (max-width:520px){.kl-board{--fc-card-w:3.15rem;--fc-card-h:4.4rem;--fc-stack-peek:1.15rem}}.fc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.fc-toolbar-actions{flex-wrap:wrap;gap:.35rem;display:flex}.fc-flash{color:var(--accent);margin:0;font-size:.85rem;font-weight:600}.fc-board{--fc-card-w:3.85rem;--fc-card-h:5.4rem;--fc-stack-peek:1.35rem;border:1px solid var(--card-border);background:color-mix(in srgb, var(--card) 88%, #0f172a 12%);border-radius:.85rem;flex-direction:column;align-items:flex-start;gap:.85rem;padding:.75rem;display:flex}.fc-top{flex-wrap:wrap;justify-content:flex-start;gap:1.25rem;width:100%;display:flex}.fc-freecells,.fc-foundations{grid-template-columns:repeat(4, var(--fc-card-w));gap:.35rem;display:grid}.fc-slot{width:var(--fc-card-w);height:var(--fc-card-h);border:1px dashed color-mix(in srgb, var(--text) 22%, transparent);background:color-mix(in srgb, var(--card) 70%, transparent);cursor:pointer;color:inherit;border-radius:.45rem;padding:0;position:relative}.fc-slot.is-selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 70%, transparent)}.fc-slot-ghost{opacity:.28;place-items:center;height:100%;font-size:.95rem;font-weight:700;display:grid}.fc-cascades{grid-template-columns:repeat(8, var(--fc-card-w));justify-content:start;gap:.4rem;display:grid}.fc-cascade{width:var(--fc-card-w);min-height:calc(var(--fc-card-h) + 6 * var(--fc-stack-peek));position:relative}.fc-slot-empty{width:var(--fc-card-w);height:var(--fc-card-h)}.fc-cascade-card{width:var(--fc-card-w);height:var(--fc-card-h);cursor:pointer;margin-top:calc(var(--fc-stack-peek) - var(--fc-card-h));background:0 0;border:0;padding:0;display:block;position:relative}.fc-cascade-card:first-child{margin-top:0}.fc-card{width:var(--fc-card-w);height:var(--fc-card-h);border:1px solid color-mix(in srgb, var(--text) 18%, transparent);background:linear-gradient(165deg, color-mix(in srgb, var(--card) 40%, #fff 60%) 0%, color-mix(in srgb, var(--card) 55%, #f8fafc 45%) 100%);color:#0f172a;border-radius:.4rem;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000002e}.fc-card.is-red{color:#b91c1c}.fc-card.is-selected{outline:2px solid color-mix(in srgb, var(--accent) 80%, #fff);outline-offset:1px}.fc-card-rank{font-size:.9rem;font-weight:800;line-height:1;position:absolute;top:.12rem;left:.2rem}.fc-card-suit-corner{font-size:.9rem;font-weight:700;line-height:1;position:absolute;top:.1rem;right:.18rem}.fc-card-suit{place-items:center;font-size:1.35rem;font-weight:700;display:grid;position:absolute;inset:0}.fc-help{margin:.25rem 0 0;font-size:.8rem}.fc-win{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.fc-win p{margin:0;font-weight:600}@media (max-width:420px){.fc-board{--fc-card-w:3.15rem;--fc-card-h:4.4rem;--fc-stack-peek:1.15rem;gap:.65rem;padding:.55rem}.fc-cascades,.fc-freecells,.fc-foundations{gap:.25rem}.fc-card-rank,.fc-card-suit-corner{font-size:.8rem}.fc-card-suit{font-size:1.15rem}}.home-pins-panel{flex-direction:column;gap:1rem;margin-bottom:.25rem;display:flex}.home-pins-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.82rem;font-weight:650}.home-pins-list{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.35rem .75rem;margin:0;padding:0;list-style:none;display:grid}.home-pin-row{cursor:pointer;align-items:center;gap:.45rem;min-width:0;font-size:.88rem;display:flex}.home-pin-row .muted{color:var(--muted);opacity:.85;white-space:nowrap;margin-left:auto;font-size:.72rem}.home-shortcut-grid,.catalog-card-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.55rem;display:grid}.catalog-card-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.home-feature-section{margin-top:.25rem}.home-feature-body{min-width:0}.home-feature-split{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem 1.25rem;display:grid}.home-feature-subhead{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .45rem;font-size:.78rem;font-weight:650}.home-feature-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.home-feature-list-compact{gap:.25rem}.home-feature-row{color:inherit;background:color-mix(in srgb, var(--text) 4%, transparent);border:1px solid color-mix(in srgb, var(--text) 8%, transparent);border-radius:.45rem;flex-direction:column;gap:.1rem;padding:.45rem .55rem;text-decoration:none;display:flex}.home-feature-row.is-inline{flex-direction:row;align-items:baseline;gap:.55rem;padding:.35rem .5rem}.home-feature-row:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.home-feature-emoji{flex-shrink:0;line-height:1.2}.home-feature-when{min-width:6.5rem;color:var(--muted);flex-shrink:0;font-size:.78rem;line-height:1.3}.home-feature-title{min-width:0;font-size:.9rem;font-weight:600;line-height:1.3}.home-feature-row.is-inline .home-feature-title{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:550;overflow:hidden}.home-feature-meta{color:var(--muted);font-size:.78rem;line-height:1.3}.news-page{max-width:52rem}.news-error{color:#f87171;margin:0 0 .75rem;font-size:.9rem}.news-toolbar{flex-direction:column;gap:.75rem;margin:0 0 1.25rem;display:flex}.news-chips{flex-wrap:wrap;gap:.4rem;display:flex}.news-chip{appearance:none;border:1px solid color-mix(in srgb, var(--text) 14%, transparent);background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:550;line-height:1.2}.news-chip:hover{background:color-mix(in srgb, var(--text) 10%, transparent)}.news-chip.is-active{background:var(--text);color:var(--bg,#111);border-color:#0000}[data-theme=light] .news-chip.is-active{color:#fff}.news-more{grid-template-columns:1fr minmax(10rem,14rem);gap:.5rem;display:grid}.news-search,.news-select{width:100%;font-size:.88rem}.news-meta{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin:0 0 .85rem;display:flex}.news-category-title{margin:0;font-size:1.15rem;font-weight:650}.news-story-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.news-story{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:color-mix(in srgb, var(--text) 3%, var(--panel-face,transparent));border-radius:.65rem;overflow:hidden}.news-story-head{text-align:left;appearance:none;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:.65rem;padding:.85rem .9rem;display:flex}.news-story-head:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.news-story-emoji{flex-shrink:0;font-size:1.25rem;line-height:1.3}.news-story-text{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.news-story-title{font-size:.98rem;font-weight:650;line-height:1.35}.news-story-topic{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.news-story-teaser{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;line-height:1.4;display:-webkit-box;overflow:hidden}.news-story-chevron{color:var(--muted);flex-shrink:0;margin-top:.15rem;font-size:.85rem}.news-story-body{flex-direction:column;gap:.75rem;padding:0 .9rem .95rem 3rem;display:flex}.news-story-image{object-fit:cover;border-radius:.45rem;width:100%;max-height:14rem}.news-summary{white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.5}.news-points{color:color-mix(in srgb, var(--text) 88%, var(--muted));margin:0;padding-left:1.1rem;font-size:.86rem;line-height:1.45}.news-points li+li{margin-top:.35rem}.news-quote{border-left:3px solid color-mix(in srgb, var(--text) 28%, transparent);background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:0 .4rem .4rem 0;margin:0;padding:.65rem .85rem;font-size:.88rem;line-height:1.45}.news-quote p{margin:0}.news-quote cite{color:var(--muted);margin-top:.4rem;font-size:.8rem;font-style:normal;display:block}.news-sources-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .35rem;font-size:.75rem}.news-sources ul{flex-wrap:wrap;gap:.35rem .65rem;margin:0;padding:0;list-style:none;display:flex}.news-sources a{color:var(--text);text-underline-offset:2px;opacity:.9;font-size:.82rem;text-decoration:underline}.news-story-links{margin:0;font-size:.82rem}.news-story-links a{color:var(--muted)}.news-attribution{color:var(--muted);margin:1.5rem 0 0;font-size:.78rem}.news-attribution a{color:var(--muted);text-underline-offset:2px;text-decoration:underline}@media (max-width:640px){.news-more{grid-template-columns:1fr}.news-story-body{padding-left:.9rem}}.quickstart-backdrop{z-index:80}.quickstart-modal{width:min(100%,26rem);padding:1.25rem 1.35rem 1.15rem}.quickstart-progress{gap:.35rem;margin-bottom:.85rem;display:flex}.quickstart-dot{background:color-mix(in srgb, var(--muted) 35%, transparent);border-radius:999px;flex:1;height:3px;transition:background .2s}.quickstart-dot.is-done{background:color-mix(in srgb, var(--accent) 55%, transparent)}.quickstart-dot.is-active{background:var(--accent)}.quickstart-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.75rem}.quickstart-title{margin:0 0 .55rem}.quickstart-body{color:var(--text);margin:0;font-size:.95rem;line-height:1.45}.quickstart-tips{color:var(--muted);margin:.75rem 0 0;padding-left:1.15rem;font-size:.88rem;line-height:1.4}.quickstart-tips li+li{margin-top:.3rem}.quickstart-actions{justify-content:space-between;align-items:center;margin-top:1.25rem}.quickstart-actions-right{gap:.5rem;display:flex}.dashboard-card-shell.is-abs-expanded{box-sizing:border-box;flex-direction:column;gap:.4rem;width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}.abs-card-open{color:inherit;flex-shrink:0;align-self:stretch;text-decoration:none}.abs-card-open:hover .card-title{text-underline-offset:2px;text-decoration:underline}.abs-widget{flex-direction:column;flex:1;gap:.35rem;width:100%;max-width:100%;min-height:0;display:flex;overflow:hidden}.abs-widget-head{flex-shrink:0;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.abs-widget-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.abs-widget-user{color:var(--muted);font-size:.72rem}.abs-widget-error{color:color-mix(in srgb, #f87171 80%, var(--text))}.abs-stat-rows{flex-direction:column;flex-shrink:0;align-self:stretch;gap:.3rem;min-width:0;display:flex}.abs-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;display:grid}.abs-stat-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.abs-stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.abs-stat{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--card-border) 80%, transparent);text-align:center;border-radius:7px;flex-direction:column;gap:.05rem;min-width:0;padding:.3rem .2rem;display:flex}.abs-stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:650;overflow:hidden}.abs-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.58rem;line-height:1.15}.abs-section{flex-direction:column;gap:.25rem;min-width:0;display:flex}.abs-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem}.abs-heat{flex-direction:column;flex-shrink:0;gap:.3rem;min-width:0;display:flex}.abs-heat-wrap{align-items:flex-end;gap:.35rem;width:fit-content;max-width:100%;padding-bottom:.1rem;display:flex;overflow:visible}.abs-heat-daylabels{flex-shrink:0;grid-template-rows:repeat(7,10px);gap:2px;padding-top:14px;display:grid}.abs-heat-daylabel{color:var(--muted);text-align:right;width:1.35rem;font-size:.55rem;line-height:10px}.abs-heat-main{flex-direction:column;gap:2px;width:fit-content;min-width:0;display:flex}.abs-heat-months{gap:2px;height:12px;display:grid;position:relative}.abs-heat-month{color:var(--muted);white-space:nowrap;font-size:.55rem;line-height:12px}.abs-heat-grid{grid-template-rows:repeat(7,10px);gap:2px;width:fit-content;display:grid}.abs-heat-cell{box-sizing:border-box;outline:1px solid color-mix(in srgb, var(--muted) 18%, transparent);outline-offset:-1px;border-radius:2px;width:10px;height:10px}.abs-heat-l0{background:color-mix(in srgb, var(--muted) 22%, var(--card))}.abs-heat-l1{background:#0e4429;outline-color:#ffffff14}.abs-heat-l2{background:#006d32;outline-color:#ffffff14}.abs-heat-l3{background:#26a641;outline-color:#ffffff14}.abs-heat-l4{background:#39d353;outline-color:#ffffff14}.abs-heat-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:.25rem;font-size:.6rem;display:flex}.abs-heat-legend .abs-heat-cell{flex-shrink:0}.abs-widget-list{flex-direction:column;gap:.25rem;min-height:0;margin:0;padding:0;list-style:none;display:flex}.abs-widget-item{color:inherit;background:color-mix(in srgb, var(--accent) 6%, transparent);border:1px solid color-mix(in srgb, var(--card-border) 80%, transparent);border-radius:7px;align-items:center;gap:.45rem;padding:.25rem .35rem;text-decoration:none;display:flex}.abs-widget-item:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--card-border))}.abs-widget-cover{object-fit:cover;background:var(--input);border-radius:5px;flex-shrink:0;width:28px;height:28px}.abs-widget-cover-empty{display:block}.abs-widget-meta{flex:1;grid-template-columns:1fr auto;grid-template-areas:"title pct""sub pct";align-items:center;gap:0 .4rem;min-width:0;display:grid}.abs-widget-meta-stats .abs-widget-pct{align-self:center}.abs-widget-title{white-space:nowrap;text-overflow:ellipsis;grid-area:title;font-size:.78rem;font-weight:600;overflow:hidden}.abs-widget-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-area:sub;font-size:.68rem;overflow:hidden}.abs-widget-pct{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:pct;font-size:.68rem}.abs-config-status{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.abs-config-form .field{margin-bottom:.75rem}@media (max-width:640px){.abs-stat-grid,.abs-stat-grid-4,.abs-stat-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}:is(.games-page:has(.hearts-stage),.games-play:has(.hearts-stage)){width:100%;max-width:52rem}.h-card{box-sizing:border-box;color:#0f172a;background:linear-gradient(#fff 0%,#eef2f6 100%);border:1px solid #0f172a33;border-radius:.45rem;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:.28rem .32rem .4rem;line-height:1;display:flex;box-shadow:0 2px 5px #0000002e}.h-card.is-red{color:#b91c1c}.h-card-corner{flex-direction:column;align-items:flex-start;gap:.08rem;font-weight:800;display:flex}.h-card-rank{font-size:1rem}.h-card-mini{font-size:.85rem}.h-card-pip{align-self:center;font-size:1.55rem;font-weight:700}.hearts-table{border:1px solid var(--card-border);border-radius:var(--radius);background:color-mix(in srgb, var(--card) 82%, #000);box-shadow:var(--shadow);grid-template-rows:auto auto;grid-template-columns:4.6rem minmax(0,1fr) 4.6rem;gap:.55rem .4rem;margin-top:.35rem;padding:.85rem .7rem .7rem;display:grid;position:relative}.hearts-pos-north{grid-area:1/1/auto/-1}.hearts-pos-west{grid-area:2/1}.hearts-middle{grid-area:2/2}.hearts-pos-east{grid-area:2/3}.hearts-pos{flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-width:0;max-width:100%;display:flex;overflow:hidden}.hearts-who{color:var(--muted);font-size:.78rem}.hearts-pos.is-turn .hearts-who{color:var(--text)}.hearts-backs.is-row{flex-direction:row;justify-content:center;height:2.6rem;display:flex}.hearts-backs.is-col{flex-direction:column;justify-content:flex-start;align-items:center;height:13.2rem;display:flex}.hearts-back{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--text) 22%, var(--card-border));background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 22%, var(--card)) 0 3px, color-mix(in srgb, var(--bg) 70%, var(--card)) 3px 6px);border-radius:.22rem;flex:none;box-shadow:0 1px 2px #00000040}.hearts-backs.is-row .hearts-back{width:1.85rem;height:2.6rem;margin-left:-1.2rem}.hearts-backs.is-row .hearts-back:first-child{margin-left:0}.hearts-backs.is-col .hearts-back{width:2.15rem;height:3rem;margin-top:-2.15rem}.hearts-backs.is-col .hearts-back:first-child{margin-top:0}.hearts-middle{flex-direction:column;justify-content:flex-start;align-items:center;gap:.55rem;min-width:0;display:flex}.hearts-stage-slot{flex:none;place-items:center;width:10.65rem;height:14.7rem;display:grid}.hearts-arrow{border:1px solid var(--card-border);background:color-mix(in srgb, var(--accent) 14%, var(--card));width:4.6rem;height:4.6rem;color:var(--text);cursor:pointer;border-radius:999px;padding:.85rem}.hearts-arrow svg{width:100%;height:100%;display:block}.hearts-arrow.is-dir-0 svg{transform:rotate(180deg)}.hearts-arrow.is-dir-2 svg{transform:rotate(-90deg)}.hearts-arrow:disabled{opacity:.35;cursor:default}.hearts-cross{grid-template-columns:3.35rem 3.35rem 3.35rem;grid-template-areas:".n.""w.e"".s.";justify-items:center;gap:.3rem;display:grid}.hearts-cross-slot.is-n{grid-area:n}.hearts-cross-slot.is-w{grid-area:w}.hearts-cross-slot.is-e{grid-area:e}.hearts-cross-slot.is-s{grid-area:s}.hearts-cross-slot .h-card,.hearts-cross-empty{width:3.35rem;height:4.7rem}.hearts-cross-empty{box-sizing:border-box;display:block}.hearts-banner{box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--card-border);background:var(--card);width:100%;max-width:28rem;height:3.4rem;color:var(--text);text-align:center;justify-content:center;align-items:center;margin:0;padding:.35rem .7rem;font-size:.86rem;line-height:1.3;display:flex;overflow:hidden}.hearts-lasthand{box-sizing:border-box;width:100%;height:1.15rem;color:var(--muted);text-align:center;margin:0;font-size:.78rem;line-height:1.15rem;overflow:hidden}.hearts-tray{border-radius:var(--radius);border:1px solid var(--card-border);background:color-mix(in srgb, var(--text) 5%, var(--card));width:100%;padding:.5rem .45rem .4rem;overflow:hidden}.hearts-hand{justify-content:center;align-items:flex-end;width:max-content;min-width:100%;margin:0 auto;display:flex}.hearts-hand-card{cursor:pointer;background:0 0;border:0;flex:none;align-items:flex-end;width:3.7rem;height:6.25rem;margin-left:-2.35rem;padding:0;display:flex;position:relative}.hearts-hand-card.is-gap{cursor:default}.hearts-hand-card .h-card{flex:none;width:100%;height:5.2rem}.hearts-hand-card:first-child{margin-left:0}.hearts-hand-card.is-selected .h-card{outline:2px solid var(--text);outline-offset:1px;transform:translateY(-1.05rem)}.hearts-foot{grid-area:3/1/auto/-1;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.hearts-youline{align-items:baseline;gap:.55rem;padding-bottom:.15rem;display:flex}.hearts-you{font-weight:700}.hearts-you-pts{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.hearts-totals{border-collapse:collapse;background:var(--card);color:var(--text);font-size:.72rem}.hearts-totals caption{caption-side:top;border:1px solid var(--card-border);text-align:center;color:var(--muted);border-bottom:0;padding:.2rem .35rem}.hearts-totals th,.hearts-totals td{border:1px solid var(--card-border);text-align:center;font-variant-numeric:tabular-nums;padding:.18rem .42rem;font-weight:600}.hearts-totals td.is-turn{background:color-mix(in srgb, var(--accent) 16%, var(--card))}.hearts-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.hearts-win-score{margin:0;font-weight:700}@media (max-width:720px){.hearts-table{grid-template-columns:2.35rem minmax(0,1fr) 2.35rem;gap:.35rem .25rem;padding:.5rem .4rem .45rem}.hearts-middle{display:contents}.hearts-stage-slot{grid-area:2/2;align-self:center;width:100%;height:auto}.hearts-banner{grid-area:3/1/auto/-1;max-width:none;height:auto;min-height:2.4rem;padding:.4rem .55rem;overflow:visible}.hearts-lasthand{grid-area:4/1/auto/-1;height:auto;min-height:1.15rem;line-height:1.3;overflow:visible}.hearts-tray{grid-area:5/1/auto/-1;padding:.85rem .2rem .35rem;overflow:visible;container-type:inline-size}.hearts-foot{flex-direction:column;grid-row:6;align-items:stretch;gap:.4rem}.hearts-totals{width:100%}.hearts-who{font-size:.68rem}.hearts-backs.is-row{height:1.65rem}.hearts-backs.is-row .hearts-back{width:1.15rem;height:1.65rem;margin-left:-.78rem}.hearts-backs.is-col{height:6.7rem}.hearts-backs.is-col .hearts-back{width:1.4rem;height:1.65rem;margin-top:-1.24rem}.hearts-arrow{width:3.4rem;height:3.4rem;padding:.65rem}.hearts-cross{grid-template-columns:2.45rem 2.45rem 2.45rem;gap:.2rem;width:max-content;max-width:100%}.hearts-cross-slot .h-card,.hearts-cross-empty{width:2.45rem;height:3.4rem}.hearts-cross-empty{border:1px dashed color-mix(in srgb, var(--text) 28%, transparent);border-radius:.35rem}.hearts-hand{justify-content:flex-start;width:100%;min-width:0}.hearts-hand-card{--card-w:min(2.7rem, 20cqi);width:var(--card-w);flex-basis:var(--card-w);height:calc(var(--card-w) * 1.55);margin-left:calc((100cqi - var(--card-w)) / 12 - var(--card-w));touch-action:manipulation}.hearts-hand-card:first-child{margin-left:0}.hearts-hand-card .h-card{height:calc(var(--card-w) * 1.38);justify-content:flex-start;padding:.16rem .12rem}.hearts-hand-card .h-card-pip{display:none}.hearts-hand-card .h-card-rank{font-size:.95rem}.hearts-hand-card.is-selected .h-card{transform:translateY(-.65rem)}.hearts-cross .h-card-rank{font-size:.72rem}.hearts-cross .h-card-pip{font-size:.95rem}.hearts-stage .fc-help{font-size:.82rem}}.vehicle-page{flex-direction:column;gap:1rem;display:flex}.vehicle-header{flex-direction:column;gap:.85rem;display:flex}.vehicle-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.vehicle-select-field{flex:14rem;margin-bottom:0}.vehicle-toolbar-actions{flex-wrap:wrap;gap:.45rem;display:flex}.vehicle-toolbar-actions .btn{width:auto}.vehicle-meta{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.vehicle-meta-row{align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.vehicle-meta-row .vehicle-meta{margin:0}.vehicle-icon-picker{flex-direction:column;gap:.75rem;margin:.25rem 0 1rem;display:flex}.vehicle-icon-picker-label{color:var(--muted);font-size:.85rem}.vehicle-icon-kind-row{flex-wrap:wrap;gap:.5rem;display:flex}.vehicle-icon-choice{border:1px solid var(--card-border);background:color-mix(in srgb, var(--card) 88%, var(--bg));width:auto;min-width:4.5rem;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;padding:.45rem .6rem;font-size:.8rem;display:inline-flex}.vehicle-icon-choice.is-active{border-color:var(--accent,#3b82f6);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent,#3b82f6) 55%, transparent)}.vehicle-icon-color-row{flex-wrap:wrap;gap:.4rem;display:flex}.vehicle-icon-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:1.5rem;height:1.5rem;padding:0}.vehicle-icon-swatch.is-active{border-color:var(--text);outline:2px solid color-mix(in srgb, var(--text) 25%, transparent);outline-offset:1px}.vehicle-icon-preview{color:var(--muted);align-items:center;gap:.65rem;font-size:.85rem;display:flex}.vehicle-chart-pixel-wrap{justify-content:center;align-items:center;width:100%;height:100%;line-height:0;display:flex;overflow:visible}.vehicle-chart-legend li{gap:.55rem}.vehicle-section-title{margin:0 0 .85rem;font-size:1.1rem}.vehicle-form-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.vehicle-form-actions .btn{width:auto}.vehicle-check-field{justify-content:flex-end}.vehicle-check-field label{color:var(--text);align-items:center;gap:.45rem;font-size:.95rem;display:flex}.vehicle-log-list{flex-direction:column;gap:.55rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.vehicle-log-item{border:1px solid var(--card-border);background:color-mix(in srgb, var(--card) 88%, var(--bg));border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.7rem .8rem;display:flex}.vehicle-log-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.vehicle-log-main strong{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.vehicle-log-notes{color:var(--muted);font-size:.88rem}.vehicle-log-actions{gap:.35rem;display:flex}.vehicle-log-actions .btn{width:auto}.vehicle-due{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.1rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.vehicle-due.is-overdue{color:#ef4444;background:#ef444438}.vehicle-due.is-upcoming{color:#d97706;background:#f59e0b38}.vehicle-empty{color:var(--muted);margin:.35rem 0}.vehicle-reports{flex-direction:column;gap:1rem;display:flex}.vehicle-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.vehicle-stat-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.vehicle-stat-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.vehicle-stat-row,.vehicle-stat-row-4{grid-template-columns:1fr}}.vehicle-stat{border:1px solid var(--card-border);border-radius:10px;flex-direction:column;gap:.25rem;padding:.75rem .85rem;display:flex}.vehicle-stat-label{color:var(--muted);font-size:.8rem}.vehicle-stat strong{font-size:1.25rem}.vehicle-subhead{margin:1.1rem 0 .5rem;font-size:.95rem}.vehicle-month-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.vehicle-month-list li{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;padding:.35rem 0;font-size:.92rem;display:flex}.vehicle-chart-lead{margin-top:-.35rem}.vehicle-chart{flex-direction:column;gap:.75rem;display:flex}.vehicle-chart-svg{width:100%;height:auto;max-height:280px}.vehicle-chart-grid{stroke:var(--card-border);stroke-width:1px}.vehicle-chart-axis{fill:var(--muted);font-size:10px}.vehicle-chart-end-label{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.vehicle-chart-legend{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.vehicle-chart-legend li{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.vehicle-chart-swatch{border-radius:999px;flex:none;width:.75rem;height:.75rem}.vehicle-chart-legend-label{flex:auto;min-width:0}.vehicle-chart-legend-total{color:var(--muted);font-variant-numeric:tabular-nums}.nav-test-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--card-border));vertical-align:middle;margin-left:.4rem;padding:.05rem .4rem;font-size:.65rem;font-weight:600}.app-sidebar-link-label .nav-test-badge,.app-more-link .nav-test-badge{display:inline-block}.journal-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex}.journal-page-titles{flex:12rem;min-width:0}.journal-page-titles .page-title{margin-bottom:.25rem}.journal-page-titles .page-lead{margin-bottom:0}.journal-empty{margin-top:1.5rem}.journal-new-form{flex-direction:column;gap:1rem;max-width:28rem;margin-bottom:1.5rem;display:flex}.journal-cover-picker{border:none;margin:0;padding:0}.journal-cover-picker legend{color:var(--muted);margin-bottom:.5rem;font-size:.85rem}.journal-cover-swatches{flex-wrap:wrap;gap:.5rem;display:flex}.journal-cover-swatch{cursor:pointer;border:2px solid #0000;border-radius:.4rem;width:2rem;height:2rem;padding:0}.journal-cover-swatch.is-selected{outline:2px solid var(--text);outline-offset:2px}.journal-bookshelf{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:1.25rem 1rem;margin-top:.5rem;display:grid}.journal-book-wrap{flex-direction:column;align-items:stretch;gap:.4rem;display:flex}.journal-book{aspect-ratio:3/4;color:#fff;cursor:pointer;text-align:left;border:none;border-radius:.35rem .55rem .55rem .35rem;padding:1.1rem .85rem .85rem 1.15rem;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:inset 3px 0 #ffffff2e,0 8px 20px #00000038}.journal-book:hover{transform:translateY(-3px);box-shadow:inset 3px 0 #ffffff38,0 12px 28px #00000047}.journal-book-spine{background:#00000038;width:.45rem;position:absolute;top:0;bottom:0;left:0}.journal-book-title{-webkit-line-clamp:4;text-shadow:0 1px 2px #00000059;-webkit-box-orient:vertical;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.05rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.journal-book-delete{align-self:center}.journal-toolbar{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.journal-search{max-width:24rem}.journal-tag-filters{flex-wrap:wrap;gap:.4rem;display:flex}.journal-tag-chip{border:1px solid var(--card-border);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.2rem;padding:.2rem .55rem;font-size:.8rem;display:inline-flex}.journal-tag-chip.is-active{border-color:var(--accent);color:var(--accent)}.journal-tag-chip.is-static{cursor:default;opacity:.9}.journal-entry-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.journal-entry-row{text-align:left;border:1px solid var(--card-border);background:var(--card);border-radius:var(--radius,.65rem);cursor:pointer;width:100%;color:inherit;padding:.85rem 1rem;transition:border-color .12s,background .12s}.journal-entry-row:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--card-border))}.journal-entry-row-top{flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.25rem;display:flex}.journal-entry-row-top time{color:var(--muted);font-size:.85rem}.journal-entry-preview{color:var(--muted);margin:.2rem 0 0;font-size:.9rem;line-height:1.4}.journal-entry-row-tags{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.journal-editor-bar,.journal-zen-bar{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;margin-bottom:1rem;display:flex}.journal-editor-meta{flex-wrap:wrap;flex:auto;align-items:center;gap:.5rem .85rem;min-width:0;display:flex}.journal-editor-journal{font-weight:600}.journal-editor-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.journal-save-status{color:var(--muted);font-size:.8rem}.journal-save-status[data-state=error]{color:var(--bad)}.journal-save-status[data-state=saved]{color:var(--ok)}.journal-word-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.journal-pad{background:color-mix(in srgb, var(--card) 92%, #f5f0e6);border:1px solid var(--card-border);border-radius:var(--radius,.65rem);max-width:42rem;margin:0 auto;padding:1.25rem 1.35rem 1.5rem;box-shadow:0 10px 28px #00000014}.journal-pad-fields{flex-direction:column;gap:.55rem;margin-bottom:.85rem;display:flex}.journal-entry-date{color:var(--muted);background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem}.journal-entry-title{width:100%;color:var(--text);background:0 0;border:none;padding:0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.65rem;font-weight:600;line-height:1.25}.journal-entry-title:focus,.journal-entry-date:focus,.journal-entry-body:focus{outline:none}.journal-entry-body{width:100%;min-height:min(55vh,28rem);color:var(--text);resize:vertical;background:0 0;border:none;padding:0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.12rem;line-height:1.65}.journal-tags-editor{border-top:1px solid var(--card-border);flex-direction:column;gap:.55rem;margin-top:1.1rem;padding-top:.9rem;display:flex}.journal-tag-chips{flex-wrap:wrap;gap:.35rem;display:flex}.journal-tag-form{flex-wrap:wrap;gap:.4rem;max-width:22rem;display:flex}.journal-editor-page.is-zen .journal-pad{max-width:48rem;min-height:calc(100vh - 5rem);box-shadow:none}.journal-zen-bar{justify-content:flex-end;max-width:48rem;margin-left:auto;margin-right:auto}html[data-journal-zen="1"] .app-header,html[data-journal-zen="1"] .app-sidebar-slot,html[data-journal-zen="1"] .app-sidebar-backdrop,html[data-journal-zen="1"] .app-tabbar,html[data-journal-zen="1"] .app-more-sheet,html[data-journal-zen="1"] .app-more-backdrop{display:none!important}html[data-journal-zen="1"] .app-shell{min-height:100vh}html[data-journal-zen="1"] .app-body{display:block}@media (max-width:640px){.journal-bookshelf{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))}.journal-entry-title{font-size:1.35rem}.journal-entry-body{min-height:45vh;font-size:1.05rem}}.journal-shell{max-width:none;padding-bottom:0}.journal-shell-error{margin:0 0 .75rem}.journal-layout{border:1px solid var(--card-border);border-radius:var(--radius,.65rem);background:var(--card);grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:0;min-height:calc(100vh - 7rem);display:grid;overflow:hidden}.journal-rail{border-right:1px solid var(--card-border);background:color-mix(in srgb, var(--bg) 70%, var(--card));flex-direction:column;gap:.65rem;max-height:calc(100vh - 7rem);padding:.85rem .75rem;display:flex;overflow:auto}.journal-rail-backdrop{display:none}.journal-rail-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.journal-rail-title-row{align-items:center;gap:.35rem;display:flex}.journal-rail-new{border:1px solid var(--card-border);border-radius:var(--radius,.5rem);background:var(--card);flex-direction:column;gap:.5rem;padding:.55rem;display:flex}.journal-rail-hint{margin:0;font-size:.75rem}.journal-rail-journals,.journal-rail-entries{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.journal-rail-journal{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.45rem;align-items:center;gap:.55rem;padding:.4rem .45rem;display:flex}.journal-rail-journal:hover,.journal-rail-journal.is-active{background:var(--card);border-color:var(--card-border)}.journal-rail-journal.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--card-border))}.journal-rail-cover{border-radius:.2rem;flex:none;width:1.35rem;height:1.75rem;box-shadow:inset 2px 0 #fff3}.journal-rail-journal-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.journal-rail-journal-actions{gap:.3rem;padding:0 .25rem .35rem 2rem;display:flex}.journal-rail-entries-block{border-top:1px solid var(--card-border);flex-direction:column;flex:1;gap:.5rem;min-height:0;padding-top:.5rem;display:flex}.journal-rail-search{font-size:.85rem}.journal-rail-entry{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.45rem;flex-direction:column;gap:.15rem;padding:.45rem .5rem;display:flex}.journal-rail-entry:hover,.journal-rail-entry.is-active{background:var(--card);border-color:var(--card-border)}.journal-rail-entry.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--card-border))}.journal-rail-entry-date{color:var(--muted);font-size:.72rem}.journal-rail-entry strong{font-size:.88rem}.journal-rail-entry-preview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.journal-rail-empty{margin:.35rem 0 0;font-size:.85rem}.journal-main-wrap{background:var(--bg);flex-direction:column;min-width:0;max-height:calc(100vh - 7rem);display:flex;overflow:auto}.journal-main{flex-direction:column;gap:.65rem;min-height:100%;padding:.9rem 1rem 1.25rem;transition:background .2s;display:flex}.journal-empty-main{padding:2rem 1.25rem}.journal-mobile-bar{align-items:center;gap:.75rem;margin-bottom:.75rem;display:none}.journal-mobile-title{margin:0;font-size:1.15rem}.journal-format-bar{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;display:flex}.journal-format-tools{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.journal-format-btn{border:1px solid var(--card-border);background:var(--card);color:var(--text);cursor:pointer;border-radius:.35rem;min-width:1.75rem;padding:.25rem .45rem;font-size:.8rem}.journal-format-btn.is-active{border-color:var(--accent);color:var(--accent)}.journal-format-sep{background:var(--card-border);width:1px;height:1.1rem;margin:0 .15rem}.journal-theme-picker{flex-direction:column;gap:.85rem;margin:0 0 .5rem;padding:.85rem 1rem;display:flex}.journal-theme-picker-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.journal-theme-section h3{color:var(--muted);margin:0 0 .45rem;font-size:.85rem;font-weight:600}.journal-theme-option{text-align:left;border:1px dashed var(--card-border);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:.4rem;margin-bottom:.45rem;padding:.35rem .55rem;font-size:.8rem;display:block}.journal-theme-option.is-selected{color:var(--accent);border-style:solid;border-color:var(--accent)}.journal-theme-grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.45rem;display:grid}.journal-theme-swatch{border:2px solid var(--card-border);cursor:pointer;min-height:3rem;color:inherit;border-radius:.4rem;padding:.35rem;font-size:.72rem}.journal-theme-swatch.is-selected{outline:2px solid var(--text);outline-offset:1px}.journal-page-swatch[data-page-theme=default]{background:var(--bg)}.journal-page-swatch[data-page-theme=parchment]{color:#3b2f1a;background:#e8d9b8}.journal-page-swatch[data-page-theme=slate]{color:#f8fafc;background:#64748b}.journal-page-swatch[data-page-theme=night]{color:#e2e8f0;background:#0f172a}.journal-page-swatch[data-page-theme=sage]{color:#1f2f1c;background:#c5d5c0}.journal-page-swatch[data-page-theme=blush]{color:#4a2c2e;background:#f3d6d8}.journal-page-swatch[data-page-theme=ocean]{color:#163044;background:#b8d4e3}.journal-page-swatch[data-page-theme=storm]{color:#e8eef5;background:#3d4f66}.journal-pad-swatch[data-pad-theme=plain]{color:#222;background:#fff}.journal-pad-swatch[data-pad-theme=lined]{color:#222;background:repeating-linear-gradient(#fff,#fff 1.15rem,#dbe3ef 1.15rem 1.2rem)}.journal-pad-swatch[data-pad-theme=ruled-wide]{color:#222;background:repeating-linear-gradient(#fffef8,#fffef8 1.55rem,#e2c4a8 1.55rem 1.6rem)}.journal-pad-swatch[data-pad-theme=dot-grid]{color:#222;background-color:#f8fafc;background-image:radial-gradient(#94a3b8 1px,#0000 1px);background-size:10px 10px}.journal-pad-swatch[data-pad-theme=cream]{color:#3b2f1a;background:#f7f1e1}.journal-pad-swatch[data-pad-theme=inverted]{color:#eee;background:#111}.journal-pad-swatch[data-pad-theme=sepia]{color:#4a3720;background:#f0e0c0}.journal-pad-swatch[data-pad-theme=letter]{color:#222;background:#fffdf7;border-left:4px solid #c4a574}.journal-main[data-page-theme=default]{background:0 0}.journal-main[data-page-theme=parchment]{background:#e8d9b8}.journal-main[data-page-theme=slate]{background:#556277}.journal-main[data-page-theme=night]{background:#0b1220}.journal-main[data-page-theme=sage]{background:#c5d5c0}.journal-main[data-page-theme=blush]{background:#f3d6d8}.journal-main[data-page-theme=ocean]{background:#b8d4e3}.journal-main[data-page-theme=storm]{background:#3d4f66}.journal-pad[data-pad-theme=plain]{color:#1a1a1a;background:#fff}.journal-pad[data-pad-theme=lined]{color:#1a1a1a;background:repeating-linear-gradient(#fff,#fff 1.65rem,#d7e0ec 1.65rem 1.7rem)}.journal-pad[data-pad-theme=ruled-wide]{color:#1a1a1a;background:repeating-linear-gradient(#fffef8,#fffef8 2.05rem,#e2c4a8 2.05rem 2.1rem)}.journal-pad[data-pad-theme=dot-grid]{color:#1a1a1a;background-color:#f8fafc;background-image:radial-gradient(#94a3b8 1.1px,#0000 1.1px);background-size:14px 14px}.journal-pad[data-pad-theme=cream]{color:#3b2f1a;background:#f7f1e1}.journal-pad[data-pad-theme=inverted]{color:#f2f2f2;background:#121212;border-color:#333}.journal-pad[data-pad-theme=sepia]{color:#4a3720;background:#f0e0c0}.journal-pad[data-pad-theme=letter]{color:#1a1a1a;background:#fffdf7;box-shadow:inset 3px 0 #c4a574}.journal-pad[data-pad-theme=inverted] .journal-entry-title,.journal-pad[data-pad-theme=inverted] .journal-entry-date,.journal-pad[data-pad-theme=inverted] .journal-tiptap{color:inherit}.journal-tiptap{outline:none;min-height:min(50vh,26rem);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.12rem;line-height:1.65}.journal-tiptap p{margin:0 0 .75rem}.journal-tiptap ul,.journal-tiptap ol{margin:0 0 .75rem;padding-left:1.4rem}.journal-tiptap blockquote{border-left:3px solid color-mix(in srgb, currentColor 35%, transparent);opacity:.92;margin:0 0 .75rem;padding-left:.85rem}.journal-tiptap p.is-editor-empty:first-child:before{color:color-mix(in srgb, currentColor 45%, transparent);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.ProseMirror-focused{outline:none}html[data-journal-zen="1"] .journal-layout{border:none;min-height:100vh;max-height:none}html[data-journal-zen="1"] .journal-main-wrap,html[data-journal-zen="1"] .journal-rail{max-height:none}@media (max-width:860px){.journal-mobile-bar{display:flex}.journal-layout{grid-template-columns:1fr;min-height:calc(100vh - 9rem)}.journal-rail{z-index:40;width:min(20rem,88vw);height:100%;max-height:none;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:8px 0 24px #0003}.journal-layout.rail-open .journal-rail{transform:translate(0)}.journal-rail-backdrop{z-index:35;opacity:0;pointer-events:none;background:#0006;transition:opacity .2s;display:block;position:fixed;inset:0}.journal-layout.rail-open .journal-rail-backdrop{opacity:1;pointer-events:auto}.journal-main-wrap{max-height:none}}.journal-layout.is-zen{background:0 0;border:none;grid-template-columns:1fr;min-height:100vh;max-height:none;overflow:visible}.journal-layout.is-zen .journal-main-wrap{background:0 0;max-height:none;overflow:visible}.journal-main.is-zen{min-height:100vh;padding:1.25rem 1.5rem 2rem}.journal-main.is-zen .journal-pad{max-width:48rem;min-height:calc(100vh - 6rem);margin:0 auto}.journal-editor-bar{z-index:2;flex-shrink:0;margin-bottom:.5rem;position:relative}.journal-format-bar{z-index:2;flex-shrink:0;margin-bottom:.65rem;position:relative}.journal-main-wrap{z-index:1;position:relative}.journal-main{isolation:isolate;position:relative}.journal-pad{z-index:1;flex:auto;width:100%;max-width:42rem;margin:0 auto;position:relative}.journal-theme-modal{z-index:80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.journal-theme-modal-backdrop{cursor:pointer;background:#00000073;border:none;margin:0;padding:0;position:absolute;inset:0}.journal-theme-modal .journal-theme-picker{z-index:1;width:min(28rem,100%);max-height:min(80vh,36rem);margin:0;position:relative;overflow:auto;box-shadow:0 16px 40px #00000047}.journal-rail-tags{border-top:1px solid var(--card-border);flex-direction:column;flex-shrink:0;gap:.45rem;margin-top:.75rem;padding-top:.75rem;display:flex}.journal-rail-tags-label{font-size:.8rem}.journal-rail-tags .journal-tag-form{gap:.35rem;max-width:none;display:flex}.journal-rail-tags .journal-tag-form .input{flex:auto;min-width:0;font-size:.85rem}html[data-journal-zen="1"] .journal-layout{grid-template-columns:1fr}html[data-journal-zen="1"] .app-content{max-width:none;padding:0}html[data-journal-zen="1"] .page.journal-shell{max-width:none;margin:0;padding:0}@media (max-width:860px){.journal-layout.is-zen{min-height:100vh}}
