.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}
.studio-shell{max-width:1200px;margin:auto;padding:0 32px 36px}.studio-context{display:flex;justify-content:space-between;align-items:center;padding:16px 0 12px;font-size:13px;font-weight:600;letter-spacing:.7px;color:var(--muted)}.studio-context span span{margin:0 12px;color:var(--line)}.studio-stages{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);gap:6px}.studio-stages button{background:none;border:0;border-bottom:3px solid transparent;padding:14px 8px;color:var(--muted);font-size:14px;min-height:56px;text-align:left;display:flex;gap:9px;align-items:center}.studio-stages button>span:first-child{font:12px 'JetBrains Mono',monospace;opacity:.75}.studio-stages button[aria-current]{border-color:var(--accent);color:var(--accent);font-weight:700}.studio-content{padding-top:38px}.studio-content h1{font-size:clamp(2rem,3.7vw,3.1rem);max-width:830px}.studio-content h2{font-size:1.2rem;letter-spacing:-.3px}.studio-content h3{font-size:1rem}.studio-lead{font-size:18px;color:var(--muted);max-width:760px;line-height:1.65;margin-bottom:30px}.studio-content details{padding:15px 0;border-bottom:1px solid var(--line)}.studio-content details p,.studio-content details ul{margin:14px 0 0}.studio-content summary{font-size:14px;min-height:24px}.studio-content button:focus-visible,.studio-content input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}.notice-grid h1{margin-bottom:18px}.mission-rule{padding-left:18px;border-left:3px solid var(--accent);margin:28px 0}.mission-rule>span{font-size:12px;color:var(--accent);display:block;letter-spacing:1.4px;font-weight:700}.mission-rule strong{display:block;font-size:18px;margin:5px 0}.mission-rule p{margin:0;font-size:15px;color:var(--muted)}.mentor{display:flex;align-items:center;gap:13px;padding:18px 0}.mentor img{border-radius:13px;flex-shrink:0}.mentor p{font-size:14px;line-height:1.65;margin:0;color:var(--muted);max-width:760px}.experiment{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.experiment-head{display:flex;justify-content:space-between;gap:12px;padding:19px 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:1.2px}.studio-code{background:var(--code);border:1px solid var(--line);border-radius:12px;padding:22px;font:16px/1.9 'JetBrains Mono',monospace;white-space:pre-wrap;overflow-wrap:anywhere}.studio-code code{font:inherit}.experiment .studio-code{border:0;border-radius:0;padding:32px 24px;margin:0;font-size:15px}.question{padding:24px}.choice-pair{display:flex;gap:12px}.choice-pair button{flex:1;font-family:'JetBrains Mono',monospace}.experiment-foot{padding:16px 24px;background:var(--soft);font-size:13px;color:var(--muted)}#notice-result:not(:empty){margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:15px}#notice-result p{margin:10px 0 0}.studio-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.stage-count{font:13px 'JetBrains Mono',monospace;color:var(--muted)}.studio-feedback{padding:18px 22px;border-left:3px solid var(--accent);background:var(--soft);border-radius:0 12px 12px 0;white-space:pre-wrap;margin:24px 0;font-size:15px}.studio-feedback.success{border-color:var(--success);background:var(--success-bg);color:var(--success)}.prediction-list{margin:24px 0}.prediction-row{display:grid;grid-template-columns:150px 210px 1fr;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.prediction-row>strong{color:var(--muted);font-weight:400}.prediction-row b{font:22px 'JetBrains Mono',monospace;color:var(--ink);margin-left:12px}.prediction-row [role=group]{display:flex;gap:10px}.prediction-row button{min-width:90px}.prediction-row button[aria-pressed=true]{border-color:var(--accent);background:var(--soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.prediction-result{font-size:14px;color:var(--muted)}.boundary-lab{background:var(--panel);border:1px solid var(--line);padding:30px;border-radius:18px}.boundary-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.boundary-head label{font-size:18px;font-weight:600}.boundary-head output{font:28px 'JetBrains Mono',monospace;color:var(--accent);margin-left:12px}.boundary-head>span{font-size:14px;color:var(--muted)}.number-track{position:relative;height:112px;margin:32px 20px 0;border-top:0}.accepted-band{position:absolute;left:25%;width:50%;height:40px;top:20px;background:var(--soft);border-left:2px solid var(--accent);border-right:2px solid var(--accent);text-align:center;line-height:40px;font-size:12px;color:var(--accent)}.number-track:after{content:'';position:absolute;top:62px;left:0;right:0;border-top:2px solid var(--muted)}.number-marker{position:absolute;top:50px;width:20px;height:20px;border:4px solid var(--panel);border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--accent);transform:translateX(-50%);z-index:1}.ticks{position:absolute;top:77px;left:-7px;right:-10px;display:flex;justify-content:space-between;font:14px 'JetBrains Mono',monospace}#boundary-value{width:100%;min-height:44px;accent-color:var(--accent)}.probe-buttons{display:flex;justify-content:center;gap:12px;margin:15px 0 28px}.probe-buttons button{min-width:52px}.comparison-pair{display:flex;align-items:center;justify-content:center;gap:24px}.comparison-pair>div{flex:1;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center}.comparison-pair strong{display:block;font:23px/1.7 'JetBrains Mono',monospace;color:var(--accent)}.comparison-pair>span{font-family:'JetBrains Mono',monospace;color:var(--muted)}.verdict{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;padding:20px 14px;margin-top:20px;border-radius:10px;font-size:15px}.verdict.agree{background:var(--success-bg);color:var(--success)}.verdict.disagree{background:var(--warning-bg);color:var(--warning)}#boundary-readout>p{margin:16px 0 0;text-align:center}.repair-grid{display:grid;grid-template-columns:300px 1fr;gap:36px}.repair-controls label{display:block;font-size:14px;color:var(--muted);margin:16px 0}.repair-controls select{display:block;width:100%;margin-top:7px;font-family:'JetBrains Mono',monospace;font-size:14px}.repair-controls h2:not(:first-child){margin-top:34px}.repair-probe{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.hint-stack{margin:24px 0}.hint-stack details{font-size:14px}.studio-workbench{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-areas:'task code' 'task results';border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow:hidden}.studio-task{grid-area:task;padding:24px;border-right:1px solid var(--line);background:var(--bg);font-size:15px}.studio-task code{overflow-wrap:anywhere}.contract{font-size:14px}.contract dt{color:var(--muted);margin-top:16px}.contract dd{margin:2px 0}.studio-editor-pane{grid-area:code;padding:24px;min-width:0}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;margin-bottom:12px}.editor-toolbar>label:first-child{font-family:'JetBrains Mono',monospace}.editor-toolbar>label:last-child{color:var(--muted);font-size:12px}.editor-toolbar select{padding:6px;margin-left:8px;font-size:13px}.code-editor{--editor-size:16px;display:flex;height:240px;border:1px solid var(--line);border-radius:10px;background:var(--code);overflow:hidden}.code-surface{position:relative;min-width:0;flex:1}.code-surface textarea,.code-surface pre{position:absolute;inset:0;margin:0;border:0;border-radius:0;padding:16px 12px;font:var(--editor-size)/1.85 'JetBrains Mono',monospace;white-space:pre;tab-size:4;overflow:auto;letter-spacing:normal;text-align:left}.code-surface pre{pointer-events:none;scrollbar-width:none}.code-surface code{font:inherit}.code-surface textarea{background:transparent;color:transparent;caret-color:var(--ink);resize:none;-webkit-text-fill-color:transparent}.code-surface textarea::selection{background:#6c9fff55;color:transparent}.code-surface textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.code-surface textarea:focus{outline-offset:-2px}#line-gutter{padding:16px 8px;width:44px;font:var(--editor-size)/1.85 'JetBrains Mono',monospace;color:var(--muted);white-space:pre;text-align:right;border-right:1px solid var(--line);overflow:hidden;user-select:none}.editor-tools{display:flex;gap:8px;align-items:center;padding-top:12px}.editor-tools button{padding:6px 12px;font-size:13px;min-height:40px}#code-location{margin-left:auto;font-size:12px;color:var(--muted)}#code-help{margin:10px 0}.run-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:15px}.run-actions span{font-size:12px;color:var(--muted);margin-left:auto}.studio-results{grid-area:results;min-width:0;border-top:1px solid var(--line);padding:24px}.result-summary{font-weight:700;font-size:15px;margin:18px 0}.result-summary span{font-weight:400;color:var(--muted)}.result-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 100px;align-items:center;gap:12px;border-top:1px solid var(--line);padding:16px 0;font-size:13px}.result-row>div>strong{display:block;font-size:14px}.result-row code{display:block;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.result-row>div>span{display:block}.result-row.pass .result-state{color:var(--success)}.result-row.retry .result-state{color:var(--warning)}.result-empty{font-size:15px;color:var(--muted);margin:0}.studio-results pre{padding:14px 0;font-size:14px}.reflection-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:36px}.reflection-grid label{display:block;margin-bottom:12px}.reflection-grid textarea{min-height:210px}.reflection-grid button{margin:18px 8px 0 0}.evidence-summary{background:var(--soft);padding:24px;border-radius:16px;font-size:15px;align-self:start}.workbench-tabs{display:none}.token-keyword{color:#6741b9}.token-number{color:#9c4215}.token-string{color:#11674e}.token-comment{color:var(--muted)}[data-theme=dark] .token-keyword{color:#b9a2ff}[data-theme=dark] .token-number{color:#ffc28c}[data-theme=dark] .token-string{color:#8cdeb4}
@media(prefers-reduced-motion:no-preference){.number-marker{transition:left .12s ease-out}.studio-content{animation:appear .18s ease-out}}
@media(forced-colors:active){.code-surface textarea{color:CanvasText;-webkit-text-fill-color:CanvasText;background:Canvas}.code-surface pre{display:none}}
@media(max-width:900px){.notice-grid{gap:30px}.studio-stages button{display:block}.studio-stages button>span:first-child{display:block;margin-bottom:4px}.studio-workbench{grid-template-columns:220px minmax(0,1fr)}.result-row{grid-template-columns:minmax(0,1fr) 100px}.result-state{grid-column:1/-1}.studio-shell{padding:0 22px 26px}}
@media(max-width:700px){.studio-context{font-size:11px;letter-spacing:.3px}.studio-context span span{margin:0 4px}.studio-stages{gap:0;grid-template-columns:repeat(4,1fr)}.studio-stages button{padding:10px 5px;font-size:13px;min-height:58px}.studio-stages button>span:first-child{font-size:11px}.studio-content{padding-top:26px}.notice-grid,.repair-grid,.reflection-grid{grid-template-columns:1fr;gap:24px}.studio-lead{font-size:16px;margin-bottom:22px}.notice-grid h1{font-size:2rem}.notice-grid .studio-lead{max-width:100%}.experiment .studio-code{font-size:13px;padding:20px 16px}.question{padding:20px}.studio-bottom{flex-wrap:wrap;gap:10px}.studio-bottom .primary{max-width:100%;margin-left:auto}.stage-count{display:none}.prediction-row{grid-template-columns:90px 1fr;gap:12px}.prediction-row [role=group]{justify-content:flex-end}.prediction-result{grid-column:1/-1}.prediction-row button{min-width:76px;padding:10px 12px}.boundary-lab{padding:20px 16px}.boundary-head{display:block}.boundary-head>span{display:block;margin-top:10px}.comparison-pair{gap:10px}.comparison-pair>div{padding:12px 5px}.comparison-pair code{font-size:13px}.probe-buttons{gap:7px}.probe-buttons button{min-width:0;flex:1;padding:10px}.number-track{margin:22px 8px 0}.accepted-band span{font-size:10px}.verdict{gap:10px;font-size:14px}.repair-probe{font-size:12px}.workbench-tabs{display:flex;gap:4px;background:var(--soft);padding:5px;border-radius:10px;margin-bottom:12px;position:sticky;top:0;z-index:5}.workbench-tabs button{flex:1;background:none;border:0;padding:12px;color:var(--muted);border-radius:7px;font-size:14px}.workbench-tabs button[aria-pressed=true]{background:var(--panel);color:var(--accent);font-weight:700}.studio-workbench{display:block}.studio-workbench[data-view=code]>.studio-task,.studio-workbench[data-view=code]>.studio-results,.studio-workbench[data-view=task]>.studio-editor-pane,.studio-workbench[data-view=task]>.studio-results,.studio-workbench[data-view=results]>.studio-task,.studio-workbench[data-view=results]>.studio-editor-pane{display:none}.studio-task{border-right:0}.studio-editor-pane,.studio-results{padding:16px}.editor-toolbar{align-items:flex-start;flex-wrap:wrap}.editor-toolbar>label:last-child{display:flex;align-items:center}.code-editor{height:255px}.run-actions span{margin:0;font-size:12px}.studio-shell{padding:0 16px 28px}.studio-content h1{letter-spacing:-.8px}.reflection-grid{gap:20px}.result-row{grid-template-columns:minmax(0,1fr) 105px}}
.studio-content button[aria-pressed=true]{outline-offset:3px}
@media(max-width:700px){.notice-grid>div:first-child{display:contents}.notice-grid{gap:16px}.notice-grid>.experiment{grid-row:4}.notice-grid .eyebrow{margin:0}.notice-grid h1{margin:0;font-size:1.85rem}.notice-grid .studio-lead{margin:0}.notice-grid .mission-rule{margin:8px 0}.notice-grid .mentor{padding:0}.notice-grid .question{padding:16px}.notice-grid .experiment .studio-code{padding:18px 14px;font-size:12px}}
