/* Homepage owns its own class names. Target: approved homepage inner screen, excluding native status chrome. */
.ai-home{--ai-text:#112e29;--ai-muted:#7e8791;--ai-green:#235a43;--ai-font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;padding:0 0 calc(73px + env(safe-area-inset-bottom));background:#f9fcfb;color:var(--ai-text);font-family:var(--ai-font);min-height:100dvh;line-height:1.4}
.ai-home button,.ai-home input{font-family:inherit}
.ai-hero{position:relative;height:83.7cqw;isolation:isolate;overflow:hidden;background:#f0f6f4;padding-top:env(safe-area-inset-top)}
.ai-scene{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:contain;object-position:center}
.ai-header{position:absolute;left:4.8cqw;right:4.1cqw;top:calc(4.1cqw + env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:flex-start}
.ai-brand{display:flex;align-items:center;gap:1.7cqw;letter-spacing:.1em;color:#103c2c;line-height:1.05;font-size:5.3cqw;font-weight:650}
.ai-brand>.ai-icon{width:9.3cqw;height:9.3cqw;object-fit:contain}
.ai-brand small{display:block;font-family:Arial,sans-serif;font-size:1.85cqw;letter-spacing:.42em;margin-top:1.35cqw;font-weight:600}
.ai-font{display:flex;align-items:center;gap:1.5cqw;background:#ffffffb8;min-height:8.3cqw;padding:1.5cqw 3.5cqw;border-radius:20px;font-size:2.8cqw;color:#244735}
.ai-font>span{font-size:3.4cqw;color:#176039}
.ai-weather{position:absolute;left:4.8cqw;top:calc(19.2cqw + env(safe-area-inset-top));display:flex;gap:2.8cqw;align-items:center;font-size:3.25cqw;line-height:1.3}
.ai-weather button{padding:0;color:#18352c;font-weight:500;min-height:28px}
.ai-weather i{height:3.2cqw;width:1px;background:#a4adb2}.ai-weather>span{color:#7b8392}
.ai-intro{position:absolute;left:4.8cqw;top:calc(39.4cqw + env(safe-area-inset-top));max-width:59%}
.ai-intro h1{margin:0 0 2.2cqw;font-size:6.9cqw;line-height:1.37;font-weight:650;letter-spacing:-.035em}
.ai-intro p{font-size:3.3cqw;line-height:1.5;margin:0;white-space:nowrap;font-weight:400}
.ai-content{padding:0 2.5cqw 3cqw;position:relative}
.ai-entries{display:grid;grid-template-columns:1fr 1fr;gap:2cqw}
.ai-entry{display:flex;flex-direction:column;align-items:center;position:relative;min-height:46.5cqw;border:2px solid #fff;border-radius:3.6cqw;background:linear-gradient(135deg,#f1f9f6e8,#f8fcf9ed);box-shadow:0 1px 8px #31544908;padding:3.8cqw 3cqw 3.2cqw;color:var(--ai-text)}
.ai-entry-orb{width:23cqw;height:23cqw;border-radius:50%;background:#dfefe6;display:grid;place-items:center;margin-bottom:1.8cqw;color:#143e30}
.ai-entry-orb>.ai-icon{width:13.2cqw;height:13.2cqw;object-fit:contain}
.ai-entry b{font-size:4.5cqw;font-weight:600;line-height:1.3;margin-bottom:1.2cqw}
.ai-entry-caption{color:var(--ai-muted);font-size:3.4cqw;line-height:1.5}
.ai-entry-caption i{position:absolute;right:3.8cqw;bottom:3.5cqw;display:grid;place-items:center;width:6.7cqw;height:6.7cqw;border-radius:50%;font-size:5.2cqw;color:#153c2e;background:#e0f0e7;font-style:normal}
.ai-composer{display:flex;align-items:center;gap:2cqw;margin:2.1cqw 0 3.5cqw;min-height:12.1cqw;padding:1cqw 1.3cqw 1cqw 2.6cqw;border:1px solid #a6beb1;border-radius:3.6cqw;background:#ffffffdf}
.ai-composer>.icon{width:6cqw;height:6cqw;color:#163d2f}
.ai-composer input{min-width:0;flex:1;width:0;border:0;background:transparent;padding:1.7cqw 0;font-size:3.6cqw;color:var(--ai-text);outline-offset:2px}
.ai-composer input::placeholder{color:#89909d}
.ai-send{display:grid;place-items:center;background:#285d46;color:white;border-radius:50%;width:9.6cqw;height:9.6cqw;flex-shrink:0;padding:2cqw}
.ai-send .icon{width:5.6cqw;height:5.6cqw}
.ai-recent-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 1.8cqw;padding:0 .6cqw}
.ai-recent-heading h2{font-size:4.1cqw;line-height:1.3;margin:0;font-weight:600}
.ai-recent-heading button{font-size:3.1cqw;color:#3e7057;padding:0;display:flex;align-items:center;gap:1cqw;min-height:27px}
.ai-recent-heading .icon{width:3cqw;height:4cqw}
.ai-recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.6cqw}
.ai-recent-card{border:0;border-radius:2.5cqw;background:white;text-align:left;overflow:hidden;padding:0;min-width:0;box-shadow:0 3px 10px #274b3405}
.ai-recent-photo{height:22cqw;overflow:hidden;background:#eaf2e9}
.ai-recent-photo>img,.ai-recent-photo .mvp-photo,.ai-recent-photo>.ref-photo{width:100%;height:100%;object-fit:cover}
.ai-recent-copy{padding:1.6cqw 3cqw 2cqw}
.ai-recent-copy b{display:flex;justify-content:space-between;gap:2cqw;align-items:center;font-size:3.25cqw;line-height:1.35;font-weight:600}
.ai-recent-copy .icon{width:3.2cqw;height:4cqw;flex-shrink:0}
.ai-recent-copy p{color:#7b8591;font-size:2.95cqw;line-height:1.4;margin:.6cqw 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ai-assistant-empty{display:flex;gap:12px;align-items:center;background:#edf5ee;padding:18px 14px;border-radius:12px;font-size:13px;color:#617c69}
.ai-assistant-empty small{display:block;font-size:11px;margin-top:6px}.ai-assistant-empty>.icon{width:26px;height:26px}
.ai-status{display:block;margin:2.5cqw auto 0;color:#778a7f;font-size:2.5cqw;min-height:24px;padding:2px 8px}
.ai-status span{padding-left:4px}
.ai-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,460px);z-index:12;display:flex;padding:5px 3.7cqw calc(5px + env(safe-area-inset-bottom));background:#fcfefdeF;border-top:1px solid #edf2ef;border-radius:0;backdrop-filter:blur(10px)}
.ai-nav button{display:grid;justify-items:center;align-content:center;gap:3px;flex:1;min-width:0;min-height:57px;color:#6e7580;font-size:11px;padding:4px 0;font-weight:400}
.ai-nav .ai-icon{height:27px;width:31px;object-fit:contain}
.ai-nav .active{color:#23593d;font-weight:600}
.ai-nav .active>.ai-icon{background:#e6f1e8;border-radius:50%;padding:5px;width:40px;height:32px}
html[data-view=assistant] .visual-review-banner{display:none}
html[data-font=large] .ai-intro h1{font-size:8cqw;line-height:1.3}
html[data-font=large] .ai-intro p{font-size:3.8cqw;white-space:normal}
html[data-font=large] .ai-entry b{font-size:5.2cqw}
html[data-font=large] .ai-entry-caption{font-size:4cqw}
html[data-font=large] .ai-composer input{font-size:4.2cqw}
html[data-font=large] .ai-recent-copy b{font-size:4cqw}
html[data-font=large] .ai-recent-copy p{font-size:3.5cqw}
@media(max-height:520px){.ai-nav{position:static;transform:none;margin:auto}.ai-home{padding-bottom:15px}}

html[data-font=large] .ai-nav button{font-size:14px;min-height:64px}
@media(pointer:coarse){.ai-composer input{font-size:max(16px,3.6cqw);scroll-margin-block:90px}html[data-view=assistant]:has(#ask-form input:focus) .ai-nav{display:none}}
