/* Mobile-first refinements; loaded last. Desktop structure is preserved. */
.vision-loading{display:flex;align-items:center;gap:16px;min-width:0}
.vision-loading>[data-think]{min-width:0;flex:1}
.vision-summary{display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px;min-width:0}
.vision-details{min-width:0;flex:1 1 220px;overflow-wrap:anywhere}
/* Errors use a real response column, never the avatar's remaining width. */
.msg-row.is-error{align-items:flex-start;width:100%;min-width:0}
.msg-row.assistant .msg.error{flex:1 1 0;width:auto;min-width:0;max-width:100%;padding:14px 16px;border-radius:12px;overflow-wrap:anywhere}
.msg.error p{white-space:normal;word-break:normal;overflow-wrap:anywhere}
.msg.error .btn{min-height:44px;margin-top:4px}
@media(max-width:767px){
 body{--text-xl:1.375rem;--text-2xl:1.625rem;--text-3xl:2rem;--space-6:20px;--space-8:24px;--space-10:28px;--space-12:32px}
 .page-head{margin-bottom:16px;gap:10px}.page-head h1{font-size:clamp(24px,6.7vw,28px);line-height:1.2;letter-spacing:-.04em}
 .page-head p{margin-top:6px;font-size:14px;line-height:1.5}
 h2{font-size:21px;line-height:1.3}h3{font-size:18px;line-height:1.35}
 .card{border-radius:14px}.card-title{font-size:16px}
 .ai-hero,.ai-hero.compact{padding:20px 16px;margin-bottom:16px;gap:12px}
 .ai-hero h1,.ai-hero.compact h1{font-size:clamp(24px,6.8vw,30px);line-height:1.2;max-width:100%;letter-spacing:-.035em}
 .ai-hero p{font-size:14px;line-height:1.5;max-width:100%}
 .ai-hero .eyebrow{font-size:12px}.ai-hero-actions{flex-wrap:wrap}
 .landing h1{font-size:clamp(32px,9vw,40px);line-height:1.05}
 .section-head h2,.landing h2{font-size:clamp(24px,7vw,30px)}
 .legal-document{margin:20px auto;line-height:1.65}.legal-document h1{font-size:28px}.legal-document h2{font-size:20px;margin-top:24px}
 .search-panel{padding:14px}.search-main{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .search-main .search-field{grid-column:1/-1;width:100%;min-width:0}.search-main>.btn{width:100%;min-height:44px;justify-content:center}
 .search-main .btn .label{display:inline!important}.filter-bar{gap:8px;padding-top:12px;min-width:0}
 .filter-select{min-width:0;max-width:100%}.filter-select select{max-width:100%}
 .gen-card{padding:16px;min-width:0}.gen-card .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gen-card .grid-3>.field:first-child{grid-column:1/-1}
 .gen-card .chips-input{min-width:0}.gen-card .chips-input input{min-width:100px;max-width:100%;font-size:16px}
 .scan-actions{display:grid!important;grid-template-columns:1fr;gap:8px}.scan-actions>.btn{width:100%;min-height:44px;justify-content:center}
 .scan-actions input[hidden]{display:none}.gen-card .prompt-suggestions{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:8px;scrollbar-width:thin}
 .gen-card .prompt-chip{flex:0 0 auto;max-width:260px;white-space:normal;text-align:left;min-height:44px}
 .gen-card .check{font-size:14px;line-height:1.5;min-height:44px;align-items:center}
 .vision-loading{flex-direction:column;align-items:stretch;padding:16px;gap:12px}
 .vision-loading>img{width:100%!important;height:156px!important;object-fit:cover}
 .vision-loading [data-think]{width:100%}.vision-loading .ai-thinking{min-width:0;max-width:100%}
 .vision-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 .vision-summary>img{width:100%!important;height:180px!important;object-fit:cover}
 .vision-details{width:100%;min-width:0!important}.vision-details h2{font-size:22px;line-height:1.25}
 .recipe-result{min-width:0;padding:16px}.recipe-result .row{min-width:0;flex-wrap:wrap}.recipe-result .grow{min-width:0!important}
 .recipe-result .btn{min-height:44px;white-space:normal}.recipe-result .steps li{padding-left:36px}
 .chat{height:clamp(420px,70dvh,680px);min-height:0;border-radius:14px}
 .chat-top{padding:10px 12px;gap:8px;flex-wrap:wrap}.chat-top>.row{min-width:0;gap:6px}.chat-top .btn{min-height:44px}
 .chat-log{padding:14px;gap:16px}.msg-row{gap:8px}.msg-row>.avatar,.msg-row>.ai-mark{flex:0 0 26px;width:26px;height:26px}
 .msg.assistant:not(.error){max-width:none;width:auto;flex:1 1 0;min-width:0}
 .msg-row.is-error{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.msg-row.is-error>.ai-mark{display:none}
 .msg-row.assistant .msg.error{width:100%;max-width:none;padding:12px;box-sizing:border-box;font-size:14px;line-height:1.6}
 .msg.user{max-width:calc(100% - 34px);font-size:16px;padding:10px 12px}
 .chat-form{padding:10px;gap:8px}.chat-form input{flex:1 1 0!important;width:0!important;min-width:0!important;font-size:16px}.chat-form .btn{flex:0 0 44px}
 .chat-suggest{padding:0 12px 12px;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px}.chat-suggest .prompt-chip{flex:0 0 220px;white-space:normal;min-height:44px;text-align:left}
 .ai-content{font-size:16px;line-height:1.65}.ai-content h2{font-size:21px}.ai-content h3{font-size:18px}.ai-content h4{font-size:16px}.ai-content p{margin-bottom:10px}
 .ai-content pre{padding:12px}.ai-table-scroll{margin:12px 0}.ai-content table{font-size:14px}
 .tier-card h3{font-size:23px}.tier-card{padding:20px}.plan-pricing-controls{gap:10px}
 .btn,input,textarea,select{max-width:100%}input,textarea,select{font-size:16px}
}
@media(max-width:359px){
 .page-head h1{font-size:23px}.ai-hero h1,.ai-hero.compact h1{font-size:24px}
 .chat-top .ai-usage{font-size:12px}.chat-log{padding:12px}.gen-card,.search-panel,.recipe-result{padding:12px}
 .vision-summary>img{height:150px!important}.notification-reply{padding:0 12px 12px}.notification-reply input{min-width:0;flex-basis:100%}.notification-reply button{width:100%}
 .quota-dialog-body{padding:20px 12px}.quota-dialog .tier-card{padding:16px}
}
@media(prefers-reduced-motion:reduce){.msg-row{animation:none}.chat-log{scroll-behavior:auto}}
@media(max-width:767px){
 .hero h1{font-size:clamp(32px,9vw,40px);line-height:1.05}.hero .lede{font-size:16px;line-height:1.55}
 .section-heading h2{font-size:clamp(24px,7vw,30px);line-height:1.2}.section-heading{gap:12px}
 .discover-hero h1{font-size:clamp(25px,7vw,30px);line-height:1.2}.discover-hero{padding:20px 16px}
 .modal-box{min-width:0;overflow-x:hidden;overflow-wrap:anywhere}.modal-box h2{font-size:22px;line-height:1.25}.modal-box .row{min-width:0;flex-wrap:wrap}
}

/* Keep the working tools within reach, rather than a screen of introduction. */
.ai-mobile-copy{display:none}
@media(max-width:767px){
 .ai-wide-copy{display:none}.ai-mobile-copy{display:inline}
 .plan-notice{padding:10px 12px;margin:0 0 12px;gap:4px 12px;font-size:14px;line-height:1.45;align-items:center}
 .plan-notice a{min-height:44px;display:inline-flex;align-items:center}
 .ai-hero,.ai-hero.compact{padding:16px;margin-bottom:14px}
 .ai-hero>.row:first-child{gap:8px;flex-wrap:nowrap;align-items:center}
 .ai-hero>.row:first-child>.row{gap:6px;min-width:0}
 .ai-hero .ai-mark{width:28px;height:28px;flex:0 0 28px;border-radius:9px}
 .ai-hero .eyebrow{font-size:12px;white-space:nowrap}
 .ai-hero .ai-usage{font-size:12px;padding:4px 8px;min-width:0;gap:4px}
 .ai-hero h1,.ai-hero.compact h1{font-size:24px;margin:12px 0 6px;line-height:1.2}
 .ai-hero p{font-size:14px;line-height:1.5}
 .ai-subnav{margin-top:14px;gap:8px}.ai-subnav a{min-height:44px;font-size:14px}
}
