:root{--u:1vmin;--r:10px;--bg:#f7f4ee;--bg-2:#eef2ec;--surface:#fff;--surface-2:#f1ede5;--ink:#17120f;--muted:#70675f;--line:#ded6ca;--edge:#c8beb0;--brand:#075f57;--brand-text:#064a44;--brand-edge:#043a35;--brand-soft:#e3efec;--blue:#263f8f;--blue-edge:#182b66;--red:#df5b49;--red-edge:#a33b2e;--gold:#f2b544;--gold-edge:#9a6a18;--good:#2d9c6b;--good-edge:#1e6f4b;--grape:#4662b8;--good-soft:#e2f4e9;--bad-soft:#fce7e2;--blue-soft:#e8ecf7;--gold-soft:#fff2d6;--bird-body:#14211f;--bird-belly:#f7f4ee;--bird-beak:#f2b544;--bird-casque:#315fcb;--bird-feet:#14746b}:root[data-theme=dark]{--bg:#0f1816;--bg-2:#102521;--surface:#182421;--surface-2:#20312d;--ink:#eef8f4;--muted:#9db4ad;--line:#31453f;--edge:#09110f;--brand:#31b8a8;--brand-text:#7ee2d5;--brand-edge:#168276;--brand-soft:#143b36;--blue:#7d9cff;--blue-edge:#496cd9;--red:#ff7059;--red-edge:#b03a26;--gold:#ffc93f;--gold-edge:#b8862a;--good:#46c483;--good-edge:#248a55;--grape:#b48cff;--good-soft:#17371f;--bad-soft:#3d1a14;--blue-soft:#17254a;--gold-soft:#3a2c14;--bird-body:#09110f;--bird-belly:#eef8f4;--bird-beak:#f5b82e;--bird-casque:#7d9cff;--bird-feet:#31b8a8}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Outfit,system-ui,-apple-system,sans-serif;overflow:hidden}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}.app{gap:calc(var(--u) * 1.6);height:100%;padding:calc(var(--u) * 2) calc(var(--u) * 3.5) calc(var(--u) * 2);background:linear-gradient(90deg, #075f570d 0 1px, transparent 1px 100%), linear-gradient(180deg, #075f570a 0 1px, transparent 1px 100%), linear-gradient(180deg, #ffffffad, transparent 38%), var(--bg);background-size:calc(var(--u) * 12) calc(var(--u) * 12), calc(var(--u) * 12) calc(var(--u) * 12), auto, auto;flex-direction:column;display:flex}.stage{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.hud{gap:calc(var(--u) * 1.4);flex-direction:column;display:flex}.hud-top{justify-content:space-between;align-items:center;gap:calc(var(--u) * 1.6);display:flex}.title{font-size:min(calc(var(--u) * 2.9), 2.4vw);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:calc(var(--u) * 1);text-overflow:ellipsis;flex:0 auto;min-width:0;font-weight:900;display:flex;overflow:hidden}.brand-mark,.brand-bird{width:calc(var(--u) * 4.8);height:calc(var(--u) * 4.8);border-radius:calc(var(--r) * .9);border:2px solid var(--line);background:#ffffffb8;flex:none;place-items:center;display:grid;overflow:hidden}.brand-bird .hornbill{transform:translateY(calc(var(--u) * .15));width:calc(var(--u) * 4.2)!important;height:calc(var(--u) * 4.2)!important}.stats{gap:calc(var(--u) * 1.2);flex:none;align-items:center;display:flex}.stat{align-items:center;gap:calc(var(--u) * .9);padding:calc(var(--u) * 1) calc(var(--u) * 1.8);border-radius:calc(var(--r) * 1.2);background:var(--surface);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge);box-shadow:none;line-height:1;display:flex}.stat .ic{font-size:calc(var(--u) * 2.4)}.stat b{font-size:calc(var(--u) * 2.8);font-weight:900}.stat small{font-size:calc(var(--u) * 1.2);color:var(--muted);letter-spacing:.14em;font-weight:900}.stat.level b{color:var(--grape)}.stat.streak b{color:var(--gold)}.stat.xp b{color:var(--good)}.stat.bump{animation:.4s cubic-bezier(.34,1.56,.64,1) bump}.tools{gap:calc(var(--u) * .8);flex:none;align-items:center;display:flex}.icon-btn{width:calc(var(--u) * 5);height:calc(var(--u) * 5);border-radius:calc(var(--r) * 1.1);background:var(--surface);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge);font-size:calc(var(--u) * 2.2);place-items:center;transition:transform 80ms,background .15s;display:grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn:active{border-bottom-width:2px;transform:translateY(2px)}.icon-btn.off{opacity:.45}.icon-btn.synced{border-color:var(--good);color:var(--good-edge);background:var(--good-soft)}.tool{padding:calc(var(--u) * 1) calc(var(--u) * 1.8);background:var(--surface);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge);font-weight:900;font-size:calc(var(--u) * 1.35);letter-spacing:.08em;color:var(--muted);border-radius:14px;transition:transform 80ms,background .15s,color .15s}.tool:hover{background:var(--surface-2);color:var(--ink)}.tool:active{border-bottom-width:2px;transform:translateY(2px)}.progress-row{align-items:center;gap:calc(var(--u) * 1.6);display:flex}.progress-label{font-size:calc(var(--u) * 1.4);letter-spacing:.12em;color:var(--muted);white-space:nowrap;font-weight:900}.bar{height:calc(var(--u) * 2.2);background:var(--line);border-radius:999px;flex:1;position:relative;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--blue), var(--good));border-radius:999px;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);position:relative}.bar-fill:after{content:"";background:#ffffff73;border-radius:999px;height:26%;position:absolute;inset:18% 8% auto 4%}.card{background:var(--surface);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge);border-radius:calc(var(--r) * 1.1);padding:calc(var(--u) * 3);box-shadow:none}.kicker{font-size:calc(var(--u) * 1.4);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;font-weight:900}.prompt{font-size:calc(var(--u) * 3.4);letter-spacing:-.01em;font-weight:900;line-height:1.15}.target-row{align-items:center;gap:calc(var(--u) * 1.6);flex-wrap:wrap;display:flex}.target{font-size:calc(var(--u) * 5);color:var(--blue);letter-spacing:-.02em;font-weight:900;line-height:1.1}.target.malay{color:var(--gold-edge)}:root[data-theme=dark] .target.malay{color:var(--gold)}.question-head{gap:calc(var(--u) * 1.1);flex-direction:column;display:flex}.head-row{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);flex:none;display:flex}.tags{gap:calc(var(--u) * .8);flex-wrap:wrap;display:flex}.tag{font-size:calc(var(--u) * 1.15);letter-spacing:.1em;text-transform:uppercase;padding:calc(var(--u) * .45) calc(var(--u) * 1.1);background:var(--surface-2);border:2px solid var(--line);color:var(--muted);border-radius:999px;font-weight:900}.tag.register{background:var(--blue-soft);color:var(--brand-text);border-color:#0000}.speaker{width:calc(var(--u) * 6);height:calc(var(--u) * 6);background:var(--blue);color:#fff;font-size:calc(var(--u) * 2.6);border-bottom:calc(var(--u) * .6) solid var(--blue-edge);border-radius:50%;flex:none;place-items:center;transition:transform 80ms,filter .15s;display:grid}.speaker:hover{filter:brightness(1.08)}.speaker:active{border-bottom-width:2px;transform:translateY(3px)}.speaker.big{width:calc(var(--u) * 9);height:calc(var(--u) * 9);font-size:calc(var(--u) * 4)}.speaker.speaking{animation:.9s ease-in-out infinite pulse}.choices{gap:calc(var(--u) * 1.4);margin-top:calc(var(--u) * 2.4);display:grid}.choice{align-items:center;gap:calc(var(--u) * 2);text-align:left;width:100%;padding:calc(var(--u) * 1.9) calc(var(--u) * 2.2);border-radius:calc(var(--r) * 1.1);background:var(--surface);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge);font-size:calc(var(--u) * 2.8);box-shadow:none;font-weight:800;transition:transform .1s,border-color .15s,background .15s,opacity .2s,box-shadow .15s;display:flex}.choice:hover:not(:disabled):not(.struck){background:var(--surface-2);border-color:var(--brand);box-shadow:none}.choice:active:not(:disabled){border-bottom-width:2px;transform:translateY(3px)}.choice:disabled{cursor:default}.choice .key{width:calc(var(--u) * 4.4);height:calc(var(--u) * 4.4);background:var(--surface-2);border:2px solid var(--line);font-size:calc(var(--u) * 1.9);color:var(--muted);border-radius:12px;flex:none;place-items:center;font-weight:900;display:grid}.choice.correct{border-color:var(--good);background:var(--good-soft);animation:.35s cubic-bezier(.34,1.56,.64,1) pop}.choice.correct .key{background:var(--good);border-color:var(--good);color:#fff}.choice.wrong{border-color:var(--red);background:var(--bad-soft);animation:.4s shake}.choice.wrong .key{background:var(--red);border-color:var(--red);color:#fff}.choice.dim{opacity:.4}.choice.struck{opacity:.32;text-decoration:line-through;text-decoration-thickness:3px}.hint-btn{align-items:center;gap:calc(var(--u) * .8);padding:calc(var(--u) * .9) calc(var(--u) * 1.8);background:var(--gold-soft);border:2px solid var(--gold);border-bottom-width:4px;border-bottom-color:var(--gold-edge);color:var(--gold-edge);font-weight:900;font-size:calc(var(--u) * 1.5);letter-spacing:.08em;white-space:nowrap;border-radius:999px;transition:transform 80ms,filter .15s;display:flex}:root[data-theme=dark] .hint-btn{color:var(--gold)}.hint-btn:hover{filter:brightness(1.04)}.hint-btn:active{border-bottom-width:2px;transform:translateY(2px)}.hint-btn:disabled{opacity:.45;cursor:default}.hint-box{margin-top:calc(var(--u) * 1.6);align-items:center;gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 1.5) calc(var(--u) * 2.2);border-radius:var(--r);background:var(--gold-soft);border:2px dashed var(--gold);font-size:calc(var(--u) * 2);font-weight:800;animation:.25s cubic-bezier(.22,1,.36,1) slideUp;display:flex}.hint-box .ic{font-size:calc(var(--u) * 2.6)}.tray{margin-top:calc(var(--u) * 2);justify-content:space-between;align-items:center;gap:calc(var(--u) * 2.4);padding:calc(var(--u) * 2) calc(var(--u) * 2.8);border-radius:calc(var(--r) * 1.4);animation:.28s cubic-bezier(.22,1,.36,1) slideUp;display:flex}.tray.good{background:var(--good-soft)}.tray.bad{background:var(--bad-soft)}.tray-left{align-items:center;gap:calc(var(--u) * 2);min-width:0;display:flex}.tray-text{min-width:0}.tray-title{font-size:calc(var(--u) * 2.7);align-items:center;gap:calc(var(--u) * 1.2);font-weight:900;display:flex}.tray.good .tray-title{color:var(--good-edge)}.tray.bad .tray-title{color:var(--red-edge)}:root[data-theme=dark] .tray.good .tray-title{color:var(--good)}:root[data-theme=dark] .tray.bad .tray-title{color:var(--red)}.tray-sub{font-size:calc(var(--u) * 1.85);margin-top:calc(var(--u) * .4);color:var(--ink);opacity:.85;font-weight:700}.tray-sub em{font-style:normal;font-weight:900}.btn{padding:calc(var(--u) * 1.6) calc(var(--u) * 3.6);border-radius:calc(var(--r) * 1.2);font-size:calc(var(--u) * 2.2);letter-spacing:.06em;background:var(--blue);color:#fff;border-bottom:calc(var(--u) * .35) solid var(--blue-edge);box-shadow:none;white-space:nowrap;font-weight:900;transition:transform 80ms,border-bottom-width 80ms,filter .15s}.btn:hover{filter:brightness(1.07)}.btn:active{border-bottom-width:2px;transform:translateY(3px)}.btn.green{background:var(--good);border-bottom-color:var(--good-edge)}.btn.red{background:var(--red);border-bottom-color:var(--red-edge)}.btn.gold{background:var(--gold);border-bottom-color:var(--gold-edge);color:#3a2a06}.btn.big{font-size:calc(var(--u) * 2.55);padding:calc(var(--u) * 1.7) calc(var(--u) * 4.2)}.btn.outline{background:var(--surface);color:var(--muted);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge)}.btn.outline:hover{color:var(--ink);background:var(--surface-2)}.speak-card{text-align:center;gap:calc(var(--u) * 1.8);flex-direction:column;align-items:center;display:flex}.speak-phrase{font-size:calc(var(--u) * 6);color:var(--gold-edge);letter-spacing:-.02em;font-weight:900;line-height:1.08}:root[data-theme=dark] .speak-phrase{color:var(--gold)}.speak-phon{font-size:calc(var(--u) * 2.1);color:var(--muted);letter-spacing:.04em;font-weight:800}.speak-en{font-size:calc(var(--u) * 2.3);opacity:.8;font-weight:800}.speak-actions{gap:calc(var(--u) * 1.6);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.speak-q{font-size:calc(var(--u) * 2.4);font-weight:900}.home{gap:calc(var(--u) * 1.35);flex-direction:column;align-items:center;height:100%;min-height:0;display:flex}.home-hero{flex:none;width:100%;display:block;position:relative}.home-head,.home>.btn{flex:none}.home-head{z-index:1;grid-template-columns:minmax(0, 1fr) calc(var(--u) * 20);align-items:center;gap:calc(var(--u) * 2);width:100%;min-height:calc(var(--u) * 19);padding:calc(var(--u) * 1.65) calc(var(--u) * 2);border:2px solid var(--line);border-radius:calc(var(--r) * 1.35);background:linear-gradient(90deg, #075f571a, #ffffffd1 38%, #263f8f14), var(--surface);box-shadow:0 calc(var(--u) * 1.2) calc(var(--u) * 3) #14120f0f;display:grid;position:relative;overflow:hidden}.home-head:after{content:"";inset:auto calc(var(--u) * 2) 0 calc(var(--u) * 2);height:calc(var(--u) * .45);background:linear-gradient(90deg, var(--brand), var(--blue), var(--gold));opacity:.9;border-radius:999px 999px 0 0;position:absolute}.hero-copy{min-width:0}.home-kicker{color:var(--brand-text);font-size:calc(var(--u) * 1.25);letter-spacing:.18em;margin-bottom:calc(var(--u) * .45);font-weight:900}.home h1{font-size:calc(var(--u) * 4.6);letter-spacing:-.025em;font-weight:900;line-height:.96}.home p.sub{font-size:calc(var(--u) * 1.75);color:var(--muted);margin-top:calc(var(--u) * .5);font-weight:800}.course-switch{align-items:center;gap:calc(var(--u) * .6);margin-top:calc(var(--u) * 1.1);padding:calc(var(--u) * .45);background:var(--surface-2);border:2px solid var(--line);border-radius:999px;display:inline-flex}.course-switch button{min-width:calc(var(--u) * 10);padding:calc(var(--u) * .85) calc(var(--u) * 1.6);color:var(--muted);font-size:calc(var(--u) * 1.45);background:0 0;border:0;border-radius:999px;font-weight:900;transition:transform .12s,background .15s,color .15s}.course-switch button:hover{color:var(--ink);background:var(--surface)}.course-switch button:active{transform:translateY(1px)}.course-switch button.active{color:var(--brand-text);background:var(--surface);box-shadow:inset 0 0 0 2px var(--brand)}.hero-progress{justify-content:space-between;align-items:flex-end;gap:calc(var(--u) * 1.6);margin-top:calc(var(--u) * 1.1);display:flex}.hero-progress span{color:var(--muted);font-size:calc(var(--u) * 1.2);letter-spacing:.14em;font-weight:900;display:block}.hero-progress b{margin-top:calc(var(--u) * .25);font-size:calc(var(--u) * 2);font-weight:900;display:block}.hero-progress strong{color:var(--brand-text);font-size:calc(var(--u) * 2.2);white-space:nowrap;font-weight:900}.hero-bar{height:calc(var(--u) * 1.3);margin-top:calc(var(--u) * .9);background:#14211f17;border-radius:999px;overflow:hidden}.hero-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--blue));height:100%;animation:.65s cubic-bezier(.22,1,.36,1) backwards growBar;display:block}.mascot-panel{width:calc(var(--u) * 20);min-height:calc(var(--u) * 16);padding:calc(var(--u) * 1);border-radius:calc(var(--r) * 1.2);color:var(--ink);pointer-events:none;background:linear-gradient(#ffffffdb,#e3efecbd);border:2px solid #075f572e;flex-direction:column;justify-content:center;align-items:center;display:flex;position:static;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb3}.mascot-panel .hornbill{animation:3.6s ease-in-out infinite floatMascot}.mascot-panel svg{width:calc(var(--u) * 14.5)!important;height:calc(var(--u) * 14.5)!important}.mascot-panel span{color:#ffffffa8;font-size:calc(var(--u) * 1.15);letter-spacing:.12em;text-align:center;font-weight:900;display:none}.mascot-panel b{font-size:calc(var(--u) * 1.65);text-align:center;font-weight:900;display:none}.petronas-scene{border-radius:calc(var(--r) * 1.35);background:linear-gradient(180deg, #ffffffc7, #e3efec57), linear-gradient(90deg, #075f570d 0 1px, transparent 1px 100%), var(--bg);background-size:auto, calc(var(--u) * 8) calc(var(--u) * 8), auto;border:2px solid #ded6cae0;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.petronas-scene:after{content:"";height:calc(var(--u) * 10);pointer-events:none;z-index:4;background:linear-gradient(#0000,#f7f4eef2);position:absolute;inset:auto 0 0}.tower{top:calc(var(--u) * 1.6);bottom:calc(var(--u) * -4);width:calc(var(--u) * 18);opacity:.86;filter:drop-shadow(0 calc(var(--u) * 1.2) calc(var(--u) * 1.7) #14120f14);pointer-events:none;position:absolute}.tower-left{left:calc(50% - var(--u) * 26)}.tower-right{right:calc(50% - var(--u) * 26)}.tower:before{content:"";inset:calc(var(--u) * 7) calc(var(--u) * 2.5) 0;border-radius:calc(var(--r) * .7) calc(var(--r) * .7) 0 0;background:linear-gradient(90deg, transparent 0 18%, #ffffff75 18% 24%, transparent 24% 42%, #ffffff61 42% 48%, transparent 48% 100%), repeating-linear-gradient(180deg, #075f572e 0 calc(var(--u) * .42), transparent calc(var(--u) * .42) calc(var(--u) * 1.35)), linear-gradient(180deg, #075f5738, #263f8f14);border:2px solid #075f5729;position:absolute}.tower:after{content:"";width:calc(var(--u) * 6.6);height:calc(var(--u) * 11);clip-path:polygon(50% 0,66% 34%,82% 48%,67% 48%,74% 100%,26% 100%,33% 48%,18% 48%,34% 34%);background:linear-gradient(180deg, var(--brand), #075f5738);opacity:.8;position:absolute;top:0;left:50%;transform:translate(-50%)}.tower span{left:50%;top:calc(var(--u) * 9.8);width:calc(var(--u) * .55);background:#ffffff6b;position:absolute;bottom:0;transform:translate(-50%)}.skybridge{left:calc(50% - var(--u) * 18);right:calc(50% - var(--u) * 18);top:calc(var(--u) * 23);height:calc(var(--u) * 3.1);background:repeating-linear-gradient(90deg, #075f5729 0 calc(var(--u) * 1.2), #ffffff9e calc(var(--u) * 1.2) calc(var(--u) * 2.4));opacity:.82;pointer-events:none;border:2px solid #075f572e;border-radius:999px;position:absolute}.petronas-crown{left:50%;top:calc(var(--u) * 1.15);width:calc(var(--u) * 25);height:calc(var(--u) * 12);pointer-events:none;opacity:.92;z-index:1;position:absolute;transform:translate(-50%)}.petronas-crown span{width:calc(var(--u) * 7.2);height:calc(var(--u) * 11.2);border-radius:calc(var(--r) * .6) calc(var(--r) * .6) 0 0;background:linear-gradient(90deg, transparent 0 18%, #ffffff7a 18% 25%, transparent 25% 100%), repeating-linear-gradient(180deg, #075f5738 0 calc(var(--u) * .35), transparent calc(var(--u) * .35) calc(var(--u) * 1.1)), linear-gradient(180deg, #075f573d, #263f8f1a);border:2px solid #075f572e;position:absolute;bottom:0}.petronas-crown span:before{content:"";width:calc(var(--u) * 3.8);height:calc(var(--u) * 5.2);clip-path:polygon(50% 0,72% 100%,28% 100%);background:var(--brand);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.petronas-crown span:first-child{left:calc(var(--u) * 2.2)}.petronas-crown span:nth-child(2){right:calc(var(--u) * 2.2)}.petronas-crown i{left:calc(var(--u) * 8.2);right:calc(var(--u) * 8.2);top:calc(var(--u) * 7);height:calc(var(--u) * 1.6);background:#075f5733;border-radius:999px;position:absolute;box-shadow:inset 0 0 0 2px #ffffff8a}.summit-glow{left:50%;top:calc(var(--u) * 1.4);width:calc(var(--u) * 18);height:calc(var(--u) * 18);pointer-events:none;background:radial-gradient(circle,#f2b54433,#0000 66%);border-radius:50%;animation:3s ease-in-out infinite summitPulse;position:absolute;transform:translate(-50%)}.climb-guide{right:calc(var(--u) * 4);bottom:var(--climb-y,5%);width:calc(var(--u) * 7.4);height:calc(var(--u) * 7.4);box-shadow:0 calc(var(--u) * .8) calc(var(--u) * 1.8) #14120f14;pointer-events:none;z-index:3;background:#ffffffc7;border:2px solid #075f5724;border-radius:50%;place-items:center;animation:4s ease-in-out infinite guideFloat;display:grid;position:absolute}.climb-guide .hornbill{width:calc(var(--u) * 5.8)!important;height:calc(var(--u) * 5.8)!important}.levels.learning-path{width:100%;height:100%;min-height:calc(var(--u) * 34);align-items:center;gap:calc(var(--u) * 1.55);padding:calc(var(--u) * 12.8) calc(var(--u) * 2) calc(var(--u) * 10);scroll-padding-bottom:calc(var(--u) * 10);z-index:2;flex-direction:column;display:flex;position:relative;overflow-y:auto}.levels.learning-path:before{content:"";top:calc(var(--u) * 12.8);bottom:calc(var(--u) * 8);width:calc(var(--u) * .75);opacity:1;background:#14211f1f;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.levels.learning-path:after{content:"";bottom:calc(var(--u) * 8);width:calc(var(--u) * .75);height:var(--climb-y,5%);max-height:calc(100% - var(--u) * 20);background:linear-gradient(0deg, var(--brand), var(--blue), var(--gold));box-shadow:0 0 calc(var(--u) * 1.4) #075f572e;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.path-step{--node:calc(var(--u) * 8.2);z-index:1;width:min(calc(var(--u) * 58), 76%);min-height:calc(var(--u) * 10.8);grid-template-columns:var(--node) minmax(0, 1fr);align-items:center;gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 1.2) calc(var(--u) * 1.5);border-radius:calc(var(--r) * 1.45);border:2px solid var(--line);border-bottom-width:calc(var(--u) * .55);border-bottom-color:var(--edge);text-align:left;transform:translateX(var(--x));box-shadow:0 calc(var(--u) * 1) calc(var(--u) * 2.4) #14120f0e;animation:.46s cubic-bezier(.22,1,.36,1) backwards pathStepIn;animation-delay:calc(var(--i,0) * 45ms);background:#ffffffdb;transition:transform .16s,border-color .18s,box-shadow .18s,background .18s;display:grid;position:relative}.path-step:hover{transform:translateX(var(--x)) translateY(calc(var(--u) * -.25));border-color:var(--brand);box-shadow:0 calc(var(--u) * 1.25) calc(var(--u) * 3) #14120f16}.path-step:active{transform:translateX(var(--x)) translateY(calc(var(--u) * .2));border-bottom-width:calc(var(--u) * .35)}.path-step.active{border-color:var(--blue);background:linear-gradient(135deg, var(--blue-soft), #ffffffeb)}.path-step.done{border-color:var(--good);background:linear-gradient(135deg, var(--good-soft), #ffffffeb)}.path-node{width:var(--node);height:var(--node);border:calc(var(--u) * .45) solid var(--surface);background:var(--surface-2);color:var(--brand-text);box-shadow:0 calc(var(--u) * .55) 0 var(--edge), 0 0 0 2px var(--line);border-radius:50%;place-items:center;display:grid}.path-step.active .path-node{color:#fff;background:linear-gradient(180deg, var(--blue), var(--brand));box-shadow:0 calc(var(--u) * .7) 0 var(--blue-edge), 0 0 0 calc(var(--u) * 1.1) #263f8f29;animation:1.8s ease-in-out infinite pulseIcon}.path-step.done .path-node{color:#fff;background:var(--good);box-shadow:0 calc(var(--u) * .55) 0 var(--good-edge), 0 0 0 2px #2d9c6b3d}.path-copy{gap:calc(var(--u) * .45);flex-direction:column;min-width:0;display:flex}.path-meta{align-items:center;gap:calc(var(--u) * .8);color:var(--muted);font-size:calc(var(--u) * 1.1);letter-spacing:.14em;flex-wrap:wrap;font-weight:900;display:flex}.path-meta strong{padding:calc(var(--u) * .25) calc(var(--u) * .7);background:var(--surface);color:var(--blue-edge);font-size:calc(var(--u) * .95);letter-spacing:.12em;border-radius:999px;box-shadow:inset 0 0 0 1px #263f8f24}.path-title{color:var(--ink);font-size:calc(var(--u) * 2.15);font-weight:900;line-height:1.02}.path-blurb{color:var(--muted);font-size:calc(var(--u) * 1.25);font-weight:750;line-height:1.18}.path-foot{align-items:center;gap:calc(var(--u) * 1);color:var(--muted);font-size:calc(var(--u) * 1.18);grid-template-columns:auto minmax(0,1fr);font-weight:850;display:grid}.level-progress{height:calc(var(--u) * .9);background:#14211f14;border-radius:999px;margin-top:auto;overflow:hidden}.level-progress span{height:100%;min-width:calc(var(--u) * .8);border-radius:inherit;background:var(--brand);transform-origin:0;animation:.55s cubic-bezier(.22,1,.36,1) backwards growBar;animation-delay:calc(var(--i,0) * 35ms + .16s);display:block}.result{text-align:center;gap:calc(var(--u) * 2.2);flex-direction:column;align-items:center;display:flex}.result h2{font-size:calc(var(--u) * 5.6);letter-spacing:-.03em;font-weight:900}.result-grid{gap:calc(var(--u) * 2);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.result-tile{background:var(--surface);border:2px solid var(--line);border-bottom-width:6px;border-bottom-color:var(--edge);border-radius:calc(var(--r) * 1.2);padding:calc(var(--u) * 2.2)}.result-tile b{font-size:calc(var(--u) * 5);font-weight:900;line-height:1;display:block}.result-tile span{font-size:calc(var(--u) * 1.5);letter-spacing:.16em;color:var(--muted);font-weight:900}.result-tile.score b{color:var(--gold)}.result-tile.xp b{color:var(--good)}.result-tile.acc b{color:var(--blue)}.result-actions{gap:calc(var(--u) * 2);display:flex}.xp-pop{top:calc(var(--u) * 11);padding:calc(var(--u) * 1) calc(var(--u) * 2.4);background:var(--good);color:#fff;font-size:calc(var(--u) * 3.2);pointer-events:none;z-index:50;border-radius:999px;font-weight:900;animation:1s ease-out forwards floatUp;position:fixed;left:50%;transform:translate(-50%)}.xp-pop.bonus{background:var(--gold);color:#3a2a06}.mascot{flex:none;display:block}.mascot.idle{animation:3.4s ease-in-out infinite breathe}.mascot.happy{animation:.55s cubic-bezier(.34,1.56,.64,1) hop}.mascot.sad{animation:.6s ease-out tilt}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;padding:calc(var(--u) * 4);background:#0a101e99;place-items:center;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.account-overlay{z-index:110;padding:calc(var(--u) * 4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 18%,#f2b54438,#0000 30%),radial-gradient(circle at 30% 72%,#075f5733,#0000 26%),#0a101e9e;place-items:center;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.account-modal{width:min(92vw, calc(var(--u) * 68));max-height:min(88vh, calc(var(--u) * 86));gap:calc(var(--u) * 1.8);padding:calc(var(--u) * 3);border-radius:calc(var(--r) * 1.6);background:linear-gradient(145deg, #ffffffe6, #ffffffad), var(--surface);border:2px solid #ffffffb8;border-bottom:calc(var(--u) * .7) solid #075f5752;color:var(--ink);flex-direction:column;display:flex;position:relative;overflow:auto;box-shadow:0 28px 80px #21120a42,inset 0 1px #ffffffe0}.account-close{top:calc(var(--u) * 1.4);right:calc(var(--u) * 1.4);width:calc(var(--u) * 4.4);height:calc(var(--u) * 4.4);background:var(--surface-2);border:2px solid var(--line);font-size:calc(var(--u) * 2.8);border-radius:999px;place-items:center;font-weight:900;display:grid;position:absolute}.account-head{padding-right:calc(var(--u) * 5)}.account-head h2{margin-top:calc(var(--u) * .4);font-size:calc(var(--u) * 4);letter-spacing:0;font-weight:900;line-height:.98}.account-head p{margin-top:calc(var(--u) * .7);color:var(--muted);font-size:calc(var(--u) * 1.75);font-weight:750;line-height:1.35}.account-tabs{gap:calc(var(--u) * .8);padding:calc(var(--u) * .6);border-radius:calc(var(--r) * 1);border:2px solid var(--line);background:#075f5714;grid-template-columns:repeat(2,1fr);display:grid}.account-tabs button{min-height:calc(var(--u) * 4.8);border-radius:calc(var(--r) * .78);color:var(--muted);font-size:calc(var(--u) * 1.55);font-weight:900;transition:transform .18s,background .18s,color .18s}.account-tabs button.on{color:var(--brand-text);background:var(--surface);border:2px solid var(--brand);box-shadow:0 calc(var(--u) * .5) 0 #075f5738}.google-auth{min-height:calc(var(--u) * 5.6);justify-content:center;align-items:center;gap:calc(var(--u) * 1);border-radius:calc(var(--r) * 1);border:2px solid var(--line);border-bottom:calc(var(--u) * .5) solid var(--edge);color:var(--ink);font-size:calc(var(--u) * 1.8);background:#fff;font-weight:900;transition:transform .18s,box-shadow .18s;display:flex}.google-auth span{width:calc(var(--u) * 3);height:calc(var(--u) * 3);color:#fff;font-size:calc(var(--u) * 1.6);background:linear-gradient(135deg,#4285f4,#34a853 45%,#fbbc05 70%,#ea4335);border-radius:999px;place-items:center;font-weight:950;display:grid}.google-auth:hover:not(:disabled),.account-tabs button:hover:not(:disabled){transform:translateY(calc(var(--u) * -.18))}.google-auth:disabled{cursor:not-allowed;opacity:.56}.account-form,.account-signed{gap:calc(var(--u) * 1.35);flex-direction:column;display:flex}.account-form label{gap:calc(var(--u) * .55);color:var(--muted);font-size:calc(var(--u) * 1.45);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;font-weight:900;display:flex}.account-form input{min-height:calc(var(--u) * 5.6);width:100%;padding:calc(var(--u) * 1.2) calc(var(--u) * 1.4);border-radius:calc(var(--r) * .9);border:2px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-size:calc(var(--u) * 2);text-transform:none;letter-spacing:0;font-weight:800}.account-form input:focus{outline-offset:2px;border-color:var(--brand);background:var(--surface);outline:3px solid #f2b54452}.account-note{color:var(--muted);font-size:calc(var(--u) * 1.45);font-weight:800;line-height:1.35}.forgot-link{width:fit-content;color:var(--brand-text);font-size:calc(var(--u) * 1.55);text-underline-offset:calc(var(--u) * .35);font-weight:950;text-decoration:underline}.forgot-link:disabled{cursor:not-allowed;opacity:.6}.account-alert{padding:calc(var(--u) * 1) calc(var(--u) * 1.2);border-radius:calc(var(--r) * .9);font-size:calc(var(--u) * 1.55);border:2px solid;font-weight:850;line-height:1.25}.account-alert.good{border-color:var(--good);background:var(--good-soft);color:var(--good-edge)}.account-alert.bad{border-color:var(--red);background:var(--bad-soft);color:var(--red-edge)}.account-alert code{font-weight:900}.account-signed>div:not(.account-alert){justify-content:space-between;gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 1.2);border-radius:calc(var(--r) * .7);background:var(--surface-2);border:2px solid var(--line);display:flex}.account-signed span{color:var(--muted);font-size:calc(var(--u) * 1.35);letter-spacing:.1em;text-transform:uppercase;font-weight:900}.account-signed b{min-width:0;color:var(--ink);font-size:calc(var(--u) * 1.7);overflow-wrap:anywhere;text-align:right;font-weight:900}.help{background:var(--surface);border-radius:calc(var(--r) * 1.4);border-bottom:calc(var(--u) * .8) solid var(--edge);padding:calc(var(--u) * 3.4);gap:calc(var(--u) * 2);flex-direction:column;width:100%;max-width:130vmin;display:flex}.help h3{font-size:calc(var(--u) * 3.6);letter-spacing:-.02em;font-weight:900}.help-grid{gap:calc(var(--u) * 1.6);grid-template-columns:repeat(2,1fr);display:grid}.help-item{gap:calc(var(--u) * 1.6);padding:calc(var(--u) * 1.6) calc(var(--u) * 2);border-radius:var(--r);background:var(--surface-2);border:2px solid var(--line);align-items:flex-start;display:flex}.help-item .ic{font-size:calc(var(--u) * 2.8);line-height:1}.help-item b{font-size:calc(var(--u) * 1.9);font-weight:900;display:block}.help-item span{font-size:calc(var(--u) * 1.6);color:var(--muted);font-weight:700}.help-foot{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);display:flex}.keys{gap:calc(var(--u) * .8);flex-wrap:wrap;display:flex}.kbd{padding:calc(var(--u) * .5) calc(var(--u) * 1.1);background:var(--surface-2);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);font-size:calc(var(--u) * 1.4);color:var(--muted);border-radius:8px;font-weight:900}.fs-hint{bottom:calc(var(--u) * 3);padding:calc(var(--u) * 1.4) calc(var(--u) * 2.4);background:var(--ink);color:var(--bg);font-size:calc(var(--u) * 1.7);z-index:60;border-radius:14px;font-weight:800;animation:.25s ease-out slideUp;position:fixed;left:50%;transform:translate(-50%)}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floatUp{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.85)}25%{opacity:1;transform:translate(-50%)translateY(-6px)scale(1.08)}to{opacity:0;transform:translate(-50%)translateY(-56px)scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes pulseIcon{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4%)scale(1.08)}}@keyframes breathe{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4%)rotate(-1.5deg)}}@keyframes floatMascot{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6%)rotate(1.5deg)}}@keyframes growBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes guideFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(calc(var(--u) * -.8)) rotate(2deg)}}@keyframes summitPulse{0%,to{opacity:.55;transform:translate(-50%)scale(.96)}50%{opacity:.9;transform:translate(-50%)scale(1.06)}}@keyframes pathStepIn{0%{opacity:0;transform:translateX(var(--x)) translateY(calc(var(--u) * 1.8)) scale(.96)}to{opacity:1;transform:translateX(var(--x))}}@keyframes hop{0%{transform:translateY(0)scale(1)}35%{transform:translateY(-16%)scale(1.07)}70%{transform:translateY(2%)scale(.98)}to{transform:translateY(0)scale(1)}}@keyframes tilt{0%{transform:rotate(0)}30%{transform:rotate(-9deg)translateY(4%)}60%{transform:rotate(5deg)translateY(4%)}to{transform:rotate(0)}}.fade-in{animation:.3s cubic-bezier(.22,1,.36,1) fadeIn}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.speaker.small{width:calc(var(--u) * 3.8);height:calc(var(--u) * 3.8);border-bottom-width:calc(var(--u) * .4)}.hint-box .ic{color:var(--gold-edge);place-items:center;display:grid}:root[data-theme=dark] .hint-box .ic{color:var(--gold)}.hint-btn svg{display:block}.mtext{display:inline}.word{cursor:help;border-bottom:max(2px,.07em) dashed;border-radius:6px;padding-bottom:.04em;transition:background .12s;position:relative}.word:hover,.word.open{background:var(--blue-soft)}.word.pinned{background:var(--gold-soft)}.bubble{bottom:calc(100% + var(--u) * 1.2);z-index:40;gap:calc(var(--u) * .3);min-width:max-content;max-width:46vmin;padding:calc(var(--u) * 1.1) calc(var(--u) * 1.8);color:#fff;text-align:left;white-space:normal;cursor:default;box-shadow:0 calc(var(--u) * .8) calc(var(--u) * 2) #0a101e38;background:#131c33;border:2px solid #ffffff24;border-radius:14px;flex-direction:column;animation:.14s ease-out fadeIn;display:flex;position:absolute;left:50%;transform:translate(-50%)}.bubble b{font-size:calc(var(--u) * 1.5);color:var(--gold);letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-weight:900}.bubble i{font-style:normal;font-weight:800;font-size:calc(var(--u) * 2.1);line-height:1.25}.bubble:after{content:"";border:calc(var(--u) * .8) solid transparent;border-top-color:#131c33;position:absolute;top:100%;left:50%;transform:translate(-50%)}.verdict{width:calc(var(--u) * 7);height:calc(var(--u) * 7);color:#fff;border-radius:50%;flex:none;place-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) bump;display:grid}.verdict svg{width:62%;height:62%;display:block}.verdict.good{background:var(--good)}.verdict.bad{background:var(--red)}.icon-btn.badged{position:relative;overflow:visible}.badge{top:calc(var(--u) * -.7);right:calc(var(--u) * -.7);min-width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);padding:0 calc(var(--u) * .5);background:var(--red);color:#fff;font-size:calc(var(--u) * 1.4);border-radius:999px;place-items:center;font-weight:900;line-height:1;display:grid;position:absolute}.badge.account-dot{min-width:calc(var(--u) * 1.4);width:calc(var(--u) * 1.4);height:calc(var(--u) * 1.4);background:var(--good);border:2px solid var(--surface);padding:0}.viewer-panel{max-width:140vmin}.viewer-sub{color:var(--muted);font-weight:800;font-size:calc(var(--u) * 1.8)}.viewer-form{align-items:flex-end;gap:calc(var(--u) * 1.4);flex-wrap:wrap;display:flex}.field{gap:calc(var(--u) * .5);min-width:calc(var(--u) * 20);flex-direction:column;display:flex}.field.grow{flex:1 1 calc(var(--u) * 34)}.field.who{flex:0 0 calc(var(--u) * 22)}.field label{font-size:calc(var(--u) * 1.25);letter-spacing:.14em;color:var(--muted);font-weight:900}.field label .opt{letter-spacing:.04em;text-transform:none;opacity:.8}.field input{font-family:inherit;font-size:calc(var(--u) * 2.1);color:var(--ink);background:var(--surface-2);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);padding:calc(var(--u) * 1.2) calc(var(--u) * 1.6);border-radius:14px;outline:none;font-weight:800}.field input:focus{border-color:var(--blue)}.field input::placeholder{color:var(--muted);opacity:.7;font-weight:700}.seg{gap:calc(var(--u) * .6);display:flex}.seg button{padding:calc(var(--u) * 1.2) calc(var(--u) * 1.8);background:var(--surface-2);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);font-weight:900;font-size:calc(var(--u) * 1.6);color:var(--muted);border-radius:14px}.seg button.on{background:var(--blue-soft);border-color:var(--blue);color:var(--brand-text)}.queue{gap:calc(var(--u) * .8);flex-direction:column;max-height:34vmin;display:flex;overflow-y:auto}.queue-empty{color:var(--muted);font-weight:800;font-size:calc(var(--u) * 1.7);padding:calc(var(--u) * 1)}.queue-row{align-items:baseline;gap:calc(var(--u) * 1.2);padding:calc(var(--u) * 1) calc(var(--u) * 1.4);background:var(--surface-2);border:2px solid var(--line);font-size:calc(var(--u) * 1.7);border-radius:12px;font-weight:700;display:flex}.queue-row .q-phrase{font-weight:900}.queue-row .q-meaning{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.q-del{color:var(--muted);font-weight:900;font-size:calc(var(--u) * 1.8);margin-left:auto}.q-del:hover{color:var(--red)}.who-tag{padding:calc(var(--u) * .35) calc(var(--u) * 1.1);background:var(--grape);color:#fff;font-weight:900;font-size:calc(var(--u) * 1.4);border-radius:999px;flex:none}.who-tag.big{font-size:calc(var(--u) * 2.2);padding:calc(var(--u) * .6) calc(var(--u) * 1.8)}.viewer-card{text-align:center;align-items:center;gap:calc(var(--u) * 1.8);flex-direction:column;display:flex}.asker{align-items:center;gap:calc(var(--u) * 1.2);display:flex}.asker .asks{font-size:calc(var(--u) * 2.2);color:var(--muted);font-weight:800}.viewer-phrase{font-size:calc(var(--u) * 5.6);letter-spacing:-.02em;color:var(--gold-edge);font-weight:900;line-height:1.1}:root[data-theme=dark] .viewer-phrase{color:var(--gold)}.viewer-meaning{font-size:calc(var(--u) * 2.6);color:var(--ink);opacity:.85;font-weight:800}.btn:disabled{opacity:.4;cursor:default;filter:none}.btn:disabled:active{transform:none}.write-row{align-items:center;gap:calc(var(--u) * 1.6);margin-top:calc(var(--u) * 2.4);display:flex}.write-input{min-width:0;font-family:inherit;font-size:calc(var(--u) * 3.2);color:var(--ink);background:var(--surface-2);border:3px solid var(--line);border-bottom-width:6px;border-bottom-color:var(--edge);border-radius:var(--r);padding:calc(var(--u) * 1.6) calc(var(--u) * 2.2);outline:none;flex:1;font-weight:900;transition:border-color .15s,background .15s}.write-input:focus{border-color:var(--blue);background:var(--surface)}.write-input::placeholder{color:var(--muted);opacity:.55;font-weight:700}.write-input.good{border-color:var(--good);background:var(--good-soft)}.write-input.bad{border-color:var(--red);background:var(--bad-soft);text-decoration:line-through}.write-input:disabled{cursor:default}.write-answer{align-items:center;gap:calc(var(--u) * 1.4);margin-top:calc(var(--u) * 1.8);padding:calc(var(--u) * 1.4) calc(var(--u) * 2);border-radius:var(--r);background:var(--good-soft);border:2px solid var(--good);display:flex}.write-label{font-size:calc(var(--u) * 1.3);letter-spacing:.16em;color:var(--muted);font-weight:900}.write-correct{font-size:calc(var(--u) * 2.8);color:var(--good-edge);font-weight:900}:root[data-theme=dark] .write-correct{color:var(--good)}.hint-box .skeleton{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(var(--u) * 2.2);letter-spacing:.12em;color:var(--gold-edge);white-space:nowrap;margin-left:auto;font-weight:900}:root[data-theme=dark] .hint-box .skeleton{color:var(--gold)}.home-actions{z-index:6;gap:calc(var(--u) * 1.6);flex-wrap:wrap;flex:none;justify-content:center;display:flex;position:relative}.home-actions .btn.big{min-width:calc(var(--u) * 28);box-shadow:none}.home-actions .btn.accent{background:linear-gradient(180deg, #1a8a80, var(--brand));color:#fff;border-bottom-color:var(--brand-edge)}.home-shell{grid-template-columns:minmax(0, 1fr) minmax(calc(var(--u) * 30), calc(var(--u) * 38));gap:calc(var(--u) * 1.6);align-items:stretch;width:100%;height:100%;min-height:0;display:grid}.journey-panel,.mission-panel{min-height:0}.journey-panel{gap:calc(var(--u) * 1.25);padding:calc(var(--u) * 1.35);border-radius:calc(var(--r) * 1.7);background:radial-gradient(circle at 18% 0%, #f2b54433, transparent 28%), radial-gradient(circle at 84% 16%, #263f8f1f, transparent 30%), linear-gradient(180deg, #ffffffdb, #ffffff8a), var(--bg);box-shadow:0 calc(var(--u) * 1.4) calc(var(--u) * 3.6) #14120f0f;border:2px solid #ded6cadb;flex-direction:column;display:flex;overflow:hidden}.journey-top{grid-template-columns:minmax(0, 1fr) calc(var(--u) * 18);gap:calc(var(--u) * 1.4);flex:none;align-items:stretch;display:grid}.journey-top .hero-copy{min-width:0;padding:calc(var(--u) * 1.35) calc(var(--u) * 1.6);border-radius:calc(var(--r) * 1.2);background:#ffffff9e;border:2px solid #ffffffb8}.journey-top .home-kicker{margin-bottom:calc(var(--u) * .4)}.journey-top h1{max-width:11ch;font-size:clamp(2rem, calc(var(--u) * 5.4), 5.25rem);letter-spacing:0}.journey-top p.sub{max-width:54ch;margin-top:calc(var(--u) * .75);color:var(--muted);line-height:1.28}.summit-card{grid-template-columns:calc(var(--u) * 8) minmax(0, 1fr);align-items:center;gap:calc(var(--u) * .8);padding:calc(var(--u) * 1.1);border-radius:calc(var(--r) * 1.2);color:#fff;background:linear-gradient(150deg, var(--brand), #0b776c 54%, var(--blue));box-shadow:inset 0 0 0 2px #ffffff29, 0 calc(var(--u) * .85) 0 var(--brand-edge);display:grid}.summit-card .hornbill{filter:drop-shadow(0 calc(var(--u) * .45) calc(var(--u) * .8) #00000026);animation:3.2s ease-in-out infinite floatMascot}.summit-card span,.mission-eyebrow{font-size:calc(var(--u) * 1.15);letter-spacing:.15em;text-transform:uppercase;font-weight:900;display:block}.summit-card b{font-size:calc(var(--u) * 4.2);font-weight:900;line-height:.92;display:block}.summit-card small{margin-top:calc(var(--u) * .3);font-size:calc(var(--u) * 1.35);opacity:.78;font-weight:800;display:block}.journey-panel .petronas-scene{border-radius:calc(var(--r) * 1.35);background:linear-gradient(180deg, #ffffff85, #e3efec38), linear-gradient(90deg, #075f570a 0 1px, transparent 1px 100%), var(--bg);flex:auto;min-height:0}.journey-panel .levels.learning-path{padding-top:calc(var(--u) * 10.6);padding-bottom:calc(var(--u) * 6.8);gap:calc(var(--u) * 1.25)}.journey-panel .path-step{width:min(calc(var(--u) * 48), 70%);min-height:calc(var(--u) * 9.4);border-bottom-width:calc(var(--u) * .42);box-shadow:0 calc(var(--u) * .8) calc(var(--u) * 1.9) #14120f0d;background:#ffffffe6}.journey-panel .path-step.active{background:linear-gradient(135deg, #fff, var(--blue-soft));box-shadow:0 calc(var(--u) * 1) calc(var(--u) * 2.2) #263f8f1a, 0 0 0 calc(var(--u) * .35) #263f8f14}.mission-panel{gap:calc(var(--u) * 1.2);flex-direction:column;min-width:0;display:flex}.mission-card{min-width:0;padding:calc(var(--u) * 1.7);border-radius:calc(var(--r) * 1.45);background:var(--surface);border:2px solid var(--line);border-bottom-width:calc(var(--u) * .55);border-bottom-color:var(--edge);box-shadow:0 calc(var(--u) * .9) calc(var(--u) * 2.2) #14120f0e}.mission-card.primary{background:radial-gradient(circle at 88% 0%, #f2b54442, transparent 32%), var(--surface)}.mission-eyebrow{color:var(--brand-text);margin-bottom:calc(var(--u) * .75)}.mission-card h2{font-size:calc(var(--u) * 4.8);letter-spacing:0;font-weight:900;line-height:.9}.mission-card p{margin-top:calc(var(--u) * .6);color:var(--muted);font-size:calc(var(--u) * 1.75);font-weight:800;line-height:1.28}.mission-progress{justify-content:space-between;align-items:flex-end;gap:calc(var(--u) * 1);margin-top:calc(var(--u) * 1.4);display:flex}.mission-progress b,.mission-progress strong{font-size:calc(var(--u) * 3.2);font-weight:900;line-height:1}.mission-progress span{color:var(--muted);font-size:calc(var(--u) * 1.25);letter-spacing:.08em;text-transform:uppercase;font-weight:900;display:block}.mission-card.primary .btn.big{width:100%;min-width:0;margin-top:calc(var(--u) * 1.45);padding-inline:calc(var(--u) * 1.2);font-size:calc(var(--u) * 2.15);letter-spacing:.03em;white-space:nowrap}.mission-panel .tracks{grid-template-columns:1fr}.mission-panel .track{min-width:0;min-height:auto;padding:calc(var(--u) * 1.25) calc(var(--u) * 1.5)}.mission-panel .home-actions{align-items:stretch;gap:calc(var(--u) * 1);flex-direction:column}.mission-panel .home-actions .btn.big{width:100%;min-width:0;padding-inline:calc(var(--u) * 1.2);font-size:calc(var(--u) * 1.9);letter-spacing:.02em;white-space:normal}.mission-card.quiet{background:var(--brand-soft);border-color:#075f572e #075f572e #075f5747;margin-top:auto}.mission-card.quiet p{font-size:calc(var(--u) * 1.55)}@media (width<=980px){.home-shell{padding-bottom:calc(var(--u) * 2);grid-template-columns:1fr;overflow-y:auto}.journey-panel{min-height:calc(var(--u) * 92)}.mission-card.quiet{margin-top:0}}.landing{min-height:100%;padding:calc(var(--u) * 5) calc(var(--u) * 4);background:radial-gradient(120vmin 70vmin at 10% -20%, var(--bg-2) 0%, transparent 62%), radial-gradient(90vmin 60vmin at 105% 110%, var(--bg-2) 0%, transparent 58%), var(--bg);justify-content:center;display:flex;overflow-y:auto}.landing-inner{gap:calc(var(--u) * 3.4);flex-direction:column;width:100%;max-width:120vmin;display:flex}.landing-head{text-align:center;gap:calc(var(--u) * 1.4);flex-direction:column;align-items:center;display:flex}.landing-badge{padding:calc(var(--u) * .6) calc(var(--u) * 1.8);background:var(--gold-soft);border:2px solid var(--gold);color:var(--gold-edge);font-size:calc(var(--u) * 1.4);letter-spacing:.18em;border-radius:999px;align-self:center;font-weight:900}:root[data-theme=dark] .landing-badge{color:var(--gold)}.landing-head h1{font-size:calc(var(--u) * 5.2);letter-spacing:-.03em;max-width:22ch;font-weight:900;line-height:1.05}.landing-pitch{font-size:calc(var(--u) * 2.2);color:var(--muted);max-width:62ch;font-weight:700;line-height:1.45}.landing-grid{grid-template-columns:repeat(auto-fit, minmax(calc(var(--u) * 42), 1fr));gap:calc(var(--u) * 1.6);display:grid}.landing-card{gap:calc(var(--u) * 1.8);padding:calc(var(--u) * 2.2);border-radius:calc(var(--r) * 1.2);background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;border-bottom-color:var(--edge);align-items:flex-start;display:flex}.lc-icon{font-size:calc(var(--u) * 3.2);line-height:1}.landing-card b{font-size:calc(var(--u) * 2.1);margin-bottom:calc(var(--u) * .5);font-weight:900;display:block}.landing-card span{font-size:calc(var(--u) * 1.7);color:var(--muted);font-weight:700;line-height:1.4}.waitlist{gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 3);border-radius:calc(var(--r) * 1.4);background:var(--surface);border:3px solid var(--blue);border-bottom-width:7px;border-bottom-color:var(--blue-edge);flex-direction:column;display:flex}.wl-label{font-size:calc(var(--u) * 1.5);letter-spacing:.18em;color:var(--muted);font-weight:900}.wl-row{gap:calc(var(--u) * 1.4);flex-wrap:wrap;display:flex}.wl-input{flex:1 1 calc(var(--u) * 34);min-width:0;font-family:inherit;font-size:calc(var(--u) * 2.6);color:var(--ink);background:var(--surface-2);border:3px solid var(--line);border-bottom-width:5px;border-bottom-color:var(--edge);border-radius:var(--r);padding:calc(var(--u) * 1.4) calc(var(--u) * 2);outline:none;font-weight:800}.wl-input:focus{border-color:var(--blue);background:var(--surface)}.wl-input.bad{border-color:var(--red);background:var(--bad-soft)}.wl-input::placeholder{color:var(--muted);opacity:.6;font-weight:700}.wl-consent{gap:calc(var(--u) * 1.2);font-size:calc(var(--u) * 1.6);color:var(--muted);cursor:pointer;align-items:flex-start;font-weight:700;line-height:1.45;display:flex}.wl-consent input{width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);margin-top:calc(var(--u) * .2);cursor:pointer;flex:none}.wl-consent a{color:var(--brand-text)}.wl-error{font-size:calc(var(--u) * 1.8);color:var(--red);padding:calc(var(--u) * 1) calc(var(--u) * 1.6);background:var(--bad-soft);border-radius:12px;font-weight:900}.wl-hp{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.waitlist.done{text-align:center;border-color:var(--good);border-bottom-color:var(--good-edge);align-items:center}.wl-check{width:calc(var(--u) * 7);height:calc(var(--u) * 7);background:var(--good);color:#fff;font-size:calc(var(--u) * 4);border-radius:50%;place-items:center;font-weight:900;animation:.45s cubic-bezier(.34,1.56,.64,1) bump;display:grid}.waitlist.done h3{font-size:calc(var(--u) * 3.2);font-weight:900}.wl-sub{font-size:calc(var(--u) * 1.9);color:var(--muted);font-weight:700}.wl-demo{font-size:calc(var(--u) * 1.5);color:var(--gold-edge);background:var(--gold-soft);border:2px dashed var(--gold);padding:calc(var(--u) * 1) calc(var(--u) * 1.6);border-radius:12px;font-weight:800}:root[data-theme=dark] .wl-demo{color:var(--gold)}.landing-foot{align-items:center;gap:calc(var(--u) * 2);flex-wrap:wrap;justify-content:center;display:flex}.landing-note{font-size:calc(var(--u) * 1.5);color:var(--muted);font-weight:700}.landing-levels{gap:calc(var(--u) * 1.2);flex-direction:column;align-items:center;display:flex}.ll-label{font-size:calc(var(--u) * 1.4);letter-spacing:.18em;color:var(--muted);font-weight:900}.ll-chips{gap:calc(var(--u) * 1);flex-wrap:wrap;justify-content:center;display:flex}.ll-chip{padding:calc(var(--u) * .8) calc(var(--u) * 1.6);background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);font-size:calc(var(--u) * 1.6);white-space:nowrap;border-radius:999px;font-weight:900}.title{gap:calc(var(--u) * 1.2)}.title .hm{color:var(--brand)}.title .my{color:var(--blue)}.title .fr{color:var(--brand)}.stat .ic{color:var(--muted);place-items:center;display:grid}.stat.level .ic{color:var(--brand)}.stat.streak .ic{color:var(--gold-edge)}.stat.xp .ic{color:var(--good)}:root[data-theme=dark] .stat.streak .ic{color:var(--gold)}.level-card .em svg{color:var(--brand)}.level-card.done .em{color:var(--good)}.lc-icon{color:var(--brand);place-items:center;display:grid}.ll-chip{align-items:center;gap:calc(var(--u) * .7);display:inline-flex}.ll-chip svg{color:var(--brand)}.hornbill{flex:none;display:block}.hornbill.idle{animation:3.6s ease-in-out infinite breathe}.hornbill.happy{animation:.55s cubic-bezier(.34,1.56,.64,1) hop}.hornbill.sad{animation:.6s ease-out tilt}.hornbill.talk{animation:2.6s ease-in-out infinite breathe}.bar-fill{background:linear-gradient(90deg, var(--brand), var(--blue));box-shadow:none}.landing{background:var(--bg)}.waitlist{border-color:var(--brand);border-bottom-color:var(--brand-edge)}.wl-check svg{width:52%;height:52%;display:block}.help-item .ic{color:var(--brand);place-items:center;display:grid}.q-del{place-items:center;display:grid}.btn.accent{background:var(--brand);color:#fff;border-bottom-color:var(--brand-edge)}.lang-select{font-family:inherit;font-size:calc(var(--u) * 1.5);color:var(--ink);background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);padding:calc(var(--u) * .9) calc(var(--u) * 1.2);cursor:pointer;max-width:calc(var(--u) * 16);border-radius:14px;outline:none;font-weight:800}.lang-select:hover{background:var(--surface-2)}.lang-select:focus{border-color:var(--brand)}[dir=rtl] .choice{text-align:right}[dir=rtl] .bar-fill{transform-origin:50%;transform:scaleX(-1)}[dir=rtl] .btn,[dir=rtl] .tool{letter-spacing:0}[dir=rtl] .kicker,[dir=rtl] .progress-label,[dir=rtl] .stat small{letter-spacing:.04em}[dir=rtl] .write-input,[dir=rtl] .wl-input{text-align:right}[dir=rtl] .q-del,[dir=rtl] .hint-box .skeleton{margin-left:0;margin-right:auto}.reference{max-width:150vmin;max-height:calc(100vh - var(--u) * 8)}.ref-sub{color:var(--muted);font-weight:800;font-size:calc(var(--u) * 1.7)}.ref-cols{gap:calc(var(--u) * 3);min-height:0;padding-right:calc(var(--u) * .6);flex:auto;grid-template-columns:1fr 1fr;align-content:start;display:grid;overflow-y:auto}.ref-col{gap:calc(var(--u) * 1.2);flex-direction:column;min-width:0;display:flex}.ref-h{font-size:calc(var(--u) * 1.4);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:calc(var(--u) * .8);font-weight:900}.ref-list{gap:calc(var(--u) * 1);flex-direction:column;display:flex}.ref-row{gap:calc(var(--u) * 1.6);padding:calc(var(--u) * 1.3) calc(var(--u) * 1.6);border-radius:var(--r);background:var(--surface-2);border:2px solid var(--line);align-items:flex-start;display:flex}.ref-row.pattern{background:var(--gold-soft);border-color:var(--gold)}.ref-word{align-items:center;gap:calc(var(--u) * .8);padding:calc(var(--u) * .7) calc(var(--u) * 1.2);background:var(--brand);color:#fff;border-bottom:calc(var(--u) * .5) solid var(--brand-edge);min-width:calc(var(--u) * 17);border-radius:999px;flex:none;transition:transform 80ms,filter .15s;display:flex}.ref-word:hover{filter:brightness(1.08)}.ref-word:active{border-bottom-width:2px;transform:translateY(2px)}.ref-word.speaking{animation:.9s ease-in-out infinite pulse}.rw-malay{font-size:calc(var(--u) * 2);font-weight:900}.ref-body{gap:calc(var(--u) * .4);flex-direction:column;min-width:0;display:flex}.ref-body>b{font-size:calc(var(--u) * 1.9);font-weight:900}.ref-body small{font-size:calc(var(--u) * 1.4);color:var(--muted);font-weight:700;line-height:1.4}.ref-example{align-items:baseline;gap:calc(var(--u) * 1);text-align:left;flex-wrap:wrap;padding:0;display:flex}.ref-example em{font-style:normal;font-weight:900;font-size:calc(var(--u) * 1.7);color:var(--brand-text)}:root[data-theme=dark] .ref-example em{color:var(--gold)}.ref-example span{font-size:calc(var(--u) * 1.5);color:var(--muted);font-weight:700}.ref-nums{grid-template-columns:repeat(auto-fit, minmax(calc(var(--u) * 13), 1fr));gap:calc(var(--u) * .8);display:grid}.ref-num{align-items:baseline;gap:calc(var(--u) * .9);padding:calc(var(--u) * 1) calc(var(--u) * 1.3);background:var(--surface-2);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);border-radius:14px;display:flex}.ref-num:hover{background:var(--brand-soft);border-color:var(--brand)}.rn-n{font-size:calc(var(--u) * 1.8);color:var(--brand-text);min-width:calc(var(--u) * 2.4);font-weight:900}.rn-m{font-size:calc(var(--u) * 1.7);font-weight:800}.ref-note{font-size:calc(var(--u) * 1.5);color:var(--muted);padding:calc(var(--u) * 1.1) calc(var(--u) * 1.4);background:var(--brand-soft);border:2px dashed var(--brand);border-radius:14px;font-weight:700;line-height:1.45}.rp-range{font-size:calc(var(--u) * 1.4);color:var(--muted);letter-spacing:.06em;font-weight:800}.rp-rule{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rp-examples{gap:calc(var(--u) * .8);margin-top:calc(var(--u) * .5);flex-wrap:wrap;display:flex}.rp-ex{align-items:baseline;gap:calc(var(--u) * .6);padding:calc(var(--u) * .5) calc(var(--u) * 1);background:var(--surface);border:2px solid var(--gold-edge);border-radius:999px;display:flex}.rp-ex em{font-style:normal;font-weight:900;font-size:calc(var(--u) * 1.5)}.rp-ex span{font-size:calc(var(--u) * 1.3);color:var(--muted);font-weight:800}.ref-ords{gap:calc(var(--u) * .8);flex-wrap:wrap;display:flex}.ref-ord{gap:calc(var(--u) * .2);padding:calc(var(--u) * .9) calc(var(--u) * 1.3);background:var(--surface-2);border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--edge);text-align:left;border-radius:14px;flex-direction:column;display:flex}.ref-ord:hover{background:var(--brand-soft);border-color:var(--brand)}.ref-ord em{font-style:normal;font-weight:900;font-size:calc(var(--u) * 1.6)}.ref-ord span{font-size:calc(var(--u) * 1.3);color:var(--muted);font-weight:800}.ref-ord small{font-size:calc(var(--u) * 1.15);color:var(--brand-text);font-weight:800}@media (width<=900px){.ref-cols{grid-template-columns:1fr}}.tracks{grid-template-columns:repeat(auto-fit, minmax(calc(var(--u) * 18), 1fr));gap:calc(var(--u) * 1.2);flex:none;width:100%;display:grid}.track{gap:calc(var(--u) * .45);text-align:left;min-height:calc(var(--u) * 7.2);padding:calc(var(--u) * 1.55) calc(var(--u) * 1.9);border-radius:calc(var(--r) * 1.1);background:var(--surface);border:2px solid var(--line);border-bottom-width:2px;border-bottom-color:var(--edge);box-shadow:none;flex-direction:column;align-items:flex-start;transition:transform .12s,border-color .15s,box-shadow .15s,background .15s;display:flex}.track.current{border-color:var(--blue);background:var(--blue-soft)}button.track:hover{border-color:var(--brand);box-shadow:none;transform:translateY(-2px)}button.track:active{border-bottom-width:2px;transform:translateY(2px)}.tk-label{font-size:calc(var(--u) * 1.9);letter-spacing:.1em;font-weight:900}.tk-detail{font-size:calc(var(--u) * 1.4);color:var(--muted);font-weight:800}.core{gap:calc(var(--u) * 1.6);flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.core-head{justify-content:space-between;align-items:flex-start;gap:calc(var(--u) * 2);flex:none;display:flex}.core h1{font-size:calc(var(--u) * 3.6);letter-spacing:-.03em;font-weight:900}.core p.sub{font-size:calc(var(--u) * 1.7);color:var(--muted);font-weight:800}.core-stats{gap:calc(var(--u) * 1.2);flex-wrap:wrap;flex:none;display:flex}.core-stat{padding:calc(var(--u) * 1.2) calc(var(--u) * 2);border-radius:calc(var(--r) * .8);background:var(--brand);color:#fff}.core-stat b{font-size:calc(var(--u) * 3);font-weight:900;line-height:1;display:block}.core-stat span{font-size:calc(var(--u) * 1.35);opacity:.85;font-weight:800}.core-warn{align-items:center;gap:calc(var(--u) * 1);font-size:calc(var(--u) * 1.4);color:var(--gold-edge);background:var(--gold-soft);border:2px dashed var(--gold);border-radius:calc(var(--r) * .6);padding:calc(var(--u) * .8) calc(var(--u) * 1.4);flex:none;font-weight:800;display:flex}:root[data-theme=dark] .core-warn{color:var(--gold)}.core-groups{gap:calc(var(--u) * 1.6);min-height:0;padding-right:calc(var(--u) * .4);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.core-group h2{align-items:center;gap:calc(var(--u) * 1);font-size:calc(var(--u) * 1.9);margin-bottom:calc(var(--u) * .8);font-weight:900;display:flex}.core-group h2 svg{color:var(--brand)}.core-group h2 em{font-style:normal;font-size:calc(var(--u) * 1.4);color:var(--muted);font-weight:700}.core-words{grid-template-columns:repeat(auto-fit, minmax(calc(var(--u) * 34), 1fr));gap:calc(var(--u) * .8);list-style:none;display:grid}.core-word{align-items:center;gap:calc(var(--u) * 1.2);padding:calc(var(--u) * 1) calc(var(--u) * 1.4);border-radius:calc(var(--r) * .6);background:var(--surface);border:2px solid var(--line);display:flex}.core-word.learning{border-color:var(--gold);background:var(--gold-soft)}.core-word.mastered{border-color:var(--good);background:var(--good-soft)}.core-word b{font-size:calc(var(--u) * 2);font-weight:900}.cw-en{font-size:calc(var(--u) * 1.5);color:var(--muted);min-width:0;font-weight:700}.cw-n{font-size:calc(var(--u) * 1.25);color:var(--muted);white-space:nowrap;margin-left:auto;font-weight:800}.cw-state{font-size:calc(var(--u) * 1.15);letter-spacing:.1em;color:var(--muted);white-space:nowrap;font-weight:900}.core-word.mastered .cw-state{color:var(--good-edge)}.core-word.learning .cw-state{color:var(--gold-edge)}:root[data-theme=dark] .core-word.mastered .cw-state{color:var(--good)}:root[data-theme=dark] .core-word.learning .cw-state{color:var(--gold)}.cw-say{color:var(--brand);flex:none;place-items:center;display:grid}.cw-say:disabled{opacity:.35}.core-actions{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);flex-wrap:wrap;flex:none;display:flex}.core-size{align-items:center;gap:calc(var(--u) * .8);font-size:calc(var(--u) * 1.6);color:var(--muted);font-weight:800;display:flex}.btn.small{font-size:calc(var(--u) * 1.7);padding:calc(var(--u) * .8) calc(var(--u) * 1.8);border-bottom-width:4px}@media (width<=820px){.tracks{grid-template-columns:1fr}}.choices .choice{animation:.34s cubic-bezier(.22,1,.36,1) backwards choiceIn;animation-delay:calc(var(--i,0) * 55ms + 60ms)}@keyframes choiceIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}.choice.struck{transition:opacity .25s,transform .25s;transform:scale(.98)}.choice.correct .key,.choice.wrong .key{animation:.32s cubic-bezier(.34,1.56,.64,1) 60ms backwards keyPop}@keyframes keyPop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.choice.dim{transition:opacity .3s 80ms}.level-card{animation:.4s cubic-bezier(.22,1,.36,1) backwards cardIn;animation-delay:calc(var(--i,0) * 32ms)}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.level-card .dot{transition:background .3s,transform .3s cubic-bezier(.34,1.56,.64,1)}.level-card .dot.on{transform:scale(1.25)}.tracks{animation:.4s cubic-bezier(.22,1,.36,1) 30ms backwards cardIn}.core-word{animation:.34s cubic-bezier(.22,1,.36,1) backwards cardIn}.core-group:nth-child(2) .core-word{animation-delay:60ms}.core-word.mastered{animation:.5s cubic-bezier(.34,1.56,.64,1) backwards masteredIn}@keyframes masteredIn{0%{opacity:0;transform:translateY(10px)scale(.96)}60%{transform:translateY(0)scale(1.03)}to{opacity:1;transform:none}}.core-stat b{animation:.5s cubic-bezier(.34,1.56,.64,1) bump}.result-tile{animation:.44s cubic-bezier(.34,1.56,.64,1) backwards tileIn;animation-delay:calc(var(--i,0) * 90ms + .12s)}@keyframes tileIn{0%{opacity:0;transform:translateY(20px)scale(.94)}to{opacity:1;transform:none}}.result-actions{animation:.4s ease-out .42s backwards fadeIn}.result .kicker{animation:.4s ease-out .52s backwards fadeIn}.bar-sheen{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff80,#0000);border-radius:999px;animation:.9s ease-out sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hint-box{animation:.26s cubic-bezier(.22,1,.36,1) slideUp}.icon-btn{transition:transform .12s,background .15s,color .15s}.icon-btn:active{transform:scale(.92)}.cw-say{transition:transform .12s}.cw-say:active{transform:scale(.88)}.cg-pick{align-items:center;gap:calc(var(--u) * 1);font-size:calc(var(--u) * 1.9);color:var(--ink);padding:calc(var(--u) * .4) calc(var(--u) * 1.2);margin-left:calc(var(--u) * -1.2);border-radius:calc(var(--r) * .5);border:2px solid #0000;font-weight:900;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.cg-pick svg{color:var(--brand)}.cg-pick:hover{background:var(--surface-2);border-color:var(--line)}.cg-pick.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-text)}.cg-count{font-size:calc(var(--u) * 1.4);color:var(--muted);margin-left:auto;font-weight:900}.core-group{transition:opacity .2s}.core-groups:has(.core-group.picked) .core-group:not(.picked){opacity:.45}@media (width<=640px){.title span{display:none}.title{flex:none;gap:0}.stage{padding-top:calc(var(--u) * 2);justify-content:flex-start}.card{padding:calc(var(--u) * 3)}.choice{font-size:calc(var(--u) * 4.4);padding:calc(var(--u) * 3.4) calc(var(--u) * 3)}.choice .key{width:calc(var(--u) * 7);height:calc(var(--u) * 7);font-size:calc(var(--u) * 3.2)}.prompt,.q-prompt{font-size:calc(var(--u) * 5)}.home h1,.core h1{font-size:calc(var(--u) * 6.4)}.home p.sub,.core p.sub{font-size:calc(var(--u) * 3.2)}.home-hero{display:block}.home-head{grid-template-columns:minmax(0, 1fr) calc(var(--u) * 15);min-height:calc(var(--u) * 32);padding:calc(var(--u) * 3)}.mascot-panel{width:calc(var(--u) * 15);min-height:calc(var(--u) * 14)}.mascot-panel .hornbill{height:auto;width:calc(var(--u) * 14)!important}.btn.big{font-size:calc(var(--u) * 3.7);padding:calc(var(--u) * 2.6) calc(var(--u) * 4)}.petronas-scene{border-radius:calc(var(--r) * 1)}.tower{width:calc(var(--u) * 16);opacity:.58}.tower-left{left:calc(var(--u) * -.7)}.tower-right{right:calc(var(--u) * -.7)}.skybridge{left:calc(var(--u) * 5);right:calc(var(--u) * 5);top:calc(var(--u) * 16.2);opacity:.68}.petronas-crown{width:calc(var(--u) * 23);opacity:.76}.climb-guide{right:calc(var(--u) * 2);opacity:.86}.levels.learning-path{padding-inline:calc(var(--u) * 1);padding-top:calc(var(--u) * 12.6);gap:calc(var(--u) * 1.8)}.levels.learning-path:before{left:calc(var(--u) * 6.3);transform:none}.path-step{--node:calc(var(--u) * 9);width:calc(100% - var(--u) * 1.2);grid-template-columns:var(--node) minmax(0, 1fr);transform:none}.path-step:hover,.path-step:active{transform:translateY(calc(var(--u) * -.15))}@keyframes pathStepIn{0%{opacity:0;transform:translateY(calc(var(--u) * 1.8)) scale(.96)}to{opacity:1;transform:none}}.core-words,.tracks{grid-template-columns:1fr}.app{padding-left:max(var(--u), env(safe-area-inset-left));padding-right:max(var(--u), env(safe-area-inset-right));padding-bottom:max(var(--u), env(safe-area-inset-bottom))}}.arcade-menu,.arcade-cabinet,.arcade-summary{box-sizing:border-box;--arcade-bg:var(--surface);--arcade-panel:#ffffffc2;--arcade-ink:var(--ink);--arcade-muted:var(--muted);--arcade-line:var(--line);--arcade-hot:var(--brand);--arcade-glow:#0f8f881f;--arcade-cyan:var(--blue)}.arcade-menu,.arcade-cabinet{color:var(--arcade-ink);border-color:var(--arcade-line);background:var(--arcade-bg);box-shadow:none}.arcade-menu{border-radius:calc(var(--r) * 1.15);border:2px solid var(--arcade-line);width:100%;max-width:100%;height:auto;padding:calc(var(--u) * 2.7);align-self:stretch;gap:calc(var(--u) * 1.3);border-bottom-width:2px;overflow:hidden}.arcade-hero{box-sizing:border-box;width:100%;min-height:calc(var(--u) * 14);padding:calc(var(--u) * 2) calc(var(--u) * 2.2);border-bottom:0;justify-content:space-between;align-items:flex-end}.arcade-hero>div:first-child{min-width:0}.arcade-hero h1{color:var(--arcade-ink);font-size:calc(var(--u) * 6.4);letter-spacing:0}.arcade-hero .sub{color:var(--arcade-muted)}.arcade-kicker{color:var(--arcade-cyan);font-size:calc(var(--u) * 1.35);letter-spacing:.18em;margin-bottom:calc(var(--u) * .4);font-weight:900}.arcade-marquee{gap:calc(var(--u) * .8);flex-direction:column;justify-content:center;align-items:flex-end;display:flex}.arcade-marquee span,.arcade-game-meta span{border:2px solid var(--arcade-line);padding:calc(var(--u) * .55) calc(var(--u) * 1.2);color:var(--arcade-muted);font-size:calc(var(--u) * 1.25);background:#ffffff85;border-radius:999px;font-weight:900}.difficulty-strip{gap:calc(var(--u) * .9);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.difficulty-chip{text-align:left;min-width:0;min-height:calc(var(--u) * 6.8);padding:calc(var(--u) * 1.1) calc(var(--u) * 1.45);border-radius:calc(var(--r) * .9);border:2px solid var(--line);color:var(--muted);box-shadow:0 calc(var(--u) * .6) calc(var(--u) * 1.4) #2416110a;background:#ffffffa8;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.difficulty-chip span{color:var(--ink);font-size:calc(var(--u) * 1.75);letter-spacing:.12em;font-weight:900;display:block}.difficulty-chip small{margin-top:calc(var(--u) * .35);font-size:calc(var(--u) * 1.25);font-weight:800;display:block}.difficulty-chip:hover{transform:translateY(calc(var(--u) * -.25));border-color:var(--blue)}.difficulty-chip.on{background:var(--blue-soft);border-color:var(--blue);box-shadow:0 calc(var(--u) * .9) calc(var(--u) * 2) #0f8f881f}.difficulty-chip.on span{color:var(--blue-edge)}.arcade-games{box-sizing:border-box;gap:calc(var(--u) * 1.2);flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;width:100%;min-width:0;min-height:0;display:grid}.arcade-game-card{box-sizing:border-box;min-width:0;min-height:calc(var(--u) * 20.5);justify-content:space-between;gap:calc(var(--u) * 1.3);text-align:left;padding:calc(var(--u) * 2);border-radius:calc(var(--r) * 1);border:2px solid var(--arcade-line);border-bottom-width:2px;border-bottom-color:var(--edge);background:linear-gradient(180deg, #ffffffd1, #ffffff9e), var(--arcade-panel);color:var(--arcade-ink);animation:.42s cubic-bezier(.22,1,.36,1) backwards cardIn;animation-delay:calc(var(--i,0) * 70ms + 80ms);flex-direction:column;transition:transform .14s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.arcade-game-card:before{content:"";inset:auto calc(var(--u) * 1.6) 0 calc(var(--u) * 1.6);height:calc(var(--u) * .42);background:var(--brand);opacity:.9;border-radius:999px 999px 0 0;position:absolute}.arcade-game-card.type-rush:before{background:var(--blue)}.arcade-game-card.sentence-builder:before{background:var(--gold)}.arcade-game-card:hover{transform:translateY(calc(var(--u) * -.25));border-color:var(--brand);box-shadow:0 calc(var(--u) * 1) calc(var(--u) * 2.8) #14120f14}.arcade-game-card:active{transform:translateY(calc(var(--u) * .2));border-bottom-width:4px}.arcade-game-head{justify-content:space-between;align-items:center;gap:calc(var(--u) * 1.2);z-index:1;display:flex;position:relative}.arcade-game-icon{width:calc(var(--u) * 6.5);height:calc(var(--u) * 6.5);border-radius:calc(var(--r) * .9);background:var(--brand-soft);color:var(--brand-text);border:2px solid #075f5724;place-items:center;display:grid}.type-rush .arcade-game-icon{background:var(--blue-soft);color:var(--blue-edge);border-color:#263f8f24}.sentence-builder .arcade-game-icon{background:var(--gold-soft);color:var(--gold-edge);border-color:#9a6a1829}.arcade-game-top,.arcade-game-meta{justify-content:flex-start;gap:calc(var(--u) * 1);z-index:1;flex-wrap:wrap;align-items:center;display:flex;position:relative}.arcade-game-top span{color:var(--arcade-cyan);font-size:calc(var(--u) * 1.25);letter-spacing:.18em;font-weight:900}.arcade-game-top{text-align:right;justify-content:flex-end}.arcade-game-top b{color:var(--arcade-hot);font-size:calc(var(--u) * 2.2);font-weight:900}.arcade-game-name{z-index:1;font-size:calc(var(--u) * 3);letter-spacing:0;font-weight:900;line-height:1;position:relative}.arcade-game-blurb{z-index:1;color:var(--arcade-muted);font-size:calc(var(--u) * 1.5);font-weight:800;line-height:1.25;position:relative}.arcade-game-meta{margin-top:auto}.arcade-back{padding-inline:calc(var(--u) * 3.2);min-width:calc(var(--u) * 16);margin-top:calc(var(--u) * -.2)}.arcade{gap:calc(var(--u) * 1.7);flex-direction:column;display:flex}.arcade-cabinet{border-bottom-width:2px;border-bottom-color:var(--edge);padding:calc(var(--u) * 2.7)}.arcade-top{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);display:flex}.arcade-name{color:var(--arcade-cyan);font-size:calc(var(--u) * 1.5);letter-spacing:.18em;font-weight:900}.arcade-command{color:var(--arcade-muted);font-size:calc(var(--u) * 1.45);letter-spacing:.12em;text-transform:uppercase;align-self:center;font-weight:900}.arcade-timer{min-width:calc(var(--u) * 11);padding:calc(var(--u) * 1) calc(var(--u) * 1.5);border:2px solid var(--arcade-line);border-radius:calc(var(--r) * .8);background:var(--gold-soft);color:var(--gold-edge);font-size:calc(var(--u) * 4.8);font-variant-numeric:tabular-nums;text-align:center;font-weight:900;line-height:1}.arcade-timer.low{color:#ff5c45;border-color:#ff5c45;animation:.7s ease-in-out infinite pulse}.arcade-timer.held{opacity:.46;color:var(--arcade-muted);animation:none}.arcade-prompt{min-height:calc(var(--u) * 14);padding:calc(var(--u) * 1.2) calc(var(--u) * 1);color:var(--arcade-ink);font-size:min(calc(var(--u) * 8.6), 10vw);letter-spacing:0;text-align:center;text-transform:uppercase;word-break:break-word;justify-content:center;align-items:center;font-weight:900;line-height:1;display:flex}.arcade-prompt.sentence-case{text-transform:none;font-size:min(calc(var(--u) * 6.8), 8vw)}.arcade-cabinet .choice{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:0 calc(var(--u) * .7) calc(var(--u) * 1.4) #2416110d}.arcade-cabinet .choice>span:not(.key){flex:auto;min-width:0}.arcade-cabinet .choice .key{background:var(--blue-soft);color:var(--arcade-cyan);border-color:var(--arcade-line)}.arcade-cabinet .choice.correct{border-color:var(--good);background:var(--good-soft);opacity:1;box-shadow:0 0 0 4px #2f8f5b2e,0 14px 32px #2f8f5b24}.arcade-cabinet .choice.correct .key{background:var(--good);border-color:var(--good);color:#fff}.arcade-cabinet .choice.wrong{border-color:var(--red);background:var(--bad-soft);opacity:1;box-shadow:0 0 0 4px #d1402c2e,0 14px 32px #d1402c24}.arcade-cabinet .choice.wrong .key{background:var(--red);border-color:var(--red);color:#fff}.arcade-choice-badge{padding:calc(var(--u) * .45) calc(var(--u) * .75);color:#fff;font-size:calc(var(--u) * 1.1);letter-spacing:.12em;border-radius:999px;flex:none;margin-left:auto;font-style:normal;font-weight:900}.arcade-choice-badge.good{background:var(--good)}.arcade-choice-badge.bad{background:var(--red)}.arcade-stats{gap:calc(var(--u) * 1.2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.arcade-stat{min-width:calc(var(--u) * 13);padding:calc(var(--u) * 1) calc(var(--u) * 1.8);border-radius:calc(var(--r) * .7);border:2px solid var(--arcade-line);color:var(--arcade-ink);text-align:center;background:#ffffffa8}.arcade-stat small{color:var(--arcade-muted);font-size:calc(var(--u) * 1.15);letter-spacing:.14em;font-weight:900}.arcade-stat b{color:var(--gold);font-size:calc(var(--u) * 3.1);font-weight:900}.arcade-stat.streak b{color:var(--arcade-cyan)}.arcade-flash{padding:calc(var(--u) * 1) calc(var(--u) * 2.2);color:#fff;font-size:calc(var(--u) * 2);letter-spacing:.1em;box-shadow:0 calc(var(--u) * .8) calc(var(--u) * 1.6) #0000003d;border-radius:999px;font-weight:900;animation:.35s cubic-bezier(.34,1.56,.64,1) bump}.arcade-flash.good{background:var(--good)}.arcade-flash.bad{background:var(--red)}.arcade-correction{gap:calc(var(--u) * 1.2);grid-template-columns:1fr 1fr;width:100%;display:grid}.arcade-correction-card{border-radius:calc(var(--r) * .85);min-width:0;padding:calc(var(--u) * 1.15) calc(var(--u) * 1.35);border:3px solid;border-bottom-width:7px}.arcade-correction-card span{margin-bottom:calc(var(--u) * .35);font-size:calc(var(--u) * 1.15);letter-spacing:.14em;font-weight:900;display:block}.arcade-correction-card b{color:var(--ink);font-size:calc(var(--u) * 2.25);overflow-wrap:anywhere;font-weight:900;line-height:1.08;display:block}.arcade-correction-card.good{border-color:var(--good);background:var(--good-soft);color:var(--good-edge)}.arcade-correction-card.bad{border-color:var(--red);background:var(--bad-soft);color:var(--red-edge)}.arcade-type{text-align:center}.arcade-type .write-row{justify-content:center}.arcade-type .write-input{text-align:center;color:var(--ink);background:var(--surface);border-color:var(--arcade-line);font-size:calc(var(--u) * 3.5)}.arcade-type .write-input::placeholder{color:var(--muted);opacity:.55}.arcade-answer-area{min-height:calc(var(--u) * 9);gap:calc(var(--u) * 1.1);padding:calc(var(--u) * 1.6);border-radius:calc(var(--r) * .9);border:2px dashed var(--arcade-line);background:#ffffff8a;flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.arcade-answer-area.filled{border-style:solid;border-color:var(--arcade-hot);background:var(--brand-soft)}.arcade-answer-area.good{border-color:var(--good);background:#2f8f5b2e}.arcade-answer-area.bad{border-color:var(--red);background:#d1402c29}.arcade-answer-hint{color:var(--arcade-muted);font-weight:900;font-size:calc(var(--u) * 1.6);letter-spacing:.1em}.arcade-source{min-height:calc(var(--u) * 7);gap:calc(var(--u) * 1.2);flex-wrap:wrap;justify-content:center;display:flex}.tile{padding:calc(var(--u) * 1.45) calc(var(--u) * 2.4);border-radius:calc(var(--r) * .65);border:2px solid #0000;border-bottom-color:var(--edge);color:var(--ink);font-size:calc(var(--u) * 2.8);background:#fff4dc;font-weight:900;transition:transform 80ms,border-color .15s,background .15s}.tile:hover:not(:disabled){border-color:var(--arcade-hot);background:#fffaf0}.tile:active:not(:disabled){border-bottom-width:2px;transform:translateY(3px)}.tile:disabled{opacity:.4;cursor:default}.tile.picked{background:var(--gold);border-color:var(--arcade-hot)}.result-grid.four{grid-template-columns:repeat(4,1fr)}.arcade-summary{border-radius:calc(var(--r) * 1.15);border:2px solid var(--arcade-line);padding:calc(var(--u) * 3);background:linear-gradient(135deg, #0f8f8817, transparent 32%), linear-gradient(315deg, #e45d3f17, transparent 32%), var(--arcade-bg);color:var(--arcade-ink);border-bottom-width:2px}.arcade-summary h2{color:var(--arcade-ink)}.arcade-summary .speak-en{color:var(--arcade-muted)}@media (width<=1180px){.arcade-marquee{display:none}}@media (width<=760px){.arcade-games{grid-template-columns:1fr}.arcade-hero{flex-direction:column;align-items:flex-start}.difficulty-strip{grid-template-columns:1fr}}@media (width<=640px){.arcade-menu{padding:calc(var(--u) * 2);gap:calc(var(--u) * 1.35)}.arcade-hero h1{font-size:calc(var(--u) * 9)}.arcade-games{gap:calc(var(--u) * 1.2)}.arcade-game-card{min-height:calc(var(--u) * 21);padding:calc(var(--u) * 2)}.arcade-prompt{font-size:min(calc(var(--u) * 12), 13vw);min-height:calc(var(--u) * 18)}.arcade-prompt.sentence-case{font-size:min(calc(var(--u) * 8), 11vw)}.arcade-timer{font-size:calc(var(--u) * 6)}.arcade-correction{grid-template-columns:1fr}.tile{font-size:calc(var(--u) * 4.2);padding:calc(var(--u) * 2.2) calc(var(--u) * 2.8)}.result-grid.four{grid-template-columns:repeat(2,1fr)}}:root{--bg:#f5f7f5;--bg-2:#eaf0ed;--surface-2:#eff3f1;--ink:#15252a;--muted:#53656a;--line:#dce5e2;--edge:#c6d1ce;--brand:#087f79;--brand-text:#066861;--brand-edge:#075b57;--brand-soft:#e2f3ee;--blue:#296f8e;--blue-edge:#1d536b;--red:#e45545;--red-edge:#b6372b;--gold:#f4c443;--gold-edge:#8a6211;--good:#16845e;--good-edge:#096344;--grape:#52757d;--bird-beak:#f4c443;--bird-casque:#ff654f;--bird-feet:#087f79}:root[data-theme=dark]{--bg:#121d20;--bg-2:#17292c;--surface:#1b2b2f;--surface-2:#24383b;--ink:#f0f7f5;--muted:#a8c0bd;--line:#335052;--edge:#101d20;--brand:#45c6ae;--brand-text:#78dece;--brand-edge:#178973;--brand-soft:#153f3b;--blue:#75bed3;--blue-edge:#3c879d;--gold:#f4c443;--gold-edge:#b18723}.app{background:var(--bg)}.hud{padding-bottom:2px}.hud-top{min-height:48px}.hud .title{color:var(--ink)}.hud .title .hm,.hud .title .my{color:inherit}.hud .progress-row{opacity:.88}.climb-home{overscroll-behavior:contain;scrollbar-width:thin;align-items:stretch;gap:0;width:100%;height:100%;padding:0 max(8px,50% - 710px) 40px;overflow-y:auto}.climb-home>*{flex-shrink:0}.climb-heading{justify-content:space-between;align-items:end;gap:28px;padding:16px 0 24px;display:flex}.climb-eyebrow{color:var(--brand-text);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;display:block}.climb-heading h1{letter-spacing:0;margin-top:5px;font-size:clamp(34px,4vw,58px);font-weight:800;line-height:1.02}.climb-period{color:#ff654f}.climb-heading p{color:var(--muted);margin-top:7px;font-size:16px;font-weight:500}.climb-course-switch{background:var(--bg-2);border:0;border-radius:7px;margin:0;padding:4px}.climb-course-switch button{letter-spacing:0;border-radius:5px;min-width:92px;min-height:40px;padding:8px 14px;font-size:14px}.climb-course-switch button.active{color:var(--ink);box-shadow:0 1px 5px #102a291f}.climb-overview{background:var(--surface);grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);min-height:420px;max-height:560px;display:grid}.climb-visual{color:#234a4d;isolation:isolate;background:#e8f2ed;min-height:420px;position:relative;overflow:hidden}.climb-visual.french{background:#e9f0f2}.climb-art{pointer-events:none;place-items:center;display:grid;position:absolute;inset:54px 15px 65px}.climb-art svg{width:min(100%,440px);height:100%;max-height:360px}.climb-visual-top{justify-content:space-between;align-items:start;gap:16px;padding:25px 28px;display:flex;position:absolute;top:0;left:0;right:0}.climb-location{letter-spacing:.08em;font-size:12px;font-weight:800}.climb-altitude{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1}.climb-altitude small{text-align:right;margin-top:4px;font-size:12px;font-weight:600;display:block}.climb-marker{left:12%;bottom:calc(80px + var(--ascent));background:#f6faf8;border:2px solid #fff;border-radius:50%;place-items:center;width:68px;height:68px;transition:bottom .65s cubic-bezier(.22,1,.36,1);animation:.65s cubic-bezier(.22,1,.36,1) both climbArrival;display:grid;position:absolute;box-shadow:0 8px 25px #0c2c2c26}.climb-marker .hornbill{width:52px!important;height:52px!important}@keyframes climbArrival{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:none}}.climb-visual-bottom{text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;gap:12px;padding:0 28px 24px;font-size:13px;font-weight:800;display:flex;position:absolute;bottom:0;left:0;right:0}.climb-ascent-track{background:#224a4c33;border-radius:99px;height:7px;position:absolute;bottom:54px;left:28px;right:28px;overflow:hidden}.climb-ascent-track>span{border-radius:inherit;background:#f4c443;height:100%;transition:width .65s cubic-bezier(.22,1,.36,1);display:block}.climb-mission{background:var(--surface);flex-direction:column;min-width:0;padding:clamp(24px,3vw,44px);display:flex}.climb-mission-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.climb-level-index{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.climb-mission-main{margin:auto 0;padding:22px 0}.climb-level-label{color:#e45545;letter-spacing:.08em;font-size:13px;font-weight:800}.climb-mission h2{overflow-wrap:break-word;margin-top:8px;font-size:clamp(32px,3.4vw,53px);font-weight:800;line-height:1.02}.climb-mission-main p{color:var(--muted);margin-top:13px;font-size:17px;font-weight:500;line-height:1.4}.climb-mission-bottom{margin-top:auto}.climb-lesson-count{align-items:baseline;gap:12px;display:flex}.climb-lesson-count strong{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.climb-lesson-count strong span{color:var(--muted);font-size:22px}.climb-lesson-count>span{color:var(--muted);font-size:13px;font-weight:600}.climb-lesson-bar{background:var(--bg-2);border-radius:99px;height:7px;margin:15px 0 22px;overflow:hidden}.climb-lesson-bar span{border-radius:inherit;background:var(--brand);height:100%;transition:width .65s;display:block}.climb-start{background:var(--brand);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:15px;width:100%;min-height:58px;padding:15px 20px;font-size:17px;font-weight:800;transition:background .16s,transform .16s;display:flex}.climb-start:hover{background:var(--brand-edge);transform:translateY(-2px)}.climb-start:active{transform:translateY(1px)}.climb-start svg{flex:none;width:22px!important;height:22px!important}.climb-shortcuts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 42px;display:grid}.climb-shortcuts>button{text-align:left;align-items:center;gap:13px;min-width:0;min-height:92px;padding:16px 18px;transition:background .16s;display:flex}.climb-shortcuts>button:not(:last-child){border-right:1px solid var(--line)}.climb-shortcuts>button:hover{background:var(--brand-soft)}.climb-shortcut-icon{background:var(--brand-soft);width:42px;height:42px;color:var(--brand-text);border-radius:6px;flex:0 0 42px;place-items:center;display:grid}.climb-shortcuts button:first-child .climb-shortcut-icon{color:#a25120;background:#fff0df}.climb-shortcuts svg{width:22px!important;height:22px!important}.climb-shortcuts button>span:nth-child(2){gap:2px;min-width:0;display:grid}.climb-shortcuts strong{font-size:15px;font-weight:800;line-height:1.15}.climb-shortcuts small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.2}.climb-shortcuts button>svg:last-child{color:var(--muted);flex:none;margin-left:auto;width:18px!important;height:18px!important}.climb-route{padding-bottom:36px}.climb-route-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.climb-route-head h2{margin-top:4px;font-size:clamp(24px,2.5vw,35px);font-weight:700;line-height:1.2}.climb-route-head>span{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700}.climb-route-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;display:grid}.climb-route-step{text-align:left;border-top:1px solid var(--line);align-items:center;gap:16px;min-width:0;min-height:94px;padding:17px 8px;transition:background .16s;display:flex;position:relative}.climb-route-step:hover{background:var(--brand-soft)}.climb-route-node{border:1px solid var(--edge);width:48px;height:48px;color:var(--muted);background:var(--surface);border-radius:50%;flex:0 0 48px;place-items:center;display:grid}.climb-route-node svg{width:24px!important;height:24px!important}.climb-route-step.active .climb-route-node{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.climb-route-step.done .climb-route-node{color:#fff;background:var(--good);border-color:var(--good)}.climb-route-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.climb-route-copy>span{color:var(--brand-text);letter-spacing:.04em;font-size:11px;font-weight:700}.climb-route-copy strong{font-size:17px;font-weight:700;line-height:1.25}.climb-route-copy small{color:var(--muted);font-size:13px;font-weight:400;line-height:1.35}.climb-route-end{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:700;display:flex}.climb-route-end svg{width:16px!important;height:16px!important}.climb-show-all{color:var(--brand-text);align-items:center;gap:8px;margin-top:15px;padding:12px 0;font-size:14px;font-weight:800;display:flex}.climb-show-all svg{width:17px!important;height:17px!important}.arcade-menu{background:0 0;border:0;border-radius:0;gap:22px;width:min(100%,1160px);height:100%;margin:auto;padding:8px 0 32px;overflow-y:auto}.arcade-menu .arcade-hero{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:12px 0 0;display:block}.arcade-menu .arcade-hero:after,.arcade-menu .arcade-marquee{display:none}.arcade-menu .arcade-kicker{color:var(--brand-text);letter-spacing:.08em;font-size:12px}.arcade-menu .arcade-hero h1{font-size:clamp(36px,5vw,62px);line-height:1}.arcade-menu .arcade-hero .sub{margin-top:8px;font-size:16px;font-weight:500;line-height:1.35}.arcade-menu .difficulty-strip{gap:8px}.arcade-menu .difficulty-chip{border:1px solid var(--line);min-height:68px;box-shadow:none;background:var(--surface);border-radius:5px;padding:12px 15px}.arcade-menu .difficulty-chip.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.arcade-menu .difficulty-chip span{letter-spacing:0;font-size:15px}.arcade-menu .difficulty-chip.on span{color:var(--brand-text)}.arcade-menu .difficulty-chip small{margin-top:3px;font-size:12px;font-weight:500;line-height:1.2}.arcade-menu .arcade-games{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}.arcade-menu .arcade-game-card{border:1px solid var(--line);background:var(--surface);min-height:260px;box-shadow:none;border-radius:6px;gap:12px;padding:20px}.arcade-menu .arcade-game-card:before{height:4px;inset:auto 0 0}.arcade-menu .arcade-game-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 30px #0e2e2d14}.arcade-menu .arcade-game-icon{border:0;border-radius:5px;width:48px;height:48px}.arcade-menu .arcade-game-icon svg{width:26px!important;height:26px!important}.arcade-menu .arcade-game-top span{letter-spacing:.06em;font-size:11px}.arcade-menu .arcade-game-top b{font-size:18px}.arcade-menu .arcade-game-name{font-size:clamp(20px,2vw,27px);line-height:1.05}.arcade-menu .arcade-game-blurb{font-size:14px;font-weight:500;line-height:1.4}.arcade-menu .arcade-game-meta{gap:6px}.arcade-menu .arcade-game-meta span{background:0 0;border:0;border-radius:0;padding:0;font-size:12px;font-weight:700}.arcade-menu .arcade-game-meta span+span:before{content:" · "}.arcade-menu .home-actions{justify-content:flex-start}.arcade-menu .arcade-back{border-radius:5px;min-height:44px;margin:0;padding:10px 16px;font-size:14px}.arcade-cabinet{border:1px solid var(--line);background:var(--surface);border-radius:7px;gap:20px;width:min(100%,880px);margin:auto;padding:clamp(20px,3vw,36px);box-shadow:0 16px 50px #0e2e2d0f}.arcade-cabinet .arcade-top{align-items:center}.arcade-cabinet .arcade-name{color:var(--brand-text);letter-spacing:.08em;font-size:13px}.arcade-cabinet .arcade-timer{background:var(--bg-2);min-width:86px;color:var(--ink);border:0;border-radius:5px;padding:8px 11px;font-size:28px}.arcade-cabinet .arcade-timer.low{background:var(--bad-soft);color:var(--red-edge)}.arcade-time-track{background:var(--bg-2);border-radius:99px;width:100%;height:6px;margin-top:-8px;overflow:hidden}.arcade-time-track span{border-radius:inherit;background:var(--brand);height:100%;transition:width .1s linear;display:block}.arcade-time-track.low span{background:var(--red)}.arcade-cabinet .arcade-command{color:var(--muted);letter-spacing:.04em;align-self:flex-start;margin-top:16px;font-size:13px}.arcade-cabinet .arcade-prompt{text-align:left;text-transform:none;justify-content:flex-start;min-height:105px;padding:0;font-size:clamp(36px,5vw,64px);line-height:1.05}.arcade-cabinet .arcade-prompt.sentence-case{font-size:clamp(30px,4vw,52px)}.arcade-cabinet .choices{gap:10px}.arcade-cabinet .choice{border:1px solid var(--line);min-height:64px;box-shadow:none;text-align:left;border-radius:5px;padding:12px 18px;font-size:clamp(16px,1.5vw,20px);line-height:1.2}.arcade-cabinet .choice:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.arcade-cabinet .choice .key{background:var(--bg-2);width:34px;height:34px;color:var(--brand-text);border:0;border-radius:4px;flex:0 0 34px;font-size:14px}.arcade-cabinet .choice.correct{border:2px solid var(--good);background:var(--good-soft);box-shadow:none}.arcade-cabinet .choice.wrong{border:2px solid var(--red);background:var(--bad-soft);box-shadow:none}.arcade-cabinet .arcade-stats{border-top:1px solid var(--line);justify-content:flex-start;gap:25px;padding-top:12px}.arcade-cabinet .arcade-stat{text-align:left;background:0 0;border:0;min-width:0;padding:0}.arcade-cabinet .arcade-stat small{color:var(--muted);letter-spacing:.06em;font-size:11px}.arcade-cabinet .arcade-stat b,.arcade-cabinet .arcade-stat.streak b{color:var(--ink);font-size:23px}.arcade-cabinet .arcade-flash{box-shadow:none;border-radius:4px;margin-left:auto;padding:8px 12px;font-size:13px}.arcade-cabinet .arcade-correction-card{border-width:2px;border-radius:5px;padding:12px 15px}.arcade-cabinet .arcade-correction-card span{letter-spacing:.06em;font-size:11px}.arcade-cabinet .arcade-correction-card b{font-size:19px}.arcade-cabinet .write-row{margin-top:0}.arcade-cabinet .write-input{border:1px solid var(--line);border-radius:5px;min-height:56px;padding:10px 14px;font-size:20px}.arcade-cabinet .arcade-answer-area{border-radius:5px;min-height:78px}.arcade-cabinet .tile{border-radius:4px;font-size:18px}@media (width<=900px){.climb-overview{grid-template-columns:1fr;max-height:none}.climb-visual{min-height:380px}.climb-mission{min-height:290px}.climb-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.climb-shortcuts>button:nth-child(2){border-right:0}.climb-shortcuts>button:nth-child(n+3){border-top:1px solid var(--line)}.arcade-menu .arcade-games{grid-template-columns:1fr}.arcade-menu .arcade-game-card{min-height:0}}@media (width<=640px){.app{padding:10px 12px max(10px, env(safe-area-inset-bottom));gap:8px}.stage{min-height:0}.climb-home{padding:0 0 24px}.climb-heading{flex-direction:column;align-items:flex-start;gap:17px;padding:16px 3px 20px}.climb-heading h1{font-size:37px}.climb-heading p{font-size:15px}.climb-course-switch{width:100%}.climb-course-switch button{flex:1}.climb-visual{min-height:310px}.climb-art{inset:56px 12px 62px}.climb-visual-top{padding:18px}.climb-location{max-width:165px;font-size:10px;line-height:1.35}.climb-altitude{font-size:28px}.climb-marker{width:57px;height:57px;left:9%;bottom:calc(76px + var(--ascent))}.climb-marker .hornbill{width:44px!important;height:44px!important}.climb-visual-bottom{padding:0 18px 18px;font-size:11px}.climb-ascent-track{bottom:44px;left:18px;right:18px}.climb-mission{min-height:290px;padding:24px 19px}.climb-mission h2{font-size:35px}.climb-mission-main p{font-size:15px}.climb-shortcuts{margin:14px 0 30px}.climb-shortcuts>button{gap:8px;min-height:78px;padding:12px 7px}.climb-shortcut-icon{flex-basis:32px;width:32px;height:32px}.climb-shortcut-icon svg{width:19px!important;height:19px!important}.climb-shortcuts strong{font-size:13px}.climb-shortcuts small{font-size:11px}.climb-shortcuts button>svg:last-child{display:none}.climb-route-head h2{font-size:25px}.climb-route-list{grid-template-columns:1fr}.climb-route-step{min-height:88px}.climb-route-copy strong{font-size:16px}.climb-route-copy small{font-size:12px}.arcade-cabinet{gap:16px;padding:19px}.arcade-cabinet .arcade-prompt{min-height:80px;font-size:clamp(32px,9vw,43px)}.arcade-cabinet .arcade-prompt.sentence-case{font-size:clamp(27px,7vw,38px)}.arcade-cabinet .choice{min-height:58px;padding:10px 12px;font-size:16px}.arcade-cabinet .arcade-correction{grid-template-columns:1fr}.arcade-cabinet .write-row{flex-wrap:wrap}.arcade-cabinet .write-row .btn{width:100%}.arcade-menu{gap:16px;padding:4px 0 24px}.arcade-menu .arcade-hero{padding:10px 2px 0}.arcade-menu .arcade-hero h1{font-size:38px}.arcade-menu .arcade-hero .sub{font-size:14px}.arcade-menu .difficulty-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.arcade-menu .difficulty-chip{text-align:center;min-height:48px;padding:10px 6px}.arcade-menu .difficulty-chip span{font-size:13px}.arcade-menu .difficulty-chip small{display:none}.arcade-menu .arcade-game-card{gap:7px;min-height:150px;padding:15px}.arcade-menu .arcade-game-name{font-size:20px}.arcade-menu .arcade-game-blurb{font-size:13px}.arcade-menu .arcade-game-icon{width:38px;height:38px}.arcade-menu .arcade-game-icon svg{width:23px!important;height:23px!important}}@media (width<=380px){.hud-top{flex-wrap:wrap}.tools{flex-wrap:wrap;flex:100%}.lang-select{max-width:none}.tools .icon-btn{width:36px;height:36px}.climb-shortcuts{grid-template-columns:1fr}.climb-shortcuts>button{min-height:64px;padding:10px 8px}.climb-shortcuts>button:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}.climb-shortcuts>button:nth-child(n+3){border-top:0}.climb-shortcuts button>svg:last-child{display:block}}@media (prefers-reduced-motion:reduce){.climb-marker{transition:none;animation:none}.climb-ascent-track>span,.climb-lesson-bar span{transition:none}}
