.app-page--ai,.app-frame--ai,.app-shell--ai,.app-content--ai{background:var(--fl-surface)}.app-frame--ai{width:min(100%,1280px);box-shadow:none;margin-inline:auto}.app-shell--ai{background:radial-gradient(circle at top right, var(--fl-primary-soft), transparent 28%), linear-gradient(180deg, var(--fl-surface) 0%, var(--fl-surface) 100%)}.app-shell--ai .app-content{padding:0 clamp(12px, 3vw, 28px) calc(var(--bottom-nav-height,58px) + max(10px, var(--safe-bottom,0px)))}.app-shell--ai .app-shell__bottom{background:var(--fl-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top-color:var(--fl-border)}.app-shell--ai .bottom-nav__item{color:var(--fl-muted);opacity:.84}.app-shell--ai .bottom-nav__item--active{color:var(--fl-text);opacity:1}.app-shell--ai .bottom-nav__indicator{background:var(--fl-surface);width:12px;transform:scaleX(.55)}.fn-ai-page{min-height:100%}.fn-ai-page__content{width:min(100%,1040px);height:calc(100dvh - var(--bottom-nav-height,58px) - max(0px, var(--safe-bottom,0px)));min-height:calc(100dvh - var(--bottom-nav-height,58px) - max(0px, var(--safe-bottom,0px)));grid-template-rows:auto auto minmax(0,1fr) auto;margin:0 auto;display:grid}.fn-ai-header,.fn-ai-mode-rail,.fn-ai-thread-stage__inner,.fn-ai-input-dock{width:min(100%,880px);margin:0 auto}.fn-ai-header{justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px 2px 4px;display:flex}.fn-ai-header__brandline{align-items:center;gap:8px;min-width:0;display:flex}.fn-ai-header__brand{color:var(--fl-text);font-size:var(--fl-text-lg);font-weight:var(--fl-weight-strong);letter-spacing:-.03em}.fn-ai-header__mode-pill{background:var(--fl-surface-muted);min-height:28px;color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.fn-ai-header__new-btn{border:1px solid var(--fl-border);background:var(--fl-surface-muted);min-height:32px;color:var(--fl-muted);font-size:var(--fl-text-sm);font-weight:var(--fl-weight-medium);box-shadow:none;white-space:nowrap;border-radius:13px;padding:0 12px}.fn-ai-mode-rail{gap:7px;padding:2px 2px 8px;display:grid}.fn-ai-modes{background:var(--fl-surface);border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:44px;padding:4px;display:grid}.fn-ai-modes__item{min-height:36px;color:var(--fl-muted);background:0 0;border:0;border-radius:18px;justify-content:center;align-items:center;padding:0 10px;transition:background-color .16s,color .16s;display:inline-flex}.fn-ai-modes__item--active{background:var(--fl-surface-muted);color:var(--fl-text)}.fn-ai-modes__label{white-space:nowrap;text-overflow:ellipsis;font-size:var(--fl-text-sm);font-weight:var(--fl-weight-strong);overflow:hidden}.fn-ai-mode-rail__hint{color:var(--fl-muted);font-size:var(--fl-text-sm);margin:0;padding-inline:4px;line-height:1.45}.fn-ai-thread-stage{overscroll-behavior:contain;min-height:0;padding:8px 0 12px;overflow-y:auto}.fn-ai-thread-stage__inner{flex-direction:column;min-height:100%;display:flex}.fn-ai-thread-stage__empty{align-content:start;gap:18px;min-height:100%;padding:clamp(34px,7vh,72px) 2px 18px;display:grid}.fn-ai-thread-stage__empty-copywrap{gap:8px;max-width:34rem;display:grid}.fn-ai-thread-stage__eyebrow{color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);letter-spacing:.08em;text-transform:uppercase}.fn-ai-thread-stage__empty-title{color:var(--fl-text);font-size:var(--fl-title);line-height:1.05;font-weight:var(--fl-weight-strong);letter-spacing:-.05em;margin:0}.fn-ai-thread-stage__empty-copy{max-width:32ch;color:var(--fl-muted);font-size:var(--fl-text-md);margin:0;line-height:1.62}.fn-ai-thread-stage__starter-group{gap:12px;max-width:42rem;display:grid}.fn-ai-thread-stage__starter-head{gap:4px;display:grid}.fn-ai-thread-stage__starter-label{color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);letter-spacing:.06em;text-transform:uppercase}.fn-ai-thread-stage__starter-copy{color:var(--fl-muted);font-size:var(--fl-text-sm);line-height:1.5}.fn-ai-thread-stage__starter-list{background:var(--fl-surface);box-shadow:var(--fl-shadow-control);border-radius:22px;display:grid;overflow:hidden}.fn-ai-thread-stage__starter{min-height:58px;color:var(--fl-text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:0 16px;display:grid}.fn-ai-thread-stage__starter+.fn-ai-thread-stage__starter{border-top:1px solid var(--fl-border)}.fn-ai-thread-stage__starter-index{background:var(--fl-surface);width:28px;height:28px;color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.fn-ai-thread-stage__starter-text{font-size:var(--fl-text-md);line-height:1.45;font-weight:var(--fl-weight-medium)}.fn-ai-thread{gap:18px;padding:8px 0 20px;display:grid}.fn-ai-message{gap:8px;display:grid}.fn-ai-message--outbound{justify-items:end}.fn-ai-message__meta{color:var(--fl-muted);font-size:var(--fl-text-xs);justify-content:space-between;align-items:center;gap:10px;display:flex}.fn-ai-message__badge{color:var(--fl-muted);font-weight:var(--fl-weight-strong)}.fn-ai-message--assistant .fn-ai-message__badge{color:var(--fl-text)}.fn-ai-message__bubble{gap:10px;width:100%;display:grid}.fn-ai-message--assistant .fn-ai-message__bubble,.fn-ai-message--tool .fn-ai-message__bubble,.fn-ai-message--system .fn-ai-message__bubble{max-width:760px}.fn-ai-message--tool .fn-ai-message__bubble,.fn-ai-message--system .fn-ai-message__bubble{border-left:2px solid var(--fl-border);padding-left:12px}.fn-ai-message--user .fn-ai-message__meta,.fn-ai-message--user .fn-ai-message__bubble{width:88%}.fn-ai-message--user .fn-ai-message__bubble{background:var(--fl-surface);color:var(--fl-text);border-radius:18px;padding:12px 14px}.fn-ai-message__content{white-space:pre-wrap;line-height:1.72;font-size:var(--fl-text-lg);color:inherit}.fn-ai-message__evidence{color:var(--fl-muted);font-size:var(--fl-text-sm);flex-wrap:wrap;gap:6px;line-height:1.5;display:flex}.fn-ai-message__evidence[data-status=grounded]{color:var(--fl-positive)}.fn-ai-message__evidence[data-status=insufficient_evidence],.fn-ai-message__evidence[data-status=plan_only],.fn-ai-message__evidence[data-status=execution_failed],.fn-ai-message__evidence[data-status=mode_mismatch]{color:var(--fl-negative)}.fn-ai-message__hint{color:var(--fl-muted);font-size:var(--fl-text-sm);line-height:1.58}.fn-ai-structured{gap:12px;display:grid}.fn-ai-structured__head,.fn-ai-panel__head{gap:4px;display:grid}.fn-ai-structured__title,.fn-ai-panel__title{color:var(--fl-text);font-size:var(--fl-text-lg);font-weight:var(--fl-weight-strong);letter-spacing:-.02em}.fn-ai-structured__summary{color:var(--fl-muted);font-size:var(--fl-text-md);margin:0;line-height:1.65}.fn-ai-structured__metrics{flex-wrap:wrap;gap:8px;display:flex}.fn-ai-metric{background:var(--fl-surface);border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;display:inline-flex}.fn-ai-metric__label{color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);text-transform:uppercase}.fn-ai-metric__value{color:var(--fl-text);font-size:var(--fl-text-sm);font-weight:var(--fl-weight-strong)}.fn-ai-metric--positive .fn-ai-metric__value{color:var(--fl-positive)}.fn-ai-metric--warning .fn-ai-metric__value,.fn-ai-metric--critical .fn-ai-metric__value{color:var(--fl-negative)}.fn-ai-structured__sections{gap:12px;display:grid}.fn-ai-section-card{gap:8px;display:grid}.fn-ai-section-card__title{color:var(--fl-text);font-size:var(--fl-text-md);font-weight:var(--fl-weight-strong);margin:0}.fn-ai-section-card__list{color:var(--fl-muted);font-size:var(--fl-text-md);gap:8px;margin:0;padding-left:18px;line-height:1.58;display:grid}.fn-ai-message__sources,.fn-ai-message__artifacts{gap:6px;display:grid}.fn-ai-message__section-label,.fn-ai-panel__eyebrow{color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);letter-spacing:.08em;text-transform:uppercase}.fn-ai-message__sources ul,.fn-ai-message__artifacts ul,.fn-ai-panel__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fn-ai-message__sources li,.fn-ai-message__artifacts li,.fn-ai-panel__item{gap:4px;display:grid}.fn-ai-message__sources li,.fn-ai-message__artifacts li{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.fn-ai-message__sources li span:last-child,.fn-ai-message__artifacts li span:last-child,.fn-ai-panel__item-meta{color:var(--fl-muted);font-size:var(--fl-text-sm)}.fn-ai-panel{gap:10px;display:grid}.fn-ai-panel__item-title{color:var(--fl-text);font-size:var(--fl-text-md);font-weight:var(--fl-weight-strong);line-height:1.5}.fn-ai-panel__item-copy{color:var(--fl-muted);font-size:var(--fl-text-sm);line-height:1.55}.fn-ai-panel__item-meta{justify-content:space-between;gap:10px;display:flex}.fn-ai-panel__empty{color:var(--fl-muted);font-size:var(--fl-text-sm);line-height:1.6}.fn-ai-input-dock{padding:10px 0 max(10px, var(--safe-bottom,0px));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:0;margin-top:auto}.fn-ai-inline-alert{background:var(--fl-negative-soft);color:var(--fl-negative);font-size:var(--fl-text-sm);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:9px 12px;line-height:1.5;display:flex}.fn-ai-inline-alert__label{font-weight:var(--fl-weight-strong);flex:none}.fn-ai-utility-tray{gap:6px;margin-bottom:8px;display:grid}.fn-ai-utility-summary{width:100%;min-height:30px;color:var(--fl-muted);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 2px;display:flex}.fn-ai-utility-summary__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fl-text-sm);line-height:1.4;overflow:hidden}.fn-ai-utility-summary__action{color:var(--fl-muted);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-strong);flex:none}.fn-ai-utility-summary.is-open{color:var(--fl-muted)}.fn-ai-utility-tray__panel{gap:12px;padding-top:6px;display:grid}.fn-ai-statusbar{gap:6px;margin-bottom:8px;padding-inline:4px;display:grid}.fn-ai-statusbar__line{justify-content:space-between;align-items:center;gap:12px;display:flex}.fn-ai-statusbar__chip{color:var(--fl-text);font-size:var(--fl-text-md);font-weight:var(--fl-weight-strong);align-items:center;gap:8px;display:inline-flex}.fn-ai-statusbar__dot{background:var(--fl-surface);border-radius:999px;width:8px;height:8px}.fn-ai-statusbar__dot--running,.fn-ai-statusbar__dot--streaming{background:var(--fl-primary-soft)}.fn-ai-statusbar__dot--complete{background:var(--fl-positive-soft)}.fn-ai-statusbar__dot--failed,.fn-ai-statusbar__dot--stopped{background:var(--fl-negative-soft)}.fn-ai-statusbar__meta{flex-wrap:wrap;gap:8px;display:flex}.fn-ai-statusbar__meta-item{background:var(--fl-surface);min-height:24px;color:var(--fl-muted);font-size:var(--fl-text-xs);border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.fn-ai-statusbar__detail{color:var(--fl-muted);font-size:var(--fl-text-sm);margin:0;line-height:1.55}.fn-ai-composer{gap:6px;display:grid}.fn-ai-composer__attachments{flex-wrap:wrap;gap:8px;display:flex}.fn-ai-composer__attachment{background:var(--fl-surface);min-height:30px;color:var(--fl-muted);font-size:var(--fl-text-sm);border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 11px;display:inline-flex}.fn-ai-composer__attachment-name{color:var(--fl-text)}.fn-ai-composer__attachment-remove{color:var(--fl-muted);font-size:var(--fl-text-xs);background:0 0;border:0}.fn-ai-composer__shell{background:var(--fl-surface);min-height:60px;box-shadow:var(--fl-shadow-control);border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;padding:10px 12px;display:grid}.fn-ai-composer__upload{background:var(--fl-surface);width:34px;height:34px;color:var(--fl-text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.fn-ai-composer__upload-plus{font-size:var(--fl-subtitle);line-height:1}.fn-ai-composer__textarea{resize:none;width:100%;min-height:40px;max-height:160px;color:var(--fl-text);font-size:var(--fl-text-lg);background:0 0;border:0;outline:none;padding:8px 0 3px;line-height:1.58}.fn-ai-composer__textarea::placeholder{color:var(--fl-muted)}.fn-ai-composer__actions{align-items:flex-end;display:inline-flex}.fn-ai-composer__action{min-height:var(--fl-hit);box-shadow:none;border-radius:14px;padding:0 13px}.fn-ai-composer__stop{border:1px solid var(--fl-border);background:var(--fl-surface);color:var(--fl-text)}.fn-ai-composer__send{background:var(--fl-surface)!important;color:var(--fl-text)!important;box-shadow:none!important}@media (width<=720px){.fn-ai-header__brand{font-size:var(--fl-text-lg)}.fn-ai-modes__label{font-size:var(--fl-text-sm)}.fn-ai-thread-stage__empty{padding-top:28px}.fn-ai-thread-stage__starter{min-height:54px;padding-inline:14px}.fn-ai-utility-summary__text{white-space:normal}.fn-ai-composer__shell{grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.fn-ai-composer__action{min-height:var(--fl-hit);padding:0 12px}}@media (width>=960px){.fn-ai-page__content{width:min(100%,1100px)}.fn-ai-header,.fn-ai-mode-rail,.fn-ai-thread-stage__inner,.fn-ai-input-dock{width:min(100%,920px)}.fn-ai-thread-stage__empty{padding-top:40px}}.fn-ai-header__back{font-size:var(--fl-subtitle);color:inherit;padding:6px;text-decoration:none}.fn-ai-message__content:has(.fn-ai-answer-text){white-space:normal}.fn-ai-answer-text{overflow-wrap:anywhere}.fn-ai-answer-text>:first-child{margin-top:0}.fn-ai-answer-text :is(p,ul,ol,pre,.fn-ai-answer-table){margin:0 0 var(--fl-space-4)}.fn-ai-answer-text h3{font-size:var(--fl-text-lg);line-height:var(--fl-leading-lg);margin:var(--fl-space-6) 0 var(--fl-space-3)}.fn-ai-answer-text :is(ul,ol){padding-left:var(--fl-space-6)}.fn-ai-answer-text li+li{margin-top:var(--fl-space-2)}.fn-ai-answer-text pre{white-space:pre;padding:var(--fl-space-3);border-radius:var(--fl-radius-sm);background:var(--fl-surface-muted);overflow:auto}.fn-ai-answer-text code{font-family:var(--fl-font);font-variant-numeric:tabular-nums}.fn-ai-answer-table{max-width:100%;overflow:auto}.fn-ai-answer-table table{border-collapse:collapse;width:100%;font-size:var(--fl-text-sm)}.fn-ai-answer-table :is(th,td){padding:var(--fl-space-3);text-align:left;border-bottom:1px solid var(--fl-border)}.fn-ai-answer-table th{background:var(--fl-surface-muted);font-weight:var(--fl-weight-medium)}.dog-chat__header{border-bottom:1px solid var(--fl-border);align-items:center;gap:14px;width:100%;height:52px;display:flex}.dog-chat__header strong{font-size:var(--fl-text-md);font-weight:var(--fl-weight-strong);align-items:center;gap:8px;display:flex}.dog-chat__header strong svg{color:var(--fl-primary)}.dog-chat__header button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto}.dog-chat__empty{height:100%;min-height:280px;color:var(--fl-muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.dog-chat__empty>svg{color:var(--fl-primary)}.dog-chat__empty h1{font-size:var(--fl-subtitle);font-weight:var(--fl-weight-strong);color:inherit;letter-spacing:0}.dog-history{height:100%;min-height:0;color:var(--fl-secondary);background:var(--fl-surface);font:var(--fl-weight-medium) var(--fl-text-sm)/1.5 var(--fl-font);flex-direction:column;padding:14px 12px;display:flex}.dog-history button{font:inherit;cursor:pointer;color:inherit}.dog-history__new{background:var(--fl-surface);border:1px solid var(--fl-border);border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:36px;margin-bottom:24px;display:flex}.dog-history__new:hover{background:var(--fl-surface-muted)}.dog-history h2{font:var(--fl-weight-medium) var(--fl-text-xs)/1.5 var(--fl-font);font-size:var(--fl-text-xs);font-weight:var(--fl-weight-medium);color:var(--fl-muted);margin:0 8px 10px}.dog-history__list{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.dog-history__list>a{color:var(--fl-secondary);border-radius:4px;align-items:center;gap:9px;padding:11px 9px;text-decoration:none;display:flex}.dog-history__list>a>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dog-history__list>a>svg{color:var(--fl-muted);flex-shrink:0}.dog-history__list>a:hover{background:var(--fl-surface-muted)}.dog-history__list>a.active{background:var(--fl-surface-muted);color:var(--fl-primary)}.dog-history__list p{font-size:var(--fl-text-xs);color:var(--fl-muted);margin:0;padding:10px 8px;line-height:1.7}.dog-history__list button{background:var(--fl-surface);border:1px solid var(--fl-border);border-radius:4px;margin:4px 8px;padding:6px 12px}.dog-chat__mobile-history{z-index:10;position:absolute;inset:52px 0 0}.dog-chat{position:relative}.dog-chat .fn-ai-page__content{grid-template-rows:52px minmax(0,1fr) auto}.dog-chat .fn-ai-thread-stage{min-height:0;overflow:auto}.dog-chat .fn-ai-thread-stage__inner{flex-direction:column;min-height:100%;display:flex}.dog-chat .dog-chat__empty{flex:1}.dog-chat .fn-ai-thread{width:100%}@media (width<=979px){.dog-chat__header{border-bottom-color:var(--fl-border)}.dog-chat__home{color:inherit;font-size:var(--fl-subtitle);text-decoration:none}.dog-chat__empty{color:var(--fl-muted)}.dog-chat__empty h1{font-size:var(--fl-subtitle)}.dog-chat__mobile-history .dog-history{background:var(--fl-surface);color:var(--fl-text)}.dog-chat__mobile-history .dog-history__new{background:var(--fl-surface);border-color:var(--fl-border)}.dog-chat__mobile-history .dog-history__list>a{color:var(--fl-text)}.dog-chat__mobile-history .dog-history__list>a:hover{background:var(--fl-surface-muted)}}.dog-chat__header .dog-chat__brand{gap:12px;min-width:0}.dog-chat__brand .flashai-official-logo{width:126px;height:41px}.dog-chat__brand-suffix{border-left:1px solid var(--fl-border);white-space:nowrap;padding-left:12px;line-height:18px}.dog-chat__empty>.flashai-official-logo{width:40px;height:52px}@media (width<=979px){.dog-chat .flashai-official-logo{filter:none;mix-blend-mode:normal}.dog-chat__brand-suffix{border-color:var(--fl-border)}}.dog-chat__read-state{justify-content:center;align-items:center;gap:var(--fl-space-3);padding:var(--fl-space-4);color:var(--fl-secondary);font-size:var(--fl-text-sm);flex-wrap:wrap;display:flex}
