:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#e5e7eb;background:#0a0f1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{background:#0a0f1a}a{text-decoration:none}button,select,textarea,input{font:inherit}html,body,#root{height:100%;margin:0}body{overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}*,*:before,*:after{box-sizing:border-box}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid rgba(125,211,252,.9);outline-offset:2px}.icon-btn{display:inline-grid;place-items:center;border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:1}.icon-btn:disabled{cursor:not-allowed;opacity:.55}.icon-btn--success{color:#86efac}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:200;transform:translateY(-150%);padding:.6rem .85rem;border-radius:12px;background:#e0f2fe;color:#082f49;font-size:.85rem;font-weight:800;text-decoration:none;transition:transform .15s ease}.skip-link:focus-visible{transform:translateY(0)}.login-page{display:grid;place-items:center;min-height:100vh;min-height:100dvh;overflow:auto;background:radial-gradient(ellipse at 30% 20%,rgba(34,197,94,.12),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(37,99,235,.08),transparent 50%),#0a0f1a}.login-card{width:min(420px,calc(100% - 2rem));padding:2.5rem 2rem;border-radius:24px;background:#0f172ad9;border:1px solid rgba(148,163,184,.12);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-brand{text-align:center;margin-bottom:2rem}.login-logo{width:64px;height:64px;border-radius:18px;margin-bottom:.75rem;object-fit:cover}.login-logo--fallback{display:inline-grid;place-items:center;background:linear-gradient(135deg,#22c55e,#38bdf8);color:#fff;font-weight:800}.login-brand h1{margin:0;font-size:1.5rem;background:linear-gradient(135deg,#22c55e,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-brand p{margin:.25rem 0 0;color:#94a3b8;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form label{display:flex;flex-direction:column;gap:.4rem;color:#cbd5e1;font-size:.88rem;font-weight:600}.login-form input,.login-form select{padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#0f172a99;color:#e5e7eb;font:inherit;outline:none;transition:border-color .2s}.login-form input:focus,.login-form select:focus{border-color:#22c55e}.field--error input,.field--error select{border-color:#f87171b8}.field-hint,.field-error{color:#94a3b8;font-size:.74rem;font-weight:500;line-height:1.45}.field-error{color:#fca5a5}.field-error--standalone{margin-top:-.75rem}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:3rem}.password-toggle{position:absolute;right:.55rem;width:2.2rem;height:2.2rem;border-radius:10px;color:#94a3b8}.password-toggle:hover,.password-toggle:focus-visible{color:#e2e8f0;background:#94a3b81a}.login-consent{display:flex;align-items:center;justify-content:flex-start;gap:.18rem;padding:0;border:none;background:none;white-space:nowrap;color:#dbe4f0;font-family:inherit;font-size:.76rem;font-weight:600;line-height:1.2}.login-consent--error{color:#fecaca}.login-consent__input{width:.96rem;height:.96rem;margin:0 .04rem 0 0;accent-color:#22c55e;flex:0 0 auto}.login-consent .login-consent__prefix,.login-consent .login-consent__sep,.login-consent .login-link-btn{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}.login-consent .login-consent__prefix{color:inherit;cursor:pointer;flex:0 0 auto;display:inline-flex;align-items:center}.login-consent .login-consent__sep{color:inherit;flex:0 0 auto;display:inline-flex;align-items:center}.login-consent .login-link-btn{padding:0;border:none;background:none;color:#7dd3fc;text-decoration:underline;text-underline-offset:.18em;cursor:pointer;white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:center}.login-consent .login-link-btn:hover,.login-consent .login-link-btn:focus-visible{color:#bae6fd;outline:none}.login-btn{margin-top:.5rem;padding:.95rem;border:none;border-radius:14px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:opacity .2s}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{padding:.75rem 1rem;border-radius:12px;background:#ef444424;color:#fca5a5;font-size:.88rem}.login-footer{margin:1.5rem 0 0;text-align:center;color:#64748b;font-size:.8rem}.login-page--legal{place-items:start stretch;align-content:start;height:100vh;height:100dvh;padding:1rem;overflow-y:auto;overscroll-behavior:contain}.legal-page{width:min(920px,100%);margin:0 auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.legal-page__toolbar{display:flex;justify-content:flex-start}.legal-page__back{width:fit-content;background:#162235;color:#d8f3ff;border:1px solid rgba(125,211,252,.24);box-shadow:0 10px 24px #0208173d}.legal-page__back:hover,.legal-page__back:focus-visible{background:#1b2b43;outline:none}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:100vh;overflow:auto;background:#0a0f1a;color:#94a3b8}.loading-spinner,.send-spinner{width:24px;height:24px;border:3px solid rgba(148,163,184,.2);border-top-color:#22c55e;border-radius:50%;animation:spin .7s linear infinite}.send-spinner{width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;background:#0a0f1a;color:#e5e7eb;transition:grid-template-columns .22s ease}.app-shell--sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:100;padding:.5rem .75rem;border:none;border-radius:12px;background:#0f172ae6;color:#e5e7eb;font-size:1.25rem;cursor:pointer}.sidebar-scrim{display:none}.sidebar{display:flex;flex-direction:column;min-height:0;min-width:0;background:linear-gradient(180deg,#0d1424,#0a0f1a);border-right:1px solid rgba(148,163,184,.08);overflow:hidden;transition:opacity .18s ease,border-color .18s ease}.sidebar--collapsed{opacity:0;pointer-events:none;border-right-color:transparent}.sidebar-top{display:flex;flex-direction:column;flex:0 0 auto;gap:.75rem;padding:1.25rem 1rem 0}.brand-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:16px;background:#1e293b99}.brand-card h1{margin:0;font-size:1.1rem}.brand-sub{margin:.15rem 0 0;color:#64748b;font-size:.78rem}.brand-logo{width:38px;height:38px;border-radius:12px}.user-card{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:14px;background:#1e293b66}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.user-info{flex:1;min-width:0}.user-info strong{display:block;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info span{display:block;color:#64748b;font-size:.75rem}.logout-btn{color:#64748b;width:2rem;height:2rem;border-radius:8px;transition:color .2s,background .2s}.logout-btn:hover{color:#ef4444;background:#ef44441a}.edu-warn{padding:.5rem .75rem;border-radius:10px;background:#eab3081f;color:#fbbf24;font-size:.78rem}.edu-warn--interactive{display:flex;flex-direction:column;gap:.65rem;padding:.75rem;border:1px solid rgba(251,191,36,.18)}.edu-warn-title{color:#fde68a;font-size:.82rem;font-weight:700}.edu-warn-note{color:#fcd34d;font-size:.75rem;line-height:1.5}.edu-relogin-form{display:flex;flex-direction:column;gap:.6rem}.edu-relogin-field{display:flex;flex-direction:column;gap:.35rem;color:#fef3c7;font-size:.75rem;font-weight:600}.edu-relogin-field input{padding:.72rem .85rem;border-radius:12px;border:1px solid rgba(251,191,36,.2);background:#0f172a8c;color:#f8fafc;font:inherit;outline:none}.edu-relogin-field input:focus{border-color:#fbbf248c}.edu-relogin-btn{padding:.75rem .85rem;border:none;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:opacity .2s ease}.edu-relogin-btn:disabled{opacity:.55;cursor:not-allowed}.edu-relogin-error{color:#fecaca;font-size:.75rem}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;border:1px dashed rgba(34,197,94,.3);border-radius:14px;background:#22c55e0f;color:#22c55e;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s}.new-chat-btn:hover{background:#22c55e1f;border-color:#22c55e80}.sidebar-link-btn{display:inline-flex;align-items:center;gap:.48rem;padding:.78rem .9rem;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:#0f172a6b;color:#cbd5e1;font:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.sidebar-link-btn:hover,.sidebar-link-btn:focus-visible{border-color:#38bdf842;background:#38bdf814;color:#e0f2fe;outline:none}.sidebar-link-btn--active{border-color:#38bdf857;background:#38bdf81f;color:#e0f2fe}.plus-icon{font-size:1.15rem}.sidebar-model{flex:0 0 auto;padding:.75rem 1rem}.sidebar-model label{display:block;color:#64748b;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.sidebar-model select{width:100%;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(148,163,184,.12);background:#0f172a80;color:#e5e7eb;font:inherit;font-size:.85rem;outline:none}.thinking-panel{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding:.74rem .8rem;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:#0f172a6b}.thinking-panel__copy{display:flex;flex-direction:column;flex:1 1 auto;gap:.22rem;min-width:0}.thinking-panel__title{color:#e2e8f0;font-size:.84rem;font-weight:700}.thinking-panel__hint{color:#64748b;font-size:.72rem;line-height:1.45}.thinking-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.12rem;border:none;border-radius:999px;background:transparent;cursor:pointer;font:inherit;line-height:0;flex:0 0 auto}.thinking-toggle__track{position:relative;display:inline-flex;align-items:center;width:2.38rem;height:1.36rem;padding:.13rem;border-radius:999px;background:#334155f2;transition:background .2s ease}.thinking-toggle__thumb{width:1.1rem;height:1.1rem;border-radius:50%;background:#e2e8f0;box-shadow:0 2px 10px #0f172a59;transition:transform .2s ease,background .2s ease}.thinking-toggle:hover .thinking-toggle__track,.thinking-toggle:focus-visible .thinking-toggle__track{background:#475569f2}.thinking-toggle:focus-visible{outline:none}.thinking-toggle--on .thinking-toggle__track{background:linear-gradient(135deg,#22c55ef2,#0ea5e9eb)}.thinking-toggle--on .thinking-toggle__thumb{transform:translate(1.02rem);background:#f8fafc}.sidebar-convos{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 .75rem 1rem}.convo-search{position:relative;display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem;padding:.58rem .68rem;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:#0f172a73;color:#94a3b8}.convo-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:#e5e7eb;font:inherit;font-size:.82rem}.section-title{color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.5rem .25rem}.convo-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.empty-hint{padding:1rem .5rem;color:#475569;font-size:.85rem;text-align:center}.convo-item{display:flex;align-items:center;gap:.5rem;width:100%;border:1px solid transparent;border-radius:12px;background:transparent;transition:background .15s}.convo-actions{display:flex;align-items:stretch;gap:.2rem;padding-right:.28rem;opacity:0;transition:opacity .15s ease}.convo-item:hover .convo-actions,.convo-item:focus-within .convo-actions{opacity:1}.convo-action{width:1.9rem;min-width:1.9rem;border-radius:9px;color:#94a3b8}.convo-action:hover,.convo-action:focus-visible{background:#94a3b81f;color:#e2e8f0}.convo-action--danger:hover,.convo-action--danger:focus-visible{background:#ef44441f;color:#fca5a5}.convo-rename{display:flex;align-items:center;gap:.35rem;width:100%;padding:.48rem}.convo-rename input{flex:1;min-width:0;padding:.48rem .55rem;border:1px solid rgba(125,211,252,.32);border-radius:10px;background:#0f172ac7;color:#e5e7eb;font:inherit;font-size:.82rem}.convo-rename .icon-btn{width:1.9rem;height:1.9rem;border-radius:9px;background:#94a3b81a}.convo-item:hover{background:#1e293b80}.convo-item--active{background:#22c55e14;border-color:#22c55e33}.convo-select{flex:1;min-width:0;display:flex;align-items:center;width:100%;padding:.7rem .75rem;border:none;border-radius:12px;background:transparent;color:#e5e7eb;cursor:pointer;text-align:left;font:inherit}.convo-item-body{flex:1;min-width:0;display:flex;flex-direction:column}.convo-title{display:flex;align-items:center;min-height:1.2em;font-size:.88rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-title--pending{color:#cbd5e1}.convo-item-body span{color:#64748b;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-del{align-self:stretch;display:grid;place-items:center;min-width:34px;padding:0 .35rem;border:none;border-radius:10px;background:transparent;color:#94a3b8;font-size:1.1rem;flex-shrink:0;cursor:pointer;opacity:.75;transition:opacity .15s,color .15s,background .15s}.convo-item:hover .convo-del,.convo-del:focus-visible{opacity:1}.convo-del:hover,.convo-del:focus-visible{color:#fca5a5;background:#ef44441f;outline:none}.title-skeleton{display:inline-flex;align-items:center;height:1.2em;max-width:100%;width:clamp(7.5rem,22vw,11.5rem)}.title-skeleton--compact{width:min(100%,8.75rem)}.title-skeleton__bar{display:block;height:.92em;width:100%;border-radius:999px;background:linear-gradient(90deg,#64748b7a,#94a3b8a3);box-shadow:inset 0 0 0 1px #e2e8f014;opacity:.72;animation:title-skeleton-breathe 2.2s ease-in-out infinite;will-change:opacity,filter}.title-skeleton__bar--primary{width:100%}.title-skeleton--compact .title-skeleton__bar{height:.92em}@keyframes title-skeleton-breathe{0%,to{opacity:.48;filter:brightness(.9) saturate(.92)}50%{opacity:.9;filter:brightness(1.18) saturate(1.04)}}.chat-area{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;height:100vh;height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(34,197,94,.06),transparent 40%),#0f1629}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 2rem;border-bottom:1px solid rgba(148,163,184,.08)}.chat-header-left{display:flex;align-items:center;gap:.85rem;min-width:0}.chat-header-copy{min-width:0;overflow:hidden}.sidebar-desktop-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:#0f172a8c;color:#cbd5e1;font:inherit;font-size:1rem;cursor:pointer;flex-shrink:0;transition:background .18s ease,border-color .18s ease,color .18s ease}.sidebar-desktop-toggle:hover,.sidebar-desktop-toggle:focus-visible{background:#1e293bd9;border-color:#22c55e47;color:#e5e7eb;outline:none}.chat-header-title{margin:0;display:flex;align-items:center;max-width:100%;min-height:1.5rem;font-size:1.1rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-title--pending{color:#e2e8f0}.chat-header p{margin:.2rem 0 0;color:#64748b;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-badge{padding:.45rem .85rem;border-radius:999px;background:#22c55e1a;color:#86efac;font-size:.78rem;font-weight:600;white-space:nowrap}.chat-header-badges{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.chat-header-badge--thinking{background:#94a3b81f;color:#cbd5e1}.chat-header-badge--thinking-on{background:#0ea5e924;color:#7dd3fc}.privacy-page{min-height:0;overflow-y:auto;padding:2rem 0 2.5rem}.privacy-shell{width:min(820px,calc(100% - 2rem));margin:0 auto;display:flex;flex-direction:column;gap:1rem}.privacy-card{padding:1.2rem 1.25rem;border:1px solid rgba(148,163,184,.08);border-radius:20px;background:#0f172a94}.privacy-card h3{margin:0;color:#f8fafc;font-size:1rem}.privacy-card p{margin:.5rem 0 0;color:#94a3b8;line-height:1.7;font-size:.9rem}.privacy-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.privacy-hero__copy{flex:1}.privacy-eyebrow{display:inline-flex;align-items:center;margin-bottom:.55rem;padding:.26rem .58rem;border-radius:999px;background:#38bdf81f;color:#7dd3fc;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.privacy-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.privacy-stat{display:flex;flex-direction:column;gap:.45rem}.privacy-stat__label{color:#94a3b8;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.privacy-stat__value{color:#f8fafc;font-size:1.9rem;line-height:1}.privacy-stat__hint{margin:0;color:#64748b;font-size:.8rem;line-height:1.55}.privacy-card__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.privacy-doc-meta{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.75rem;color:#94a3b8;font-size:.78rem}.privacy-doc-sections{display:flex;flex-direction:column;gap:1rem;margin-top:.95rem}.privacy-subsection h4{margin:0;color:#e2e8f0;font-size:.92rem}.privacy-subsection .privacy-policy-list{margin-top:.55rem}@media(max-width:768px){.login-page{place-items:center;padding:1rem}.login-card{width:min(100%,32rem);padding:1.5rem 1.1rem;border-radius:20px}.login-brand{margin-bottom:1.35rem}.login-logo{width:56px;height:56px;border-radius:16px;margin-bottom:.6rem}.login-brand h1{font-size:1.32rem}.login-brand p{font-size:.84rem}.login-form{gap:1rem}.login-form label{font-size:.84rem}.login-form input,.login-form select{padding:.78rem .9rem;border-radius:13px}.login-btn{margin-top:.25rem;padding:.88rem;font-size:.95rem}.login-footer{margin-top:1.1rem;font-size:.76rem;line-height:1.65}.login-page--legal{place-items:start stretch;align-content:start;padding:.85rem}.legal-page{gap:.85rem;padding-bottom:.6rem}}@media(max-width:520px){.login-consent{flex-wrap:wrap;justify-content:center;gap:.18rem .28rem;white-space:normal;text-align:center;font-size:.73rem}.login-consent__input{margin-right:0}.privacy-card{padding:1rem .95rem;border-radius:18px}.privacy-card h3{font-size:.95rem;line-height:1.45}.privacy-card p,.privacy-policy-list,.privacy-doc-meta{font-size:.82rem;line-height:1.7}.privacy-subsection h4{font-size:.86rem;line-height:1.45}.legal-page__toolbar{position:sticky;top:0;z-index:1;align-self:flex-start;width:fit-content;padding-bottom:0;background:none}}.secondary-btn,.danger-btn,.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;border:none;border-radius:999px;padding:.72rem 1.05rem;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease}.secondary-btn{background:#38bdf824;color:#bae6fd}.secondary-btn:hover,.secondary-btn:focus-visible{background:#38bdf833;outline:none}.secondary-btn.legal-page__back{background:#162235;color:#d8f3ff;border:1px solid rgba(125,211,252,.24);box-shadow:0 10px 24px #0208173d}.secondary-btn.legal-page__back:hover,.secondary-btn.legal-page__back:focus-visible{background:#1b2b43;outline:none}.danger-btn{background:#ef444429;color:#fecaca}.primary-btn{background:#22c55e33;color:#bbf7d0}.danger-btn:hover,.danger-btn:focus-visible{background:#ef44443d;outline:none}.secondary-btn:disabled,.danger-btn:disabled,.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1rem;background:#020617b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-dialog{width:min(440px,100%);padding:1.1rem;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#0f172a;box-shadow:0 24px 70px #02081773}.confirm-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.confirm-dialog h3{margin:0;color:#f8fafc;font-size:1rem}.confirm-dialog p{margin:.75rem 0 0;color:#cbd5e1;font-size:.9rem;line-height:1.65}.confirm-dialog__close{width:2rem;height:2rem;border-radius:10px;color:#94a3b8}.confirm-dialog__close:hover{background:#94a3b81f;color:#e2e8f0}.confirm-dialog__details,.reset-summary{margin-top:.85rem;color:#94a3b8;font-size:.82rem}.reset-summary{display:flex;flex-wrap:wrap;gap:.5rem}.reset-summary span,.confirm-dialog__details>span{display:inline-flex;padding:.36rem .58rem;border-radius:999px;background:#0f172ad1}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.2rem}.privacy-card--danger{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-color:#ef44442e;background:linear-gradient(180deg,#450a0a4d,#0f172a99)}.privacy-card--location{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-color:#38bdf824}.privacy-location-status{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.privacy-location-status span{display:inline-flex;width:fit-content;padding:.28rem .62rem;border-radius:999px;background:#0f172a9e;color:#cbd5e1;font-size:.78rem;font-weight:700}.privacy-location-message{margin-top:.75rem;color:#93c5fd;font-size:.82rem;line-height:1.6}.privacy-policy-list{margin:.7rem 0 0;padding-left:1.1rem;color:#cbd5e1;display:grid;gap:.55rem;line-height:1.65}.msg-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2rem 0}.msg-list--empty{padding:1rem 0 .6rem}.msg-row,.empty-state,.composer-area{width:min(860px,calc(100% - 2rem));margin:0 auto}.empty-state{margin-top:clamp(1.75rem,10vh,5rem);text-align:center;color:#94a3b8}.empty-logo{width:52px;height:52px;border-radius:16px;margin-bottom:.9rem}.empty-state h3{margin:0;font-size:1.08rem;color:#e5e7eb}.empty-state>p{margin:.48rem auto 0;max-width:38rem;font-size:.9rem;line-height:1.55}.quick-action-groups{display:grid;gap:1rem;margin-top:1.35rem}.quick-action-group{display:grid;gap:.58rem}.quick-action-group>span{color:#64748b;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.quick-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:0}.quick-actions button{min-height:2.42rem;padding:.62rem 1.08rem;border:1px solid rgba(148,163,184,.12);border-radius:999px;background:#0f172a99;color:#cbd5e1;font:inherit;font-size:.82rem;cursor:pointer;transition:border-color .2s,background .2s}.quick-actions button:hover{border-color:#22c55e4d;background:#22c55e0f}.campus-recommendation-card__header{display:flex;align-items:flex-start;gap:.75rem}.campus-recommendation-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex:0 0 auto;border-radius:8px;background:#0ea5e91f;color:#7dd3fc;border:1px solid rgba(125,211,252,.14)}.campus-recommendation-card h4{margin:0;color:#e2e8f0;font-size:.98rem}.campus-recommendation-card p{margin:.24rem 0 0;color:#94a3b8;font-size:.82rem;line-height:1.65}.campus-recommendation-note,.campus-recommendation-privacy{border-radius:8px;padding:.65rem .75rem;font-size:.8rem;line-height:1.6}.campus-recommendation-card{display:grid;gap:.8rem;padding:.9rem;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061757}.campus-recommendation-meta,.campus-recommendation-context,.campus-recommendation-tags,.campus-recommendation-item__stats{display:flex;flex-wrap:wrap;gap:.45rem}.campus-recommendation-meta span,.campus-recommendation-context span,.campus-recommendation-tags span,.campus-recommendation-item__stats span{display:inline-flex;align-items:center;gap:.3rem;width:fit-content;border-radius:999px;padding:.22rem .52rem;background:#0f172a9e;color:#94a3b8;font-size:.72rem;font-weight:700}.campus-recommendation-context{padding-top:.15rem}.campus-recommendation-note{color:#fde68a;background:#713f1229;border:1px solid rgba(250,204,21,.14)}.campus-recommendation-list{display:grid;gap:.62rem}.campus-recommendation-item{display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.65rem;padding:.75rem;border-radius:8px;background:#0f172a80;border:1px solid rgba(148,163,184,.1)}.campus-recommendation-item__rank{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:8px;background:#22c55e21;color:#86efac;font-size:.78rem;font-weight:900}.campus-recommendation-item__body{min-width:0}.campus-recommendation-item__title{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem}.campus-recommendation-item__title strong{color:#e2e8f0;font-size:.9rem}.campus-recommendation-item__title>span{color:#7dd3fc;font-size:.72rem;font-weight:800}.campus-recommendation-item__stats{margin-top:.45rem}.campus-recommendation-item p{margin-top:.45rem;color:#cbd5e1}.campus-recommendation-tags{margin-top:.45rem}.campus-recommendation-empty{padding:.75rem;border-radius:8px;background:#0f172a80;color:#94a3b8;font-size:.82rem}.campus-recommendation-privacy{color:#93c5fd;background:#1e40af24;border:1px solid rgba(147,197,253,.14)}.msg-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:.85rem;margin-bottom:1.25rem}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#1e293bcc;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.avatar img{width:100%;height:100%;border-radius:12px}.avatar--user{background:linear-gradient(135deg,#2563eb,#38bdf8)}.avatar--bot{background:#22c55e26}.msg-body{min-width:0}.msg-meta{display:flex;align-items:center;gap:.6rem;color:#64748b;font-size:.78rem;margin-bottom:.4rem}.msg-status-pill{display:inline-flex;align-items:center;padding:.16rem .45rem;border-radius:999px;background:#38bdf81f;color:#7dd3fc;font-size:.72rem;font-weight:700}.msg-status-pill--stopped{background:#facc1524;color:#fde68a}.msg-status-pill--error{background:#ef444424;color:#fca5a5}.msg-copy-btn{width:1.7rem;height:1.7rem;margin-left:auto;border-radius:8px;color:#94a3b8;opacity:0;transition:opacity .15s,color .15s,background .15s}.msg-row:hover .msg-copy-btn,.msg-row:focus-within .msg-copy-btn{opacity:1}.msg-copy-btn:hover,.msg-copy-btn:focus-visible{background:#94a3b81f;color:#e2e8f0}.message-actions{--message-action-size: 2rem;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.45rem;opacity:1;transform:none;transition:opacity .15s,transform .15s}.msg-row:hover .message-actions,.msg-row:focus-within .message-actions{opacity:1;transform:none}.message-actions--user{justify-content:flex-start}.message-action-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--message-action-size, 2.25rem);height:var(--message-action-size, 2.25rem);min-width:var(--message-action-size, 2.25rem);aspect-ratio:1;padding:0;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#0f172a73;color:#94a3b8;font:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.message-action-btn:hover,.message-action-btn:focus-visible{border-color:#7dd3fc40;background:#1e293bbf;color:#e2e8f0}.message-action-btn:disabled{cursor:not-allowed;opacity:.5}.msg-bubble{width:min(100%,42rem);padding:.85rem 1rem;border-radius:18px;background:#0f172a99;border:1px solid rgba(148,163,184,.06);overflow:hidden;word-break:break-word}.msg-bubble--thinking{width:fit-content;max-width:100%;display:inline-flex;padding:.62rem .8rem}.msg-bubble--error{border-color:#ef444438;background:#450a0a3d}.msg-bubble--stopped{border-color:#facc1533}.msg-bubble-content{display:flex;flex-direction:column;gap:.75rem}.msg-bubble--thinking .msg-bubble-content{gap:0}.msg-row--user .msg-bubble{width:fit-content;background:linear-gradient(135deg,#2563ebd9,#38bdf8d9);border-color:transparent;margin-right:auto}.markdown-body{line-height:1.75;color:#e5e7eb}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body pre,.markdown-body blockquote,.markdown-body .markdown-table-wrap{margin:.65rem 0 0}.markdown-body p:first-child,.markdown-body ul:first-child,.markdown-body ol:first-child,.markdown-body pre:first-child,.markdown-body blockquote:first-child,.markdown-body .markdown-table-wrap:first-child{margin-top:0}.markdown-body ul,.markdown-body ol{padding-left:1.35rem}.markdown-body li+li{margin-top:.25rem}.markdown-body a{color:#7dd3fc}.markdown-body a.citation-ref{color:#facc15;font-weight:700;text-decoration:none}.markdown-body a.citation-ref:hover{text-decoration:underline}.markdown-body code{padding:.1rem .35rem;border-radius:6px;background:#0f172abf;font-size:.92em}.markdown-body pre{overflow-x:auto;padding:.85rem .95rem;border-radius:12px;background:#020617c7}.markdown-body pre code{padding:0;background:transparent}.markdown-body blockquote{padding-left:.9rem;border-left:3px solid rgba(148,163,184,.25);color:#cbd5e1}.markdown-table-wrap{overflow-x:auto;border-radius:12px}.markdown-body table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.84rem;background:#0f172a73}.markdown-body th,.markdown-body td{padding:.55rem .7rem;border:1px solid rgba(148,163,184,.12);text-align:left;vertical-align:top}.markdown-body th{background:#1e293bd9;color:#cbd5e1;font-weight:700;white-space:nowrap}.markdown-body td{color:inherit}.msg-row--user .markdown-body,.msg-row--user .markdown-body a{color:#eff6ff}.thinking-indicator{display:inline-flex;align-items:center;padding:.1rem .28rem;font-size:1rem;line-height:1;white-space:nowrap;--thinking-indicator-base: rgba(148, 163, 184, .88);--thinking-indicator-highlight: rgba(226, 232, 240, .98)}.thinking-indicator--inline{margin-top:.15rem;padding:.08rem .24rem;--thinking-indicator-base: rgba(148, 163, 184, .72);--thinking-indicator-highlight: rgba(203, 213, 225, .94)}.thinking-indicator__label{display:inline-block;letter-spacing:.01em;background:linear-gradient(90deg,var(--thinking-indicator-base) 0%,var(--thinking-indicator-base) 30%,var(--thinking-indicator-highlight) 50%,var(--thinking-indicator-base) 70%,var(--thinking-indicator-base) 100%);background-size:400% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:thinking-shimmer 2s linear infinite;will-change:background-position}@keyframes thinking-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.feedback-row{display:flex;gap:.35rem;margin-top:.5rem}.fb-btn{width:var(--message-action-size, 2.25rem);height:var(--message-action-size, 2.25rem);min-width:var(--message-action-size, 2.25rem);aspect-ratio:1;padding:0;border:1px solid rgba(148,163,184,.1);border-radius:8px;background:#0f172a80;color:#94a3b8;transition:background .15s,border-color .15s,color .15s}.fb-btn:hover,.fb-btn:focus-visible{background:#1e293bcc;border-color:#7dd3fc40;color:#e2e8f0}.fb-btn--on{background:#22c55e26;border-color:#86efac47;color:#86efac}.fb-btn--down-on{background:#ef444426;border-color:#f8717157;color:#fca5a5}.tool-card{margin-top:0;padding:.75rem .85rem;border-radius:14px;border:1px solid rgba(148,163,184,.08);background:#1e293b80;overflow:hidden}.tool-card+.tool-card{margin-top:.5rem}.tool-card--running{border-color:#22c55e33}.tool-card--done{border-color:#94a3b81a}.tool-card--stopped{border-color:#facc1533}.tool-card--action{border-color:#38bdf83d}.tool-card--error{border-color:#ef444438}.tool-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tool-card-heading,.tool-card-actions{display:flex;align-items:center;gap:.5rem;min-width:0}.tool-card-icon{font-size:1rem}.tool-card-title{font-size:.82rem;font-weight:700;color:#86efac}.tool-card-summary{display:inline-flex;flex:0 0 auto;padding:.18rem .48rem;border-radius:999px;background:#0f172a9e;color:#94a3b8;font-size:.72rem;font-weight:700}.tool-card--stopped .tool-card-title{color:#fde68a}.tool-card--action .tool-card-title{color:#7dd3fc}.tool-card--error .tool-card-title{color:#fca5a5}.tool-spinner{width:14px;height:14px;border:2px solid rgba(34,197,94,.2);border-top-color:#22c55e;border-radius:50%;animation:spin .7s linear infinite}.tool-card-toggle{display:inline-flex;align-items:center;gap:.28rem;padding:.3rem .6rem;border:none;border-radius:999px;background:#0f172aa6;color:#cbd5e1;font:inherit;font-size:.75rem;cursor:pointer}.tool-card-body{margin-top:.55rem;max-height:min(28rem,60vh);overflow:auto;padding-right:.1rem}.tool-card-query{margin-top:.1rem;color:#94a3b8;font-size:.82rem}.tool-sections{display:flex;flex-direction:column;gap:.7rem;margin-top:.6rem}.tool-section{display:flex;flex-direction:column;gap:.45rem}.tool-section-title{color:#cbd5e1;font-size:.8rem;font-weight:700}.tool-citation-item{padding:.75rem .8rem;border-radius:12px;background:#0f172a6b;border:1px solid rgba(148,163,184,.1);scroll-margin-top:6rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.tool-citation-item--targeted{background:#0891b22e;border-color:#38bdf861;box-shadow:0 0 0 1px #38bdf824}.tool-citation-row{display:flex;align-items:center;gap:.7rem}.tool-citation-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;padding:.25rem .55rem;border-radius:999px;background:#facc151f;color:#fde68a;font-size:.78rem;font-weight:800}.tool-citation-link{display:inline-flex;width:fit-content;color:#38bdf8;font-size:.8rem;font-weight:600;text-decoration:none}.tool-citation-link--inline{flex:1;min-width:0;overflow-wrap:anywhere}.tool-citation-link:hover{text-decoration:underline}.tool-summary{color:#cbd5e1;font-size:.8rem}.tool-link-btn{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.55rem .85rem;border-radius:999px;background:#22c55e24;color:#86efac;font-size:.8rem;font-weight:700;text-decoration:none}.tool-link-btn:hover{background:#22c55e33}.tool-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.tool-links a{color:#38bdf8;font-size:.78rem;word-break:break-all;text-decoration:none}.tool-links a:hover{text-decoration:underline}.memory-empty-state{padding:.75rem .85rem;border-radius:12px;background:#0f172a6b;border:1px solid rgba(148,163,184,.08);color:#cbd5e1;font-size:.82rem}.memory-proposal-card{display:flex;flex-direction:column;gap:.7rem;padding:.75rem .85rem;border-radius:12px;background:#0f172a66;border:1px solid rgba(148,163,184,.1)}.memory-proposal-card .info-card{margin-top:0}.memory-proposal-card .info-value{overflow-wrap:anywhere}.memory-proposal-card--pending_confirmation{border-color:#38bdf838}.memory-proposal-card--saved,.memory-proposal-card--already_saved,.memory-proposal-card--deleted,.memory-proposal-card--already_deleted,.memory-status-badge--saved,.memory-status-badge--already_saved,.memory-status-badge--deleted,.memory-status-badge--already_deleted{border-color:#22c55e33}.memory-proposal-card--dismissed,.memory-proposal-card--not_found{border-color:#94a3b824}.memory-proposal-card--invalid,.memory-proposal-card--unavailable,.memory-proposal-card--error{border-color:#ef44442e}.memory-status-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:.25rem .6rem;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}.memory-status-badge--pending_confirmation{background:#38bdf824;color:#7dd3fc}.memory-status-badge--saved,.memory-status-badge--already_saved,.memory-status-badge--deleted,.memory-status-badge--already_deleted{background:#22c55e29;color:#86efac}.memory-status-badge--dismissed,.memory-status-badge--not_found{background:#94a3b824;color:#cbd5e1}.memory-status-badge--invalid,.memory-status-badge--unavailable,.memory-status-badge--error{background:#ef444424;color:#fca5a5}.memory-action-row{display:flex;flex-wrap:wrap;gap:.55rem}.memory-action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:96px;padding:.55rem .9rem;border-radius:10px;border:1px solid transparent;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.memory-action-btn:hover:not(:disabled){transform:translateY(-1px)}.memory-action-btn:disabled{cursor:wait;opacity:.7}.memory-action-btn--primary{background:#22c55e29;border-color:#22c55e38;color:#bbf7d0}.memory-action-btn--primary:hover:not(:disabled){background:#22c55e38}.memory-action-btn--danger{background:#ef444424;border-color:#ef444433;color:#fecaca}.memory-action-btn--danger:hover:not(:disabled){background:#ef444433}.memory-action-btn--secondary{background:#94a3b81f;border-color:#94a3b82e;color:#e2e8f0}.memory-action-btn--secondary:hover:not(:disabled){background:#94a3b82e}.memory-proposal-note{color:#cbd5e1;font-size:.8rem;line-height:1.65}.memory-proposal-error{padding:.65rem .75rem;border-radius:10px;background:#ef44441f;color:#fecaca;font-size:.8rem}.selection-category{display:flex;flex-direction:column;gap:.6rem;padding:.75rem .85rem;border-radius:12px;background:#0f172a61;border:1px solid rgba(148,163,184,.08)}.selection-category-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.selection-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .6rem;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}.selection-status-badge--open,.selection-status-badge--success{background:#22c55e29;color:#86efac}.selection-status-badge--upcoming,.selection-status-badge--submitted{background:#38bdf824;color:#7dd3fc}.selection-status-badge--closed{background:#94a3b824;color:#cbd5e1}.selection-status-badge--unknown{background:#facc1524;color:#fde68a}.selection-status-badge--error{background:#ef444424;color:#fca5a5}.selection-meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;color:#94a3b8;font-size:.78rem}.selection-note,.selection-result{padding:.7rem .8rem;border-radius:12px;font-size:.82rem;line-height:1.6}.selection-note{background:#0f172a8c;color:#cbd5e1}.cultivate-plan-section{gap:.75rem}.cultivate-plan-note{line-height:1.75}.cultivate-plan-meta{display:flex;flex-wrap:wrap;gap:.45rem}.cultivate-plan-pill{display:inline-flex;align-items:center;justify-content:center;padding:.22rem .55rem;border-radius:999px;background:#38bdf824;color:#bae6fd;font-size:.72rem;font-weight:700;white-space:nowrap}.cultivate-plan-items{display:flex;flex-direction:column;gap:.6rem}.cultivate-plan-item{padding:.75rem .8rem;border-radius:12px;background:#0f172a8c;border:1px solid rgba(148,163,184,.08)}.cultivate-plan-item-title{color:#e2e8f0;font-size:.82rem;font-weight:700}.cultivate-plan-item-content{margin-top:.35rem;color:#cbd5e1;font-size:.82rem;line-height:1.72}.cultivate-plan-outline{display:flex;flex-direction:column;gap:.55rem}.cultivate-plan-outline-row{display:flex;align-items:flex-start;gap:.5rem;padding-left:calc(var(--plan-level, 0) * .95rem)}.cultivate-plan-outline-marker{color:#7dd3fc;line-height:1.5}.cultivate-plan-outline-text{color:#cbd5e1;font-size:.82rem;line-height:1.65}.cultivate-plan-details{margin-top:.15rem}.cultivate-plan-details-body{padding:0 .8rem .8rem}.selection-result--success{background:#22c55e1f;color:#bbf7d0}.selection-result--submitted{background:#38bdf81f;color:#bae6fd}.selection-result--error{background:#ef44441f;color:#fecaca}.data-table-wrap{margin-top:.6rem;overflow-x:auto;overflow-y:auto;max-width:100%;border-radius:10px}.data-table{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th{padding:.5rem .6rem;background:#0f172a99;color:#94a3b8;font-weight:700;text-align:left;white-space:nowrap}.data-table td{padding:.45rem .6rem;border-top:1px solid rgba(148,163,184,.06);color:#e5e7eb}.data-table tr:hover td{background:#22c55e0a}.info-card{margin-top:.6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.4rem;max-width:100%}.info-row{display:flex;gap:.5rem;padding:.35rem 0;font-size:.82rem}.info-label{color:#64748b;white-space:nowrap}.info-value{color:#e5e7eb}.grade-groups{display:flex;flex-direction:column;gap:.65rem}.grade-group{border:1px solid rgba(148,163,184,.08);border-radius:12px;background:#0f172a73}.grade-group summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;cursor:pointer;list-style:none;color:#cbd5e1;font-size:.82rem;font-weight:600}.grade-group summary::-webkit-details-marker{display:none}.grade-group[open] summary{border-bottom:1px solid rgba(148,163,184,.08)}.composer-area{position:relative;padding:.75rem 0 1.25rem}.scroll-bottom-btn{position:absolute;right:-.6rem;top:-2.4rem;display:inline-flex;align-items:center;gap:.38rem;padding:.5rem .75rem;border:1px solid rgba(125,211,252,.22);border-radius:999px;background:#0f172aeb;color:#bae6fd;font:inherit;font-size:.8rem;font-weight:700;box-shadow:0 12px 28px #02081747;cursor:pointer}.err-banner{margin-bottom:.6rem;padding:.7rem 1rem;border-radius:14px;background:#ef44441f;color:#fca5a5;font-size:.88rem}.err-banner--actionable{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.err-banner__actions{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto}.secondary-btn--compact,.primary-btn--compact{padding:.45rem .7rem;font-size:.78rem}.composer-runtime-status{margin-bottom:.55rem;color:#94a3b8;font-size:.82rem;text-align:center}.composer-editing{display:flex;align-items:center;gap:.5rem;width:fit-content;max-width:100%;margin:0 auto .55rem;padding:.48rem .6rem .48rem .7rem;border:1px solid rgba(125,211,252,.18);border-radius:12px;background:#0e74901f;color:#bae6fd;font-size:.82rem;font-weight:700}.composer-editing button{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;padding:0;border:none;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.composer-editing button:hover,.composer-editing button:focus-visible{background:#7dd3fc29}.composer{position:relative;display:flex;gap:.75rem;align-items:flex-end;padding:.85rem 1rem;border-radius:22px;background:#0f172ab3;border:1px solid rgba(148,163,184,.1);transition:border-color .2s}.composer:focus-within{border-color:#22c55e4d}.composer textarea{flex:1;min-height:48px;max-height:180px;resize:none;border:none;outline:none;background:transparent;color:#e5e7eb;font:inherit;line-height:1.6}.composer-status{align-self:center;min-width:4.8rem;color:#64748b;font-size:.75rem;text-align:right}.composer-status--warn{color:#fbbf24}.send-btn{display:grid;place-items:center;width:42px;height:42px;border:none;border-radius:14px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:1.15rem;cursor:pointer;flex-shrink:0;transition:opacity .2s}.send-btn--stop{border:1px solid rgba(251,146,60,.22);background:linear-gradient(135deg,#f97316,#ef4444);font-size:.95rem}.send-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.app-shell,.app-shell--sidebar-collapsed{grid-template-columns:1fr}.sidebar-toggle{display:block;top:calc(env(safe-area-inset-top,0px) + .82rem);left:calc(env(safe-area-inset-left,0px) + .85rem);width:2.45rem;height:2.45rem;padding:0}.sidebar-scrim{position:fixed;inset:0;z-index:80;display:block;border:none;background:#0206178f}.sidebar-desktop-toggle{display:none}.sidebar{position:fixed;inset:0 auto 0 0;width:min(88vw,340px);max-width:calc(100vw - 2.2rem);height:100vh;height:100dvh;z-index:90;transform:translate(-100%);transition:transform .25s ease;opacity:1;pointer-events:auto;border-right-color:#94a3b814}.sidebar--open{transform:translate(0)}.sidebar--collapsed{opacity:1;pointer-events:auto}.sidebar-top{gap:.55rem;padding:calc(env(safe-area-inset-top,0px) + 3.35rem) .8rem 0}.sidebar .brand-card{padding:.58rem .72rem;border-radius:12px}.sidebar .brand-logo{width:32px;height:32px;border-radius:10px}.sidebar .brand-card h1{font-size:1rem}.sidebar .brand-sub,.sidebar .user-info span,.thinking-panel__hint{font-size:.68rem}.sidebar .user-card{padding:.5rem .62rem;border-radius:12px}.sidebar .new-chat-btn,.sidebar .sidebar-link-btn{padding:.64rem .72rem;border-radius:12px}.sidebar-model{padding:.58rem .8rem}.thinking-panel{gap:.55rem;margin-top:.52rem;padding:.58rem .65rem;border-radius:12px}.sidebar-convos{min-height:10rem;padding:0 .65rem calc(env(safe-area-inset-bottom,0px) + .75rem)}.convo-list{min-height:0}.chat-header{min-height:calc(env(safe-area-inset-top,0px) + 4.25rem);padding:.86rem 1rem .86rem calc(env(safe-area-inset-left,0px) + 4.35rem)}.chat-header-left,.chat-header-copy{width:100%}.chat-header-badges{display:none}.privacy-hero,.privacy-card--location,.privacy-card--danger{flex-direction:column}.privacy-stats{grid-template-columns:1fr}.msg-row,.empty-state,.composer-area,.privacy-shell{width:min(100%,calc(100% - 1.5rem))}.msg-list--empty{padding-top:.55rem}.empty-state{margin-top:clamp(2rem,12vh,6rem)}.empty-logo{width:44px;height:44px;margin-bottom:.62rem}.empty-state h3{font-size:1rem}.quick-action-groups{gap:.78rem;margin-top:1.05rem}.quick-actions{gap:.58rem}.quick-actions button{min-height:2.2rem;padding:.53rem .82rem;font-size:.78rem}.convo-actions,.convo-del{opacity:1}.composer{gap:.55rem;padding:.72rem .78rem;border-radius:18px}.composer-status{display:none}.campus-recommendation-item{grid-template-columns:1fr}.scroll-bottom-btn{right:-.35rem}.msg-copy-btn{opacity:1}.message-actions{opacity:1;transform:none}}@media(max-width:640px){.data-table-wrap,.markdown-table-wrap{border:1px solid rgba(148,163,184,.08);border-radius:12px}.data-table,.markdown-body table{min-width:36rem}.data-table{min-width:0}.data-table thead{display:none}.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{padding:.7rem .75rem;border-bottom:1px solid rgba(148,163,184,.08)}.data-table tr:last-child{border-bottom:none}.data-table td{display:grid;grid-template-columns:minmax(5rem,35%) minmax(0,1fr);gap:.65rem;padding:.32rem 0;border-top:none}.data-table td:before{content:attr(data-label);color:#64748b;font-weight:700}.markdown-body table{min-width:34rem}.err-banner--actionable{align-items:stretch;flex-direction:column}.err-banner__actions{justify-content:flex-end}.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__actions>button{width:100%}}@media(max-width:768px)and (max-height:760px){.empty-state{margin-top:clamp(1.25rem,8vh,3.5rem)}.quick-action-groups{gap:.7rem;margin-top:.95rem}.quick-actions{gap:.5rem}.quick-actions button{min-height:2.12rem;padding:.48rem .72rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
