:root{--brand:#d35400;--brand-dark:#a33f00;--brand-soft:#fff0e5;--ink:#202124;--muted:#64666b;--line:#e7ddd5;--paper:#fff;--page:#fffaf6;--code:#191919;--code-ink:#f6f6f6;--success:#1f7a4d;--max:1180px;--radius:16px;--shadow:0 10px 30px #351f1114;color:var(--ink);background:var(--page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page);min-width:320px;color:var(--ink);margin:0}a{color:var(--brand-dark);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--brand)}button,input{font:inherit}button{cursor:pointer}img,video,iframe{max-width:100%}code,pre,.mono{font-family:JetBrains Mono,Cascadia Code,Consolas,monospace}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.container{width:min(calc(100% - 32px), var(--max));margin-inline:auto}.site-header{z-index:50;backdrop-filter:blur(12px);background:#fffaf6f2;border-bottom:1px solid #d354002e;position:sticky;top:0}.header-inner{align-items:center;gap:24px;min-height:68px;display:flex}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:850;text-decoration:none;display:inline-flex}.brand-mark{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-family:Consolas,monospace;font-weight:900;display:grid}.brand-copy span{color:var(--brand)}.site-nav{align-items:center;gap:18px;margin-left:auto;display:flex}.site-nav a{color:var(--ink);font-size:.95rem;font-weight:650;text-decoration:none}.site-nav a:hover{color:var(--brand)}.nav-search{align-items:center;gap:8px;min-width:230px;display:flex}.nav-search input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:999px;padding:9px 13px}.nav-search input:focus{border-color:var(--brand);outline:3px solid #d3540026}.menu-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;margin-left:auto;padding:8px 10px;display:none}.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:64px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:24px;padding:34px 0;display:grid}.footer-grid h2,.footer-grid h3{margin:0 0 10px;font-size:1rem}.footer-grid p{color:var(--muted);max-width:60ch;line-height:1.6}.footer-links{align-content:start;gap:8px;display:grid}.footer-links a{text-decoration:none}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);padding:16px 0 28px;font-size:.9rem}.hero{padding:80px 0 52px}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:50px;display:grid}.eyebrow{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800}.hero h1{letter-spacing:-.05em;max-width:850px;margin:10px 0 18px;font-size:clamp(2.5rem,6vw,5.6rem);line-height:.95}.hero h1 span{color:var(--brand)}.hero p{color:var(--muted);max-width:65ch;font-size:1.18rem;line-height:1.7}.actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.button{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:800;text-decoration:none;display:inline-flex}.button:hover{background:var(--brand-dark);color:#fff}.button.secondary{color:var(--brand-dark);border-color:var(--line);background:#fff}.button.secondary:hover{border-color:var(--brand);background:var(--brand-soft)}.hero-code{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:22px;overflow:hidden;transform:rotate(1deg)}.hero-code-header{border-bottom:1px solid var(--line);gap:7px;padding:11px 15px;display:flex}.dot{background:var(--line);border-radius:999px;width:10px;height:10px}.hero-code pre{background:var(--code);color:var(--code-ink);min-height:280px;margin:0;padding:24px;line-height:1.75;overflow:auto}.hero-code .kw{color:#ff9f66}.section{padding:52px 0}.section.alt{border-block:1px solid var(--line);background:#fff}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(1.8rem,4vw,3rem)}.section-heading p{color:var(--muted);max-width:60ch;margin:0;line-height:1.6}.card-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:22px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:block;position:relative}.card:hover{box-shadow:var(--shadow);color:var(--ink);border-color:#d3540073;transform:translateY(-3px)}.card-number{color:var(--brand);align-items:center;gap:6px;font-family:Consolas,monospace;font-weight:900;display:inline-flex}.card h3{margin:10px 0 8px}.card p{color:var(--muted);margin:0;line-height:1.55}.method-grid{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(4,1fr);gap:0;display:grid;overflow:hidden}.method-step{border-right:1px solid var(--line);min-height:150px;padding:24px}.method-step:last-child{border-right:0}.method-step strong{color:var(--brand);margin-bottom:8px;display:block}.method-step p{color:var(--muted);margin:0;line-height:1.55}.page-header{padding:54px 0 30px}.page-header h1{letter-spacing:-.04em;margin:8px 0 12px;font-size:clamp(2.2rem,5vw,4rem)}.page-header p{max-width:75ch;color:var(--muted);font-size:1.08rem;line-height:1.7}.lesson-shell{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:30px;display:grid}.lesson-sidebar{border:1px solid var(--line);border-radius:var(--radius);background:#fff;position:sticky;top:92px;overflow:hidden}.lesson-sidebar h2{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:16px;font-size:.82rem}.lesson-list{display:grid}.lesson-list a{color:var(--ink);border-bottom:1px solid #f3ece7;grid-template-columns:28px 1fr;gap:8px;padding:12px 14px;font-size:.92rem;text-decoration:none;display:grid}.lesson-list a:last-child{border-bottom:0}.lesson-list a:hover{background:var(--brand-soft)}.lesson-list a.current{background:var(--brand-soft);color:var(--brand-dark);font-weight:800}.lesson-list .num{color:var(--brand);font-family:Consolas,monospace}.lesson-main{min-width:0}.lesson-heading{margin-bottom:24px}.lesson-kicker{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.9rem;display:flex}.lesson-heading h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(2.1rem,5vw,4rem)}.lesson-heading .summary{color:var(--muted);max-width:72ch;font-size:1.08rem;line-height:1.65}.breadcrumbs{color:var(--muted);margin-bottom:8px;font-size:.88rem}.breadcrumbs a{color:inherit}.video-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:20px 0 22px;overflow:hidden}.video-toggle{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-weight:800;display:flex}.video-toggle:hover{background:#fff8f3}.video-frame{aspect-ratio:16/9;background:#111;display:none}.video-card.open .video-frame{display:block}.video-frame iframe{border:0;width:100%;height:100%}.keyword-row{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;display:flex}.keyword-label{color:var(--muted);margin-right:2px;font-size:.88rem}.keyword{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:7px 10px;font-size:.86rem;text-decoration:none}button.keyword:hover,a.keyword:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.keyword.has-short:before{content:"▶";color:var(--brand);margin-right:6px;font-size:.7em}.lesson-player{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:hidden}.lesson-tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;background:#fffdfa;gap:0;display:flex;overflow-x:auto}.lesson-tab{border:0;border-right:1px solid var(--line);white-space:nowrap;color:var(--muted);background:0 0;padding:14px 16px;font-weight:750}.lesson-tab:hover{background:var(--brand-soft);color:var(--brand-dark)}.lesson-tab[aria-selected=true]{color:var(--brand-dark);box-shadow:inset 0 -3px 0 var(--brand);background:#fff}.lesson-panel{min-height:390px;padding:clamp(20px,4vw,42px)}.lesson-panel[hidden]{display:none}.lesson-panel h2{margin-top:0;font-size:clamp(1.55rem,3vw,2.2rem)}.lesson-panel p{max-width:78ch;line-height:1.75}.lesson-panel ul{line-height:1.75}.code-block{background:var(--code);color:var(--code-ink);border-radius:14px;margin:24px 0;position:relative;overflow:hidden}.code-label{color:#ccc;text-transform:uppercase;letter-spacing:.08em;background:#282828;justify-content:space-between;align-items:center;padding:9px 12px;font-size:.78rem;display:flex}.copy-code{color:#fff;background:#333;border:1px solid #444;border-radius:7px;padding:5px 8px;font-size:.76rem}.copy-code:hover{background:#444}.code-block pre{tab-size:4;margin:0;padding:20px;line-height:1.65;overflow:auto}.callout{border-left:4px solid var(--brand);background:var(--brand-soft);border-radius:0 10px 10px 0;margin:22px 0;padding:14px 16px;line-height:1.65}.exercise{background:#fffaf5;border:1px dashed #d3540080;border-radius:12px;margin-top:28px;padding:18px}.exercise strong{color:var(--brand-dark)}.lesson-nav{border-top:1px solid var(--line);background:#fffdfa;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:16px 18px;display:grid}.lesson-nav .status{color:var(--muted);text-align:center;white-space:nowrap;font-size:.88rem}.lesson-nav button,.lesson-nav a{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 13px;font-weight:750;text-decoration:none}.lesson-nav .next{background:var(--brand);color:#fff;border-color:var(--brand);justify-self:end}.lesson-nav .next:hover{background:var(--brand-dark)}.lesson-nav .back{justify-self:start}.lesson-nav button:disabled{opacity:.45;cursor:not-allowed}.lesson-boundary{color:var(--muted);justify-content:space-between;gap:16px;margin-top:18px;font-size:.9rem;display:flex}.modal-backdrop{z-index:100;background:#14100db8;place-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-backdrop.open{display:grid}.short-modal{background:#fff;border-radius:18px;width:min(860px,100%);max-height:min(90vh,900px);overflow:auto;box-shadow:0 20px 80px #00000059}.short-modal-header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.short-modal-header h2{margin:0;font-size:1.1rem}.short-modal-close{border:1px solid var(--line);background:#fff;border-radius:999px;width:36px;height:36px}.short-modal-content{grid-template-columns:minmax(220px,360px) 1fr;gap:24px;padding:20px;display:grid}.short-video{aspect-ratio:9/16;background:#111;border-radius:12px;overflow:hidden}.short-video iframe{border:0;width:100%;height:100%}.short-transcript{color:var(--muted);white-space:pre-line;line-height:1.7}.short-definition{font-weight:700;line-height:1.6}.promo{background:#fff;border:1px solid #ded8ce;border-radius:14px;margin:22px 0;padding:16px}.promo-label{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.68rem;font-weight:850}.promo h3{margin:8px 0 6px}.promo p{color:var(--muted);margin:0 0 10px;line-height:1.55}.promo a{font-weight:800}.search-page{padding-bottom:60px}.search-box{gap:10px;width:min(720px,100%);display:flex}.search-box input{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;min-width:0;padding:12px 14px}.search-results{gap:12px;margin-top:24px;display:grid}.search-result{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:16px;text-decoration:none}.search-result:hover{border-color:var(--brand);color:var(--ink)}.search-result small{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.search-result h2{margin:5px 0 4px;font-size:1.15rem}.search-result p{color:var(--muted);margin:0;line-height:1.5}.reference-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%}.reference-table th,.reference-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.reference-table th{background:var(--brand);color:#fff}.reference-table code{background:#f4f1ed;border-radius:5px;padding:3px 5px}.reference-group{margin:28px 0}.reference-group h2,.reference-group h3{margin-top:40px}.info-card-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin:28px 0;display:grid}.info-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px}.info-card h3{margin:0 0 4px}.info-card-subtitle{color:var(--muted);margin:0 0 12px;font-style:italic}.info-card-pros,.info-card-cons{margin-top:10px}.info-card-pros strong{color:var(--success)}.info-card-cons strong{color:var(--brand-dark)}.info-card-pros ul,.info-card-cons ul{margin:6px 0 0;padding-left:20px;line-height:1.55}.continue-card{background:var(--brand-soft);border:1px solid #d354004d;border-radius:12px;margin-top:18px;padding:14px 16px;display:none}.continue-card.visible{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-grid{grid-template-columns:220px 1fr;align-items:start;gap:40px;display:grid}.profile-photo img,.avatar-placeholder{width:220px;height:220px;box-shadow:var(--shadow);border-radius:999px}.profile-photo img{object-fit:cover}.avatar-placeholder{background:var(--brand);color:#fff;place-items:center;font-family:Consolas,monospace;font-size:3rem;font-weight:900;display:grid}.profile-bio h2{margin-top:0}.profile-bio p{max-width:68ch;line-height:1.75}.showcase-grid{gap:24px;display:grid}.showcase-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:26px;overflow:hidden}.showcase-body h2{margin:8px 0 10px;font-size:clamp(1.4rem,3vw,1.9rem)}.showcase-note{color:var(--muted);font-style:italic}.showcase-card .video-card{margin-top:18px;margin-bottom:0}.tag-row{flex-wrap:wrap;gap:14px;margin-top:16px;display:flex}.category-pills{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.category-pill{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:700;text-decoration:none}.category-pill:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.article-card .card-number{letter-spacing:.06em}.show-more-card{text-align:center;background:var(--brand-soft);border-style:dashed;border-color:#d3540066;flex-direction:column;justify-content:center;align-items:center;display:flex}.show-more-card:hover{background:var(--brand);border-color:var(--brand);color:#fff}.show-more-arrow{color:var(--brand);margin-bottom:6px;font-size:1.6rem}.show-more-card:hover .show-more-arrow{color:#fff}.show-more-card h3{margin:0 0 4px}.show-more-card p{color:var(--muted);margin:0}.show-more-card:hover p{color:#fff}@media (width<=980px){.site-nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;padding:18px 16px;display:none;position:absolute;top:68px;left:0;right:0}.site-nav.open{display:flex}.nav-search{min-width:0}.menu-toggle{display:block}.hero-grid,.lesson-shell,.profile-grid{grid-template-columns:1fr}.profile-photo{justify-content:center;display:flex}.hero-code{transform:none}.lesson-sidebar{position:static}.lesson-list,.card-grid,.method-grid{grid-template-columns:repeat(2,1fr)}.method-step:nth-child(2){border-right:0}.method-step:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=680px){.container{width:min(calc(100% - 22px), var(--max))}.hero{padding-top:50px}.hero h1{font-size:clamp(2.5rem,15vw,4.2rem)}.footer-grid,.card-grid,.method-grid,.lesson-list,.info-card-grid{grid-template-columns:1fr}.method-step{border-right:0;border-bottom:1px solid var(--line)}.method-step:last-child{border-bottom:0}.lesson-panel{min-height:330px}.lesson-nav{grid-template-columns:1fr 1fr}.lesson-nav .status{grid-area:1/1/auto/-1}.lesson-nav .back{grid-area:2/1}.lesson-nav .next{grid-area:2/2}.short-modal-content{grid-template-columns:1fr}.short-video{width:100%;max-width:330px;margin-inline:auto}.section-heading{display:block}.section-heading p{margin-top:10px}}
