/* The home is a single natural reading flow, with one primary prompt. */
.home-page{--home-gutter:20px;--home-gap:28px}
.home-page .phone{max-width:960px}
.home-page .screen{height:var(--app-viewport-height,100dvh);min-height:0}
.home-page .header{flex-shrink:0;padding:12px var(--home-gutter)}
.home-brand{font-size:1rem;font-weight:650;text-decoration:none;color:inherit;min-height:44px;display:inline-flex;align-items:center}
.home-page .content{display:block;flex:1 1 auto;min-height:0;padding:24px var(--home-gutter) 32px;overflow-y:auto;overflow-x:hidden;scroll-padding-block:24px}
.home-page .hero{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;min-height:118px;padding:0;margin:0 0 24px;align-items:stretch;text-align:left}
.home-page .hero-copy{container-type:normal;min-width:0;width:100%;align-self:center;overflow-wrap:normal}
.home-page .hero-eyebrow{font-size:.625rem;line-height:1.4;letter-spacing:.12em;color:var(--text-2);margin-bottom:8px;font-weight:600}
.home-page .hero-title{font-size:clamp(1.5rem,6.7vw,2rem);line-height:1.08;margin:0 0 8px;letter-spacing:-.035em;text-wrap:balance}
.home-page .hero-subtitle{font-size:.8125rem;line-height:1.45;margin:0;color:var(--text-2);max-width:27em}
.home-page #modelStatus{display:none}
.home-page #homeModelCount{font-size:.75rem;line-height:1.5;color:#a9dafa;margin-top:8px}
.home-page #homeModelCount[hidden]{display:none}
.home-page .brainy-portrait{min-height:118px}
.home-page .input-area{position:static;flex:none;padding:0!important;background:none;border:0;margin-bottom:var(--home-gap)}
.home-page .input-pill{display:flex;align-items:center;min-height:82px;height:auto;padding:16px 14px 16px 18px;gap:10px;border-radius:26px;background:#29292f;border:1px solid #ffffff12;box-shadow:0 10px 32px #00000014;transition:border-color .15s}
.home-page .input-pill:focus-within{border-color:#6ebce7}
.home-page .input{font-size:1rem;line-height:1.5;min-height:48px;width:100%;resize:none;max-height:168px}
.home-page .input::placeholder{color:#b4b4bd}
.home-page .send-btn{width:46px;height:46px;background:#b5e3ff;color:#172a36;align-self:flex-end;flex-shrink:0}
.home-page .send-btn[data-empty="true"]{opacity:1;filter:none;background:#424249;color:#c5c5ce}
.home-prompt-hint{font-size:.6875rem;line-height:1.4;color:var(--text-3);padding:10px 4px 0}
.home-page .block{margin:0}
.home-page .block+.block{margin-top:var(--home-gap)}
.home-page .block-title{font-size:1.0625rem;font-weight:600;line-height:1.35;padding:0;margin:0 0 12px;letter-spacing:-.015em}
.home-page .cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));grid-template-rows:auto;grid-auto-flow:row;grid-auto-columns:auto;gap:10px;padding:0;overflow:visible}
.home-page .card{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto;align-items:center;align-content:center;gap:10px;min-width:0;min-height:84px;padding:14px 12px;border-radius:24px;border:1px solid #ffffff06;background:#222227;text-align:left}
.home-page .card-top{min-height:0;display:block}
.home-page .card-icon-wrap{width:36px;height:36px;flex-basis:36px;border-radius:12px;background:transparent}
.home-page .card-icon-wrap svg{width:27px;height:27px}
.home-page .card-text{font-size:.875rem;font-weight:550;line-height:1.3;min-height:0;overflow-wrap:normal}
.home-page .card-count,.home-page .card-badge{display:none}
.home-page .chips-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:10px;padding:0;overflow:visible}
.home-page .chip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;height:auto;min-height:88px;min-width:0;width:100%;padding:14px;font-size:.8125rem;line-height:1.35;white-space:normal;text-align:left;overflow-wrap:normal;border-radius:22px;background:transparent;border:1px solid #ffffff12}
.home-page .chip>span:first-child{grid-column:1/-1;font-size:.625rem;color:var(--text-3)}
.home-page .chip>span:last-child{color:var(--text-2)}
.home-page :focus-visible{outline:2px solid #91d3fb;outline-offset:3px}
.home-recent[hidden]{display:none}
.home-recent-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.home-recent-head .block-title{margin:0}
.home-recent-head a{color:#acd9f5;font-size:.8125rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.home-recent-list{display:grid;gap:10px}
.home-recent-card{display:flex;align-items:center;gap:12px;min-height:80px;padding:12px;background:#222227;border:1px solid #ffffff06;border-radius:24px;color:inherit;text-decoration:none;min-width:0}
.home-recent-thumb{width:52px;height:52px;flex-shrink:0;object-fit:cover;border-radius:15px;background:#303037;display:grid;place-items:center;color:#b6d8ef}
.home-recent-copy{min-width:0;flex:1}
.home-recent-title{font-size:.875rem;font-weight:550;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-recent-meta{margin-top:4px;font-size:.75rem;line-height:1.35;color:var(--text-2)}
.home-recent-arrow{color:var(--text-3)}
.continue-chat{display:block;max-width:100%;min-width:0;color:#acd9f5;padding:12px;font-size:.8125rem;border-radius:20px;background:var(--surface);text-decoration:none;overflow-wrap:anywhere}
.history-pin{background:transparent;border:0;color:#5fbdf2;padding:8px;position:relative;z-index:1}.history-item{cursor:pointer}
@media(min-width:600px){
 .home-page{--home-gutter:32px;--home-gap:32px}
 .home-page .content{padding-top:28px}
 .home-page .hero{grid-template-columns:128px minmax(0,1fr);min-height:150px;gap:24px;margin-bottom:28px}
 .home-page .hero-title{font-size:2.75rem;max-width:12em}
 .home-page .hero-subtitle{font-size:1rem}
 .home-page .hero-eyebrow{font-size:.6875rem}
 .home-page .brainy-portrait{min-height:150px}
 .home-page .cards-row,.home-page .chips-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .home-page .card{display:flex;flex-direction:column;align-items:flex-start;min-height:130px;padding:18px;gap:16px}
 .home-page .card-text{font-size:1rem}
 .home-page .input-pill{min-height:100px;padding:20px;border-radius:30px}
 .home-page .input{font-size:1.125rem}
 .home-recent-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))}
}
@media(max-width:767px){
 .home-page .header{display:none}
 .home-page .content{padding-top:calc(24px + env(safe-area-inset-top,0px))}
}
@media(max-width:350px){
 .home-page{--home-gutter:16px;--home-gap:24px}
 .home-page .hero{grid-template-columns:72px minmax(0,1fr);gap:12px;min-height:112px;margin-bottom:20px}
 .home-page .brainy-portrait{min-height:112px}
 .home-page .hero-title{font-size:1.5rem}
 .home-page .card{grid-template-columns:28px minmax(0,1fr);padding:12px 10px;gap:8px}
 .home-page .card-icon-wrap{width:28px;height:28px}
 .home-page .card-text{font-size:.8125rem}
 .home-page .chip{padding:12px;font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){.home-page .input-pill{transition:none}}

/* History controls stay usable with touch and the mobile keyboard. */
#historySheet .sheet{max-height:var(--app-viewport-height,100dvh);padding-bottom:max(16px,env(safe-area-inset-bottom));overflow:hidden}
#historySheet .history-search{font-size:16px;min-height:44px;flex-shrink:0}
#historySheet .sheet-close,#historySheet .history-item-delete,#historySheet .history-pin,#historySheet .history-retry{min-width:44px;min-height:44px;touch-action:manipulation}
#historySheet .history-item-delete{border:0;background:transparent;display:grid;place-items:center}
#historySheet .history-item{min-width:0;text-align:left}
#historySheet .history-item-sub{overflow-wrap:anywhere}
#historySheet .history-action-error{font-size:13px;color:#ffb6b6;margin:6px 0}
#historySheet .history-retry{border:0;border-radius:16px;background:var(--surface);color:var(--text);padding:10px 18px}
#historySheet :focus-visible{outline:2px solid #5fbdf2;outline-offset:2px}

.history-confirm{box-sizing:border-box;width:min(400px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid #ffffff18;border-radius:24px;background:var(--surface,#242428);color:var(--text,#fff);overflow:auto}
.history-confirm::backdrop{background:#0009;backdrop-filter:blur(4px)}
.history-confirm h2{font-size:20px;line-height:1.3;margin:0 0 12px}.history-confirm p{font-size:15px;line-height:1.45;overflow-wrap:anywhere;color:var(--text-2);margin:0 0 20px}
.history-confirm>div{display:flex;gap:10px}.history-confirm button{flex:1;min-height:44px;border:0;border-radius:999px;padding:10px 16px;background:#ffffff14;color:inherit;font:inherit}.history-confirm .history-confirm-remove{background:#b83b46;color:white}


.home-page .home-examples[hidden]{display:none}
.home-recent-meta{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.home-page .card-text,.home-page .chip{overflow-wrap:anywhere}

@media(max-width:350px){.home-page .card{grid-template-columns:minmax(0,1fr);gap:8px;min-height:94px}.home-page .card-text{font-size:.875rem}}

.home-page .card-count{display:block;grid-column:2;font-size:.6875rem;line-height:1.4;color:var(--text-2);margin-top:-6px;overflow-wrap:normal}
@media(max-width:350px){.home-page .card-count{grid-column:1;margin-top:0}.home-page .card{gap:6px}}
@media(min-width:600px){.home-page .card-count{margin-top:-8px}}

.home-page #homeModelCount,.home-page .card-count{white-space:pre-line}

/* One horizontal task rail, including every catalogue capability. */
.home-page .home-tasks-hint{font-size:.75rem;color:var(--text-2);margin:-6px 0 12px}
.home-page .cards-row{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:2px;overscroll-behavior-x:contain;padding:2px 2px 10px;scrollbar-width:thin;scrollbar-color:#555560 transparent}
.home-page .cards-row .card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;flex:0 0 154px;min-height:156px;padding:16px;scroll-snap-align:start}
.home-page .cards-row .card-text{font-size:.875rem;line-height:1.35;min-height:2.7em;overflow-wrap:normal}
.home-page .cards-row .card-count{margin-top:auto;font-size:.6875rem;line-height:1.45}
@media(min-width:600px){.home-page .cards-row .card{flex-basis:180px}.home-page .cards-row .card-text{font-size:1rem}}

/* A short route to every task, without replacing the swipeable rail. */
.home-tasks-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.home-page .home-tasks-heading .block-title{margin:0}
.home-tasks-heading button{flex:none;min-height:44px;border:0;background:transparent;color:var(--primary,#a9d5f5);font:inherit;font-size:14px;padding:8px 4px;cursor:pointer}
.home-tasks-dialog{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 48px);margin:auto;padding:20px;border:1px solid #39393f;border-radius:24px;background:#1c1c21;color:#f5f5f7;overflow:auto;overscroll-behavior:contain}
.home-tasks-dialog::backdrop{background:rgba(0,0,0,.65)}
.home-tasks-dialog h2{font-size:22px;margin:0}.home-tasks-dialog h3{font-size:16px;margin:24px 0 8px}
#closeHomeTasks{font-size:28px;min-width:44px}
#homeTaskSearch{box-sizing:border-box;width:100%;min-height:48px;padding:12px 16px;margin-top:12px;border:1px solid #42424b;border-radius:16px;background:#292930;color:inherit;font:inherit;font-size:16px}
.home-task-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:12px 0;border:0;border-bottom:1px solid #35353d;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.home-task-option span{min-width:0;overflow-wrap:anywhere}.home-task-option small{flex:0 0 110px;font-size:12px;line-height:1.5;color:#b3b3bd;text-align:right;white-space:pre-line}
@media(max-width:350px){.home-tasks-heading{gap:4px}.home-tasks-heading button{font-size:12px}.home-tasks-dialog{padding:16px}}

/* The viewport clips the rail; inset only the first/last card, not its window. */
.home-page .cards-row{box-sizing:border-box;width:calc(100% + 2 * var(--home-gutter));max-width:none;margin-inline:calc(-1 * var(--home-gutter));padding-inline:var(--home-gutter);scroll-padding-inline:var(--home-gutter)}
.home-page .cards-row:focus-visible{outline-offset:-3px}

.home-returning .hero{flex:none;min-height:0;padding-block:12px}
.home-returning .brainy-portrait{max-width:90px;min-height:80px}
.home-returning .hero-title{font-size:clamp(22px,5vw,32px)}
.home-returning .hero-subtitle,.home-returning .hero-eyebrow{display:none}
.home-returning .home-recent{margin-block:12px}

.home-task-category{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px}
.home-task-category select{min-width:0;max-width:65%;min-height:44px;border:0;background:transparent;color:var(--text-2);font:inherit;font-size:14px}
.home-page .home-task-category .home-tasks-hint{margin:0;font-size:12px}
.home-page .cards-row .card[hidden]{display:none}
