@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jost-cyrillic-300-normal-DcIdRxLM.woff2)format("woff2"),url(/assets/jost-cyrillic-300-normal-Da-u_v9v.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jost-latin-ext-300-normal--ixxmfGr.woff2)format("woff2"),url(/assets/jost-latin-ext-300-normal-DIStW2bt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jost-latin-300-normal-DkBQXsFU.woff2)format("woff2"),url(/assets/jost-latin-300-normal-Ckm9JHl_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-cyrillic-400-normal-bVZEi0jL.woff2)format("woff2"),url(/assets/jost-cyrillic-400-normal-Dk3McGkH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-ext-400-normal-CpdMQIMr.woff2)format("woff2"),url(/assets/jost-latin-ext-400-normal-Dsyb2mtt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-400-normal-q-RKOgPK.woff2)format("woff2"),url(/assets/jost-latin-400-normal-C7S-3Ky6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-cyrillic-500-normal-DtB2bvF0.woff2)format("woff2"),url(/assets/jost-cyrillic-500-normal-DlHwnXyv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-ext-500-normal-BkvHgcKf.woff2)format("woff2"),url(/assets/jost-latin-ext-500-normal-Cpxiadwk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2)format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Loren Blake Serif;src:url(/fonts/LorenBlakeSerif.woff2)format("woff2");font-display:swap}@font-face{font-family:Loren Blake Script;src:url(/fonts/LorenBlakeScript.woff2)format("woff2");font-display:swap}@font-face{font-family:Harmon;src:url(/fonts/Harmon.woff2)format("woff2");font-display:swap;unicode-range:U+0-2F,U+3A-FFFF}:root{--brown:#4f1f13;--bege:#bb8d73;--olive:#979952;--cream:#fcf4e9;--brown-90:#5e2c1f;--brown-70:#7a4a3b;--bege-soft:#e7d3c2;--bege-faint:#f3e6d8;--olive-soft:#dfe0c2;--gold:#c9a15b;--paper:#fbf3e7;--white:#fffaf3;--danger:#9b2c1c;--ink:var(--brown);--ink-soft:#6e4a3e;--font-title:"Loren Blake Serif", "Cormorant Garamond", Georgia, serif;--font-script:"Loren Blake Script", "Pinyon Script", cursive;--font-label:"Harmon", "Josefin Sans", "Jost", sans-serif;--font-body:"Jost", "Altone", system-ui, sans-serif;--radius:14px;--radius-sm:8px;--shadow:0 1px 0 #4f1f130d, 0 12px 32px -18px #4f1f1359;--ease:cubic-bezier(.22, .8, .3, 1);--paper-texture:url(/brand/paper-cream.jpg);--paper-brown:url(/brand/paper-brown.jpg)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--font-body);background:var(--paper) var(--paper-texture);-webkit-font-smoothing:antialiased;background-size:600px;margin:0;font-size:17px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brown)}img{max-width:100%}h1,h2,h3{font-family:var(--font-title);letter-spacing:.01em;margin:0 0 .4em;font-weight:400;line-height:1.15}h1{font-size:clamp(2.1rem,5vw,3.2rem)}h2{font-size:clamp(1.6rem,3.6vw,2.2rem)}h3{font-size:1.35rem}p{margin:0 0 1em}:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:6px}.script{font-family:var(--font-script);color:var(--bege);font-size:1.6em;line-height:1.1}.label{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;color:var(--brown-70);font-size:.78rem}.muted{color:var(--ink-soft)}.center{text-align:center}.stack>*+*{margin-top:1rem}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.spacer{flex:1}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.btn{--bg:var(--brown);--fg:var(--cream);border:1px solid var(--bg);background:var(--bg);min-height:48px;color:var(--fg);cursor:pointer;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;transition:transform .2s var(--ease), background .2s, box-shadow .2s, opacity .2s;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.5rem;font-size:.82rem;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px -10px #4f1f1399}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{--bg:transparent;--fg:var(--brown);border-color:var(--bege)}.btn.ghost:hover:not(:disabled){background:var(--bege-faint)}.btn.olive{--bg:var(--olive);--fg:var(--white)}.btn.bege{--bg:var(--bege);--fg:var(--white)}.btn.cream{--bg:var(--cream);--fg:var(--brown)}.btn.small{min-height:36px;padding:.4rem 1rem;font-size:.7rem}.btn.danger{--bg:transparent;--fg:var(--danger);border-color:#d8a99d}.btn.block{width:100%}.topbar .btn{white-space:nowrap}@media (width<=520px){.topbar .brand .label{display:none}.topbar .brand b{font-size:1.05rem}}.linkbtn{color:var(--brown-70);cursor:pointer;background:0 0;border:0;padding:0;font-size:.92rem;text-decoration:underline}.card{border:1px solid var(--bege-soft);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffaf3d1;padding:1.4rem;position:relative}.card.framed:after{content:"";border:1px solid var(--bege-soft);border-radius:calc(var(--radius) - 5px);pointer-events:none;position:absolute;inset:6px}.divider{opacity:.9;width:min(260px,70%);height:auto;margin:1rem auto;display:block}.rule{background:linear-gradient(90deg, transparent, var(--bege), transparent);border:0;height:1px;margin:1.5rem 0}.field{gap:.35rem;display:grid}.field>span{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;color:var(--brown-70);font-size:.72rem}.input,select.input,textarea.input{border:1px solid var(--bege-soft);background:var(--white);border-radius:10px;width:100%;min-height:48px;padding:.7rem 1rem;transition:border-color .2s,box-shadow .2s}textarea.input{resize:vertical;min-height:90px}.input:focus{border-color:var(--bege);outline:none;box-shadow:0 0 0 3px #bb8d7333}.error{color:var(--danger);font-size:.95rem}.notice{background:var(--bege-faint);border-left:3px solid var(--bege);border-radius:6px;padding:.8rem 1rem;font-size:.95rem}.notice.olive{border-color:var(--olive);background:#eef0dc}.notice.danger{border-color:var(--danger);background:#f7e3dd}.progress{background:var(--bege-faint);border-radius:99px;height:8px;overflow:hidden}.progress>i{background:linear-gradient(90deg, var(--bege), var(--olive));border-radius:inherit;height:100%;transition:width .6s var(--ease);display:block}.chip{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--bege-soft);color:var(--brown-70);background:var(--white);border-radius:99px;align-items:center;gap:.35rem;padding:.2rem .7rem;font-size:.66rem;display:inline-flex}.chip.olive{border-color:var(--olive);color:#5f6131;background:#f1f2e2}.chip.brown{border-color:var(--brown);color:var(--cream);background:var(--brown)}.chip.bege{border-color:var(--bege);color:var(--brown);background:var(--bege-faint)}.seal{background:radial-gradient(circle at 35% 30%, #d4b08b, var(--bege) 60%, #9c6e55);width:74px;height:74px;color:var(--white);box-shadow:inset 0 0 0 3px #ffffff59, inset 0 0 0 6px var(--bege), 0 6px 14px -6px #4f1f1380;font-family:var(--font-script);border-radius:50%;flex:none;place-items:center;font-size:1.9rem;display:grid}.seal.small{width:40px;height:40px;font-size:1.1rem;font-family:var(--font-title)}.page{width:min(1080px,100% - 2.2rem);margin:0 auto;padding:1.5rem 0 4rem}.page.narrow{width:min(720px,100% - 2rem)}.topbar{border-bottom:1px solid var(--bege-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#fcf4e9d9;align-items:center;gap:1rem;padding:.8rem clamp(1rem,4vw,2.4rem);display:flex;position:sticky;top:0}.topbar .brand{align-items:center;gap:.7rem;text-decoration:none;display:flex}.topbar .brand img{width:auto;height:42px}.topbar .brand b{font-family:var(--font-title);color:var(--brown);font-size:1.2rem;font-weight:400}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;display:grid}.section-head{flex-wrap:wrap;align-items:baseline;gap:1rem;margin:2.4rem 0 1rem;display:flex}.section-head h2{margin:0}.section-head .script{font-size:1.4rem}.fade-in{animation:fadeIn .7s var(--ease) both}.rise{animation:rise .7s var(--ease) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{box-shadow:0 0 #9b2c1c73}50%{box-shadow:0 0 0 14px #9b2c1c00}}@keyframes stamp{0%{opacity:0;transform:scale(1.6)rotate(-12deg)}60%{opacity:1;transform:scale(.94)rotate(3deg)}to{transform:none}}.spinner{border:2px solid var(--bege-soft);border-top-color:var(--brown);border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.loading{min-height:40vh;color:var(--ink-soft);place-items:center;gap:1rem;display:grid}.modal-backdrop{z-index:50;background:#4f1f1373;place-items:center;padding:1rem;animation:.3s both fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--paper) var(--paper-texture);border-radius:var(--radius);width:min(560px,100%);max-height:90vh;animation:rise .4s var(--ease) both;padding:1.8rem;overflow:auto;box-shadow:0 30px 60px -20px #00000080}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th{text-align:left;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;color:var(--brown-70);border-bottom:1px solid var(--bege-soft);padding:.6rem .5rem;font-size:.68rem;font-weight:400}.table td{border-bottom:1px solid var(--bege-faint);vertical-align:top;padding:.7rem .5rem}.table tr:hover td{background:#f3e6d859}.table-wrap{overflow-x:auto}.welcome{background:var(--brown) var(--paper-brown);min-height:100svh;color:var(--cream);text-align:center;background-size:600px;place-items:center;padding:3rem 1.2rem 4.5rem;display:grid;position:relative;overflow:hidden}.welcome-pattern{opacity:.07;background:url(/brand/pattern-brown-bege.jpg) 50%/520px;position:absolute;inset:0}.welcome-pattern:after{content:"";background:radial-gradient(ellipse at center, transparent 30%, var(--brown) 80%);position:absolute;inset:0}.welcome-inner{justify-items:center;max-width:620px;display:grid;position:relative}.welcome-logo{width:min(250px,62vw);margin-bottom:1.6rem}.welcome h1{color:var(--cream);margin-bottom:.1rem}.welcome .script{color:var(--bege);margin:0;font-size:clamp(1.4rem,4.5vw,2rem)}.welcome-text{color:#f1e3d3;max-width:30em;margin-top:1.6rem;margin-bottom:2rem;font-size:1.08rem}.welcome-motto{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;color:var(--bege);margin-top:2.2rem;font-size:.7rem}.welcome-foot{color:var(--bege);gap:.7rem;font-size:.85rem;display:flex;position:absolute;bottom:1.2rem}.welcome-foot a{color:var(--bege);text-decoration:none}.welcome-foot a:hover{text-decoration:underline}.practice-head{gap:.55rem;margin-bottom:1rem;padding:.4rem 0 .6rem;display:grid}.mission-dots{justify-content:center;gap:.5rem;display:flex}.mission-dots span{width:28px;height:28px;font-size:.78rem;font-family:var(--font-label);border:1px solid var(--bege-soft);color:var(--brown-70);background:var(--white);border-radius:50%;place-items:center;transition:all .3s;display:grid}.mission-dots span.current{border-color:var(--brown);color:var(--brown);box-shadow:0 0 0 3px var(--bege-faint)}.mission-dots span.done{background:var(--olive);border-color:var(--olive);color:var(--white)}.question{padding:clamp(1.4rem,4vw,2.2rem)}.question-text{font-family:var(--font-title);margin:1.1rem 0 1.3rem;font-size:clamp(1.45rem,4.4vw,2rem);line-height:1.3}.listen{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.speed{border:1px solid var(--bege-soft);background:var(--white);border-radius:99px;display:inline-flex;overflow:hidden}.speed button{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;color:var(--brown-70);cursor:pointer;background:0 0;border:0;padding:.45rem .9rem;font-size:.64rem}.speed button.on{background:var(--bege-faint);color:var(--brown)}.hint{margin-top:1rem}.hint .linkbtn,.hint .notice{align-items:center;gap:.4rem;display:inline-flex}.recorder{text-align:center;justify-items:center;gap:.8rem;display:grid}.mic{--lvl:0;cursor:pointer;width:96px;height:96px;color:var(--cream);background:radial-gradient(circle at 35% 30%, var(--brown-70), var(--brown));box-shadow:0 0 0 6px var(--bege-faint), 0 14px 28px -12px #4f1f13b3;transition:transform .2s var(--ease), box-shadow .1s;border:0;border-radius:50%;place-items:center;display:grid}.mic:hover{transform:scale(1.04)}.mic.on{background:radial-gradient(circle at 35% 30%, #b8432f, var(--danger));box-shadow:0 0 0 calc(6px + var(--lvl) * 14px) #9b2c1c2e;animation:1.6s infinite pulse}.mic:disabled{opacity:.6}.rec-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;margin-right:.3rem;animation:.8s infinite alternate fadeIn;display:inline-block}.saved{color:#5f6131;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.cheer{z-index:30;font-family:var(--font-script);color:var(--brown);box-shadow:var(--shadow);animation:rise .5s var(--ease) both;pointer-events:none;background:#fcf4e9f5;border-radius:99px;padding:.6rem 2rem;font-size:2.6rem;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.stamp{place-items:center;display:grid}.stamp .seal{width:110px;height:110px;animation:stamp .9s var(--ease) both .2s;font-size:3rem}.reveal{margin-top:.9rem}.reveal-btn{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--bege);color:var(--brown-70);padding-bottom:2px;font-size:.7rem;text-decoration:none}.reveal-body{transition:grid-template-rows .45s var(--ease), opacity .35s;opacity:0;grid-template-rows:0fr;display:grid}.reveal-body.open{opacity:1;grid-template-rows:1fr}.reveal-inner{overflow:hidden}.translation{font-family:var(--font-title);color:var(--brown-70);border-left:2px solid var(--bege-soft);margin:.8rem 0 .4rem;padding-left:.9rem;font-size:1.12rem;font-style:italic}.glossary{gap:.25rem;margin:.4rem 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.glossary li:before{content:"·";color:var(--bege);margin-right:.45rem}.glossary b{color:var(--brown);font-weight:500}.glossary span{color:var(--ink-soft)}.explore{background:var(--white);border:1px solid var(--bege-soft);border-radius:var(--radius-sm);padding:1.1rem 1.2rem;position:relative}.explore:before{content:"";border:1px solid var(--bege-faint);pointer-events:none;border-radius:6px;position:absolute;inset:4px}.examples{gap:.45rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.examples li{font-family:var(--font-title);padding-left:1.1rem;font-size:1.12rem;line-height:1.35;position:relative}.examples li:before{content:"";background:var(--bege);width:.45rem;height:1px;position:absolute;top:.62em;left:0}.tip{margin:0;font-size:.96rem}.examples-note{border-top:1px solid var(--bege-faint);font-family:var(--font-title);color:var(--brown-70);text-align:center;margin:1.1rem 0 0;padding-top:.8rem;font-size:1rem;font-style:italic}.tnav{border-bottom:1px solid var(--bege-soft);z-index:9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fcf4e9b3;gap:.3rem;padding:.6rem clamp(1rem,4vw,2.4rem);display:flex;position:sticky;top:66px;overflow-x:auto}.tnav a{white-space:nowrap;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;color:var(--brown-70);border-radius:99px;padding:.45rem .95rem;font-size:.7rem;text-decoration:none}.tnav a:hover{background:var(--bege-faint)}.tnav a.active{background:var(--brown);color:var(--cream)}.teacher h1{font-size:clamp(1.8rem,4vw,2.4rem)}.stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.stat{text-align:center;padding:1.2rem .8rem}.stat b{font-family:var(--font-title);color:var(--brown);font-size:2.4rem;font-weight:400;line-height:1;display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;display:grid}.form-grid .wide{grid-column:1/-1}.qrow{border-bottom:1px solid var(--bege-faint);grid-template-columns:auto 1fr auto;align-items:start;gap:.8rem;padding:.8rem 0;display:grid}.qrow .num{font-family:var(--font-label);color:var(--brown-70);min-width:1.8rem;padding-top:.2rem;font-size:.75rem}.qrow.inactive{opacity:.5}.compare{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=700px){.compare{grid-template-columns:1fr}}.code-box{font-family:var(--font-label);letter-spacing:.1em;background:var(--white);border:1px dashed var(--bege);text-align:center;color:var(--brown);-webkit-user-select:all;user-select:all;border-radius:10px;padding:1rem;font-size:1.15rem}
