:root{--ink:#172e31;--muted:#637779;--line:#d8e3df;--accent:#1c6860;--paper:#f4f6f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 system-ui,'Microsoft YaHei',sans-serif}header{padding:22px 5%;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;align-items:center}.brand strong{font-size:20px;letter-spacing:1px}small{display:block;color:var(--muted);font-size:12px}.mark{background:var(--accent);color:#fff;border-radius:12px;font:26px Georgia;padding:7px 13px}.notice{padding:9px 5%;background:#e9eee2;color:#526243;font-size:12px}main{max-width:1280px;margin:35px auto;padding:0 28px}h1{font-size:30px;line-height:1.3;margin:0 0 12px}h2{font-size:19px;margin:0 0 15px}h3{font-size:16px;margin:14px 0 5px}p{margin:8px 0 16px}.muted{color:var(--muted)}.login{max-width:480px;margin:55px auto;padding:35px;background:#fff;border:1px solid var(--line);border-radius:15px}.topline{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.tag{display:inline-block;border:1px solid #c5d8cd;background:#edf5ee;color:#34624c;border-radius:20px;padding:3px 10px;font-size:12px}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;margin-bottom:20px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.metric{padding:18px 22px;background:white;border:1px solid var(--line);border-radius:12px}.metric strong{font:32px Georgia;display:block}.metric small{font-size:13px}input,textarea,select{font:inherit;border:1px solid #b7c9c4;border-radius:7px;padding:10px 12px;background:#fff;color:var(--ink);width:100%;margin:5px 0 12px}textarea{resize:vertical;min-height:90px}label{display:block;font-size:13px;font-weight:600}button{font:inherit;border:0;border-radius:7px;padding:9px 16px;background:var(--accent);color:white;cursor:pointer}button:hover{filter:brightness(.93)}button:disabled{opacity:.45;cursor:wait}button.secondary{background:#e9f0ec;color:var(--ink)}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--line)}.buttons{display:flex;gap:9px;flex-wrap:wrap}.check{display:flex;gap:8px;align-items:start;font-weight:400;margin:14px 0}.check input{width:auto;margin-top:7px}.nav{display:flex;gap:8px;margin:20px 0}.nav button{background:transparent;color:var(--muted)}.nav button.active{background:var(--accent);color:#fff}.record{padding:13px 0;border-bottom:1px solid var(--line)}.record button{padding:4px 9px;font-size:12px}.record:last-child{border-bottom:0}.messages{min-height:170px;max-height:590px;overflow:auto;padding-right:7px}.bubble{padding:16px 19px;border-radius:10px;background:#eef4f0;margin:15px 0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{background:#f3f1ec;margin-left:45px}.bubble.teacher{background:#e7eef9}.bubble .who{font-weight:700;font-size:12px;margin-bottom:8px}.refs{font-size:12px;color:#587269;margin-top:10px;white-space:normal}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.evidence{border-left:3px solid #92b8a7;padding-left:13px;margin:15px 0;white-space:pre-wrap}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#edf2ee}td,th{padding:11px;border-bottom:1px solid var(--line);vertical-align:top}details{border-top:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:600}.text{white-space:pre-wrap;overflow-wrap:anywhere}.empty{padding:30px;color:var(--muted);text-align:center}.warning{color:#96601c}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#203b37;color:#fff;padding:12px 22px;border-radius:9px;display:none;z-index:10;max-width:90%}:focus-visible{outline:3px solid #dba857;outline-offset:3px}@media(max-width:800px){header{padding:18px}.brand strong{font-size:16px}.layout,.split{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}main{padding:0 16px;margin-top:24px}.topline{display:block}.nav{overflow:auto}.panel{padding:18px}.brand small{max-width:190px}.bubble.user{margin-left:20px}}

.split{align-items:start}.nav button{flex-shrink:0;white-space:nowrap}#identity{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(max-width:800px){header{gap:12px;align-items:flex-start}.brand strong{font-size:14px}.brand small{max-width:160px;font-size:11px}#identity{font-size:12px;flex-wrap:wrap;max-width:100px}}
.readiness{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#e8f0e7;border:1px solid #cfdfce;padding:16px 20px;border-radius:12px;margin-bottom:20px}.readiness strong{font-size:14px}.readiness small{margin-top:4px}.trial-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px;align-items:start}.trial-tools{margin:18px 0 12px}.trial-output{min-height:560px}.trial-output .messages{max-height:680px}.resource-filters{display:grid;grid-template-columns:minmax(150px,1fr) 105px 105px;gap:8px}.resource-filters input,.resource-filters select{font-size:13px;padding:9px 8px}.resource-list{max-height:760px;overflow:auto;margin-top:14px;padding-right:7px}[hidden]{display:none!important}.katex{font-size:1.12em!important}.katex-display{overflow-x:auto;overflow-y:hidden;padding:9px 0}.bubble .katex-display{text-align:left}.trial-output .empty{padding-top:60px}form small{font-weight:400}@media(max-width:900px){.trial-layout{grid-template-columns:1fr}.resource-filters{grid-template-columns:1fr 1fr}.resource-filters input{grid-column:1/-1}.readiness{align-items:flex-start;flex-wrap:wrap}.trial-output{min-height:350px}.trial-output .topline{display:flex;flex-wrap:wrap}.resource-list{max-height:600px}}
.direct-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.direct-panel{min-height:580px}.direct-panel .messages{min-height:240px;max-height:64vh}.direct-panel form{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.direct-panel .bubble{line-height:1.95}.history-item{background:transparent;color:var(--ink);text-align:left;width:100%;padding:6px 8px;overflow-wrap:anywhere}.history-item.selected{background:#e4efe9}.direct-panel .refs{white-space:normal}.direct-panel .empty{padding:55px 15px}@media(max-width:800px){.direct-layout{grid-template-columns:1fr}.direct-layout>aside{order:2}.direct-panel .messages{max-height:70vh}.direct-panel .topline{display:flex;flex-wrap:wrap}}

/* Question attachments and board-style mathematical typesetting. */
.file-picker{display:inline-flex;align-items:center;margin:0;padding:10px 14px;border:1px solid #b8cfc4;border-radius:8px;background:#edf4ef;cursor:pointer;font-size:14px;font-weight:600}.attachment-editor{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f6f8f5}.attachment-editor .topline{display:flex;margin-bottom:10px;gap:12px}.attachment-editor textarea{font-family:inherit}.question-image{display:block;max-width:min(100%,440px);max-height:300px;object-fit:contain;border-radius:6px;margin:10px 0;background:white}.question-attachment{padding:10px 0;border-top:1px solid var(--line);margin-top:10px}.question-attachment a{overflow-wrap:anywhere}.bubble{line-height:1.9}.bubble .katex{font-size:1.18em!important}.bubble .katex-display{margin:12px 0;text-align:left}.katex-error{color:#96601c!important;font-family:inherit!important}

/* TASK-008: a quiet reading surface for sustained study. */
:root{--ink:#202a3a;--muted:#657084;--line:#e1e6ef;--accent:#356be8;--paper:#f7f8fb}
body{background:var(--paper);font-family:'Microsoft YaHei UI','Microsoft YaHei',system-ui,sans-serif}
header{padding:13px 28px;background:#fff}.brand{gap:10px}.brand strong{font-size:16px;letter-spacing:0}.mark{background:#e9efff;color:#356be8;border-radius:9px;font:24px Georgia;padding:2px 11px}.notice{display:none}
main{max-width:1500px;margin:20px auto;padding:0 24px}main>.topline{margin-bottom:14px}main>.topline h1{font-size:20px;margin:0}main>.topline small{display:none}main>.topline label{display:inline-flex;align-items:center;gap:8px;margin-top:5px}main>.topline select{width:auto;margin:0;padding:5px 8px}
.panel,.metric{border-color:var(--line);box-shadow:none}.panel{border-radius:12px}.tag{border:0;background:#edf2ff;color:#4662a5}.nav button.active{background:#e8efff;color:#2857bf}.nav button{border-radius:8px}button.ghost{color:#4f5c70}input,textarea,select{border-color:#d8dfeb;border-radius:9px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #83a8ff;outline-offset:2px}
.direct-layout{grid-template-columns:240px minmax(0,1fr);gap:0;min-height:calc(100vh - 165px);background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.direct-layout>.panel{border:0;margin:0;border-radius:0}.history-sidebar{background:#f1f3f8;padding:16px;display:flex;flex-direction:column;min-height:100%;max-height:calc(100vh - 165px)}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 14px}.icon-button{color:#64718a;background:transparent;padding:5px 9px;font-size:19px;line-height:1.3}.new-chat{width:100%;text-align:left;background:#fff;color:#3159aa;border:1px solid #dbe4f5;font-weight:600}.history-sidebar input{margin:12px 0 6px;padding:8px 10px;background:#fff}.history-toolbar{display:flex;gap:5px}.history-toolbar button{font-size:12px;padding:5px 8px;border:0}.history-list{overflow:auto;margin-top:8px}.history-list details{border:0;padding:4px 0}.history-list summary{font-size:12px;color:#657084;padding:7px 4px}.history-row{display:flex;align-items:center;position:relative}.history-item{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:8px;padding:8px}.history-item.selected{background:#dfe8fb;color:#2453ba;font-weight:600}.history-menu{flex:none!important;margin:0;padding:0!important}.history-menu summary{font-size:18px!important;list-style:none;padding:2px 6px!important}.history-menu summary::-webkit-details-marker{display:none}.history-menu div{position:absolute;right:0;z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 18px #24365520;min-width:125px}.history-menu div button{display:block;width:100%;text-align:left;background:white;color:var(--ink);font-size:13px}.folder-rename{background:transparent;color:#657084;padding:0 5px}.history-empty{padding:4px 14px}
.direct-panel{display:flex;flex-direction:column;min-height:calc(100vh - 165px);padding:22px max(24px,calc((100% - 880px)/2))}.answer-heading{display:flex;align-items:center;margin-bottom:5px}.answer-heading h2{font-size:16px;margin:0;flex:1}.sidebar-reopen{display:none}.direct-panel .messages{flex:1;min-height:250px;max-height:calc(100vh - 420px);padding:10px 4px}.direct-panel .bubble{background:transparent;padding:16px 0;margin:8px 0;line-height:1.9}.direct-panel .bubble.user{background:#f1f4fa;padding:12px 17px;margin-left:12%;border-radius:17px}.direct-panel .bubble.teacher{border-left:3px solid #7b9cea;padding-left:15px}.direct-panel .empty{padding:90px 12px;color:#69768a}.direct-panel .empty h3{font-size:25px;color:#29364a;font-weight:600}.example{font-size:13px}.direct-panel form{border:1px solid #d9e1ee;border-radius:16px;padding:12px 14px;margin-top:12px;box-shadow:0 4px 20px #172a4510}.direct-panel form textarea[name=question]{border:0;outline:0;min-height:68px;resize:vertical;margin:0;padding:4px}.direct-panel form label{font-weight:400}.direct-panel .file-picker{background:#f3f6fc;border:0;color:#476083;padding:6px 10px}.direct-panel form .buttons{align-items:center}.direct-panel form .buttons small{margin-left:auto}.direct-panel form>small{margin-top:7px}.sidebar-closed{grid-template-columns:1fr}.sidebar-closed .history-sidebar{display:none}.sidebar-closed .sidebar-reopen{display:block}
@media(max-width:800px){header{padding:10px 14px;align-items:center}.brand small{display:none}main{margin:10px auto;padding:0 10px}main>.topline{display:flex}.direct-layout{display:block;min-height:calc(100dvh - 125px)}.history-sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,290px);max-height:none;z-index:20;box-shadow:0 0 0 100vmax #111a2b80}.sidebar-closed .history-sidebar{display:none}.direct-panel{min-height:calc(100dvh - 125px);padding:14px}.sidebar-reopen{display:block}.direct-panel .messages{max-height:none;min-height:35vh}.direct-panel .empty{padding:50px 10px}.direct-panel .empty h3{font-size:21px}.direct-panel form .buttons small{margin-left:0}.direct-panel form>small{font-size:11px}}
.voice-button{background:#f3f6fc;color:#476083;padding:6px 10px}.voice-button.recording{background:#fff0f0;color:#a43f46}.voice-status{color:var(--muted);font-size:12px;margin-top:7px}
.copy-answer{display:block;background:transparent;color:#657084;font-size:12px;padding:4px 0;margin-top:8px}

.student-nav{display:flex;gap:8px;margin:0 0 12px}.student-nav button{background:transparent;color:#657084;padding:7px 12px}.student-nav button.active{background:#e8efff;color:#2857bf}.material-page{min-height:480px}.material-layout{display:grid;grid-template-columns:minmax(230px,0.85fr) minmax(0,1.15fr);gap:24px}.material-row{display:flex;justify-content:space-between;align-items:start;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.material-row p{margin:4px 0;font-size:13px}.material-row .buttons{justify-content:flex-end}.material-row button,.material-row .file-picker{font-size:12px;padding:5px 8px}.material-drop{border:1px dashed #b9c9e5;background:#f8faff;color:#657084;border-radius:10px;padding:14px;text-align:center;font-size:13px}.material-detail{border-left:1px solid var(--line);padding-left:22px}.material-detail iframe,.material-detail video,.material-detail audio{width:100%;border:0;border-radius:8px;background:#f3f5fa}.material-detail iframe{height:500px}.material-detail .text{max-height:380px;overflow:auto}.material-detail form{margin:14px 0}.material-context{font-size:12px;color:#4c68a2}.material-context button{font-size:12px;padding:3px 8px}@media(max-width:800px){.material-layout{grid-template-columns:1fr}.material-detail{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.material-detail iframe{height:55vh}.material-page .topline{display:flex;flex-wrap:wrap}}
@media(max-width:800px){main>.topline>div{min-width:0;flex:1}main>.topline label{white-space:nowrap}main>.topline .tag{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#identity{max-width:none;flex-wrap:nowrap}.brand{min-width:0}}

.message-body{white-space:normal}.message-body p{margin:0 0 12px;white-space:pre-wrap}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{padding-left:1.6em;margin:8px 0 12px}.message-body blockquote{border-left:3px solid #b8c9e7;color:#50627c;margin:10px 0;padding:2px 14px}.message-body pre{white-space:pre;overflow:auto;background:#f3f5f9;border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.direct-panel form textarea[name=question]{max-height:180px;overflow-y:auto}

/* TASK-019 — blue light, quiet type, and a stable reading surface. */
:root{--ink:#24344d;--muted:#586b85;--line:#dce5f2;--accent:#356fde;--paper:#f7faff;--ease-out:cubic-bezier(.22,1,.36,1);--ease-ui:cubic-bezier(.2,.75,.3,1);color-scheme:light}
html{background:#f7faff;min-height:100%;scroll-padding-top:24px}
body{position:relative;isolation:isolate;min-height:100dvh;overflow-x:clip;background:linear-gradient(135deg,#fafcff,#edf3fc 60%,#f8fbff);font:16px/1.85 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;z-index:-2;inset:-24%;pointer-events:none;background:radial-gradient(ellipse at 18% 22%,#8fb5ec99,transparent 43%),radial-gradient(ellipse at 80% 68%,#adc9f4ad,transparent 44%),radial-gradient(ellipse at 48% 42%,#fffffff0,transparent 42%);animation:ambient-flow 8s ease-in-out -2s infinite;will-change:transform}
body::after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(#6388bc07 1px,transparent 1px),linear-gradient(90deg,#6388bc07 1px,transparent 1px);background-size:136px 136px;mask-image:linear-gradient(#0008,transparent 90%)}
@keyframes ambient-flow{0%,100%{transform:translate3d(-8%,-4%,0) scale(1.04)}50%{transform:translate3d(8%,5%,0) scale(1.1)}}
body.ambient-paused::before{animation-play-state:paused}
.ambient-pointer-glow{position:fixed;z-index:-1;left:0;top:0;width:clamp(600px,78vw,1200px);height:clamp(600px,78vw,1200px);border-radius:50%;background:radial-gradient(circle,#4c8fece0 0%,#79acf5b8 25%,#b8d3fb70 50%,transparent 72%);transform:translate3d(50vw,45vh,0) translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity 200ms;will-change:transform}
body.ambient-pointer-active:not(.ambient-paused) .ambient-pointer-glow{opacity:1}
@media(hover:none),(pointer:coarse){.ambient-pointer-glow{display:none}}
header{height:76px;padding:12px clamp(20px,4vw,64px);background:#ffffff70;border-bottom:1px solid #ffffff80;backdrop-filter:blur(12px);gap:20px}
.brand{gap:12px;min-width:0}.brand strong{font-size:17px;font-weight:600;letter-spacing:.01em}.brand small{font-size:11px;color:var(--muted);letter-spacing:.025em}.mark{background:#e5eefc;color:#3b73d1;box-shadow:inset 0 0 0 1px #fff9;border-radius:13px;font:29px Georgia;padding:0;width:42px;height:44px;text-align:center;line-height:44px}
.header-actions{display:flex;align-items:center;gap:18px}#identity{font-size:13px;gap:14px;color:var(--muted)}#identity button{font-size:13px;padding:7px 13px;min-height:36px}.ambient-toggle.icon-button{width:auto;gap:7px;padding:10px 12px;flex-shrink:0;color:#496b9c}.ambient-label{font-size:12px;white-space:nowrap}.ambient-toggle[data-state=running]{background:#e5effb9c}.ambient-toggle[data-state=paused],.ambient-toggle[data-state=system]{color:#65748b}.ambient-toggle[data-state=paused] svg,.ambient-toggle[data-state=system] svg{opacity:.6}
.notice{display:none}main{max-width:1480px;padding:0 28px;margin:22px auto 28px}h1,h2,h3{font-weight:600;text-wrap:balance;letter-spacing:0}h1{font-size:25px}h2{font-size:19px}small{color:var(--muted);font-size:12px}.muted{color:var(--muted)}
.workspace-bar{align-items:center;min-height:44px;margin-bottom:16px}.workspace-bar>div{display:flex;align-items:center;gap:14px;min-width:0}.workspace-bar small{font-size:12px}.workspace-bar h1{font-size:21px;margin:0}.workspace-bar label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:400;color:var(--muted)}.workspace-bar select{font-size:13px;width:auto;max-width:240px;padding:6px 30px 6px 12px;margin:0;background:#ffffff90;border-color:#d6e1f0;border-radius:10px}.chat-workspace .workspace-bar h1,.chat-workspace .workspace-bar small{display:none}.model-mode{font-size:11px;white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}
.panel,.metric,.login{background:#ffffffd9;border:1px solid #fff;border-radius:20px;box-shadow:0 4px 24px #42638b06}.tag{background:#edf3fd;color:#3e65a3;border:0;border-radius:30px;padding:3px 11px;font-weight:400;font-size:11px}
button{background:var(--accent);font-weight:500;border-radius:11px;transition:background-color 160ms,color 160ms,transform 160ms var(--ease-ui);touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover{filter:none}button:not(:disabled):active{transform:scale(.975)}button:disabled{cursor:not-allowed}button.ghost{background:#ffffff80;color:#496486;border:1px solid var(--line)}button.ghost:hover{background:#edf3fd;color:#2e62b4}button.secondary{background:#eaf1fc;color:#385b91}
input,textarea,select{border:1px solid #cedbec;border-radius:11px;background:#ffffffed;color:var(--ink);font-weight:400}input:focus,textarea:focus,select:focus{border-color:#5e91e3}label{font-weight:500}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,label.file-picker:focus-visible{outline:3px solid #6b9ae6;outline-offset:4px}main:focus-visible{outline:0}
.icon-button{width:44px;height:44px;padding:11px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:transparent;color:#566e8f}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{background:#e5edfa;color:#315fa3}
.nav,.student-nav{display:flex;gap:6px;margin:0 0 18px;overflow:auto;scrollbar-width:none}.nav button,.student-nav button{flex-shrink:0;background:transparent;padding:8px 17px;border-radius:12px;font-size:14px;color:#5b708e;font-weight:500;min-height:42px}.nav button:hover,.student-nav button:hover{background:#ffffff70;color:#315fa3}.nav button.active,.student-nav button.active{background:#ffffffce;color:#2f66c2;box-shadow:0 2px 8px #42638b06}
.direct-layout{height:calc(100dvh - 214px);min-height:460px;grid-template-columns:224px minmax(0,1fr);gap:0;border:1px solid #ffffffc9;border-radius:24px;overflow:hidden;align-items:stretch;background:#ffffff45;box-shadow:0 16px 60px #58759b0a}
.direct-layout>.panel{border:0;box-shadow:none;margin:0;border-radius:0}.direct-layout .history-sidebar{background:#f5f8ff8f;border-right:1px solid #d6e2f266!important;padding:20px 14px;min-height:0;max-height:none;height:100%;backdrop-filter:blur(8px)}
.sidebar-heading{padding:0 0 15px 8px;align-items:center;color:#566982}.sidebar-heading strong{font-size:13px;font-weight:500}.sidebar-heading .icon-button{width:36px;height:36px;padding:9px}.new-chat{background:#ffffffb8;border:1px solid #dae4f4;border-radius:12px;color:#3569bd;font-size:13px;padding:11px 14px;min-height:44px}.new-chat:hover{background:white}.history-sidebar input{background:#ffffff7a;font-size:12px;padding:9px 12px;margin-top:14px;border-color:#dce5f2}.history-toolbar{gap:3px}.history-toolbar button{background:transparent;font-size:12px;font-weight:400;padding:7px 9px;min-height:32px}.history-list{margin-top:18px}.history-list summary{font-size:11px;font-weight:400;color:#697b94;padding:7px 8px}.history-row{min-height:42px;gap:4px}.history-item{padding:10px 12px;font-size:12px;font-weight:400;color:#4d6281;border-radius:10px}.history-item.selected{background:#dfeafb9c;color:#2b5fae;font-weight:500}.history-item:hover{background:#e5edfa}.history-menu summary{border-radius:9px}.history-menu summary:focus-visible{outline-offset:-2px}.history-menu div{border-color:#dbe4f2;border-radius:12px;box-shadow:0 8px 30px #30496618}.history-menu div button{min-height:38px;font-weight:400;font-size:12px}.history-empty{font-size:11px;color:#697b94}
.direct-layout .direct-panel{position:relative;background:#ffffffa6;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;padding:18px clamp(22px,5vw,76px) 22px}
.answer-heading{flex:0 0 auto;display:flex;align-items:center;flex-wrap:nowrap!important;gap:12px;min-height:42px;margin:0 0 10px}.answer-heading h2{font-size:12px;font-weight:500;color:#6b7c94;flex:1}.answer-heading .tag{font-size:10px;background:#edf3fc80}.answer-heading #answer-help{margin-left:0}.sidebar-reopen{display:none}.sidebar-closed{grid-template-columns:1fr}.sidebar-closed .sidebar-reopen{display:inline-flex}.sidebar-closed .history-sidebar{display:none}
.direct-panel .messages{flex:1;min-height:0;max-height:none;min-width:0;overflow:auto;padding:10px max(2px,calc((100% - 780px)/2));scrollbar-color:#b9cbe3 transparent;scrollbar-width:thin;overscroll-behavior:contain}
.direct-panel .empty{display:flex;justify-content:center;align-items:flex-end;min-height:0;height:100%;padding:0 0 42px}.direct-panel .empty h3{color:#293c58;font-size:clamp(24px,2.7vw,36px);font-weight:500;letter-spacing:.04em;line-height:1.5;margin:0;text-wrap:balance}
.direct-panel.is-empty .messages{flex:0 1 39%;overflow:visible;min-height:90px}.direct-panel.is-empty{padding-bottom:clamp(36px,8vh,90px)}.direct-panel.is-empty form#direct-answer{margin-top:0}.direct-panel:not(.is-empty) .messages{background:transparent}
.direct-panel .bubble{background:transparent;border:0;box-shadow:none;padding:20px 4px;margin:6px 0 14px;line-height:1.9;color:#283a54;font-size:16px}.direct-panel .bubble.user{background:#eaf1fcaa;border-radius:20px 20px 5px 20px;padding:14px 20px;margin:14px 0 18px auto;width:fit-content;max-width:88%;text-align:left}.direct-panel .bubble .who{font-size:11px;font-weight:500;color:#617796;margin-bottom:14px;letter-spacing:.02em}.direct-panel .bubble.user .who{display:none}.message-body p{margin-bottom:14px;line-height:1.9}.message-body blockquote{border-left:2px solid #b6cbea;color:#506887;padding:4px 16px}.message-body pre{background:#f1f5fb;border:1px solid #e3ebf6}.refs{color:#5e718c;font-size:11px}.refs summary{font-weight:400}.copy-answer{color:#60748f;font-weight:400;font-size:11px;padding:7px 8px;border-radius:8px;margin-left:-8px}.copy-answer:hover{background:#eef3fb}.katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.message-body{min-width:0}.message-body pre{max-width:100%}
.direct-panel form#direct-answer{position:relative;flex-shrink:0;align-self:center;width:100%;max-width:840px;min-width:0;background:#f9fbffb8;border:1px solid #ffffff;border-radius:26px;padding:18px 18px 14px;margin:14px 0 0;box-shadow:0 0 0 1px #cbd9ed85,0 8px 28px #526f9810;transition:background-color 180ms,border-color 180ms}
.direct-panel form#direct-answer:focus-within{background:#ffffffdf;border-color:#95b5e8;box-shadow:0 0 0 1px #95b5e8,0 8px 28px #526f9810}.direct-panel .question-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.direct-panel form#direct-answer textarea[name=question]{font-size:16px;line-height:1.75;min-height:68px;max-height:180px;resize:none;box-shadow:none;outline:0;padding:3px 7px 10px;color:#293e5a;background:transparent;border:0;margin:0;overflow:auto}.direct-panel form#direct-answer textarea::placeholder{color:#637795;opacity:1;font-weight:400}.composer-actions{display:flex;align-items:center;gap:8px;padding-top:5px}.composer-spacer{flex:1}.composer-tool{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:11px;border-radius:50%;background:transparent;color:#617a9d}.composer-tool:hover{background:#e5edf9;color:#315fa3}.composer-tool svg,.send-question svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.composer-tool:disabled{opacity:.45;cursor:not-allowed}
.direct-panel .send-question{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:50%;color:white;background:linear-gradient(145deg,#4c8af0,#3165d4);animation:none;box-shadow:0 3px 10px #3869b126;transition:transform 180ms var(--ease-out),background-color 150ms}.direct-panel .send-question::before{content:"";position:absolute;z-index:-1;inset:-80%;background:linear-gradient(115deg,transparent 30%,#ffffff3d 48%,transparent 65%);transform:translateX(-65%);animation:button-light 6s ease-in-out infinite;pointer-events:none}.direct-panel .send-question:not(:disabled):hover{filter:none;transform:translateY(-2px);background-color:#508aeb}.direct-panel .send-question:not(:disabled):active{transform:scale(.92)}.direct-panel .send-question:disabled{background:#d3dfef;color:#fff;box-shadow:none;opacity:1;cursor:not-allowed}.direct-panel .send-question:disabled::before,.direct-panel form[data-busy] .send-question::before{animation:none;opacity:0}.direct-panel form[data-busy] .send-question{background:#8ba9d6;cursor:wait}.direct-panel form[data-busy] .send-question span{font-size:22px;line-height:1;letter-spacing:1px}
@keyframes button-light{0%,25%{transform:translateX(-65%);opacity:0}45%,55%{opacity:.7}75%,100%{transform:translateX(65%);opacity:0}}
.voice-status:empty{display:none}.voice-status{color:#526986;font-size:12px;margin:8px 6px 0}.voice-button.recording{background:#fff0f1;color:#a2424d}.attachment-editor{border-color:#d9e5f5;background:#f5f8fe;border-radius:15px}.direct-panel #attachment-draft{max-height:24dvh;overflow:auto;overscroll-behavior:contain}.file-picker{background:#edf3fd;color:#315fa3;border-color:#cedcf1;border-radius:11px;font-weight:500}.question-image{max-width:min(100%,440px)}
.material-page,.model-page{padding:28px}.material-page .topline h2{font-size:19px}.material-page .muted{font-size:13px}.material-drop{background:#f5f8fd;border-color:#cad9ed;border-radius:13px;color:#5e7493}.material-row{padding:18px 0;border-color:#e3eaf4}.material-row strong{font-weight:500;font-size:14px}.material-row .buttons{gap:6px}.material-row button,.material-row .file-picker{min-height:34px;border-radius:9px}.material-row small{font-size:11px}.material-detail{border-color:#e1e9f4}.model-page{max-width:900px;margin-left:auto;margin-right:auto}.model-page h2{font-size:20px}.model-status{padding:14px 18px;background:#eff4fc;border-radius:13px;font-size:13px}.model-page details{border-color:#e2eaf6}.model-page #model-price-status:empty{display:none}.metric strong{font-family:inherit;font-weight:500;font-variant-numeric:tabular-nums}.metric-grid{gap:14px}.evidence{border-color:#9cb9e2}.bubble{background:#f1f5fc}.bubble.user{background:#eaf1fc}.bubble.teacher{background:#edf3fd}
.login{max-width:450px;margin:8vh auto 0;padding:40px 42px;background:#ffffffb8;box-shadow:0 16px 70px #506b9410;border:1px solid #fff;border-radius:28px}.login-symbol{width:50px;height:54px;border-radius:15px;background:#e4edfc;color:#3d74d4;text-align:center;font:38px/54px Georgia;margin-bottom:26px}.login h1{font-size:28px;font-weight:500;letter-spacing:.025em;margin-bottom:10px}.login>p.muted{font-size:13px;margin-bottom:28px}.login label{font-size:12px;color:#566b88}.login input{min-height:46px}.login button[type=submit]{width:100%;margin:8px 0 12px;min-height:47px}.login small{font-size:11px;line-height:1.7}
.teacher-help-icon{position:relative;color:#607ea8}.help-dot{position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:#397ce9}.teacher-help-dialog{width:min(560px,calc(100vw - 32px));max-height:80dvh;overflow:auto;overscroll-behavior:contain;border:1px solid white;border-radius:24px;padding:26px;color:var(--ink);background:#fafcff;box-shadow:0 20px 70px #18345324;animation:dialog-enter 220ms var(--ease-out)}.teacher-help-dialog::backdrop{background:#20355238;backdrop-filter:blur(3px)}.teacher-help-dialog>.topline{display:flex;align-items:center}.teacher-help-dialog h2{margin:0;font-size:20px}.teacher-help-reply{border-top:1px solid #dce5f4;padding:18px 0}.teacher-help-reply strong{font-size:12px;font-weight:500;color:#526a8d}.teacher-help-dialog .buttons{margin:18px 0}.teacher-help-dialog .message-body{overflow-wrap:anywhere}.teacher-help-dialog small{font-size:11px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
#toast{background:#2d4569f0;border-radius:13px;font-size:13px;box-shadow:0 8px 30px #24395520;animation:dialog-enter 180ms var(--ease-out);z-index:40}
.skip-link{position:fixed;top:10px;left:20px;z-index:100;padding:8px 14px;border-radius:10px;background:#fff;color:#315fa3;transform:translateY(-150%)}.skip-link:focus{transform:none}
@media(max-width:1100px){.trial-layout{grid-template-columns:300px minmax(0,1fr)}.direct-layout{grid-template-columns:200px minmax(0,1fr)}.sidebar-closed{grid-template-columns:1fr}.direct-layout .direct-panel{padding-left:28px;padding-right:28px}}
@media(max-width:800px){header{height:64px;padding:10px 16px;gap:10px}.brand{gap:9px}.brand strong{font-size:14px}.brand small{display:none}.mark{width:34px;height:38px;font-size:24px;line-height:38px;border-radius:11px}.header-actions{gap:5px}#identity{font-size:11px;gap:7px}#identity button{min-height:34px;padding:5px 9px}.ambient-toggle{width:36px;height:36px;padding:9px}main{margin:12px auto 18px;padding:0 12px}.workspace-bar{gap:10px;margin-bottom:10px;min-height:35px;display:flex}.workspace-bar>div{gap:6px}.workspace-bar select{max-width:180px;font-size:12px}.workspace-bar label{font-size:0;gap:0}.workspace-bar small{display:none}.workspace-bar h1{font-size:18px}.workspace-bar .tag{font-size:10px;max-width:43%;padding:3px 8px}.nav,.student-nav{margin-bottom:12px;gap:4px}.nav button,.student-nav button{font-size:12px;padding:7px 13px;min-height:38px}.direct-layout{display:block;height:calc(100dvh - 190px);min-height:390px;border-radius:21px}.direct-layout .direct-panel{padding:12px 16px 16px;min-height:0;height:100%}.direct-panel.is-empty{padding-bottom:40px}.direct-panel.is-empty .messages{flex-basis:39%;min-height:110px}.direct-panel .empty{padding-bottom:26px}.direct-panel .empty h3{font-size:25px;letter-spacing:.025em}.answer-heading{gap:8px;margin-bottom:2px;min-height:40px}.answer-heading h2{font-size:11px}.answer-heading .tag{display:none}.answer-heading .icon-button{width:40px;height:40px;padding:9px}.sidebar-reopen{display:inline-flex}.direct-layout .history-sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,290px);height:100dvh;max-height:none;z-index:20;background:#f1f6fff5;box-shadow:0 0 0 100vmax #24385855;backdrop-filter:blur(12px)}.sidebar-closed .history-sidebar{display:none}.direct-panel .messages{min-height:0;padding:8px 0}.direct-panel .bubble{font-size:15px;padding:16px 0}.direct-panel .bubble.user{padding:12px 16px;max-width:92%}.direct-panel form#direct-answer{border-radius:23px;padding:13px 12px 10px;margin-top:10px}.direct-panel form#direct-answer textarea[name=question]{font-size:16px;min-height:62px;padding:4px 6px 8px}.composer-actions{gap:5px;padding-top:3px}.composer-tool,.direct-panel .send-question{width:44px;height:44px}.direct-panel #attachment-draft{max-height:24dvh}.material-page,.model-page{padding:22px 17px}.material-layout{gap:16px}.material-row button{min-height:38px}.material-detail{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.trial-layout{grid-template-columns:1fr}.login{padding:30px 26px;margin:5vh auto 0;max-width:420px}.login h1{font-size:26px}.teacher-help-dialog{padding:22px}.teacher-help-dialog .icon-button{width:44px;height:44px}.history-menu summary{min-height:36px;display:flex;align-items:center}.history-toolbar button{min-height:40px}.new-chat{min-height:44px}}
@media(max-height:650px){.direct-layout{min-height:320px}.direct-panel.is-empty .messages{min-height:70px}.direct-panel.is-empty{padding-bottom:20px}.direct-panel .empty{padding-bottom:16px}.direct-panel .empty h3{font-size:24px}}
@media(max-width:800px){.ambient-toggle.icon-button{width:40px;height:40px;padding:9px}.ambient-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}body:not(.ambient-opt-in)::before{transform:none!important}body.ambient-opt-in:not(.ambient-paused)::before{animation:ambient-flow 8s ease-in-out -2s infinite!important}body:not(.ambient-opt-in) .ambient-pointer-glow{opacity:0!important}.direct-panel .send-question::before{opacity:0!important}}
@supports(padding:max(0px)){@media(max-width:800px){.direct-panel{padding-bottom:max(16px,env(safe-area-inset-bottom))}.teacher-help-dialog{margin-bottom:max(auto,env(safe-area-inset-bottom))}}}
.chat-workspace{height:calc(100dvh - 126px);min-height:560px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px}.chat-workspace>.workspace-bar,.chat-workspace>.nav,.chat-workspace>.student-nav{margin-bottom:0}.chat-workspace>.direct-layout{height:100%;min-height:0}.chat-workspace .workspace-bar h1{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.direct-layout .direct-panel.is-empty{background:linear-gradient(145deg,#ffffff64,#ffffff36)}.answer-heading h2{color:#586c89}.direct-panel .bubble .who{color:#586f90}
@media(max-width:800px){.header-actions{min-width:0}#identity{min-width:0;flex-shrink:1;overflow-wrap:anywhere}#identity button{flex-shrink:0}}
@media(max-width:800px){.chat-workspace{height:calc(100dvh - 94px);min-height:500px;gap:8px}.chat-workspace .workspace-bar{min-height:30px}.chat-workspace>.direct-layout{height:100%;min-height:0}}
.history-list summary,.history-empty{color:#5b6e89}.history-menu[open] div{animation:dialog-enter 140ms var(--ease-out)}
.chat-workspace:not(:has(>.nav,>.student-nav)){grid-template-rows:auto minmax(0,1fr)}

.study-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0}.study-tools small{flex:1 1 100%}.study-tools button{min-height:44px}.study-dialog{max-height:85dvh;overflow:auto;max-width:min(640px,94vw);width:640px}.study-dialog textarea{min-height:75px}.study-dialog button{min-height:44px}

/* The teacher's response lab: source beside trial, correction below. */
.answer-lab{color:#23364d}.lab-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:24px 0}.lab-heading h2{font-size:26px;margin:0 0 8px}.lab-heading p{margin:0;color:#53657c}.lab-layout{display:grid;grid-template-columns:minmax(245px,30%) minmax(0,1fr);gap:32px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.lab-sources{border-right:1px solid var(--line);padding-right:26px;min-width:0}.answer-lab h3{font-size:18px;margin:0 0 16px}.lab-work{min-width:0}.lab-sources .file-picker{display:inline-block}.lab-author{font-size:13px;margin-top:14px}.lab-sources .muted,.lab-footnote{font-size:12px;line-height:1.8}.lab-footnote{margin-top:24px;color:#53657c}.lab-video{margin-top:20px}.lab-video video{width:100%;max-height:240px;margin:12px 0;background:#edf2fa;border-radius:10px}.lab-video .text{font-size:13px;line-height:1.8}.lab-work textarea,.lab-work input,.lab-work select{background:#fbfcff}.lab-run-controls,.lab-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lab-run-controls{align-items:end}.lab-run-controls button{margin:12px 0 0;min-height:44px}.lab-run-controls select{margin:6px 0 0}.lab-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 8px}.lab-result{border:1px solid var(--line);border-radius:12px;padding:18px;overflow-wrap:anywhere}.lab-result:only-child{grid-column:1/-1}.lab-result .topline{align-items:start;gap:8px}.lab-result small{font-size:11px}.lab-result .message-body{font-size:14px;line-height:1.9}.lab-result details{font-size:12px}.lab-student{background:#f1f5fc;border-radius:8px;padding:12px;white-space:pre-wrap;line-height:1.7}.lab-edit{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.lab-examples{margin:26px 0;padding:26px;background:white;border:1px solid var(--line);border-radius:18px}.lab-example{padding:18px 0;border-top:1px solid var(--line)}.lab-example>.check{display:flex;align-items:center;gap:10px}.lab-example>.check strong{flex:1}.lab-example p{margin:8px 0}.lab-example .buttons{margin-top:14px}.answer-lab button,.answer-lab .file-picker{min-height:44px}.answer-lab textarea{resize:vertical}.answer-lab .check input{flex:0 0 auto}.answer-lab select{max-width:100%}
@media(max-width:900px){.lab-layout{grid-template-columns:1fr;padding:18px;gap:24px}.lab-sources{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.lab-heading{align-items:start}.lab-heading h2{font-size:23px}.lab-video video{max-height:220px}.lab-examples{padding:18px}}
@media(max-width:560px){.lab-results,.lab-fields,.lab-run-controls{grid-template-columns:1fr}.lab-heading{display:block}.lab-heading>button{margin-top:12px}.lab-example>.check{flex-wrap:wrap}.lab-result{padding:14px}.lab-examples .topline{gap:12px;align-items:start}.lab-examples .tag{white-space:normal}}

.lab-source-fold{border:0;padding:0;margin:0}.lab-source-fold>summary{font-size:18px;font-weight:650;margin:0 0 20px}.lab-source-fold:not([open])>summary{margin-bottom:0}
@media(max-width:560px){body:has(.answer-lab) .workspace-bar{flex-wrap:wrap;gap:8px}body:has(.answer-lab) .workspace-bar>div{display:flex;align-items:center;gap:14px}body:has(.answer-lab) .workspace-bar h1{white-space:nowrap}.lab-sources:has(.lab-source-fold:not([open])){padding-bottom:0;border-bottom:0}}
