:root{--paper:#f5f1e8;--paper-deep:#ebe6da;--card:#fffdf8;--ink:#172126;--ink-soft:#405057;--muted:#758188;--line:#dce0da;--coral:#ee6c4d;--coral-deep:#c95339;--mint:#8bc7a5;--lavender:#a9a3d9;--yellow:#e8bb5d;--danger:#c95252;--shadow:0 16px 40px rgba(39,48,45,.08);--shadow-strong:0 24px 70px rgba(39,48,45,.14);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;overflow-x:hidden;padding-bottom:calc(70px + var(--safe-bottom));touch-action:pan-y}.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1440px)/2 + 26px));background:rgba(245,241,232,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand strong{display:block;font-size:11px;letter-spacing:.12em;font-weight:800}.brand small{display:block;color:var(--muted);font-size:9px;margin-top:4px;letter-spacing:.03em}.logo{position:relative;width:38px;height:38px;border-radius:13px;background:var(--ink);display:grid;place-items:center;color:var(--paper);overflow:hidden}.logo b{font-family:Fraunces,serif;font-size:22px;font-weight:650;z-index:1}.logo i{position:absolute;width:22px;height:3px;background:var(--coral);bottom:7px;right:-3px;transform:rotate(-35deg)}.small-logo{width:31px;height:31px;border-radius:10px}.small-logo b{font-size:18px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.35);color:var(--ink);cursor:pointer;font-size:18px;display:grid;place-items:center;transition:transform .18s,background .18s,border-color .18s}.icon-btn:hover{background:var(--card);border-color:#c6cec7}.icon-btn:active,.btn:active,.option:active,.nav:active{transform:scale(.97)}.icon-btn.quiet{font-size:20px;color:var(--ink-soft)}.mobile-menu{display:none}.top-actions{display:flex;align-items:center;gap:8px}.xp{display:flex;align-items:center;gap:8px;padding:0 11px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.xp small{font-size:8px;letter-spacing:.14em;color:var(--muted)}.xp b{font-size:12px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.app-shell{display:flex;min-height:calc(100vh - 76px);position:relative}.sidebar{width:252px;flex:none;padding:30px 18px;border-right:1px solid var(--line);background:rgba(255,255,255,.18);position:sticky;top:76px;height:calc(100vh - 76px)}.drawer-head{display:none}.side-label{margin:0 12px 12px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.nav{width:100%;height:46px;display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);padding:0 11px;margin:0 0 5px;cursor:pointer;text-align:left;font:inherit;font-size:11px;transition:.18s}.nav i{font-style:normal;font-size:9px;color:#a7b0ad;width:18px}.nav span{flex:1;font-weight:600}.nav em{font-style:normal;opacity:0;font-size:13px}.nav:hover{background:rgba(255,255,255,.5);color:var(--ink)}.nav.active{background:var(--ink);color:var(--paper);box-shadow:0 9px 18px rgba(23,33,38,.12)}.nav.active i{color:var(--coral)}.nav.active em{opacity:1}.mission{margin:28px 4px 0;padding:17px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.mission-top{display:flex;justify-content:space-between;align-items:center}.eyebrow,.kicker{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);font-weight:800}.mission-mark{font-size:11px;color:var(--coral)}.mission strong{display:block;font-size:13px;margin:12px 0 14px}.mini,.progressbar{height:7px;border-radius:99px;background:var(--paper-deep);overflow:hidden}.mini i,.progressbar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--coral);transition:width .4s ease}.mission small{display:block;margin-top:8px;color:var(--muted);font-size:9px}.side-note{margin:25px 12px 0;padding-top:17px;border-top:1px solid var(--line)}.side-note span{font-size:8px;color:var(--coral);font-weight:800;letter-spacing:.15em}.side-note p{font:500 13px/1.55 Fraunces,serif;margin:8px 0;color:var(--ink-soft)}#app{width:100%;min-width:0}.view{width:100%;max-width:1240px;margin:auto;padding:48px 54px 105px}.hero{min-height:530px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);align-items:center;gap:54px}.kicker{color:var(--coral)}.hero h1{font:650 clamp(53px,7vw,88px)/.92 Fraunces,serif;letter-spacing:-.055em;margin:15px 0 23px;max-width:640px}.hero h1 .gradient,.gradient{color:var(--coral);background:none}.hero p{max-width:530px;color:var(--ink-soft);font-size:14px;line-height:1.8;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.btn{min-height:48px;border:0;border-radius:12px;padding:0 19px;background:var(--coral);color:#fff;font:700 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer;box-shadow:0 11px 22px rgba(238,108,77,.2);transition:transform .18s,background .18s}.btn:hover{background:var(--coral-deep)}.btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:none}.creator-line{font-size:9px;color:var(--muted);margin-top:24px}.creator-line b{color:var(--ink-soft)}.hero-note{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted);margin-top:18px}.dot{width:7px;height:7px;border-radius:50%;background:var(--mint)}.scene{height:440px;position:relative;overflow:hidden;border-radius:28px;background:var(--ink);box-shadow:var(--shadow-strong);isolation:isolate}.scene:before{content:"";position:absolute;inset:22px;border:1px solid rgba(245,241,232,.17);border-radius:20px}.grid3d{position:absolute;inset:0;background-image:linear-gradient(rgba(245,241,232,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(245,241,232,.06) 1px,transparent 1px);background-size:38px 38px;transform:perspective(500px) rotateX(62deg) translateY(150px) scale(1.5);opacity:.75}.scene:after{content:"PRESENT PERFECT";position:absolute;top:33px;left:34px;color:rgba(245,241,232,.58);font-size:9px;font-weight:800;letter-spacing:.17em}.orb{position:absolute;left:50%;top:51%;width:160px;height:160px;transform:translate(-50%,-50%);animation:float 6s ease-in-out infinite}.cube{position:absolute;inset:19px;transform:rotate(8deg) rotateX(12deg);border:1px solid rgba(245,241,232,.36);background:rgba(238,108,77,.96);box-shadow:18px 18px 0 rgba(169,163,217,.65),-16px -14px 0 rgba(139,199,165,.68);display:grid;place-items:center}.cube:before{content:"G";font:650 68px Fraunces,serif;color:var(--paper)}.cube-label{display:none}.face{display:none}.ring{position:absolute;left:50%;top:51%;width:300px;height:300px;border:1px solid rgba(245,241,232,.23);border-radius:50%;transform:translate(-50%,-50%) rotate(25deg)}.ring.r2{width:220px;height:220px;border-color:rgba(238,108,77,.55);transform:translate(-50%,-50%) rotate(-35deg)}.orbit{position:absolute;left:50%;top:51%;width:350px;height:120px;border:1px solid rgba(245,241,232,.25);border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg);animation:orbit 10s linear infinite}.particle{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--coral)}.p1{left:18%;top:29%}.p2{right:16%;bottom:25%;background:var(--mint)}.p3{left:27%;bottom:17%;background:var(--lavender)}.float-tag{position:absolute;padding:8px 10px;border:1px solid rgba(245,241,232,.2);background:rgba(23,33,38,.7);color:var(--paper);border-radius:8px;font-size:8px;letter-spacing:.06em}.tag1{top:18%;left:10%}.tag2{top:28%;right:8%}.tag3{bottom:20%;left:13%}.tag4{bottom:13%;right:11%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translate(-50%,-54%)}}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(346deg)}}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:13px 0 19px}.section-title h2{font:650 34px/1.05 Fraunces,serif;letter-spacing:-.04em;margin:6px 0}.section-title h3{font-size:15px;margin:0}.section-title p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card,.panel,.unit,.stat,.mistake,.empty{border:1px solid var(--line);background:var(--card);border-radius:20px;box-shadow:var(--shadow)}.card{padding:22px}.card h3{font:650 22px Fraunces,serif;margin:13px 0 8px}.card p,.muted{color:var(--muted);font-size:11px;line-height:1.7}.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:8px;letter-spacing:.1em;font-weight:800}.lab-layout,.builder{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:15px}.panel{padding:22px}.grammar-reactor{height:260px;position:relative;overflow:hidden;border-radius:18px;background:var(--ink);display:grid;place-items:center}.reactor-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(245,241,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(245,241,232,.07) 1px,transparent 1px);background-size:28px 28px;opacity:.6}.reactor-orbit{position:absolute;border:1px solid rgba(245,241,232,.22);border-radius:50%;width:215px;height:90px;transform:rotate(-18deg)}.orbit-b{width:145px;height:145px;transform:rotate(38deg);border-color:rgba(238,108,77,.7)}.reactor-core{position:relative;width:112px;height:112px;border-radius:50%;background:var(--paper);display:grid;place-content:center;text-align:center;z-index:1;box-shadow:0 0 0 10px rgba(238,108,77,.14)}.reactor-core span{font-size:20px;font-weight:800;color:var(--coral)}.reactor-core small{font-size:7px;letter-spacing:.13em;color:var(--muted);margin-top:5px}.reactor-node{position:absolute;color:var(--paper);font-size:8px;letter-spacing:.1em;font-weight:800;z-index:1}.node-a{left:14%;top:22%;color:var(--mint)}.node-b{right:12%;top:27%;color:var(--coral)}.node-c{left:14%;bottom:20%;color:var(--lavender)}.time-machine{padding:22px 3px 3px}.time-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.12em}.range{width:100%;accent-color:var(--coral);margin:17px 0 6px}.time-track{height:4px;border-radius:99px;background:var(--paper-deep);position:relative}.time-track i{position:absolute;left:0;top:-4px;width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(238,108,77,.17);transition:left .15s}.rule-box{margin-top:17px;padding:16px;border-radius:14px;background:#fbf6eb;border:1px solid #eee4d2}.rule-box strong{display:block;color:var(--coral);font-size:9px;margin-bottom:7px}.rule-box div{font-size:12px;line-height:1.65}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.option{min-height:58px;border:1px solid var(--line);border-radius:13px;background:transparent;color:var(--ink);padding:12px;text-align:left;cursor:pointer;font:inherit}.option:hover,.option.active{border-color:var(--coral);background:#fff8f2}.feedback{min-height:44px;margin-top:12px;padding:12px;border-radius:12px;background:#f2f4f0;font-size:10px;line-height:1.6}.feedback.good{border:1px solid rgba(139,199,165,.65);color:#346b4d;background:#f1f8f2}.feedback.bad{border:1px solid rgba(201,82,82,.35);color:#934545;background:#fff4f2}.touch-card{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.builder-stage{min-height:400px}.challenge-card{margin:17px 0 15px;padding:19px;border-radius:16px;background:#fbf6eb;border:1px solid #eee4d2}.challenge-card h3{font:650 24px/1.2 Fraunces,serif;margin:10px 0}.sentence-editor{width:100%;resize:vertical;min-height:132px;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff;color:var(--ink);font:500 14px/1.7 'Plus Jakarta Sans',sans-serif;outline:0}.sentence-editor:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(238,108,77,.13)}.editor-tools{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:9px}.text-btn{border:0;background:none;color:var(--coral);cursor:pointer;font-weight:700}.radar-list{display:grid;gap:10px;margin:17px 0}.radar-list>div{display:flex;gap:11px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--line)}.radar-list>div>span{color:var(--coral);font-size:10px;font-weight:800}.radar-list p{margin:0;font-size:11px}.radar-list small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.quiz{max-width:830px;margin:auto}.quiz-question{font:650 clamp(28px,5vw,44px)/1.12 Fraunces,serif;letter-spacing:-.035em;margin:24px 0}.review-box{margin-top:14px;padding:13px;border-radius:12px;background:#fff8e9;border:1px solid #f1dfae;font-size:10px;color:#80682e}.mistake-list{display:grid;gap:10px}.mistake{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.mistake h3{font:650 17px Fraunces,serif;margin:8px 0 5px}.mistake p{font-size:10px;color:var(--muted);margin:0;max-width:720px}.empty{padding:52px 30px;text-align:center;color:var(--muted);line-height:1.8}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:20px}.stat b{display:block;font:650 34px Fraunces,serif}.stat small{color:var(--muted);font-size:9px}.flash{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.toast{position:fixed;left:50%;bottom:calc(86px + var(--safe-bottom));transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:99px;font-size:10px;z-index:80;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}.site-credit{display:flex;justify-content:space-between;gap:20px;padding:18px max(18px,calc((100vw - 1440px)/2 + 26px));border-top:1px solid var(--line);color:var(--muted);font-size:8px;letter-spacing:.1em}.site-credit b{color:var(--ink-soft);letter-spacing:0}.gesture-hint{position:fixed;left:50%;bottom:90px;transform:translate(-50%,15px);opacity:0;z-index:60;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:99px;font-size:10px;transition:.25s}.gesture-hint.show{opacity:1;transform:translate(-50%,0)}.game-start,.settings-modal{position:fixed;inset:0;z-index:90;display:none}.game-start.open,.settings-modal.open{display:grid;place-items:center}.start-backdrop,.settings-backdrop{position:absolute;inset:0;background:rgba(23,33,38,.62);backdrop-filter:blur(8px)}.start-card,.settings-card{position:relative;width:min(92vw,520px);max-height:92vh;overflow:auto;background:var(--paper);border:1px solid rgba(255,255,255,.4);border-radius:28px;padding:28px;box-shadow:var(--shadow-strong);animation:modal-in .28s ease-out}.start-top,.settings-head{display:flex;align-items:flex-start;justify-content:space-between}.game-chip{font-size:8px;letter-spacing:.15em;color:var(--coral);font-weight:800}.start-logo{position:relative;width:74px;height:74px;border-radius:22px;background:var(--ink);color:var(--paper);display:grid;place-items:center;margin:31px 0 21px;overflow:hidden}.start-logo span{font:650 45px Fraunces,serif}.start-logo i{position:absolute;width:46px;height:5px;bottom:14px;right:-6px;background:var(--coral);transform:rotate(-35deg)}.start-kicker{color:var(--muted);font-size:9px;letter-spacing:.16em;font-weight:800}.start-card h1{font:650 55px/.94 Fraunces,serif;letter-spacing:-.05em;margin:12px 0}.start-card h1 em{font-style:normal;color:var(--coral)}.start-card>p{color:var(--muted);font-size:13px;margin:0}.player-card{display:flex;align-items:center;gap:12px;margin:28px 0 16px;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.player-avatar{width:38px;height:38px;border-radius:12px;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.player-card span,.player-card small{display:block;color:var(--muted);font-size:8px}.player-card b{display:block;font-size:12px;margin:3px 0}.player-xp{margin-left:auto;text-align:right}.player-xp b{font:650 22px Fraunces,serif;color:var(--coral)}.start-actions{display:grid;gap:8px}.start-play{width:100%;justify-content:space-between;display:flex;align-items:center}.start-play span,.start-secondary span{font-size:17px}.start-secondary{border:0;background:transparent;text-align:left;padding:10px 2px;color:var(--ink-soft);font:700 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer}.daily-mission{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0;padding:13px 14px;border-radius:14px;background:#fff8e9;border:1px solid #f1dfae}.daily-mission span{display:block;color:#94762b;font-size:8px;letter-spacing:.12em;font-weight:800}.daily-mission b{display:block;font-size:10px;margin-top:6px}.daily-mission strong{color:var(--coral);font-size:11px}.start-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:17px}.start-stats>div{text-align:center;border-right:1px solid var(--line)}.start-stats>div:last-child{border:0}.start-stats b{display:block;font:650 23px Fraunces,serif}.start-stats span{display:block;color:var(--muted);font-size:8px;margin-top:3px}.creator-mark{font-size:8px;color:var(--muted);text-align:center}.creator-mark b{color:var(--ink-soft)}.settings-card{width:min(92vw,460px)}.settings-head h2{font:650 32px Fraunces,serif;margin:7px 0 20px}.settings-group{padding:17px 0;border-top:1px solid var(--line)}.settings-label{display:block;color:var(--coral);font-size:8px;font-weight:800;letter-spacing:.16em;margin-bottom:9px}.setting-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;background:transparent;padding:12px 0;color:var(--ink);cursor:pointer}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:11px}.setting-row small{color:var(--muted);font-size:9px;margin-top:4px}.setting-row strong{font-size:9px;color:var(--coral);letter-spacing:.08em}.setting-row.danger strong,.danger-group .settings-label{color:var(--danger)}.settings-footer{text-align:center;color:var(--muted);font-size:8px;line-height:1.7;padding-top:15px}.settings-footer b{color:var(--ink-soft)}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.no-motion *,.no-motion *:before,.no-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
@media(max-width:980px){.sidebar{width:220px}.view{padding:38px 30px 100px}.hero{grid-template-columns:1fr;gap:30px}.scene{height:380px}.cards{grid-template-columns:1fr 1fr}.lab-layout,.builder{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.flash{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{padding-bottom:calc(78px + var(--safe-bottom))}.topbar{height:66px;padding:0 14px}.mobile-menu{display:flex;flex-direction:column;gap:4px}.mobile-menu span{display:block;width:16px;height:1.5px;background:var(--ink)}.brand small,.avatar{display:none}.brand strong{font-size:10px}.top-actions{gap:5px}.top-actions .quiet{display:none}.xp{height:36px}.app-shell{min-height:0}.sidebar{display:none}.view{padding:25px 15px calc(98px + var(--safe-bottom))}.hero{gap:22px;min-height:0}.hero h1{font-size:17vw;line-height:.88;margin:12px 0 18px}.hero p{font-size:12px;line-height:1.75}.actions{margin-top:21px}.actions .btn{width:100%}.scene{height:320px;border-radius:22px}.scene:before{inset:13px;border-radius:15px}.scene:after{top:24px;left:24px;font-size:8px}.grid3d{background-size:27px 27px}.orb{width:130px;height:130px}.cube{inset:16px}.cube:before{font-size:55px}.ring{width:235px;height:235px}.ring.r2{width:170px;height:170px}.orbit{width:280px;height:100px}.float-tag{font-size:7px;padding:7px}.tag1{top:20%;left:8%}.tag2{top:29%;right:6%}.tag3{bottom:19%;left:8%}.tag4{bottom:11%;right:7%}.section-title{align-items:flex-start;flex-direction:column;margin:8px 0 16px}.section-title h2{font-size:29px}.section-title p{font-size:10px}.cards{grid-template-columns:1fr;gap:9px}.card,.panel{padding:16px;border-radius:17px}.card h3{font-size:20px}.lab-layout,.builder{gap:9px}.grammar-reactor{height:230px}.reactor-core{width:100px;height:100px}.reactor-core span{font-size:17px}.option-grid{grid-template-columns:1fr;gap:8px}.option{min-height:56px}.builder-stage{min-height:350px}.challenge-card h3{font-size:21px}.quiz-question{font-size:29px}.stats{gap:7px}.stat{padding:15px}.stat b{font-size:29px}.flash{grid-template-columns:1fr}.mistake{align-items:stretch;flex-direction:column}.mistake .btn{width:100%}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;padding:7px 8px calc(7px + var(--safe-bottom));background:rgba(245,241,232,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:50}.mobile-nav button{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:51px;border-radius:12px;font:inherit}.mobile-nav button.active{background:var(--ink);color:var(--paper)}.mobile-nav span{font-size:19px;line-height:1}.mobile-nav small{font-size:8px;font-weight:700}.practice-dot{color:var(--coral)}.site-credit{display:none}.toast{bottom:calc(86px + var(--safe-bottom));max-width:90vw}.drawer-open .sidebar{display:block;position:fixed;z-index:70;inset:0 auto 0 0;width:min(88vw,330px);height:100dvh;background:var(--paper);box-shadow:20px 0 60px rgba(23,33,38,.18);padding:18px 15px}.drawer-open:after{content:"";position:fixed;inset:0;background:rgba(23,33,38,.4);z-index:60}.drawer-open .sidebar{z-index:70}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.drawer-brand{display:flex;align-items:center;gap:9px;font-size:13px}.side-label{margin-left:12px}.start-card,.settings-card{padding:21px;border-radius:23px}.start-card h1{font-size:45px}.start-logo{margin:26px 0 18px}.daily-mission{align-items:flex-start}.settings-head h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Stage lesson system */
.stage-lesson{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow);margin-bottom:15px}.lesson-visual-wrap{min-height:400px;background:var(--ink);position:relative;overflow:hidden;display:grid;place-items:center}.lesson-visual-wrap:before{content:"";position:absolute;inset:22px;border:1px solid rgba(245,241,232,.16);border-radius:17px}.lesson-stage-visual{width:min(80%,360px);height:230px;position:relative;color:var(--paper)}.visual-progress{position:absolute;left:28px;right:28px;bottom:22px;display:flex;align-items:center;gap:9px;color:rgba(245,241,232,.58);font-size:8px;letter-spacing:.15em}.visual-progress i{height:3px;flex:1;background:var(--coral);border-radius:99px}.lesson-visual-wrap.violet .visual-progress i{background:var(--lavender)}.lesson-visual-wrap.green .visual-progress i{background:var(--mint)}.lesson-visual-wrap.yellow .visual-progress i{background:var(--yellow)}.engine-core,.never-core,.master-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--coral);font:650 25px Fraunces,serif;z-index:1}.engine-ring,.life-orbit,.master-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(245,241,232,.45);border-radius:50%;transform:translate(-50%,-50%)}.engine-ring.e1{width:160px;height:160px}.engine-ring.e2{width:220px;height:95px;transform:translate(-50%,-50%) rotate(-22deg);border-color:var(--coral)}.engine-chip,.orbit-word,.master-chip{position:absolute;font-size:8px;letter-spacing:.1em;font-weight:800}.engine-chip.one{left:0;top:23%;color:var(--coral)}.engine-chip.two{right:4%;top:36%;color:var(--mint)}.engine-chip.three{left:22%;bottom:13%;color:var(--lavender)}.time-axis{position:absolute;left:8%;right:8%;top:50%;height:2px;background:var(--paper);opacity:.7}.time-axis:before,.time-axis:after{content:"";position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--coral)}.time-axis:after{right:0;background:var(--mint)}.time-axis span{position:absolute;top:15px;font-size:8px;letter-spacing:.12em}.time-axis span:last-child{right:0}.time-node{position:absolute;top:39%;font-size:9px;font-weight:800}.time-node.start{left:5%;color:var(--coral)}.time-node.duration{right:6%;color:var(--mint)}.time-glow{position:absolute;left:24%;right:24%;top:42%;height:18px;background:rgba(238,108,77,.2);filter:blur(15px)}.visual-label{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);font-size:9px;line-height:1.9;text-align:center;white-space:nowrap;color:rgba(245,241,232,.7)}.visual-label b{color:var(--coral)}.visit-card{position:absolute;top:36%;left:4%;width:43%;padding:15px 8px;border:1px solid rgba(139,199,165,.7);border-radius:12px;text-align:center}.visit-card.away{left:auto;right:4%;border-color:rgba(238,108,77,.7)}.visit-card span,.visit-card small{display:block;font-size:8px;letter-spacing:.1em}.visit-card b{display:block;font:650 28px Fraunces,serif;color:var(--mint);margin:6px}.visit-card.away b{color:var(--coral)}.visit-card small{color:rgba(245,241,232,.58)}.split-line{position:absolute;left:50%;top:25%;bottom:24%;border-left:1px dashed rgba(245,241,232,.28)}.question-orb{position:absolute;left:50%;top:36%;transform:translateX(-50%);width:80px;height:80px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font:650 45px Fraunces,serif}.question-path{position:absolute;left:11%;right:11%;top:71%;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.12em}.question-path i{flex:1;border-top:1px dashed rgba(245,241,232,.45)}.question-chip{position:absolute;left:50%;top:12%;transform:translateX(-50%);font-size:9px;padding:8px 10px;border:1px solid rgba(245,241,232,.2);border-radius:99px}.master-ring.r1{width:190px;height:190px}.master-ring.r2{width:125px;height:125px;border-color:var(--lavender)}.master-core{color:var(--lavender);font-size:15px}.master-chip.a{left:1%;top:22%;color:var(--coral)}.master-chip.b{right:0;top:50%;color:var(--mint)}.master-chip.c{left:29%;bottom:5%;color:var(--lavender)}.life-orbit{width:210px;height:85px;border-color:var(--mint);transform:translate(-50%,-50%) rotate(25deg)}.never-core{color:var(--mint)}.orbit-word.one{left:12%;top:30%;color:var(--coral)}.orbit-word.two{right:0;top:47%;color:var(--lavender)}.orbit-word.three{left:25%;bottom:6%;color:var(--mint)}.lesson-copy{padding:30px}.lesson-top,.challenge-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-badge,.question-chip{font-size:8px;letter-spacing:.1em;color:var(--coral);font-weight:800}.lesson-copy h3{font:650 32px/1.08 Fraunces,serif;letter-spacing:-.04em;margin:18px 0 10px}.lesson-copy>p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.formula-rail{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0}.formula-rail span{padding:9px 10px;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:800;letter-spacing:.07em}.formula-rail i{font-style:normal;color:var(--coral)}.lesson-demo{padding:15px;border-radius:12px;background:#fbf6eb;border:1px solid #eee4d2}.lesson-demo small{display:block;color:var(--coral);font-size:8px;letter-spacing:.12em;font-weight:800;margin-bottom:7px}.lesson-demo b{font:500 16px/1.4 Fraunces,serif}.lesson-note{margin:18px 0 22px;color:var(--muted);font-size:10px;line-height:1.7}.lesson-note span{color:var(--coral);font-weight:800;letter-spacing:.12em;margin-right:8px}.builder-result{display:flex;gap:11px;align-items:flex-start;margin-top:13px;padding:14px;border-radius:13px;background:#f2f4f0}.builder-result.success{background:#f1f8f2;border:1px solid rgba(139,199,165,.65)}.builder-result.error{background:#fff4f2;border:1px solid rgba(201,82,82,.35)}.result-status{font-size:20px;font-weight:800;color:var(--coral)}.result-copy strong{font-size:11px}.result-copy p{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0}.result-copy small{font-size:9px;color:var(--ink-soft)}.scenario-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbf6eb}.scenario-icon{width:44px;height:44px;border-radius:13px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:650 24px Fraunces,serif}.stage-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:var(--ink);color:var(--paper);border-radius:16px;margin-bottom:15px}.stage-score{font:650 24px Fraunces,serif;color:var(--coral)}.stage-path{display:flex;gap:5px;margin:16px 0}.stage-node{width:33px;height:7px;border-radius:99px;background:var(--paper-deep)}.stage-node.done{background:var(--mint)}.stage-node.active{background:var(--coral)}.stage-connector{flex:1;border-top:1px dashed var(--line);margin-top:3px}.stage-checklist{display:grid;gap:8px}.stage-check{padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-size:10px}.stage-check b{color:var(--coral);margin-right:6px}.scenario-next,.success-next,.wrong-next{margin-top:14px;padding:13px;border-radius:12px;background:#fbf6eb;font-size:10px;line-height:1.6}.scenario-next span,.success-next span,.wrong-next span{display:block;color:var(--muted);margin-top:4px}@media(max-width:620px){.stage-lesson{grid-template-columns:1fr}.lesson-visual-wrap{min-height:290px}.lesson-copy{padding:20px 16px}.lesson-copy h3{font-size:27px}.formula-rail{gap:5px}.formula-rail span{font-size:7px;padding:8px}.lesson-demo b{font-size:14px}}

/* Accessibility, onboarding and finishing polish */
.skip-link{position:fixed;left:12px;top:12px;z-index:120;padding:10px 14px;border-radius:10px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:800;transform:translateY(-160%);transition:transform .18s}.skip-link:focus{transform:none}button,a,input,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(238,108,77,.72);outline-offset:3px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.start-content[hidden],.onboarding-panel[hidden]{display:none}.onboarding-panel{padding:35px 4px 18px;text-align:left}.onboarding-dots{display:flex;gap:6px;margin-bottom:29px}.onboarding-dots i{display:block;width:28px;height:4px;border-radius:99px;background:var(--paper-deep)}.onboarding-dots i.active{background:var(--coral)}.onboarding-panel h2{font:650 39px/1.03 Fraunces,serif;letter-spacing:-.04em;margin:14px 0 11px;max-width:370px}.onboarding-panel p{color:var(--muted);font-size:13px;line-height:1.75;max-width:380px;margin:0 0 26px}.onboarding-panel .btn{width:100%;display:flex;align-items:center;justify-content:space-between}.onboarding-skip{display:block;margin:14px auto 0;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}.about-modal{position:fixed;inset:0;z-index:95;display:none;place-items:center}.about-modal.open{display:grid}.about-card{position:relative;width:min(92vw,430px);padding:28px;border-radius:25px;background:var(--paper);box-shadow:var(--shadow-strong);animation:modal-in .24s ease-out}.about-close{position:absolute;right:18px;top:18px}.about-logo{margin:8px 0 22px}.about-card h2{font:650 31px/1.05 Fraunces,serif;letter-spacing:-.04em;margin:12px 0}.about-card>p{color:var(--muted);font-size:12px;line-height:1.8}.about-credit{display:grid;gap:5px;padding-top:17px;margin-top:20px;border-top:1px solid var(--line);font-size:10px}.about-credit span{color:var(--muted)}.about-credit b{color:var(--ink-soft)}.stage-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:38px;width:auto;height:auto;min-height:38px;padding:5px 7px}.stage-node b{font-size:10px;color:var(--ink-soft)}.stage-node span{font-size:7px;color:var(--muted);white-space:nowrap}.stage-node.active b,.stage-node.active span{color:var(--paper)}.stage-node.done b{color:var(--ink)}
@media(max-width:620px){.onboarding-panel{padding:29px 2px 10px}.onboarding-panel h2{font-size:34px}.about-card{padding:23px}.about-card h2{font-size:28px}}

.start-top-actions{display:flex;gap:7px}.start-top-actions .icon-btn{width:34px;height:34px;font-size:16px}

/* Arabic localization: isolate RTL layout from English learning content. */
html[dir="rtl"] body{direction:rtl;text-align:right;font-family:Tahoma,Arial,sans-serif}
html[dir="rtl"] .lesson-copy,html[dir="rtl"] .onboarding-panel{text-align:right}
html[dir="rtl"] .side-label{margin-left:0;margin-right:12px}
html[dir="rtl"] .lesson-note span{margin-right:0;margin-left:8px}
html[dir="rtl"] .stage-check b{margin-right:0;margin-left:6px}
html[dir="rtl"] .skip-link{left:auto;right:12px}
html[dir="rtl"] .about-close{right:auto;left:18px}
html[dir="rtl"] .drawer-open .sidebar{inset:0 0 0 auto}
html[dir="rtl"] .mobile-nav{direction:rtl}
html[dir="rtl"] .sentence-editor,html[dir="rtl"] .lesson-demo b,html[dir="rtl"] .quiz-question,html[dir="rtl"] .option{direction:ltr;text-align:left}
html[dir="rtl"] .sentence-editor{unicode-bidi:plaintext}
