.nav-short{display:none}.workshop-feature{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:26px 0 0;padding:24px 27px;border:1px solid #2a535b;border-radius:14px;background:linear-gradient(115deg,#0d242c,#0c131d 75%)}.workshop-feature h2{font-size:24px;letter-spacing:-.8px;margin:7px 0 8px}.workshop-feature p{font-size:12px;margin:0;max-width:670px}.workshop-feature .button{flex-shrink:0}.workshop-feature small{display:block;color:#91b7c2;font-size:10px;margin-top:9px}.reader-outline{max-height:calc(100dvh - 128px);overflow:auto}.workshop-intro{padding-bottom:25px}.workshop-intro>p{max-width:850px}.workshop-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.workshop-meta>span,.workshop-meta>a{font-size:10px;border:1px solid #2c444e;border-radius:99px;padding:5px 10px;background:#0c1d26;color:#b4cfd7}.workshop-meta>a{color:var(--teal)}.workshop-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:26px;align-items:start}.workshop-nav{position:sticky;top:100px;max-height:calc(100dvh - 120px);overflow:auto;padding:19px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.workshop-nav h2{font-size:9px;color:#7d9eae;text-transform:uppercase;letter-spacing:1.1px;margin:14px 8px 8px}.workshop-nav h2:first-child{margin-top:1px}.workshop-exercise-link{display:flex;align-items:start;gap:10px;font-size:11px;color:#b0c4ce;line-height:1.6;padding:10px 9px;border:1px solid transparent;border-radius:8px}.workshop-exercise-link:hover{background:#11232e}.workshop-exercise-link[aria-current="step"]{color:var(--text);background:#102b31;border-color:#315761}.exercise-index{color:var(--teal);font:10px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;min-width:17px}.workshop-reading-link{display:block;font-size:10px;color:var(--teal);margin:17px 9px 0}.workshop-content{min-width:0}.workshop-brief{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--panel)}.workshop-brief h2{font-size:29px;letter-spacing:-.9px;margin:9px 0 12px}.workshop-brief>p{font-size:13px;line-height:1.8;margin-bottom:17px}.workshop-contract{padding-left:20px;color:#c1d3dc;font-size:12px;line-height:1.9;margin:14px 0 18px}.workshop-contract li{padding-left:4px;margin:8px 0}.workshop-brief .text-link{font-size:11px;color:var(--teal)}.workshop-project-brief{margin:15px 0;padding:18px 20px;border:1px solid #3b4563;border-radius:11px;background:#151a29}.workshop-project-brief>summary{font-size:12px;font-weight:700;color:#c1cff3;cursor:pointer;line-height:1.8}.workshop-project-brief ol{font-size:12px;line-height:1.8;padding-left:20px;color:#c4d1dc}.workshop-project-brief li{margin:10px 0}.workshop-project-brief p{font-size:11px;margin-bottom:0}.workshop-editor-panel{margin:17px 0;border:1px solid #304853;border-radius:14px;overflow:hidden;background:#0b121a}.workshop-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #293d48;padding:14px 18px;background:#111e27}.workshop-editor-head label{font-size:12px;font-weight:750}.workshop-draft-status{font-size:9px;color:#96c8c9}.workshop-code{display:block;width:100%;height:330px;resize:vertical;min-height:230px;max-height:800px;border:0;border-bottom:1px solid #293d48;border-radius:0;outline-offset:-4px!important;background:#060e16;color:#c4f0e6;padding:20px;font:13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2;white-space:pre;overflow:auto}.workshop-code[readonly]{color:#93b7b3}.workshop-editor-help{font-size:10px;line-height:1.8;padding:14px 18px 0;margin-bottom:12px;color:#95afbc}.workshop-actions{display:flex;gap:9px;flex-wrap:wrap;padding:0 18px 17px}.workshop-actions .button{font-size:10px;padding:9px 12px;min-height:39px}.workshop-results{margin:22px 0}.workshop-results>h2{font-size:20px;margin-bottom:12px;letter-spacing:-.4px}.workshop-run-status{font-size:12px;line-height:1.8;background:#101e29;border:1px solid #2b4351;border-radius:10px;padding:15px 17px;margin:0 0 14px;color:#bad1dd}.workshop-run-status.is-success{background:#0d2a2d;border-color:#2c7474;color:#b9eeea}.workshop-run-status.is-error{background:#2b2220;border-color:#6a4845;color:#f0cebf}.workshop-test{border:1px solid #2d404c;border-radius:10px;margin:9px 0;overflow:hidden;background:#0d1720}.workshop-test>summary{cursor:pointer;font-size:12px;font-weight:650;line-height:1.7;padding:13px 16px}.workshop-test.is-pass>summary{color:#a8e4d0}.workshop-test.is-fail>summary{color:#efb7b0}.workshop-test-values{padding:5px 16px 15px;min-width:0;border-top:1px solid #273c47}.workshop-test-values>strong{display:block;margin:10px 0 5px;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#87acbe}.workshop-test-values pre{font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#080f17;border:1px solid #213540;padding:10px 12px;border-radius:7px;margin:0;color:#c6e3e4}.workshop-test-values p{font-size:11px;color:#e8c9a2;margin:12px 0 0}.workshop-console{border:1px solid #2a414d;border-radius:9px;background:#0a141d;padding:13px 16px;margin:16px 0}.workshop-console summary{font-size:11px;color:#b6d4dd;cursor:pointer}.workshop-console pre{font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#c4e7de;max-height:260px;overflow:auto}.workshop-guidance{border:1px solid var(--line);border-radius:13px;padding:21px;background:var(--panel)}.workshop-guidance h2{font-size:18px;letter-spacing:-.3px;margin:0 0 13px}.workshop-hints .button{font-size:10px;padding:9px 12px;min-height:38px}.workshop-hints ol{color:#b7ced9;font-size:12px;line-height:1.8;padding-left:20px;margin:16px 0}.workshop-hints li{margin:10px 0}.workshop-solution{border-top:1px solid var(--line);padding-top:16px;margin-top:17px;min-width:0}.workshop-solution>summary{font-size:11px;color:#a5c7cf;cursor:pointer;font-weight:650}.workshop-solution p{font-size:12px;line-height:1.8;margin:15px 0}.workshop-solution .button{font-size:10px;padding:9px 12px;min-height:38px}.workshop-solution .code-block{white-space:pre;max-width:100%;font-size:11px}.workshop-next{display:flex;gap:20px;justify-content:space-between;margin:27px 0 0;border-top:1px solid var(--line);padding-top:19px}.workshop-next a{font-size:10px;max-width:48%;line-height:1.8}.workshop-next a:last-child{text-align:right}.workshop-runner{position:absolute;top:0;left:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}.workshop-mobile-picker{display:none}.workshop-practice-link{margin-top:15px!important}.workshop-progress-link{margin-top:20px;padding:18px 20px;background:#10212a;border:1px solid #2d4f59;border-radius:11px;display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:12px;color:#c1d9df}.workshop-progress-link span{color:var(--teal)}
@media(max-width:1000px){.workshop-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.workshop-nav{padding:17px 9px}.header-links{gap:15px}.header-links a{font-size:11px}}
@media(max-width:800px){.workshop-layout{grid-template-columns:1fr}.workshop-nav{display:none}.workshop-mobile-picker{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#bdd5df;margin:0 0 20px}.workshop-mobile-picker select{padding:12px;background:#101e29;border:1px solid #35525e;border-radius:9px;font-family:inherit;font-size:12px;line-height:1.6;color:var(--text);width:100%;min-width:0}.workshop-feature{padding:22px;gap:20px}.workshop-feature h2{font-size:22px}.reader-outline{max-height:none;overflow:visible}}
@media(max-width:620px){.workshop-mobile-picker select{font-size:16px}.nav-long{display:none}.nav-short{display:inline}.header-links{gap:6px}.header-links a{font-size:9px;min-height:43px;padding-top:14px;padding-bottom:13px}.count{font-size:7px;margin-left:2px}.workshop-feature{display:block;padding:21px 18px;margin-top:21px}.workshop-feature h2{font-size:25px}.workshop-feature p{font-size:11px;line-height:1.8}.workshop-feature small{font-size:9px}.workshop-feature .button{margin-top:17px;font-size:11px}.workshop-intro h1{font-size:34px}.workshop-meta{gap:7px;margin-top:16px}.workshop-meta>span,.workshop-meta>a{font-size:9px;padding:4px 8px}.workshop-brief{padding:20px 17px}.workshop-brief h2{font-size:27px;line-height:1.2}.workshop-brief>p{font-size:12px}.workshop-contract{font-size:11px;line-height:1.9;padding-left:18px}.workshop-code{font-size:16px;height:330px;padding:17px}.workshop-editor-head{padding:12px 15px;gap:7px}.workshop-editor-head label{font-size:11px}.workshop-draft-status{font-size:9px}.workshop-editor-help{padding:12px 14px 0;font-size:9px}.workshop-actions{padding:0 14px 14px;gap:8px}.workshop-actions .button{font-size:9px;padding:9px 11px;min-height:40px}.workshop-test>summary{font-size:11px;padding:12px 13px}.workshop-test-values{padding:3px 12px 13px}.workshop-test-values pre{font-size:10px}.workshop-run-status{font-size:11px;padding:13px 14px}.workshop-guidance{padding:19px 16px}.workshop-hints ol{font-size:11px}.workshop-project-brief{padding:16px}.workshop-project-brief summary{font-size:11px}.workshop-project-brief ol,.workshop-project-brief p{font-size:11px}.workshop-progress-link{font-size:11px;padding:16px;gap:15px}.workshop-progress-link span{font-size:14px}.workshop-next a{font-size:9px}}
