@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground: #f4eee2;--panel: #fffdf8;--ink: #2b2620;--ink-2: #6f6452;--line: #e6dccb;--line-2: #efe7d8;--accent: #1f7a6d;--accent-ink: #ffffff;--ph: #ece4d5;--danger: #b3261e;--ok: #2e7d4f;--warn: #a15c00;--rail: #2b2620;--rail-ink: #d9cfbd;--rail-on: #f4eee2;--rail-on-ink: #2b2620;--deep: #2b2620;--deep-ink: #f4eee2;--deep-ink-2: #c9bea8;--notice: #fbeccb;--notice-ink: #5e4106;--notice-btn: #6b4a0a;--now: #c8502a;--sun: #b7791f;--sky: #8a7d68;--star: #a8700f;--sans: "Figtree Variable", "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius: 14px;--radius-lg: 18px;--shadow: 0 1px 2px rgba(43, 38, 32, .06);--touch: 48px;--touch-kid: 56px;color-scheme:light dark}:root[data-palette=sage]{--ground: #eef1ea;--panel: #fbfcf9;--ink: #1f2a24;--ink-2: #59675e;--line: #d8dfd3;--line-2: #e7ece3;--accent: #3b6e52;--ph: #e2e8de;--warn: #8a6100;--rail: #1f2a24;--rail-ink: #c9d3c8;--rail-on: #eef1ea;--rail-on-ink: #1f2a24;--deep: #1f2a24;--deep-ink: #eef1ea;--deep-ink-2: #b9c5b9;--notice: #f3ead0;--notice-ink: #5a4508;--notice-btn: #6b520c;--now: #b4553a;--sun: #b08417;--sky: #6f7d72;--star: #9c6f12;--shadow: 0 1px 2px rgba(31, 42, 36, .06)}:root[data-palette=coastal]{--ground: #edf2f5;--panel: #fbfdfe;--ink: #17283a;--ink-2: #536476;--line: #d5dfe7;--line-2: #e5ecf1;--accent: #1d6f9e;--ph: #e0e8ee;--rail: #17283a;--rail-ink: #c3d0dc;--rail-on: #edf2f5;--rail-on-ink: #17283a;--deep: #17283a;--deep-ink: #edf2f5;--deep-ink-2: #b3c3d1;--now: #d2603a;--sun: #c08a1e;--sky: #6b7d8f;--star: #a0701a;--shadow: 0 1px 2px rgba(23, 40, 58, .06)}:root[data-palette=bright]{--ground: #f4f3ef;--panel: #ffffff;--ink: #1f2330;--ink-2: #5c6170;--line: #d9d7d0;--line-2: #eceae3;--accent: #2f6f8f;--ph: #e8e6df;--warn: #b26a00;--rail: #1f2330;--rail-ink: #c9ccd6;--rail-on: #ffffff;--rail-on-ink: #1f2330;--deep: #1f2330;--deep-ink: #f4f3ef;--deep-ink-2: #b9bdc8;--notice: #fdf0cf;--now: #e4572e;--sun: #e39a12;--sky: #7a8090;--star: #b26a00;--shadow: 0 1px 2px rgba(31, 35, 48, .06)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: #161411;--panel: #201d18;--ink: #f1ebdf;--ink-2: #b3a891;--line: #3a342b;--line-2: #2c2821;--accent: #5cc0ae;--accent-ink: #0c201c;--ph: #2c2821;--danger: #f28b82;--ok: #7cc49a;--warn: #e6b15c;--rail: #0f0e0b;--rail-ink: #b3a891;--rail-on: #f1ebdf;--rail-on-ink: #161411;--deep: #2f2a22;--deep-ink: #f1ebdf;--deep-ink-2: #c9bea8;--notice: #3a2c14;--notice-ink: #f4d58d;--notice-btn: #f4b33d;--now: #ff8a5c;--sun: #f4b33d;--sky: #b3a891;--star: #f4b33d;--shadow: none}}:root[data-theme=dark]{--ground: #161411;--panel: #201d18;--ink: #f1ebdf;--ink-2: #b3a891;--line: #3a342b;--line-2: #2c2821;--accent: #5cc0ae;--accent-ink: #0c201c;--ph: #2c2821;--danger: #f28b82;--ok: #7cc49a;--warn: #e6b15c;--rail: #0f0e0b;--rail-ink: #b3a891;--rail-on: #f1ebdf;--rail-on-ink: #161411;--deep: #2f2a22;--deep-ink: #f1ebdf;--deep-ink-2: #c9bea8;--notice: #3a2c14;--notice-ink: #f4d58d;--notice-btn: #f4b33d;--now: #ff8a5c;--sun: #f4b33d;--sky: #b3a891;--star: #f4b33d;--shadow: none}@media (prefers-color-scheme: dark){:root[data-palette=sage]:not([data-theme=light]){--ground: #121614;--panel: #1b201d;--ink: #e9eee8;--ink-2: #a3b0a6;--line: #313a34;--line-2: #262d29;--accent: #7cc3a0;--accent-ink: #0d1f16;--ph: #262d29;--rail: #0c0f0d;--rail-ink: #a3b0a6;--rail-on: #e9eee8;--rail-on-ink: #121614;--deep: #252c27;--deep-ink: #e9eee8;--deep-ink-2: #b9c5b9;--notice: #33301a;--notice-ink: #eedc98;--notice-btn: #e6c55a;--sun: #e6c55a;--sky: #a3b0a6;--star: #e6c55a}:root[data-palette=coastal]:not([data-theme=light]){--ground: #0f151b;--panel: #18212a;--ink: #e6eef5;--ink-2: #9fb0c1;--line: #2d3a47;--line-2: #222d38;--accent: #6db3df;--accent-ink: #08202f;--ph: #222d38;--rail: #0a0f14;--rail-ink: #9fb0c1;--rail-on: #e6eef5;--rail-on-ink: #0f151b;--deep: #223040;--deep-ink: #e6eef5;--deep-ink-2: #b3c3d1;--sky: #9fb0c1}:root[data-palette=bright]:not([data-theme=light]){--ground: #15171c;--panel: #1e2128;--ink: #eceae4;--ink-2: #a0a4af;--line: #353941;--line-2: #2a2e36;--accent: #6fa9c6;--accent-ink: #0e1a22;--ph: #2a2e36;--rail: #0e1015;--rail-ink: #a0a4af;--rail-on: #eceae4;--rail-on-ink: #15171c;--deep: #262a33;--deep-ink: #eceae4;--deep-ink-2: #b9bdc8;--sky: #a0a4af}}:root[data-palette=sage][data-theme=dark]{--ground: #121614;--panel: #1b201d;--ink: #e9eee8;--ink-2: #a3b0a6;--line: #313a34;--line-2: #262d29;--accent: #7cc3a0;--accent-ink: #0d1f16;--ph: #262d29;--rail: #0c0f0d;--rail-ink: #a3b0a6;--rail-on: #e9eee8;--rail-on-ink: #121614;--deep: #252c27;--deep-ink: #e9eee8;--deep-ink-2: #b9c5b9;--notice: #33301a;--notice-ink: #eedc98;--notice-btn: #e6c55a;--sun: #e6c55a;--sky: #a3b0a6;--star: #e6c55a}:root[data-palette=coastal][data-theme=dark]{--ground: #0f151b;--panel: #18212a;--ink: #e6eef5;--ink-2: #9fb0c1;--line: #2d3a47;--line-2: #222d38;--accent: #6db3df;--accent-ink: #08202f;--ph: #222d38;--rail: #0a0f14;--rail-ink: #9fb0c1;--rail-on: #e6eef5;--rail-on-ink: #0f151b;--deep: #223040;--deep-ink: #e6eef5;--deep-ink-2: #b3c3d1;--sky: #9fb0c1}:root[data-palette=bright][data-theme=dark]{--ground: #15171c;--panel: #1e2128;--ink: #eceae4;--ink-2: #a0a4af;--line: #353941;--line-2: #2a2e36;--accent: #6fa9c6;--accent-ink: #0e1a22;--ph: #2a2e36;--rail: #0e1015;--rail-ink: #a0a4af;--rail-on: #eceae4;--rail-on-ink: #15171c;--deep: #262a33;--deep-ink: #eceae4;--deep-ink-2: #b9bdc8;--sky: #a0a4af}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.fill{background:var(--c);color:#fff}[data-style=soft] .fill{background:color-mix(in srgb,var(--c) 22%,var(--panel));color:var(--ink);box-shadow:inset 3px 0 0 var(--c)}.tint{background:color-mix(in srgb,var(--c, var(--accent)) 18%,var(--panel));color:color-mix(in srgb,var(--c, var(--accent)) 62%,var(--ink))}[data-style=soft]{--radius: 18px}:root{--cel-vmin: 1vmin;--cel-vmax: 1vmax;--cel-vh: 1vh;--cel-vw: 1vw}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#1b1440;font-family:var(--sans);animation:cel-in .5s ease-out both}.celebrate.leaving{animation:cel-out .45s ease-in forwards}@keyframes cel-in{0%{opacity:0}}@keyframes cel-out{to{opacity:0;transform:scale(1.03)}}.cel-particles{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.celebrate .scene{position:absolute;left:0;bottom:0;width:100%;height:34%;z-index:1;pointer-events:none}.cel-rays{position:absolute;left:50%;top:38%;width:calc(160 * var(--cel-vmax));height:calc(160 * var(--cel-vmax));margin:calc(-80 * var(--cel-vmax)) 0 0 calc(-80 * var(--cel-vmax));z-index:0;pointer-events:none;background:repeating-conic-gradient(from 0deg,#ffffff1f,#ffffff1f 6deg,#fff0 6deg,#fff0 18deg);-webkit-mask:radial-gradient(circle,#000 0,rgba(0,0,0,.6) 18%,transparent 45%);mask:radial-gradient(circle,#000 0,rgba(0,0,0,.6) 18%,transparent 45%);animation:cel-spin 50s linear infinite}@keyframes cel-spin{to{transform:rotate(360deg)}}.cel-stage{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:calc(1.1 * var(--cel-vmin));padding:calc(3 * var(--cel-vmin)) calc(6 * var(--cel-vmin));max-width:min(1200px,calc(94 * var(--cel-vw)))}.celebrate.has-scene .cel-stage{margin-bottom:calc(16 * var(--cel-vh))}.cel-title{margin:calc(1.2 * var(--cel-vmin)) 0 0;font-size:clamp(30px,calc(7.2 * var(--cel-vmin)),100px);font-weight:800;letter-spacing:-.015em;line-height:1.04;text-wrap:balance;text-shadow:0 calc(.5 * var(--cel-vmin)) calc(2.4 * var(--cel-vmin)) rgba(0,0,0,.35);animation:cel-rise .7s ease-out .25s both}.cel-emoji{margin-right:.25em;display:inline-block;animation:cel-wiggle 2.4s ease-in-out infinite}.cel-msg{margin:0;font-size:clamp(18px,calc(3.7 * var(--cel-vmin)),46px);font-weight:500;text-wrap:balance;text-shadow:0 calc(.3 * var(--cel-vmin)) calc(1.4 * var(--cel-vmin)) rgba(0,0,0,.3);animation:cel-rise .7s ease-out .4s both}.cel-detail{margin:0;font-size:clamp(14px,calc(2.6 * var(--cel-vmin)),32px);opacity:.82;animation:cel-rise .7s ease-out .5s both}.cel-lines{list-style:none;margin:calc(.8 * var(--cel-vmin)) 0 0;padding:0;display:grid;gap:calc(.8 * var(--cel-vmin));font-size:clamp(14px,calc(2.3 * var(--cel-vmin)),28px)}.cel-lines li{background:#ffffff24;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.45em 1.2em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cel-rise .5s ease-out both}@keyframes cel-rise{0%{opacity:0;transform:translateY(calc(2.4 * var(--cel-vmin)))}}@keyframes cel-wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}}.cel-people{display:flex;gap:calc(1.6 * var(--cel-vmin));justify-content:center;margin-top:calc(.6 * var(--cel-vmin))}.cel-person{display:inline-flex;animation:cel-pop .7s cubic-bezier(.2,1.7,.4,1) both,cel-bob 3.2s ease-in-out 1.2s infinite}.celebrate .cel-person .avatar.lg{width:calc(11 * var(--cel-vmin));height:calc(11 * var(--cel-vmin));font-size:calc(5 * var(--cel-vmin));box-shadow:0 0 0 calc(.6 * var(--cel-vmin)) #fff,0 calc(1.2 * var(--cel-vmin)) calc(2.4 * var(--cel-vmin)) #00000059}.celebrate .cel-people.n4 .avatar.lg{width:calc(8 * var(--cel-vmin));height:calc(8 * var(--cel-vmin));font-size:calc(3.6 * var(--cel-vmin))}@keyframes cel-bob{50%{transform:translateY(calc(-.8 * var(--cel-vmin)))}}.hero{position:relative;display:flex;flex-direction:column;align-items:center;animation:cel-pop .9s cubic-bezier(.2,1.6,.4,1) .1s both}.hero .art{position:relative;width:100%}.hero svg{display:block;width:100%;height:auto;filter:drop-shadow(0 calc(1.4 * var(--cel-vmin)) calc(2.6 * var(--cel-vmin)) rgba(0,0,0,.35));overflow:visible}@keyframes cel-pop{0%{opacity:0;transform:scale(.4) rotate(-6deg)}}.cel-figure{position:absolute;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.cel-figure.under{position:static;margin-top:calc(1 * var(--cel-vmin))}.cel-big{font-weight:800;font-size:calc(10 * var(--cel-vmin));letter-spacing:-.03em;font-variant-numeric:tabular-nums}.cel-big.long{font-size:calc(7.6 * var(--cel-vmin))}.cel-biglabel{margin-top:calc(1.2 * var(--cel-vmin));font-size:clamp(14px,calc(3 * var(--cel-vmin)),38px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.92;text-shadow:0 calc(.3 * var(--cel-vmin)) calc(1 * var(--cel-vmin)) rgba(0,0,0,.3)}.has-lines .hero{width:calc(22 * var(--cel-vmin))!important}.has-lines .cel-big{font-size:calc(7 * var(--cel-vmin))}.hero.medal{width:calc(35 * var(--cel-vmin))}.on-medal{left:16%;right:16%;top:12.3%;height:57%;color:#6b3d00;text-shadow:0 calc(.2 * var(--cel-vmin)) 0 rgba(255,255,255,.55)}.medal .shine,.trophy .shine{animation:cel-glint 2.6s ease-in-out infinite}@keyframes cel-glint{0%,to{opacity:.15}50%{opacity:.95}}.medal-banner{position:absolute;left:50%;top:60%;transform:translate(-50%) rotate(-5deg);background:#e63946;color:#fff;font-weight:800;letter-spacing:.24em;padding:.35em 1.1em .35em 1.34em;font-size:calc(3.4 * var(--cel-vmin));border-radius:calc(.6 * var(--cel-vmin));box-shadow:0 calc(.8 * var(--cel-vmin)) calc(2 * var(--cel-vmin)) #00000059;white-space:nowrap;animation:cel-stamp .6s cubic-bezier(.2,1.8,.4,1) .8s both}@keyframes cel-stamp{0%{opacity:0;transform:translate(-50%) rotate(-5deg) scale(2.6)}}.hero.cake{width:calc(40 * var(--cel-vmin))}.on-cake{left:11%;right:11%;top:76%;height:17%;color:#fff;text-shadow:0 calc(.3 * var(--cel-vmin)) calc(.8 * var(--cel-vmin)) rgba(150,0,60,.5)}.on-cake .cel-big{font-size:calc(7 * var(--cel-vmin))}.cake .flame{transform-box:fill-box;transform-origin:50% 100%;animation:cel-flicker .32s ease-in-out infinite alternate}@keyframes cel-flicker{to{transform:scale(.82,1.12) rotate(5deg);opacity:.85}}.hero.gift{width:calc(34 * var(--cel-vmin))}.on-gift{left:14%;right:14%;top:48%;height:46%}.on-gift .cel-big{background:#fff;color:color-mix(in srgb,var(--kid) 80%,#000);border-radius:calc(1.6 * var(--cel-vmin));padding:.12em .32em;font-size:calc(8.4 * var(--cel-vmin));box-shadow:0 calc(.6 * var(--cel-vmin)) calc(1.6 * var(--cel-vmin)) #00000040}.gift .lid{transform-box:fill-box;transform-origin:50% 100%;animation:cel-lid 2.6s ease-in-out infinite}@keyframes cel-lid{0%,55%,to{transform:none}65%{transform:translateY(-14%) rotate(-6deg)}75%{transform:translateY(-6%) rotate(5deg)}85%{transform:translateY(-10%) rotate(-3deg)}}.hero.trophy{width:calc(30 * var(--cel-vmin))}.hero.trophy .cel-big{font-size:calc(8 * var(--cel-vmin))}.hero.star{width:calc(34 * var(--cel-vmin))}.hero.star svg{animation:cel-pulse 2.2s ease-in-out infinite}.on-star{left:25%;right:25%;top:34%;height:40%;color:#7a4300;text-shadow:0 calc(.2 * var(--cel-vmin)) 0 rgba(255,255,255,.5)}@keyframes cel-pulse{50%{transform:scale(1.06);filter:drop-shadow(0 0 calc(4 * var(--cel-vmin)) rgba(255,210,63,.75))}}.hero.rings{width:calc(38 * var(--cel-vmin))}.rings .sparkle{transform-box:fill-box;transform-origin:center;animation:cel-sparkle 1.8s ease-in-out infinite}@keyframes cel-sparkle{50%{transform:scale(1.3) rotate(10deg)}}.hero.heart{width:calc(32 * var(--cel-vmin))}.hero.heart svg{animation:cel-beat 1.3s ease-in-out infinite}.on-heart{left:15%;right:15%;top:14%;height:52%}@keyframes cel-beat{0%,to{transform:scale(1)}14%{transform:scale(1.08)}28%{transform:scale(.98)}42%{transform:scale(1.05)}70%{transform:scale(1)}}.hero.orb{width:calc(30 * var(--cel-vmin));height:calc(30 * var(--cel-vmin));border-radius:50%;justify-content:center;font-size:calc(17 * var(--cel-vmin));line-height:1;background:radial-gradient(circle at 38% 32%,#ffffff8c,#ffffff1a 62%);box-shadow:0 0 calc(9 * var(--cel-vmin)) #ffffff59,inset 0 0 calc(4 * var(--cel-vmin)) #ffffff4d;animation:cel-pop .9s cubic-bezier(.2,1.6,.4,1) .1s both,cel-float 4s ease-in-out 1s infinite}@keyframes cel-float{50%{transform:translateY(calc(-1.6 * var(--cel-vmin))) rotate(3deg)}}.hero.flip .tiles{display:flex;gap:calc(1.6 * var(--cel-vmin));justify-content:center;perspective:calc(90 * var(--cel-vmin))}.flip .tile{position:relative;width:calc(16 * var(--cel-vmin));height:calc(23 * var(--cel-vmin));border-radius:calc(2.2 * var(--cel-vmin));display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#2f3442 0,#2f3442 50%,#232733 50%,#232733);box-shadow:0 calc(1.6 * var(--cel-vmin)) calc(3 * var(--cel-vmin)) #0006,inset 0 1px #ffffff24;font-family:var(--mono);font-size:calc(18 * var(--cel-vmin));font-weight:700;color:#fff;transform-origin:50% 50%;animation:cel-flip .8s cubic-bezier(.3,1.5,.5,1) both}.flip .tile:after{content:"";position:absolute;left:0;right:0;top:50%;height:calc(.4 * var(--cel-vmin));background:#0000008c}.flip .tile:before{content:"";position:absolute;top:50%;width:calc(1 * var(--cel-vmin));height:calc(3 * var(--cel-vmin));margin-top:calc(-1.5 * var(--cel-vmin));left:calc(-.5 * var(--cel-vmin));right:calc(-.5 * var(--cel-vmin));border-radius:calc(.4 * var(--cel-vmin));background:#11131a;box-shadow:calc(15 * var(--cel-vmin)) 0 0 #11131a}.flip .tile b{line-height:1}@keyframes cel-flip{0%{transform:rotateX(-110deg);opacity:0}}.cel-timer{position:absolute;left:0;right:0;bottom:0;height:calc(.7 * var(--cel-vmin));background:#ffffff29;z-index:4}.cel-timer span{display:block;height:100%;background:#ffffffbf;transform-origin:left;animation:cel-timer var(--secs, 20s) linear forwards}@keyframes cel-timer{to{transform:scaleX(0)}}.cel-hint{position:absolute;left:0;right:0;bottom:calc(2.2 * var(--cel-vmin));font-size:clamp(12px,calc(1.8 * var(--cel-vmin)),18px);opacity:.6;z-index:4}.balloons{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.balloon{position:absolute;bottom:calc(-32 * var(--cel-vh));width:calc(8.5 * var(--cel-vmin));animation:cel-balloon linear infinite;filter:drop-shadow(0 calc(1 * var(--cel-vmin)) calc(1.4 * var(--cel-vmin)) rgba(0,0,0,.2))}@keyframes cel-balloon{0%{transform:translateY(0) rotate(calc(var(--sway) * 6deg))}50%{transform:translateY(calc(-75 * var(--cel-vh))) translate(calc(2 * var(--cel-vw))) rotate(calc(var(--sway) * -6deg))}to{transform:translateY(calc(-150 * var(--cel-vh))) rotate(calc(var(--sway) * 6deg))}}.celebrate .sun{position:absolute;left:calc(4 * var(--cel-vw));top:52%;width:calc(26 * var(--cel-vmin));height:calc(26 * var(--cel-vmin));border-radius:50%;z-index:0;background:radial-gradient(circle,#fff8dc,#ffd56b 42%,#ff9a3c 68%,#ff9a3c00 71%);filter:drop-shadow(0 0 calc(6 * var(--cel-vmin)) #ffb347);animation:cel-sunset 30s ease-in-out infinite alternate}@keyframes cel-sunset{to{transform:translateY(calc(3 * var(--cel-vh)))}}.celebrate .waves{position:absolute;left:0;right:0;bottom:0;height:36%;z-index:1;overflow:hidden}.celebrate .wave{position:absolute;left:0;width:200%;height:100%;animation:cel-wave 14s linear infinite}.celebrate .wave.w0{top:0;animation-duration:18s}.celebrate .wave.w0 path{fill:#8fdcf5;opacity:.75}.celebrate .wave.w1{top:18%;animation-duration:12s;animation-direction:reverse}.celebrate .wave.w1 path{fill:#2f8fd0}.celebrate .wave.w2{top:40%;animation-duration:9s}.celebrate .wave.w2 path{fill:#1a5f9e}@keyframes cel-wave{to{transform:translate(-50%)}}.celebrate .scene.palm{z-index:1;height:62%}.celebrate .moon{position:absolute;right:calc(10 * var(--cel-vw));top:calc(9 * var(--cel-vh));width:calc(13 * var(--cel-vmin));height:calc(13 * var(--cel-vmin));border-radius:50%;z-index:0;background:radial-gradient(circle at 36% 34%,#fffef2,#f1e9c6 60%,#d4c890);box-shadow:0 0 calc(6 * var(--cel-vmin)) #fffadc80}.celebrate .moon.big{left:calc(7 * var(--cel-vw));right:auto;top:calc(8 * var(--cel-vh));width:calc(30 * var(--cel-vmin));height:calc(30 * var(--cel-vmin));background:radial-gradient(circle at 40% 40%,#ffd27a,#ff9e2c 70%,#e76f00);box-shadow:0 0 calc(10 * var(--cel-vmin)) #ff9e2c99}.celebrate .clouds{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.celebrate .cloud{position:absolute;left:0;width:calc(24 * var(--cel-vmin));height:calc(7 * var(--cel-vmin));border-radius:999px;background:#fff;opacity:.9;animation:cel-drift linear infinite}.celebrate .cloud:before,.celebrate .cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.celebrate .cloud:before{width:calc(10 * var(--cel-vmin));height:calc(10 * var(--cel-vmin));left:calc(3.5 * var(--cel-vmin));top:calc(-5 * var(--cel-vmin))}.celebrate .cloud:after{width:calc(13 * var(--cel-vmin));height:calc(13 * var(--cel-vmin));left:calc(9 * var(--cel-vmin));top:calc(-7 * var(--cel-vmin))}.celebrate .cloud.c0{top:9%;animation-duration:70s;animation-delay:-10s}.celebrate .cloud.c1{top:18%;animation-duration:95s;animation-delay:-50s;opacity:.7}.celebrate .cloud.c2{top:80%;animation-duration:80s;animation-delay:-30s}.celebrate .cloud.c3{top:8%;animation-duration:110s;animation-delay:-80s;opacity:.6}.celebrate .cloud.c4{top:88%;animation-duration:60s;animation-delay:-5s;opacity:.8}@keyframes cel-drift{0%{transform:translate(calc(-30 * var(--cel-vw)))}to{transform:translate(calc(130 * var(--cel-vw)))}}.celebrate .plane{position:absolute;left:0;top:16%;width:calc(11 * var(--cel-vmin));z-index:1;animation:cel-fly 16s linear infinite;filter:drop-shadow(0 calc(.6 * var(--cel-vmin)) calc(1 * var(--cel-vmin)) rgba(0,0,0,.25))}@keyframes cel-fly{0%{transform:translate(calc(-16 * var(--cel-vw)),calc(14 * var(--cel-vh))) rotate(-8deg)}to{transform:translate(calc(116 * var(--cel-vw)),calc(-6 * var(--cel-vh))) rotate(-8deg)}}.celebrate .bats{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.celebrate .bat{position:absolute;left:0;animation:cel-batfly linear infinite}.celebrate .bat .wing{transform-box:fill-box;transform-origin:50% 60%;animation:cel-flap .22s ease-in-out infinite alternate}@keyframes cel-flap{to{transform:scaleY(.35)}}@keyframes cel-batfly{0%{transform:translate(calc(-10 * var(--cel-vw)))}50%{transform:translate(calc(50 * var(--cel-vw)),calc(5 * var(--cel-vh)))}to{transform:translate(calc(110 * var(--cel-vw)),calc(-3 * var(--cel-vh)))}}.celebrate .lights{position:absolute;top:0;left:0;width:100%;height:calc(11 * var(--cel-vh));z-index:1}.celebrate .lights .bulb{animation:cel-blink 1.6s ease-in-out infinite;filter:drop-shadow(0 0 calc(.9 * var(--cel-vmin)) rgba(255,255,200,.9))}@keyframes cel-blink{50%{opacity:.3}}.t-grade{background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--kid) 85%,#fff),color-mix(in srgb,var(--kid) 60%,#0b1026) 48%,#0b1026)}.t-perfect{background:radial-gradient(circle at 50% 36%,#ffc53d,#d46a00 42%,#3a1b00)}.t-birthday{background:linear-gradient(160deg,#ff4fa3,#a043ff 55%,#3a1c71)}.t-birthday .cel-title{background:linear-gradient(90deg,#fff3b0,#fff,#ffd6ff,#b9fbc0,#fff3b0);background-size:300% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 calc(.5 * var(--cel-vmin)) calc(1.4 * var(--cel-vmin)) rgba(60,0,60,.45));animation:cel-rise .7s ease-out .25s both,cel-sheen 6s linear infinite}@keyframes cel-sheen{to{background-position:300% center}}.t-birthday_soon{background:linear-gradient(180deg,#24105a,#5b3fa8 55%,#9d8df1)}.t-anniversary{background:linear-gradient(160deg,#3d1f2b,#9c4f62 55%,#e8a598)}.t-beach{background:linear-gradient(180deg,#6a3093,#ff6e7f 34%,#ffb88c 56%,#ffd194 66%,#48c6ef 70%)}.t-snow{background:linear-gradient(180deg,#0c1636,#263a77 60%,#6c82c6)}.t-magic{background:radial-gradient(ellipse at 50% 115%,#ff7eb3,#8a3ffc 32%,#24105a 70%,#0e0726)}.t-travel{background:linear-gradient(180deg,#1565c0,#42a5f5 55%,#bbdefb)}.t-camp{background:linear-gradient(180deg,#040b1a,#0b2537 55%,#14453e)}.t-party{background:linear-gradient(135deg,#f72585,#7209b7,#3a0ca3)}.t-newyear{background:radial-gradient(ellipse at 50% 100%,#24357f,#090d2b 65%,#04061a)}.t-valentine{background:linear-gradient(160deg,#ff8fab,#fb6f92 45%,#c9184a)}.t-stpatrick{background:linear-gradient(180deg,#1b4332,#2d6a4f 60%,#40916c);--hill1: #52b788;--hill2: #74c69d}.t-easter{background:linear-gradient(180deg,#7b5ea7,#c77dff 45%,#ff99c8)}.t-mother{background:linear-gradient(160deg,#ffafcc,#ff758f 55%,#b5179e)}.t-father{background:linear-gradient(180deg,#0b2545,#134074 55%,#13315c);--hill1: #1d4e89;--hill2: #0b2545}.t-july4{background:radial-gradient(ellipse at 50% 100%,#1d3557,#0b1026 70%)}.t-halloween{background:linear-gradient(180deg,#10002b,#3c096c 55%,#9d4edd)}.t-thanksgiving{background:linear-gradient(180deg,#6f3b12,#b6652a 45%,#e9a03b);--hill1: #7a3e12;--hill2: #4a240a}.t-christmas{background:radial-gradient(ellipse at 50% 30%,#1f6f43,#0c4128,#051a0f)}.t-trophy{background:radial-gradient(circle at 50% 36%,#2ec4b6,#0b6e75 46%,#062a36)}.t-stars{background:radial-gradient(circle at 50% 36%,#5a4fcf,#2b1f7a 46%,#0d0830)}.t-hearts{background:linear-gradient(160deg,#ff8fab,#e5446d 55%,#8f1d3a)}.t-christmas .cel-title,.t-halloween .cel-title{text-shadow:0 calc(.5 * var(--cel-vmin)) calc(2.4 * var(--cel-vmin)) rgba(0,0,0,.6)}.t-travel .cel-stage,.t-beach .cel-stage,.t-easter .cel-stage{text-shadow:0 calc(.2 * var(--cel-vmin)) calc(.6 * var(--cel-vmin)) rgba(0,40,90,.45),0 calc(.6 * var(--cel-vmin)) calc(2.4 * var(--cel-vmin)) rgba(0,30,70,.4)}.t-travel .cel-title,.t-beach .cel-title,.t-travel .cel-msg,.t-beach .cel-msg{text-shadow:inherit}@media (orientation: portrait){.hero.medal{width:calc(58 * var(--cel-vmin))}.hero.cake{width:calc(70 * var(--cel-vmin))}.hero.gift{width:calc(60 * var(--cel-vmin))}.hero.trophy{width:calc(52 * var(--cel-vmin))}.hero.star{width:calc(58 * var(--cel-vmin))}.hero.rings{width:calc(64 * var(--cel-vmin))}.hero.heart{width:calc(56 * var(--cel-vmin))}.hero.orb{width:calc(50 * var(--cel-vmin));height:calc(50 * var(--cel-vmin));font-size:calc(29 * var(--cel-vmin))}.has-lines .hero{width:calc(38 * var(--cel-vmin))!important}.cel-big{font-size:calc(17 * var(--cel-vmin))}.cel-big.long{font-size:calc(13 * var(--cel-vmin))}.on-cake .cel-big{font-size:calc(12 * var(--cel-vmin))}.on-gift .cel-big{font-size:calc(14 * var(--cel-vmin))}.flip .tile{width:calc(25 * var(--cel-vmin));height:calc(36 * var(--cel-vmin));font-size:calc(28 * var(--cel-vmin));border-radius:calc(3.4 * var(--cel-vmin))}.flip .tile:before{box-shadow:calc(24 * var(--cel-vmin)) 0 0 #11131a}.celebrate .cel-person .avatar.lg{width:calc(17 * var(--cel-vmin));height:calc(17 * var(--cel-vmin));font-size:calc(8 * var(--cel-vmin))}.cel-title{font-size:clamp(28px,calc(9.5 * var(--cel-vmin)),72px)}.cel-msg{font-size:clamp(17px,calc(5 * var(--cel-vmin)),40px)}.cel-detail{font-size:clamp(14px,calc(3.8 * var(--cel-vmin)),28px)}.cel-biglabel{font-size:clamp(13px,calc(4 * var(--cel-vmin)),30px)}.medal-banner{font-size:calc(5.4 * var(--cel-vmin))}.on-medal .cel-big{font-size:calc(14 * var(--cel-vmin))}.on-medal .cel-big.long{font-size:calc(11 * var(--cel-vmin))}.celebrate .scene{height:26%}.celebrate.has-scene .cel-stage{margin-bottom:calc(10 * var(--cel-vh))}.balloon{width:calc(13 * var(--cel-vmin))}}@container overlay (orientation: portrait){.hero.medal{width:calc(58 * var(--cel-vmin))}.hero.cake{width:calc(70 * var(--cel-vmin))}.hero.gift{width:calc(60 * var(--cel-vmin))}.hero.trophy{width:calc(52 * var(--cel-vmin))}.hero.star{width:calc(58 * var(--cel-vmin))}.hero.rings{width:calc(64 * var(--cel-vmin))}.hero.heart{width:calc(56 * var(--cel-vmin))}.hero.orb{width:calc(50 * var(--cel-vmin));height:calc(50 * var(--cel-vmin));font-size:calc(29 * var(--cel-vmin))}.has-lines .hero{width:calc(38 * var(--cel-vmin))!important}.cel-big{font-size:calc(17 * var(--cel-vmin))}.cel-big.long{font-size:calc(13 * var(--cel-vmin))}.on-cake .cel-big{font-size:calc(12 * var(--cel-vmin))}.on-gift .cel-big{font-size:calc(14 * var(--cel-vmin))}.flip .tile{width:calc(25 * var(--cel-vmin));height:calc(36 * var(--cel-vmin));font-size:calc(28 * var(--cel-vmin));border-radius:calc(3.4 * var(--cel-vmin))}.flip .tile:before{box-shadow:calc(24 * var(--cel-vmin)) 0 0 #11131a}.celebrate .cel-person .avatar.lg{width:calc(17 * var(--cel-vmin));height:calc(17 * var(--cel-vmin));font-size:calc(8 * var(--cel-vmin))}.cel-title{font-size:clamp(28px,calc(9.5 * var(--cel-vmin)),72px)}.cel-msg{font-size:clamp(17px,calc(5 * var(--cel-vmin)),40px)}.cel-detail{font-size:clamp(14px,calc(3.8 * var(--cel-vmin)),28px)}.cel-biglabel{font-size:clamp(13px,calc(4 * var(--cel-vmin)),30px)}.medal-banner{font-size:calc(5.4 * var(--cel-vmin))}.on-medal .cel-big{font-size:calc(14 * var(--cel-vmin))}.on-medal .cel-big.long{font-size:calc(11 * var(--cel-vmin))}.celebrate .scene{height:26%}.celebrate.has-scene .cel-stage{margin-bottom:calc(10 * var(--cel-vh))}.balloon{width:calc(13 * var(--cel-vmin))}}@media (prefers-reduced-motion: reduce){.celebrate,.celebrate *{animation-duration:.01ms!important;animation-iteration-count:1!important}.cel-timer span{animation:cel-timer var(--secs, 20s) linear forwards!important}}.celgallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.celgallery button{border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:64px;text-align:left;color:#fff;font-weight:600;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;position:relative;overflow:hidden}.celgallery button small{font-weight:400;opacity:.85}.celgallery button{text-shadow:0 1px 3px rgba(0,0,0,.55)}.celrow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.celnow .li .sub{white-space:normal}.celkw{display:flex;flex-wrap:wrap;gap:6px}.celkw .chip{border:1px solid var(--line);background:var(--panel)}.celkw .chip button{border:0;background:transparent;padding:0 0 0 4px;color:var(--ink-2)}html,body{height:100%}#root{height:100%;container:app / size}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: no-preference){.sheet{animation:rise .15s ease-out}@keyframes rise{0%{transform:translateY(12px);opacity:0}}}.app{--gut: 16px;height:100%;display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;position:relative}.rail{display:none}.main{overflow:auto;grid-row:1;grid-column:1;position:relative;display:flex;flex-direction:column}.tabbar{display:flex;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-row:2;grid-column:1}.tabbar button{flex:1;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:11px;min-height:var(--touch-kid)}.tabbar button .ico,.rail button .ico{width:22px;height:22px;flex:0 0 auto}.rail button .ico{width:26px;height:26px}.sheet .li .ico{width:22px;height:22px;color:var(--ink-2)}.tabbar button{color:var(--ink-2)}.tabbar button[aria-current=page]{color:var(--ink);font-weight:600}.app .only-kiosk{display:none}@container app (min-width: 1024px) and (orientation: landscape){.app{--gut: 32px;grid-template-columns:92px 1fr;grid-template-rows:1fr;font-size:18px}.rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:var(--rail);color:var(--rail-ink);grid-row:1;grid-column:1}.rail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:76px;min-height:var(--touch-kid);border:0;border-radius:14px;background:transparent;color:inherit;font-size:12px;font-weight:500}.rail button[aria-current=page]{background:var(--rail-on);color:var(--rail-on-ink);font-weight:600}.main{grid-column:2}.tabbar{display:none}.app .only-kiosk{display:block}.only-compact{display:none!important}}.appbar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--ground);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}.appbar h1{margin:0;font-family:var(--display);font-size:1.5em;font-weight:500;line-height:1.1;flex:1;text-wrap:balance}.subbar{display:flex;gap:10px;align-items:center;padding:10px 16px;background:var(--ground);border-bottom:1px solid var(--line)}.subbar .subtitle{flex:1;font-size:1.05em}.phonebar{flex-wrap:wrap}.phonebar .segctl{flex:1 1 100%;display:flex}.phonebar .segctl button{flex:1;padding:8px 6px;white-space:nowrap}.phonebar .row{flex:1 1 100%;margin-left:0!important}.phonebar .row .btn:nth-child(2){flex:1}.content{padding:16px;display:flex;flex-direction:column;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}.card h2{margin:0;font-size:.78em;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);font-weight:700}.card h2.serif,h2.serif{font-family:var(--display);font-size:1.3em;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink)}.cardhead{display:flex;align-items:baseline;gap:10px}.cardhead .muted{font-size:.8em;font-weight:500}.grow{flex:1}.muted{color:var(--ink-2)}.mono{font-family:var(--mono)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slot{border:1.5px dashed var(--line);border-radius:var(--radius);padding:12px;color:var(--ink-2);font-size:.85em;text-align:center}.slot b{display:block;color:var(--ink);font-family:var(--mono);font-size:.8em;margin-bottom:2px}.btn{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 16px;min-height:var(--touch);font-weight:600}.btn.quiet{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;min-height:44px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.iconbtn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:1.2em;flex:0 0 auto}.segctl{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:var(--ph)}.segctl button{border:0;background:transparent;padding:8px 16px;min-height:40px;border-radius:999px;font-weight:600}.segctl button[aria-pressed=true]{background:var(--ink);color:var(--panel)}.field>.segctl{align-self:flex-start}.viewtoggle{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:var(--ph);flex:0 0 auto}.viewtoggle button{width:48px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center}.viewtoggle button[aria-pressed=true]{background:var(--ink);color:var(--panel)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px}.chip.small{background:transparent;color:inherit;box-shadow:none;border:1px solid var(--line);font-size:.85em}.chip .dot{width:10px;height:10px;border-radius:50%}.src{display:inline-block;font-size:.68em;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--ph);color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}.status{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ok)}.status.bad{background:var(--danger)}.empty{text-align:center;padding:40px 16px;color:var(--ink-2)}.empty.small{padding:24px 12px}.empty .pic{width:96px;height:96px;border-radius:50%;background:var(--ph);color:var(--ink-2);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:44px}.empty.small .pic{width:64px;height:64px;font-size:30px}.fab{position:absolute;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:18px;background:var(--deep);color:var(--deep-ink);border:0;font-size:28px;z-index:6;box-shadow:0 6px 16px #2b262040;display:inline-flex;align-items:center;justify-content:center}.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:600;font-size:.85em;flex:0 0 auto}.avatar.all{background:var(--ph);color:var(--ink-2)}.avatar.sm{width:28px;height:28px;font-size:.7em}.avatar.lg{width:96px;height:96px;font-size:1.6em}.avatar.pic{object-fit:cover;display:inline-block}.banner{border:1px solid var(--line);background:var(--ground);border-radius:12px;padding:10px 12px;font-size:.9em}.banner.err{border-color:var(--danger);color:var(--danger)}.toggle{width:48px;height:28px;border-radius:14px;background:var(--line);position:relative;border:0;flex:0 0 auto}.toggle:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .12s}.toggle[aria-checked=true]{background:var(--accent)}.toggle[aria-checked=true]:after{left:23px}.kv{display:grid;grid-template-columns:minmax(96px,max-content) 1fr;gap:6px 14px;margin:0;font-size:.95em}.kv dt{color:var(--ink-2)}.kv dd{margin:0}.field{display:flex;flex-direction:column;gap:4px}.field label,.field>label{font-size:.8em;color:var(--ink-2);font-weight:500}.field .in,.in{border:1px solid var(--line);border-radius:12px;min-height:var(--touch);padding:0 12px;display:flex;align-items:center;background:var(--panel);gap:8px}.in.err{border-color:var(--danger)}.in input,.in select{border:0;background:transparent;flex:1;min-width:0;width:100%;max-width:100%;outline:none;min-height:46px}.field,.field .in,.in{min-width:0;max-width:100%}.help.err{font-size:.85em;color:var(--danger)}.profchips{display:flex;gap:8px;flex-wrap:wrap}.profchips button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 6px;background:transparent;min-height:44px}.profchips button[aria-pressed=true]{border-color:var(--ink);background:var(--ground);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.swatch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:40px;border-radius:50%;margin:0;cursor:pointer}.swatch input:checked{outline:3px solid var(--ink);outline-offset:2px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14161e73;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--panel);width:100%;max-height:92%;overflow:auto;border-radius:22px 22px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px;margin:0}.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto}.sheet h2{margin:0;font-family:var(--display);font-weight:500;font-size:1.5em;line-height:1.15;text-wrap:balance}@container app (min-width: 1024px) and (orientation: landscape){.scrim{align-items:center;left:92px}.sheet{width:560px;border-radius:22px;max-height:88%}.sheet .grab{display:none}}.headband{display:flex;align-items:center;gap:24px;padding:0 var(--gut);height:7.6em;box-sizing:border-box;overflow:hidden}.headband .date{display:flex;flex-direction:column;min-width:0;flex:0 0 auto;max-width:42%}.headband .date .eyebrow{font-size:.8em;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.headband .eyerow{display:flex;align-items:center;gap:10px;min-height:20px}.headband .daynav{margin:-6px 0}.headband .daynav button{min-width:30px;height:30px;padding:0 4px}.headband .daynav .totoday{font-size:.8rem;padding:0 9px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.headband .date h1{margin:0;font-family:var(--display);font-size:3em;font-weight:500;line-height:1;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.headband .date small{display:block;font-size:.88em;color:var(--ink-2);font-weight:400;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.headband .hbtools{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto}.headband .hbtools .row{flex-wrap:nowrap;gap:8px}.headband .hbtools .btn{min-height:44px;padding:8px 14px}.headband .hbtools+.hbright{margin-left:0}.headband .hbright{margin-left:auto;display:flex;align-items:center;gap:28px;min-width:0;flex:0 1 auto}.weather{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:16px;padding:12px 18px;background:var(--panel);color:inherit;text-align:left;font:inherit}button.weather{cursor:pointer}.weather .ico{flex:0 0 auto}.weather .wnow{display:flex;flex-direction:column}.weather .temp{font-family:var(--display);font-size:1.9em;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.weather small{color:var(--ink-2);display:block;font-size:.72em;margin-top:3px;white-space:nowrap}.weather.slot-inline{border-style:dashed}.weather .mini{display:flex;gap:14px;padding-left:18px;border-left:1px solid var(--line);align-self:center;min-height:40px;align-items:center}.weather .mini .mday{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.15}.weather .mini .mday small{font-size:.72em;font-weight:500;margin:0}.weather .mini .mday b{font-size:.72em;font-weight:500;color:var(--ink)}.weather.compact{gap:6px;padding:6px 10px}.weather.compact .temp{font-size:1.2em}.layoutpick.one{display:block}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:16px}.col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:200px;display:flex;flex-direction:column}.col .colhead{display:flex;align-items:center;gap:8px;padding:10px 12px;font-weight:600}.col .colhead button{margin-left:auto;background:#00000026;border:0;color:inherit;border-radius:6px;min-width:40px;min-height:40px;font-size:1.2em}.colslot{margin:auto 8px 8px;padding:8px}.ev{display:flex;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid var(--line-2);background:transparent;width:100%;text-align:left}.ev .bar{width:4px;border-radius:2px;flex:0 0 auto}.ev .t{font-size:.78em;font-weight:600;color:var(--ink-2);min-width:4.5em;font-variant-numeric:tabular-nums;padding-top:2px}.ev .body{flex:1;min-width:0;display:flex;flex-direction:column}.ev .body .title{font-weight:500}.ev .body .sub{font-size:.8em;color:var(--ink-2)}.ev.past{opacity:.55}.ev.now{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ev.now .t{color:var(--accent);font-weight:600}.ev .title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.ev.chg-deleted .title .txt,.ev.chg-moved .title .txt{text-decoration:line-through;text-decoration-thickness:2px;color:var(--ink-2)}.ev.chg-deleted,.ev.chg-moved{opacity:.75}.chg{font-size:.68em;padding:1px 7px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-decoration:none}.chg.new{background:color-mix(in srgb,var(--ok) 20%,var(--panel));color:var(--ok)}.chg.updated{background:color-mix(in srgb,var(--warn) 22%,var(--panel));color:var(--warn)}.chg.deleted,.chg.moved{background:color-mix(in srgb,var(--danger) 14%,var(--panel));color:var(--danger);text-transform:none;letter-spacing:0}.banner.change.new{border-color:var(--ok)}.banner.change.updated{border-color:var(--warn)}.banner.change.deleted,.banner.change.moved{border-color:var(--danger)}.sheet h2.gone,.sheet .kv dd.gone{text-decoration:line-through;color:var(--ink-2)}.sheet .history ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.9em}.sheet .history li{display:grid;grid-template-columns:7.5em 1fr;gap:10px;align-items:baseline}.sheet .history .hwhen{color:var(--ink-2);font-size:.85em;font-variant-numeric:tabular-nums}.week .blk.gone,.week .pill.gone{text-decoration:line-through;opacity:.55;outline:2px dashed color-mix(in srgb,currentColor 60%,transparent);outline-offset:-2px}.week .mark{position:absolute;top:3px;right:3px;width:9px;height:9px;border-radius:50%;border:2px solid var(--panel);box-sizing:content-box}.week .pill .mark{position:static;display:inline-block;margin-right:4px;vertical-align:middle;width:7px;height:7px}.week .mark.new{background:var(--ok)}.week .mark.updated{background:var(--warn)}.week .mark.deleted,.week .mark.moved{background:var(--danger)}.month .dots i.gone{background:transparent!important;box-shadow:inset 0 0 0 2px var(--danger)}.month .day .lbls span.gone{text-decoration:line-through;opacity:.6}.month .day .lbls span.chg-new{box-shadow:inset 2px 0 0 var(--ok)}.month .day .lbls span.chg-updated{box-shadow:inset 2px 0 0 var(--warn)}.agenda{display:flex;flex-direction:column}.agenda .dayhead{padding:14px 16px 4px;font-weight:700;color:var(--ink-2);font-size:.75em;text-transform:uppercase;letter-spacing:.12em}.headband .hbwho{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-right:6px}.hbwho .face{display:inline-flex}.hbwho .avatar{width:34px;height:34px;font-size:.8em;box-shadow:0 0 0 2px var(--ground)}.app .only-kiosk.weekpage,.app .todaypage,.app .only-kiosk.todaypage{display:flex;flex-direction:column;flex:1;min-height:0}.todaypage .cols{flex:1;grid-auto-rows:1fr;align-content:stretch}.todaypage .col{min-height:0;overflow-y:auto}.weekwrap{flex:1;min-height:0;overflow:auto}.week{display:grid;grid-template-columns:52px repeat(7,1fr);background:var(--panel)}.week .hd{position:sticky;top:0;background:var(--panel);z-index:3;border-bottom:1px solid var(--line);padding:8px 6px;text-align:center;font-size:.85em;height:78px;box-sizing:border-box}.week .allday-lbl,.week .alldayrow{position:sticky;top:78px;z-index:3;background:var(--panel)}.week .hd b{display:block;font-size:1.3em}.week .hd b{font-family:var(--display);font-weight:500}.week .hd.today b{background:var(--ink);color:var(--panel);border-radius:50%;width:2em;height:2em;line-height:2em;margin:0 auto}.week .lbl{font-size:.7em;font-weight:600;color:var(--ink-2);text-align:right;padding-right:6px}.week .allday-lbl{padding-top:8px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:.62em}.week .alldayrow{grid-column:2 / 9;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-flow:row dense;align-content:start;gap:3px;padding:4px 3px;border-bottom:1px solid var(--line);min-height:34px}.week .pill{font-size:.72em;padding:3px 8px;border-radius:4px;border:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:22px}.week .hours{position:relative;height:704px;margin-top:10px}.week .hours div{position:absolute;right:6px;font-size:.68em;font-weight:600;color:var(--ink-2);transform:translateY(-50%)}.week .daycol{position:relative;border-left:1px solid var(--line-2);height:704px;margin-top:10px;background-image:linear-gradient(var(--line-2) 1px,transparent 1px);background-size:100% 44px}.week .blk{position:absolute;left:3px;right:3px;box-sizing:border-box;border-radius:8px;padding:4px 6px;font-size:.75em;font-weight:600;overflow:hidden;border:0;text-align:left;line-height:1.2}.week .blk small{display:block;opacity:.85;font-weight:500;font-size:.9em}.week .blk.ro,.week .pill.ro{outline:2px dashed color-mix(in srgb,currentColor 60%,transparent);outline-offset:-2px}.week .blk .av{position:absolute;right:4px;bottom:4px;display:flex}.week .blk .av span{width:18px;height:18px;border-radius:50%;border:2px solid var(--panel);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff;margin-left:-6px}.week .now{position:absolute;left:0;right:0;height:2px;background:var(--now);z-index:2;pointer-events:none}.week .now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--now)}.weekpage .weekwrap{margin:0 var(--gut) 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel)}.daypager{display:flex;gap:6px;padding:12px 16px;overflow-x:auto;background:var(--ground);border-bottom:1px solid var(--line)}.daypager button{flex:1;min-width:40px;min-height:56px;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-size:.8em}.daypager button b{display:block;font-family:var(--display);font-weight:500;font-size:1.4em}.daypager button.isnow b{color:var(--now)}.daypager button[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}.daypager button[aria-pressed=true] b{color:inherit}.daypager .pg{flex:0 0 36px;min-width:36px}.month{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line);margin:16px;border-radius:var(--radius-lg);overflow:hidden}.month .dow{background:var(--panel);text-align:center;font-size:.75em;color:var(--ink-2);padding:6px 0;text-transform:uppercase;letter-spacing:.06em}.month .day{background:var(--panel);min-height:64px;padding:6px;border:0;text-align:left;display:flex;flex-direction:column;gap:4px;font-size:.85em}.month .day.out{color:var(--ink-2);background:var(--ground)}.month .day .n{width:1.7em;height:1.7em;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.month .day .n{font-family:var(--display);font-weight:500}.month .day.today .n{background:var(--ink);color:var(--panel)}.month .day[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:-2px}.month .dots{display:flex;gap:3px;flex-wrap:wrap}.month .dots i{width:8px;height:8px;border-radius:50%;display:block}.month .day .lbls{display:none;flex-direction:column;gap:2px;width:100%}.month .day .lbls span{font-size:.75em;border-radius:3px;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month .day .more{font-size:.75em;color:var(--ink-2)}@container app (min-width: 1024px) and (orientation: landscape){.month .day{min-height:96px}.month .day .dots{display:none}.month .day .lbls{display:flex}}.settings{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-content:start;flex:1}.stabs{display:flex;gap:6px;padding:12px 16px;overflow-x:auto;background:var(--ground);border-bottom:1px solid var(--line)}.stabs button{border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:var(--panel);white-space:nowrap;min-height:44px}.stabs button[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink);font-weight:600}.stabs .cnt{display:inline-block;margin-left:6px;min-width:1.4em;padding:0 5px;border-radius:999px;background:color-mix(in srgb,currentColor 18%,transparent);font-size:.8em;text-align:center}@container app (min-width: 1024px) and (orientation: landscape){.settings{grid-template-columns:220px minmax(0,1fr);grid-template-rows:1fr}.stabs{flex-direction:column;border-bottom:0;border-right:1px solid var(--line);padding:16px;overflow:visible;align-self:start;height:100%}.stabs button{text-align:left;border-radius:8px}}.list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--panel)}.list .li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2);min-height:56px}.list .li:last-child{border-bottom:0}.list .li .grow{flex:1;min-width:0}.list .li .sub{font-size:.8em;color:var(--ink-2)}.list .li .sub.warn{color:var(--warn)}.center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:20px;text-align:center}.center .logo{width:64px;height:64px;border-radius:16px;background:var(--accent)}.center h1{margin:0;font-family:var(--display);font-weight:500;font-size:2em;text-wrap:balance}.center .form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;text-align:left}.code{display:flex;gap:8px;justify-content:center}.code span{width:48px;height:60px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1.6em;background:var(--panel)}.picker{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ground);z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px}.picker h2{margin:0;font-family:var(--display);font-weight:500;font-size:1.7em}.tiles{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.tile{display:flex;flex-direction:column;align-items:center;gap:10px;border:0;background:transparent;font-size:1.1em;font-weight:500;min-width:120px}.pinpad{display:grid;grid-template-columns:repeat(3,72px);gap:10px}.pinpad button{height:64px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-size:1.4em}.pindots{display:flex;gap:12px}.pindots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink)}.pindots i.on{background:var(--ink)}.check{border:2px solid var(--c, var(--accent));border-radius:50%;background:var(--panel);display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;color:#fff;flex:0 0 auto;padding:0;transition:background .12s,border-color .12s}.check.on{background:var(--c, var(--accent));border-color:var(--c, var(--accent))}.chore{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line-2)}.starchip{flex:0 0 auto;font-size:.7em;font-weight:600;color:var(--star);white-space:nowrap}.chore.done .starchip{opacity:.6}.chore .body{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left;border:0;background:transparent;padding:0}.chore .title{font-weight:600}.chore .cline{display:flex;align-items:baseline;gap:10px;min-width:0}.chore .cline .title{flex:1 1 auto;min-width:0}.col>.chore .title{font-size:.92em}.chore .whois{color:inherit;font-weight:inherit}.chore .sub{font-size:.8em;color:var(--ink-2)}.chore.done .title{text-decoration:line-through;color:var(--ink-2)}.chores-inline{display:flex;flex-direction:column}.chorewho{display:flex;align-items:center;gap:8px;padding:10px 0 4px;font-size:.85em;font-weight:600;color:var(--ink-2)}.chorewho .avatar.sm{width:22px;height:22px;font-size:.6em}.routine{border-bottom:1px solid var(--line-2);background:color-mix(in srgb,var(--c, var(--accent)) 6%,var(--panel));padding-bottom:6px}.routine .rhead{display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%;padding:10px 12px 8px;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}.routine .progress.small{background:color-mix(in srgb,var(--c, var(--accent)) 16%,var(--line-2))}.routine .progress.small>span{background:var(--c, var(--accent))}.rsteps{--ck: 28px;list-style:none;margin:0;padding:0 12px 2px 14px;display:flex;flex-direction:column}.rsteps li{position:relative;display:flex;align-items:center;gap:12px;min-height:calc(var(--ck) + 14px)}.rsteps li:not(:last-child):after{content:"";position:absolute;left:calc(var(--ck) / 2 - 1px);top:calc(50% + var(--ck) / 2 + 2px);height:calc(100% - var(--ck) - 4px);width:2px;border-radius:1px;background:color-mix(in srgb,var(--c, var(--accent)) 28%,transparent)}.rsteps li.done:not(:last-child):after{background:var(--c, var(--accent))}.rsteps .steplabel{flex:1;min-width:0;min-height:calc(var(--ck) + 10px);display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:.92em;text-align:left;cursor:pointer}.rsteps li.done .steplabel{text-decoration:line-through;color:var(--ink-2)}.rsteps .sico{font-size:1.1em}.routine.done .rsteps{opacity:.75}.routine .rt{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.62em;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.12em;line-height:1.2}.routine .rstars{text-transform:none;letter-spacing:0;font-size:1.15em;font-weight:600}.routine .rline{display:flex;align-items:baseline;gap:12px;min-width:0}.routine .title{flex:1 1 auto;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routine .sub{flex:0 0 auto;margin-left:auto;text-align:right;font-size:.8em;color:var(--ink-2);white-space:nowrap}.routine .progress.small{width:100%;height:5px;margin-top:3px}.routine.done .title{color:var(--ok)}.progress{width:100%;height:10px;border-radius:5px;background:var(--line-2);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s}.progress.small{width:56px;height:6px}.colhead .stars{margin-left:auto;font-weight:700;font-size:.85em;font-variant-numeric:tabular-nums}.stars.big{font-weight:700;font-size:1.2em;font-variant-numeric:tabular-nums}.runner{gap:16px;justify-content:flex-start;padding-top:32px}.runner h2{margin:0;font-size:1.4em}.runlist{list-style:none;margin:0;padding:0;width:100%;max-width:560px;display:flex;flex-direction:column;gap:10px}.runlist li{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.runlist li.done .runlabel{text-decoration:line-through;color:var(--ink-2)}.runlabel{flex:1;text-align:left;border:0;background:transparent;font-size:1.25em;min-height:44px}.cheer{font-size:1.4em;font-weight:600;color:var(--ok)}.rewards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.reward{border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.reward .ico{font-size:2em}.reward .title{font-weight:500}.reward .cost{font-family:var(--mono);color:var(--ink-2)}.reward.far{opacity:.7}.toast{position:absolute;left:50%;bottom:88px;transform:translate(-50%);background:var(--ink);color:var(--ground);padding:10px 16px;border-radius:999px;z-index:40;font-weight:500}.pchk{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;min-height:44px;cursor:pointer}.pchk:has(input:checked){border-color:var(--accent);background:var(--ground);box-shadow:inset 0 0 0 1px var(--accent)}.subbar .pchip{border:0;cursor:pointer;opacity:.7}.subbar .pchip.picked{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.subbar .pchip .count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,currentColor 22%,transparent);color:inherit;font-size:.75em;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-left:-2px}.pchip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:4px 14px 4px 4px;font-weight:500;white-space:nowrap}.sheet.tall{max-height:96%}.stack{display:flex;flex-direction:column;gap:12px}.list .li.done .litext{text-decoration:line-through;color:var(--ink-2)}.litext{text-align:left;border:0;background:transparent;font-size:1.05em;min-height:44px;padding:0}.addrow{display:flex;gap:8px}.list button.li{width:100%;border:0;background:transparent;text-align:left;border-bottom:1px solid var(--line-2)}.mealweek{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.mealday{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}.mealday.today{outline:2px solid var(--accent);outline-offset:-2px}.mealdow{font-size:.8em;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}.mealdow b{color:var(--ink);font-size:1.2em;margin-left:4px}.mealslot{flex:1;border:1.5px dashed var(--line);border-radius:10px;background:transparent;min-height:64px;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px}.mealslot.filled{border-style:solid;color:var(--ink);font-weight:500;text-align:center}.mealslot img{width:100%;height:56px;object-fit:cover;border-radius:6px}.linkbtn{border:0;background:transparent;color:var(--accent);padding:4px 0;text-align:left;font-size:.9em}.candidates,.recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.candidate img,.recipe .thumb img{width:100%;height:120px;object-fit:cover;border-radius:8px}.recipe .thumb{border:0;background:transparent;padding:0;width:100%}.recipe .thumb .ph,.candidate .ph{width:100%;height:120px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2.2em}.recipe .thumb .ph:after,.candidate .ph:after{content:"🍽️";opacity:.6}.score{font-family:var(--mono);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--ph)}.score.up{background:color-mix(in srgb,var(--ok) 20%,var(--panel));color:var(--ok)}.score.down{background:color-mix(in srgb,var(--danger) 15%,var(--panel));color:var(--danger)}.voters{gap:2px;min-height:28px}.voter{border-radius:50%;padding:2px}.voter.up{box-shadow:0 0 0 2px var(--ok)}.voter.down{box-shadow:0 0 0 2px var(--danger);opacity:.7}.btn.vote.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tonight{flex-direction:row;align-items:center;gap:12px}button.card.tonight{display:flex;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.card.tonight .ico{color:var(--sun)}.sheet.cookmode{font-size:1.35em}.sheet .hero{width:100%;max-height:220px;object-fit:cover;border-radius:10px}.sheet h3{margin:0 0 6px;font-size:.85em;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.ingredients,.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.cookmode .steps li{padding:8px 0;border-bottom:1px solid var(--line-2)}.skystrip{display:flex;align-items:center;gap:12px;padding:6px 16px;min-height:40px;width:100%;border:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;text-align:left;overflow:hidden;white-space:nowrap;cursor:pointer}.skystrip .plane{color:var(--accent);font-size:1.1em}.skystrip .ac{display:inline-flex;gap:6px;align-items:baseline;min-width:0;overflow:hidden;text-overflow:ellipsis}.skystrip .ac b{font-family:var(--mono);font-weight:600}.skystrip .ac .meta{color:var(--ink-2);font-size:.85em;overflow:hidden;text-overflow:ellipsis}.skystrip .ac.hot b{color:var(--warn)}.skystrip .more{margin-left:auto;color:var(--ink-2);font-size:.85em}.locchip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.78em;font-weight:500;background:var(--ground);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.locchip.home{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok);border-color:transparent}.locchip.away{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-color:transparent}.colhead .locchip,.colhead .locchip.home,.colhead .locchip.away{margin-left:4px;background:#ffffff47;color:inherit;border-color:transparent}.locrow{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 0}.locrow .who{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:.9em}.locrow .who .avatar{width:24px;height:24px;font-size:.7em}.locrow.compact{padding:8px 0 0}.saver .locrow .who{background:#ffffff1f;border-color:#ffffff40;color:#fff}.saver .locchip{background:#ffffff26;color:#fff;border-color:transparent}.locpanel{display:flex;gap:12px;padding:12px 16px 0;align-items:stretch}.locpanel .fmapwrap{flex:0 0 46%;min-width:150px}.locpanel .fcastwrap{flex:1 1 260px;min-width:0}.fcast{display:flex;flex-direction:column;gap:8px;width:100%;height:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.fcast .now{display:flex;align-items:center;gap:12px}.fcast .now .glyph{flex:0 0 auto}.fcast .now b{font-family:var(--display);font-weight:500;font-size:1.8em;line-height:1;font-variant-numeric:tabular-nums}.fcast .now small{display:block;color:var(--ink-2);font-size:.8em}.fcast .forecast{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.fcast .fday{min-width:52px;padding:6px 4px;font-size:.85em}.fcast .credit{font-size:.65em;color:var(--ink-2);margin-top:auto}.menucard{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:100%;padding:5px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:inherit;font:inherit;font-size:.85em;line-height:1.35;text-align:left;cursor:pointer}.menucard .line{display:flex;align-items:center;gap:6px;min-width:0}.menucard .t{flex:0 0 auto}.menucard .who{display:inline-flex;flex:0 0 auto}.menucard .who .avatar{width:20px;height:20px;font-size:.6em;box-shadow:0 0 0 1.5px var(--panel)}.menucard .who .avatar+.avatar{margin-left:-6px}.menucard .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menucard .dish{font-weight:600}.menucard .label{color:var(--ink-2)}.menucard .sides{font-size:.9em;color:var(--ink-2)}.menucard .note,.menuweek .note{font-weight:600;color:var(--warn)}.gradestrip{display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:100%;padding:5px 10px 6px;border:0;border-bottom:1px solid var(--line-2);background:color-mix(in srgb,var(--c, var(--accent)) 6%,transparent);color:inherit;font:inherit;font-size:.62em;text-align:left;cursor:pointer}.gradestrip .head{display:inline-flex;align-items:center;gap:4px;margin-right:2px;color:var(--ink-2);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.gradestrip .gchip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 2px 1px 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel);line-height:1.3}.gradestrip .gchip .crs{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gradestrip .gchip.new{border-color:color-mix(in srgb,var(--c, var(--accent)) 60%,var(--line))}.gradestrip .gchip .gscore{font-size:.95em;padding:0 5px}.gradestrip .quiet{color:var(--ink-2)}.agenda .gradestrip{padding:6px 16px;font-size:.72em}.unclaimedwrap{display:flex;flex-direction:column;gap:8px;padding:0 16px 12px}.unclaimed{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;border:1.5px dashed var(--line);border-radius:var(--radius);font-size:.85em;color:var(--ink-2)}.unclaimed .avatar.unknown,.gradetabs .avatar.unknown{background:var(--line);color:var(--ink-2)}.unclaimed .grow{flex:1;min-width:0}.unclaimed .who{display:flex;flex-wrap:wrap;gap:6px}.unclaimed .who button,.sheet .gradetabs button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:3px 12px 3px 3px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:inherit;font:inherit}.unclaimed .who button .avatar,.sheet .gradetabs button .avatar{width:26px;height:26px;font-size:.65em}.sheet .gradetabs{display:flex;flex-wrap:wrap;gap:6px}.sheet .gradetabs button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.gradecourse .li:first-child{background:color-mix(in srgb,var(--c, var(--accent)) 8%,var(--panel))}.gscore{font-family:var(--mono);font-size:.9em;font-weight:600;white-space:nowrap;padding:2px 8px;border-radius:999px;background:var(--line-2)}.gscore.good{background:var(--ok);color:#fff}.gscore.ok{background:var(--warn);color:#1a1200}.gscore.low{background:var(--danger);color:#fff}.gradecourse .li{min-height:48px}.gradecourse select{border:0;background:transparent;font:inherit;color:inherit;max-width:140px}.menuweek .li{align-items:flex-start}.menuweek .li.off{background:var(--ground)}.menuweek .day{font-family:var(--mono);font-size:.8em;min-width:64px;color:var(--ink-2);padding-top:2px}.locpanel .locside{display:flex;flex-direction:column;justify-content:center;gap:8px;flex:0 1 auto}.locpanel:not(.kiosk) .locrow+.menucard{contain:inline-size}.locpanel .locside>.menucard:only-child{max-width:280px}.locpanel .locrow{padding:0;flex-direction:column;align-items:flex-start;justify-content:center}.locpanel.kiosk{padding:16px 16px 0}.locpanel.kiosk .fmapwrap{flex:0 0 380px}.locpanel.kiosk .fcastwrap{flex:0 0 340px}.locpanel.kiosk .locside{flex:1 1 0;min-width:0;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:12px}.locpanel.kiosk .locrow{flex:0 1 auto;min-width:0;flex-direction:row;align-content:flex-start}.locpanel.kiosk .menucard{flex:0 1 300px;min-width:200px}.fmap{position:relative;overflow:hidden;border-radius:var(--radius);background:#dfe7ec;border:1px solid var(--line);width:100%;height:100%;min-height:140px;cursor:pointer}.fmap.big{min-height:60vh;cursor:default}.fmap img.tile{position:absolute;width:256px;height:256px;pointer-events:none;-webkit-user-select:none;user-select:none}.fmap img.radar{position:absolute;width:256px;height:256px;pointer-events:none;mix-blend-mode:multiply}.fmap .mk{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none}.fmap .mk .avatar{width:26px;height:26px;font-size:.75em;box-shadow:0 0 0 2px #fff,0 1px 4px #0006}.fmap .mk .home{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:14px;box-shadow:0 1px 4px #0006}.fmap .mk small{font-size:.68em;font-weight:600;color:#1f2330;background:#ffffffd9;padding:0 4px;border-radius:4px;line-height:1.4}.fmap .attr{position:absolute;right:4px;bottom:2px;font-size:.6em;color:#1f2330;background:#ffffffb3;padding:0 4px;border-radius:3px}.fmap .stamp{position:absolute;left:6px;top:6px;font-size:.7em;font-family:var(--mono);color:#1f2330;background:#fffc;padding:1px 6px;border-radius:4px}.zoomctl{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:4px}.zoomctl button{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:#fff;color:#1f2330;font-size:1.2em}.savermap{width:320px;height:180px;margin-top:10px}.saver .fmap{border-color:#ffffff4d}@container app (max-width: 480px){.locpanel{flex-direction:column}.locpanel .fmapwrap{flex:none;height:170px}.locpanel .locside>.menucard:only-child{max-width:none}.locpanel .locrow{flex-direction:row}}.actag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.75em;background:var(--warn);color:#1a1200;margin-left:6px;vertical-align:middle}.saversky{margin-top:8px;font-size:1em}.saversky span[aria-hidden]{color:#9cc7e0}.mapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.mapgrid label{font-size:.75em;color:var(--ink-2);display:block;margin-bottom:2px}.alertstrip{display:flex;align-items:center;gap:10px;padding:10px 16px;font-weight:600;flex-wrap:wrap;background:var(--notice);color:var(--notice-ink);border-bottom:1px solid color-mix(in srgb,var(--notice-ink) 15%,transparent)}.alertstrip .aico{display:inline-flex;flex:0 0 auto}.alertstrip .more{font-weight:400;opacity:.8}.alertstrip.info{background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--ink)}.alertstrip.urgent{background:var(--danger);color:#fff}.alertstrip .text{flex:1;min-width:160px}.alertstrip .snap{height:44px;border-radius:6px}.alertstrip .actions{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-left:auto;scrollbar-width:none}@container app (max-width: 1023px){.alertstrip{padding:8px 12px}.alertstrip .actions{width:100%;margin-left:0}.alertstrip .actions button{padding:2px 10px;min-height:32px;white-space:nowrap}}.alertstrip .actions button{background:transparent;border:1px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:999px;padding:4px 14px;min-height:36px;color:inherit;font-weight:600}.alertstrip .actions .act.primary{background:var(--notice-btn);color:var(--notice);border-color:transparent}.alertstrip.info .actions .act.primary{background:var(--accent);color:var(--accent-ink)}.alertstrip.urgent .actions .act.primary{background:#ffffff4d;color:#fff}.alertstrip .actions .act.danger{background:#00000026;border-color:transparent}.tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.tile.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tile.unknown{opacity:.6}.tile.moving{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.tile .terr{font-size:.8em;color:var(--danger)}.tile.wtile{padding:0;border:0;background:transparent}.tile.wtile .fcast{height:100%}.tile .tico{font-size:1.4em}.tile .tstate{color:var(--ink-2)}.weather .ico.live{background:color-mix(in srgb,var(--accent) 35%,var(--panel))}.appbar .weather{padding:4px 8px}.appbar .weather .ico{width:24px;height:24px}.appbar .weather .temp{font-size:1.1em}.sleepveil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:0;background:#000;color:#333;font-family:var(--mono);font-size:3em;display:flex;align-items:center;justify-content:center}.capture{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.capbtn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);font-weight:500;min-height:96px;text-align:center}.capbtn .ico{font-size:1.8em}.capbtn small{color:var(--ink-2);font-weight:400;font-size:.75em}.capbtn:disabled{opacity:.5}.ta{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--panel);resize:vertical;min-height:120px;font:inherit;color:inherit}.importrow .kindico{font-size:1.3em;width:32px;text-align:center;flex:0 0 auto}.importrow .title{font-weight:500;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.stpill{font-size:.75em;padding:3px 8px;border-radius:999px;background:var(--ph);color:var(--ink-2);white-space:nowrap;flex:0 0 auto}.stpill.ok{background:color-mix(in srgb,var(--ok) 20%,var(--panel));color:var(--ok)}.stpill.bad{background:color-mix(in srgb,var(--danger) 15%,var(--panel));color:var(--danger)}.stpill.wait{font-style:italic}.cand{border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--ground)}.cand.skip{opacity:.55}.cand.approved,.cand.rejected{opacity:.7}.candhead{display:flex;align-items:center;gap:10px}.candhead .title{font-weight:500}.candhead .sub{font-size:.8em;color:var(--ink-2)}.conf{font-size:.7em;padding:2px 8px;border-radius:999px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;background:var(--ph);color:var(--ink-2);flex:0 0 auto}.conf.high{background:color-mix(in srgb,var(--ok) 20%,var(--panel));color:var(--ok)}.conf.low{background:color-mix(in srgb,var(--warn) 45%,var(--panel));color:#5a3d00}.profchips.small button{min-height:36px;padding:3px 10px 3px 3px;font-size:.9em}.profchips.small button:disabled{opacity:.5;cursor:default}.candedit{border-top:1px solid var(--line-2);padding-top:10px}.excerpt{margin:0;padding:8px 12px;border-left:3px solid var(--line);color:var(--ink-2);font-size:.85em;font-style:italic}.list .li.subrow{flex-wrap:wrap;gap:8px 14px;padding-top:4px;background:var(--ground)}.sel{min-height:40px;border-radius:8px;border:1px solid var(--line);background:var(--panel);padding:0 8px;max-width:100%;min-width:0;text-overflow:ellipsis}.card>*{min-width:0}.tile.camtile{padding:10px;text-align:left;cursor:pointer}.tile.camtile img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:var(--ph);display:block}.camview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;color:#fff;display:flex;flex-direction:column}.camhead{display:flex;align-items:center;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px))}.camhead .src{background:#ffffff26;color:#fff}.camhead .iconbtn{background:transparent;color:#fff;border-color:#ffffff4d}.camimg{flex:1;min-height:0;width:100%;object-fit:contain;background:#000}.saver{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;border:0;background:#0b0d12;color:#e8e6df;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;cursor:default;text-align:center}.saverlayer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#0b0d12}.saverpic{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.saverpic.contain{object-fit:contain}.saverbg{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;filter:blur(32px) brightness(.5) saturate(1.2)}.fx-fade{animation:fxfade 1.2s ease-out both}.fx-slide{animation:fxslide 1.1s cubic-bezier(.2,.75,.2,1) both}.fx-zoom{animation:fxzoom 1.5s ease-out both}.fx-blur{animation:fxblur 1.5s ease-out both}@keyframes fxfade{0%{opacity:0}}@keyframes fxslide{0%{transform:translate(100%)}}@keyframes fxzoom{0%{opacity:0;transform:scale(1.18)}}@keyframes fxblur{0%{opacity:0;filter:blur(26px)}}.saverpic.kb{transform-origin:var(--kb-origin, 50% 50%);animation:kenburns var(--kb-dur, 22s) ease-in-out both;will-change:transform}@keyframes kenburns{0%{transform:scale(var(--kb-s0, 1)) translate(var(--kb-x0, 0),var(--kb-y0, 0))}to{transform:scale(var(--kb-s1, 1.14)) translate(var(--kb-x1, 0),var(--kb-y1, 0))}}@media (prefers-reduced-motion: reduce){.saverpic.kb,.fx-slide,.fx-zoom{animation:none}.fx-blur{animation:fxfade 1.2s ease-out both}}.saverwake{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:0;background:transparent;padding:0;cursor:default}.saverui{position:relative;z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 32px;border-radius:20px}.saverlabel{font-size:.9em;color:#c9c6bd}.savershowing{margin-top:4px;font-size:.75em;text-transform:uppercase;letter-spacing:.06em;color:#9cc7e0}.savergreet{position:absolute;z-index:2;top:28px;left:50%;transform:translate(-50%);pointer-events:none;padding:12px 28px;border-radius:999px;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:2em;font-weight:600;white-space:nowrap}.savertools{position:absolute;z-index:3;right:24px;bottom:24px;display:flex;gap:8px}.savertools button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;min-height:56px;padding:6px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#0000006b;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.75;font-size:1.1em}.savertools button:hover,.savertools button:focus-visible{opacity:1}.savertools small{font-size:.62em;letter-spacing:.03em}.savertoast{position:absolute;z-index:3;left:50%;bottom:28px;transform:translate(-50%);display:flex;gap:14px;align-items:center;padding:10px 18px;border-radius:999px;background:#000000b3;color:#fff}.savertoast .linkbtn{color:#9cc7e0;font-size:1em;padding:0}.scrim.saverscrim{z-index:60;left:0}.saverscrim .sheet{color:var(--ink);text-align:left}.saverscrim .sheet .muted{color:var(--ink-2)}.savercontrols .pchip{border:1px solid var(--line);background:var(--panel);color:var(--ink);min-height:40px;cursor:pointer}.savercontrols .pchip small{margin-left:2px;font-weight:400}.savercontrols .pchip.mode{padding:8px 14px}.savercontrols .pchip:disabled{opacity:.45}.saverstats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85em;color:var(--ink-2)}.saverstats b{color:var(--ink);font-variant-numeric:tabular-nums}.slidegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.slidegrid figure{margin:0;display:flex;flex-direction:column;gap:4px;font-size:.75em;color:var(--ink-2)}.slidegrid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:var(--ph);display:block}.slidegrid figure.visit img,.slidegrid figure.occasion img{outline:2px solid var(--accent);outline-offset:1px}.saver.haspic .saverui{background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;left:24px;bottom:24px;align-items:flex-start;text-align:left}.saver.haspic .saverui .row{justify-content:flex-start!important}.saverclock{font-family:var(--mono);font-size:5em;font-variant-numeric:tabular-nums;line-height:1}.saverdate{font-size:1.4em;color:#c9c6bd}.saver .weather{border-color:#ffffff40;color:#fff}.saver .weather small,.saver .muted{color:#c9c6bd}.savernext{margin-top:10px;font-size:1.1em}.savercap{margin-top:6px;font-size:.95em;color:#c9c6bd;font-style:italic}.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.photocell{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--ph)}.photocell img{width:100%;height:100%;object-fit:cover;display:block}.photocell .iconbtn{position:absolute;top:4px;right:4px;width:32px;height:32px;background:#0000008c;color:#fff;border:0}.forecast{display:flex;gap:10px}.fday{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:64px;padding:8px 6px;border:1px solid var(--line-2);border-radius:12px}.fday small{font-size:.7em;font-weight:600;color:var(--ink-2)}.fday small.rain{color:var(--accent);font-weight:600}.fday .fglyph{flex:0 0 auto}.fday .fhl{font-size:.85em;font-weight:600;font-variant-numeric:tabular-nums}.saver .fday{border-color:#ffffff40}.saver .weather{background:transparent;box-shadow:none}.starweek{display:flex;gap:6px;align-items:flex-end;padding:4px 0}.sday{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;border-radius:8px;border:1px solid transparent}.sday.today{border-color:var(--accent)}.sday.future{opacity:.45}.sday .sbar{width:100%;max-width:28px;height:36px;border-radius:6px;background:var(--line-2);display:flex;align-items:flex-end;overflow:hidden}.sday .sbar>span{display:block;width:100%;background:var(--warn);border-radius:6px 6px 0 0;transition:height .2s}.sday.lit .sbar>span{background:#f2b705}.sday .sn{font-family:var(--mono);font-size:.8em;min-height:1.2em}.sday small{font-size:.7em;color:var(--ink-2)}.sweek{display:flex;flex-direction:column;align-items:center;padding:0 8px 6px;border-left:1px solid var(--line-2)}.sweek b{font-size:1.3em}.sweek small{font-size:.7em;color:var(--ink-2)}.chip.streak{border-color:#f2b705;color:#8a5a00;background:color-mix(in srgb,#f2b705 15%,var(--panel))}.started .list .li.done{opacity:.6}.started .list button.li:disabled{cursor:default}.started .chev{color:var(--ink-2)}.installhint{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);font-size:.9em}.installhint .text{flex:1}.hometabs .badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.75em;font-weight:600}.hometabs button[aria-pressed=true] .badge{background:var(--accent-ink);color:var(--accent)}.reviewgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.rcard{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;cursor:pointer}.rcard img,.rcard .rph{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--ph);display:flex;align-items:center;justify-content:center;font-size:2.2em}.rcard .rbody{padding:10px 12px}.rcard .rtitle{font-weight:600}.rcard .rsub{color:var(--ink-2);font-size:.85em}.rcard.done{opacity:.65}.rclip{width:100%;max-height:300px;border-radius:10px;background:#000}.sysdot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;background:var(--ph);margin-top:6px}.sysdot.ok{background:var(--ok)}.sysdot.warn{background:var(--warn, #E39A12)}.sysdot.fail{background:var(--danger)}.sysrow.off{opacity:.6}.list .sysrow{align-items:flex-start}.sysrow .sysdot{margin-top:5px}.sysrow .sub{white-space:normal}.syshint{color:var(--ink);font-style:italic}.offline{display:flex;align-items:center;gap:10px;padding:8px 16px;background:color-mix(in srgb,var(--warn) 18%,var(--panel));color:var(--ink);border-bottom:1px solid var(--line);font-size:.9em}.offline .dot{width:10px;height:10px;border-radius:50%;background:var(--warn);animation:offline-pulse 2s infinite}@keyframes offline-pulse{50%{opacity:.3}}.mediactl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mediactl .btn{min-width:44px;padding:0 10px}.mediactl .vol{min-width:3.2em;text-align:center;font-family:var(--mono);font-size:.9em}.mediactl .sel{flex:1 1 100%}.rail .help{margin-top:auto;color:var(--rail-ink)}.railclock{font-family:var(--display);font-size:1.5em;font-weight:500;line-height:1;color:var(--rail-on);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;padding:10px 0 14px}.rail .help .ico{width:24px;height:24px}.rail .announce{color:color-mix(in srgb,var(--sun) 65%,#fff)}.rail .help+.announce{margin-top:0}.phrases{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.phrases .phrase{min-height:56px;white-space:normal;line-height:1.2}.pchip[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.setup{flex:1;display:flex;flex-direction:column;min-height:100%}.setup .appbar .logo.small{width:28px;height:28px;border-radius:8px;background:var(--accent)}.setup .content{max-width:720px;width:100%;margin:0 auto}.setup .stephead h2{margin:2px 0 0;font-size:1.4em;text-wrap:balance}.setup .content>p.muted{margin:0;font-size:.95em}.steps{display:flex;gap:4px;padding:10px 16px;overflow-x:auto;background:var(--panel);border-bottom:1px solid var(--line);scrollbar-width:none}.steps .step{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:6px 12px 6px 6px;background:transparent;white-space:nowrap;min-height:44px;color:var(--ink-2)}.steps .step .num{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.8em;font-weight:600;background:var(--ph);color:var(--ink)}.steps .step.done .num{background:var(--ok);color:#fff}.steps .step.skipped .num{background:transparent;border:1.5px dashed var(--line)}.steps .step.current{color:var(--ink);border-color:var(--accent)}.steps .step.current .num{background:var(--accent);color:var(--accent-ink)}.setupnav{display:flex;gap:8px;align-items:center;padding-top:8px;padding-bottom:env(safe-area-inset-bottom,0px)}.integ .segctl{flex:0 0 auto}.integ .segctl button{padding:6px 12px;min-height:40px;font-size:.9em}.integ.on{border-color:var(--accent)}.integ.off{opacity:.7}.integ .title{font-weight:600}.status.off{background:var(--line)}.envlist .li{min-height:44px;padding:6px 12px}.envbox{width:100%;font-family:var(--mono);font-size:.8em;line-height:1.45;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--ground);color:var(--ink);resize:vertical;white-space:pre;overflow:auto}.setup .ok,.integ .ok{color:var(--ok)}.setup .err,.integ .err{color:var(--danger)}.setup .in .linkbtn,.integ .in .linkbtn{padding:0 4px;white-space:nowrap}.savebar{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));background:var(--ground);border-top:1px solid var(--line);font-size:.9em}.savebar .err{color:var(--danger)}.stepmap .li{min-height:52px}.stepmap a.li{color:inherit;text-decoration:none}.stepmap .litext{font-size:1em;min-height:0}.stepmap .where{font-size:.85em;white-space:nowrap}.stepmap .chev{color:var(--ink-2)}a.linkbtn{text-decoration:none;cursor:pointer}.sechead{margin:8px 0 -4px;font-size:1.05em;color:var(--ink-2)}@container app (min-width: 1024px) and (orientation: landscape){.setup .content{max-width:840px}}.briefwrap{padding:16px 16px 0}.brief .brieflines{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}.brief .briefsec{display:flex;flex-direction:column;gap:2px;font-size:.95em;line-height:1.35}.brief .briefsec .muted{font-size:.8em;text-transform:uppercase;letter-spacing:.06em}.phrases .phrase.brief{border-color:var(--accent);color:var(--accent)}.daychips{display:flex;gap:6px;flex-wrap:wrap}.daychips button{min-width:48px;min-height:40px;border-radius:999px;border:1px solid var(--line);background:var(--panel)}.daychips button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.buildline{display:flex;flex-direction:column;gap:6px}.buildline .banner .linkbtn{font:inherit;padding:0 0 0 4px}.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}.filters .pchk{padding:4px 10px;min-height:36px;font-size:.9em;gap:6px}.filters .pchk.on{border-color:var(--accent);background:var(--ground);box-shadow:inset 0 0 0 1px var(--accent)}.recipe button.stpill{border:0;cursor:pointer;font:inherit;font-size:.75em}.sheet textarea.in{font:inherit;padding:10px 12px}.sensorstrip{display:flex;flex-wrap:wrap;gap:8px}.sensorstrip.pad{padding:12px 16px 0}.headband .sensorstrip{flex:0 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end;height:44px;overflow:hidden}.headband .sensorstrip:before{content:"";flex:0 0 0;height:44px}.schip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--panel);white-space:nowrap}.schip .sico{font-size:1.2em}.schip .sval{font-weight:600;font-variant-numeric:tabular-nums}.schip small{color:var(--ink-2)}.schip.unknown{opacity:.6}.schip.ctl{color:inherit;font:inherit;cursor:pointer;min-height:40px}.schip.ctl:disabled{cursor:default}.schip.ctl.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.schip.ctl.moving .sval{color:var(--accent)}.schip.ctl.err{border-color:var(--danger)}.schip.ctl.err .sval{color:var(--danger)}.emojipick{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;margin-top:8px;max-height:320px;overflow:auto;background:var(--ground)}.egrid{display:flex;flex-wrap:wrap;gap:4px}.ebtn{font-size:1.4em;line-height:1;width:44px;height:44px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer}.ebtn:hover{background:var(--panel);border-color:var(--line)}.ebtn.on{border-color:var(--accent);background:var(--panel);box-shadow:inset 0 0 0 1px var(--accent)}.helpbtn{font-weight:700}.layoutpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.layopt{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.layopt.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.layopt input{position:absolute;opacity:0;width:0;height:0}.layopt .sample{display:block;pointer-events:none}.layopt .sample .weather{background:var(--ground)}.layopt .lname{font-weight:500}.layopt .lname small{display:block;font-weight:400;font-size:.8em}.updown{display:inline-flex;flex-direction:column;gap:2px}.updown button{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:32px;height:22px;font-size:.7em;line-height:1;color:var(--ink-2);padding:0}.updown button:disabled{opacity:.3;cursor:default}.card .subh{margin:4px 0 0;font-size:.85em;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-weight:600}.rulelist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.rule-li{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 10px;border-top:1px solid var(--line-2);min-height:48px}.rule-li:first-child{border-top:0}.rule-li.editing{background:color-mix(in srgb,var(--accent) 10%,transparent)}.rule-li .rulebody{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:4px 0;cursor:pointer}.rule-li .rulebody.as-text{cursor:default}.rule-li .rulebody small{font-size:.78em}.rule-li.builtin{background:var(--ground);cursor:pointer}.rule-li.builtin input{width:20px;height:20px;margin:0 6px 0 8px}.rule-empty{padding:12px;font-size:.9em}.rulepreview{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--radius)}.rulerow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:.95em;padding:2px 6px;border-radius:6px}.rulerow.hit{background:color-mix(in srgb,var(--accent) 12%,transparent)}.rulerow .was{color:var(--ink-2);font-size:.85em}.weatherpage .wnow{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;align-items:center}.weatherpage .wglyph{grid-row:span 2}.weatherpage .wtemp{font-family:var(--display);font-size:3.4em;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.weatherpage .wcond{font-size:1.1em;color:var(--ink-2);margin-top:4px}.weatherpage .wkv{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:6px}.weatherpage .wkv .wk{display:flex;flex-direction:column;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.weatherpage .wkv dt{font-size:.75em;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.weatherpage .wkv dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.forecast.big{flex-wrap:wrap}.forecast.big .fday{flex:1 1 90px;padding:12px 8px}.forecast.big .fday .fglyph{width:36px;height:36px}.weatherpage .wmap{position:relative;height:320px}@container app (max-width: 600px){.weatherpage .wglyph{width:64px;height:64px}.weatherpage .wtemp{font-size:2.6em}.weatherpage .wmap{height:240px}}.helpform{display:flex;flex-direction:column;gap:12px}.helpform textarea.in{display:block;width:100%;min-height:120px;resize:vertical}.fblist .li.fbrow{flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px}.fbrow .fbmsg{white-space:pre-wrap;overflow-wrap:anywhere}.fbrow.done .fbmsg{color:var(--ink-2)}.fbrow .fbacts{justify-content:flex-end}.epick{position:relative}.epick-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;overflow:hidden}.epick-filters{display:flex;gap:4px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--line-2);background:var(--ground)}.epick-filters .pchip{font-size:.8em;padding:4px 10px;min-height:30px;border:1px solid var(--line);border-radius:999px;background:transparent}.epick-filters .pchip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.epick-note{padding:10px 12px;font-size:.9em}.epick-list{list-style:none;margin:0;padding:4px 0;max-height:280px;overflow:auto}.epick-list button{width:100%;border:0;background:transparent;text-align:left;display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-height:44px}.epick-list button:hover,.epick-list li[aria-selected=true] button{background:var(--ground)}.epick-list .ename{font-weight:500}.epick-list .eid{font-size:.78em;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.classlist .classrow{flex-wrap:wrap}.classlist .classrow .grow{flex:1 1 200px}.changelist .li{align-items:flex-start}.changelist .kindico,.classlist .kindico{width:1.6em;text-align:center}.addrecipes{display:flex;flex-direction:column;gap:10px}.addrecipes>.row .btn{flex:1}.picstrip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px;-webkit-overflow-scrolling:touch}.picstrip .pic{flex:0 0 auto;width:160px;height:110px;scroll-snap-align:start;border:2px solid transparent;border-radius:10px;padding:0;background:var(--ph);position:relative;overflow:hidden}.picstrip .pic img{width:100%;height:100%;object-fit:cover;display:block}.picstrip .pic.on{border-color:var(--accent)}.picstrip .pic .tick{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:.85em;font-weight:700}.facegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.facetile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;border:1px solid var(--line);border-radius:14px;background:var(--ground);color:var(--ink)}.facetile:hover,.facetile:focus-visible{border-color:var(--accent)}.cpreview{display:inline-block;flex:0 0 auto;border-radius:50%;background-color:var(--ph);background-repeat:no-repeat}.cropstage{display:flex;justify-content:center}.cropwrap{position:relative;min-width:0;max-width:100%;line-height:0;overflow:hidden;border-radius:12px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair;background:var(--ph)}.cropwrap img{display:block;max-width:100%;max-height:min(52vh,520px);pointer-events:none}.cropbox{position:absolute;cursor:move;outline:none}.cropcircle{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 9999px #0a0c108c;border:2px dashed rgba(255,255,255,.8);pointer-events:none}.cropsquare{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid rgba(255,255,255,.9);pointer-events:none}.cropbox:focus-visible .cropsquare{border:3px solid var(--accent)}.crophandle{position:absolute;width:22px;height:22px;border:0 solid #fff;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.7))}.crophandle:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.crophandle.nw{left:-2px;top:-2px;border-top-width:4px;border-left-width:4px;cursor:nwse-resize}.crophandle.ne{right:-2px;top:-2px;border-top-width:4px;border-right-width:4px;cursor:nesw-resize}.crophandle.sw{left:-2px;bottom:-2px;border-bottom-width:4px;border-left-width:4px;cursor:nesw-resize}.crophandle.se{right:-2px;bottom:-2px;border-bottom-width:4px;border-right-width:4px;cursor:nwse-resize}.cropside{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}.cpreviews{display:flex;align-items:center;gap:12px}.cropsize{display:flex;align-items:center;gap:10px;flex:1;min-width:180px}.cropsize input{flex:1;accent-color:var(--accent)}.recipe .planned,.sheet .planned{white-space:normal}.daytools{display:flex;align-items:center;gap:10px;font-size:.85rem}.daytools .iconbtn{width:38px;height:38px;border-radius:999px}.daytools .viewtoggle button{height:32px;width:42px}.daynav{display:inline-flex;align-items:center;gap:2px}.daynav button{min-width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.daynav button:hover{background:var(--ph);color:var(--ink)}.daynav .totoday{font-weight:600;font-size:.85rem;padding:0 10px;color:var(--accent)}.todaypage .locpanel.kiosk{padding-top:6px}.todaypage .sensorstrip.pad,.todaypage .briefwrap{padding-left:var(--gut);padding-right:var(--gut)}.todaypage .briefwrap{padding-top:0;padding-bottom:10px}.tlwrap{display:flex;flex-direction:column;gap:14px;padding:0 var(--gut);flex:1;min-height:0}.tline{--lab: 190px;--tlpad: 20px;flex:0 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;border:1px solid var(--line);border-radius:var(--radius-lg);padding:0 var(--tlpad) 10px;background:linear-gradient(transparent,var(--panel) 60%) center bottom / 100% 28px no-repeat local,radial-gradient(farthest-side at 50% 100%,color-mix(in srgb,var(--ink) 18%,transparent),transparent) center bottom / 100% 14px no-repeat scroll,var(--panel)}.tlbody{position:relative}.tlaxis{position:sticky;top:0;z-index:4;background:var(--panel);padding-top:8px;box-sizing:content-box}.tlaxis,.tlrow{display:grid;grid-template-columns:var(--lab) minmax(0,1fr)}.tlaxis{height:28px}.tlaxis .tltrack{position:relative}.tlaxis .tltrack span{position:absolute;bottom:6px;transform:translate(-50%);font-size:.67em;font-weight:500;color:var(--ink-2);white-space:nowrap}.tlaxis .tltrack span.first{transform:none}.tlaxis .tltrack span.last{transform:translate(-100%)}.tlaxis .tltrack span.hide{visibility:hidden}.tlrow{border-top:1px solid var(--line-2)}.tlrow .tlwho{display:flex;align-items:center;gap:12px;padding:6px 10px 6px 0;min-width:0}.tlrow .tlwho .avatar{width:40px;height:40px;font-size:.95em}.tlname{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;flex:1}.tlname b{font-size:.95em;font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tlname .locchip{padding:0;border:0;background:transparent;color:var(--ink-2);font-size:.67em;font-weight:400}.tlname .locchip>span[aria-hidden]{display:none}.tlrow .tltrack{position:relative;min-width:0;cursor:pointer;background-image:linear-gradient(to right,var(--line-2) 1px,transparent 1px);background-size:calc(100% / var(--hours)) 100%}.tlalls{position:absolute;left:0;right:0;top:6px;display:flex;gap:4px;overflow:hidden}.tlall{flex:1 1 auto;min-width:0;height:18px;border:0;border-radius:4px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;font-size:.6em;font-weight:600;white-space:nowrap;text-align:left}.tlall .k{text-transform:uppercase;letter-spacing:.06em;flex:0 0 auto}.tlall .k:after{content:" ·"}.tlall .txt{overflow:hidden;text-overflow:ellipsis}.tlev{position:absolute;height:28px;margin-top:3px;border:0;padding:0;font:inherit;text-align:left;white-space:nowrap;display:flex;align-items:center;gap:6px}.tlev.block{height:32px;margin-top:1px;border-radius:8px;padding:0 9px;font-size:.72em;font-weight:600;overflow:hidden;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;line-height:1.15}.tlev.block .txt,.tlev.block small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.tlev.block small{font-weight:400;opacity:.9;font-size:.85em}.tlev.tick{background:transparent;color:var(--ink);font-size:.72em;font-weight:500;transform:translate(-5px)}.tlev.tick .dot{width:10px;height:10px;border-radius:50%;background:var(--c);flex:0 0 auto}.tlev.tick .txt{overflow:hidden;text-overflow:ellipsis}.tlev.tick.flip{flex-direction:row-reverse;transform:translate(calc(-100% + 5px))}.tlev.bar{background:transparent;color:var(--ink);font-size:.72em;font-weight:500}.tlev.bar .barfill{height:24px;border-radius:7px;flex:0 0 auto}.tlev.bar .txt{overflow:hidden;text-overflow:ellipsis}.tlev.bar.flip{flex-direction:row-reverse}.tlev.bar.now .barfill{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--c)}.tlev.bar.ro .barfill{outline:2px dashed color-mix(in srgb,currentColor 50%,transparent);outline-offset:-2px}.tlev.past,.tlall.past{opacity:.5}.tlev.block.now{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--c)}.tlev.tick.now .dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 35%,transparent)}.tlev.block.ro,.tlall.ro{outline:2px dashed color-mix(in srgb,currentColor 50%,transparent);outline-offset:-2px}.tlev.chg-deleted,.tlev.chg-moved,.tlall.chg-deleted,.tlall.chg-moved{opacity:.55}.tlev.chg-deleted .txt,.tlev.chg-moved .txt,.tlall.chg-deleted .txt,.tlall.chg-moved .txt{text-decoration:line-through;text-decoration-thickness:2px}.tlquiet{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.7em;color:var(--ink-2)}.tlnow{position:absolute;top:6px;bottom:-2px;width:2px;margin-left:-1px;background:var(--now);z-index:5;pointer-events:none}.tlnow span{position:absolute;top:0;left:50%;transform:translate(-50%);padding:2px 7px;border-radius:6px;background:var(--now);color:#fff;font-size:.56em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.mark{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto}.mark.new{background:var(--ok)}.mark.updated{background:var(--warn)}.mark.deleted,.mark.moved{background:var(--danger)}.tlev.block .mark{box-shadow:0 0 0 2px #fff}.tlwrap{flex:1 1 auto;min-height:0;padding-bottom:2px}.tlcards{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;flex:1 10 auto;min-height:128px;overflow:hidden}.tlwrap .tlcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.tlwrap .tlcards.solo{grid-template-columns:minmax(0,1fr)}.tlwrap .chorecard .chores-inline.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tlcards>*{max-height:100%}.tlcards .card{padding:12px 16px;gap:6px}.locpanel.nonow .fcast .now{display:none}.locpanel.nonow .fcast{justify-content:center}.tlcards .card{overflow-y:auto}.tlcards .chorecard{flex:1 1 420px;min-width:0}.tlcards .gradecard{flex:1 1 320px;min-width:0}.app .only-kiosk.todaypage.colmode{overflow:hidden}.todaypage .cols.kidcols{min-height:0;grid-auto-rows:minmax(0,1fr)}.locpanel.band{padding:0 var(--gut) 12px;flex:0 0 auto;align-items:center}.locpanel.band .fmapwrap{flex:0 0 300px;height:108px}.locpanel.band .fcast{padding:8px 12px 20px}.locpanel.band .fcast .fday{gap:1px}.locpanel.band .fcast .fday .fglyph{width:22px;height:22px}.loctools{margin-left:auto;flex:0 0 auto;align-self:center}.locpanel.band .fmap{min-height:0}.locpanel.band .fcastwrap{flex:0 1 auto}.locpanel.band .fcast{flex-direction:row;align-items:center;gap:16px;position:relative}.locpanel.band .fcast .now{flex:0 0 auto}.locpanel.band .fcast .credit{position:absolute;right:12px;bottom:4px}.locpanel.band .fcast .fday{padding:4px;white-space:nowrap}.locpanel.band .fcast .forecast{overflow:visible}.locpanel.band .fcastwrap{min-width:0}.chorecard .chores-inline.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 20px;overflow-y:auto;min-height:0;align-content:start}.chorecard .chore{border-bottom:0;padding:4px 0;gap:10px}.chorecard .chore .title{font-weight:500;font-size:.9em}.gradecard{overflow-y:auto}.gradecard .gradestrip,.kidcols .gradestrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 10px;align-items:stretch;border-bottom:0;background:transparent;padding:6px 0 10px;font-size:.7em}.kidcols .gradestrip{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:8px 10px 4px}.gradecard .gradestrip .head{grid-column:1 / -1;font-size:1.25em;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;margin:0}.gradecard .gradestrip+.gradestrip{border-top:1px solid var(--line-2);padding-top:10px}.gradecard .gradestrip .quiet{grid-column:1 / -1;font-size:1.1em}.gradecard .gradestrip .gchip,.kidcols .gradestrip .gchip{justify-content:space-between;min-width:0;padding:3px 3px 3px 9px;border-radius:10px}.todaypage .cols.kidcols{padding:0 var(--gut);gap:16px}.kidcols .col{border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow),0 0 0 1px var(--line)}.kidcols .colhead{padding:12px 14px;gap:12px}.ring{position:relative;width:56px;height:56px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ring .trk{fill:none;stroke:color-mix(in srgb,currentColor 28%,transparent);stroke-width:4}.ring .prog{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .3s}[data-style=soft] .ring .prog{stroke:var(--c)}.ring .avatar{width:44px;height:44px;font-size:1.05em}.whoname{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;line-height:1.15}.whoname b{font-size:1.15em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whosub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.68em;font-weight:500;opacity:.92}.whosub .locchip{margin-left:0!important}.col .colhead button.add{margin-left:auto;width:44px;height:44px;min-width:44px;border:0;border-radius:12px;background:#fff3;color:inherit;display:inline-flex;align-items:center;justify-content:center;padding:0}[data-style=soft] .col .colhead button.add{background:color-mix(in srgb,var(--c) 25%,transparent)}.kidevs{display:flex;flex-direction:column;gap:2px;padding:6px 8px}.kidcols .ev{border-bottom:0;border-radius:10px;padding:6px;align-items:center;gap:10px}.kidcols .ev .bar{display:none}.kidcols .ev .t{min-width:64px;height:30px;padding:0 8px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 18%,var(--panel));color:color-mix(in srgb,var(--c) 62%,var(--ink));font-size:.7em;font-weight:700;flex:0 0 auto}.kidcols .ev.now{background:color-mix(in srgb,var(--c) 8%,transparent)}.kidcols .ev.now .t{background:var(--c);color:#fff}.kidcols .ev .body .title{font-weight:600}.kidchores{margin-top:auto;padding:4px 10px 12px;display:flex;flex-direction:column;gap:6px}.kidchores .lbl{font-size:.62em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding:4px 4px 0}.kidchores .chores-inline{gap:6px}.kidchores .chore{background:var(--ground);border:0;border-radius:14px;padding:6px 10px;min-height:48px;gap:10px}.kidchores .chore .title{font-size:.9em}.kidchores .chore.done{background:transparent}.todayfoot{display:flex;gap:14px;padding:14px var(--gut) 16px;align-items:stretch;margin-top:auto}.todayfoot:empty{display:none}.foot{flex:5 1 0;min-width:0;display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:var(--radius-lg)}.foot .fbody{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.foot .lbl{font-size:.62em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.foot b{font-family:var(--display);font-weight:500;font-size:1.2em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.foot small{font-size:.7em;opacity:.8}.foot>.ico{flex:0 0 auto}.foot.tonight{background:var(--deep);color:var(--deep-ink);border:0;font:inherit;text-align:left;cursor:pointer}.foot.tonight>.ico{color:var(--sun)}.foot.tonight.none{background:transparent;color:var(--ink);border:1.5px dashed var(--line)}.foot.tonight.none>.ico{color:var(--ink-2)}.foot.lunch{flex:5 1 0;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.foot.lunch>.ico{color:var(--danger)}.foot.lunch.none{background:transparent;border:1.5px dashed var(--line);box-shadow:none}.foot.lunch.none>.ico{color:var(--ink-2)}.foot.lunch .menucard{border:0;padding:0;background:transparent;font-size:.8em;box-shadow:none}.foot.lunch .menucard .t{display:none}.foot.lunch .menucard .dish{font-family:var(--display);font-weight:500;font-size:1.3em}.alertstrip.atile{flex:5 1 0;min-width:0;border:0;border-radius:var(--radius-lg);padding:10px 14px 10px 16px;gap:8px 10px}.alertstrip.atile .text{flex:1 1 150px;min-width:0;font-size:.85em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.alertstrip.atile .actions{flex-wrap:nowrap;margin-left:auto}.alertstrip.atile .snap{height:40px}.app .only-kiosk.weekpage.people{padding:0 var(--gut) 18px}.pweek{flex:1;min-height:0;display:grid;grid-template-columns:172px repeat(7,minmax(0,1fr));background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:auto;box-shadow:var(--shadow)}.pwcorner,.pwday{position:sticky;top:0;z-index:2;background:var(--panel);border-bottom:1px solid var(--line)}.pwday{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 6px;border-left:1px solid var(--line-2);font-size:.78em;font-weight:600;color:var(--ink-2)}.pwday b{font-family:var(--display);font-size:1.6em;font-weight:500;color:var(--ink)}.pwday.wkend{background:color-mix(in srgb,var(--ground) 55%,var(--panel))}.pwday.today{background:var(--ink);color:var(--panel)}.pwday.today b{color:var(--panel)}.pwwho{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-2);min-width:0}.pwwho .avatar{width:40px;height:40px}.pwwho>div{min-width:0}.pwwho b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwwho small{display:block;font-size:.68em;color:var(--ink-2)}.pwcell{min-width:0;padding:6px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;border-left:1px solid var(--line-2);border-bottom:1px solid var(--line-2);cursor:pointer}.pwcell.wkend{background:color-mix(in srgb,var(--ground) 45%,var(--panel))}.pwcell.today{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.pwev{flex:0 0 auto;width:100%;min-height:28px;display:flex;align-items:flex-start;gap:4px;border:0;border-radius:7px;padding:5px 7px;font-size:.68em;font-weight:500;line-height:1.25;text-align:left}.pwev b{font-weight:700;white-space:nowrap}.pwev .txt{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.pwev .txt .mark{margin-right:4px;vertical-align:1px}.pwev.allday{box-shadow:inset 3px 0 0 var(--c)}.pwev.ro{outline:2px dashed color-mix(in srgb,var(--c) 45%,transparent);outline-offset:-2px}.pwev.gone,.pwev.chg-moved{opacity:.55}.pwev.gone .txt,.pwev.chg-moved .txt{text-decoration:line-through}.pwev .also{display:inline-flex;flex:0 0 auto;padding:3px 0 0 3px}.pwev .also i{width:9px;height:9px;border-radius:50%;margin-left:-3px;box-shadow:0 0 0 1.5px var(--panel)}.pwwho.dinner{background:var(--deep);color:var(--deep-ink);border-bottom:0}.pwwho.dinner .ico{color:var(--sun)}.pwdinner{min-width:0;display:flex;align-items:center;padding:10px;background:var(--deep);color:var(--deep-ink);border-left:1px solid color-mix(in srgb,var(--deep-ink) 15%,transparent);font-size:.74em;font-weight:500;overflow:hidden}.pwdinner.none{color:var(--deep-ink-2)}.listwrap{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:16px;padding:0 var(--gut)}.listmain{display:flex;flex-direction:column;min-height:0}.listmain .dayagenda{flex:1 1 auto}.listwrap .tlcards{flex-direction:column;flex-wrap:nowrap;max-height:none;min-height:0;overflow-y:auto}.listwrap .tlcards>*{max-height:none;flex:0 0 auto}.listwrap .tlcards .chorecard{flex:0 0 auto}.listwrap .tlcards .gradecard{flex:1 0 auto}.listwrap .chorecard .chores-inline.grid{grid-template-columns:minmax(0,1fr)}.dayagenda{min-height:0;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:4px 22px 12px}.dayagenda.empty-day{display:flex;align-items:center;justify-content:center}.aghead{padding:14px 0 6px;font-size:.64em;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.agrow{width:100%;display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 0;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:inherit;font:inherit;text-align:left}.agpart .agrow:last-child{border-bottom:0}.agtime{height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:.74em;font-weight:700;font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.02em}.agtime.plain{background:var(--ph);color:var(--ink)}.agbody{display:flex;flex-direction:column;min-width:0}.agtitle{font-size:.95em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agsub{font-size:.72em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agwho{display:inline-flex;padding-right:2px}.agwho .avatar{width:32px;height:32px;font-size:.72em;box-shadow:0 0 0 2px var(--panel)}.agwho .avatar+.avatar{margin-left:-8px}.agrow.past{opacity:.5}.agrow.gone,.agrow.chg-moved{opacity:.55}.agrow.gone .agtitle,.agrow.chg-moved .agtitle{text-decoration:line-through;text-decoration-thickness:2px}.agnow{display:flex;align-items:center;gap:12px;margin:4px 0}.agnow span{flex:0 0 auto;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--now) 16%,var(--panel));color:var(--now);font-size:.6em;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.agnow i{flex:1;height:2px;border-radius:1px;background:var(--now)}.palettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.palopt{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:14px;cursor:pointer}.palopt.on{box-shadow:0 0 0 3px var(--ink)}.palopt input{position:absolute;opacity:0;width:0;height:0}.palopt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.palhead b{display:block;font-family:var(--display);font-weight:500;font-size:1.15em}.palhead small{display:block;font-size:.78em;opacity:.75}.paldots{display:flex;gap:5px}.paldots i{width:18px;height:18px;border-radius:50%}.chorecard .check,.kidchores .check{position:relative}.chorecard .check:after,.kidchores .check:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%}@container app (min-width: 1024px) and (orientation: landscape){.main>.alertstrip:not(.atile),.main>.skystrip,.main>.offline{order:90;position:sticky;bottom:0;z-index:8;flex:0 0 auto}.main>:is(.alertstrip:not(.atile),.skystrip,.offline){margin-top:auto}.main>:is(.alertstrip:not(.atile),.skystrip,.offline)~:is(.alertstrip,.skystrip,.offline){margin-top:0}.app .only-kiosk.hbwrap{position:sticky;top:0;z-index:8;background:var(--ground)}.main>.alertstrip:not(.atile){border-bottom:0;border-top:1px solid color-mix(in srgb,var(--notice-ink) 15%,transparent)}.main>.skystrip,.main>.offline{border-bottom:0;border-top:1px solid var(--line)}}.holdring{position:fixed;z-index:70;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;pointer-events:none;background:conic-gradient(var(--accent) calc(var(--p, 0) * 1%),color-mix(in srgb,var(--accent) 15%,transparent) 0);-webkit-mask:radial-gradient(circle,transparent 27px,#000 28px);mask:radial-gradient(circle,transparent 27px,#000 28px);opacity:0;animation:holdring var(--hold, 1.5s) linear forwards}@property --p{syntax: "<number>"; inherits: false; initial-value: 0;}@keyframes holdring{0%{opacity:0;--p: 0}20%{opacity:0;--p: 0}30%{opacity:1}to{opacity:1;--p: 100}}.locrow.whopick .whobtn{position:relative;display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.locrow.whopick .whobtn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-4px}.locrow.whopick .avatar.all{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--ground)}.locrow.whopick .who.on{border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c);background:color-mix(in srgb,var(--c) 14%,var(--panel))}.locrow.whopick .who.all:has(.whobtn[aria-pressed=true]){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.locrow.whopick.some .who:not(.on){opacity:.55}@container app (max-width: 1023px) or (orientation: portrait){.tabbar button{justify-content:center;gap:3px;padding:4px 2px;font-weight:500;-webkit-tap-highlight-color:transparent}.tabbar button .ico{width:54px;height:28px;padding:3px 16px;border-radius:999px}.tabbar button[aria-current=page]{color:var(--ink);font-weight:700}.tabbar button[aria-current=page] .ico{background:color-mix(in srgb,var(--ink) 10%,var(--ph))}.sheet[aria-label=More] .li{-webkit-tap-highlight-color:transparent}.sheet[aria-label=More] .li[aria-current=page]{background:var(--ground);font-weight:700}.sheet[aria-label=More] .li[aria-current=page] .ico{color:var(--ink)}.sheet[aria-label=More] .li:active{background:var(--ph)}.fab{position:fixed;bottom:calc(73px + env(safe-area-inset-bottom,0px))}.main:has(.fab):after{content:"";flex:0 0 88px}:where(.main>*,.main>div[style*=contents]>*){flex-shrink:0}.toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 34px);bottom:auto;left:16px;right:16px;transform:translateY(max(-50%,-30px));display:flex;align-items:center;justify-content:center;min-height:48px;line-height:1.3;text-align:center;text-wrap:balance;border-radius:18px;pointer-events:none;box-shadow:0 6px 16px #2b262040}.scrim,.sheet{overscroll-behavior:contain}:where(.sheet>*){flex-shrink:0}.sheet>.grab+.row{position:sticky;top:-16px;z-index:3;background:var(--panel);margin:-8px -16px;padding:8px 16px}@supports (animation-timeline: scroll()){@keyframes sheet-rule-under{to{box-shadow:0 1px 0 var(--line)}}.sheet>.grab+.row{animation:sheet-rule-under linear both;animation-timeline:scroll(nearest block);animation-range:0 8px}}.picker:not(.runner){overflow:auto;justify-content:safe center;padding:calc(24px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px))}.picker:not(.runner) h2{text-align:center;text-wrap:balance;line-height:1.15;max-width:16em}.picker:not(.runner)>.muted{text-align:center;text-wrap:balance;margin:0;max-width:28em}.pinpad{grid-template-columns:repeat(3,84px);gap:12px 16px}.pinpad button{height:68px;font-size:1.6em;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}.pinpad button:active:not(:disabled){background:var(--ph)}.pinpad button:nth-child(10),.pinpad button:nth-child(12){background:transparent;border-color:transparent;color:var(--ink-2);font-size:1.05em;font-weight:600}.pinpad button:nth-child(12){font-size:1.5em}.alertstrip{padding:10px 16px 12px;gap:8px 10px;align-items:flex-start}.alertstrip .aico{padding-top:1px}.alertstrip .text{line-height:1.3}.alertstrip .more{white-space:nowrap}.alertstrip .actions{gap:8px}.alertstrip .actions button{min-height:40px;padding:4px 16px}.offline{line-height:1.35}.offline .dot{flex:0 0 auto}.sheet[aria-label=Event] .kv{grid-template-columns:minmax(4.2em,max-content) minmax(0,1fr);gap:8px 12px;align-items:baseline}.sheet[aria-label=Event] .kv dd{overflow-wrap:anywhere}.sheet[aria-label=Event] .kv .linkbtn{padding:10px 4px;margin:-10px -4px}.sheet[aria-label=Event]>:is(.grid2,.stack):last-child{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom,0px));z-index:3;background:var(--panel);margin:-8px -16px calc(-16px - env(safe-area-inset-bottom,0px));padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px))}@supports (animation-timeline: scroll()){@keyframes sheet-rule-over{0%{box-shadow:0 -1px 0 var(--line)}to{box-shadow:0 -1px 0 transparent}}.sheet[aria-label=Event]>:is(.grid2,.stack):last-child{animation:sheet-rule-over linear both;animation-timeline:scroll(nearest block);animation-range:calc(100% - 8px) 100%}}:is(.sheet[aria-label="New event"],.sheet[aria-label="Edit event"],.sheet[aria-label="Edit this occurrence"])>.grab+.row{flex-wrap:nowrap}:is(.sheet[aria-label="New event"],.sheet[aria-label="Edit event"],.sheet[aria-label="Edit this occurrence"])>.grab+.row>span:empty{display:none}:is(.sheet[aria-label="New event"],.sheet[aria-label="Edit event"],.sheet[aria-label="Edit this occurrence"])>.grab+.row>h2{flex:1;text-align:center}:is(.sheet[aria-label="New event"],.sheet[aria-label="Edit event"],.sheet[aria-label="Edit this occurrence"])>.banner{scroll-margin-bottom:24px}:is(.sheet[aria-label="New event"],.sheet[aria-label="Edit event"],.sheet[aria-label="Edit this occurrence"]) .toggle:before{content:"";position:absolute;top:-8px;right:-6px;bottom:-8px;left:-6px}.sheet[aria-label=Announce] .pchip{min-height:44px;padding:8px 16px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.sheet[aria-label=Announce] .pchip[aria-pressed=true]{background:var(--ground);border-color:var(--accent);outline:0;box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.sheet[aria-label=Announce] .phrases{grid-template-columns:repeat(auto-fill,minmax(min(150px,40%),1fr))}.sheet[aria-label=Announce] .banner .linkbtn{padding:10px 6px 10px 0;margin-block:-10px;margin-right:-6px;font-size:1em;font-weight:600}.skystrip{min-height:44px;gap:10px}}@container app (max-width: 600px){.skystrip{gap:14px}.skystrip .ac{flex:0 0 auto}.skystrip .ac .meta{display:none}.skystrip .plane+.ac:last-child{flex:0 1 auto}.skystrip .plane+.ac:last-child .meta{display:inline}.skystrip .more{flex:0 0 auto}}@container app (min-width: 700px) and ((max-width: 1023px) or (orientation: portrait)){.tabbar{justify-content:center}.tabbar button{flex:0 1 128px}.sheet{max-width:620px}.alertstrip{align-items:center}.alertstrip .actions{width:auto;margin-left:auto}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.toast{left:62px;right:auto;width:max-content;max-width:min(calc(100% - 78px),20em);padding-inline:18px}}@container app (max-width: 1023px) or (orientation: portrait){.todayphone>.subbar .daynav{margin-left:auto;gap:6px}.todayphone>.subbar .daynav button{min-width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink)}.todayphone>.subbar .daynav button .ico{width:20px;height:20px}.todayphone>.subbar .daynav .totoday{padding:0 14px;font-size:1em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.todayphone>.subbar .segctl{margin:-1px 0}.todayphone .card.started>.row .linkbtn{padding:10px 12px;margin:-10px -12px}.todayphone .started .litext{display:flex;align-items:center}.todayphone .brief .brieflines{display:block;columns:220px 3;column-gap:20px}.todayphone .brief .briefsec{break-inside:avoid;margin-bottom:10px}.todayphone .brief .briefsec:last-child{margin-bottom:0}.todayphone .sensorstrip .schip{min-height:44px}.todayphone .locpanel .locrow{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center}.todayphone .locpanel .locside{justify-content:flex-start}.todayphone .locrow .who{min-height:36px}.todayphone .agenda .gradestrip{gap:6px;min-height:44px;padding:8px 16px;font-size:.8em}.todayphone .agenda .gradestrip .gchip{padding:2px 3px 2px 9px}.todayphone .chore .check{position:relative}.todayphone .chore .check:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.todayphone .locpanel .menucard{min-height:44px;justify-content:center}.todayphone .agenda .empty{padding:20px 16px 24px}.todayphone .agenda .empty .pic{width:64px;height:64px;margin-bottom:10px}.todayphone .agenda .empty .pic .ico{width:30px;height:30px}.todayphone>div:empty{display:none}.todayphone .dinnerwrap .card.tonight{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;align-items:center;min-height:64px}.todayphone .dinnerwrap .card.tonight>.ico{grid-row:1 / 3;color:var(--sun)}.todayphone .dinnerwrap .card.tonight>.muted{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.todayphone .dinnerwrap .card.tonight>b{font-family:var(--display);font-size:1.2em;font-weight:500;line-height:1.2}.todayphone .dinnerwrap .card.tonight.none{background:transparent;border:1.5px dashed var(--line);box-shadow:none}.todayphone .dinnerwrap .card.tonight.none>.ico{grid-row:1 / 4;color:var(--ink-2)}.todayphone .dinnerwrap .card.tonight.none>small{font-size:.8em;color:var(--ink-2)}.todayphone .sheet[aria-label="Family map"]>.row{flex-wrap:nowrap}.todayphone .sheet[aria-label="Family map"]>.row h2{flex:1 1 auto;min-width:0;font-size:1.3em}.todayphone .sheet[aria-label="Family map"]>.row>span:empty{display:none}.todayphone .sheet[aria-label="Family map"]>.row .btn{flex:0 0 auto;padding:8px 14px;white-space:nowrap}.todayphone .sheet .zoomctl button{width:44px;height:44px}.todayphone .menuweek{flex:none}.todayphone .menuweek .day{flex:none;min-width:11ch}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.todayphone .locpanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.todayphone .locpanel .fmapwrap{min-width:0;min-height:150px}.todayphone .locpanel:not(:has(.fmapwrap)) .fcastwrap,.todayphone .locpanel:not(:has(.fcastwrap)) .fmapwrap{grid-column:1 / -1}.todayphone .locpanel .fcast{justify-content:center}.todayphone .locpanel .locside{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px}.todayphone .locpanel .locside>.menucard{flex:0 1 auto;max-width:100%;contain:none}}@container app (max-width: 600px){.todayphone>.subbar .daynav button[aria-label]{min-width:42px;width:42px}.todayphone>.subbar .daynav .totoday{padding:0 12px}.todayphone .locpanel{flex-direction:column}.todayphone .locpanel .fmapwrap{flex:none;height:170px;min-width:0}.todayphone .locpanel .fcastwrap{flex:none}.todayphone .locpanel .locside{align-items:stretch}.todayphone .locpanel .locside>.menucard:only-child{max-width:none}.todayphone .sensorstrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.todayphone .sensorstrip .schip{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;align-content:center;min-width:0;padding:7px 10px;text-align:left}.todayphone .sensorstrip .schip .sico{grid-row:1 / 3}.todayphone .sensorstrip .schip .sval,.todayphone .sensorstrip .schip small{min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.todayphone .sensorstrip .schip .sval{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:break-word}.todayphone .sensorstrip .schip small{font-size:.78em;white-space:normal}.todayphone .locrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.todayphone .locrow .who{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:1px;align-items:center;align-content:center;min-width:0;padding:6px 12px 6px 6px;border-radius:22px;line-height:1.25}.todayphone .locrow .who .avatar{grid-row:1 / 3;width:32px;height:32px;font-size:.75em}.todayphone .locrow .who .locchip{display:block;min-width:0;padding:0;border:0;background:transparent;white-space:normal;text-wrap:pretty;font-size:.82em}.todayphone .locrow .who .locchip>span{margin-right:4px}.todayphone .unclaimed .grow{flex:1 1 calc(100% - 48px)}.todayphone .unclaimed .who{margin-left:36px}.todayphone .unclaimed .who button{min-height:44px;padding-right:14px}.todayphone .gradecourse>.li:first-child:has(>.in){flex-wrap:wrap;row-gap:8px}.todayphone .gradecourse>.li:first-child:has(>.in)>.grow{flex:1 1 100%}.todayphone .gradecourse>.li:first-child>.in{flex:1 1 0}.todayphone .gradecourse>.li:first-child>.in select{max-width:none}}@container app (max-width: 400px){.todayphone>.subbar{gap:8px}.todayphone>.subbar .segctl button{padding:8px 10px}}@container app (max-width: 1023px) or (orientation: portrait){.calbar{gap:12px;padding:8px var(--gut) 2px;border-bottom:0}.calbar .caltitle{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}.calbar .caltitle b{font-family:var(--display);font-weight:500;font-size:1.4em;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calbar .caltitle small{font-size:.78em;color:var(--ink-2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calpager{display:flex;gap:6px;flex:0 0 auto}.calpager .btn{min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}.calpager .btn[aria-label]{width:44px;padding:0}.calpager .btn.away{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}.daypager{gap:6px;padding:10px var(--gut) 12px;overflow:visible}.daypager button{flex:1 1 0;min-width:0;min-height:64px;padding:6px 0 7px;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.2}.daypager button b{font-size:1.35em;line-height:1.15}.daypager .pdots{display:flex;justify-content:center;gap:3px;height:5px;margin-top:2px}.daypager .pdots i{width:5px;height:5px;border-radius:50%}.daypager button[aria-pressed=true] .pdots i{box-shadow:0 0 0 1px color-mix(in srgb,var(--panel) 70%,transparent)}.calagenda .dayhead{padding:16px var(--gut) 6px}.calagenda .ev{padding:11px var(--gut);gap:10px}.calagenda .ev .t{flex:0 0 4.6em;min-width:4.6em}.calagenda .ev .body .title{display:block}.calagenda .ev .body .title .txt{overflow-wrap:anywhere}.calagenda .ev .body .title .chg{display:inline;margin-left:6px;padding-block:2.5px;vertical-align:1px}.calagenda .ev .body .title .chg:not(.moved):before{content:"⁠" / " "}.calagenda .ev.chg-moved .body .title .txt{margin-right:6px}.calagenda .ev.chg-moved .body .title .txt:after{content:"​" / " "}.calagenda .ev.chg-moved .body .title .chg{margin-left:0}.calagenda .ev .body .sub{margin-top:1px}.calagenda .empty{padding:32px var(--gut)}.calagenda .empty .pic{width:72px;height:72px;margin-bottom:10px}.calagenda .empty.small{padding:20px var(--gut) 8px}.month{flex:none;margin:12px var(--gut) 0;grid-template-columns:repeat(7,minmax(0,1fr))}.month .day{min-width:0}}@container app (max-width: 600px){.calhead h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.calhead .segctl{flex:1 1 auto;max-width:260px;margin-right:auto}.calhead .segctl button{flex:1;padding:8px 10px}.calbar{gap:10px}.calbar .caltitle b{font-size:1.3em}.calpager .btn{padding:0 12px}.calpager .btn[aria-label]{width:42px}.month .dow{padding:7px 0;font-size:.7em;letter-spacing:.04em}.month .day{min-height:54px;padding:5px 2px 6px;align-items:center;gap:3px}.month .day .n{font-size:1.05em}.month .dots{justify-content:center;max-width:30px;gap:3px}.month .dots i{width:7px;height:7px}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.month .day{min-height:92px}.month .day .dots{display:none}.month .day .lbls{display:flex}.month .day .lbls span{font-size:.82em;padding:2px 5px}.month .day .more{font-size:.8em}}@container app (max-width: 1023px) or (orientation: portrait){.whobar{flex:none;scrollbar-width:none}.whobar::-webkit-scrollbar{display:none}.whobar .pchip{opacity:1}.whobar .pchip.picked{outline:2.5px solid var(--ink);outline-offset:2px}.whobar .whomanage{display:none}.taskpage>.col{min-height:0}.taskpage .chore{padding-block:0;min-height:56px}.taskpage .chore .body{align-self:stretch;justify-content:center;padding-block:8px}.taskpage .check{position:relative}.taskpage .check:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%}.taskpage .starchip{font-size:.8em}.taskpage .routine .rt{font-size:.68em}.rewards>.muted{grid-column:1 / -1}.reward.far{opacity:1}.reward.far .btn:disabled{opacity:1;background:transparent;border-color:var(--line);color:var(--ink-2)}.chip.streak{color:var(--notice-ink)}.sheet[aria-label="Manage tasks"]>.segctl{display:flex;align-self:stretch}.sheet[aria-label="Manage tasks"]>.segctl button{flex:1;padding-inline:8px}.sheet[aria-label="Manage tasks"]:has(>form)>.segctl{display:none}.sheet[aria-label="Manage tasks"] .profchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.sheet[aria-label="Manage tasks"] .pchk{min-width:0}.sheet[aria-label="Manage tasks"] form:not(:has(#tm-freq option[value=custom]:checked)) .field:has(#tm-rrule){display:none}.sheet[aria-label="Manage tasks"] .field:has(input[aria-label^=Step]){gap:8px}.sheet[aria-label="Manage tasks"] form>.grid2:has(>button){position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom,0px));z-index:1;background:var(--panel);padding-block:8px;margin-block:-8px}.runner{overflow-y:auto;padding:calc(20px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));gap:14px}.runner>*{flex-shrink:0}.runner>.progress{background:color-mix(in srgb,var(--c, var(--accent)) 16%,var(--line-2))}.runner>.progress>span{background:var(--c, var(--accent))}.runner .runlist:has(.sico) .runlabel{position:relative;padding-left:calc(18px + 1.375em)}.runner .runlabel .sico{position:absolute;left:6px;top:50%;translate:0 -50%;width:1.25em;font-size:1.1em;line-height:1;text-align:center}.runner>.row,.runner>.progress,.runner>.btn{width:100%;max-width:560px;margin-inline:auto}.runner>.row{flex-wrap:nowrap}.runner>.row h2{min-width:0}.runner>.btn.primary{min-height:var(--touch-kid);font-size:1.1em}.runner>.muted,.runner>.cheer{text-align:center}}@container app (max-width: 600px){.appbar.taskbar h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.appbar.taskbar .tasknav{flex:1 1 auto;flex-wrap:nowrap;max-width:260px;margin-right:auto}.appbar.taskbar .tasknav .segctl{flex:1;display:flex}.appbar.taskbar .tasknav .segctl button{flex:1;padding:8px 10px}.appbar.taskbar .tasknav>.btn{display:none}.whobar{gap:8px;padding-block:8px}.whobar .pchip{position:relative;flex:1 1 0;min-width:56px;max-width:140px;flex-direction:column;justify-content:center;gap:3px;min-height:62px;padding:7px 4px 6px;border-radius:16px;font-size:.85em}.whobar .pchip .avatar{box-shadow:0 0 0 1.5px #ffffff8c}.whobar .pchip .pname{max-width:100%;overflow:hidden;text-overflow:ellipsis}.whobar .pchip .count{position:absolute;top:4px;right:5px;margin:0;min-width:18px;height:18px;padding:0 5px;font-size:.8em;font-weight:700;background:#fff;color:color-mix(in srgb,var(--c) 65%,#000);box-shadow:0 0 0 2px var(--c)}.whobar:has(>.pchip:nth-of-type(5)) .pchip{min-width:72px}.whobar .whomanage{position:sticky;right:0;z-index:1;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:62px;margin-left:auto;padding:6px 9px;border:0;border-radius:16px;background:none;color:var(--ink);font-size:.85em;font-weight:600}.whobar .whomanage .ico{color:var(--ink-2)}.whobar .whomanage:before,.whobar .whomanage:after{content:"";position:absolute;z-index:-1}.whobar .whomanage:before{top:-8px;right:-16px;bottom:-8px;left:-3px;background:var(--ground)}.whobar .whomanage:after{top:0;right:0;bottom:0;left:0;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.rewards{grid-template-columns:1fr;gap:0}.reward{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"ico title btn" "ico cost btn";align-items:center;column-gap:12px;row-gap:1px;padding:10px 0;border:0;border-top:1px solid var(--line-2);border-radius:0;text-align:left}.reward .ico{grid-area:ico;font-size:1.8em;line-height:1;text-align:center}.reward .title{grid-area:title;align-self:end;font-weight:600;line-height:1.25}.reward .cost{grid-area:cost;align-self:start;font-size:.85em}.reward .btn{grid-area:btn;padding-inline:12px;min-width:96px}.runner>.btn.primary{margin-top:auto}.sheet[aria-label="Manage tasks"] .grid2:has(#tm-rrule){grid-template-columns:1fr}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.reward .btn{margin-top:auto}.starweek{justify-content:space-between}.starweek .sday{max-width:72px}.whobar .pchip{min-height:var(--touch);padding:6px 16px 6px 6px}.whobar .pchip .avatar{width:36px;height:36px;font-size:.85em}}@container app (max-width: 1023px) or (orientation: portrait){.main>div>.stabs,.main>.stabs{flex-shrink:0;scrollbar-width:none}.main>div>.stabs::-webkit-scrollbar,.main>.stabs::-webkit-scrollbar{display:none}.main>div>.stabs:empty,.main>.stabs:empty{display:none}.listpage .list .li{padding:6px 4px 6px 14px}.listpage .litext{padding:8px 0;line-height:1.3}.listpage .litext .qty{display:inline-block;max-width:100%}.listpage .li>.iconbtn{border-color:transparent;background:transparent;color:var(--ink-2);font-size:1em}.listpage>.row{min-height:44px}.listpage>.btn.danger{align-self:center;padding-inline:28px;background:transparent;margin-top:4px}.phonebar{row-gap:10px}.phonebar .weekof{flex:1 1 0;min-width:0;display:flex;flex-direction:column;line-height:1.15}.phonebar .weekof b{font-family:var(--display);font-weight:500;font-size:1.4em;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phonebar .weekof small{font-size:.78em;color:var(--ink-2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phonebar .row{flex:0 0 auto;flex-wrap:nowrap;gap:6px}.phonebar .row .btn:nth-child(2){flex:none}.phonebar .row .btn{min-height:44px;padding:0 14px}.phonebar .row .btn[aria-label]{width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}.phonebar .row .btn.away{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}.mealday>.linkbtn{align-self:flex-start;min-height:36px}.candidate .linkbtn,.recipe>.linkbtn{font-size:1em;line-height:1.3;padding:2px 0}.candidate .linkbtn b,.recipe>.linkbtn b{color:var(--ink);font-weight:600}.candidate>.row:not(.voters){flex-wrap:nowrap;align-items:flex-start;justify-content:space-between}.candidate>.row:not(.voters)>.linkbtn{flex:1 1 auto;min-width:0}.voters:empty{display:none}.recipe .thumb .ph,.candidate .ph{background:var(--ph)}.recipe .thumb img{display:block}.candidate>.grid2,.candidate>div.muted{margin-top:auto}.candidate>.linkbtn:last-child{align-self:flex-start;min-height:36px}.recipe>.row:last-child{margin-top:auto;flex-wrap:nowrap}.recipe>.row:last-child .btn{flex:1;padding-inline:10px}.addrecipes>.row{flex-wrap:nowrap}.addrecipes>.row .btn{white-space:nowrap;padding-inline:10px;min-width:0}.filters{margin:0}.filters .linkbtn{min-height:36px}.filters .pchk{background:var(--panel);color:var(--ink)}.listpage .in input,.addrecipes .in input,.sheet:has(.ingredients) .in input,.sheet[aria-label="Plan a dinner"] .in input{text-overflow:ellipsis}.content:has(>.recipes)>.row:has(>.linkbtn.danger){order:1}.content:has(>.recipes)>.row>.linkbtn.danger{min-height:44px;color:var(--danger)}.addrecipes .card .sheet h2{text-transform:none;letter-spacing:0;color:var(--ink)}.sheet:has(.ingredients)>.grab+.row{flex-wrap:nowrap;align-items:flex-start}.sheet.cookmode>.grab+.row{position:static}.sheet ol.steps{padding:0 0 0 1.4em;background:transparent;border:0;overflow:visible;gap:6px}.sheet section[aria-label="Edit recipe"]>.row:last-child .btn.primary{flex:1}}@container app (max-width: 600px){.phonebar .weekof b{font-size:1.3em}.phonebar .row .btn{padding:0 12px}.phonebar .row .btn[aria-label]{width:42px}.mealweek{grid-template-columns:minmax(0,1fr);gap:8px}.mealday{flex-direction:row;align-items:center;gap:10px;min-height:0;padding:6px 4px 6px 10px}.mealdow{flex:0 0 2.75em;display:flex;flex-direction:column;align-items:center;font-size:.72em;line-height:1.1}.mealdow b{margin:2px 0 0;font-family:var(--display);font-weight:500;font-size:1.85em;letter-spacing:0}.mealslot{flex:1 1 auto;min-width:0;min-height:52px;flex-direction:row;justify-content:flex-start;text-align:left;padding:6px 10px;gap:10px}.mealslot.filled{text-align:left;border-color:transparent;padding-left:4px;line-height:1.3}.mealslot img{width:44px;height:44px;flex:0 0 auto;border-radius:8px}.mealday>.linkbtn{flex:0 0 auto;align-self:center;min-height:44px;padding:0 10px}.content:has(>.mealweek)>.row{flex-wrap:nowrap}.content:has(>.mealweek)>.row .btn{flex:1}.candidates{grid-template-columns:minmax(0,1fr);gap:10px}.candidate.card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 12px;align-items:start;padding:12px}.candidate>img,.candidate>.ph{grid-row:span 2;width:64px;height:64px!important;border-radius:10px;font-size:1.5em}.candidate>:not(img):not(.ph){grid-column:2}.candidate.card>.grid2,.candidate.card>div.muted,.candidate.card>.linkbtn:last-child{grid-column:1 / -1}.candidate.card>.grid2,.candidate.card>div.muted{margin-top:2px}.candidate.card>.linkbtn:last-child{justify-self:start;margin-top:-4px}.recipes{grid-template-columns:minmax(0,1fr);gap:10px}.recipe.card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 12px;align-items:start;padding:12px}.recipe>.thumb{grid-row:span 3;width:64px;height:64px}.recipe>.thumb img,.recipe>.thumb .ph{width:64px;height:64px;border-radius:10px;font-size:1.5em}.recipe>:not(.thumb){grid-column:2}.recipe>.row:last-child{grid-column:1 / -1;margin-top:8px}.addrecipes .card .li>.kindico{display:none}.addrecipes .card .li:has(>.grow){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:start}.addrecipes .card .li>.grow{display:contents}.addrecipes .card .li>.grow>*{grid-column:1}.addrecipes .card .li>.iconbtn{grid-column:2;grid-row:1 / span 2}.addrecipes .card .li>.grow>.row:last-child{grid-column:1 / -1}.addrecipes .card .li .grow>.row:last-child>.sel{order:1;flex:1 1 100%;min-height:44px}.addrecipes .card .li .grow>.row:last-child>.btn{margin-left:auto}}@container app (max-width: 400px){.addrecipes>.row .btn{font-size:.94em;padding-inline:8px}.phonebar .row{gap:4px}.phonebar .row .btn:not([aria-label]){padding-inline:8px;font-size:.9em}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.mealweek{grid-template-columns:repeat(4,minmax(0,1fr))}}@container app (min-width: 700px) and ((max-width: 1023px) or (orientation: portrait)){.phonebar{flex-wrap:nowrap}.phonebar .segctl{flex:0 0 auto;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;min-width:17em}.phonebar .segctl button{padding:8px 12px}.phonebar .weekof{align-items:flex-end;text-align:right}}@container app (max-width: 1023px) or (orientation: portrait){.tiles-grid{grid-auto-flow:row dense}.tiles-grid .tile{align-items:stretch;text-align:left;min-width:0}.tiles-grid .tile:not(.camtile,.mediatile)>.row:first-child{display:grid;grid-template-columns:1fr auto;grid-template-areas:"ico pill" "name name";gap:2px 8px;align-items:center}.tiles-grid .tile:not(.camtile,.mediatile)>.row:first-child .tico{grid-area:ico;line-height:1.2}.tiles-grid .tile:not(.camtile,.mediatile)>.row:first-child b{grid-area:name;line-height:1.25;overflow-wrap:anywhere}.tiles-grid .tile:not(.camtile,.mediatile)>.row:first-child .src{grid-area:pill}.tiles-grid .tile>.btn{order:1;margin-top:auto;width:100%;padding-inline:10px}.tiles-grid .tile .tstate{line-height:1.3}.tiles-grid .tile.wtile,.tiles-grid .tile.mediatile{grid-column:span 2}.tiles-grid .tile.camtile .row{flex-wrap:nowrap}.tiles-grid .tile.camtile .row b,.tiles-grid .tile.mediatile .row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiles-grid .wtile .fcast .forecast{overflow:visible}.tiles-grid .wtile .fcast .fday{flex:1 1 0;min-width:0}.tiles-grid .mediatile .row{flex-wrap:nowrap}.mediactl{gap:8px}.mediactl>.btn{min-width:var(--touch);font-size:1.1em}.mediactl>.btn:nth-child(3){margin-left:auto}.mediactl .vol{min-width:3em}.mediactl .sel{min-height:var(--touch);border-radius:12px;padding:0 12px}.tiles-grid .wtile>.scrim{font-size:calc(1em / 1.1);font-weight:400}}@container app (max-width: 600px){.tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tiles-grid .tile:not(.wtile){padding:12px}.tiles-grid .tile .tico{font-size:1.5em}.tiles-grid .tile.camtile{grid-column:span 2}.tiles-grid>.tile:nth-child(odd of.tile:not(.wtile,.camtile,.mediatile)):nth-last-child(1 of.tile:not(.wtile,.camtile,.mediatile)){grid-column:span 2}.hometabs{flex:1 1 auto;display:flex}.hometabs button{flex:1;display:inline-flex;align-items:center;justify-content:center}}@container app (max-width: 1023px) or (orientation: portrait){.reviewpage .sheet .hero{max-height:min(50vh,420px);object-fit:contain;background:#000}}@container app (max-width: 600px){.reviewpage>.row:first-child{flex-wrap:nowrap;gap:8px}.reviewpage>.row:first-child .segctl button{padding:8px 12px;white-space:nowrap}.reviewpage>.row:first-child>.btn{padding:10px 12px;white-space:nowrap}.reviewpage .reviewgrid{grid-template-columns:minmax(0,1fr);gap:8px}.reviewpage .rcard{flex-direction:row;align-items:center;min-height:76px}.reviewpage .rcard img,.reviewpage .rcard .rph{flex:0 0 116px;width:116px;height:auto;align-self:stretch;min-height:76px;aspect-ratio:auto;font-size:1.6em}.reviewpage .rcard .rbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.reviewpage .rcard .rtitle{line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reviewpage>.empty{padding:20px 16px 8px;text-wrap:pretty}.reviewpage .list .li .grow{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.reviewpage .list .li .pchk{min-height:44px!important}.reviewpage form.row{display:grid;grid-template-columns:minmax(0,1fr) auto}.reviewpage form.row>.in:first-child{grid-column:1 / -1}.reviewpage form.row>.in{min-width:0!important}}@container app (max-width: 1023px) or (orientation: portrait){.weatherpage .wmap{height:440px}.weatherpage .wmap .fmap.big{min-height:0}.weatherpage .wkv{grid-template-columns:repeat(3,minmax(0,1fr))}}@container app (max-width: 600px){.weatherpage .wmap{height:auto;aspect-ratio:3 / 4;max-height:60vh}.weatherpage .wkv{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weatherpage .wkv .wk{min-width:0}.weatherpage .forecast.big{flex-direction:column;flex-wrap:nowrap;gap:0}.weatherpage .forecast.big .fday{flex:none;display:grid;grid-template-columns:3.4em 32px minmax(0,1fr) auto;grid-template-areas:"day ico rain hl";align-items:center;gap:0 12px;padding:8px 2px;min-width:0;border:0;border-top:1px solid var(--line-2);border-radius:0}.weatherpage .forecast.big .fday:first-child{border-top:0;padding-top:2px}.weatherpage .forecast.big .fday:last-child{padding-bottom:0}.weatherpage .forecast.big .fday>small:not(.rain){grid-area:day;font-size:.95em;color:var(--ink)}.weatherpage .forecast.big .fday .fglyph{grid-area:ico;width:32px;height:32px}.weatherpage .forecast.big .fday .rain{grid-area:rain;font-size:.8em}.weatherpage .forecast.big .fday .fhl{grid-area:hl;font-size:1em;text-align:right}.sheet[aria-label=Weather] .forecast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.sheet[aria-label=Weather] .fday{min-width:0;padding:8px 2px}.sheet[aria-label=Weather]>.row .muted{font-size:.9em;text-wrap:balance}}@container app (max-width: 1023px) or (orientation: portrait){.importrow .sub{overflow-wrap:anywhere}.content:has(>.card>.capture>.capbtn.only-compact)>.row>h2{font-size:.78em!important;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);font-weight:700}.content:has(>.card>.capture>.capbtn.only-compact)>.row>.pchk{min-height:44px!important}.sheet[aria-label="Review import"]>.grab+.row{display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(max-content,1fr);gap:8px}.sheet[aria-label="Review import"]>.grab+.row>span{display:none}.sheet[aria-label="Review import"]>.grab+.row>.btn{justify-self:start;white-space:nowrap}.sheet[aria-label="Review import"]>.grab+.row>.btn.primary{justify-self:end}.sheet[aria-label="Review import"]>.grab+.row>h2{min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet[aria-label="Review import"]>.banner.err{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom,0px));z-index:3;margin:0 -16px calc(-16px - env(safe-area-inset-bottom,0px));padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border:0;border-top:1px solid var(--danger);border-radius:0;background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.cand .conf.low{background:color-mix(in srgb,var(--warn) 22%,var(--panel));color:color-mix(in srgb,var(--warn) 70%,var(--ink))}.candedit .toggle:before{content:"";position:absolute;top:-8px;right:-6px;bottom:-8px;left:-6px}.cand .candhead .check{position:relative}.cand .candhead .check:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%}.cand .profchips.small button{min-height:40px}}@container app (max-width: 600px){.capture:has(>.capbtn.only-compact){grid-template-columns:1fr 1fr;gap:8px}.capture:has(>.capbtn.only-compact)>.capbtn{min-height:0;padding:12px 8px}.list .li.importrow{flex-wrap:wrap;row-gap:6px}.list .li.importrow>.grow{flex:1 1 calc(100% - 44px)}.list .li.importrow>.kindico{align-self:flex-start;padding-top:2px}.list .li.importrow>.stpill{margin-left:44px;margin-right:auto}.sheet[aria-label="Review import"] .hero{max-height:150px}}@container app (max-width: 1023px) or (orientation: portrait){.center>p{margin:0;max-width:380px;text-wrap:pretty}.center>.form~p:last-child{margin-top:8px;font-size:.9em}.center .code{width:100%;max-width:352px;margin:6px 0}.center .code span{flex:0 1 52px;min-width:0;height:64px;font-size:1.8em;border-radius:10px}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.center .code{max-width:480px;gap:12px}.center .code span{flex-basis:68px;height:86px;font-size:2.4em;border-radius:12px}}@container app (max-width: 1023px) or (orientation: portrait){.setup .steps{flex-direction:row;gap:6px;padding:8px 16px;background:linear-gradient(to right,var(--panel) 40%,transparent) left center / 32px 100% no-repeat local,linear-gradient(to left,var(--panel) 40%,transparent) right center / 32px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--ink) 18%,transparent),transparent) left center / 14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--ink) 18%,transparent),transparent) right center / 14px 100% no-repeat scroll,var(--panel)}.setup .steps .step{flex:0 0 auto}.setup form.row:has(input[name=pin])>.btn.primary{order:2}.setup .mono{overflow-wrap:anywhere}.setup .envlist .li{align-items:flex-start}.setup .envlist .li .status{flex:0 0 auto;margin-top:6px}.setup .sysrow.ok{color:inherit}.setup .card>.linkbtn,.setup .field>.linkbtn{min-height:44px}}@container app (min-width: 601px) and ((max-width: 1023px) or (orientation: portrait)){.setup .steps{display:block;padding:5px 13px;text-align:center;text-wrap:balance}.setup .steps .step{display:inline-flex;vertical-align:top;margin:3px}}@container app (max-width: 600px){.setup .appbar h1{font-size:1.35em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.setup .appbar .btn{flex:0 0 auto;padding:8px 14px;min-height:44px}.setup .integ>.row:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}.setup .integ>.row:first-child>.grow{display:contents}.setup .integ>.row:first-child .title{grid-column:1;grid-row:1;align-self:center}.setup .integ>.row:first-child .segctl{grid-column:2;grid-row:1}.setup .integ>.row:first-child .grow>.muted{grid-column:1 / -1;grid-row:2}.setup form.row:has(input[name=pin]){display:grid;grid-template-columns:1fr 1fr}.setup form.row:has(input[name=pin])>.in{grid-column:1 / -1}.setup .capture{grid-template-columns:1fr;gap:8px}.setup .capture>.capbtn{display:grid;grid-template-columns:40px minmax(0,1fr);align-content:center;column-gap:12px;min-height:64px;padding:10px 14px;text-align:left}.setup .capture>.capbtn .ico{grid-row:1 / 3;font-size:1.6em;text-align:center}.setup .capture>.capbtn small{grid-column:2}.setup form.card .grid2:has(>.field){grid-template-columns:1fr}.setup .row:has(#su-pair-code)>.btn.primary{flex:1 1 100%}}@container app (max-width: 1023px) or (orientation: portrait){.settings .card .sheet h2{text-transform:none;letter-spacing:0;color:var(--ink)}.settings .field label:is(.pchk,.row){font-size:inherit;color:var(--ink)}.settings .row>label.row:has(>input:is([type=checkbox],[type=radio])){border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 10px;min-height:44px;gap:8px;cursor:pointer}.settings .row>label.row:has(>input:checked){border-color:var(--accent);background:var(--ground);box-shadow:inset 0 0 0 1px var(--accent)}.settings .pchk:has(>span>.muted){border-radius:var(--radius);align-items:flex-start;padding:9px 12px 9px 10px}.settings .pchk:has(>span>.muted)>input{margin-top:4px}.settings .card>.field>.row>button.pchip{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:8px 16px;min-height:44px}.settings .card>.field>.row>button.pchip[aria-pressed=true]{outline:0;border-color:var(--accent);background:var(--ground);box-shadow:inset 0 0 0 1px var(--accent)}.settings :is(.card>.muted:not([style]),.content>p.muted){margin:0;font-size:.85em}.settings .field>textarea{display:block;width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;font:inherit;resize:vertical}.settings .card button.primary:not(.btn){border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:var(--accent-ink);padding:10px 16px;min-height:var(--touch);font-weight:600}.settings .card button.primary:not(.btn):disabled{opacity:.5;cursor:default}.settings details>summary{padding-block:10px;cursor:pointer}.settings .list .li .sub.mono,.settings .envlist .mono,.settings .integ .mono{overflow-wrap:anywhere}.settings .envlist .li>.status{align-self:flex-start;margin-top:7px}.settings select.sel,.settings .li.subrow .linkbtn{min-height:44px}.settings .content>a.linkbtn{text-wrap:pretty}.appbar:has(+.settings)>.btn{padding:8px 14px;min-height:44px}.settings .celkw .chip button{position:relative}.settings .celkw .chip button:before{content:"";position:absolute;top:-11px;right:-12px;bottom:-11px;left:-12px}.settings .celkw:has(>.chip>button){row-gap:12px;padding-block:4px}}@container app (max-width: 600px){.settings .segctl:not(.integ .segctl){display:flex;align-self:stretch}.settings .segctl:not(.integ .segctl)>button{flex:1 1 auto;min-width:0;padding:8px 6px;line-height:1.15;text-wrap:balance}.settings .integ>.row:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}.settings .integ>.row:first-child>.grow{display:contents}.settings .integ>.row:first-child .title{grid-column:1;grid-row:1;align-self:center}.settings .integ>.row:first-child .segctl{grid-column:2;grid-row:1}.settings .integ>.row:first-child .grow>.muted{grid-column:1 / -1;grid-row:2}.settings .list>.li:where(:has(>.grow~.btn~:is(.btn,.iconbtn)),:has(>.updown)){flex-wrap:wrap;row-gap:8px;padding-block:12px}.settings .list>.li:where(:has(>.grow~.btn~:is(.btn,.iconbtn)),:has(>.updown))>.grow{flex:1 1 calc(100% - 48px)}.settings .list>.li:where(:has(>.grow~.btn~:is(.btn,.iconbtn)),:has(>.updown))>.grow+:is(.btn,.iconbtn){margin-left:auto}.settings .list>.li:where(:has(>.grow~.btn~:is(.btn,.iconbtn)))>:first-child:not(.grow,.updown){align-self:flex-start}.settings .list>.li:where(:has(>.grow~.btn~:is(.btn,.iconbtn)))>.status:first-child{margin-top:7px}.settings .list>.li:has(>.updown)>.grow{flex-basis:calc(100% - 104px)}.settings .updown button{width:40px;height:26px}.settings .grid2:has(#hb-kind,#hb-slot,#cel-bar){grid-template-columns:minmax(0,1fr)}.settings .grid2:has(#mn-school,#cel-ctheme){grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.settings .card>.card{margin-inline:-16px;padding-inline:16px;border-radius:0;border-inline:0;box-shadow:none}.settings .card>.card:last-child{margin-bottom:-14px;border-bottom:0;border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px)}.settings .card>.card>.row:last-child{display:grid;grid-template-columns:1fr 1fr}.settings .card>.card>.row:last-child>span{display:none}.settings .card>.card>.row:last-child>.btn.primary{grid-column:1 / -1}.settings .content>.row:has(>.btn+.btn+.btn){flex-direction:column;align-items:stretch}.settings .row:has(>.in>#pair-code)>.btn{flex:1 1 100%}.settings .list>.li:has(>.grow>.row>.pchk){display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0 12px;align-items:start}.settings .list>.li:has(>.grow>.row>.pchk)>.grow{display:contents}.settings .list>.li:has(>.grow>.row>.pchk)>.kindico{grid-column:1;grid-row:1}.settings .list>.li:has(>.grow>.row>.pchk)>.grow>.title{grid-column:2;grid-row:1}.settings .list>.li:has(>.grow>.row>.pchk)>.grow>.sub{grid-column:2;grid-row:2}.settings .list>.li:has(>.grow>.row>.pchk)>.iconbtn{grid-column:3;grid-row:1 / span 2}.settings .list>.li:has(>.grow>.row>.pchk)>.grow>.row{grid-column:1 / -1;grid-row:3}.settings .list .li .row:has(>select.sel)>select.sel{order:9;flex:1 1 100%}.settings .card>.row:has(>.pchk>span>small){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}.settings .card>.row:has(>.pchk>span>small)>.pchk{border-radius:var(--radius);align-items:flex-start;padding:8px 10px;min-width:0}.settings .card>.row:has(>.pchk>span>small)>.pchk>input{margin-top:4px}.settings .card>.row:has(>.pchk>span>small)>.pchk small{display:block;line-height:1.25}.settings .mapgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings .daychips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.settings .daychips button{position:relative;min-width:0;min-height:0;aspect-ratio:1;padding:0}.settings .daychips button:after{content:"";position:absolute;top:-3px;right:-2px;bottom:-3px;left:-2px}.settings .swatches{flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:4px}.settings .swatch{flex:0 1 40px;width:auto;height:auto;aspect-ratio:1;min-width:0}.settings .swatch input{width:100%;height:100%}.settings .layoutpick .sample .weather{flex-wrap:wrap;row-gap:10px}.settings .layoutpick .sample .weather .mini{flex:1 1 100%;justify-content:space-around;padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}.epick-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.epick-filters .pchip{flex:0 0 auto;min-height:36px}.settings .field>.row:has(.epick){position:relative}.settings .field>.row .epick{position:static}}@container app (max-width: 400px){.settings .daychips button{font-size:.85em}}html.previewing,html.previewing body{overflow:hidden}html.previewing body{background:color-mix(in srgb,var(--ink) 16%,var(--ground))}#preview-frame{position:fixed;top:var(--preview-top, 76px);left:50%;width:var(--preview-w);height:var(--preview-h);transform:translate(-50%) scale(var(--preview-scale, 1));transform-origin:50% 0;border-radius:32px;overflow:hidden;background:var(--ground);box-shadow:0 0 0 10px #141210,0 0 0 11px #ffffff14,0 24px 70px #0006}#preview-frame,#preview-frame *{scrollbar-width:none}#preview-frame ::-webkit-scrollbar{display:none}#preview-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;container:overlay / size}#preview-layer>*{pointer-events:auto}html.previewing .fmapsheet{height:60cqh!important}html.previewing .fmap.big{min-height:60cqh}@container app (max-width: 1023px) or (orientation: portrait){html.previewing .reviewpage .sheet .hero{max-height:min(50cqh,420px)}html.previewing .weatherpage .wmap{max-height:60cqh}}.previewbar{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;width:max-content;max-width:calc(100vw - 16px);padding:5px 5px 5px 16px;border-radius:26px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 20px #0000002e;font-size:14px;white-space:nowrap}.previewbar .segctl button{padding:6px 12px;min-height:36px}.previewbar .btn{min-height:40px;padding:8px 14px;border-radius:999px}.previewbar .dims{font-size:.9em;text-align:center}#preview-layer{--cel-vmin: 1cqmin;--cel-vmax: 1cqmax;--cel-vh: 1cqh;--cel-vw: 1cqw}
