.cs-study{display:grid;grid-template-columns:minmax(300px,var(--code-share, 1.15fr)) 16px minmax(300px,var(--chat-share, 1fr));flex:1;min-height:0;min-width:0;overflow:auto}.study-divider{display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;background:var(--surface-2);border-inline:1px solid var(--line);outline-offset:-3px}.study-divider span{width:4px;height:36px;border-radius:4px;background:var(--line-strong)}.study-divider:hover span,.study-divider:focus-visible span,.is-resizing .study-divider span{background:var(--pine)}.study-divider:hover,.study-divider:focus-visible,.is-resizing .study-divider{background:var(--pine-soft)}.cs-study.is-resizing,.cs-study.is-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.cs-conversation{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.chat-language-scope{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;flex:0 0 auto;padding:10px 20px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600}.chat-language-scope span{color:var(--muted);font-weight:400}.workspace-focused .cs-conversation .chat-log{padding:20px}.workspace-focused .cs-conversation .composer{padding:14px 20px}.coding-workspace{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line);background:var(--surface)}.coding-toolbar,.coding-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px}.coding-toolbar label{display:flex;align-items:center;gap:8px}.coding-toolbar select{padding:6px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--ground)}.coding-save,.coding-file span{color:var(--muted)}.coding-editor{flex:1;min-height:100px;overflow:auto;font-size:14px}.coding-editor .cm-editor{height:100%;color:var(--ink);background:var(--ground)}.coding-editor .cm-scroller{overflow:auto;font-family:var(--f-code)}.coding-editor .cm-gutters{color:var(--muted);background:var(--surface-2);border-color:var(--line)}.coding-editor .cm-cursor{border-left-color:var(--ink)}.coding-editor .cm-activeLine,.coding-editor .cm-activeLineGutter{background:var(--pine-soft)}.coding-note{font-size:11px;line-height:1.5;color:var(--muted);padding:0 16px 10px}.cs-conversation .msg{max-width:100%}.cs-conversation .math-code-block{background:var(--ground);padding:12px;border:1px solid var(--line);border-radius:6px;font:12px/1.6 var(--f-code)}.coding-task-form,.coding-task-form label{display:flex;flex-direction:column;gap:8px}.coding-task-form{gap:18px}.playground{height:100dvh;display:flex;flex-direction:column}.playground>header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:20px;border-bottom:1px solid var(--line)}.playground-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(400px,1.4fr) minmax(300px,1fr)}.playground-body>aside{padding:40px;overflow:auto}.playground-body>aside h1{font:48px/1.15 var(--f-display);margin:16px 0 30px}.playground-body>aside p{line-height:1.8;margin:12px 0 24px}@media(max-width:800px){.playground{height:auto;min-height:100dvh}.playground>header{flex-wrap:wrap;gap:12px;padding:12px 16px}.playground-body{flex:none;grid-template-columns:minmax(0,1fr)}.playground-body>.coding-workspace{height:calc(100dvh - 80px);min-height:560px;border-right:0}.playground-body>aside{padding:28px 24px;border-top:1px solid var(--line)}}.workspace-focused:has(.cs-study) .chat-problem{padding:10px 20px;max-height:22%}.workspace-focused:has(.cs-study) .chat-head{padding:10px 20px}.cs-conversation .chat-welcome-logo{display:none}.cs-conversation .chat-open{margin:auto;padding:12px 0}.math-study,.math-conversation{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.teacher-code-review{margin:0 0 24px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.teacher-code-controls{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.teacher-code-controls label{display:grid;gap:6px;font-size:12px}.teacher-code-editor{height:340px;border:1px solid var(--line);border-radius:6px}.teacher-code-review details{margin-top:12px}.teacher-code-review summary{cursor:pointer;font-size:13px}.teacher-code-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 var(--f-code)}.code-changes pre{background:var(--surface-2);padding:12px;border-left:3px solid var(--line-strong)}.tutor-code-edit{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.tutor-code-edit pre{max-height:220px;overflow:auto;white-space:pre-wrap}.coding-import{padding:12px 16px;border-top:1px solid var(--line);background:var(--pine-soft);font-size:12px;max-height:220px;overflow:auto}.coding-import p{overflow-wrap:anywhere;margin:6px 0}.coding-import label{display:block;margin:8px 0}.coding-import input{margin-right:6px}.coding-import>div{display:flex;gap:8px;margin-top:10px}.coding-project{display:flex;flex:1;min-height:120px;overflow:hidden}.coding-explorer{width:190px;max-width:40%;flex:none;min-width:120px;display:flex;flex-direction:column;overflow:auto;border-right:1px solid var(--line);background:var(--surface-2);font-size:12px}.coding-explorer button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer}.coding-explorer button:disabled{opacity:.4;cursor:default}.explorer-heading{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 8px 0 12px}.explorer-heading>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.explorer-tools{display:flex}.explorer-tools button,.explorer-row-action{display:grid;place-items:center;width:25px;height:26px;flex:none;border-radius:4px;color:var(--muted)}.explorer-tools button:hover,.explorer-row-action:hover{color:var(--ink);background:var(--line)}.explorer-root{display:flex;align-items:center;gap:5px;min-height:30px;padding:0 8px;width:100%;text-align:left}.explorer-root strong{font-size:10px;letter-spacing:.04em;font-weight:600}.explorer-root small{margin-left:auto;color:var(--muted);font-size:10px}.explorer-chevron{display:flex}.explorer-chevron.is-open{transform:rotate(90deg)}.explorer-row{display:flex;align-items:center;min-height:29px;border-left:2px solid transparent}.explorer-row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.explorer-row.is-active{background:var(--pine-soft);border-left-color:var(--pine)}.explorer-file{display:flex;align-items:center;gap:7px;flex:1;min-width:0;text-align:left;padding:5px 0 5px 21px;font-size:12px}.explorer-file-icon{display:flex;color:#6194c5;flex:none}.explorer-file-icon.file-h,.explorer-file-icon.file-hpp{color:#ab83c4}.explorer-file-icon.file-py{color:#be9a4d}.explorer-file-icon.file-js,.explorer-file-icon.file-ts{color:#639c8c}.explorer-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explorer-entry{margin-left:auto;color:var(--muted);font-size:11px}.explorer-row-action{opacity:0;margin:0 3px}.explorer-row:hover .explorer-row-action,.explorer-row:focus-within .explorer-row-action{opacity:1}.explorer-new-file{display:flex;align-items:center;gap:4px;padding:4px 5px 4px 21px}.explorer-new-file>svg{flex:none;color:var(--muted)}.explorer-new-file input{min-width:0;width:100%;padding:4px;font-size:12px;border:1px solid var(--pine);background:var(--ground);color:var(--ink)}.explorer-footer{margin-top:auto;padding:14px 10px 10px;color:var(--muted);font-size:10px}.explorer-footer label{display:grid;gap:5px;letter-spacing:.05em}.explorer-footer select{width:100%;min-width:0;padding:5px;font-size:11px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:3px}.explorer-footer>button{margin-top:10px;font-size:11px}.coding-editor-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.coding-tabbar{height:36px;flex:none;display:flex;background:var(--surface-2);border-bottom:1px solid var(--line)}.coding-active-tab{display:flex;align-items:center;gap:7px;padding:0 14px;max-width:100%;font-size:12px;background:var(--ground);border-top:2px solid var(--pine);border-right:1px solid var(--line)}.coding-active-tab span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coding-active-tab svg{flex:none;color:var(--pine)}
