/* A portrait composition: character, introduction, then a compact control strip. */
@media(max-width:800px),(max-width:1000px) and (orientation:landscape) and (max-height:500px){
 :root{--mobile-gutter:clamp(20px,5.6vw,36px);--mobile-footer-space:calc(124px + env(safe-area-inset-bottom,0px));--mobile-intro-size:248px;--mobile-scene-top:calc(104px + env(safe-area-inset-top,0px))}
 body{height:100svh;min-height:0;overscroll-behavior:none}
 .header{left:var(--mobile-gutter);right:var(--mobile-gutter);top:calc(16px + env(safe-area-inset-top,0px));height:44px}
 .brand{width:144px;height:39px}.header nav{gap:0}.header nav>.nav-link:first-child{display:flex}.nav-link{min-height:44px;font-size:13px;gap:8px}.nav-dot{width:5px;height:5px}
 .replay-intro{top:calc(67px + env(safe-area-inset-top,0px));right:var(--mobile-gutter);min-height:34px;gap:5px;font-size:14px}.replay-intro span{font-size:10px}
 .wordmark{top:calc(104px + env(safe-area-inset-top,0px));left:4%;font-size:20vw;letter-spacing:-1.38vw;line-height:.9}.wordmark>span{font-size:9px;right:-14px;top:2px}
 .scene-halo{inset:8% -22% 24%;background:radial-gradient(ellipse at 50% 44%,#ffffffe0,transparent 67%)}
 .character-stage{left:-5%;top:var(--mobile-scene-top);bottom:calc(var(--mobile-intro-size) + var(--mobile-footer-space) - 20px);width:110%;height:auto;clip-path:inset(0 0 12% 0);transform-origin:50% 75%;transition:opacity .45s,transform .65s cubic-bezier(.2,.7,.2,1),left .55s,width .55s,height .55s,top .55s}
 .intro{left:var(--mobile-gutter);right:var(--mobile-gutter);top:auto;bottom:var(--mobile-footer-space);width:auto;height:var(--mobile-intro-size)}
 .intro .eyebrow{font-size:8px;line-height:1.5;letter-spacing:.04em;gap:8px;margin-bottom:10px}.intro .eyebrow>span{width:16px}
 h1{font-size:clamp(34px,9.4vw,43px);line-height:1.13;letter-spacing:-.055em;font-weight:600}
 .intro-copy{max-width:none;margin-top:10px;font-size:12px;line-height:1.75;color:#71766a}
 .talk{width:100%;min-width:0;height:51px;padding:6px 7px 6px 23px;margin-top:16px;font-size:14px;letter-spacing:.02em}.talk-arrow{width:37px;height:37px}.talk-arrow .ui-icon{width:22px;height:22px}.talk:hover{transform:none}
 .interaction-hint{font-size:10px;line-height:1.5;margin-top:9px;gap:6px}.interaction-hint i{height:4px;width:4px}
 .hello-note,.vertical-label{display:none}
 .model-caption{left:50%;right:auto;bottom:calc(var(--mobile-intro-size) + var(--mobile-footer-space) + 10px);max-width:none;transform:translateX(-50%);border:1px solid #24252018;border-radius:20px;background:#edede6bd;backdrop-filter:blur(8px);padding:5px 11px;font-size:10px;line-height:1.5;color:#767b6c;white-space:nowrap}.model-caption .crosshair,.model-caption br,.model-caption b{display:none}
 .footer{left:var(--mobile-gutter);right:var(--mobile-gutter);bottom:calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:5px;column-gap:12px;padding-top:5px;align-items:center}
 .capabilities{grid-row:1;grid-column:1/-1;gap:10px;display:flex;justify-content:space-between;border-bottom:1px solid #24252012;padding-bottom:4px}.capabilities button{font-size:12px;min-height:40px;line-height:1.5;padding:6px 0;gap:6px}.capabilities sup{font-size:9px;line-height:1.5;margin-top:0}
 .footer-brand{font-size:10px;gap:3px;line-height:1.4}.footer-brand small{font-size:8px;line-height:1.5;letter-spacing:0}
 .expression-picker{gap:4px;justify-content:flex-end}.expression-picker>.mono:first-child{display:none}.expression-picker button{min-width:40px;min-height:44px}.expression-picker .ui-icon{width:21px;height:21px}.expression-name{font-size:12px;min-width:26px}.face-count{display:inline;font-size:9px;margin-left:4px;white-space:nowrap}
 .home-chat{left:var(--mobile-gutter);right:var(--mobile-gutter);top:calc(206px + env(safe-area-inset-top,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));height:auto;width:auto;border-radius:0;background:transparent;padding:0;backdrop-filter:none;min-height:0;transform:translateY(25px)}
 .home-chat-heading{padding-bottom:10px;gap:8px;align-items:center}.home-chat-heading h2{font-size:24px;line-height:1.3}.home-chat-heading .eyebrow{font-size:8px;line-height:1.4;margin-bottom:6px;letter-spacing:0;gap:6px}.home-chat-heading-actions{gap:0}.home-chat-icon{width:40px;height:44px}.home-chat-icon .ui-icon{width:19px;height:19px}
 .home-chat-status{font-size:11px;line-height:1.6;padding-top:9px;gap:6px}
 .home-chat-thread{padding:18px 3px 18px 0;scrollbar-gutter:auto}.home-chat-welcome{gap:20px;justify-content:center}.home-chat-welcome>p{font-size:14px;line-height:1.9;max-width:95%}.home-chat-suggestions{gap:8px}.home-chat-suggestions button{min-height:38px;padding:7px 13px;font-size:12px;border-radius:20px;background:#f4f4ed99}
 .home-chat-messages{gap:21px}.home-chat-message{max-width:97%}.home-chat-message small{font-size:10px;margin-bottom:6px}.home-chat-message p{font-size:14px;line-height:1.85}.home-chat-message[data-role=user] p{padding:10px 13px}.home-chat-thinking{font-size:11px}.home-chat-transcript{font-size:12px;max-height:52px}.home-chat-error{font-size:12px;line-height:1.65;max-height:64px}
 .home-chat-actions{gap:15px;padding-bottom:6px}.home-chat-actions button{font-size:11px;min-height:34px;padding:4px 0}
 .home-chat-composer{padding:12px 13px 9px;border-radius:19px;background:#f4f4ed;border-color:#24252030;box-shadow:0 6px 24px #24252004}.home-chat-composer textarea{font-size:16px;line-height:1.55;min-height:31px;max-height:88px;padding:0 2px}.home-chat-tools{margin-top:6px;gap:7px}.home-chat-voice{font-size:11px;min-height:40px;gap:6px}.home-chat-voice svg{width:17px;height:17px}#home-chat-send{width:40px;height:40px}#home-chat-send .ui-icon{width:21px;height:21px}.home-chat-note{display:none}
 body[data-chat-open=true]{height:var(--chat-viewport-height,100dvh)}
 body[data-chat-open=true] .site{position:fixed;inset:auto 0 auto;top:var(--chat-viewport-top,0px);height:var(--chat-viewport-height,100dvh)}
 body[data-chat-open=true] .wordmark{opacity:.12;transition:opacity .4s}
 body[data-chat-open=true] .character-stage{left:39%;width:65%;top:calc(51px + env(safe-area-inset-top,0px));bottom:auto;height:165px;opacity:1;transform:none;clip-path:inset(0 0 12% 0)}
 body[data-chat-open=true] .footer{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,visibility 0s .25s}
 body[data-chat-open=true] .replay-intro,body[data-chat-open=true] .model-caption{visibility:hidden;opacity:0;pointer-events:none}
 body[data-keyboard-open=true][data-chat-open=true] .home-chat{top:calc(75px + env(safe-area-inset-top,0px));bottom:8px}
 body[data-keyboard-open=true][data-chat-open=true] .character-stage,body[data-keyboard-open=true][data-chat-open=true] .wordmark{opacity:0;pointer-events:none}
 body[data-keyboard-open=true][data-chat-open=true] .home-chat-heading .eyebrow{display:none}
 body[data-keyboard-open=true][data-chat-open=true] .home-chat-heading h2{font-size:20px}
 .loader{min-height:0;padding:calc(18px + env(safe-area-inset-top,0px)) var(--mobile-gutter) calc(24px + env(safe-area-inset-bottom,0px))}.loader-brand svg{width:144px;height:39px}.loader-top>.mono{font-size:6px;line-height:1.7;max-width:116px;padding-top:7px}.loader-middle{top:43%}.loader-eyes{margin-bottom:24px}.loader-greeting{font-size:12px;letter-spacing:.05em;margin-bottom:24px}.loader-name{font-size:16vw;letter-spacing:-.09em}.loader-caption{font-size:11px;margin:24px 0}.enter{min-height:48px;min-width:208px;font-size:12px}.loader-bottom{grid-template-columns:1fr auto;gap:16px}.loader-bottom>.mono{grid-column:1/-1;font-size:8px}.load-meter{margin-bottom:8px}.load-number b{font-size:64px}.load-number small{font-size:11px}
 .info-dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:16px}.dialog-bar{padding:10px 17px}.dialog-bar>button{min-width:44px;min-height:44px}.dialog-content{padding:25px 24px 30px;max-height:calc(100dvh - 116px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.dialog-content h2{font-size:30px}.dialog-content p{font-size:14px}.detail-lines li{font-size:13px;gap:17px;padding:15px 0}.dialog-cta,.copy-button{min-height:46px;font-size:13px}.toast{bottom:calc(18px + env(safe-area-inset-bottom,0px));font-size:12px}
}
@media(min-width:540px) and (max-width:800px) and (min-height:750px){
 :root{--mobile-gutter:38px;--mobile-intro-size:268px;--mobile-footer-space:calc(130px + env(safe-area-inset-bottom,0px))}
 .intro{max-width:520px;margin-inline:auto}h1{font-size:43px}.intro-copy{font-size:14px}.talk{height:54px;font-size:15px}.home-chat{top:calc(230px + env(safe-area-inset-top,0px))}.home-chat-heading h2{font-size:28px}.capabilities button{font-size:14px}.footer-brand{font-size:12px}.footer-brand small{font-size:10px}.expression-name{font-size:14px}
}
@media(max-width:800px) and (max-height:740px){
 :root{--mobile-intro-size:212px;--mobile-footer-space:calc(109px + env(safe-area-inset-bottom,0px));--mobile-scene-top:calc(94px + env(safe-area-inset-top,0px))}
 .header{top:calc(10px + env(safe-area-inset-top,0px))}.brand{width:130px;height:35px}.replay-intro{top:calc(58px + env(safe-area-inset-top,0px))}.wordmark{top:calc(91px + env(safe-area-inset-top,0px))}.intro .eyebrow{display:none}h1{font-size:34px;line-height:1.12}.intro-copy{font-size:11px;line-height:1.65;margin-top:9px}.talk{height:48px;margin-top:13px;font-size:13px}.talk-arrow{width:34px;height:34px}.interaction-hint{font-size:9px;margin-top:7px}.footer{bottom:calc(6px + env(safe-area-inset-bottom,0px));row-gap:1px}.capabilities button{min-height:35px;font-size:11px}.expression-picker button{min-height:40px}.model-caption{font-size:9px;bottom:calc(var(--mobile-intro-size) + var(--mobile-footer-space) + 8px)}
 .home-chat{top:calc(166px + env(safe-area-inset-top,0px))}.home-chat-heading h2{font-size:22px}body[data-chat-open=true] .character-stage{height:129px;top:calc(40px + env(safe-area-inset-top,0px))}.home-chat-welcome>p{font-size:13px}.home-chat-suggestions button{font-size:11px;min-height:35px}.home-chat-heading .eyebrow{font-size:7px}
}
@media(max-width:360px){
 :root{--mobile-gutter:18px}.brand{width:127px;height:35px}.nav-link{font-size:12px}.face-count{display:none}.capabilities{gap:7px}.capabilities button{font-size:11px;gap:4px}.capabilities sup{font-size:8px}.home-chat-heading h2{font-size:21px}.home-chat-heading .eyebrow{font-size:6px}.home-chat-heading-actions{gap:0}.home-chat-icon{width:36px}.home-chat-voice{font-size:10px}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:500px){
 .loader{padding:14px var(--mobile-gutter) 14px}.loader-brand svg{width:125px;height:34px}.loader-middle{top:46%;left:20%;right:20%}.loader-eyes{margin-bottom:9px;gap:10px}.loader-eyes i{height:15px;width:5px}.loader-greeting{font-size:10px;margin-bottom:10px}.loader-name{font-size:min(10vw,80px)}.loader-caption{font-size:10px;margin:10px 0}.enter{min-height:42px;font-size:11px}.loader-bottom{gap:8px;grid-template-columns:1fr auto}.loader-bottom>.mono{font-size:7px}.load-number b{font-size:44px}.load-meter{margin-bottom:5px}
 :root{--mobile-gutter:24px;--mobile-intro-size:200px;--mobile-footer-space:56px;--mobile-scene-top:55px}
 .header{top:8px;height:38px}.brand{width:125px;height:34px}.nav-link{min-height:38px}.replay-intro{display:none}.wordmark{top:68px;font-size:16vw}.character-stage{left:40%;width:65%;top:45px;bottom:42px;height:auto}.intro{left:var(--mobile-gutter);right:auto;width:43%;bottom:64px;height:auto}.intro .eyebrow{display:none}h1{font-size:29px}.intro-copy{font-size:10px;line-height:1.5;margin-top:8px}.talk{height:43px;margin-top:11px;font-size:12px}.talk-arrow{height:31px;width:31px}.interaction-hint,.model-caption{display:none}.footer{bottom:6px;padding-top:3px;display:flex;gap:16px}.footer-brand{font-size:9px}.footer-brand small{display:none}.capabilities{border:0;padding:0;gap:17px}.capabilities button{font-size:10px;min-height:36px}.expression-picker button{min-width:34px;min-height:36px}.expression-name{font-size:11px}.face-count{display:none}
 .home-chat{top:64px;bottom:9px;left:var(--mobile-gutter);right:var(--mobile-gutter)}.home-chat-heading .eyebrow{display:none}.home-chat-heading h2{font-size:20px}.home-chat-heading{padding-bottom:3px}.home-chat-status{padding-top:3px;font-size:10px}.home-chat-thread{padding:8px 0}.home-chat-composer{padding:7px 11px}.home-chat-composer textarea{min-height:26px}.home-chat-tools{margin-top:0}.home-chat-voice{min-height:32px}#home-chat-send{height:32px;width:32px}body[data-chat-open=true] .character-stage{opacity:0}
}
