@font-face{font-family:Manrope;src:url('./assets/manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('./assets/manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('./assets/manrope-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('./assets/manrope-800.woff2') format('woff2');font-weight:800;font-display:swap}
:root{--teal:#087f82;--deep:#065e61;--ink:#233e43;--muted:#61787d;--mint:#e1f5ef;--coral:#ff987c;--soft:#fff0e7;--paper:#f7faf7;--line:#dce7e2;font-family:Manrope,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:15px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}.topbar{height:82px;background:var(--teal);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:20;gap:20px}.brand{display:flex;align-items:center;gap:27px;color:white;text-decoration:none;min-width:0}.brand img{object-fit:contain}.brand>span{font-size:13px;letter-spacing:.03em;border-left:1px solid #ffffff4d;padding-left:24px}.prototype-link{background:var(--coral);color:var(--ink);font-weight:800;font-size:13px;padding:13px 18px;border-radius:8px;text-decoration:none;white-space:nowrap;display:flex;gap:20px;align-items:center;min-height:44px}.prototype-link:hover{background:#ffac96}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{padding:34px 20px 28px 28px;border-right:1px solid var(--line);position:sticky;top:82px;height:calc(100dvh - 82px);overflow-y:auto}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--teal);margin:0 0 15px}.sidebar .eyebrow{padding:0 12px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{text-align:left;border:0;background:transparent;color:var(--ink);border-radius:8px;padding:10px 12px;min-height:52px;border-left:3px solid transparent}.sidebar nav button span{display:block;font-size:12px;font-weight:800}.sidebar nav button small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}.sidebar nav button:hover{background:#e9f1ec}.sidebar nav button.active{background:var(--mint);border-left-color:var(--teal)}.sidebar nav button.active span{color:var(--deep)}.sidebar-bottom{border-top:1px solid var(--line);margin:24px 12px 0;padding-top:16px;font-size:11px;line-height:1.8;color:var(--muted)}.sidebar-bottom strong{color:var(--ink)}.sidebar-bottom small{font-size:10px}main{padding:48px clamp(24px,4vw,64px) 24px;min-width:0;max-width:1190px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:30px;align-items:center;padding-bottom:34px;border-bottom:1px solid var(--line)}h1{font-size:clamp(29px,3.05vw,46px);font-weight:800;line-height:1.14;letter-spacing:-.045em;margin:0 0 20px}.lead{font-size:14px;line-height:1.8;max-width:520px;color:var(--muted);margin:0 0 22px}.hero-meta{display:flex;gap:10px 17px;flex-wrap:wrap;font-size:10px;font-weight:700;color:var(--deep)}.hero-meta span:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--coral);margin-right:7px;vertical-align:middle}.hero-mark{display:grid;grid-template-columns:32px 1fr;gap:20px 12px;align-items:center;background:var(--mint);border-radius:14px;padding:26px 20px;font-size:11px;font-weight:700;line-height:1.5}.hero-mark span{color:var(--teal);font-size:18px;font-weight:800}.mobile-profile{display:none}.guide-tools{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 40px}.search-wrap{position:relative;flex:1;max-width:430px}.search-wrap label,.mobile-profile label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}input[type=search],select{width:100%;border:1px solid #b9ccc7;background:white;border-radius:8px;padding:12px 14px;color:var(--ink);min-height:44px;font-size:12px}input[type=search]{padding-right:70px}.search-wrap>button{position:absolute;right:9px;bottom:8px;padding:6px;border:0;background:var(--mint);color:var(--deep);font-size:11px;border-radius:4px}.tool-actions{display:flex;gap:6px;flex-wrap:wrap}.tool-actions button{border:1px solid var(--line);padding:11px 12px;font-size:11px;color:var(--ink);background:transparent;border-radius:7px;min-height:44px}.tool-actions button:hover{background:var(--mint)}.section-heading{display:flex;gap:28px;justify-content:space-between;align-items:center;scroll-margin-top:105px}.section-heading h2{font-size:28px;margin:0 0 10px;line-height:1.2;letter-spacing:-.035em}.section-heading .eyebrow{margin-bottom:8px}.section-heading p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);max-width:540px;margin:0}.progress-box{min-width:160px;max-width:180px;font-size:10px;flex-shrink:0}.progress-box label{display:block;font-weight:700;margin-bottom:8px}progress{width:100%;height:6px;appearance:none;border:0;border-radius:10px;background:var(--line);overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--teal)}progress::-moz-progress-bar{background:var(--teal)}.progress-box button{display:block;padding:10px 0;border:0;background:none;font-size:10px;color:var(--muted);text-decoration:underline}.result-count{font-size:10px;color:var(--muted);margin:24px 0 12px}.journey{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;scroll-margin-top:102px;overflow:hidden}.journey.completed{border-color:#9accc0}.journey summary{display:flex;align-items:center;gap:17px;cursor:pointer;list-style:none;padding:22px 24px}.journey summary::-webkit-details-marker{display:none}.step-num{font-size:12px;font-weight:800;color:var(--teal);background:var(--mint);border-radius:8px;width:34px;height:36px;display:grid;place-items:center;flex-shrink:0}.summary-text{min-width:0;flex:1}.path{font-size:10px;color:var(--muted);line-height:1.6;display:block;margin-bottom:5px;overflow-wrap:anywhere}h3{font-size:15px;font-weight:800;margin:0;line-height:1.45;letter-spacing:-.015em}.expand{font-size:22px;color:var(--teal);font-weight:400;transition:transform .2s}details[open] .expand{transform:rotate(45deg)}.done-badge{color:var(--teal);font-size:15px}.journey-body{padding:0 26px 22px 76px}.journey-body>ol{padding:0;list-style:none;counter-reset:steps;margin:0}.journey-body>ol li{font-size:13px;line-height:1.9;position:relative;padding:12px 0 12px 34px;border-top:1px solid #eff3f0;counter-increment:steps}.journey-body>ol li:before{content:counter(steps);position:absolute;top:14px;left:0;font-size:10px;color:var(--teal);border:1px solid #d3e7df;border-radius:50%;height:21px;width:21px;display:grid;place-items:center;line-height:1}.journey-body strong{font-weight:800}.examples{border:1px solid var(--line);border-radius:9px;margin:20px 0;background:#fbfdfb;overflow:hidden}.examples-heading{display:flex;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line);align-items:center}.examples-heading h4{font-size:12px;margin:0}.examples-heading>span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.example{padding:13px 17px 14px;border-bottom:1px solid #e8efea}.example:last-child{border:0}.example-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:6px}.example-title label{font-size:11px;font-weight:700}.copy{background:white;color:var(--teal);border:1px solid #bcdad0;border-radius:6px;font-size:10px;padding:7px 9px;white-space:nowrap;min-height:34px}.copy:hover{background:var(--mint)}textarea{width:100%;display:block;border:0;background:transparent;resize:vertical;color:var(--ink);font-family:Manrope,sans-serif;font-size:12px;line-height:1.7;min-height:26px;overflow-wrap:anywhere;padding:0}.expected{display:flex;align-items:flex-start;gap:12px;background:var(--mint);padding:15px 17px;border-radius:8px;margin-top:18px}.expected>span{color:var(--teal);font-size:18px}.expected p{font-size:12px;line-height:1.8;margin:0}.expected strong{display:block;margin-bottom:3px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--deep)}.note{background:var(--soft);border-left:3px solid var(--coral);border-radius:0 7px 7px 0;padding:14px 16px;margin-top:15px;font-size:11px;line-height:1.8}.note>strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.note p{margin:3px 0 0}.related{display:flex;flex-wrap:wrap;gap:8px 16px;margin:20px 0;font-size:11px}.related>span{width:100%;font-size:10px;color:var(--muted)}.card-footer{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px}.completion{display:flex;align-items:center;gap:9px;font-weight:700;cursor:pointer}.completion input{accent-color:var(--teal);width:18px;height:18px;margin:0}.footer{margin-top:48px;padding:27px 0 10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.9}.footer strong{color:var(--ink);font-size:12px}.footer p{max-width:620px;margin:8px 0}.footer>span{display:block;font-size:9px;margin-top:14px}.empty{text-align:center;background:white;padding:32px;border:1px dashed var(--line);border-radius:12px}.empty p{font-size:13px}.empty button{border:0;background:var(--teal);color:white;padding:12px;border-radius:7px;font-size:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 28px);width:max-content;background:var(--ink);color:white;border-radius:9px;padding:14px 20px;font-size:12px;box-shadow:0 5px 20px #233e4326;opacity:0;pointer-events:none;transition:.18s;z-index:50}#toast.show{opacity:1;transform:translate(-50%,0)}.storage-note{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.workspace{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:28px 12px}.hero{grid-template-columns:1fr}.hero-mark{display:none}.guide-tools{flex-wrap:wrap;gap:10px}.search-wrap{max-width:none;min-width:220px}.section-heading{align-items:flex-start}.progress-box{min-width:135px;max-width:150px}.journey-body{padding-left:25px}}
@media(max-width:760px){.topbar{height:72px;padding:0 18px;gap:12px}.brand img{width:143px;height:36px}.brand>span{display:none}.prototype-link{font-size:11px;padding:11px 12px;gap:10px}.workspace{display:block}.sidebar{display:none}main{padding:28px 18px 20px}.hero{padding-bottom:24px;gap:0}h1{font-size:34px;margin-bottom:15px}.lead{font-size:13px}.hero-meta{font-size:9px;gap:8px 14px}.mobile-profile{display:block;margin:24px 0 0}.guide-tools{margin:18px 0 26px;display:block}.tool-actions{margin-top:10px}.tool-actions button{font-size:10px;flex:1}.section-heading{display:block;scroll-margin-top:88px}.section-heading h2{font-size:26px}.section-heading p:not(.eyebrow){font-size:12px}.progress-box{max-width:none;margin-top:18px;display:grid;grid-template-columns:1fr auto;gap:5px 15px;align-items:center}.progress-box progress{grid-column:1;grid-row:2}.progress-box button{grid-column:2;grid-row:1 / 3;padding:10px 0}.progress-box label{margin:0}.journey{scroll-margin-top:88px}.journey summary{padding:18px 15px;gap:11px}.step-num{width:28px;height:32px;font-size:10px}.path{font-size:9px}h3{font-size:13px}.journey-body{padding:0 15px 18px}.journey-body>ol li{font-size:12px;padding-left:30px;line-height:1.9}.examples-heading{padding:13px 12px;display:block}.examples-heading>span{display:block;margin-top:5px}.example{padding:12px}.example-title label{font-size:10px}.copy{min-height:40px}.expected,.note{padding:13px}.card-footer{flex-wrap:wrap;font-size:10px;gap:18px}.completion{min-height:32px}.card-footer>a{min-height:28px;display:flex;align-items:center}.footer{margin-top:30px}}
@media(max-width:350px){.topbar{padding:0 12px}.brand img{width:119px}.prototype-link{font-size:10px;padding:10px;gap:6px}h1{font-size:29px}main{padding-left:13px;padding-right:13px}.example-title{gap:7px}.copy{padding:7px}.summary-text h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar{position:static;background:white;color:black;padding:0;height:auto;border-bottom:1px solid #aaa}.brand img{display:none}.brand:before{content:'CodeClean';font-weight:bold;color:black}.brand>span{color:black}.prototype-link,.sidebar,.hero-mark,.guide-tools,.mobile-profile,.progress-box,.copy,.card-footer,.expand,#toast,.skip{display:none!important}.workspace{display:block}main{padding:20px 0;max-width:none}.hero{padding-bottom:15px}.hero h1{font-size:28px}.hero .lead{font-size:12px}.hero-meta{display:none}.section-heading{margin:20px 0}.journey{break-inside:auto;overflow:visible;border-color:#bbb}.journey summary{break-after:avoid;padding:15px}details>div.journey-body{display:block!important}.journey-body{padding:0 18px 18px}.journey-body>ol li,.example,.expected,.note{break-inside:avoid}.related{display:none}.result-count{font-size:11px}textarea{resize:none;height:auto;overflow:visible}.footer{margin-top:15px}a{color:black}body{background:white}.journey[hidden]{display:none!important}}
