:root{--ink:#203833;--muted:#66766f;--green:#216b55;--paper:#f7f8f2;--line:#dce4d9;--accent:#e3edce}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--green)}header{display:flex;align-items:center;gap:40px;max-width:1320px;margin:auto;padding:26px 40px;border-bottom:1px solid var(--line)}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;text-decoration:none;color:var(--ink)}.brand span{color:var(--green)}nav{display:flex;gap:24px}nav a{font-size:14px;text-decoration:none;color:var(--ink)}nav a:hover{text-decoration:underline}.owner-badge{margin-left:auto;font-size:12px;color:var(--muted);border:1px solid var(--line);padding:5px 12px;border-radius:30px}main{max-width:1180px;margin:0 auto;padding:0 32px 60px}footer{border-top:1px solid var(--line);padding:24px;text-align:center;color:var(--muted);font-size:13px}.hero{padding:68px 0 36px;max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--green);margin:0 0 14px}.eyebrow,h1{font-weight:750}h1{font-size:clamp(38px,5vw,62px);line-height:1.1;letter-spacing:-2px;margin:0 0 24px}h1 span{color:var(--green)}h2{font-size:25px;letter-spacing:-.5px;line-height:1.3;margin:0 0 20px}h3{font-size:19px;margin:22px 0 10px}h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:20px 0 8px}.hero-copy{font-size:18px;color:var(--muted);max-width:620px}.flow{display:flex;gap:18px;margin:30px 0 0;flex-wrap:wrap}.flow span{background:var(--accent);padding:6px 13px;border-radius:25px;font-size:13px}.concept-card,.help-panel,.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;margin:24px 0;box-shadow:0 8px 30px #20383304}.panel form{max-width:780px}label{display:block;font-size:14px;font-weight:650;margin:18px 0 7px}input,select,textarea{font:inherit;color:var(--ink);border:1px solid #c9d5ca;background:#fcfdf9;border-radius:9px;padding:11px 13px;width:100%}select{max-width:330px}textarea{resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{outline:2px solid #87b99b;outline-offset:2px}button{font:inherit;font-size:14px;font-weight:600;background:var(--green);color:white;padding:12px 20px;border:1px solid transparent;border-radius:9px;cursor:pointer}button:hover{filter:brightness(.94)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #92bce7;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#f3f6ef;color:var(--ink);border-color:var(--line)}.small{padding:6px 11px;font-size:12px}.learned{background:var(--accent);color:var(--green)}.text-button{background:none;border:none;padding:0;color:var(--green);text-align:left;font-size:inherit;text-decoration:underline}.try-first{border-left:3px solid #c3d6aa;padding:0 0 0 18px;margin:26px 0}.try-first p{font-size:14px;color:var(--muted)}.muted{color:var(--muted);font-weight:400}.small-print{font-size:12px}.error,.notice,.success{border-radius:8px;padding:14px 17px;font-size:14px}.notice{background:#fff6df;color:#72582b}.error{background:#fff0ed;color:#a03128;border:1px solid #edc4bf}.success{background:#edf5e6;color:var(--green)}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.level-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.concept-list{padding:0;list-style:none}.concept-list li{border-bottom:1px solid var(--line);padding:12px 0}.concept-list span,.step-button span{display:block;font-size:11px;color:var(--muted)}.split-view{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,1.4fr);grid-gap:30px;gap:30px}.steps-column{align-self:start;position:-webkit-sticky;position:sticky;top:22px}.step-list{padding-left:25px}.step-list li{padding:8px 0}.step-button{text-align:left;width:100%;background:#f4f7f0;color:var(--ink);border:1px solid var(--line);font-weight:400;padding:14px}.selected{border-color:var(--green);box-shadow:0 0 0 2px #216b5522}.cards-column .concept-card{margin:0 0 24px}.card-meta{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.analogy{border-left:3px solid #c9dcae;padding-left:15px;color:var(--muted);font-style:italic}pre{background:#1f332e;color:#e4efdf;border-radius:9px;padding:16px;overflow:auto;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.output{background:#f2f6ed;border-radius:8px;padding:12px 16px;white-space:pre-wrap;font:13px/1.6 ui-monospace,monospace}details{border-top:1px solid var(--line);padding:14px 0;margin:16px 0}summary{cursor:pointer;font-size:14px;font-weight:600}.page-heading{padding:55px 0 12px}.page-heading h1{font-size:42px}.page-heading p:not(.eyebrow){color:var(--muted)}.filters{display:flex;gap:20px;align-items:end;flex-wrap:wrap}.filters>div,.filters>form{flex:1 1;min-width:190px}.search-row{display:flex;gap:8px}.library-grid{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:24px;gap:24px;align-items:start}.library-grid>.panel{min-width:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase}td,th{border-bottom:1px solid var(--line);padding:12px 8px}.preserve{white-space:pre-wrap}.pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin:30px 0}.auth-account{padding-top:20px;font-size:13px;flex-wrap:wrap}.sign-in{max-width:680px;margin:60px auto}.sign-in h1{font-size:38px}.sign-in-button{display:inline-block;background:var(--green);color:white;padding:12px 20px;border-radius:9px;text-decoration:none;margin:12px 12px 12px 0}.learning-guide h2:not(:first-child){margin-top:42px}.problem-list{padding-left:44px;margin:0}.problem-list li{padding:10px 0;border-top:1px solid var(--line)}.problem-list li::marker{color:var(--muted);font-size:13px}.problem-list li{display:list-item}.problem-text{display:inline-block;width:calc(100% - 90px);vertical-align:middle}.problem-list button{padding:6px 14px;vertical-align:middle;float:right}.cheatsheet-viewer{margin:20px 0 40px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.viewer-bar{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:14px}.viewer-bar button:disabled{opacity:.45;cursor:not-allowed}.zoom-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px;font-size:14px}.zoom-bar button{padding:8px 14px}.zoom-bar button:disabled{opacity:.45;cursor:not-allowed}.viewer-pane{max-height:75vh;overflow:auto;background:#eef1e9;border:1px solid var(--line);border-radius:12px;padding:16px}.viewer-pane img{display:block;margin:0 auto;box-shadow:0 4px 18px #20383318;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.print-note{display:none}.cheatsheet-page{background:white;max-width:860px;margin:0 auto;padding:clamp(16px,4vw,36px);overflow-wrap:anywhere;border-radius:8px}.cheatsheet-page h2{font-size:1.6em}.cheatsheet-page h3{font-size:1.2em}.cheatsheet-page h4{font-size:1em}.cheatsheet-page .notice,.cheatsheet-page pre{font-size:.9em}.cheatsheet-page .eyebrow{font-size:.75em}@media print{.cheatsheet-viewer .viewer-bar,.cheatsheet-viewer .viewer-pane,.cheatsheet-viewer .zoom-bar{display:none}.cheatsheet-viewer .print-note{display:block}}.flowchart{white-space:pre;overflow-x:auto;overflow-wrap:normal}.step-button span.preserve{font-size:inherit;color:inherit}@media(max-width:800px){header{padding:20px;gap:18px;flex-wrap:wrap}.owner-badge{display:none}nav{gap:15px}main{padding:0 18px 35px}.hero{padding-top:40px}.library-grid,.split-view{grid-template-columns:1fr}.steps-column{position:static}.concept-card,.help-panel,.panel{padding:22px}.level-buttons button{flex:1 1}.page-heading h1{font-size:36px}}