.challenge-preview{padding:24px 6px 48px;max-width:1250px;margin:auto}
.challenge-head{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.challenge-head h1{margin:5px 0 0}.challenge-head p{margin:0;color:var(--soft)}
.challenge-grid{display:grid;grid-template-columns:275px minmax(0,1fr);gap:18px;align-items:start}
.challenge-list{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:16px;position:sticky;top:10px}
.challenge-list label,.challenge-work label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:var(--soft)}
.challenge-list input,.challenge-list select,.challenge-work select{width:100%;min-height:39px;padding:8px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);margin-bottom:10px}
.challenge-items{max-height:70vh;overflow:auto;display:grid;gap:5px}
.challenge-items button{width:100%;text-align:left;background:transparent;color:var(--text);border:1px solid transparent;padding:11px;border-radius:10px;cursor:pointer}
.challenge-items button:hover,.challenge-items button[aria-current="true"]{background:var(--surface-2);border-color:var(--border-strong)}
.challenge-items small{display:block;color:var(--muted);margin-top:3px}
.challenge-panel{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:clamp(15px,2.5vw,28px);min-width:0}
.challenge-panel h2{margin:7px 0}.challenge-badges{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 20px}
.challenge-badges span{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:5px 10px;font-size:12px;color:var(--soft)}
.challenge-problem{line-height:1.65;color:var(--text)}
.challenge-problem h1{display:none}.challenge-problem h2{font-size:18px;margin:20px 0 8px}
.challenge-problem pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:var(--code-bg);border-radius:10px;font-size:12px}
.challenge-problem code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.challenge-work{margin-top:23px;border-top:1px solid var(--border);padding-top:19px}
.challenge-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:space-between}
.challenge-toolbar label{min-width:170px}.challenge-toolbar select{margin-top:6px}
.challenge-work textarea{resize:vertical;display:block;width:100%;min-height:235px;background:var(--code-bg);color:var(--text);border:1px solid var(--border-strong);border-radius:11px;padding:15px;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}
.challenge-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
.challenge-actions button{cursor:pointer}.challenge-console{background:var(--code-bg);border:1px solid var(--border);border-radius:11px;padding:15px;min-height:75px;white-space:pre-wrap;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}
.challenge-feedback{margin-top:10px;display:grid;gap:8px}.challenge-test{padding:10px 12px;background:var(--surface-2);border-radius:9px;font-size:13px}.challenge-test.pass{border-left:3px solid #43b989}.challenge-test.fail{border-left:3px solid #d97777}
.challenge-submit-status{color:var(--soft);font-size:13px;margin-top:10px}.challenge-note{color:var(--muted);font-size:12px;margin-top:14px}
.challenge-submissions{margin-top:20px}.challenge-submissions li{margin-bottom:6px;color:var(--soft)}
@media(max-width:780px){.challenge-grid{grid-template-columns:1fr}.challenge-list{position:static}.challenge-items{max-height:230px}.challenge-preview{padding-top:12px}}
