/* Candidate implementation workspace. Editor token themes live in the local bundle. */
.task-main.coding-task{max-width:1180px}
.implementation-panel{--sans:'DM Sans',sans-serif;min-width:0}
.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px}
.editor-heading h2{font-size:17px;margin:0 0 4px;color:var(--forest);letter-spacing:-.3px}
.editor-heading p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}
.editor-language-label{display:flex;flex-direction:column;gap:5px;color:#50634e;font-size:10px;flex:none;min-width:180px}
.editor-language-label select{font-size:12px;font-weight:500;background:#fff;border:1px solid #cbd7c4;border-radius:7px;padding:9px 30px 9px 11px;min-height:38px;width:100%;color:#263d2d;max-width:260px}
.editor-language-note{display:flex;align-items:center;gap:6px;font-size:10px;color:#718168;line-height:1.7;margin:0 0 16px}
.editor-language-note svg{flex:none}
.editor-workbench{border:1px solid #bfcdb8;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px #16342208}
.editor-workbench .editor-toolbar{border:0;border-radius:0;padding:10px 14px;gap:12px;background:#22362a;color:#dbe8d4;justify-content:space-between;min-height:48px}
.editor-workbench .editor-file{font-size:11px;font-weight:500;white-space:nowrap}
.editor-tool-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.editor-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#d3e0cd;background:transparent;border:1px solid transparent;border-radius:5px;padding:5px 8px;font:16px/1 var(--mono);min-height:30px;cursor:pointer}
.editor-tool span{font:10px/1.2 var(--sans)}
.editor-tool:hover,.editor-tool[aria-pressed=true]{background:#3c5240;border-color:#62765a;color:#fff}
.editor-tool:disabled{opacity:.4;cursor:default}
.editor-tool:focus-visible,.editor-statusbar button:focus-visible{outline:2px solid #c1d6a7;outline-offset:2px}
.editor-settings{display:flex;align-items:center;gap:16px;padding:9px 14px;background:#f1f5ed;border-bottom:1px solid #d5dfcd;flex-wrap:wrap}
.editor-settings label{display:flex;align-items:center;gap:7px;font-size:10px;color:#62715b;white-space:nowrap}
.editor-settings select{font:11px var(--sans);color:#334b34;border:1px solid #cdd8c5;background:#fff;border-radius:5px;padding:5px 23px 5px 7px;min-height:28px}
.editor-settings .editor-wrap-label{margin-left:auto;cursor:pointer}
.editor-settings input[type=checkbox]{accent-color:var(--forest);width:14px;height:14px;margin:0}
.code-editor-surface{min-width:0;overflow:hidden;background:#1e2d24}
.code-editor-surface .cm-editor{height:440px;min-height:360px;font-family:var(--mono)}
.code-editor-surface .cm-scroller{overflow:auto;font-family:var(--mono);line-height:1.8;overscroll-behavior:contain}
.code-editor-surface .cm-content{padding-block:16px;min-height:100%}
.code-editor-surface .cm-line{padding-inline:16px}
.code-editor-surface .cm-editor.cm-focused{outline:2px solid #8fae7d;outline-offset:-2px}
.code-editor-surface .cm-search{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px;font:11px var(--sans)}
.code-editor-surface .cm-search label{display:inline-flex;align-items:center;gap:4px}
.code-editor-surface .cm-search input,.code-editor-surface .cm-search button{font-size:11px;max-width:100%;min-height:27px}
.code-editor-surface .cm-search input[type=checkbox]{width:auto}
.code-editor-shell[hidden],.code-editor-surface[hidden]{display:none}
.editor-workbench .code-editor-shell{border:0;border-radius:0}
.editor-statusbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 14px;background:#edf3e7;border-top:1px solid #d0ddc6;color:#586d4c;font:10px/1.4 var(--mono);min-height:35px}
.editor-statusbar .editor-count{color:#617355;font-size:10px;margin-left:auto}
.editor-statusbar .editor-count.over-limit{color:#a23926}
.editor-statusbar button{font:10px var(--sans);border:1px solid #bdcdb0;border-radius:4px;background:#f9fcf5;color:#47603c;padding:3px 7px;cursor:pointer}
.editor-actions{align-items:center;flex-wrap:wrap}
.editor-actions .editor-reset{margin-left:auto;font:10px var(--sans);color:#6d785f;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;padding:8px;cursor:pointer}
.editor-actions .editor-reset:disabled{opacity:.4;cursor:default}
.editor-hint{font-size:10px;line-height:1.8}
.coding-task.editor-expanded{max-width:none}
.editor-expanded .code-editor-surface .cm-editor{height:70dvh;min-height:480px}
@media(max-width:760px){
  .task-main.coding-task{padding:22px 14px}
  .editor-heading{align-items:start;gap:12px;flex-direction:column}
  .editor-heading h2{font-size:16px}
  .editor-heading p{font-size:10px}
  .editor-language-label{width:100%;min-width:0;flex-direction:row;align-items:center;justify-content:space-between}
  .editor-language-label select{max-width:225px;flex:1;margin-left:12px;font-size:11px}
  .editor-language-note{font-size:9px;margin-top:5px;align-items:start}
  .editor-language-note svg{margin-top:2px}
  .editor-workbench .editor-toolbar{padding:9px 10px;gap:8px}
  .editor-workbench .editor-file{font-size:10px}
  .editor-tool{padding:5px;gap:3px;font-size:15px;min-height:30px}
  .editor-tool span{font-size:9px}
  .editor-settings{padding:9px 10px;gap:8px 12px}
  .editor-settings label{font-size:9px;gap:5px}
  .editor-settings select{font-size:10px;padding-right:18px}
  .editor-settings .editor-wrap-label{margin-left:0}
  .code-editor-surface .cm-editor{height:390px;min-height:320px}
  .code-editor-surface .cm-line{padding-inline:10px}
  .editor-statusbar{font-size:9px;padding:8px 10px;gap:7px}
  .editor-statusbar .editor-count{font-size:9px}
  .editor-statusbar button{font-size:9px}
  .editor-actions{flex-direction:row;gap:8px}
  .editor-actions p{width:100%;order:3;font-size:10px}
  .editor-actions .editor-reset{font-size:10px}
  .editor-hint{font-size:9px}
  .editor-expanded .code-editor-surface .cm-editor{height:65dvh;min-height:390px}
}
