@charset "UTF-8";
:root{--paper:#f5f5ee;--ink:#182724;--muted:#5f6d65;--line:#d8ded3;--accent:#c6f075;--dark:#162823;--white:#fff;--orange:#f4b584}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #5c890a;outline-offset:5px}button:disabled{cursor:default;opacity:.6}[hidden]{display:none!important}.wrap{width:min(1184px,calc(100% - 72px));margin:auto}.skip{position:absolute;left:20px;top:-80px;background:var(--accent);padding:12px;z-index:10}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;min-height:104px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;font-weight:700;font-size:21px;gap:10px;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ink);color:var(--accent);font-size:23px}.brand-small{font-size:10px;letter-spacing:1.2px;font-weight:400;color:var(--muted);margin-left:10px}.header nav{display:flex;gap:30px;font-size:13px;font-weight:600}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.hero{display:grid;grid-template-columns:1.22fr 1fr;align-items:center;gap:60px;padding-top:78px;padding-bottom:80px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;margin:0 0 24px;display:flex;align-items:center;gap:10px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#83ab38}.hero h1{font-size:clamp(40px,4.7vw,65px);font-weight:600;line-height:1.07;letter-spacing:-3px;margin:0 0 26px}.hero h1 em{font-style:normal;color:#678437}.lead{font-size:17px;line-height:1.75;color:#526159;max-width:490px;margin:0 0 32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:0;padding:15px 22px;border-radius:5px;font-size:13px;font-weight:700;line-height:1.6}.button.dark{background:var(--dark);color:#fff}.button.dark:hover{background:#355145}.button.light{background:var(--accent);color:var(--ink)}.button.light:hover{background:#d7fa99}.micro{font-size:11px;color:var(--muted);margin-top:15px}.trace-card{background:var(--dark);color:#e9f1e4;padding:25px 28px 0;border-radius:12px;box-shadow:0 14px 30px #1b302514;transform:rotate(1deg)}.trace-top{display:flex;align-items:center;justify-content:space-between;font:10px monospace;letter-spacing:.5px;color:#a6b9ad;padding-bottom:24px;border-bottom:1px solid #344c40}.trace-dots{color:#6a7e70;font-size:10px;letter-spacing:4px}.badge-alert{color:var(--orange);border:1px solid #75583e;padding:3px 7px;border-radius:4px}.trace-label{font:12px monospace;margin:25px 0 8px;color:#c5d2c6}.trace-number{font-size:62px;line-height:1.1;letter-spacing:-3px;font-weight:500}.trace-number span{font:18px monospace;margin-left:10px;color:#94a696}.trace-note{font-size:11px;color:#abbead;margin:12px 0 25px}.trace-line{display:flex;justify-content:space-between;font:10px monospace;margin:13px 0 8px}.trace-line b{font-weight:400}.bar{height:6px;background:#304b3e;border-radius:3px;overflow:hidden}.bar span{height:100%;display:block;background:var(--accent);border-radius:3px}.bar .sql-bar{width:96%}.bar .app-bar{width:4%;background:#85a38c}.trace-code{font:9px/1.9 Consolas,monospace;white-space:pre-wrap;color:#d6dfd2;margin:23px 0}.trace-code span{color:#8da391}.trace-bottom{font-size:9px;color:#9caf9d;padding:15px 0;border-top:1px solid #344c40;display:flex;align-items:center;gap:8px}.method{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-top:30px;padding-bottom:54px}.method span{font:10px monospace;color:var(--muted);letter-spacing:1px}.method h2{font-size:18px;letter-spacing:-.5px;margin:9px 0 4px}.method p{font-size:13px;color:var(--muted);margin:0;max-width:260px}.practice-section{background:#e9eee3;padding:64px 0 50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2,.pack h2,.faq h2{font-size:35px;font-weight:500;line-height:1.2;letter-spacing:-1.4px;margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.practice-layout{display:grid;grid-template-columns:240px 1fr;gap:25px;align-items:start}.case-sidebar{display:grid;gap:10px}.case-choice{border:1px solid #cad4c3;background:transparent;text-align:left;padding:20px;border-radius:7px;color:var(--ink)}.case-choice.active{background:var(--dark);color:var(--white);border-color:var(--dark)}.case-choice span{font:10px monospace;letter-spacing:1px;display:block;color:#6b7b63}.case-choice.active span{color:var(--accent)}.case-choice strong{display:block;font-size:19px;font-weight:500;line-height:1.35;letter-spacing:-.3px;margin:10px 0}.case-choice small{font-size:10px;opacity:.75}.progress-box{padding:22px 8px;font-size:11px;color:var(--muted)}.progress-box strong{float:right;color:var(--ink);font-size:15px}.progress-box p{max-width:190px}.text-button{padding:0;background:none;border:0;border-bottom:1px solid currentColor;color:#3e5932;font-size:12px}.exercise{min-width:0;background:#fff;border-radius:8px;border:1px solid #d6ddcf;padding:32px}.exercise-meta{display:flex;justify-content:space-between;gap:15px;font:10px monospace;letter-spacing:.4px;color:var(--muted)}.exercise h3{font-size:27px;font-weight:500;letter-spacing:-.7px;line-height:1.2;margin:16px 0}.exercise>p{font-size:13px;color:#526159;margin-bottom:24px}.evidence-block{background:#f3f5f0;border:1px solid #e2e7dd;border-left:3px solid #aac575;border-radius:3px;padding:14px 16px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 Consolas,monospace}.hint-area{margin:22px 0}.hint-area ol{font-size:12px;color:#5d7052;padding-left:20px;margin:10px 0}.hint-area li{padding:3px 0}fieldset{border:0;padding:0;margin:0}legend{font-size:15px;line-height:1.5;font-weight:600;padding:0;margin-bottom:16px}#options{display:grid;gap:9px;margin-bottom:20px}.option{display:flex;align-items:start;gap:12px;font-size:12px;border:1px solid var(--line);padding:13px 14px;border-radius:5px;cursor:pointer}.option:hover{background:#f8faf4}.option:has(input:checked){border-color:#749746;background:#f2f8e9}.option input{accent-color:#4b7224;flex:0 0 auto;margin-top:4px}#feedback{margin-top:20px;padding:15px 17px;border:1px solid #cfdec2;border-radius:5px;font-size:13px;background:#eff8e4}#feedback.incorrect{background:#fff4e9;border-color:#ead2b4}#solution{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.6}#solution-body{font-size:13px;color:#526159}#solution-body h4{font-size:14px;color:var(--ink);margin:24px 0 8px}#solution-body li{margin:10px 0}#solution-body ul{padding-left:20px}#solution-body a{color:#406a25;text-decoration:underline;overflow-wrap:anywhere}.download-link{display:inline-flex;gap:20px;font-size:12px;margin-top:28px;border-bottom:1px solid #758e64;padding-bottom:3px}.pack{display:grid;grid-template-columns:1fr 1fr;gap:45px 75px;padding-top:76px;padding-bottom:76px}.pack h2{font-size:40px;margin:0 0 24px}.pack-copy>p:not(.eyebrow){max-width:430px;font-size:14px;color:var(--muted)}.pack-copy .small{font-size:11px!important;margin-top:20px}.syllabus-row{display:grid;grid-template-columns:32px 1fr 17px;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.syllabus-row:first-child{padding-top:0}.syllabus-row>span{font:11px monospace;color:#7d8c70}.syllabus-row strong{font-weight:500;font-size:14px}.syllabus-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.price-panel{grid-column:1/-1;background:var(--dark);color:#f0f4eb;border-radius:8px;padding:32px 38px;display:flex;align-items:center;justify-content:space-between;gap:40px}.price-panel .eyebrow{color:#a8bd9c;margin-bottom:4px}.price{font-size:52px;letter-spacing:-2px;line-height:1.2}.price span{font-size:29px;color:var(--accent)}.price-panel p{font-size:11px;color:#b1c0b0;margin:14px 0 0}.purchase-state{max-width:365px}.status-label{font-size:12px;color:var(--accent)}.purchase-state .button{margin-top:18px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;border-top:1px solid var(--line);padding-top:40px;padding-bottom:65px}.faq h2{font-size:26px}.faq details{padding:17px 0;border-bottom:1px solid var(--line)}.faq details:first-child{padding-top:0}.faq p{font-size:13px;color:var(--muted)}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.footer .brand{font-size:16px}.footer .brand-mark{width:25px;height:25px;font-size:18px}.footer p,.footer>span{font-size:10px;color:var(--muted)}
@media(max-width:980px){.brand-small{display:none}.hero{gap:30px}.hero h1{letter-spacing:-2px}.trace-card{padding:22px 22px 0}.practice-layout{grid-template-columns:195px 1fr}.pack{gap:40px}.wrap{width:calc(100% - 44px)}}
@media(max-width:720px){.header{min-height:82px}.header nav{gap:0}.header nav a:first-child{display:none}.brand{font-size:18px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:40px;gap:38px}.hero h1{font-size:48px}.lead{font-size:16px}.trace-card{max-width:480px;width:100%;transform:none}.method{grid-template-columns:1fr;gap:24px;padding-bottom:35px}.method p{max-width:none}.section-heading{display:block}.section-heading h2{font-size:29px}.section-heading>p{margin-top:15px}.practice-section{padding-top:40px}.practice-layout{display:block}.case-sidebar{grid-template-columns:1fr 1fr;margin-bottom:18px;gap:10px}.case-choice{padding:15px}.case-choice strong{font-size:16px}.progress-box{grid-column:1/-1;padding:9px 0}.progress-box p{display:inline;margin-left:12px;font-size:10px}.progress-box strong{float:none;margin-left:10px}.progress-box button{display:block;margin-top:8px}.exercise{padding:23px 18px}.exercise h3{font-size:25px}.evidence-block{font-size:10px;padding:11px}.pack{grid-template-columns:1fr;padding:45px 0;gap:25px}.pack h2{font-size:35px}.price-panel{display:block;padding:25px}.purchase-state{margin-top:25px}.faq{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.footer{flex-wrap:wrap}.footer p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.currency-links a{text-decoration:underline;text-underline-offset:3px;padding:3px}.currency-links a:hover{color:var(--accent)}
.catalog-samples{padding-top:64px;padding-bottom:58px}.sample-grid{display:grid;align-items:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-sample{padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;overflow-wrap:anywhere}.catalog-sample h3{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:14px 0}.catalog-sample>p:not(.eyebrow),.catalog-sample dd,.sample-note{font-size:13px;color:var(--muted)}.catalog-sample summary{margin-top:20px;color:#406a25}.catalog-sample dt{font-size:11px;font-weight:700;margin:18px 0 5px}.catalog-sample dd{margin:0}.sample-note{margin-top:22px}.coding-practice{grid-column:1/-1;border-top:1px solid var(--line);padding-top:30px}.coding-practice h3{font-size:26px;font-weight:500;line-height:1.3}.practice-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.practice-topics h4{font-size:17px;margin:0 0 9px}.practice-topics p,.coding-practice .small{font-size:13px;color:var(--muted)}@media(max-width:720px){.catalog-samples{padding-top:40px;padding-bottom:35px}.sample-grid,.practice-topics{grid-template-columns:1fr}.catalog-sample{padding:22px}.practice-topics{gap:15px}}
