:root{--surface:#f6f8f5;--surface-raised:#ffffff;--surface-sunken:#ebf0ec;--line:#d5ded7;--line-strong:#7e9487;--ink:#13241b;--ink-muted:#4a5d52;--brand:#0e7a52;--brand-strong:#095c3d;--on-brand:#ffffff;--brand-soft:#ddf1e6;--brand-muted:#a9dcc0;--accent:#f2b33d;--on-accent:#2b1d00;--accent-soft:#fdf0d2;--accent-ink:#8a5a00;--danger:#c4320a;--danger-soft:#fde6dd;--info:#1d5fa8;--info-soft:#e1ecf8;--focus-ring:#1d5fa8;--shadow-1:0 1px 2px rgba(19,36,27,0.08);--shadow-2:0 8px 24px rgba(19,36,27,0.12);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--font-sans:Carlito,Calibri,"Segoe UI",system-ui,sans-serif;--font-mono:Inconsolata,Consolas,"Courier New",monospace;color-scheme:light}[data-theme=dark]{--surface:#0e1813;--surface-raised:#15221b;--surface-sunken:#0a120e;--line:#25382d;--line-strong:#5f7a6b;--ink:#e7f0ea;--ink-muted:#a2b4a9;--brand:#3fbf87;--brand-strong:#6cd3a4;--on-brand:#05140d;--brand-soft:#123627;--brand-muted:#1f5c42;--accent:#f5c15a;--on-accent:#2b1d00;--accent-soft:#3a2c0e;--accent-ink:#f5c15a;--danger:#ff8a65;--danger-soft:#3d1a10;--info:#7db3f0;--info-soft:#11263d;--focus-ring:#7db3f0;--shadow-1:0 1px 2px rgba(0,0,0,0.5);--shadow-2:0 8px 24px rgba(0,0,0,0.6);color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-underline-offset:2px}a:hover{color:var(--brand-strong)}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.display{font-size:48px;line-height:52px;letter-spacing:-.01em}.display,.h1,h1{font-weight:700;margin:0}.h1,h1{font-size:32px;line-height:38px}.h2,h2{font-size:24px;line-height:30px}.h2,.h3,h2,h3{font-weight:700;margin:0}.h3,h3{font-size:18px;line-height:24px}.body-lg{font-size:17px;line-height:26px}.body-sm{font-size:13px;line-height:18px}.label{font-size:13px;line-height:16px;font-weight:700}.caption{font-size:13px;line-height:18px}.formula{font-family:var(--font-mono);font-size:14px;line-height:20px;font-weight:600}.muted{color:var(--ink-muted)}p{margin:0 0 var(--space-3)}@media (max-width:640px){.display{font-size:34px;line-height:40px}.h1,h1{font-size:26px;line-height:32px}}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 var(--space-4)}.narrow{max-width:640px}.section{padding-top:var(--space-12);padding-bottom:var(--space-12)}.stack>*+*{margin-top:var(--space-4)}.stack-sm>*+*{margin-top:var(--space-2)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid{grid-gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid,.grid-2{display:grid;gap:var(--space-6)}.grid-2{grid-gap:var(--space-6);grid-template-columns:1fr 1fr}@media (max-width:800px){.grid-2{grid-template-columns:1fr}}.site-header{background:var(--surface-raised);position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:56px;gap:var(--space-4)}.logo{font-weight:700;font-size:22px;text-decoration:none}.logo,.logo:hover{color:var(--ink)}.nav{display:flex;gap:var(--space-4);align-items:center}.nav a{color:var(--ink);text-decoration:none;font-weight:700}.nav a:hover{color:var(--brand)}@media (max-width:640px){.nav .hide-sm{display:none}}.site-footer{background:var(--surface);color:var(--ink);overflow:hidden;padding:96px clamp(16px,2.5vw,32px) 0;margin-top:var(--space-12)}.foot-top{display:grid;grid-template-columns:7fr 3fr;grid-gap:32px;gap:32px;align-items:start}.foot-invite{font-size:clamp(34px,6.6vw,104px);line-height:1;letter-spacing:-.03em;font-weight:700;margin:0 0 24px;max-width:14ch}.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:17px}.foot-links a{color:var(--ink)}.foot-legal{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;font-size:16px;line-height:24px;margin-top:96px}.foot-legal,.foot-legal a{color:var(--ink-muted)}.foot-word{font-size:clamp(120px,30vw,460px);line-height:.8;font-weight:700;letter-spacing:-.05em;white-space:nowrap;margin:8px 0 0;transform:translateY(22%);color:var(--brand)}@media (max-width:720px){.foot-top{grid-template-columns:1fr}.foot-links{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.foot-top .btn{width:100%}.foot-word{font-size:34vw}}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6)}@media (max-width:640px){.card{padding:var(--space-4)}}.card-hover{transition:transform .2s}.card-hover:hover{transform:translateY(-2px)}.sunken{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font:700 15px/1 var(--font-sans);text-decoration:none;cursor:pointer;white-space:nowrap}.btn-sm{height:32px;padding:0 var(--space-3);font-size:13px}.btn-lg{height:48px;padding:0 var(--space-6);font-size:17px}.btn-block{width:100%}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-strong);color:var(--on-brand)}.btn-secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{border-color:var(--brand);color:var(--brand)}.btn-quiet{background:transparent;color:var(--brand);padding:0 var(--space-2)}.btn-quiet:hover{background:var(--brand-soft);color:var(--brand-strong)}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover{filter:brightness(.95);color:var(--on-accent)}.btn-danger{background:var(--surface-raised);color:var(--danger);border-color:var(--danger)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:13px;line-height:16px;font-weight:700}.badge-neutral{background:var(--surface-sunken);color:var(--ink)}.badge-brand{background:var(--brand-soft);color:var(--brand)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.level-badge{display:inline-flex;align-items:center;gap:var(--space-2)}.level-cells{display:inline-flex;align-items:flex-end;gap:2px;height:16px}.level-cells span{width:6px;border-radius:1px;border:1px solid var(--line-strong)}.level-cells span.on{background:var(--brand);border-color:var(--brand)}.level-cells span.on.gold{background:var(--accent);border-color:var(--accent)}.formula-chip{display:flex;align-items:center;gap:var(--space-2);background:var(--brand-soft);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);max-width:100%}.formula-chip code{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;overflow-x:auto;flex:1 1}.formula-chip .fn{color:var(--brand)}.progress-track{display:flex;gap:var(--space-1);flex-wrap:wrap}.progress-track span{flex:1 1;min-width:10px;height:12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong)}.progress-track span.done{background:var(--brand);border-color:var(--brand)}.product-card{display:flex;flex-direction:column;overflow:hidden;padding:0;border:0}.product-media{aspect-ratio:3/2;background-color:var(--brand-soft);position:relative;overflow:hidden;display:block;color:var(--ink);text-decoration:none}.product-media .stair{position:absolute;left:16px;bottom:16px;display:flex;align-items:flex-end;gap:4px}.product-media .stair span{width:22px;background:var(--surface-raised);border-radius:var(--radius-sm)}.product-media .stair span.on{background:var(--brand)}.product-media .stair span.on.gold{background:var(--accent)}.product-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1 1}.product-body .spacer{flex:1 1}.price{font-size:18px;font-weight:700}.price-old{color:var(--ink-muted);text-decoration:line-through;font-size:13px;margin-left:var(--space-2)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-weight:700;font-size:13px}.input,select.input,textarea.input{height:40px;padding:0 var(--space-3);width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font:15px var(--font-sans)}textarea.input{height:auto;min-height:88px;padding:var(--space-2) var(--space-3);line-height:22px}.input:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.hint{color:var(--ink-muted)}.check,.hint{font-size:13px;line-height:18px}.check{display:flex;gap:var(--space-2);align-items:flex-start}.check input{margin-top:2px;width:16px;height:16px;accent-color:var(--brand);flex-shrink:0}.alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:15px}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-info{background:var(--info-soft);color:var(--info)}.alert-success{background:var(--brand-soft);color:var(--ink)}.alert-promo{background:var(--accent-soft);color:var(--ink)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised)}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th{background:var(--surface-sunken);text-align:left;font-weight:700;white-space:nowrap}.table td,.table th{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.table td{vertical-align:top}.table tr:last-child td{border-bottom:0}.choice{display:block;width:100%;text-align:left;cursor:pointer;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font:15px/22px var(--font-sans);min-height:48px}.choice:hover{border-color:var(--brand)}.choice.selected{font-weight:700}.choice.correct,.choice.selected{border-color:var(--brand);background:var(--brand-soft)}.choice.wrong{border-color:var(--danger);background:var(--danger-soft)}.tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--line);margin-bottom:var(--space-4);overflow-x:auto}.tabs a,.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:var(--space-2) var(--space-3);font:700 15px var(--font-sans);color:var(--ink-muted);cursor:pointer;text-decoration:none;white-space:nowrap}.tabs .active{color:var(--brand);border-bottom-color:var(--brand)}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);border-radius:var(--radius-sm);padding:4px var(--space-3);font:700 13px var(--font-sans);cursor:pointer}.chip.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.skeleton{background:var(--surface-sunken);border-radius:var(--radius-md);min-height:20px}.center{text-align:center}.hr{border:0;border-top:1px solid var(--line);margin:var(--space-6) 0}.card-flat{background:var(--surface-raised);border-radius:var(--radius-lg);padding:var(--space-6)}@media (max-width:640px){.card-flat{padding:var(--space-4)}}.btn{transition:transform .15s,background .2s}.btn:active{transform:scale(.97)}.site-header.wide .container{max-width:none;padding-left:clamp(16px,2.5vw,32px);padding-right:clamp(16px,2.5vw,32px)}main:has(.h-close)+.site-footer{margin-top:0;padding-top:160px}.frag-sheet{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden;font-size:13px;line-height:18px}.frag-sheet table{border-collapse:collapse;width:100%;table-layout:fixed}.frag-sheet td,.frag-sheet th{border:1px solid var(--line);padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.frag-sheet tbody th,.frag-sheet thead th{background:var(--surface-sunken);color:var(--ink-muted);font-weight:700;text-align:center}.frag-sheet tbody th,.frag-sheet thead th:first-child{width:28px}.frag-sheet tr.head td{font-weight:700;background:var(--brand-soft)}.frag-sheet td.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.frag-sheet td.f{color:var(--brand);font-weight:700}.frag-sheet.compact{border:0;border-radius:0;height:100%}.frag-class{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-lg);overflow:hidden;font-size:13px;line-height:18px}.frag-class-video{position:relative;background:#0e1813;aspect-ratio:16/10}.frag-wm{position:absolute;top:18%;left:12%;color:rgba(255,255,255,.45);font-size:12px;line-height:15px}.frag-play{position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-40%,-50%);border-left:22px solid rgba(255,255,255,.85);border-top:14px solid transparent;border-bottom:14px solid transparent}.frag-bar{position:absolute;left:12px;right:12px;bottom:12px;height:4px;background:rgba(255,255,255,.25);border-radius:2px}.frag-bar i{display:block;width:38%;height:100%;background:#3fbf87;border-radius:2px}.frag-class-list{margin:0;padding:10px 12px;background:var(--surface-sunken);gap:8px}.frag-class-list,.frag-class-list ul{list-style:none;display:flex;flex-direction:column}.frag-class-list ul{margin:4px 0 0;padding:0;gap:4px}.frag-class-list ul li{display:flex;gap:6px;align-items:flex-start}.frag-check{width:14px;height:14px;flex-shrink:0;border:1px solid var(--line-strong);border-radius:3px;display:grid;place-items:center;font-size:10px;margin-top:2px}.frag-class-list li.done .frag-check{background:var(--brand);border-color:var(--brand)}.frag-class-list li{min-width:0;overflow-wrap:anywhere}@media (max-width:560px){.frag-class{grid-template-columns:1fr}}.frag-quiz{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:20px}.frag-q{margin:0 0 4px;font-weight:700}.frag-opt{border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:6px 10px;display:flex;justify-content:space-between}.frag-opt.right{border-color:var(--brand);background:var(--brand-soft);font-weight:700}.frag-opt b{color:var(--brand)}.frag-score{margin:4px 0 0;color:var(--ink-muted)}.frag-cert{background:var(--surface-raised);border:2px solid var(--brand);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;aspect-ratio:1.41;justify-content:center}.frag-cert-brand{font-weight:700;font-size:16px}.frag-cert-kind{font-size:12px;font-weight:700;color:var(--brand)}.frag-cert-name{font-size:22px;font-weight:700;line-height:1.2;margin-top:6px}.frag-cert-course{font-size:13px}.frag-cert-stair{display:flex;align-items:flex-end;gap:3px;margin:6px 0 2px}.frag-cert-stair i{width:10px;border:1px solid var(--line-strong);border-radius:2px}.frag-cert-stair i.on{background:var(--brand);border-color:var(--brand)}.frag-cert-code{font-size:12px;color:var(--accent-ink);font-weight:700}[data-motion=on] [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.2,.7,.1,1),transform .6s cubic-bezier(.2,.7,.1,1);transition-delay:var(--d,0s)}[data-motion=on] [data-reveal].is-in{opacity:1;transform:none}.page-title{font-size:clamp(34px,6.6vw,96px);line-height:.98;letter-spacing:-.03em}.foot-legal>span{max-width:68ch}.toko-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:32px;gap:32px;align-items:end}.toko-photo{margin:0}.toko-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:var(--radius-sm)}.toko-photo figcaption{font-size:13px;line-height:18px;color:var(--ink-muted);margin-top:6px}@media (max-width:720px){.toko-head{grid-template-columns:1fr}.toko-photo{display:none}}.body-lg{max-width:40em}