@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/roboto-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/roboto-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/roboto-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/roboto-700.ttf) format('truetype');
}
:root{font-family:system-ui,Arial,sans-serif;color:#f3f3ef;background:#111b29}*{box-sizing:border-box}body{margin:0}a{color:#a9e4ef}button{cursor:pointer;background:#f5c94e;color:#162132;border:0;border-radius:9px;padding:12px 18px;font-weight:750}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#d4e7ed}.eyebrow{letter-spacing:.17em;font-size:.71rem;color:#82d4da;font-weight:800}h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.03;margin:.25em 0}h1 em{color:#f5c94e;font-style:normal}h2{margin:.3em 0}p{color:#b7c5ce;line-height:1.5}.small{font-size:.83rem}.entry{max-width:600px;margin:8vh auto;padding:28px}.entry>p{max-width:480px}form label{display:block;font-size:.88rem;font-weight:700;margin:14px 0}input,textarea{display:block;width:100%;background:#f9faf6;color:#142232;border:1px solid #8195a2;border-radius:8px;padding:12px;font:inherit;margin-top:6px}textarea{resize:vertical}output{display:block;min-height:1.6em;color:#ffbd9a;margin-top:10px}header{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #324255}header strong{letter-spacing:.11em}.workspace{display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1.45fr);gap:18px;padding:18px;height:calc(100vh - 62px)}.panel,.card{border:1px solid #33465a;border-radius:16px;background:#1b2939;padding:20px}.conversation{display:flex;flex-direction:column;min-height:0}.conversation h1{font-size:2rem}#messages{flex:1;overflow:auto;border-block:1px solid #35485b;padding:12px 0;margin:12px 0}.msg{background:#27394b;border-radius:10px;padding:10px 12px;margin:10px 0;white-space:pre-wrap;font-size:.87rem;max-height:310px;overflow:auto}.msg.user{background:#3e472f}.msg strong{display:block;margin-bottom:6px}.result{overflow:auto;min-height:0}.resulthead{display:flex;justify-content:space-between;align-items:center;gap:10px}iframe{background:#fff;width:100%;height:47vh;border:0;border-radius:8px}.art{border-top:1px solid #35485b;margin-top:18px;padding-top:18px}.assets{display:flex;gap:10px;flex-wrap:wrap}.asset{width:110px}.asset img{width:110px;height:100px;object-fit:cover;border-radius:6px}.asset a{font-size:.8rem}.admin{max-width:800px;margin:40px auto;padding:20px}.card{margin:20px 0}.row{display:flex;gap:16px}.row>*{flex:1}.activity{border:1px solid #40536a;border-radius:9px;padding:14px;margin:10px 0}@media(max-width:850px){.workspace{height:auto;display:block}.panel{margin-bottom:18px}#messages{height:260px}.row{display:block}}
/* Conversational student workspace */
.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}
.chat-page{background:#f7f8fa;color:#1b2838}.chat-header{height:65px;padding:10px 20px;background:#fff;color:#17243a;border-bottom:1px solid #e1e6ec}.chat-header strong{display:block;letter-spacing:0;font-size:1.04rem}.header-subtitle{font-size:.78rem;color:#647489}.header-actions{display:flex;align-items:center;gap:16px;font-size:.78rem;color:#637389}.header-actions .secondary{padding:8px 12px}.chat-layout{display:flex;height:calc(100vh - 65px);min-height:500px}.chat-main{min-width:0;flex:1;display:flex;flex-direction:column}.chat-messages{flex:1;overflow:auto;padding:30px max(24px,calc((100% - 790px)/2)) 18px}.chat-messages .msg{max-height:none;overflow:visible;background:transparent;color:#243245;margin:0 0 19px;white-space:pre-wrap;font-size:.96rem;line-height:1.6;padding:4px 0}.chat-messages .msg strong{font-size:.76rem;color:#657489;margin-bottom:5px}.chat-messages .msg.user{background:#e8eef5;border-radius:17px;padding:13px 17px;margin-left:12%;width:fit-content;max-width:88%;overflow-wrap:anywhere}.chat-messages .msg.user strong{color:#344c68}.chat-messages .msg.assistant{border-bottom:1px solid #e4e8ed;padding-bottom:18px;overflow-wrap:anywhere}.welcome{text-align:center;margin:auto;max-width:650px;padding:13vh 0 25px}.welcome-icon{font-size:2.5rem;color:#397e97}.welcome h1{font-size:clamp(1.8rem,3vw,2.5rem);margin:12px 0}.welcome p{color:#5d6b7a}.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}.suggestions button{background:#fff;color:#273c54;border:1px solid #d6dee6;border-radius:14px;padding:12px 14px;font-weight:600}.composer-wrap{padding:12px max(24px,calc((100% - 790px)/2)) 18px;background:#f7f8fa}.composer{display:flex;align-items:flex-end;gap:10px;padding:8px 8px 8px 14px;border:1px solid #ccd5df;box-shadow:0 3px 17px #1e344311;border-radius:19px;background:#fff}.composer:focus-within{border-color:#4887a5}.composer textarea{background:transparent;border:0;box-shadow:none;margin:0;padding:10px 2px;min-height:48px;max-height:160px;resize:vertical;outline:none}.composer button{width:42px;height:42px;border-radius:13px;flex:none;font-size:1.5rem;padding:0}.composer-footer{display:flex;justify-content:space-between;gap:10px;color:#7b8793;font-size:.72rem;margin:6px 7px 0}.composer-footer output{min-height:0;margin:0;color:#a84733;text-align:right}.project-panel{width:min(45vw,640px);background:#fff;border-left:1px solid #dce3eb;padding:18px;overflow:auto;color:#1d2c3d}.project-panel .eyebrow{color:#207086}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-top h2{margin:5px 0}.text-button{background:transparent;color:#506074;font-size:1.2rem;padding:8px}.project-panel p{color:#667589}.project-panel iframe{height:52vh;border:1px solid #d7e0e8}.download-button{width:100%;margin-top:12px}.project-panel .art{border-color:#dce3eb}.project-panel summary{cursor:pointer;font-weight:700;padding:7px 0}.project-panel input{border-color:#b5c1cb}.project-panel .asset a{color:#1d667d}.chat-layout:not(.preview-open) .project-panel{display:none}.chat-layout:not(.preview-open) .chat-main{width:100%}@media(max-width:900px){.chat-layout.preview-open .project-panel{position:fixed;inset:65px 0 0 auto;width:min(100vw,640px);z-index:5;box-shadow:-10px 0 25px #1c2b3c22}.header-actions #remaining{display:none}.chat-messages{padding:18px 20px}.composer-wrap{padding:10px 14px 14px}.welcome{padding-top:9vh}}
/* Wider, more comfortable chat composer */
.chat-page .composer{min-height:150px;align-items:flex-end;padding:14px 14px 12px 20px;border-radius:22px}.chat-page .composer textarea{min-height:112px;max-height:260px;font-size:1.04rem;line-height:1.55}.chat-page .composer button{width:47px;height:47px;border-radius:14px}.chat-page .chat-messages{padding-top:36px}.chat-page .welcome{padding-top:11vh}.chat-page .suggestions button{min-width:170px}
.chat-page .attach-button{display:flex;align-items:center;justify-content:center;width:40px;height:44px;flex:none;background:transparent;color:#536778;font-size:1.9rem;cursor:pointer;margin:0;border-radius:12px}.chat-page .attach-button:hover{background:#eef3f6}.chat-page .attachment{color:#315d70;background:#e8f3f5;padding:6px 12px;border-radius:9px;font-size:.8rem;cursor:pointer;margin:6px 3px 0;width:fit-content}
/* Keep the browser's native file picker out of the composer; the + label opens it. */
.chat-page input[type="file"]{display:none!important}
.chat-page .attach-button{min-width:44px;width:44px;height:44px;line-height:1;user-select:none}

:root{font-family:Roboto,Arial,sans-serif}button{background:#ffa300}h1 em{color:#ffa300}.eyebrow{color:#ffa300}.welcome-icon{color:#cf4b04}.chat-header strong{color:#004473}.file-choices{display:flex;gap:8px;flex-wrap:wrap}.file-choices button{font-size:.8rem;margin-top:6px}#resume{display:block;margin:16px 0}#resume[hidden]{display:none}

/* Keep the transcript spacing independent of legacy pilot rules. */
.chat-page #messages.chat-messages{border:0;margin:0;padding:30px clamp(28px,4vw,56px) 18px;min-height:0;min-width:0}.chat-page .chat-messages>.msg,.chat-page .chat-messages>.welcome{max-width:790px;margin-left:auto;margin-right:auto}.chat-page .chat-messages>.msg.user{margin-left:auto;margin-right:max(0px,calc((100% - 790px)/2));max-width:min(88%,790px)}.chat-page #reloadPreview{margin-bottom:12px;padding:8px 12px}.chat-page #previewStatus{min-height:1.5em}

.screen-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.screen-buttons button{flex:1}.run-page{background:#fff}.run-page header{height:60px;background:#fff;color:#17243a;border-color:#dce3eb;font-size:.85rem}.run-page #screenFrame{display:block;width:100vw;height:calc(100vh - 60px);border:0;border-radius:0}.run-page #screenFrame:fullscreen{height:100vh;width:100vw;background:#fff}

.lab-brand{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#004473;font-family:Roboto,Arial,sans-serif;letter-spacing:-.025em}.brand-ending{color:#cf4b04}.brand-eyes{display:inline-flex;align-items:center;gap:4px;height:28px;vertical-align:middle}.brand-eyes i{display:block;position:relative;width:19px;height:24px;border:2px solid #004473;border-radius:50%;background:#fff;transform-origin:center}.brand-eyes i:after{content:"";position:absolute;width:8px;height:11px;left:7px;top:5px;border-radius:50%;background:#004473}.ai-working{display:flex;align-items:center;gap:12px;max-width:790px;margin:12px auto 24px;padding:16px 20px;border:1px solid #f6d59d;border-radius:15px;background:#fff8e9;color:#004473;font-weight:700}.ai-working .brand-eyes i{animation:lab-blink 2.8s infinite}.ai-working .brand-eyes i:nth-child(2){animation-delay:.06s}.chat-header .brand-eyes i{animation:lab-blink 7s infinite}.msg strong{font-weight:800}.chat-page .msg.user strong{color:#004473}.chat-page .msg.assistant strong{color:#cf4b04}.request-failed small{display:block;color:#8d290b;margin-top:8px}@keyframes lab-blink{0%,38%,46%,100%{transform:scaleY(1)}42%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.brand-eyes i{animation:none!important}}

.chat-page .chat-messages>.msg.assistant{padding:14px 20px 20px;border-radius:12px;background:#fff}.chat-page .chat-messages>.msg.assistant strong{margin-bottom:10px}@media(max-width:600px){.chat-page #messages.chat-messages{padding-left:18px;padding-right:18px}.chat-page .chat-messages>.msg.assistant{padding-left:16px;padding-right:16px}}
