:root {
  color-scheme: light; font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --ink:#2e577b; --muted:#6b8192; --primary:#619bd5; --primary-deep:#3e73a7;
  --glass:linear-gradient(135deg,rgba(255,253,245,.48),rgba(235,246,255,.27));
  --line:rgba(255,255,255,.7); --shadow:0 12px 32px rgba(49,84,112,.12);
}
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:#e9eef0; }
body { color:var(--ink); overscroll-behavior:none; -webkit-tap-highlight-color:transparent; }
button,input,textarea { font:inherit; }
button { cursor:pointer; color:inherit; border:0; }
button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #618ecc; outline-offset:3px; }
button:active { transform:scale(.985); }
button:disabled { opacity:.6; cursor:default; }
[hidden] { display:none !important; }
.app-shell { position:relative; width:min(100%,480px); height:100dvh; min-height:560px; margin:auto; overflow:hidden; background:#fffaf2; box-shadow:0 0 50px #42628214; }
.page,.invite-page { position:relative; height:100%; min-height:560px; overflow:hidden; isolation:isolate; }
body:has(#home-page),body:has(#relax-page) { padding:0; }
.app-shell:has(#home-page),.app-shell:has(#relax-page) { width:100%; height:100dvh; min-height:0; border-radius:0; box-shadow:none; }
.home,.relax-page { min-height:0; }
.home .full-scene::before,.relax-page .full-scene::before { display:none; }
.home .full-scene__image,.home .full-scene__video,.relax-page .full-scene__image,.relax-page .full-scene__video { object-fit:cover; object-position:center; transform:none; mask-image:none; -webkit-mask-image:none; }
.safe-top { height:max(env(safe-area-inset-top),22px); flex:0 0 auto; position:relative; z-index:5; }
.full-scene { position:absolute; z-index:-1; inset:0; overflow:hidden; background:#f5ecdb; }
.full-scene::before { content:""; position:absolute; inset:-35px; background-image:var(--scene-image); background-size:cover; background-position:center; filter:blur(25px); }
.full-scene__image,.full-scene__video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transform:translateY(-5%); mask-image:linear-gradient(transparent,black 8%,black 89%,transparent); -webkit-mask-image:linear-gradient(transparent,black 8%,black 89%,transparent); }
.full-scene__video { opacity:0; pointer-events:none; transition:opacity .28s ease; }
.full-scene__video.is-playing { opacity:1; }
.home .full-scene__video.is-portrait-on-wide,.relax-page .full-scene__video.is-portrait-on-wide { object-fit:contain; }
.relax-animation-choice { display:block; margin:0 auto 10px; padding:7px 12px; border:1px solid #ffffff99; border-radius:18px; background:#fffdf0db; color:#315d88; font:inherit; font-size:12px; }
.scene-shade { position:absolute; inset:0; background:linear-gradient(180deg,#fff9ec30,transparent 27%,transparent 70%,#fff4e330); pointer-events:none; }
.page-header { position:relative; z-index:10; display:grid; grid-template-columns:44px 1fr 44px; gap:7px; align-items:center; padding:10px 18px 0; text-align:center; }
.page-header h1 { margin:0; font-size:23px; font-weight:700; letter-spacing:.02em; }
.page-header p { margin:7px -12px 0; font-size:11px; line-height:1.5; opacity:.8; }
.back-button,.online-badge,.home-palette,.home__companion-reply,.scene-caption,.mood-reply,
.home-chat-button,.home-quiet-action,.scene-controls,.mood-option,.mood-chat,.invite-card,.invite-input,.invite-submit {
  border:1px solid var(--line); background:var(--glass); box-shadow:inset 0 1px 0 #ffffff77,var(--shadow);
  -webkit-backdrop-filter:blur(17px) saturate(1.12); backdrop-filter:blur(17px) saturate(1.12);
}
.back-button { display:grid; place-items:center; width:44px; height:44px; padding:0 0 4px; border-radius:50%; font-size:35px; line-height:1; }
.home__header { display:flex; align-items:flex-start; justify-content:space-between; padding:18px 23px 0; }
.home__header h1 { margin:0; font-size:35px; line-height:1.1; font-weight:700; }
.identity { margin-top:9px; font-size:12px; font-weight:550; letter-spacing:.06em; }
.online-badge { display:flex; align-items:center; gap:6px; padding:8px 11px; border-radius:99px; font-size:12px; }
.online-badge i { width:6px; height:6px; border-radius:50%; background:#5d9fbe; }
.home-palette { position:absolute; top:calc(max(env(safe-area-inset-top),22px) + 75px); right:22px; display:flex; align-items:center; gap:7px; min-height:36px; padding:7px 10px; border-radius:99px; font-size:11px; }
.palette-dots { display:flex; gap:2px; }.palette-dots i { width:6px; height:6px; border-radius:50%; background:#adcff1; }
.palette-dots i:nth-child(2){background:#efb4c4}.palette-dots i:nth-child(3){background:#acdac9}.palette-dots i:nth-child(4){background:#c9b3e8}
.home__companion-hit { position:absolute; top:31%; left:14%; width:72%; height:34%; background:transparent; z-index:3; }
.home__companion-reply { position:absolute; top:28%; right:18px; max-width:145px; padding:10px 13px; border-radius:18px 18px 5px 18px; font-size:12px; line-height:1.45; pointer-events:none; transition:transform .2s; }
.is-reacting .home__companion-reply { transform:translateY(-6px); }
.home__content { position:absolute; left:19px; right:19px; bottom:calc(32px + env(safe-area-inset-bottom)); }
.home__question { font-size:12px; font-weight:600; text-align:center; margin:0 0 11px; text-shadow:0 1px 10px #fff; }
.home-chat-button { display:flex; align-items:center; width:100%; height:64px; border-radius:99px; padding:0 14px; background:linear-gradient(120deg,#c7e2fa99,#eff7ff55); }
.home-chat-button__icon { display:grid; place-items:center; width:37px; height:37px; border:1.5px solid currentColor; border-radius:50%; margin-right:12px; letter-spacing:1px; }
.home-chat-button__copy { display:flex; flex-direction:column; gap:4px; text-align:left; }.home-chat-button__copy strong{font-size:20px}.home-chat-button__copy small{font-size:10px;opacity:.7}
.home-chat-button__arrow { margin-left:auto; font-size:31px; width:32px; }
.home-quiet-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:11px; }
.home-quiet-action { display:flex; align-items:center; justify-content:center; gap:9px; min-height:51px; border-radius:99px; font-size:15px; font-weight:650; }
.home-quiet-action>span { font-size:23px; font-weight:400; }
.theme--pink { --ink:#7f5369; --primary:#c2849f; --primary-deep:#a16182; }
.theme--mint { --ink:#2e6860; --primary:#6caa99; --primary-deep:#3f8775; }
.theme--purple { --ink:#f8f4ff; --primary:#be9eeb; --primary-deep:#634591; --glass:linear-gradient(135deg,#f4e4ff44,#e7defa20); color:#fff9ff; }
.theme--purple .scene-shade { background:linear-gradient(#17193b22,transparent 40%,#21173f30); }
.theme--purple .home__question { text-shadow:0 2px 8px #241c53; }
.theme--purple .save-choice { color:#4d347e; background:linear-gradient(120deg,#e4d4ffb0,#f7edff88); }
.theme--purple .color-option { color:#fff7ff; }.theme--purple .color-option.is-active {color:#503481;background:#e3d5ffb0}
.scene-caption { position:absolute; left:50%; bottom:calc(246px + env(safe-area-inset-bottom)); transform:translateX(-50%); display:flex; align-items:center; gap:8px; max-width:92%; padding:8px 13px; border-radius:99px; white-space:nowrap; font-size:12px; }
.scene-caption span { font-size:10px; opacity:.85; }.scene-caption strong { font-weight:650; }
.scene-controls { position:absolute; z-index:8; left:14px; right:14px; bottom:calc(19px + env(safe-area-inset-bottom)); border-radius:26px; padding:11px; }
.scene-options,.color-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.scene-option,.color-option { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:82px; padding:11px 2px; border:1px solid #ffffff88; border-radius:20px; color:inherit; background:#fffaf03b; }
.scene-option b { font-size:28px; font-weight:400; }.scene-option span{font-size:11px;font-weight:600;white-space:nowrap}
.scene-option.is-active,.color-option.is-active { background:#d5eaffaa; border-color:#f9fdff; box-shadow:0 0 0 2px #8fbeeb55; color:#365d89; }
.save-choice,.restore-choice { display:flex; align-items:center; justify-content:center; width:100%; border:1px solid #ffffffaa; min-height:53px; border-radius:99px; margin-top:10px; color:#365d89; background:linear-gradient(115deg,#c4e0f9a0,#e6f4ff66); font-size:17px; font-weight:650; }
.save-choice span { position:absolute; right:28px; font-size:27px; font-weight:400; }
.restore-choice { min-height:32px; margin:4px 0 0; background:transparent; border:0; font-size:11px; font-weight:400; color:inherit; }
.color-option { min-height:113px; gap:7px; padding:5px 2px 9px; overflow:hidden; }
.color-option img { width:100%; height:77px; object-fit:contain; }.color-option span{font-size:12px;font-weight:650}
.selected-check { position:absolute; top:4px; right:4px; font-style:normal; border-radius:50%; background:#568cd2; color:white; width:18px; height:18px; display:grid; place-items:center; font-size:12px; }
.colors-page .scene-caption { bottom:calc(276px + env(safe-area-inset-bottom)); }
.relax-page { --relax-tint:189,217,247; color:var(--ink); }
.relax-page.theme--pink { --relax-tint:244,197,210; }
.relax-page.theme--mint { --relax-tint:182,222,205; }
.relax-page.theme--purple { --relax-tint:206,187,236; }
.relax-page .page-header { max-width:1080px; margin:auto; padding-right:23px; padding-left:23px; }
.relax-page .page-header h1 { font-size:22px; }
.relax-page .scene-shade { background:linear-gradient(180deg,#fff9ec33,transparent 25%,transparent 62%,#fff9ec59); }
.relax-dock { position:absolute; z-index:8; left:18px; right:18px; bottom:calc(22px + env(safe-area-inset-bottom)); max-width:440px; margin:auto; }
.relax-caption { display:flex; flex-direction:column; align-items:center; gap:5px; margin-bottom:12px; line-height:1.4; text-shadow:0 1px 10px #fffdf0e6; }
.relax-caption strong { font-size:15px; font-weight:650; }
.relax-caption span { font-size:11px; }
.relax-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.relax-option { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-width:0; height:78px; padding:8px 1px; border:1px solid #ffffffb3; border-radius:23px; color:inherit; background:linear-gradient(135deg,#fffdf552,rgba(var(--relax-tint),.18)); box-shadow:inset 0 1px 0 #ffffff73,0 6px 18px #28415a12; backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); font-size:12px; font-weight:600; }
.relax-option.is-active { background:linear-gradient(135deg,rgba(var(--relax-tint),.66),#ffffff6b); border-color:#fff; }
.relax-icon { display:block; width:28px; height:28px; }
.relax-check { position:absolute; right:5px; top:4px; display:grid; place-items:center; width:13px; height:13px; border-radius:50%; background:#ffffffb3; color:#52799d; font-size:10px; font-style:normal; }
.relax-save { position:relative; display:flex; align-items:center; justify-content:center; width:90%; min-height:52px; margin:13px auto 0; padding:0 20px; border:1px solid #ffffffcc; border-radius:99px; color:inherit; background:linear-gradient(120deg,rgba(var(--relax-tint),.58),#fffdf566); box-shadow:inset 0 1px 0 #ffffff80,0 6px 18px #28415a14; backdrop-filter:blur(17px); -webkit-backdrop-filter:blur(17px); font-size:17px; font-weight:650; }
.relax-save>span { position:absolute; right:16px; font-size:27px; font-weight:300; }
.relax-restore { display:block; min-height:32px; margin:5px auto 0; padding:7px 15px; border:0; border-radius:99px; color:inherit; background:transparent; font-size:11px; }
.relax-page.theme--pink .relax-icon { filter:hue-rotate(105deg) saturate(.65); }
.relax-page.theme--mint .relax-icon { filter:hue-rotate(-55deg) saturate(.7); }
.relax-page.theme--purple .relax-icon { filter:brightness(0) invert(1); }
.relax-page.theme--purple .relax-option { background:linear-gradient(135deg,#3224474d,#e7defa22); }
.relax-page.theme--purple .relax-option.is-active { color:#49386d; background:linear-gradient(135deg,#e4d4ffc7,#f7edff8a); }
.relax-page.theme--purple .relax-option.is-active .relax-icon { filter:hue-rotate(42deg); }
.relax-page.theme--purple .relax-save { color:#49386d; background:linear-gradient(120deg,#e4d4ffc7,#f7edff8a); }
.relax-page.theme--purple .scene-shade { background:linear-gradient(180deg,#1e193b26,transparent 35%,transparent 62%,#1e193b59); }
.relax-page.theme--purple .relax-caption { text-shadow:0 1px 8px #322146; }
@media(max-height:700px){.relax-dock{bottom:calc(14px + env(safe-area-inset-bottom))}.relax-caption{margin-bottom:9px}.relax-caption strong{font-size:14px}.relax-caption span{display:none}.relax-option{height:64px;gap:5px;border-radius:20px}.relax-icon{width:25px;height:25px}.relax-save{min-height:46px;margin-top:10px}.relax-restore{margin-top:3px}}
@media(min-aspect-ratio:4/5){.relax-caption span{display:none}}
.mood-page { background:#fff9ee; color:#315d88; }
.mood-wash { position:absolute; z-index:-2; inset:-25px; background-image:linear-gradient(#fff9ecaa,#fff9eccf),var(--scene-image); background-position:center; background-size:cover; filter:blur(18px); }
.mood-portrait { position:absolute; top:14%; left:0; width:100%; height:56%; overflow:hidden; mask-image:linear-gradient(transparent,black 8%,black 86%,transparent); -webkit-mask-image:linear-gradient(transparent,black 8%,black 86%,transparent); }
.mood-portrait img,.mood-portrait video { position:absolute; width:var(--portrait-width,100%); height:auto; left:50%; top:57%; transform:translate(-50%,calc(-1 * var(--portrait-anchor))); mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent); }
.mood-portrait video { opacity:0; transition:opacity .16s ease-out; pointer-events:none; }
.mood-portrait video.is-playing { opacity:1; }
.mood-back { position:absolute; top:calc(max(env(safe-area-inset-top),20px) + 8px); left:18px; z-index:5; }
.mood-copy { position:absolute; top:calc(max(env(safe-area-inset-top),20px) + 18px); left:70px; right:21px; text-align:center; }
.mood-copy h1 { margin:0; font-size:22px; }.mood-copy p{margin:8px -5px 0;font-size:10.5px;line-height:1.5;opacity:.75}
.mood-options { position:absolute; top:71%; left:13px; right:13px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.mood-option { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; height:77px; min-width:0; padding:6px 1px; border-radius:23px; }
.mood-option b { font-size:25px; font-weight:400; line-height:1; }.mood-option span{font-size:12px;white-space:nowrap;font-weight:600}
.mood-option.is-active { background:linear-gradient(135deg,#c3dffab0,#eaf6ff99); border-color:#fff; box-shadow:inset 0 1px white,0 0 0 2px #adcff166; }
.mood-reply { position:absolute; top:82.5%; left:13%; right:13%; min-height:37px; padding:9px 12px; border-radius:99px; font-size:12px; text-align:center; }
.mood-chat { position:absolute; left:25px; right:25px; bottom:calc(25px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; min-height:57px; border-radius:99px; background:linear-gradient(120deg,#c5e0faab,#eff8ff77); font-size:19px; font-weight:650; }
.mood-chat span { position:absolute; right:20px; font-size:28px; font-weight:400; }
.invite-page { color:#315c86; background:#f8f3e7; }
.invite-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.invite-scene__shade { position:absolute; inset:0; background:linear-gradient(#fff8e844,transparent 30%,#fff9ef22); }
.invite-brand { position:absolute; left:24px; top:calc(max(env(safe-area-inset-top),23px) + 15px); display:flex; gap:11px; align-items:center; }
.invite-brand__mark { font-size:33px; color:#e4bc55; }.invite-brand>span:last-child {display:flex;flex-direction:column;gap:3px}.invite-brand strong{font-size:25px;letter-spacing:.1em}.invite-brand small{font-size:11px}
.invite-card { position:absolute; bottom:calc(32px + env(safe-area-inset-bottom)); left:20px; right:20px; padding:22px 21px; border-radius:30px; background:linear-gradient(135deg,#fffff280,#e8f3ff66); }
.invite-eyebrow { display:flex;align-items:center;gap:6px;font-size:10px;opacity:.7}.invite-eyebrow span{width:5px;height:5px;background:#719ccb;border-radius:50%}
.invite-card h1{font-size:27px;margin:10px 0}.invite-card>p{font-size:11px;line-height:1.5;margin:0 0 17px;opacity:.75}
.invite-form label{display:block;font-size:11px;margin-bottom:8px;font-weight:600}.invite-field{position:relative}
.invite-field__spark{position:absolute;left:15px;top:17px;color:#d7ae4f}.invite-input{width:100%;height:52px;border-radius:22px;padding:0 13px 0 38px;color:#315d86;font-size:15px;outline:0}
.invite-input::placeholder{color:#829bad}.invite-feedback{min-height:32px;font-size:10px;line-height:1.5;padding:7px 2px}.invite-feedback.is-error{color:#a84963}
.invite-submit{width:100%;height:53px;border-radius:99px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#315d86;background:linear-gradient(120deg,#c4dffcaa,#e9f5ff77);font-size:17px;font-weight:650}
.invite-submit i{font-style:normal;font-size:24px}.invite-location{display:none}.invite-loader{min-height:55px;display:flex;align-items:center;justify-content:center;gap:9px}.invite-loader span{width:7px;height:7px;border-radius:50%;background:#94b8da;animation:blink 1s infinite alternate}
.chat-page { --chat-tint:178,212,245; --ink:#365b7d; --chat-muted:#738b9f; --glass:linear-gradient(135deg,#fffdf57a,rgba(var(--chat-tint),.24)); display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; background:radial-gradient(ellipse at 75% 17%,rgba(var(--chat-tint),.52),transparent 56%),linear-gradient(140deg,#fffdf7,#fafbf8); color:var(--ink); }
.chat-theme--pink { --chat-tint:244,197,210; --ink:#80586d; --chat-muted:#a18795; }
.chat-theme--mint { --chat-tint:182,222,205; --ink:#3c7066; --chat-muted:#7e9b92; }
.chat-theme--purple { --chat-tint:206,187,236; --ink:#6c568d; --chat-muted:#9381a7; }
.chat-companion { position:relative; height:clamp(205px,29dvh,250px); overflow:visible; }
.chat-companion__cutout { position:absolute; left:50%; bottom:0; width:clamp(205px,29dvh,250px); aspect-ratio:1; transform:translateX(-50%); background-size:300% 200%; background-repeat:no-repeat; }
.chat-status { position:absolute; right:12px; top:10px; max-width:112px; padding:8px 11px; border:1px solid #ffffffbb; border-radius:99px; background:rgba(var(--chat-tint),.3); backdrop-filter:blur(15px); font-size:10px; }
.messages { min-height:0; overflow-y:auto; padding:3px 18px 18px; scrollbar-width:none; }
.message-row{display:flex;margin-bottom:12px}.message-row--user{justify-content:flex-end}
.bubble{max-width:87%;padding:13px 16px;border:1px solid #ffffffb0;border-radius:25px;font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 8px 24px #466b8a0a;backdrop-filter:blur(12px)}
.bubble--assistant{background:linear-gradient(135deg,#fffef9a0,#fff9ed66);border-bottom-left-radius:7px}
.bubble--user{background:linear-gradient(135deg,rgba(var(--chat-tint),.65),rgba(var(--chat-tint),.27));border-bottom-right-radius:7px;color:var(--ink)}
.starters{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0}.starter{border:1px solid #fff;border-radius:99px;padding:9px 12px;background:#ffffff77;color:#557696;font-size:11px}
.composer-wrap{position:relative;margin:0 11px calc(12px + env(safe-area-inset-bottom));padding:8px 7px 5px;border-radius:28px;border:1px solid #ffffffaa;background:linear-gradient(140deg,#ffffff44,rgba(var(--chat-tint),.2));box-shadow:0 12px 30px #496d8d0e;backdrop-filter:blur(22px)}
.composer{display:flex;align-items:center;gap:7px;min-height:55px;padding:6px;border:1px solid #ffffffaa;border-radius:99px;background:#ffffff22}
.round-button{flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffffbb;border-radius:50%;background:linear-gradient(140deg,#fffaf577,rgba(var(--chat-tint),.4));color:var(--ink)}
.voice-toggle.is-unavailable{opacity:.6}.send-button{font-size:28px;color:var(--chat-muted)}.send-button.is-ready{background:rgba(var(--chat-tint),.65);color:var(--ink)}
.composer textarea{flex:1;min-width:0;resize:none;border:0;outline:none;max-height:116px;min-height:29px;background:transparent;padding:5px 0;color:var(--ink);font-size:15px;line-height:1.4}.composer textarea::placeholder{color:var(--chat-muted)}
.mode-icon{position:relative;display:block;width:25px;height:25px;color:currentColor}.mode-icon--mic::before{position:absolute;top:1px;left:8px;width:9px;height:15px;border:2px solid currentColor;border-radius:6px;content:""}.mode-icon--mic::after{position:absolute;top:10px;left:4px;width:17px;height:12px;border:2px solid currentColor;border-top:0;border-radius:0 0 9px 9px;content:""}.mode-icon--mic i{position:absolute;bottom:0;left:12px;width:2px;height:6px;background:currentColor}.mode-icon--keyboard::before{position:absolute;inset:5px 0;border:2px solid currentColor;border-radius:4px;content:""}.mode-icon--keyboard::after{position:absolute;top:10px;left:5px;width:2px;height:2px;background:currentColor;box-shadow:5px 0,10px 0,0 4px,5px 4px,10px 4px;content:""}
.record-bar{flex:1;min-height:43px;border:1px solid #ffffffaa;border-radius:99px;background:linear-gradient(120deg,rgba(var(--chat-tint),.5),#ffffff55);color:var(--ink);font-size:15px;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.record-bar.is-recording{background:#f5cbd480;animation:recording 1s infinite alternate}.record-bar.is-recording::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#c9536c}.composer-help{font-size:10px;opacity:.65;text-align:center;min-height:19px;padding-top:6px}
.toast { position:fixed;z-index:100;left:50%;bottom:160px;max-width:85%;padding:11px 17px;border-radius:18px;background:#28465be6;color:white;font-size:12px;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:.2s; }.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.dialog-backdrop{position:fixed;inset:0;z-index:90;background:#233a4a44;display:grid;place-items:center;backdrop-filter:blur(5px)}.dialog{width:min(90%,370px);padding:27px;border:1px solid white;border-radius:28px;background:#fffdf2e8;box-shadow:var(--shadow)}.dialog__eyebrow{font-size:11px;color:#7a99b7}.dialog h2{font-size:22px;margin:10px 0}.dialog p{font-size:15px;line-height:1.7}.dialog small{font-size:11px;color:#728a9d}.dialog__actions{display:flex;gap:10px;margin-top:22px}.button{flex:1;min-height:45px;border-radius:18px;background:#e7eff6}.button--primary{background:#b8d9f6}
@keyframes blink{50%{opacity:.4}}@keyframes recording{to{box-shadow:0 0 0 4px #e8d9bb33}}
@media(max-height:700px){.home__header{padding-top:8px}.home__header h1{font-size:29px}.home__content{bottom:calc(17px + env(safe-area-inset-bottom))}.home-chat-button{height:56px}.home-quiet-action{min-height:45px}.mood-options{top:68%}.mood-option{height:65px;border-radius:20px}.mood-reply{top:80%;font-size:11px}.mood-chat{bottom:calc(16px + env(safe-area-inset-bottom));min-height:49px}.scene-controls{bottom:calc(12px + env(safe-area-inset-bottom))}.color-option{min-height:94px}.color-option img{height:60px}.scene-caption{bottom:218px}.colors-page .scene-caption{bottom:238px}.page-header h1{font-size:21px}.chat-companion{height:170px}.chat-companion__cutout{width:170px}.bubble{padding:10px 13px;font-size:14px}.mood-copy h1{font-size:20px}}
@media(min-width:561px){body{padding:16px 0}.app-shell{height:calc(100dvh - 32px);border-radius:30px}}
@media(min-aspect-ratio:4/5){.home__header{max-width:1080px;margin:auto}.home__content{max-width:440px;margin:auto}.home-palette{right:max(22px,calc((100vw - 1034px)/2))}.home__companion-reply{right:max(22px,calc(50vw - 230px))}.home__companion-hit{left:calc(50% - 170px);width:340px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
