@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.hidden{display:none}.resize{resize:both}.text-sm{font-size:var(--font-size-secondary);line-height:var(--tw-leading,var(--line-height-body))}}:root{--color-background:#f7f8f5;--color-surface:#fff;--color-surface-secondary:#edf1eb;--color-surface-selected:#dce6da;--color-surface-message:#e8eee4;--color-text-primary:#202b29;--color-text-secondary:#53685c;--color-text-muted:#5f6d65;--color-accent:#236451;--color-accent-hover:#194b3c;--color-accent-soft:#dcebe0;--color-on-accent:#fff;--color-border:#d6ded6;--color-border-subtle:#e0e7df;--color-border-selected:#96bba3;--color-error:#903e2a;--color-error-surface:#f7e5df;--color-success:#365d3f;--color-success-surface:#dfeddf;--color-focus:#236451;--color-entry-tint:#e2eee5;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--font-family:Arial, Helvetica, sans-serif;--font-family-mono:Consolas, "Courier New", monospace;--font-size-reading:16px;--font-size-page-title:clamp(28px, 3vw, 40px);--font-size-page-title-compact:28px;--font-size-section-title:20px;--font-size-component-title:14px;--font-size-body:15px;--font-size-secondary:13px;--font-size-metadata:12px;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-title:1.2;--line-height-control:1.5;--line-height-body:1.6;--line-height-message:1.8;--tracking-title:-.035em;--tracking-brand:.05em;--tracking-label:.08em;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-brand:20px;--radius-pill:999px;--shadow-none:none;--shadow-control:0 4px 24px #31432c05;--border-width:1px;--focus-width:3px;--focus-offset:3px;--disabled-opacity:.5;--transition-control:.15s;--composer-input-max-height:192px;--composer-input-mobile-max-height:144px;--font-size-input:16px;--control-height:44px;--control-height-primary:48px;--control-height-compact:36px;--control-height-icon:44px;--control-icon-size:24px;--brand-size:62px;--brand-size-small:35px;--brand-size-compact:28px;--brand-glyph-size:44px;--brand-glyph-size-small:28px;--width-form-field:160px;--width-group-item:130px;--width-login:460px;--width-admin:520px;--width-conversation:760px;--width-composer:820px;--width-role-content:1100px;--width-generated-image:560px;--width-student-sidebar:248px;--width-navigation-drawer:320px;--color-backdrop:#202b2966;--width-sidebar:272px;--width-sidebar-tablet:180px;--width-sidebar-mobile:126px;--height-header:78px;--height-header-compact:65px;font-family:var(--font-family);font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-background);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;line-height:var(--line-height-control);transition:background var(--transition-control)}button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}h1{font-size:var(--font-size-page-title);line-height:var(--line-height-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-title);margin:var(--space-4) 0}h2{font-size:var(--font-size-section-title);line-height:var(--line-height-title);font-weight:var(--font-weight-semibold)}h3{font-size:var(--font-size-component-title);line-height:var(--line-height-control);font-weight:var(--font-weight-semibold)}p{line-height:var(--line-height-body)}.muted{color:var(--color-text-muted)}.eyebrow{font-size:var(--font-size-metadata);letter-spacing:var(--tracking-label);font-weight:var(--font-weight-bold);color:var(--color-accent);margin:var(--space-6) 0 var(--space-3)}.primary{min-height:var(--control-height-primary);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-semibold);border:0}.primary:hover:not(:disabled){background:var(--color-accent-hover)}.stack input,.role-form input,.role-form select{width:100%;min-height:var(--control-height);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:var(--space-3);line-height:var(--line-height-control);font-size:var(--font-size-component-title);font-weight:var(--font-weight-regular)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}.quiet{text-align:left;color:var(--color-text-secondary);padding:var(--space-2) 0;font-size:var(--font-size-metadata);background:0 0;border:0}.badge{font-size:var(--font-size-metadata);line-height:var(--line-height-control);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1-5) var(--space-3);color:var(--color-text-secondary)}.brand-icon{border-radius:var(--radius-brand);width:var(--brand-size);height:var(--brand-size);background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--brand-glyph-size);place-items:center;display:grid}.brand-icon.small{width:var(--brand-size-small);height:var(--brand-size-small);border-radius:var(--radius-md);font-size:var(--brand-glyph-size-small)}.entry{min-height:100dvh;padding:var(--space-7);background:radial-gradient(ellipse at 20% 20%, var(--color-entry-tint), transparent 60%);place-items:center;display:grid}.login-panel{max-width:var(--width-login);width:100%;padding:var(--space-8)}.stack{gap:var(--space-5);margin:var(--space-8) 0 var(--space-4);display:grid}.stack label{gap:var(--space-2);font-size:var(--font-size-component-title);font-weight:var(--font-weight-semibold);display:grid}.stack small{font-size:var(--font-size-metadata);color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.footnote{font-size:var(--font-size-metadata);text-align:center;color:var(--color-text-muted);margin:var(--space-3) 0}.workspace{height:100dvh;display:flex}.workspace aside{width:var(--width-sidebar);background:var(--color-surface-secondary);border-right:var(--border-width) solid var(--color-border);padding:var(--space-7) var(--space-5);flex-direction:column;flex-shrink:0;display:flex}.brand{align-items:center;gap:var(--space-3);font-weight:var(--font-weight-bold);font-size:var(--font-size-secondary);letter-spacing:var(--tracking-brand);margin-bottom:var(--space-6);display:flex}.section-label{font-size:var(--font-size-metadata);letter-spacing:var(--tracking-label);color:var(--color-text-muted);margin:var(--space-8) 0 var(--space-3)}nav{flex:1;overflow-y:auto}.chat-link{gap:var(--space-2);padding:var(--space-3);text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--color-text-secondary);margin:var(--space-1) 0;font-size:var(--font-size-secondary);background:0 0;border:0;display:flex}.chat-link span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-link.selected{background:var(--color-surface-selected);color:var(--color-accent)}.profile{font-size:var(--font-size-secondary);padding-top:var(--space-6);gap:var(--space-1);flex-direction:column;margin-top:auto;display:flex}.main-panel{flex-direction:column;flex:1;min-width:0;display:flex}header{height:var(--height-header);border-bottom:var(--border-width) solid var(--color-border-subtle);padding:0 var(--space-9);color:var(--color-text-muted);font-size:var(--font-size-secondary);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.messages{padding:var(--space-7) max(var(--space-6), calc((100% - var(--width-conversation)) / 2));scroll-behavior:smooth;flex:1;overflow-y:auto}.welcome{text-align:center;min-height:90%;padding:var(--space-8) 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.welcome .primary{margin-top:var(--space-6)}.message{min-width:0;max-width:100%;margin:0 0 var(--space-8);overflow-wrap:anywhere;font-size:var(--font-size-reading);line-height:var(--line-height-body)}.message.user{width:fit-content;max-width:calc(100% - var(--space-6));background:var(--color-surface-message);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-left:auto}.message.assistant{padding:var(--space-1) 0}.message-plain{white-space:pre-wrap}.message-meta{align-items:baseline;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-metadata);line-height:var(--line-height-control);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}.message-author{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.message small{font-size:var(--font-size-metadata);margin-top:var(--space-2);display:block}.message .message-content>:first-child{margin-top:0}.message .message-content>:last-child{margin-bottom:0}.message-content p,.message-content ul,.message-content ol,.message-content blockquote,.message-content pre{margin:0 0 var(--space-4)}.message .message-content :is(h1,h2,h3,h4,h5,h6){margin:var(--space-6) 0 var(--space-3);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-control);letter-spacing:normal}.message-content h1,.message-content h2{font-size:var(--font-size-section-title)}.message-content :is(h3,h4,h5,h6){font-size:var(--font-size-reading)}.message-content strong{font-weight:var(--font-weight-bold)}.message-content em{font-style:italic}.message-content ul{padding-left:var(--space-6);list-style:outside}.message-content ol{padding-left:var(--space-6);list-style:decimal}.message-content li{padding-left:var(--space-1);margin:var(--space-1) 0}.message-content li>:is(ul,ol){margin:var(--space-1) 0}.message-content li>p{margin:var(--space-2) 0}.message-content blockquote{border-left:3px solid var(--color-border-selected);padding-left:var(--space-4);color:var(--color-text-secondary)}.message-content blockquote>:last-child{margin-bottom:0}.message-content a{color:var(--color-accent);text-underline-offset:.2em;text-decoration:underline}.message-content a:hover{color:var(--color-accent-hover)}.message-content code{font-family:var(--font-family-mono);font-size:var(--font-size-component-title)}.message-content :not(pre)>code{background:var(--color-surface-secondary);border-radius:var(--radius-sm);padding:0 var(--space-1);white-space:break-spaces;overflow-wrap:anywhere}.message-content pre{white-space:pre;overflow-wrap:normal;background:var(--color-surface-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);min-width:0;max-width:100%;padding:var(--space-4);line-height:var(--line-height-body);tab-size:2;overflow-x:auto}.message-content pre code{white-space:inherit;overflow-wrap:normal;background:0 0;padding:0}.message-content hr{border:0;border-top:var(--border-width) solid var(--color-border);margin:var(--space-6) 0}.message.message-image_prompt{margin-bottom:var(--space-3)}.message-image{width:fit-content;max-width:100%;margin:0}.message-image figcaption{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-metadata)}.message-state{margin:0}.message-state-failed{border-left:3px solid var(--color-error);padding:var(--space-2) var(--space-4);color:var(--color-error)}.message-state-failed p{margin:0}.message-state-failed .muted{margin-top:var(--space-1);font-size:var(--font-size-secondary)}.failed{color:var(--color-error)}.composer-wrap{width:100%;max-width:var(--width-composer);padding:var(--space-3) var(--space-8) var(--space-4);flex-shrink:0;align-self:center}.composer{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);box-shadow:var(--shadow-control);display:grid}.composer textarea{resize:none;border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);padding:var(--space-2);min-width:0;min-height:var(--control-height);max-height:min(var(--composer-input-max-height), 22dvh);font-size:var(--font-size-input);line-height:var(--line-height-control);background:0 0;border:0}.composer textarea[readonly]{color:var(--color-text-secondary)}.composer-actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.composer-help{min-width:0;font-size:var(--font-size-metadata);flex:1;margin:0}.composer-submit{min-height:var(--control-height);padding:var(--space-2) var(--space-3);font-size:var(--font-size-secondary);flex-shrink:0}.error,.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-secondary);margin:var(--space-3) 0;background:var(--color-error-surface);color:var(--color-error)}.notice{background:var(--color-success-surface);color:var(--color-success)}.admin-panel{max-width:var(--width-admin);width:100%;margin:var(--space-12) auto;padding:0 var(--space-8);overflow-y:auto}.role-panel{width:100%;padding:var(--space-6) var(--space-8) var(--space-12);max-width:var(--width-role-content);margin:0 auto;overflow-y:auto}.role-panel h1{margin:var(--space-2) 0 var(--space-6)}.role-panel h2{margin:0 0 var(--space-4)}.role-card{background:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);margin:0 0 var(--space-6)}.role-form{align-items:end;gap:var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.role-form label{gap:var(--space-1-5);font-size:var(--font-size-secondary);font-weight:var(--font-weight-semibold);min-width:var(--width-form-field);flex:1;display:grid}.role-form input,.role-form select{padding:var(--space-2) var(--space-3)}.role-form .primary{min-height:var(--control-height);padding-block:var(--space-2)}.table-wrap{overflow-x:auto}.role-card table{border-collapse:collapse;width:100%;font-size:var(--font-size-secondary)}.role-card th,.role-card td{text-align:left;border-bottom:var(--border-width) solid var(--color-border-subtle);padding:var(--space-2);vertical-align:middle}.group-row{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--color-border-subtle);font-size:var(--font-size-secondary);flex-wrap:wrap;display:flex}.group-row>*{min-width:var(--width-group-item)}.list-button{text-align:left;border:var(--border-width) solid var(--color-border);background:var(--color-background);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-2) 0;width:100%;color:var(--color-accent);display:block}.list-button[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-border-selected)}.observer-panel .message{margin:var(--space-4) 0 var(--space-6);max-width:var(--width-conversation)}.observer-panel .message.user{margin-left:0}.mode-switch{justify-self:start;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-secondary);padding:var(--space-1);display:inline-flex}.mode-switch button{min-height:var(--control-height);border:var(--border-width) solid transparent;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-secondary);background:0 0}.mode-switch button[aria-pressed=true]{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.mode-switch button:hover:not(:disabled){background:var(--color-accent-soft)}@media (max-width:700px){.composer textarea{max-height:min(var(--composer-input-mobile-max-height), 22dvh)}.composer .keyboard-hint{display:none}}@media (max-height:560px){.composer-wrap .footnote{display:none}}.generated-image{max-width:min(100%, var(--width-generated-image));object-fit:contain;border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-secondary);width:auto;height:auto;max-height:65dvh;display:block}@media (max-width:700px){.workspace aside{width:var(--width-sidebar-tablet);padding:var(--space-4) var(--space-3)}.brand{font-size:var(--font-size-metadata);gap:var(--space-1-5)}.brand-icon.small{width:var(--brand-size-compact);height:var(--brand-size-compact);flex-shrink:0}header{padding:0 var(--space-4);height:var(--height-header-compact);font-size:var(--font-size-metadata);gap:var(--space-2)}.messages{padding:var(--space-5) var(--space-4)}.composer-wrap{padding:var(--space-3)}.welcome h1{font-size:var(--font-size-page-title-compact)}.welcome p{font-size:var(--font-size-metadata)}.message.user{max-width:calc(100% - var(--space-3))}.profile{font-size:var(--font-size-metadata)}.role-panel{padding:var(--space-4) var(--space-3)}.role-card{padding:var(--space-4)}.role-form label,.group-row>*{min-width:100%}}@media (max-width:460px){.workspace aside{width:var(--width-sidebar-mobile);padding:var(--space-4) var(--space-2)}.brand{letter-spacing:0;flex-direction:column;align-items:flex-start}.workspace aside .primary{min-height:var(--control-height);padding:var(--space-3) var(--space-1);font-size:var(--font-size-metadata)}.chat-link{padding:var(--space-2) var(--space-1)}header>span:first-child{display:none}.login-panel{padding:var(--space-3)}}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.chat-link:focus-visible,.composer textarea:focus-visible{outline-offset:calc(-1 * var(--focus-width))}.student-shell{overflow:hidden}.student-shell .main-panel{min-height:0}.student-shell .student-sidebar{width:var(--width-student-sidebar);min-height:0}.student-shell nav{min-height:0}.student-shell .chat-link{min-height:var(--control-height);align-items:center}.student-shell .chat-link span{min-width:0}.student-shell .profile strong{overflow-wrap:anywhere}.student-header{gap:var(--space-3)}.conversation-context{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.conversation-title{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);display:block;overflow:hidden}.conversation-status{font-size:var(--font-size-metadata)}.shell-button{width:var(--control-height);height:var(--control-height);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-accent);font-size:var(--control-icon-size);flex-shrink:0;place-items:center;display:grid}.shell-button:hover{background:var(--color-accent-soft)}.navigation-toggle{display:none}.student-drawer{max-width:none;max-height:none;width:min(var(--width-navigation-drawer), calc(100% - var(--space-12)));background:var(--color-surface-secondary);height:100dvh;color:var(--color-text-primary);border:0;margin:0;padding:0}.student-drawer[open]{flex-direction:column;display:flex}.student-drawer::backdrop{background:var(--color-backdrop)}.drawer-heading{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-4);display:flex}.drawer-heading h2{font-size:var(--font-size-body);margin:0}.student-shell .student-drawer aside{width:100%;min-height:0;padding:var(--space-4);border:0;flex:1}.student-drawer .brand{font-size:var(--font-size-secondary);flex-direction:row;align-items:center}.student-drawer .eyebrow{margin-top:var(--space-3)}.student-drawer .section-label{margin-top:var(--space-6)}.student-drawer .profile{padding-top:var(--space-3)}.student-drawer .quiet{min-height:var(--control-height)}@media (max-width:1023px){.student-shell .student-sidebar{display:none}.student-header{height:var(--height-header-compact);padding:0 var(--space-4);justify-content:flex-start}.navigation-toggle{display:grid}.student-shell .messages{padding:var(--space-5) max(var(--space-4), calc((100% - var(--width-conversation)) / 2));min-height:0}.student-shell .composer-wrap{padding-left:var(--space-4);padding-right:var(--space-4)}}@media (max-width:460px){.student-header{padding:0 var(--space-3)}.student-shell .messages,.student-shell .composer-wrap{padding-left:var(--space-3);padding-right:var(--space-3)}.student-shell .welcome{padding:var(--space-2) 0}.student-shell .welcome .eyebrow{margin:var(--space-3) 0 var(--space-2)}.student-shell .welcome h1{margin:var(--space-2) 0}.student-shell .welcome .muted{font-size:var(--font-size-secondary)}}.student-shell .messages{scroll-behavior:auto}.history-placeholder{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;min-height:70%;display:flex}.history-placeholder h2,.history-placeholder p{margin:0}.history-placeholder h2{font-size:var(--font-size-section-title)}.activity-mark{color:var(--color-accent);font-size:var(--control-icon-size);flex-shrink:0}.generation-state{align-items:flex-start;gap:var(--space-3);display:flex}.generation-state p{margin:0}.image-generation-state{background:var(--color-surface-secondary);padding:var(--space-4);border-radius:var(--radius-md);max-width:var(--width-generated-image)}.image-generation-state .muted{font-size:var(--font-size-secondary);margin-top:var(--space-1)}.recovery-notice{align-items:center;gap:var(--space-3);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.recovery-notice>div{flex:260px;min-width:0}.recovery-notice p{margin:var(--space-1) 0 0}.recovery-button{min-height:var(--control-height);border:var(--border-width) solid currentColor;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-accent);background:var(--color-surface);font-size:var(--font-size-secondary);max-width:100%}.recovery-button:hover:not(:disabled){background:var(--color-accent-soft)}.message-state-failed .recovery-button{margin-top:var(--space-3)}.latest-button{margin-bottom:var(--space-2)}@media (max-width:460px){.recovery-notice{padding:var(--space-3);margin:0 0 var(--space-2)}.composer-wrap .recovery-notice+.composer~.footnote{display:none}}.text-recovery .recovery-button{margin-top:var(--space-2)}@media (max-height:560px){.composer-wrap .recovery-notice{align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-2)}.composer-wrap .recovery-notice>div{flex-basis:0}.composer-wrap .recovery-notice p{max-height:2em;overflow-y:auto}.composer-wrap:has(.recovery-notice) .composer textarea{max-height:max(var(--control-height), 14dvh)}.student-shell .composer-wrap{padding-block:var(--space-2);max-height:calc(100dvh - var(--height-header-compact));overflow-y:auto}.student-shell .composer{padding:var(--space-2);gap:var(--space-1)}.student-shell .mode-switch{padding:0}.student-shell .composer-wrap .recovery-notice{padding:var(--space-2)}}.student-shell .conversation-context{flex:1}@media (max-width:460px){.student-header{gap:var(--space-2)}}
