:root{--font-ui:"Segoe UI","Heebo","Assistant",Arial,sans-serif;--font-mono:"Cascadia Code","Consolas","JetBrains Mono",ui-monospace,monospace;--bg:#eef2f5;--surface:#fff;--surface-2:#f6f8fa;--surface-3:#eef1f4;--line:#dfe5ea;--line-strong:#c3ccd4;--ink:#162430;--ink-2:#3f515d;--muted:#6f7f8b;--brand:#0f766e;--brand-strong:#0b5c56;--brand-soft:#e2f3ef;--brand-ring:#8fd3c5;--brand-ink:#0a4d47;--ok:#15803d;--ok-soft:#e3f5e9;--ok-ink:#135c2f;--warn:#b45309;--warn-soft:#fff3df;--warn-ink:#7c3a06;--danger:#b91c1c;--danger-soft:#fdeaea;--danger-ink:#8a1515;--info:#1d4ed8;--info-soft:#e8eefc;--info-ink:#1e3a8a;--term-bg:#0f1b26;--term-ink:#d7e3ec;--term-muted:#7f94a6;--radius:14px;--radius-sm:9px;--radius-xs:6px;--shadow-sm:0 1px 2px #0f1b260f;--shadow:0 1px 2px #0f1b260d,0 10px 30px #0f1b2612;--appbar-h:64px;font-family:var(--font-ui);color:var(--ink);background:var(--bg);font-synthesis:none;font-size:15px;line-height:1.6}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--appbar-h) + 16px)}body{background:var(--bg);min-width:1024px;margin:0}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.3}p{margin:0}a{color:var(--brand);font-weight:600}code,pre,.code-editor,.console-output,.ltr{text-align:left;font-family:var(--font-mono);direction:ltr}code{background:var(--surface-3);unicode-bidi:isolate;border-radius:5px;padding:1px 6px;font-size:.92em}:focus-visible{outline:3px solid var(--brand-ring);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);min-height:38px;color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:7px 16px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:#aab6c0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.btn-soft{background:var(--brand-soft);color:var(--brand-ink);border-color:#bfe3d9}.btn-soft:hover:not(:disabled){background:#d2ece5;border-color:#a7d8ca}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:#0000}.btn-danger{color:var(--danger-ink);background:#fff;border-color:#f0c4c4}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:#e6a3a3}.btn-sm{min-height:32px;padding:4px 12px;font-size:14px}.btn-lg{min-height:46px;padding:10px 22px;font-size:16px}.btn svg{flex:none;width:18px;height:18px}.btn-sm svg{width:16px;height:16px}.chip{background:var(--surface-3);min-height:26px;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex}.chip-ok{background:var(--ok-soft);color:var(--ok-ink)}.chip-warn{background:var(--warn-soft);color:var(--warn-ink)}.chip-danger{background:var(--danger-soft);color:var(--danger-ink)}.chip-info{background:var(--info-soft);color:var(--info-ink)}.chip-brand{background:var(--brand-soft);color:var(--brand-ink)}.chip-outline{border:1px solid var(--line-strong);background:0 0}.chip .dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span,.field-label{color:var(--ink-2);font-size:13.5px;font-weight:600}.input,.select,.textarea,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--ink);padding:8px 12px;transition:border-color .12s,box-shadow .12s}.field textarea{resize:vertical;min-height:88px;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #0f766e22}.field input[dir=ltr],.field textarea[dir=ltr]{text-align:left;font-family:var(--font-mono);direction:ltr;font-size:14px}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f7f8b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:12px;background-repeat:no-repeat;padding-inline-end:36px}.check{color:var(--ink-2);cursor:pointer;align-items:center;gap:9px;min-height:40px;font-weight:600;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--brand);margin:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 18px;display:grid}.form-grid .span-2{grid-column:span 2}.help{color:var(--muted);font-size:13px}.banner{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:12px;margin:0 0 14px;padding:11px 16px;font-weight:600;display:flex}.banner svg{flex:none;width:20px;height:20px}.banner-error,.error-banner{background:var(--danger-soft);color:var(--danger-ink);border-color:#f3c6c6}.banner-notice,.notice-banner{background:var(--ok-soft);color:var(--ok-ink);border-color:#bfe6cb}.error-banner,.notice-banner{border-radius:var(--radius-sm);margin:0 0 14px;padding:11px 16px;font-weight:600;display:block}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-2);padding:36px 24px}.empty strong{color:var(--ink-2);margin-bottom:6px;font-size:16px;display:block}.app{flex-direction:column;min-height:100vh;display:flex}.appbar{z-index:20;height:var(--appbar-h);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 20px;display:grid;position:sticky;top:0}.appbar-start,.appbar-end,.appbar-center{align-items:center;gap:14px;min-width:0;display:flex}.appbar-end{justify-content:flex-end}.appbar-center{justify-content:center}.appbar h1{white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.appbar .divider{background:var(--line);width:1px;height:28px}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-size:17px;font-weight:800;display:flex}.brand-mark{background:var(--brand);color:#fff;width:36px;height:36px;font:700 16px var(--font-mono);direction:ltr;border-radius:10px;flex:none;place-items:center;display:grid}.brand-sub{color:var(--muted);font-size:12.5px;font-weight:500}.role-badge{letter-spacing:.02em;color:var(--brand-ink);background:var(--brand-soft);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700}.save-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:inline-flex}.save-state .dot{background:var(--ok);border-radius:50%;flex:none;width:9px;height:9px}.save-state.saving .dot{background:var(--warn);animation:1s infinite pulse}.save-state.saving{color:var(--warn-ink)}@keyframes pulse{50%{opacity:.35}}.research-id{color:var(--muted);background:var(--surface-3);border-radius:6px;padding:3px 8px;font-size:12.5px}.page-body{flex:1;padding:20px 20px 60px}.page-body-narrow{width:min(1240px,100%);margin-inline:auto}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.card-head h2{font-size:17px}.card-head h3{font-size:15.5px}.card-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-body{padding:20px 22px}.card-body>*+*{margin-top:14px}.subhead{justify-content:space-between;align-items:center;gap:12px;margin:22px 0 10px;display:flex}.subhead h3,.subhead h4{color:var(--ink-2);text-transform:none;font-size:14.5px}.subhead:first-child{margin-top:0}.eyebrow{letter-spacing:.03em;color:var(--brand);text-transform:uppercase;font-size:12.5px;font-weight:700}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-end{justify-content:flex-end}.stack{flex-direction:column;gap:12px;display:flex}.grow{flex:1;min-width:0}.home{flex:1;width:min(1180px,100% - 48px);margin-inline:auto;padding:40px 0 70px}.hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#0b4f4a 0%,#0f766e 60%,#14917f 100%);border-radius:24px;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:40px;padding:48px 56px;display:grid}.hero .eyebrow{color:#aee9d9}.hero h1{letter-spacing:-.5px;margin:12px 0 14px;font-size:46px}.hero p{color:#d6efea;max-width:640px;font-size:19px;line-height:1.65}.hero-steps{direction:rtl;gap:10px;display:grid}.hero-step{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-weight:600;display:flex}.hero-step b{width:30px;height:30px;color:var(--brand-strong);font-family:var(--font-mono);background:#fff;border-radius:9px;place-items:center;display:grid}.status-card{justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:16px 22px;display:flex}.status-copy{align-items:center;gap:14px;display:flex}.status-card h2{font-size:16px}.status-card p{color:var(--muted);font-size:13.5px}.status-dot{background:var(--warn);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 4px #b4530922}.status-dot.online{background:var(--ok);box-shadow:0 0 0 4px #15803d22}.status-dot.offline{background:var(--danger);box-shadow:0 0 0 4px #b91c1c22}.roles{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px;display:grid}.role-card{flex-direction:column;gap:10px;padding:28px;transition:transform .15s,box-shadow .15s;display:flex}.role-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.role-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand);border-radius:14px;place-items:center;margin-bottom:6px;display:grid}.role-icon svg{width:24px;height:24px}.role-card h2{font-size:22px}.role-card p{color:var(--ink-2);flex:1}.role-card .btn{align-self:flex-start;margin-top:8px}.login-wrap{flex:1;place-items:center;padding:40px 20px;display:grid}.login-card{width:min(520px,100%);padding:36px 40px}.login-card h1{margin-bottom:6px;font-size:26px}.login-card .lead{color:var(--muted);margin-bottom:24px}.login-card .field input{letter-spacing:.02em;min-height:46px;font-size:17px}.login-card .stack{gap:16px}.login-code{text-align:center}.login-code input{font-family:var(--font-mono);text-align:center;letter-spacing:.35em!important;min-height:60px!important;font-size:28px!important}.login-steps{gap:8px;margin-bottom:22px;display:flex}.login-steps span{background:var(--line);border-radius:999px;flex:1;height:5px}.login-steps span.on{background:var(--brand)}.student-layout{grid-template-columns:clamp(280px,18vw,380px) minmax(0,1fr) clamp(200px,13vw,270px);align-items:start;gap:16px;padding:16px 16px 60px;display:grid}.study-agent,.study-explorer{top:calc(var(--appbar-h) + 16px);height:calc(100vh - var(--appbar-h) - 32px);flex-direction:column;display:flex;position:sticky;overflow:hidden}.study-main{flex-direction:column;gap:18px;min-width:0;display:flex}.question-card .card-body{padding:24px 28px}.question-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.question-card h2{letter-spacing:-.3px;margin-bottom:10px;font-size:28px}.question-body{white-space:pre-line;color:var(--ink-2);font-size:16px;line-height:1.75}.resource-list{gap:10px;margin-top:18px;display:grid}.resource{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);overflow:hidden}.resource summary{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;font-weight:600;list-style:none;display:flex}.resource summary::-webkit-details-marker{display:none}.resource summary:before{content:"";border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;margin-inline-start:4px;transition:transform .15s;transform:rotate(-45deg)}.resource[open] summary:before{transform:rotate(45deg)}.resource summary code{font-size:14px}.resource pre{border-top:1px solid var(--line);background:#fff;max-height:360px;margin:0;padding:14px 18px;font-size:13.5px;line-height:1.6;overflow:auto}.resource-group{margin-top:20px}.resource-group>summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:8px;font-weight:700;list-style:none;display:flex}.resource-group>summary::-webkit-details-marker{display:none}.resource-group>summary .chip{font-weight:600}.study-section{scroll-margin-top:calc(var(--appbar-h) + 20px)}.study-section .card-head{background:var(--surface-2);padding:14px 24px}.study-section.active .card-head{background:var(--brand-soft);border-color:#cfe9e1}.study-section.inactive{opacity:.82}.study-section.no-sections>.card-head{display:none}.section-title{align-items:center;gap:12px;display:flex}.section-num{background:var(--surface);border:1px solid var(--line-strong);width:34px;height:34px;color:var(--brand);font-weight:800;font-family:var(--font-mono);border-radius:10px;place-items:center;display:grid}.study-section.active .section-num{background:var(--brand);border-color:var(--brand);color:#fff}.section-title h3{font-size:18px}.requirement{white-space:pre-line;border-inline-start:4px solid var(--brand-ring);background:var(--surface-2);border-radius:var(--radius-xs);padding:14px 18px;font-size:15.5px;line-height:1.7}.study-section .card-body{flex-direction:column;gap:18px;display:flex}.study-section .card-body>*{margin:0}.answer-field{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.answer-field.stage{box-shadow:var(--shadow);border:2px solid #bfe3d9;position:relative;overflow:visible}.answer-field.stage>.answer-head{border-radius:12px 12px 0 0}.answer-field.stage>.stage-console{border-radius:0 0 12px 12px}.stage-console{background:var(--term-bg);color:var(--term-ink);box-shadow:none;border-top:1px solid #234;border-radius:0;position:static;overflow:hidden}.stage-console .console-head{padding:9px 18px}.stage-console .console-output{min-height:72px;max-height:260px}.stage-feedback{color:var(--ink);background:#f3faf8;border-top:1px solid #d6ebe5}.stage-feedback .console-head{background:#e8f5f1;border-bottom:1px solid #d6ebe5}.stage-feedback .console-head h2{color:var(--brand-ink)}.stage-feedback .console-head h2 svg{color:var(--brand)}.stage-feedback .console-head p{color:var(--muted)}.stage-feedback .console-head .chip{background:var(--surface-3);color:var(--ink-2)}.stage-feedback .console-head .chip-ok{background:var(--ok-soft);color:var(--ok-ink)}.stage-feedback .console-head .chip-danger{background:var(--danger-soft);color:var(--danger-ink)}.stage-feedback .console-output{font-family:var(--font-ui);color:var(--ink);text-align:right;direction:rtl;font-size:15px;line-height:1.7}.stage-feedback .console-output.empty{color:var(--muted)}.stage-gap{justify-content:center;width:0;height:36px;display:flex;position:absolute;top:-36px;right:36px}.stage-gap span{border-inline-start:3px dashed #a8d4c9;width:0;position:absolute;top:0;bottom:0}.stage-gap span:after{content:"";bottom:-1px;border-top:8px solid #7cc4b3;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;inset-inline-start:-7px}.study-section .card-body>.answer-field.stage+.answer-field.stage{margin-top:22px}.answer-head{background:linear-gradient(90deg,var(--surface-2),var(--brand-soft));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.answer-head .answer-label{align-items:center;gap:10px;font-size:17px;font-weight:800;display:flex}.answer-head .answer-label svg{width:20px;height:20px;color:var(--brand)}.stage-num{background:var(--brand);color:#fff;width:36px;height:36px;font:800 16px var(--font-mono);border-radius:10px;flex:none;place-items:center;display:grid;box-shadow:0 2px 6px #0f766e44}.answer-head .chip{font-size:12.5px}.answer-editor{padding:0}.field-instruction{color:var(--brand-ink);background:#f3faf8;border-bottom:1px solid #d6ebe5;align-items:center;gap:12px;margin:0;padding:14px 18px;font-size:16px;font-weight:600;display:flex}.field-instruction:before{content:"";background:var(--brand);border-radius:3px;flex:none;width:6px;height:24px}.answer-foot{border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;display:flex}.answer-foot .field-actions{display:contents}.field-actions .row{flex-wrap:nowrap;gap:8px;display:flex}.submission-hint{min-width:220px;color:var(--ink-2);flex:1;align-items:center;gap:8px;margin:0;font-size:13.5px;display:flex}.submission-hint svg{width:16px;height:16px;color:var(--muted);flex:none}.field-state{color:var(--muted);white-space:nowrap;font-size:13px}.field-state.ok{color:var(--ok-ink);font-weight:600}.field-state.warn{color:var(--warn-ink);font-weight:600}.locked-note{background:var(--warn-soft);color:var(--warn-ink);align-items:center;gap:10px;padding:10px 16px;font-size:13.5px;font-weight:600;display:flex}.locked-note svg{width:16px;height:16px}.code-editor{background:#fff}.code-editor .monaco-editor,.code-editor .monaco-editor .margin,.code-editor .monaco-editor-background{background:#fbfcfd!important}.code-editor .monaco-editor .lines-content,.code-editor .monaco-editor .view-lines{font-family:var(--font-mono)}.editor-chrome{background:var(--term-bg);color:var(--term-muted);font:12.5px var(--font-mono);direction:ltr;justify-content:space-between;align-items:center;gap:10px;padding:6px 14px;display:flex}.editor-chrome .tab{color:var(--term-ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.editor-chrome .tab:before{content:"";background:var(--brand-ring);border-radius:50%;width:8px;height:8px}.rich-text-editor{background:#fff}.rich-text-toolbar{border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;gap:4px;padding:6px 10px;display:flex}.rich-text-toolbar button{min-width:34px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 10px;font-size:14px;font-weight:600}.rich-text-toolbar button:hover:not(:disabled){background:var(--surface-3)}.rich-text-toolbar button:disabled{opacity:.4;cursor:default}.rich-text-toolbar button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-ink);border-color:#bfe3d9}.rich-text-toolbar .sep{background:var(--line);width:1px;height:22px;margin:5px 4px}.rich-text-content{min-height:var(--rte-min,200px);outline:none;padding:16px 20px;font-size:16px;line-height:1.85}.rich-text-content code{direction:ltr;unicode-bidi:isolate;font-size:.9em}.rich-text-content p{margin:0 0 6px}.rich-text-content p:last-child{margin-bottom:0}.rich-text-content h3{margin:10px 0 6px;font-size:17px}.rich-text-content ul,.rich-text-content ol{margin:6px 0;padding-inline-start:28px}.rich-text-content li{margin:2px 0}.rich-text-content mark{background:#ffe88a;border-radius:3px;padding:0 2px}.rich-text-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none;float:right}.editor-loading{text-align:center;color:var(--muted);padding:40px;font-size:14px}.rich-text{line-height:1.75}.rich-text p{margin:0 0 8px}.rich-text p:last-child{margin-bottom:0}.rich-text ul,.rich-text ol{margin:6px 0;padding-inline-start:26px}.rich-text h3{margin:10px 0 4px;font-size:1.05em}.rich-text code{direction:ltr;unicode-bidi:isolate;font-size:.92em}.rich-text mark{background:#ffe88a;border-radius:3px;padding:0 2px}.rich-text pre{text-align:left;background:var(--surface-3);border-radius:var(--radius-xs);direction:ltr;padding:10px 14px;font-size:13.5px;overflow:auto}.rich-frame,.code-frame{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.rich-frame:focus-within,.code-frame:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e22}.rich-frame .rich-text-content{min-height:var(--rte-min,120px);padding:12px 16px;font-size:15px;line-height:1.7}.rich-field,.code-field{grid-column:1/-1}.section-fields .form-grid .rich-field,.section-fields .form-grid .code-field{grid-column:auto}.study-console{border-radius:var(--radius);background:var(--term-bg);color:var(--term-ink);box-shadow:var(--shadow);border:1px solid #234;position:static;overflow:hidden}.console-head{background:#162635;border-bottom:1px solid #243649;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.console-head h2{color:#fff;align-items:center;gap:10px;font-size:14.5px;display:flex}.console-head h2 svg{width:18px;height:18px;color:var(--brand-ring)}.console-head p{color:var(--term-muted);font-size:12.5px}.console-head .chip{color:#cfe0ec;background:#223446}.console-head .chip-ok{color:#9fe3b8;background:#16452f}.console-head .chip-danger{color:#f5b3b3;background:#4a1d1d}.console-output{white-space:pre-wrap;min-height:96px;max-height:320px;color:var(--term-ink);unicode-bidi:plaintext;margin:0;padding:16px 20px;font-size:13.5px;line-height:1.7;overflow:auto}.console-output.empty{color:var(--term-muted);font-style:italic}.agent-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 18px;display:flex}.agent-icon{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.agent-icon svg{width:22px;height:22px}.agent-head h2{font-size:16px}.agent-head p{color:var(--muted);font-size:12.5px}.agent-context{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--ink-2);gap:3px;padding:10px 18px;font-size:13px;display:grid}.agent-context b{color:var(--ink)}.agent-conversation{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow:auto}.agent-conversation p{white-space:pre-wrap;border-radius:14px;max-width:92%;margin:0;padding:10px 14px;font-size:14px;line-height:1.65}.agent-conversation p strong{color:var(--muted);margin-bottom:3px;font-size:11.5px;font-weight:700;display:block}.agent-user{background:var(--brand-soft);color:var(--brand-ink);border-start-end-radius:4px;align-self:flex-end}.agent-user strong{color:var(--brand)!important}.agent-reply{background:var(--surface-3);border-start-start-radius:4px;align-self:flex-start}.agent-check{color:var(--ink);background:#f3faf8;border:1px solid #bfe3d9}.agent-check.ok strong{color:var(--ok-ink)!important}.agent-check.rejected{background:#fdf4f4;border-color:#f0c4c4}.agent-check.rejected strong{color:var(--danger-ink)!important}.agent-empty{text-align:center;color:var(--muted);max-width:240px;margin:auto;font-size:13.5px;line-height:1.6}.agent-compose{border-top:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.agent-compose textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);resize:vertical;background:#fff;width:100%;min-height:72px;max-height:160px;padding:10px 12px;font-size:14px;line-height:1.5}.agent-compose textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #0f766e22}.agent-compose .row{justify-content:space-between}.agent-compose .help{font-size:12px}.explorer-head{border-bottom:1px solid var(--line);padding:14px 16px 10px}.explorer-head h2{font-size:15px}.explorer-head p{color:var(--muted);font-size:12.5px}.explorer-body{flex:1;padding:10px 10px 16px;overflow:auto}.explorer-task{margin-bottom:14px}.explorer-task h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 4px;font-size:12px;font-weight:700}.study-explorer ul{margin:0;padding:0;list-style:none}.study-explorer li{margin:2px 0}.study-explorer button{text-align:start;border-radius:var(--radius-sm);width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:9px;padding:8px 10px;font-size:14px;font-weight:600;line-height:1.35;display:flex}.study-explorer button:hover{background:var(--surface-2)}.study-explorer button.selected{background:var(--brand-soft);color:var(--brand-ink);border-color:#bfe3d9}.study-explorer .q-num{background:var(--surface-3);width:24px;height:24px;color:var(--ink-2);font:700 12px var(--font-mono);border-radius:7px;flex:none;place-items:center;display:grid}.study-explorer button.selected .q-num{background:var(--brand);color:#fff}.study-explorer .q-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.study-explorer .section-progress{color:var(--brand-ink);background:var(--brand-soft);white-space:nowrap;border-radius:999px;flex:none;padding:3px 6px;font-size:10px;font-weight:700}.study-explorer .section-progress.complete{color:#16603a;background:#d9f4e7}.study-explorer .q-group{align-items:center;gap:9px;padding:8px 10px;font-size:14px;font-weight:700;display:flex}.study-explorer .q-group .q-num{background:var(--surface-3)}.study-explorer .q-children{border-inline-start:2px solid var(--line);margin-inline-start:21px;padding-inline-start:18px}.study-explorer .q-children button{padding:6px 10px;font-size:13.5px;font-weight:500}.explorer-foot{border-top:1px solid var(--line);color:var(--muted);padding:10px 16px;font-size:12.5px}.teacher-grid{gap:20px;display:grid}.class-card .card-head{padding:18px 24px}.class-card .card-head h2{font-size:20px}.join-box{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,#0b4f4a,#0f766e);grid-template-columns:auto 1fr;align-items:center;gap:20px;padding:18px 22px;display:grid}.join-code{font:800 40px/1 var(--font-mono);letter-spacing:.12em;color:var(--brand-strong);direction:ltr;background:#fff;border-radius:12px;padding:12px 20px;display:inline-block}.join-box p{color:#cfece6;margin-bottom:8px;font-size:14px}.join-box .row{gap:10px}.join-box .btn{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.join-box .btn:hover:not(:disabled){background:#ffffff38}.join-box a{color:#fff;word-break:break-all;font-size:13.5px;font-weight:600;font-family:var(--font-mono);direction:ltr;unicode-bidi:isolate}.closed-box{border-radius:var(--radius);background:var(--surface-2);color:var(--muted);border:1px dashed var(--line-strong);padding:18px 22px}.table{border-collapse:collapse;width:100%;font-size:14.5px}.table th{text-align:start;color:var(--muted);letter-spacing:.03em;border-bottom:2px solid var(--line);background:var(--surface-2);padding:8px 12px;font-size:12.5px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.table tr:last-child td{border-bottom:0}.table td.num{font-family:var(--font-mono);text-align:start;font-variant-numeric:tabular-nums;direction:ltr}.table details summary{cursor:pointer;color:var(--brand);font-size:13.5px;font-weight:600}.table .sub-table{background:var(--surface-2);border-radius:var(--radius-xs);margin-top:8px;font-size:13.5px}.table .sub-table td{border-bottom:1px solid #e9eef2;padding:6px 10px}.stat-row{flex-wrap:wrap;gap:14px;display:flex}.stat{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);flex-direction:column;gap:2px;min-width:120px;padding:12px 16px;display:flex}.stat b{font-size:24px;font-family:var(--font-mono);line-height:1.1}.stat span{color:var(--muted);font-size:12.5px}.research-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;padding:20px 20px 60px;display:grid}.research-sidebar{top:calc(var(--appbar-h) + 20px);max-height:calc(100vh - var(--appbar-h) - 40px);flex-direction:column;display:flex;position:sticky;overflow:auto}.sidebar-section{border-bottom:1px solid var(--line);padding:16px 16px 14px}.sidebar-section:last-child{border-bottom:0}.sidebar-section h2{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}.sidebar-section .row{flex-wrap:nowrap}.sidebar-section .row input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex:1;min-width:0;min-height:38px;padding:7px 10px}.plain-list{flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none;display:flex}.plain-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.plain-list li>button{text-align:start;border-radius:var(--radius-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);background:0 0;border:1px solid #0000;flex:1;padding:8px 10px;font-weight:600;overflow:hidden}.plain-list li>button:hover{background:var(--surface-2)}.plain-list button.selected{background:var(--brand-soft);color:var(--brand-ink);border-color:#bfe3d9}.lib-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.lib-list li{border-radius:var(--radius-xs);background:var(--surface-2);justify-content:space-between;gap:8px;padding:7px 10px;display:flex}.lib-list li span{color:var(--muted);font-family:var(--font-mono);font-size:12.5px}.sidebar-section details summary{cursor:pointer;color:var(--brand);margin-top:10px;font-size:13.5px;font-weight:600}.sidebar-section details .stack{margin-top:10px}.research-editor{min-width:0}.editor-toolbar{top:calc(var(--appbar-h) + 20px);z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:12px 20px;display:flex;position:sticky}.editor-toolbar strong{white-space:nowrap;text-overflow:ellipsis;margin-inline-end:auto;font-size:18px;overflow:hidden}.editor-toolbar .meta{color:var(--muted);white-space:nowrap;font-size:13.5px}.editor-block{margin-bottom:18px}.block-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.block-heading h2{font-size:17px}.block-heading h3{color:var(--ink-2);font-size:15px}.inline-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:16px 18px}.inline-card+.inline-card{margin-top:12px}.inline-card .check-label,.check-label{color:var(--ink-2);cursor:pointer;align-items:center;gap:9px;min-height:40px;font-weight:600;display:inline-flex}.check-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);margin:0}.class-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;align-items:end;gap:14px;display:grid}.nested-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:14px;overflow:hidden}.nested-block>summary{cursor:pointer;background:var(--surface-2);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 18px;font-size:16px;font-weight:700;list-style:none;display:flex}.nested-block>summary::-webkit-details-marker{display:none}.nested-block>summary:before{content:"";border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:9px;height:9px;margin-inline-start:2px;transition:transform .15s;transform:rotate(-45deg)}.nested-block[open]>summary:before{transform:rotate(45deg)}.nested-block>summary .chip{font-size:12px;font-weight:600}.nested-block>summary .summary-actions{gap:6px;margin-inline-start:auto;display:flex}.nested-block>.block-body{flex-direction:column;gap:16px;padding:18px 20px;display:flex}.task-block>summary{background:#edf4f2;font-size:17px}.question-block{background:var(--surface);border-color:var(--line);margin-top:12px}.question-block>summary{background:var(--surface-2);font-size:15.5px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-row .grow{flex:1}.workflow-fields{background:var(--surface-2)}.system-prompt{background:#f6f3fb;border-color:#dcd3ea}.system-prompt .field>span{color:#4c3a78}.system-prompt textarea{font-family:var(--font-mono);font-size:14px;line-height:1.6}.system-prompt .help{margin-top:8px}.workflow-table{grid-template-columns:120px auto minmax(220px,1fr) 130px;align-items:center;gap:10px 16px;margin-top:12px;display:grid}.workflow-table .wt-head{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px;font-size:12.5px;font-weight:700}.workflow-table .wt-name{font-weight:700}.workflow-rule{display:contents}.section-fields{background:var(--surface)}.section-fields .form-grid{grid-template-columns:1fr 1fr}.section-head-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head-row .field{flex:1;max-width:420px}.resource-row{grid-template-columns:120px minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.resource-row .kind{color:var(--ink-2);padding-top:36px;font-weight:700}.preview-box{line-height:1.7}.preview-box h2{margin-bottom:4px;font-size:24px}.preview-box>p{color:var(--muted);margin-bottom:18px}.preview-box section{margin-top:18px}.preview-box h3{color:var(--brand-ink);margin-bottom:8px;font-size:17px}.preview-box article{border-inline-start:3px solid var(--brand-ring);background:var(--surface-2);border-radius:0 var(--radius-xs) var(--radius-xs) 0;margin:12px 0;padding:6px 18px}.preview-box h4{margin-bottom:4px;font-size:15.5px}.preview-section{margin-top:8px}.preview-section strong{color:var(--brand-ink);margin-bottom:2px;display:block}.preview-box .files{color:var(--muted);margin-top:6px;font-size:13px}.publications li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.publications li:last-child{border-bottom:0}@media (width<=1280px){.student-layout{grid-template-columns:280px minmax(0,1fr) 210px;gap:14px;padding:14px}.research-layout{grid-template-columns:260px minmax(0,1fr)}}
