@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --sunrise{syntax:"<number>";inherits:true;initial-value:0}:root{--bg:#fff6f9;--bg-blob-1:#ffd6e6;--bg-blob-2:#ffe4cf;--bg-blob-3:#e6dcff;--bg-blob-4:#d4f5ea;--card:#ffffffd6;--card-solid:#fff;--card-border:#ffaacd61;--field:#fff8fb;--line:#f6dbe7;--ink:#4a2340;--ink-soft:#6e4864;--muted:#8a6580;--check-ring:#cc6492;--accent:#ff6fa5;--accent-ink:#b02a5b;--accent-soft:#ffe2ee;--lav:#b49cff;--lav-ink:#6a4bc4;--lav-soft:#efe9ff;--mint:#6fd3b5;--mint-ink:#1a7a5d;--mint-soft:#ddf7ee;--warn-ink:#b5501f;--warn-soft:#fff0e6;--soil:#e8d3c6;--cta:linear-gradient(135deg, #c9407a 0%, #b8336d 100%);--cta-glow:0 10px 24px -10px #ff8c6ee6, 0 4px 10px -4px #c9407a73;--grad:linear-gradient(135deg, #ff8fb8 0%, #ffae85 100%);--grad-lav:linear-gradient(135deg, #c3a6ff 0%, #ff9ccc 100%);--hero:linear-gradient(150deg, #ffe7f0 0%, #fff0e6 100%);--dawn-1:#e3dcff;--dawn-2:#f3e3ff;--day-1:#ffe0c7;--day-2:#fff1c9;--shadow:0 10px 30px -12px #e0457b47, 0 2px 6px #e0457b0f;--shadow-lg:0 24px 60px -20px #96286466;--radius:24px;--radius-sm:16px;--font-display:"Fredoka Variable", "Fredoka", ui-rounded, system-ui, sans-serif;--font-body:"Nunito Variable", "Nunito", ui-rounded, system-ui, sans-serif;--tabbar-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--pink:var(--accent);--pink-deep:var(--accent-ink);--pink-soft:var(--accent-soft);--lavender-soft:var(--lav-soft);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#1d1222;--bg-blob-1:#4a1f3d;--bg-blob-2:#4a2a2a;--bg-blob-3:#2f2557;--bg-blob-4:#163a36;--card:#2e1c34db;--card-solid:#2c1b33;--card-border:#ff8cbe2e;--field:#261729;--line:#4a3050;--ink:#fbe9f3;--ink-soft:#e6c8da;--muted:#c19db5;--check-ring:#9b6b92;--accent:#ff7aa8;--accent-ink:#ff8fb8;--accent-soft:#4a2140;--lav-ink:#cbb9ff;--lav-soft:#33285a;--mint-ink:#8fe8cc;--mint-soft:#173d36;--warn-ink:#ffb18c;--warn-soft:#4a2a1d;--soil:#4a3640;--hero:linear-gradient(150deg, #3a2040 0%, #33222f 100%);--dawn-1:#2b2350;--dawn-2:#352046;--day-1:#4a2a2a;--day-2:#4a3a24;--shadow:0 10px 30px -12px #0009;--shadow-lg:0 24px 60px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=plum]{--bg:#1d1222;--bg-blob-1:#4a1f3d;--bg-blob-2:#4a2a2a;--bg-blob-3:#2f2557;--bg-blob-4:#163a36;--card:#2e1c34db;--card-solid:#2c1b33;--card-border:#ff8cbe2e;--field:#261729;--line:#4a3050;--ink:#fbe9f3;--ink-soft:#e6c8da;--muted:#c19db5;--check-ring:#9b6b92;--accent:#ff7aa8;--accent-ink:#ff8fb8;--accent-soft:#4a2140;--lav-ink:#cbb9ff;--lav-soft:#33285a;--mint-ink:#8fe8cc;--mint-soft:#173d36;--warn-ink:#ffb18c;--warn-soft:#4a2a1d;--soil:#4a3640;--hero:linear-gradient(150deg, #3a2040 0%, #33222f 100%);--dawn-1:#2b2350;--dawn-2:#352046;--day-1:#4a2a2a;--day-2:#4a3a24;--shadow:0 10px 30px -12px #0009;--shadow-lg:0 24px 60px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=lavender]{--bg:#f7f4ff;--bg-blob-1:#e4dcff;--bg-blob-2:#ffe0f0;--bg-blob-3:#d8e6ff;--bg-blob-4:#e3f8f0;--card-border:#a08cff52;--field:#faf8ff;--line:#e6dffb;--ink:#35275e;--ink-soft:#5a4a85;--muted:#6f6293;--check-ring:#8f72e8;--accent:#9b7ff0;--accent-ink:#5b3fc0;--accent-soft:#ece6ff;--cta:linear-gradient(135deg, #7357d6 0%, #6247c4 100%);--cta-glow:0 10px 24px -10px #ff9ccce6, 0 4px 10px -4px #6247c473;--grad:linear-gradient(135deg, #b9a3ff 0%, #ff9ccc 100%);--hero:linear-gradient(150deg, #efe9ff 0%, #ffeaf4 100%);--shadow:0 10px 30px -12px #6247c447, 0 2px 6px #6247c40f;--shadow-lg:0 24px 60px -20px #46329666}:root[data-theme=matcha]{--bg:#f6f8f1;--bg-blob-1:#dff0d6;--bg-blob-2:#fbecd9;--bg-blob-3:#e8f2e0;--bg-blob-4:#f3e7f0;--card-border:#82aa6e52;--field:#fafcf7;--line:#e0e8d6;--ink:#2f3a2a;--ink-soft:#4d5c45;--muted:#66735c;--check-ring:#6f9a5f;--accent:#7fb069;--accent-ink:#3f6b33;--accent-soft:#e6f2df;--cta:linear-gradient(135deg, #44803b 0%, #3f7536 100%);--cta-glow:0 10px 24px -10px #f2c98af2, 0 4px 10px -4px #3f753673;--grad:linear-gradient(135deg, #a8d58f 0%, #f2c98a 100%);--hero:linear-gradient(150deg, #e9f4e2 0%, #fbf1e2 100%);--soil:#e3d6c4;--shadow:0 10px 30px -12px #3f753640, 0 2px 6px #3f75360f;--shadow-lg:0 24px 60px -20px #32502861}:root[data-theme=peach]{--bg:#fff7f1;--bg-blob-1:#ffe2cf;--bg-blob-2:#ffd9e3;--bg-blob-3:#fff0c2;--bg-blob-4:#dff5ee;--card-border:#ffaa825c;--field:#fffaf6;--line:#f8e0d2;--ink:#4a2a1f;--ink-soft:#6e4a3c;--muted:#8c6352;--check-ring:#d67950;--accent:#ff9a6b;--accent-ink:#b04a1c;--accent-soft:#ffe8d9;--cta:linear-gradient(135deg, #bd4e25 0%, #b44722 100%);--cta-glow:0 10px 24px -10px #ff8fa8f2, 0 4px 10px -4px #b4472273;--grad:linear-gradient(135deg, #ffb38a 0%, #ff8fa8 100%);--hero:linear-gradient(150deg, #ffeadc 0%, #ffe6ee 100%);--shadow:0 10px 30px -12px #b4472240, 0 2px 6px #b447220f;--shadow-lg:0 24px 60px -20px #8c3c1e61}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;margin:0;font-size:16px;font-weight:500;line-height:1.45}body:before{content:"";z-index:-1;background:radial-gradient(40% 30% at 15% 10%, var(--bg-blob-1), transparent 70%), radial-gradient(35% 30% at 90% 15%, var(--bg-blob-2), transparent 70%), radial-gradient(40% 35% at 85% 85%, var(--bg-blob-3), transparent 70%), radial-gradient(35% 30% at 10% 80%, var(--bg-blob-4), transparent 70%);animation:24s ease-in-out infinite alternate drift;position:fixed;inset:-20%}html[data-sky=sunrise]{transition:--sunrise 1.2s}html[data-sky=sunrise] body:before{background:radial-gradient(45% 32% at 15% 8%, color-mix(in oklab, var(--day-1) calc(var(--sunrise) * 100%), var(--dawn-1)), transparent 70%), radial-gradient(40% 32% at 90% 14%, color-mix(in oklab, var(--day-2) calc(var(--sunrise) * 100%), var(--dawn-2)), transparent 70%), radial-gradient(40% 35% at 85% 85%, var(--bg-blob-3), transparent 70%), radial-gradient(35% 30% at 10% 80%, color-mix(in oklab, var(--day-1) calc(var(--sunrise) * 60%), var(--bg-blob-4)), transparent 70%)}@keyframes drift{to{transform:translate(3%,-2%)rotate(4deg)}}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{opacity:.5;cursor:default}a{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:560px;min-height:100dvh;padding:calc(var(--safe-top) + 12px) 16px calc(var(--tabbar-h) + var(--safe-bottom) + 96px);margin:0 auto}.screen{flex-direction:column;gap:16px;animation:.35s screen-in;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}.screen-header{justify-content:space-between;align-items:flex-end;gap:12px;padding:8px 4px 0;display:flex}.screen-header h1{font-size:28px;line-height:1.1}.screen-header .sub{color:var(--muted);margin-top:4px;font-size:15px;font-weight:600}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)saturate(1.2);padding:18px}.card-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-title h2{font-size:19px}.section-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:600}.muted{color:var(--muted)}.small{font-size:14px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.saved{color:var(--mint-ink);font-size:13px;font-weight:700;animation:.2s fade-in}.btn{min-height:48px;font-family:var(--font-display);white-space:nowrap;background:var(--cta);color:#fff;box-shadow:var(--cta-glow);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}a.btn{text-decoration:none}.btn:active:not(:disabled){transform:scale(.96)}.btn.block{width:100%}.btn.soft{background:var(--accent-soft);color:var(--accent-ink);box-shadow:none}.btn.lav{background:var(--lav-soft);color:var(--lav-ink);box-shadow:none}.btn.ghost{color:var(--accent-ink);box-shadow:none;background:0 0}.btn.danger{color:#b8283f;box-shadow:none;background:#ffe1e1}.btn.sm{min-height:44px;padding:0 16px;font-size:15px}.link-btn{min-height:44px;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;padding:0 6px;font-size:15px;font-weight:700}.icon-btn{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:18px;transition:transform .15s;display:inline-grid}.icon-btn:active{transform:scale(.9)}.icon-btn.plain{color:var(--muted);background:0 0}.icon-btn svg{width:22px;height:22px}.chip{background:var(--accent-soft);min-height:34px;color:var(--accent-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}button.chip{min-height:44px;padding:8px 16px}.chip.lav{background:var(--lav-soft);color:var(--lav-ink)}.chip.mint{background:var(--mint-soft);color:var(--mint-ink)}.chip.warn{background:var(--warn-soft);color:var(--warn-ink)}.chip.plain{background:var(--field);color:var(--ink-soft);border:1.5px solid var(--line)}:root[data-theme=plum] .btn.danger{color:#ff9aa9;background:#4a1d26}@media (prefers-color-scheme:dark){:root:not([data-theme]) .btn.danger{color:#ff9aa9;background:#4a1d26}}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--ink-soft);padding-left:4px;font-size:14px;font-weight:700}.input,.select,.textarea{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--field);appearance:none;outline:none;width:100%;min-height:48px;padding:10px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:36px}.textarea{resize:none;min-height:80px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.toggle{box-sizing:content-box;flex:none;width:52px;height:32px;margin:-6px 0;padding:6px 0;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle span{background:var(--line);border-radius:999px;transition:background .2s;position:absolute;inset:6px 0}.toggle span:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000026}.toggle input:checked+span{background:var(--cta)}.toggle input:checked+span:after{transform:translate(20px)}.toggle input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.setting-row{align-items:center;gap:12px;padding:12px 0;display:flex}.setting-row+.setting-row,.setting-row+.setting-sub,.setting-sub+.setting-row{border-top:1px solid var(--line)}.setting-row .label{flex:1;min-width:0;font-weight:700}.setting-row .label small,.setting-sub small{color:var(--muted);font-size:14px;font-weight:600;display:block}.setting-sub{align-items:center;gap:10px;padding:4px 0 12px;display:flex}.segmented{background:var(--field);border:1.5px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex}.segmented button{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:1;padding:6px 10px;font-size:15px;font-weight:700;transition:all .2s}.segmented button.on{background:var(--cta);color:#fff;box-shadow:var(--cta-glow)}.choices{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.choices button{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--field);min-height:48px;color:var(--ink-soft);text-align:left;padding:8px 12px;font-weight:700;transition:all .15s}.choices button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.choices.three{grid-template-columns:repeat(3,1fr)}.choices.three button{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px;display:flex}.empty .glow-mascot{margin:0 auto}details.fold>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary:after{content:"";border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);width:9px;height:9px;margin-left:auto;transition:transform .2s;transform:rotate(45deg)translateY(-3px)}details.fold[open]>summary:after{transform:rotate(-135deg)translateY(-1px)}.tabbar{left:50%;bottom:calc(var(--safe-bottom) + 10px);width:min(528px,100% - 24px);height:var(--tabbar-h);background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px)saturate(1.4);z-index:20;border-radius:28px;grid-template-columns:1fr 1fr 76px 1fr 1fr;padding:0 6px;display:grid;position:fixed;transform:translate(-50%)}.tabbar button{color:var(--muted);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:5px 2px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.tabbar button .ico{width:26px;height:26px;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.tabbar button.on{color:var(--accent-ink);background:var(--accent-soft)}.tabbar button.on .ico{transform:translateY(-1px)scale(1.08)}.tabbar button.on .ico .fill{fill:currentColor;fill-opacity:.2}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);z-index:50;background:#3c143259;animation:.2s fade-in;position:fixed;inset:0}.sheet{width:min(560px,100%);max-height:calc(100dvh - var(--safe-top) - 24px);background:var(--card-solid);box-shadow:var(--shadow-lg);z-index:51;border-radius:28px 28px 0 0;flex-direction:column;animation:.32s cubic-bezier(.2,.9,.3,1.05) sheet-up;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.sheet.dragging{transition:none}.sheet.settling{transition:transform .22s}.sheet.full{height:calc(100dvh - var(--safe-top) - 12px)}.sheet-grab{touch-action:none;z-index:2;height:26px;position:absolute;top:0;left:0;right:0}.sheet-grab:before{content:"";background:var(--line);border-radius:99px;width:40px;height:5px;margin-left:-20px;position:absolute;top:7px;left:50%}.sheet-head{border-bottom:1px solid var(--line);touch-action:none;align-items:center;gap:10px;padding:18px 16px 10px;display:flex}.sheet-head h2{flex:1;font-size:20px}.sheet-body{padding:16px 16px calc(var(--safe-bottom) + 20px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.sheet-bare{flex-direction:column;flex:1;min-height:0;display:flex}.sheet.kb{border-radius:28px;animation:none}.sheet.kb .composer{padding-bottom:10px}.sheet-foot{padding:12px 16px calc(var(--safe-bottom) + 12px);border-top:1px solid var(--line);gap:10px;display:flex}@keyframes sheet-up{0%{transform:translate(-50%,100%)}}@keyframes fade-in{0%{opacity:0}}.confirm{z-index:70;padding:16px 16px calc(var(--safe-bottom) + 16px);background:#3c143259;place-items:end center;animation:.15s fade-in;display:grid;position:fixed;inset:0}.confirm .box{background:var(--card-solid);border-radius:var(--radius);width:min(400px,100%);box-shadow:var(--shadow-lg);padding:20px;animation:.25s cubic-bezier(.3,1.4,.5,1) sheet-pop}.confirm h3{font-size:19px}.confirm p{color:var(--ink-soft);margin:6px 0 16px}.confirm .row .btn{flex:1}@keyframes sheet-pop{0%{opacity:0;transform:translateY(20px)scale(.96)}}.toast{bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 26px);z-index:100;background:var(--ink);width:max-content;max-width:min(400px,100% - 32px);color:var(--card-solid);box-shadow:var(--shadow-lg);border-radius:20px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.35;animation:.35s cubic-bezier(.3,1.5,.5,1) toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast button{background:color-mix(in srgb, var(--card-solid) 18%, transparent);min-height:36px;color:var(--card-solid);border-radius:999px;flex:none;padding:0 12px;font-weight:800}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px)}}.glow-mascot{display:block;overflow:visible}.glow-mascot .rays{transform-origin:50px 54px;animation:40s linear infinite spin}.glow-mascot .face{transform-origin:50px 84px}.glow-mascot.bob{animation:4s ease-in-out infinite float}.glow-mascot.stretch .face{animation:1.5s cubic-bezier(.3,1.3,.5,1) stretch}.glow-mascot.stretch .rays{animation:1.5s ease-out rays-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stretch{30%{transform:scale(.94,1.12)}55%{transform:scale(1.06,.94)}}@keyframes rays-out{0%{opacity:.2;transform:scale(.6)rotate(-20deg)}60%{opacity:1;transform:scale(1.18)}}@keyframes float{50%{transform:translateY(-4px)}}.hello{padding:6px 4px 0}.hello h1{font-size:26px;line-height:1.15}.hello-sub{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.hello .date{color:var(--muted);min-width:0;font-size:15px;font-weight:600}.streak-pill{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 10px;font-size:14px;font-weight:700;line-height:1.1;display:inline-flex}.streak-pill b{font-family:var(--font-display);font-size:16px;font-weight:600}.special-banner{border-radius:var(--radius);background:var(--lav-soft);color:var(--ink);border:1px solid color-mix(in srgb, var(--lav) 40%, transparent);align-items:center;gap:12px;padding:14px 16px;font-weight:700;display:flex}.special-banner .big{font-size:30px}.special-banner .small{color:var(--ink-soft);font-weight:600}.upnext{background:var(--hero);border:1.5px solid color-mix(in srgb, var(--accent) 30%, transparent);padding:18px 18px 14px}.upnext .label{justify-content:space-between;align-items:center;display:flex}.upnext .what{align-items:center;gap:14px;margin:10px 0 14px;display:flex}.upnext .what .emoji{background:var(--card-solid);width:60px;height:60px;box-shadow:var(--shadow);border-radius:20px;flex:none;place-items:center;font-size:34px;display:grid}.upnext .what h2{font-size:24px;line-height:1.15}.upnext .what .meta{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:15px;font-weight:600;display:-webkit-box;overflow:hidden}.upnext .done-btn{width:100%;min-height:56px;font-size:19px}.upnext .under{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.upnext .note{color:var(--ink-soft);margin:0 0 12px;font-size:14px;font-weight:600}.status-line{color:var(--ink-soft);border-top:1px solid color-mix(in srgb, var(--accent) 22%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;padding-top:12px;font-size:15px;font-weight:600;display:flex}.status-line .pace{background:var(--mint-soft);color:var(--mint-ink);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:14px;font-weight:800}.status-line .pace.behind{background:var(--card-solid);color:var(--ink-soft)}.mode-chips{gap:8px;margin-top:-6px;display:flex}.mode-chips .chip{flex:1;justify-content:center}.note-card{align-items:flex-start;gap:14px;display:flex;position:relative}.note-card .glow-mascot{flex:none;margin-top:-2px}.note-card h2{font-size:18px;line-height:1.2}.note-card .hype{color:var(--ink-soft);margin:4px 0 0;font-size:16px}.note-card .focus{white-space:normal;text-align:left;margin-top:10px;display:inline-flex}.note-card.sealed{background:var(--card);border-style:dashed;align-items:center}.note-card.sealed p{color:var(--muted);margin:2px 0 0;font-size:15px;font-weight:600}.note-more{margin-top:10px}.note-more summary{color:var(--accent-ink);font-size:15px;font-weight:700}.insights{flex-direction:column;gap:10px;margin-top:8px;display:flex}.insight{color:var(--ink-soft);gap:10px;font-size:15px;display:flex}.insight .e{background:var(--field);border-radius:10px;flex:none;place-items:center;width:30px;height:30px;display:grid}.brief-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.shimmer{background:linear-gradient(90deg, var(--accent-soft), var(--lav-soft), var(--accent-soft));background-size:200% 100%;border-radius:8px;height:14px;margin:10px 0;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.ritual{z-index:80;text-align:center;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(8px);pointer-events:none;align-content:center;place-items:center;gap:8px;animation:1.6s forwards ritual;display:grid;position:fixed;inset:0}.ritual h2{font-size:28px}@keyframes ritual{0%{opacity:0}15%,80%{opacity:1}to{opacity:0}}.morning-head{align-items:center;gap:14px;padding:4px 4px 0;display:flex}.sunrise{width:96px;height:60px;box-shadow:var(--shadow);border-radius:18px;flex:none;overflow:hidden}:root[data-theme=plum] .sunrise{filter:brightness(.78)saturate(.9)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .sunrise{filter:brightness(.78)saturate(.9)}}.sunrise .sun{transition:transform .9s cubic-bezier(.3,1.2,.5,1)}.sunrise .rays line{transition:opacity .6s}.morning-head h2{font-size:22px;line-height:1.1}.morning-head .muted{font-size:15px;font-weight:600}.timeline{flex-direction:column;gap:8px;display:flex}.step{background:var(--card);border:1.5px solid var(--card-border);border-radius:20px;align-items:center;transition:opacity .2s,border-color .2s;display:flex;position:relative;box-shadow:0 4px 14px -10px #78285a59}.step .step-main{text-align:left;border-radius:20px;flex:1;align-items:center;gap:12px;min-width:0;padding:10px 4px 10px 10px;display:flex}.step.next{border-color:var(--accent);box-shadow:0 10px 26px -14px color-mix(in srgb, var(--accent) 80%, transparent)}.step.done,.step.skipped{opacity:.55;box-shadow:none;background:0 0;border-color:#0000}.step.done .step-main,.step.skipped .step-main{padding-top:4px;padding-bottom:4px}.step .emoji{border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.step.done .emoji,.step.skipped .emoji{border-radius:11px;width:32px;height:32px;font-size:17px}.step .info{flex:1;min-width:0}.step .info>span{display:block}.step .title{font-weight:800;line-height:1.2}.step.done .title,.step.skipped .title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.step .meta{color:var(--muted);font-size:14px;font-weight:600}.step .tag{vertical-align:2px;background:var(--accent-soft);color:var(--accent-ink);border-radius:99px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:800;display:inline-block}.step .tag.lav{background:var(--lav-soft);color:var(--lav-ink)}.check{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;margin:0 6px 0 2px;display:grid;position:relative}.check .ring{border:2.5px solid var(--check-ring);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;font-weight:800;transition:all .25s cubic-bezier(.3,1.6,.5,1);display:grid}.check.on .ring{background:var(--accent-ink);border-color:#0000;width:30px;height:30px;font-size:15px}.check.skip .ring{background:var(--line);width:30px;height:30px;color:var(--ink-soft);border-color:#0000;font-size:13px}.check.pop .ring{animation:.4s cubic-bezier(.3,1.6,.5,1) check-pop}@keyframes check-pop{40%{transform:scale(1.25)}}.step-actions{flex-wrap:wrap;gap:8px;padding:4px 4px 8px 64px;animation:.2s fade-in;display:flex}.step-notes{color:var(--ink-soft);white-space:pre-wrap;padding:0 8px 4px 64px;font-size:15px}.burst{pointer-events:none;position:absolute;inset:0}.burst i{font-size:14px;font-style:normal;animation:.7s ease-out forwards burst;position:absolute;top:50%;left:50%}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1);opacity:0}}.confetti{pointer-events:none;z-index:90;position:fixed;inset:0;overflow:hidden}.confetti i{font-size:22px;font-style:normal;animation:linear forwards fall;position:absolute;top:-40px}@keyframes fall{to{transform:translateY(110vh)rotate(540deg)}}.celebrate{text-align:center;background:var(--hero);border:1.5px solid color-mix(in srgb, var(--mint) 45%, transparent);color:var(--ink);padding:22px 18px}.celebrate .glow-mascot{margin:0 auto 6px}.celebrate h2{margin:2px 0 6px;font-size:23px}.celebrate p{color:var(--ink-soft);margin:0;font-weight:600}.celebrate .chip{margin-top:12px}.empty{text-align:center;padding:28px 18px}.empty .big{font-size:54px;line-height:1.2}.empty h2{margin:8px 0 4px}.tomorrow{align-items:center;gap:12px;display:flex}.tomorrow .big{font-size:30px}.disclose{text-align:left;width:100%;min-height:52px;color:var(--ink-soft);align-items:center;gap:10px;padding:0 18px;font-weight:700;display:flex}.disclose .chev{color:var(--muted);margin-left:auto}.mode-card{background:var(--hero)}.mode-card .big-num{font-family:var(--font-display);font-size:44px;font-weight:600;line-height:1}.mode-card p{color:var(--ink-soft);margin:6px 0 0;font-weight:600}.rush-step{background:var(--card);border:1.5px solid var(--card-border);border-radius:20px;align-items:center;gap:12px;padding:10px 6px 10px 12px;display:flex}.rush-step .info{flex:1;min-width:0}.rush-step .tip{color:var(--ink-soft);font-size:15px;font-weight:600}.rush-step.done{opacity:.55;background:0 0;border-color:#0000;padding-top:0;padding-bottom:0}.screen[data-mode=hard]{--accent:var(--lav);--accent-ink:var(--lav-ink);--accent-soft:var(--lav-soft);--check-ring:color-mix(in srgb, var(--lav-ink) 75%, transparent);--hero:linear-gradient(160deg, var(--lav-soft) 0%, color-mix(in srgb, var(--lav-soft) 60%, var(--card-solid)) 100%);--cta:linear-gradient(135deg, #7357d6 0%, #6247c4 100%);--cta-glow:0 10px 24px -12px #6247c499}.quote{border-left:3px solid var(--lav);background:var(--card-solid);color:var(--ink-soft);border-radius:4px 12px 12px 4px;margin:12px 0 0;padding:10px 12px;font-weight:600}.breathe{text-align:center;place-items:center;gap:14px;padding:12px 0 4px;display:grid}.breathe .circle{background:radial-gradient(circle at 40% 35%, var(--card-solid), var(--lav-soft) 60%, color-mix(in srgb, var(--lav) 55%, transparent));width:150px;height:150px;box-shadow:0 0 0 10px color-mix(in srgb, var(--lav) 18%, transparent);font-family:var(--font-display);color:var(--lav-ink);border-radius:50%;place-items:center;font-size:20px;font-weight:600;animation:10s ease-in-out infinite breathe;display:grid}@keyframes breathe{0%,to{transform:scale(.72)}40%,50%{transform:scale(1)}}.tonight-hero{text-align:center;background:var(--hero);padding:22px 18px}.tonight-hero .wake{font-family:var(--font-display);margin:8px 0 6px;font-size:52px;font-weight:600;line-height:1}.tonight-hero p{color:var(--ink-soft);margin:4px 0 0;font-weight:600}.lights-out{align-items:center;gap:14px;display:flex}.lights-out .moon{font-size:32px}.lights-out b{font-family:var(--font-display);font-size:20px;font-weight:600}.prep-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 0;display:flex}.prep-row+.prep-row{border-top:1px solid var(--line)}.prep-row .e{text-align:center;width:36px;font-size:24px}.prep-row .label{flex:1;font-weight:700}.prep-row .label small{color:var(--muted);font-size:14px;font-weight:600;display:block}.mission{background:var(--accent-soft);color:var(--accent-ink);border-radius:99px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:800;display:inline-block}.issues{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.issue{color:var(--ink-soft);background:var(--field);border-radius:14px;gap:10px;padding:10px 12px;font-size:15px;font-weight:600;display:flex}.check-ok{align-items:center;gap:12px;font-weight:700;display:flex}.check-ok .e{font-size:24px}.week-strip{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.week-strip button{background:var(--field);min-height:72px;color:var(--ink-soft);border:1.5px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;font-size:12px;font-weight:700;display:flex}.week-strip button.today{border-color:var(--accent)}.week-strip .d{font-family:var(--font-display);color:var(--muted);font-size:13px;font-weight:600}.week-strip .e{font-size:20px;line-height:1.3}.week-strip .t{white-space:nowrap;font-size:11px}.routine-chip{color:#4a2340;border-radius:16px;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 12px;font-weight:700;display:flex}.routine-chip .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.routine-chip.none{background:var(--field);color:var(--ink-soft);border:1.5px dashed var(--line)}.grad-pink{background:linear-gradient(135deg,#ffd0e1,#ffb3cd)}.grad-peach{background:linear-gradient(135deg,#ffdcc4,#ffc1a6)}.grad-lavender{background:linear-gradient(135deg,#e3d8ff,#cbbaff)}.grad-mint{background:linear-gradient(135deg,#c8f2e3,#a3e4cd)}.grad-sky{background:linear-gradient(135deg,#d0ecff,#b0dbfa)}.grad-lemon{background:linear-gradient(135deg,#fff0bf,#ffe08f)}.dot-pink{background:#ff7aa8}.dot-peach{background:#ff9a7a}.dot-lavender{background:#a48bff}.dot-mint{background:#5bc9a8}.dot-sky{background:#6fb8f0}.dot-lemon{background:#ffc35c}.cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-head h3{font-size:18px}.cal{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal .dow{text-align:center;color:var(--muted);padding-bottom:4px;font-size:12px;font-weight:800}.cal button{background:var(--field);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:46px;font-size:15px;font-weight:700;transition:transform .15s;display:flex;position:relative}.cal button:active{transform:scale(.92)}.cal button.out{opacity:.4}.cal button.today{box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent-ink)}.cal button.past{color:var(--muted)}.cal .dot{border-radius:50%;width:6px;height:6px}.cal .badge{font-size:12px;line-height:1}.routine-card{color:#4a2340;text-align:left;width:100%;box-shadow:var(--shadow);border-radius:22px;align-items:center;gap:14px;padding:16px;transition:transform .15s;display:flex}.routine-card:active{transform:scale(.98)}.routine-card .big{font-size:32px}.routine-card h3{font-size:18px}.routine-card .meta{color:#5c3452;font-size:14px;font-weight:600}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:3px solid #0000;border-radius:50%;width:44px;height:44px;transition:transform .15s}.swatch.on{border-color:var(--card-solid);box-shadow:0 0 0 2.5px var(--accent)}.emoji-btn{border-radius:var(--radius-sm);background:var(--field);border:1.5px solid var(--line);flex:none;width:52px;height:48px;font-size:26px}.emoji-grid{border-radius:var(--radius-sm);background:var(--field);border:1.5px solid var(--line);box-shadow:var(--shadow);grid-template-columns:repeat(8,1fr);gap:6px;margin-top:6px;padding:8px;display:grid}.emoji-grid button{aspect-ratio:1;border-radius:10px;font-size:24px}.emoji-grid button:active{background:var(--accent-soft)}.summary-bar{border-radius:var(--radius-sm);background:var(--field);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;font-size:15px;font-weight:700;display:flex}.step-list{border:1.5px solid var(--line);background:var(--card-solid);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.step-edit{background:var(--card-solid);transition:background .15s}.step-edit+.step-edit{border-top:1px solid var(--line)}.step-edit.dragging{z-index:3;background:var(--accent-soft);box-shadow:var(--shadow-lg);position:relative}.step-edit .row-main{align-items:center;gap:4px;min-height:60px;display:flex}.step-edit .handle{width:40px;height:56px;color:var(--muted);touch-action:none;cursor:grab;flex:none;place-items:center;display:grid}.step-edit .open-btn{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;min-height:56px;padding:8px 12px 8px 0;display:flex}.step-edit .open-btn .e{text-align:center;flex:none;width:30px;font-size:22px}.step-edit .open-btn .t{flex:1;min-width:0}.step-edit .open-btn b{white-space:nowrap;text-overflow:ellipsis;font-weight:800;display:block;overflow:hidden}.step-edit .open-btn small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.step-edit .chev{color:var(--muted);transition:transform .2s}.step-edit.open .chev{transform:rotate(90deg)}.step-edit .panel{flex-direction:column;gap:12px;padding:4px 14px 16px;animation:.2s fade-in;display:flex}.step-edit .panel .two{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.step-edit .panel .tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stepper{border:1.5px solid var(--line);background:var(--field);border-radius:999px;flex:none;align-items:center;display:flex;overflow:hidden}.stepper button{width:44px;height:44px;color:var(--accent-ink);font-size:20px;font-weight:800}.stepper span{text-align:center;min-width:62px;font-size:15px;font-weight:700}.locked-banner{border-radius:var(--radius-sm);background:var(--lav-soft);align-items:center;gap:12px;padding:14px;font-weight:600;display:flex}.readonly-steps{flex-direction:column;display:flex}.readonly-steps .r{align-items:center;gap:12px;padding:10px 2px;display:flex}.readonly-steps .r+.r{border-top:1px solid var(--line)}.readonly-steps .t{width:76px;font-family:var(--font-display);color:var(--muted);flex:none;font-size:14px;font-weight:600}.readonly-steps .e{font-size:20px}.readonly-steps b{flex:1;font-weight:700}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{text-align:center;padding:14px 6px}.stat .big{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1.15}.stat .lbl{color:var(--muted);margin-top:2px;font-size:13px;font-weight:700;line-height:1.25}.garden{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.garden .dow{text-align:center;color:var(--muted);padding-bottom:2px;font-size:12px;font-weight:800}.garden .plot{aspect-ratio:1;background:var(--field);border-radius:12px;place-items:center;display:grid;position:relative}.garden .plot.rest{background:var(--lav-soft)}.garden .plot.blank{background:0 0}.garden .plot.future{background:color-mix(in srgb, var(--field) 50%, transparent)}.garden .plot.today{box-shadow:inset 0 0 0 2px var(--accent)}.garden .plot .n{color:var(--muted);font-size:10px;font-weight:800;position:absolute;top:3px;left:6px}.garden .plot svg{width:66%;height:66%;margin-top:22%}.garden-legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:12px;font-size:13px;font-weight:600;display:flex}.garden-legend span{align-items:center;gap:4px;display:inline-flex}.garden-legend svg{width:18px;height:18px}.easier-row{align-items:center;gap:10px;padding:7px 0;font-size:15px;font-weight:700;display:flex}.easier-row .name{text-overflow:ellipsis;white-space:nowrap;flex:none;width:116px;overflow:hidden}.easier-row .track{background:var(--field);border:1px solid var(--line);border-radius:9px;flex:1;height:10px;overflow:hidden}.easier-row .track i{background:var(--mint);border-radius:9px;height:100%;display:block}.easier-row small{text-align:right;width:64px;color:var(--muted);flex:none;font-size:13px;font-weight:700}.wins{flex-direction:column;gap:8px;display:flex}.win{background:var(--mint-soft);color:var(--ink);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.chart{width:100%;height:auto;margin-bottom:6px;display:block}.list-row{align-items:center;gap:12px;padding:10px 0;display:flex}.list-row+.list-row{border-top:1px solid var(--line)}.list-row .main{flex:1;min-width:0}.list-row .main b{display:block}.list-row .main small{color:var(--muted);font-size:14px;font-weight:600}.effort{gap:6px;display:flex}.effort button{background:var(--field);border:1.5px solid var(--line);border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:56px;font-size:20px;line-height:1.1;display:flex}.effort button small{color:var(--muted);font-size:11px;font-weight:700}.effort button.on{background:var(--accent-soft);border-color:var(--accent)}.stickers{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.sticker{background:var(--card-solid);border:1.5px dashed var(--card-border);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;display:flex}.sticker .e{filter:drop-shadow(0 3px #ffffffe6)drop-shadow(0 4px 8px #78285a33);font-size:30px;transform:rotate(-6deg)}.sticker b{font-size:13px;font-weight:800;line-height:1.2}.sticker small{color:var(--muted);font-size:11px;font-weight:700}.sticker.locked{opacity:.45}.sticker.locked .e{filter:grayscale()}.sticker-pop{z-index:95;background:var(--card-solid);width:min(280px,100% - 48px);box-shadow:var(--shadow-lg);text-align:center;border-radius:28px;padding:22px 18px;animation:.4s cubic-bezier(.3,1.5,.5,1) sheet-pop;position:fixed;top:34%;left:50%;transform:translate(-50%,-50%)}.sticker-pop .e{font-size:56px;display:inline-block;transform:rotate(-8deg)}.sticker-pop h3{margin-top:4px;font-size:20px}.sticker-pop p{color:var(--ink-soft);margin:4px 0 14px;font-weight:600}.letter-card{text-align:left;background:var(--hero);align-items:center;gap:14px;width:100%;display:flex}.letter-card .e{font-size:34px}.letter{color:var(--ink);font-size:16px}.letter .greet{font-family:var(--font-display);margin:4px 0 8px;font-size:22px;font-weight:600}.letter p{color:var(--ink-soft);margin:0 0 10px}.letter .sign{font-family:var(--font-display);margin-top:6px;font-weight:600}.bouquet{width:220px;max-width:70%;margin:0 auto;display:block}.save-preview img{width:100%;box-shadow:var(--shadow);border-radius:18px}.looks{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.looks button{aspect-ratio:3/4;background:var(--field);border-radius:14px;overflow:hidden}.looks img{object-fit:cover;width:100%;height:100%;display:block}.fab{background:radial-gradient(circle at 50% 40%, #fffaf0 0%, var(--lav-soft) 70%);border:4px solid var(--card-solid);border-radius:50%;place-self:center;place-items:center;width:64px;height:64px;margin-top:-26px;transition:transform .2s cubic-bezier(.3,1.6,.5,1);display:grid;position:relative;box-shadow:0 14px 30px -10px #a464ffb3}.tabbar .fab{background:radial-gradient(circle at 50% 40%, #fffaf0 0%, var(--lav-soft) 75%);border-radius:50%;margin:-26px 0 0;padding:0;display:grid}.fab:active{transform:scale(.9)}.fab .dot{background:var(--accent-ink);border:3px solid var(--card-solid);border-radius:50%;width:16px;height:16px;position:absolute;top:0;right:0}.peek{left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 34px);background:var(--card-solid);width:min(320px,100% - 32px);box-shadow:var(--shadow-lg);border:1px solid var(--card-border);z-index:31;text-align:left;transform-origin:bottom;border-radius:22px;gap:10px;margin:0 auto;padding:14px 44px 14px 14px;animation:.45s cubic-bezier(.3,1.5,.5,1) peek-in;display:flex;position:fixed}.peek:after{content:"";background:var(--card-solid);border-right:1px solid var(--card-border);border-bottom:1px solid var(--card-border);width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg)}.peek .glow-mascot{flex:none}.peek b{font-family:var(--font-display);margin-bottom:2px;font-weight:600;display:block}.peek p{color:var(--ink-soft);margin:0;font-size:15px}.peek .reply{color:var(--accent-ink);margin-top:8px;font-size:14px;font-weight:800;display:inline-block}.peek .x{width:44px;height:44px;color:var(--muted);place-items:center;font-size:15px;display:grid;position:absolute;top:2px;right:2px}@keyframes peek-in{0%{opacity:0;transform:scale(.3)}}.chat-head{border-bottom:1px solid var(--line);touch-action:none;align-items:center;gap:10px;padding:18px 14px 12px;display:flex}.avatar{background:radial-gradient(circle at 50% 40%, #fffaf0 0%, var(--lav-soft) 75%);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.chat-head h2{font-size:19px;line-height:1.1}.chat-head small{color:var(--muted);font-size:14px;font-weight:600}.voice-pill{background:var(--field);border:1.5px solid var(--line);min-height:44px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.voice-pill.on{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;padding:16px 14px;display:flex;overflow-y:auto}.day-sep{color:var(--muted);align-self:center;margin:4px 0;padding:4px 10px;font-size:13px;font-weight:700}.msg{flex-direction:column;gap:4px;max-width:86%;animation:.25s msg-in;display:flex}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start}.bubble{word-wrap:break-word;border-radius:20px;padding:10px 14px;font-size:16px;line-height:1.45}.bubble p{margin:0}.bubble p+p,.bubble ul+p,.bubble p+ul{margin-top:8px}.bubble ul{margin:0;padding-left:20px}.msg.user .bubble{background:var(--accent-soft);color:var(--ink);border-bottom-right-radius:6px}.msg.assistant .bubble{background:var(--field);border:1px solid var(--line);border-bottom-left-radius:6px}.msg.hype .bubble{background:var(--lav-soft);border:1.5px solid color-mix(in srgb, var(--lav) 45%, transparent)}.msg .reply-to{color:var(--muted);border-left:3px solid var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-left:8px;font-size:13px;font-weight:600;overflow:hidden}.msg .photos{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.msg .photos img{object-fit:cover;width:120px;height:150px;box-shadow:var(--shadow);border-radius:16px}.msg .tools{gap:2px;margin-left:-6px;display:flex}.msg .tools button{min-height:44px;color:var(--muted);border-radius:99px;padding:0 10px;font-size:13px;font-weight:700}.msg .tools button.on{color:var(--accent-ink);background:var(--accent-soft)}.typing{gap:4px;padding:4px 2px;display:inline-flex}.typing i{background:var(--lav);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite bounce}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{40%{opacity:.6;transform:translateY(-5px)}}.tool-pill{color:var(--lav-ink);background:var(--lav-soft);border-radius:99px;align-self:flex-start;padding:4px 10px;font-size:13px;font-weight:700}.quick{scrollbar-width:none;gap:8px;padding:0 28px 10px 14px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.quick::-webkit-scrollbar{display:none}.quick button{flex:none}.starters{flex-direction:column;gap:10px;width:100%;max-width:360px;margin:16px auto 0;display:flex}.starter{background:var(--card-solid);border:1.5px solid var(--line);text-align:left;min-height:56px;box-shadow:var(--shadow);border-radius:18px;align-items:center;gap:12px;padding:14px 16px;font-weight:700;display:flex}.starter .e{font-size:22px}.composer{border-top:1px solid var(--line);padding:10px 12px calc(var(--safe-bottom) + 10px);background:var(--card-solid);flex-direction:column;gap:8px;display:flex}.composer .ctx{color:var(--ink-soft);background:var(--accent-soft);border-radius:12px;align-items:center;gap:8px;padding:2px 2px 2px 10px;font-size:14px;font-weight:600;display:flex}.composer .ctx span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.composer .ctx button{flex:none;width:40px;height:40px}.composer .row{align-items:flex-end;gap:8px}.composer textarea{border:1.5px solid var(--line);background:var(--field);resize:none;border-radius:22px;outline:none;flex:1;min-height:44px;max-height:140px;padding:11px 14px;font-size:16px;line-height:1.35}.composer textarea:focus{border-color:var(--accent)}.composer .send{background:var(--cta);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:18px;display:grid}.mic.listening{background:var(--cta);color:#fff;animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.08)}}.pending-photos{gap:10px;padding-top:6px;display:flex}.pending-photos div{position:relative}.pending-photos img{object-fit:cover;border-radius:14px;width:64px;height:64px}.pending-photos button{background:var(--ink);width:30px;height:30px;color:var(--card-solid);border:3px solid var(--card-solid);border-radius:50%;font-size:13px;position:absolute;top:-10px;right:-10px}.onboard{max-width:480px;min-height:100dvh;padding:calc(var(--safe-top) + 12px) 20px calc(var(--safe-bottom) + 20px);flex-direction:column;margin:0 auto;display:flex}.onboard .top{justify-content:space-between;align-items:center;min-height:48px;display:flex}.onboard .dots{gap:6px;display:flex}.onboard .dots i{background:var(--line);border-radius:99px;width:8px;height:8px;transition:all .3s}.onboard .dots i.on{background:var(--accent-ink);width:22px}.onboard .page{flex-direction:column;flex:1;justify-content:center;gap:16px;padding:8px 0 20px;animation:.4s screen-in;display:flex}.onboard h1{font-size:30px;line-height:1.15}.onboard .lead{color:var(--ink-soft);margin:0;font-size:17px;font-weight:600}.onboard .hero-mascot{align-self:center}.onboard .time-input{font-family:var(--font-display);text-align:center;min-height:60px;font-size:21px;font-weight:600}.sample{background:var(--field);border:1px solid var(--line);color:var(--ink-soft);border-radius:18px 18px 18px 6px;padding:12px 14px;font-weight:600}.theme-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-grid button{border:2px solid var(--line);background:var(--field);color:var(--ink-soft);border-radius:18px;flex-direction:column;align-items:center;gap:6px;min-height:92px;padding:10px 4px 8px;font-size:13px;font-weight:700;line-height:1.2;display:flex}.theme-grid button.on{border-color:var(--accent-ink);background:var(--accent-soft);color:var(--accent-ink)}.theme-grid .sw{border:2px solid var(--card-solid);border-radius:50%;width:40px;height:40px;box-shadow:0 2px 8px #0000001f}.theme-grid button:disabled{opacity:.55}.install-steps{flex-direction:column;gap:12px;display:flex}.install-steps .s{background:var(--card-solid);border:1.5px solid var(--line);border-radius:18px;align-items:center;gap:14px;padding:12px 14px;font-weight:700;display:flex}.install-steps .n{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}.install-steps svg{color:#2f7cf6;flex:none;width:34px;height:34px}.pin-screen{text-align:center;place-items:center;min-height:100dvh;padding:24px;display:grid}.pin-screen .glow-mascot{margin:0 auto}.pin-boxes{justify-content:center;gap:10px;margin:18px 0;display:flex;position:relative}.pin-boxes .box{border:2px solid var(--line);background:var(--field);width:48px;height:58px;color:var(--ink);border-radius:16px;place-items:center;font-size:26px;display:grid}.pin-boxes .box.filled{border-color:var(--accent)}.pin-boxes .box.cursor{border-color:var(--accent-ink);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.pin-boxes input{opacity:0;width:100%;font-size:16px;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.burst,.confetti{display:none!important}}
