@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(../media/ae81a531652c3559-s.3ucadoyo-xdh-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(../media/975a0f5506615234-s.1igj89vmripol.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(../media/de61ac51bea66572-s.1iipn76nfc-ol.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(../media/76b348b3b6bb3dba-s.2u-q0k4yrv_wd.woff2)format("woff2");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:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(../media/a13e2d26610b1ad6-s.0jc3bzo5hkhk7.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(../media/9b242d3a901795b0-s.p.3g40io3hfcs5l.woff2)format("woff2");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:Roboto Flex Fallback;src:local(Arial);ascent-override:93.28%;descent-override:24.55%;line-gap-override:0.0%;size-adjust:99.45%}.PPRt4W_className{font-family:Roboto Flex,Roboto Flex Fallback;font-style:normal}.PPRt4W_variable{--font-body:"Roboto Flex", "Roboto Flex Fallback"}
@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");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:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");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:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");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:Fredoka Fallback;src:local(Arial);ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.0%;size-adjust:101.84%}.DxajRW_className{font-family:Fredoka,Fredoka Fallback;font-style:normal}.DxajRW_variable{--font-display:"Fredoka", "Fredoka Fallback"}
@font-face{font-family:Uncial Antiqua;font-style:normal;font-weight:400;font-display:swap;src:url(../media/93b452c45b950e49-s.2z7u5nw4u6tcb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Uncial Antiqua;font-style:normal;font-weight:400;font-display:swap;src:url(../media/859469808383fa1f-s.p.22a9vwmsjjr6q.woff2)format("woff2");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:Uncial Antiqua Fallback;src:local(Arial);ascent-override:76.93%;descent-override:25.76%;line-gap-override:0.0%;size-adjust:128.15%}.e8WUUG_className{font-family:Uncial Antiqua,Uncial Antiqua Fallback;font-style:normal;font-weight:400}.e8WUUG_variable{--font-fairytale:"Uncial Antiqua", "Uncial Antiqua Fallback"}
@font-face{font-family:IM Fell English;font-style:italic;font-weight:400;font-display:swap;src:url(../media/c1aefd5161bb7f5d-s.p.1y9qe_7x2ofb7.woff2)format("woff2");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:IM Fell English Fallback;src:local(Times New Roman);ascent-override:88.71%;descent-override:35.6%;line-gap-override:0.0%;size-adjust:102.04%}._7aoCvW_className{font-family:IM Fell English,IM Fell English Fallback;font-style:italic;font-weight:400}._7aoCvW_variable{--font-storybook:"IM Fell English", "IM Fell English Fallback"}
:root{--primary:#4d7a0f;--on-primary:#fff;--primary-container:#cdee8f;--on-primary-container:#132000;--secondary-container:#ecdcc3;--on-secondary-container:#2a1f10;--tertiary-container:#ffd9e1;--on-tertiary-container:#3f0018;--error:#ba1a1a;--error-container:#ffdad6;--on-error-container:#410002;--surface:#f5f3e4;--surface-low:#efeedd;--surface-mid:#e9e8d6;--surface-high:#e3e3cf;--surface-highest:#dedfc9;--on-surface:#1c1c12;--on-surface-variant:#474836;--outline:#78796a;--outline-variant:#c8c8b2;--inverse-surface:#31311f;--inverse-on-surface:#f3f1dc;--scrim:#00000052;--firefly:#d9bf2b;--firefly-glow:#e9d45c00;--wood:#9a6634;--wood-dark:#5c3a1a;--wood-light:#c08a52;--wood-ink:#3a220d;--sky-top:#e9f1cf;--backdrop-wash:#f5f3e48c;--action-fill:#dedfc99e;--shadow-bubble:0 1px 2px #00000014;--shadow-bubble-user:0 1px 2px #0000001f;--shadow-pill:0 1px 3px #0000001f;--shadow-fab:0 1px 3px #00000026;--shadow-photo:0 2px 6px #00000026;--shadow-float:0 2px 8px #0003;--shadow-snackbar:0 4px 12px #0003;--shadow-sign:0 6px 0 -2px #5c3a1a, 0 10px 20px #0000002e;--sky:linear-gradient(180deg, var(--sky-top) 0%, var(--surface) 55%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--primary:#b2d872;--on-primary:#223600;--primary-container:#375400;--on-primary-container:#cdee8f;--secondary-container:#4f4330;--on-secondary-container:#ecdcc3;--tertiary-container:#7a2944;--on-tertiary-container:#ffd9e1;--error:#ffb4ab;--error-container:#93000a;--on-error-container:#ffdad6;--surface:#10140c;--surface-low:#191d13;--surface-mid:#1d2117;--surface-high:#272b21;--surface-highest:#32362b;--on-surface:#e3e4d3;--on-surface-variant:#c8c8b2;--outline:#929380;--outline-variant:#474836;--inverse-surface:#e3e4d3;--inverse-on-surface:#31311f;--scrim:#00000052;--firefly:#f6e66c;--firefly-glow:#f6e66c8c;--wood:#6e4520;--wood-dark:#3a2410;--wood-light:#8c5d30;--wood-ink:#f1dcb8;--sky-top:#0b1310;--backdrop-wash:#10140c59;--action-fill:#32362b9e;--shadow-bubble:0 1px 2px #00000014;--shadow-bubble-user:0 1px 2px #0000001f;--shadow-pill:0 1px 3px #0000001f;--shadow-fab:0 1px 3px #00000026;--shadow-photo:0 2px 6px #00000026;--shadow-float:0 2px 8px #0003;--shadow-snackbar:0 4px 12px #0003;--shadow-sign:0 6px 0 -2px #3a2410, 0 10px 20px #0000002e;--sky:linear-gradient(180deg, var(--sky-top) 0%, var(--surface) 60%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{--space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--radius-field:4px;--radius-tail:6px;--radius-chip:8px;--radius-sign:10px;--radius-jump:12px;--radius-fab:16px;--radius-bubble:20px;--radius-button:24px;--radius-pill:28px;--radius-hero:40px;--radius-full:50%;--dur-ripple:.52s;--dur-pop:.34s;--dur-sheet:.3s;--dur-text-pause:.65s;--dur-spark:2.4s;--dur-sweep:2s;--ease-emphasized:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--ease-breathe:cubic-bezier(.45, 0, .55, 1)}
*,:before,:after{box-sizing:border-box}html,body{background:var(--surface);height:100%;color:var(--on-surface);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;position:relative;overflow:hidden}button:after{content:"";opacity:0;pointer-events:none;background:currentColor;transition:opacity .15s;position:absolute;inset:0}@media (hover:hover){button:hover:not(:disabled):after{opacity:.08}}button:active:not(:disabled):after{opacity:.12}button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}button:disabled{cursor:default}.brand{font-family:var(--font-fairytale), serif;color:var(--primary);font-weight:400}.app{background:var(--sky);flex-direction:column;max-width:720px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.top-bar{align-items:center;gap:var(--space-4);padding:calc(env(safe-area-inset-top) + var(--space-8)) var(--space-4) var(--space-8);min-height:64px;display:flex}.icon-btn{border-radius:var(--radius-full);width:48px;height:48px;color:var(--on-surface-variant);flex:none;place-items:center;display:grid}.icon-btn.small{width:40px;height:40px}.model-chip{border-radius:var(--radius-fab);min-width:0;padding:var(--space-4) var(--space-12);flex-direction:column;flex:1;align-items:center;line-height:1.2;display:flex}.model-chip .brand.small{font-size:24px;line-height:1.1}.model-chip .model-name{color:var(--on-surface-variant);align-items:center;font-size:12px;display:inline-flex}.model-chip svg{color:var(--on-surface-variant);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.messages{z-index:1;overscroll-behavior:contain;padding:var(--space-8) var(--space-16) var(--space-16);gap:var(--space-14);flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.group{gap:var(--space-4);flex-direction:column;display:flex}.row{gap:var(--space-8);align-items:flex-end;display:flex}.row .bubble,.row .photo{animation:pop var(--dur-pop) var(--ease-spring) both;transform-origin:0 100%}.row.user .bubble,.row.user .photo{transform-origin:100% 100%}.row.action-row{animation:.3s ease-out both fade}.row.user{justify-content:flex-end}.avatar{border-radius:var(--radius-full);background:var(--secondary-container);object-fit:cover;flex:none;width:32px;height:32px}.bubble{max-width:82%;padding:10px var(--space-16);border-radius:var(--radius-bubble);overflow-wrap:anywhere;font-size:16px;line-height:1.45}.user .bubble{box-shadow:var(--shadow-bubble-user);background:var(--primary);color:var(--on-primary);white-space:pre-wrap}.user.tail .bubble{border-bottom-right-radius:6px}.assistant .bubble{background:var(--surface-highest);box-shadow:var(--shadow-bubble)}.assistant.tail .bubble{border-bottom-left-radius:6px}.bubble p,.bubble ul,.bubble ol,.bubble pre{margin:0 0 var(--space-8)}.bubble>:last-child{margin-bottom:0}.bubble ul,.bubble ol{padding-left:var(--space-20)}.bubble code{background:var(--surface-mid);border-radius:var(--radius-tail);padding:1px 5px;font-family:ui-monospace,monospace;font-size:.9em}.bubble pre{background:var(--surface-mid);padding:10px var(--space-12);border-radius:var(--radius-jump);overflow-x:auto}.bubble pre code{background:0 0;padding:0}.empty{text-align:center;padding:var(--space-24) var(--space-8);margin:auto 0}.empty-avatar{width:128px;height:128px;margin:0 auto var(--space-16);border-radius:var(--radius-full);object-fit:cover;background:var(--primary-container);box-shadow:var(--shadow-photo);animation:3s ease-in-out infinite wobble;display:block}.empty h2{font-family:var(--font-display), sans-serif;margin:0 0 var(--space-8);font-size:28px}.empty p{color:var(--on-surface-variant);margin:0 auto var(--space-24);max-width:300px;line-height:1.45}.empty .once{font-family:var(--font-storybook), serif;max-width:none;margin:0 auto var(--space-4);font-size:18px;font-style:italic}.chips{gap:var(--space-8);flex-wrap:wrap;justify-content:center;display:flex}.chip{border:1px solid var(--outline-variant);border-radius:var(--radius-chip);padding:var(--space-8) var(--space-16);color:var(--on-surface-variant);background:var(--surface-low);font-size:14px;font-weight:500}.chip.retry{align-self:flex-end;align-items:center;gap:6px;display:inline-flex}.snackbar{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 92px);z-index:5;box-shadow:var(--shadow-snackbar);animation:rise .2s var(--ease-emphasized);align-items:center;gap:var(--space-8);background:var(--inverse-surface);color:var(--inverse-on-surface);border-radius:var(--radius-chip);padding:6px var(--space-8) 6px var(--space-16);font-size:14px;display:flex;position:absolute}.snackbar span{flex:1}.snackbar button{color:var(--primary-container);padding:10px var(--space-12);border-radius:var(--radius-bubble);font-weight:600}.composer{z-index:1;padding:var(--space-8) var(--space-12) calc(env(safe-area-inset-bottom) + var(--space-12));position:relative}.composer-row{align-items:flex-end;gap:var(--space-8);display:flex}.input-pill{background:var(--surface-high);box-shadow:var(--shadow-pill);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-20) var(--space-4) 6px;align-items:flex-end;gap:var(--space-2);flex:1;min-height:56px;display:flex}.input-pill .icon-btn{margin-bottom:var(--space-4)}.icon-btn:disabled{opacity:.38}.input-pill textarea{resize:none;width:100%;padding:var(--space-12) 0;background:0 0;border:0;outline:0;max-height:160px;font-size:16px;line-height:24px}.input-pill textarea::placeholder{color:var(--on-surface-variant)}.input-pill:focus-within{outline:2px solid var(--primary)}.fab{border-radius:var(--radius-fab);background:var(--primary);width:56px;height:56px;color:var(--on-primary);box-shadow:var(--shadow-fab);flex:none;place-items:center;transition:transform .15s;display:grid}.fab:disabled{background:var(--surface-high);color:var(--on-surface-variant);box-shadow:none}.fab:active:not(:disabled){transform:scale(.92)}.fab svg{animation:icon-in .26s var(--ease-spring)}.scrim{background:var(--scrim);opacity:0;pointer-events:none;z-index:10;transition:opacity .25s;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.drawer{background:var(--surface-low);z-index:20;width:min(360px,86vw);transition:transform var(--dur-sheet) var(--ease-emphasized);padding:calc(env(safe-area-inset-top) + var(--space-12)) var(--space-12) calc(env(safe-area-inset-bottom) + var(--space-12));border-radius:0 16px 16px 0;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.drawer.open{transform:none}.drawer-head{height:112px;margin:0 0 var(--space-16);border-radius:var(--radius-bubble);background:linear-gradient(var(--backdrop-wash), var(--backdrop-wash)), url(/art/bg-day.jpg) center 70% / cover no-repeat, var(--sky);position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.drawer-head{background:linear-gradient(var(--backdrop-wash), var(--backdrop-wash)), url(/art/bg-night.jpg) center 70% / cover no-repeat, var(--sky)}}.drawer-head .brand{z-index:1;font-size:26px;position:absolute;top:12px;left:16px}.extended-fab{align-items:center;gap:var(--space-12);height:56px;padding:0 var(--space-20) 0 var(--space-16);border-radius:var(--radius-fab);background:var(--primary-container);color:var(--on-primary-container);margin:0 var(--space-4) var(--space-12);align-self:flex-start;font-weight:600;display:inline-flex}.drawer-label{color:var(--on-surface-variant);padding:var(--space-8) var(--space-16);margin:0;font-size:14px;font-weight:500}.chat-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.chat-list li{border-radius:var(--radius-pill);padding-right:var(--space-4);align-items:center;display:flex}.chat-list li.active{background:var(--secondary-container);color:var(--on-secondary-container)}.chat-avatar{border-radius:var(--radius-full);object-fit:cover;flex:none;width:28px;height:28px}.chat-item span{text-overflow:ellipsis;overflow:hidden}.chat-item{align-items:center;gap:var(--space-12);text-align:left;min-width:0;padding:var(--space-16);border-radius:var(--radius-pill);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;display:flex}.drawer-empty{padding:var(--space-16);color:var(--on-surface-variant);font-size:14px}.drawer-foot{border-top:1px solid var(--outline-variant);padding:var(--space-12) var(--space-4) 0 var(--space-12);justify-content:space-between;align-items:center;display:flex}.who{align-items:center;gap:var(--space-12);font-weight:500;display:flex}.who-avatar{border-radius:var(--radius-full);background:var(--tertiary-container);width:36px;height:36px;color:var(--on-tertiary-container);place-items:center;font-weight:700;display:grid}.sheet{background:var(--surface-low);z-index:20;max-width:640px;max-height:85dvh;padding:0 var(--space-16) calc(env(safe-area-inset-bottom) + var(--space-24));transition:transform var(--dur-sheet) var(--ease-emphasized);border-radius:28px 28px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(102%)}.sheet.open{transform:none}.handle{background:var(--outline);opacity:.4;width:32px;height:4px;margin:var(--space-16) auto var(--space-20);border-radius:2px}.sheet h3{font-family:var(--font-display), sans-serif;margin:0 var(--space-8) var(--space-4);font-size:22px}.sheet-sub{color:var(--on-surface-variant);margin:0 var(--space-8) var(--space-16);font-size:14px}.options{margin:0;padding:0;list-style:none}.option{text-align:left;width:100%;padding:var(--space-12) var(--space-16);border-radius:var(--radius-fab);justify-content:space-between;align-items:center;display:flex}.option span{gap:var(--space-2);flex-direction:column;display:flex}.option small{color:var(--on-surface-variant);font-size:13px}.option.selected{background:var(--secondary-container);color:var(--on-secondary-container)}.option.selected svg{color:var(--primary)}.muted{color:var(--on-surface-variant)}.btn-tonal{align-items:center;gap:var(--space-8);height:40px;padding:0 var(--space-24) 0 var(--space-16);border-radius:var(--radius-bubble);font-size:14px;font-weight:500;display:inline-flex}.btn-tonal.danger{background:var(--error-container);color:var(--on-error-container)}.login{max-width:420px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 48px) var(--space-24) calc(env(safe-area-inset-bottom) + var(--space-24));gap:var(--space-24);background:var(--sky);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.login-hero{text-align:center}.login-hero .brand{margin:0}.login-tag{font-family:var(--font-storybook), serif;color:var(--on-surface-variant);margin:var(--space-8) auto 0;max-width:300px;min-height:3em;font-size:19px;font-style:italic;line-height:1.45}.segmented{border:1px solid var(--outline);border-radius:var(--radius-bubble);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented button{height:40px;font-size:14px;font-weight:500}.segmented button+button{border-left:1px solid var(--outline)}.segmented button[aria-selected=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.login>:not(.backdrop){z-index:1;position:relative}.login-form{gap:var(--space-16);flex-direction:column;display:flex}.field{color:var(--on-surface-variant);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.field input{border-radius:var(--radius-field) var(--radius-field) 0 0;border:0;border-bottom:1px solid var(--on-surface-variant);background:var(--surface-high);height:56px;padding:0 var(--space-16);color:var(--on-surface);outline:0;font-size:16px}.field input:focus{border-bottom:2px solid var(--primary)}.form-error{color:var(--error);margin:0;font-size:14px}.btn-filled{border-radius:var(--radius-button);background:var(--primary);height:48px;color:var(--on-primary);margin-top:var(--space-8);font-size:15px;font-weight:600}.btn-filled:disabled{opacity:.6}.backdrop{z-index:0;pointer-events:none;background:linear-gradient(var(--backdrop-wash), var(--backdrop-wash)), url(/art/bg-day.jpg) center bottom / cover no-repeat, var(--sky);position:absolute;inset:0}@media (prefers-color-scheme:dark){.backdrop{background:linear-gradient(var(--backdrop-wash), var(--backdrop-wash)), url(/art/bg-night.jpg) center bottom / cover no-repeat, var(--sky)}}.firefly{border-radius:var(--radius-full);background:var(--firefly);width:5px;height:5px;box-shadow:0 0 8px 3px var(--firefly-glow);opacity:0;animation-name:drift,glow;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite;animation-direction:alternate,alternate;position:absolute}.sign{width:fit-content;margin:0 auto;position:relative;transform:rotate(-2.5deg)}.sign-board{z-index:1;padding:var(--space-14) 28px var(--space-12);background:repeating-linear-gradient(176deg, transparent 0 9px, #00000012 9px 11px), linear-gradient(180deg, var(--wood-light), var(--wood));border:3px solid var(--wood-dark);box-shadow:var(--shadow-sign);border-radius:10px 14px 9px 12px;position:relative}.sign-board .brand{color:var(--wood-ink);text-shadow:0 1px #ffffff40;font-size:44px;line-height:1;display:block}.sign-board small{font-family:var(--font-display), sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--wood-ink);opacity:.85;margin-top:6px;font-size:13px;font-weight:600;display:block}.sign-board:before,.sign-board:after{content:"";border-radius:var(--radius-full);background:var(--wood-dark);width:7px;height:7px;position:absolute;top:10px}.sign-board:before{left:9px}.sign-board:after{right:9px}.sign-post{background:linear-gradient(90deg, var(--wood-dark), var(--wood), var(--wood-dark));border-radius:0 0 4px 4px;width:16px;height:40px;margin:-4px auto 0}.row.thinking{align-items:center;gap:var(--space-12);padding:6px 0 6px var(--space-4);animation:.24s ease-out both fade}.spark{width:24px;height:24px;fill:var(--primary);animation:spark var(--dur-spark) var(--ease-breathe) infinite;flex:none}.thinking-text{background:linear-gradient(90deg, var(--on-surface-variant) 0%, var(--on-surface-variant) 35%, var(--primary) 50%, var(--on-surface-variant) 65%, var(--on-surface-variant) 100%);color:#0000;animation:sweep var(--dur-sweep) linear infinite, word-in .3s var(--ease-emphasized);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:500}.ripple{border-radius:var(--radius-full);opacity:.18;pointer-events:none;animation:ripple var(--dur-ripple) var(--ease-emphasized) forwards;background:currentColor;position:absolute;transform:scale(0)}.chips .chip{animation:pop .38s var(--ease-spring) both}.chips .chip:nth-child(2){animation-delay:60ms}.chips .chip:nth-child(3){animation-delay:.12s}.chips .chip:nth-child(4){animation-delay:.18s}.avatar-space{flex:none;width:32px}.action-note{max-width:82%;padding:5px var(--space-12);border-radius:var(--radius-pill);background:var(--action-fill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.01em;color:var(--on-surface-variant);font-size:13.5px;font-weight:450;line-height:1.35}.bubble em{font-style:italic}.bubble strong{font-weight:650}.bubble.placeholder{color:var(--on-surface-variant);background:linear-gradient(100deg, var(--surface-high) 30%, var(--surface-highest) 50%, var(--surface-high) 70%);background-size:300% 100%;place-items:center;width:220px;height:160px;font-size:15px;animation:1.4s linear infinite shimmer;display:grid;position:relative;overflow:hidden}.photo{border-radius:var(--radius-bubble);max-width:min(72%,280px);box-shadow:var(--shadow-photo);background:var(--surface-high);padding:0;line-height:0;overflow:hidden}.photo img{opacity:0;filter:blur(12px);width:100%;height:auto;min-height:80px;transition:opacity .4s ease-out, filter .5s ease-out, transform .5s var(--ease-emphasized);display:block;transform:scale(1.04)}.photo img.loaded{opacity:1;filter:none;transform:none}.msg-actions{gap:var(--space-2);animation:rise .2s var(--ease-emphasized);padding-left:36px;display:flex}.jump{animation:pop .26s var(--ease-spring);right:20px;bottom:calc(env(safe-area-inset-bottom) + 96px);z-index:4;border-radius:var(--radius-jump);background:var(--surface-high);width:40px;height:40px;color:var(--on-surface);box-shadow:var(--shadow-float);place-items:center;display:grid;position:absolute}.tray{gap:var(--space-8);padding:0 var(--space-4) var(--space-8);display:flex;overflow-x:auto}.thumb{border-radius:var(--radius-fab);background:var(--surface-high);flex:none;width:72px;height:72px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb.loading img{opacity:.5}.thumb.failed img{opacity:.3;filter:grayscale()}.thumb button{border-radius:var(--radius-full);color:#fff;background:#0000008c;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:4px;right:4px}.lightbox{z-index:30;padding:var(--space-16);background:#000000e6;place-items:center;animation:.18s ease-out fade;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--radius-jump);max-width:100%;max-height:100%}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.94)}}@keyframes icon-in{0%{opacity:0;transform:rotate(-90deg)scale(.6)}}@keyframes spark{0%{transform:rotate(0)scale(.86)}50%{transform:rotate(90deg)scale(1.06)}to{transform:rotate(180deg)scale(.86)}}@keyframes sweep{0%{background-position:100% 0}to{background-position:-150% 0}}@keyframes word-in{0%{opacity:0;transform:translateY(4px)}}@keyframes ripple{to{opacity:0;transform:scale(1)}}@keyframes shimmer{to{background-position:-300% 0}}@keyframes fade{0%{opacity:0}}@keyframes drift{0%{transform:translate(0)}50%{transform:translate(14px,-22px)}to{transform:translate(-10px,-40px)}}@keyframes glow{0%,to{opacity:0}50%{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes wobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.me-btn{width:40px;height:40px;margin:0 var(--space-4);border-radius:var(--radius-full);background:var(--tertiary-container);color:var(--on-tertiary-container);flex:none;font-size:16px;font-weight:700}.name-row{align-items:flex-end;gap:var(--space-12);margin:0 var(--space-8) var(--space-16);display:flex}.name-row .field{flex:1}.name-row .btn-tonal{background:var(--secondary-container);color:var(--on-secondary-container);height:56px;padding:0 var(--space-20)}.name-row .btn-tonal:disabled{opacity:.5}.facts,.hits{margin:0 0 var(--space-16);gap:var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.facts li{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-16);background:var(--surface-high);border-radius:var(--radius-fab);font-size:15px;line-height:1.4;display:flex}.facts li span{flex:1}.look-back{margin:0 0 var(--space-12)}.look-back input{width:100%;height:48px;padding:0 var(--space-20);border-radius:var(--radius-pill);background:var(--surface-high);color:var(--on-surface);border:0;outline:0;font-size:16px}.look-back input:focus{outline:2px solid var(--primary)}.hit{text-align:left;width:100%;padding:var(--space-12) var(--space-16);border-radius:var(--radius-fab);flex-direction:column;gap:2px;display:flex}.hit strong{font-size:14px}.hit span{color:var(--on-surface-variant);font-size:14px;line-height:1.4}.sheet .muted{margin:0 var(--space-8) var(--space-16)}.sheet .drawer-label{padding:var(--space-8) var(--space-8)}.confirm-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-16);flex:1;min-height:56px;font-size:14px;animation:.18s ease-out fade;display:flex}.confirm-row span{flex:1}.text-btn{padding:var(--space-8) var(--space-12);border-radius:var(--radius-bubble);color:var(--primary);font-size:14px;font-weight:600}.text-btn.danger{color:var(--error)}@media (min-width:960px){.app{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:320px minmax(0,1fr);max-width:none;display:grid}.app>.top-bar,.app>.messages,.app>.composer{grid-column:2}.app>.drawer{border-right:1px solid var(--outline-variant);z-index:2;border-radius:0;grid-area:1/1/-1;width:auto;transition:none;position:relative;transform:none}.menu-btn{visibility:hidden}.scrim:not(.for-sheet){display:none}.messages{padding-inline:max(var(--space-24), calc((100% - 760px) / 2))}.composer{width:100%;max-width:808px;padding-inline:var(--space-24);margin-inline:auto}.bubble{max-width:70%}.snackbar{width:min(560px,100% - 368px);left:calc(50% + 160px);right:auto;transform:translate(-50%)}.sheet{border-radius:var(--radius-pill);width:min(560px,90vw);max-height:80dvh;padding-bottom:var(--space-24);opacity:0;visibility:hidden;transition:transform var(--dur-sheet) var(--ease-emphasized), opacity .2s ease-out, visibility 0s linear var(--dur-sheet);inset:50% auto auto 50%;transform:translate(-50%,-48%)scale(.97)}.sheet.open{opacity:1;visibility:visible;transition:transform var(--dur-sheet) var(--ease-emphasized), opacity .2s ease-out;transform:translate(-50%,-50%)}.sheet .handle{visibility:hidden;margin-bottom:var(--space-8)}}.time-divider{margin:var(--space-8) 0 var(--space-4);padding:2px var(--space-12);border-radius:var(--radius-pill);background:var(--action-fill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.02em;color:var(--on-surface-variant);align-self:center;font-size:12px;font-weight:500;animation:.3s ease-out both fade}.chat-list li.chat-group{padding:var(--space-12) var(--space-16) var(--space-4);color:var(--on-surface-variant);border-radius:0;font-size:13px;font-weight:500}
