:root{--ink:#221c17;--navy:#29211d;--green:#7a3f19;--green-dark:#55280f;--cream:#f4ead8;--paper:#fffaf0;--gold:#e9c46a;--red:#b33a3a;--muted:#74695f;--line:#dfcfb9;--shadow:0 20px 55px rgba(58,34,18,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,system-ui,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:20;display:flex;min-height:76px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffdf7f0;padding:10px 28px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;font:800 18px Sora}.brand img{width:46px;height:46px}.brand span{display:flex;flex-direction:column}.brand small{margin-top:2px;color:var(--muted);font:700 10px Manrope;letter-spacing:.04em}.status{display:flex;gap:10px}.status span{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:13px}.status span:nth-child(2){color:var(--red)}.layout{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 76px)}.sidebar{position:sticky;top:76px;display:flex;height:calc(100vh - 76px);flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);background:#f0ece1;padding:24px 16px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;border-radius:13px;padding:12px;color:var(--muted);font-weight:800}.sidebar nav a b{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e1ddd2;color:var(--navy)}.sidebar nav a:hover,.sidebar nav a.active{background:#fff;color:var(--ink);box-shadow:0 8px 24px #1124370f}.sidebar nav a.active b{background:var(--green);color:#fff}.level-card{border-radius:16px;background:var(--navy);color:#fff;padding:16px}.level-card div{display:flex;justify-content:space-between;font-size:12px}.level-card i,.quest i,.progress-card i,.quiz header i{display:block;height:7px;margin-top:10px;border-radius:9px;background:#ffffff26;overflow:hidden}.level-card em,.quest em,.progress-card em,.quiz header em{display:block;height:100%;border-radius:inherit;background:var(--gold)}.main{width:min(1080px,100%);margin:0 auto;padding:40px clamp(22px,5vw,64px) 80px}.eyebrow{margin:0 0 8px;color:var(--green);font:800 11px Sora;letter-spacing:.15em;text-transform:uppercase}.hero{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:34px;align-items:center;overflow:hidden;border-radius:28px;background:var(--navy);color:#fff;padding:clamp(30px,6vw,64px);box-shadow:var(--shadow)}.hero:after{position:absolute;right:-100px;bottom:-180px;width:380px;height:380px;border:55px solid rgba(247,201,72,.1);border-radius:50%;content:""}.hero .eyebrow{color:var(--gold)}.hero h1{max-width:620px;margin:0;font:800 clamp(42px,7vw,76px)/.98 Sora;letter-spacing:-.05em}.hero .lead{max-width:650px;color:#d8e1e9;line-height:1.7}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 17px;color:var(--ink);font-weight:800;cursor:pointer}.button:hover{transform:translateY(-1px)}.button.primary{border-color:var(--green);background:var(--green);color:#fff}.hero .button.primary{border-color:var(--gold);background:var(--gold);color:var(--navy)}.hero .button:not(.primary){border-color:#ffffff42;background:#ffffff10;color:#fff}.hero-mark{position:relative;z-index:1;display:grid;width:190px;height:190px;place-content:center;justify-self:center;border:18px solid var(--gold);border-radius:50%;text-align:center;box-shadow:0 0 0 12px #ffffff12}.hero-mark span{font:800 43px Sora}.hero-mark small{color:#d8e1e9}.cards{display:grid;gap:14px;margin:20px 0}.cards.three{grid-template-columns:repeat(3,1fr)}.metric{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:18px}.metric>span{grid-row:span 2;margin-right:14px;font-size:25px}.metric b{font:800 25px Sora}.metric small{color:var(--muted)}.daily{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;border:1px solid #d5c06a;border-radius:20px;background:#fff8d7;padding:25px;margin:20px 0 40px}.daily h2{margin:4px 0}.daily p:not(.eyebrow){margin:0;color:var(--muted)}.quest{min-width:170px}.quest>b{font:800 24px Sora}.quest i{background:#e1d497}.quest span{display:block;margin-top:7px;color:var(--muted);font-size:12px;text-align:right}.section-head,.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:34px 0 18px}.section-head h2,.page-head h1{margin:3px 0;font:800 clamp(28px,4vw,46px) Sora;letter-spacing:-.04em}.section-head>a{color:var(--green);font-weight:800}.page-head{display:block;margin-top:0}.page-head>p:not(.eyebrow){max-width:680px;color:var(--muted);line-height:1.6}.standard-callout{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;border-radius:18px;background:#e4efe9;padding:22px;margin-top:28px}.standard-callout>b{color:var(--green-dark);font:800 24px Sora}.standard-callout h3,.standard-callout p{margin:0}.standard-callout p{margin-top:4px;color:var(--muted);font-size:13px}.standard-callout a{font-weight:800;color:var(--green-dark)}.unit{margin:30px 0}.unit-title{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:var(--muted);font:800 12px Sora;letter-spacing:.14em;text-transform:uppercase}.unit-title i{height:1px;flex:1;background:var(--line)}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lesson-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;overflow:hidden;border:1px solid var(--line);border-left:5px solid var(--unit);border-radius:17px;background:var(--paper);padding:19px;transition:.2s}.lesson-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.lesson-card.wide{margin-bottom:26px}.lesson-card.done{background:#f0f7f3}.lesson-num{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--unit) 13%,white);color:var(--unit);font:800 14px Sora}.lesson-card small{color:var(--muted);font-size:11px}.lesson-card h3{margin:3px 0;font:800 17px Sora}.lesson-card p{margin:0;color:var(--muted);font-size:13px}.lesson-action{font-size:12px;font-weight:800;color:var(--green)}.back{display:inline-block;margin-bottom:16px;color:var(--green);font-weight:800}.lesson-page{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.lesson-page>header{border-top:8px solid var(--unit);padding:35px}.lesson-page>header span{color:var(--muted);font-size:12px;font-weight:800}.lesson-page>header h1{margin:8px 0 2px;font:800 clamp(34px,6vw,58px) Sora}.lesson-page>header p{margin:0;color:var(--muted);font-size:18px}.lesson-page>section{border-top:1px solid var(--line);padding:30px 35px}.lesson-page>footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:24px 35px}.vocab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.vocab-grid article{border:1px solid var(--line);border-radius:12px;padding:13px}.vocab-grid strong,.vocab-grid span{display:block}.vocab-grid strong{font:800 18px Sora}.vocab-grid span{color:var(--muted);font-size:13px}.dialogue{max-width:700px}.dialogue div{width:76%;border-radius:15px 15px 15px 4px;background:#e4efe9;padding:13px 15px;margin:9px 0}.dialogue div.reply{margin-left:auto;border-radius:15px 15px 4px;background:var(--navy);color:#fff}.dialogue b,.dialogue span{display:block}.dialogue span{margin-top:3px;color:var(--muted);font-size:13px}.dialogue .reply span{color:#cdd7e1}.note{background:#fff7d5}.game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.game-card{border:1px solid var(--line);border-radius:19px;background:var(--paper);padding:24px}.game-card>span{display:grid;width:50px;height:50px;place-items:center;border-radius:14px;background:#e4efe9;color:var(--green-dark);font:800 22px Sora}.game-card h2{margin:17px 0 5px;font:800 21px Sora}.game-card p{min-height:44px;margin:0 0 14px;color:var(--muted)}.game-card b{color:var(--green)}.game-card:hover{border-color:var(--green);transform:translateY(-2px)}.quiz{max-width:800px;margin:20px auto;border:1px solid var(--line);border-radius:23px;background:var(--paper);padding:28px}.quiz header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.quiz header>a{font-size:25px}.quiz header i{margin:0;background:#e3dfd5}.quiz h1{margin:12px 0 4px;font:800 clamp(38px,7vw,68px) Sora}.quiz>small{color:var(--muted)}.quiz>.eyebrow{margin-top:45px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.answers button{min-height:66px;border:2px solid var(--line);border-radius:13px;background:#fff;padding:13px;text-align:left;font-weight:800;cursor:pointer}.answers button:hover{border-color:var(--green)}.answers button.correct{border-color:var(--green);background:#dff3e8;color:var(--green-dark)}.answers button.wrong{border-color:var(--red);background:#f9e1e5;color:#901e31}.quiz-foot{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.quiz-foot p{font-weight:800}.result{display:grid;min-height:540px;place-content:center;text-align:center}.result>span{font-size:70px;color:var(--gold)}.result h1{margin:8px;font:800 47px Sora}.result p{color:var(--muted)}.result .actions{justify-content:center}.match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.match-grid button{min-height:84px;border:2px solid var(--line);border-radius:13px;background:var(--paper);padding:12px;font-weight:800;cursor:pointer}.match-grid button.selected{border-color:var(--gold);background:#fff7d3}.match-grid button.found{border-color:var(--green);background:#dff3e8;color:var(--green-dark);opacity:.6}.builder{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:26px}.build-zone{display:flex;min-height:110px;align-items:center;gap:8px;flex-wrap:wrap;border:2px dashed #bbb5a8;border-radius:15px;background:#f7f4ec;padding:20px;color:var(--muted)}.build-zone button,.word-bank button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 15px;color:var(--ink);font-weight:800;cursor:pointer}.word-bank{display:flex;min-height:90px;align-items:center;gap:8px;flex-wrap:wrap}.builder footer{display:flex;justify-content:space-between}.guide{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:25px}.guide form{display:flex;gap:8px}.guide input{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px 15px}.search-results{min-height:180px;border-radius:14px;background:#edf3ef;padding:20px;margin:16px 0}.search-results article{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #cedbd2;padding:9px 0}.search-results span{color:var(--muted)}.guide-prompts{display:flex;gap:8px;flex-wrap:wrap}.guide-prompts button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;color:var(--muted);cursor:pointer}.progress-card{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:30px}.progress-card h2{margin:0;font:800 30px Sora}.progress-card p,.progress-card small{color:var(--muted)}.progress-card i{background:#e2ded3}.progress-card em{background:var(--green)}.ring{position:relative;display:grid;width:150px;aspect-ratio:1;place-items:center;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),#dfddd5 0)}.ring:after{position:absolute;inset:14px;border-radius:50%;background:var(--paper);content:""}.ring span{position:relative;z-index:1;font:800 28px Sora}.subhead{margin-top:32px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.achievement-grid article{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#ece8dd;padding:18px;color:#959083}.achievement-grid article.unlocked{border-color:#d5c06a;background:#fff7d5;color:var(--ink)}.achievement-grid span{font-size:25px}.achievement-grid b{margin:7px 0;font:800 16px Sora}.achievement-grid small{color:var(--muted)}.policy{border-radius:22px;background:var(--navy);color:#fff;padding:32px}.policy h2{margin-top:0;font:800 30px Sora}.policy>p{color:#d4dde6;line-height:1.7}.conversion{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:24px 0}.conversion span{display:flex;flex-direction:column;border:1px solid #ffffff28;border-radius:12px;background:#ffffff0b;padding:13px}.conversion s{color:#a7b5c3}.conversion b{color:var(--gold);font:800 21px Sora}.conversion small{color:#cbd5df}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.source-grid article{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:20px}.source-grid article>span{display:inline-block;border-radius:8px;background:#e4efe9;padding:6px 9px;color:var(--green-dark);font:800 11px Sora}.source-grid h3{margin:14px 0 5px}.source-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.review-note{border-left:4px solid var(--gold);background:#fff8d7;padding:18px 20px;margin-top:18px}.review-note p{margin-bottom:0;color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;z-index:50;border-radius:12px;background:var(--ink);color:#fff;padding:13px 17px;box-shadow:var(--shadow);font-weight:800}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;inset:auto 12px 12px;z-index:19;height:auto;border:1px solid var(--line);border-radius:18px;background:#fffdf7f5;padding:8px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar nav{grid-template-columns:repeat(6,1fr)}.sidebar nav a{justify-content:center;padding:8px}.sidebar nav a span,.level-card{display:none}.main{padding-bottom:120px}.hero{grid-template-columns:1fr}.hero-mark{display:none}.conversion{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.topbar{padding:9px 14px}.brand{font-size:15px}.brand img{width:40px}.brand small{font-size:8px}.status span{display:none}.status span:last-child{display:block}.main{padding:24px 15px 110px}.hero{padding:30px 23px}.hero h1{font-size:43px}.cards.three,.lesson-grid,.game-grid,.answers,.vocab-grid,.source-grid,.achievement-grid,.daily,.standard-callout,.progress-card{grid-template-columns:1fr}.quest{min-width:0}.lesson-card{grid-template-columns:auto 1fr}.lesson-action{grid-column:2}.lesson-page>header,.lesson-page>section,.lesson-page>footer{padding:24px 20px}.lesson-page>footer{display:grid}.dialogue div{width:92%}.match-grid,.conversion{grid-template-columns:1fr 1fr}.guide form{display:grid}.search-results article{display:block}.sidebar nav a b{width:28px;height:28px}.sidebar nav{gap:2px}.sidebar nav a{padding:7px 3px}.page-head h1{font-size:37px}}.glyph{display:inline-block;vertical-align:middle;color:currentColor}.hero-glyph{position:relative;z-index:1;display:grid;min-height:220px;place-content:center;border:1px solid #ffffff24;border-radius:24px;background:#ffffff0b;text-align:center}.hero-glyph small{margin-top:15px;color:#e9c46a;font-weight:800}.lesson-glyph{grid-row:1 / span 2;grid-column:3}.lesson-title-glyph{float:right;min-width:180px;text-align:center;color:var(--green)}code{display:block;margin-top:7px;color:#8a6846;font:600 11px ui-monospace,monospace}.vocab-grid article>div{min-height:58px;display:flex;align-items:center}.quiz-prompt{min-height:86px}.plain-glyph{font:48px NewGardiner,serif}.render-demo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.render-demo span{display:grid;min-height:120px;place-items:center;border:1px solid #ffffff2b;border-radius:14px;padding:14px}.render-demo small{color:#d7c8b5}.render-demo b{color:var(--gold)}.source-grid code{overflow-wrap:anywhere}.source-link{margin-top:18px}@media(max-width:650px){.lesson-glyph{grid-column:2;grid-row:auto}.lesson-title-glyph{float:none;text-align:left}.render-demo{grid-template-columns:1fr}.hero-glyph{display:none}}
