.sp-page{background:var(--bg-base);min-height:calc(100vh - 64px);padding:24px 32px 80px}.sp-inner{max-width:var(--maxw, 1200px);margin:0 auto}.sp-crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-tertiary);margin-bottom:18px}.sp-crumb a{color:var(--accent);text-decoration:none}.sp-crumb a:hover{text-decoration:underline}.sp-crumb-sep{opacity:.6}.sp-split{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:24px;align-items:start}@media(max-width:860px){.sp-split{grid-template-columns:1fr}}.sp-left{border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface);padding:22px;position:sticky;top:88px}@media(max-width:860px){.sp-left{position:static}}.sp-prob-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.sp-prob-title{font-family:Inter Tight,Inter,sans-serif;font-size:1.3rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.3px}.sp-diff{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;border-radius:20px;white-space:nowrap}.sp-diff--basic{color:var(--success);background:var(--success-soft)}.sp-diff--intermediate{color:#b4690e;background:#eab30821}.sp-diff--advanced{color:var(--danger);background:var(--danger-soft)}.sp-solved-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;border-radius:20px;color:var(--success);background:var(--success-soft);white-space:nowrap}.sp-solved-pill svg{flex-shrink:0}.sp-scenario{font-size:14px;color:var(--text-secondary);line-height:1.7;margin:0 0 14px;padding:12px 14px;background:var(--bg-surface-2);border-left:3px solid var(--accent-border);border-radius:6px}.sp-prompt{font-size:14px;color:var(--text-secondary);line-height:1.7;margin:0 0 16px}.sp-prompt code,.sp-scenario code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;background:var(--bg-surface-2);padding:1px 5px;border-radius:4px}.sp-examples{border-top:1px solid var(--border-subtle);padding-top:14px;margin-bottom:4px}.sp-examples-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 10px}.sp-ex{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;margin-bottom:8px}.sp-ex-row{display:flex;align-items:baseline;gap:10px;padding:2px 0}.sp-ex-key{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary);flex-shrink:0;width:52px}.sp-ex-val{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;color:var(--text-primary);word-break:break-word}.sp-hints{border-top:1px solid var(--border-subtle);padding-top:14px;margin-top:14px}.sp-hints-sum{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);list-style:none}.sp-hints-sum::-webkit-details-marker{display:none}.sp-hints-sum:before{content:"▸ "}.sp-hints[open] .sp-hints-sum:before{content:"▾ "}.sp-hints-list{margin:12px 0 0;padding-left:18px;font-size:13px;color:var(--text-tertiary);line-height:1.75}.sp-right{min-width:0}.sp-editor-wrap{border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface);overflow:hidden}.sp-editor-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-2)}.sp-editor-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.sp-editor-actions{display:flex;gap:8px}.sp-editor-host{position:relative}.sp-monaco{height:440px;width:100%;display:none}.sp-editor-host[data-monaco=on] .sp-monaco{display:block}.sp-editor-host[data-monaco=on] .sp-code{display:none}.sp-code{width:100%;min-height:440px;resize:vertical;border:none;outline:none;padding:16px;background:var(--bg-surface);color:var(--text-primary);font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6;tab-size:4;box-sizing:border-box;display:block}.sp-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:9px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;border:1px solid var(--accent-border)}.sp-btn--sm{padding:7px 16px;font-size:12.5px}.sp-btn--primary{color:var(--accent-on);background:var(--accent)}.sp-btn--primary:hover{background:var(--accent-hover)}.sp-btn--ghost{color:var(--text-secondary);background:var(--bg-surface-2);border-color:var(--border-default)}.sp-btn[disabled]{opacity:.55;cursor:not-allowed}.sp-result{margin-top:14px;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.sp-result-head{display:flex;align-items:center;gap:10px;padding:12px 16px}.sp-result-badge{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 11px;border-radius:20px}.sp-result--ok .sp-result-head{background:var(--success-soft)}.sp-result--ok .sp-result-badge{color:var(--success);background:var(--bg-surface);border:1px solid var(--success)}.sp-result--bad .sp-result-head{background:var(--danger-soft)}.sp-result--bad .sp-result-badge{color:var(--danger);background:var(--bg-surface);border:1px solid var(--danger)}.sp-result-title{font-size:13.5px;font-weight:600;color:var(--text-primary)}.sp-result-detail{margin:0;padding:14px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.sp-result-detail:empty{display:none}.sp-tests{padding:14px 16px;border-top:1px solid var(--border-subtle)}.sp-tests-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 10px}.sp-test{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-secondary);padding:5px 0}.sp-test-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:700}.sp-test--pass .sp-test-icon{color:#fff;background:var(--success)}.sp-test--fail .sp-test-icon{color:#fff;background:var(--danger)}.sp-test--pass .sp-test-verdict{color:var(--success);font-weight:600}.sp-test--fail .sp-test-verdict{color:var(--danger);font-weight:600}.sp-test-name{flex:1}.sp-test-verdict{font-size:12px;letter-spacing:.02em}.sp-run-note{font-size:12px;color:var(--text-tertiary);margin:12px 2px 0;line-height:1.6}
