/* Fixed, responsive design system. Itinerary data cannot supply CSS or image URLs. */
:root{--accent:#245eff;--ink:#102443;--canvas:#f7f9fc;--serif:Georgia,'Noto Serif CJK TC',serif}
body{background:#f8fafc}.app{display:block;min-height:100vh}.sidebar{display:none}.main-shell{margin:0;width:100%;min-width:0}.app-header{height:76px;background:#092342;color:#fff;padding:0 38px;position:relative;z-index:4;border:0;display:flex;justify-content:space-between}.app-brand>span{font-size:32px}.breadcrumb{display:none}.header-actions{gap:18px}.header-actions .quiet,.save-status{color:#d9e4f8}.mobile-trip-select{display:block!important;color:#fff;border:1px solid #7890ad;background:#183553;border-radius:24px;max-width:260px;padding:9px 18px}.avatar-button{background:#1c3d63;color:#fff;border-radius:50%;width:40px;height:40px}.app-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding:0 24px 28px 38px;max-width:1800px;margin:auto;align-items:start;isolation:isolate}.app-content:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:358px;background:linear-gradient(105deg,#092643,#213b62 60%,#adbfd2)}.app[data-destination=seoul] .app-content:before{background:linear-gradient(90deg,#05142990,#12243b20),url('/photos/seoul.jpg') center 48%/cover}.app[data-destination=fukuoka] .app-content:before{background:linear-gradient(90deg,#061c3680,#18304420),url('/photos/hakata.jpg') center 46%/cover}.trip-workspace{padding:0;min-width:0}.trip-titlebar{height:358px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;position:relative;padding:38px 0 30px;color:#fff;margin:0}.trip-titlebar .eyebrow{color:#e0e9f5;letter-spacing:2.8px;font-size:11px}.trip-titlebar h1{font-family:var(--serif);font-size:clamp(35px,4.1vw,64px);font-weight:400;line-height:1.12;letter-spacing:-1.8px;margin:18px 0}.trip-titlebar p{color:white;font-size:14px;gap:8px}.hero-extras{display:flex;align-items:center;gap:16px}.hero-label{border:1px solid #ffffff65;background:#ffffff12;backdrop-filter:blur(10px);color:#fff;border-radius:24px;padding:7px 13px;font-size:11px}.photo-credit{font-size:10px;color:#e0e8f0}.trip-overview,.assistant-shortcut{display:none}.trip-tabs{margin:0;gap:24px;overflow:auto;white-space:nowrap;border-bottom:1px solid #e3e9f1;padding:0 2px;min-height:65px}.trip-tabs button{padding:20px 0 15px;font-size:12px}.trip-tabs button .icon{width:16px;height:16px}.day-nav{margin:22px 0 20px;display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}.day-nav button{background:#eaf0f6;border:1px solid transparent;color:#233c60;min-width:91px;flex:1;border-radius:12px;padding:10px 12px;font-size:13px}.day-nav button small{display:block;font-size:10px;opacity:.75}.day-nav button.active{background:#122d50;color:#fff;box-shadow:0 3px 8px #10284820}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.day-heading h3{font-family:var(--serif);font-size:32px;line-height:1.25;font-weight:400;letter-spacing:-.7px;margin:0}.day-heading p{margin:5px 0 0;color:#7b8aa2;font-size:12px}.compact-button{display:inline-flex;align-items:center;gap:6px;border:1px solid #e0e7f1;border-radius:20px;background:#fff;padding:7px 13px;font-size:12px;white-space:nowrap;min-height:38px}.compact-button .icon{width:16px;height:16px}.family-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.family-filters button{border:1px solid #e1e7f0;border-radius:18px;background:#fff;padding:7px 13px;font-size:11px}.family-filters button.active{background:#fee1dc;color:#943f38;border-color:#ffd0c6}.timeline{padding:0;margin:0}.event{display:grid;grid-template-columns:73px 1fr;gap:12px;position:relative;padding:0;margin-bottom:10px;align-items:start}.event:before{content:'';position:absolute;left:4px;top:25px;bottom:-14px;border-left:1px dashed #b5c6df}.event:last-child:before{display:none}.event>time{font-size:11px;font-weight:650;color:#183859;padding:14px 0 0 17px;white-space:normal;font-variant-numeric:tabular-nums;line-height:1.5}.event>time:before{content:'';width:7px;height:7px;border-radius:50%;background:#6a96ff;position:absolute;left:1px;top:19px;box-shadow:0 0 0 3px #ecf1ff}.app[data-destination=fukuoka] .event>time:before{background:#f28c7f;box-shadow:0 0 0 3px #fff0ec}.event-card{position:relative;background:white;border:1px solid #e5ebf4;border-radius:13px;box-shadow:0 2px 3px #20335403;min-width:0;padding:0;overflow:hidden}.event-head{display:flex;align-items:center;gap:10px;min-height:57px;padding:5px 5px 5px 12px}.event-symbol{width:33px;height:33px;background:#edf3ff;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#173d73}.event-symbol .icon{width:18px;height:18px}.event-toggle{background:none;text-align:left;flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:8px 0;min-height:44px;line-height:1.4}.event-toggle strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.event-toggle>.icon{width:13px;height:13px;color:var(--accent);transition:transform .15s}.event-toggle[aria-expanded=true]>.icon{transform:rotate(180deg)}.badge{font-size:9px;line-height:1.4;padding:3px 7px;white-space:nowrap;border-radius:7px}.badge.confirmed{background:#e1f6e6;color:#27723a}.badge.planned{background:#f0f3f8;color:#728099}.badge.suggested{background:#fff1dc;color:#9b6a2f}.direction-icon{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;background:none;color:var(--accent);border-radius:50%}.direction-icon:hover{background:#edf3ff}.direction-icon .icon{width:19px;height:19px}.event-photo{width:80px;height:44px;object-fit:cover;border-radius:7px}.event-expanded{padding:0 20px 18px 55px;font-size:12px;color:#64748c;line-height:1.8}.event-expanded p{white-space:pre-wrap;margin:0 0 8px}.event-expanded .event-place{margin:8px 0;display:flex;gap:6px;align-items:center}.event-expanded .event-place .icon{width:15px;height:15px}.event-links{border:0;padding:4px 0 0;display:flex;flex-wrap:wrap;gap:12px}.event-links button,.event-links a{font-size:11px;background:none;color:var(--accent);padding:6px 0}.event-links .icon{width:14px;height:14px}.event-group{font-size:10px;color:#9b685e}.chat-panel{position:sticky;top:18px;height:calc(100vh - 110px);min-height:650px;margin-top:18px;border:1px solid #ffffffd9;border-radius:19px;background:linear-gradient(140deg,#fffffff5,#f8faffd9);backdrop-filter:blur(25px);box-shadow:0 14px 40px #142c5412;overflow:hidden;display:flex;flex-direction:column}.chat-header{padding:23px 23px 12px;border:0;background:none}.chat-header strong{font-size:16px}.chat-header strong span{display:none}.chat-header small{font-size:10px}.assistant-avatar{border-radius:50%;background:radial-gradient(circle at 30% 23%,#c9f5ff 0,#5489fa 20%,#002579 50%,#245cff 68%,#93c5ff 80%,#fff 94%);box-shadow:0 0 10px #5284f881}.assistant-avatar .icon{opacity:.65}.chat-intro{padding:10px 24px 0;margin:0}.chat-intro>span{display:none}.chat-intro h2{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.12;letter-spacing:-1px;margin:14px 0}.chat-intro>p{font-size:12px;color:#74849b}.messages{padding:18px 20px;flex:1;min-height:100px;overflow:auto}.message{margin-bottom:16px;gap:7px}.message-avatar{display:none}.message-content{max-width:94%}.bubble{font-size:12px;line-height:1.8;background:white;box-shadow:0 2px 10px #102c5205;border-radius:15px;padding:13px 15px}.message.user .bubble{background:#e0ebff;color:#20385c}.message-time{font-size:9px;opacity:.7}.chat-bottom{background:none;border-top:0;padding:12px 17px 16px}.quick-prompts{display:flex;gap:5px;flex-wrap:wrap;padding:0 0 10px}.quick-prompts button{font-size:10px;padding:6px 9px;background:#fff;border:1px solid #e5eaf3;border-radius:18px}.quick-prompts .icon{width:13px;height:13px}.chat-bottom form{border-radius:19px;background:#fff;border:1px solid #dfe6f2;box-shadow:0 3px 12px #16315106;padding:10px}.chat-bottom textarea{background:none;font-size:12px;min-height:48px;max-height:110px;padding:5px;width:100%;resize:vertical;border:0}.composer-tools{padding:3px 0 0;align-items:center}.send{border-radius:50%;width:35px;height:35px}.attach-button{font-size:10px}.composer-hint{font-size:9px}.data-note{font-size:9px;margin:8px 2px 0;line-height:1.6}.usage-line{font-size:9px}.change-summary{margin:0 17px;font-size:11px;padding:9px 12px;max-height:95px;overflow:auto}.chat-tag{font-size:8px}.flight-card{display:none}.workspace-foot{font-size:10px;display:flex;justify-content:space-between;gap:10px;margin:24px 0}.workspace-foot .icon{width:13px;height:13px}.text-danger{font-size:11px;background:none;color:#a46c6c}.info-note{font-size:12px;color:#718099;line-height:1.8}.map-card{margin-top:25px;padding:25px}.map-card h3{font-family:var(--serif);font-size:28px}.map-place{display:flex;gap:15px;padding:13px 0;border-bottom:1px solid #e8edf5;align-items:center}.map-place>div{flex:1}.map-place small{color:#8291a5}.saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.saved-card{padding:22px;border:1px solid #e0e7f1;background:#fff;border-radius:15px;min-width:0}.saved-card h4{font-family:var(--serif);font-size:23px;margin:10px 0}.saved-card p{font-size:12px;white-space:pre-wrap;color:#708098;overflow-wrap:anywhere}.saved-source{font-size:10px;color:var(--accent);letter-spacing:.5px}.saved-card a{font-size:12px;color:var(--accent);display:block;margin:14px 0}.saved-actions{display:flex;gap:10px;align-items:center}.empty-state{margin:25px 0;padding:40px;background:white;border-radius:16px}.empty-state h3{font-family:var(--serif);font-size:28px;font-weight:400}.empty-state p{font-size:13px}.empty-state .compact-button{margin-top:15px}.editor-actions{display:flex;gap:18px;align-items:center}dialog{max-height:90dvh;overflow:auto;border-radius:22px}dialog h2{font-family:var(--serif);font-size:30px;font-weight:400}dialog textarea,dialog select{width:100%;border:1px solid #d9e2ef;border-radius:9px;padding:10px;color:var(--ink);background:white}dialog .form-row{display:flex;gap:12px}dialog .form-row>label{flex:1;min-width:0}#directions-options{display:grid;gap:10px;margin:24px 0}#directions-options a{display:flex;align-items:center;gap:12px;border:1px solid #e2e9f3;padding:14px;border-radius:12px;color:var(--accent)}.document-actions{display:flex;gap:10px;flex-wrap:wrap}.upload-drop{border:1px dashed #a8bddc;padding:12px;border-radius:12px;text-align:center;font-size:11px;color:#7386a0;margin-bottom:10px;cursor:pointer}.chat-panel.drag-over{outline:3px solid #245eff;outline-offset:-5px}.photo-credit[hidden]{display:none}.mobile-chat-toggle{display:none}
/* Marketing entrance uses the same destination-led visual language. */
.welcome-nav{max-width:none;background:#092342;color:white;height:76px;padding:0 5vw}.welcome-nav nav{color:#ced9eb}.welcome-hero{padding:75px 24px 90px;background:linear-gradient(90deg,#07182ecf,#0c284983),url('/photos/seoul.jpg') center/cover;color:#fff;border:0}.hero-orbit,.product-showcase{display:none}.welcome-hero h1{font-family:var(--serif);font-weight:400;font-size:68px;line-height:1.2;letter-spacing:-2px}.welcome-hero h1>span{color:#c0d5ff}.hero-content>p,.welcome-reassurance{color:#e4eafa}.welcome-hero .launch-label{background:#ffffff15;border-color:#ffffff50;color:#fff}.welcome-bottom{padding-top:55px}.welcome-actions .secondary{background:#ffffffee}.welcome-bottom h2{font-family:var(--serif);font-weight:400}.hero-content{max-width:1000px;margin:auto}.feature-grid article{border-radius:18px;background:#fafcff}
@media(min-width:1550px){.app-content{grid-template-columns:minmax(0,1fr) 420px;padding-left:55px;padding-right:35px;gap:40px}.chat-intro h2{font-size:43px}.event-head{min-height:62px}.event-toggle strong{font-size:15px}.trip-titlebar{height:390px}.app-content:before{height:390px}}
@media(max-width:1100px) and (min-width:761px){.app-content{grid-template-columns:minmax(0,1fr) 310px;gap:18px;padding-left:22px;padding-right:18px}.trip-titlebar h1{font-size:43px}.chat-intro h2{font-size:30px}.trip-tabs{gap:16px}.event{grid-template-columns:65px 1fr;gap:5px}.event-photo{display:none}.header-actions{gap:8px}.save-status{display:none}.day-heading h3{font-size:27px}.event-symbol{width:26px;height:26px}.event-head{gap:7px;padding-left:8px}.event-toggle strong{font-size:12px}}
@media(max-width:760px){.app-header{height:62px;padding:0 17px;position:relative}.app-brand>span{font-size:25px}.app-brand img{width:29px;height:29px}.header-actions{gap:8px}.header-actions .quiet,.save-status{display:none}.mobile-trip-select{max-width:135px;font-size:10px;padding:7px 9px}.avatar-button{width:31px;height:31px}.app-content{display:block;padding:0 0 95px}.app-content:before{height:273px}.trip-titlebar{height:273px;padding:23px 21px 25px;justify-content:center;gap:15px}.trip-titlebar h1{font-size:41px;letter-spacing:-1.3px;margin:13px 0}.trip-titlebar p{font-size:10px;display:flex;gap:5px;flex-wrap:wrap}.trip-titlebar p .icon{width:12px;height:12px}.trip-titlebar .eyebrow{font-size:9px}.hero-label{font-size:9px;padding:5px 9px}.photo-credit{font-size:9px}.trip-tabs{padding:0 16px;gap:22px;min-height:53px;background:#fff}.trip-tabs button{font-size:11px;padding:14px 0}.trip-tabs button .icon{display:none}#view-content{padding:0 15px}.day-nav{margin:15px 0;gap:6px}.day-nav button{padding:8px 11px;min-width:62px;font-size:11px;border-radius:10px}.day-nav button small{font-size:9px}.day-heading{margin:15px 0}.day-heading h3{font-size:27px}.day-heading p{font-size:10px}.family-filters{gap:5px;margin-bottom:15px;flex-wrap:nowrap;overflow:auto}.family-filters button{font-size:9px;white-space:nowrap;padding:7px 10px}.event{grid-template-columns:52px 1fr;gap:5px;margin-bottom:8px}.event>time{font-size:10px;padding-left:11px;padding-top:14px}.event:before{left:2px}.event>time:before{left:0;width:5px;height:5px}.event-head{padding:3px 1px 3px 8px;gap:7px;min-height:53px}.event-symbol{width:25px;height:25px}.event-symbol .icon{width:15px;height:15px}.event-toggle{gap:5px}.event-toggle strong{font-size:11px;line-height:1.4}.event-toggle>.icon{width:11px;height:11px}.badge{font-size:8px;padding:2px 5px}.event-photo{display:none}.direction-icon{width:40px;min-width:40px;height:44px}.direction-icon .icon{width:17px;height:17px}.event-expanded{padding:0 12px 13px 39px;font-size:11px}.event-group{font-size:8px}.workspace-foot{padding:0 17px;font-size:9px}.chat-panel{display:none}.mobile-chat-toggle{position:fixed;display:flex;align-items:center;justify-content:center;gap:12px;bottom:18px;left:20px;right:20px;width:calc(100% - 40px);height:49px;border-radius:30px;border:1px solid #dee7f3;background:#fff;color:#254573;box-shadow:0 5px 22px #0d264b26;z-index:20;font-size:12px}.mobile-chat-toggle>.icon{color:#245eff}.app.chat-open .chat-panel{display:flex;position:fixed;inset:70px 10px 80px;margin:0;min-height:0;height:auto;z-index:19;background:#f7fafff5;box-shadow:0 0 0 100vmax #0d22375e;border-radius:19px}.app.chat-open .trip-workspace{display:block}.chat-header{padding:16px 19px 7px}.chat-intro{padding:0 20px}.chat-intro h2{font-size:29px;margin:8px 0}.chat-intro>p{display:none}.chat-bottom{padding:9px 13px 12px}.messages{padding:12px 17px}.data-note{font-size:8px}.usage-line{display:none}.day-heading .compact-button{font-size:10px;padding:5px 10px}.saved-grid{grid-template-columns:1fr}.map-card{padding:17px}.map-place{gap:8px;font-size:12px}.map-place>span{display:none}.map-place small{font-size:10px}.welcome-nav{padding:0 20px}.welcome-nav nav{display:none}.welcome-hero{padding:58px 20px}.welcome-hero h1{font-size:42px}.welcome-hero p{font-size:13px}.welcome-actions{flex-direction:column}.welcome-actions button{width:100%}.welcome-reassurance{gap:10px;font-size:9px}.welcome-bottom{padding:40px 20px}.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:22px}.welcome-footer{padding:24px 20px}dialog{width:calc(100% - 24px);padding:25px 20px}dialog .form-row{gap:8px}dialog .form-row input{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.app-header,.chat-panel,.mobile-chat-toggle,.trip-tabs,.workspace-foot,.direction-icon,.event-links{display:none!important}.app-content{display:block;padding:0}.trip-titlebar{height:160px;color:#102443}.app-content:before{display:none}.event{break-inside:avoid}.event-expanded[hidden]{display:block!important}.hero-label,.photo-credit{display:none}}
.roami-avatar{background:none;box-shadow:none;width:51px;height:51px}.roami-avatar img{width:100%;height:100%;object-fit:contain}.chat-intro{position:relative}.roami-greeting{width:86px;height:92px;object-fit:contain;float:right;margin:0 -3px 0 0}.chat-intro h2{font-size:33px}.upload-drop{display:block}.chat-header .roami-avatar{margin-left:-6px}.chat-header{gap:9px}@media(max-width:760px){.roami-greeting{width:65px;height:68px}.chat-intro h2{font-size:29px}.upload-drop{padding:7px;font-size:10px}.chat-header .roami-avatar{width:40px;height:40px}}
.app{height:auto;overflow:visible}.app-content{width:100%;flex:none}.trip-workspace{overflow:visible;height:auto}.header-actions{white-space:nowrap;flex-shrink:0}.header-actions .quiet{white-space:nowrap}.save-status{white-space:nowrap}.timeline:before{display:none}.event:before{width:0;height:auto;border:0;border-left:1px dashed #c3d1e5;border-radius:0;background:none}.hero-extras{flex-shrink:0}.hero-label{white-space:nowrap}.day-nav{padding-top:0}.app-header .brand{min-width:0}

.app[data-destination=fukuoka] .app-content:before{background-image:linear-gradient(90deg,#072648a6,#122f4c45),url('/photos/hakata.jpg')}
.roami-avatar img{transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:center bottom}.roami-avatar:hover img{transform:scale(1.1,.88)}.is-thinking .roami-avatar img{animation:roami-think 1.7s ease-in-out infinite}@keyframes roami-think{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(.96,1.04)}}@media(prefers-reduced-motion:reduce){.is-thinking .roami-avatar img{animation:none}.roami-avatar:hover img{transform:none}}
.hero-label{max-width:none;flex-shrink:0}.hero-extras{max-width:100%;flex-wrap:wrap;row-gap:5px}
.language-switch{display:flex;gap:2px;border:1px solid #7a8da45c;border-radius:25px;padding:3px;flex-shrink:0;margin-left:16px;order:3}.language-switch button{background:none;color:#dce7f7;font-size:11px;white-space:nowrap;padding:7px 11px;border-radius:20px}.language-switch button.active{background:#fff;color:#10294b}.app-header .header-actions{margin-left:auto}.event-names{min-width:0;display:flex;flex-direction:column;gap:3px}.local-reference{font-family:system-ui,sans-serif;font-weight:400;font-size:10px;line-height:1.5;color:#7588a1;display:block;letter-spacing:.1px}.event-toggle .event-names strong{line-height:1.4}.roami-greeting{transform-origin:center bottom;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.roami-greeting:hover{transform:scale(1.13,.86) rotate(-3deg)}.chat-panel.is-thinking .roami-avatar img,.chat-panel.is-thinking .roami-greeting{animation:roami-squish 1.8s ease-in-out infinite;transform-origin:center bottom}@keyframes roami-squish{0%,100%{transform:scale(1) translateY(0) rotate(0)}20%{transform:scale(1.14,.85) translateY(2px) rotate(-2deg)}44%{transform:scale(.91,1.09) translateY(-5px) rotate(2deg)}66%{transform:scale(1.05,.94) translateY(0) rotate(-1deg)}82%{transform:scale(.98,1.02) translateY(-1px)}}@media(max-width:760px){.app-header{flex-wrap:wrap;height:auto;min-height:100px;padding:12px 17px 8px;gap:8px}.app-header .language-switch{margin:0 0 0 auto}.app-header .header-actions{order:4;flex:0 0 100%;justify-content:space-between}.mobile-trip-select{max-width:calc(100% - 44px);width:calc(100% - 44px)}.app.chat-open .chat-panel{top:110px}.welcome-nav{height:auto;min-height:80px;flex-wrap:wrap;padding:15px 20px;gap:12px}.welcome-nav .language-switch{margin-left:0}.language-switch button{font-size:10px;padding:6px 10px}.local-reference{font-size:9px}.event-toggle .event-names{max-width:100%}.event-head{min-height:60px}html[lang=en] .trip-tabs{gap:20px}html[lang=en] .form-row{flex-wrap:wrap}html[lang=en] .form-row>label{flex-basis:40%}}
@media(prefers-reduced-motion:reduce){.chat-panel.is-thinking .roami-avatar img,.chat-panel.is-thinking .roami-greeting{animation:none!important}.roami-greeting:hover,.roami-avatar:hover img{transform:none!important}}

/* Roami portraits share one head-and-upper-body crop, including the chat launcher. */
.roami-avatar{position:relative;display:inline-block;flex-shrink:0;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#f5f9ff,#e3eaff);isolation:isolate}
.roami-avatar img{position:absolute;width:130%;max-width:none;height:auto;left:-15%;top:-8%;object-fit:initial}
.chat-intro>.roami-greeting{display:block;width:72px;height:72px;float:right;margin:0 0 0 10px}
.app-content{grid-template-columns:minmax(0,1fr);max-width:1440px;padding-right:38px}
.chat-panel{display:none}
.app.chat-open .chat-panel{display:flex;position:fixed;inset:auto 24px calc(112px + env(safe-area-inset-bottom)) auto;width:380px;height:min(720px,calc(100dvh - 140px));min-height:0;margin:0;z-index:19;box-shadow:0 16px 64px #10284835;background:#f8faff}
.mobile-chat-toggle{position:fixed;display:block;left:auto;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));width:72px;height:72px;padding:3px;border-radius:50%;border:1px solid #ffffffd9;background:#f3f7ff;box-shadow:0 6px 24px #17325f30;z-index:20;cursor:pointer}
.mobile-chat-toggle .roami-avatar{width:100%;height:100%}
.mobile-chat-toggle:focus-visible{outline:3px solid #245eff;outline-offset:4px}
.mobile-chat-toggle[aria-expanded=true]{border-color:#8faaff;box-shadow:0 0 0 3px #245eff18,0 6px 24px #17325f30}
.app:has(.chat-panel.is-thinking) .mobile-chat-toggle img{animation:roami-squish 1.8s ease-in-out infinite}
@media(max-width:760px){
 .app-content{padding:0 0 105px}
 .mobile-chat-toggle{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:64px;height:64px}
 .app.chat-open .chat-panel{inset:110px 10px calc(94px + env(safe-area-inset-bottom));width:auto;height:auto;min-height:0;box-shadow:0 0 0 100vmax #0d22375e}
 .chat-intro>.roami-greeting{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){.app .mobile-chat-toggle img{animation:none!important}}
