:root{--sk-scheme: light;--sk-bg: #f5f5f5;--sk-bg-image: none;--sk-bg-size: auto;--sk-surface: #ffffff;--sk-surface-2: #f8fafc;--sk-edge: #e2e8f0;--sk-edge-strong: #cbd5e1;--sk-ink: #1e293b;--sk-ink-2: #475569;--sk-muted: #94a3b8;--sk-primary: #4f46e5;--sk-primary-deep: #4338ca;--sk-primary-soft: #e0e7ff;--sk-primary-ink: #4338ca;--sk-on-primary: #ffffff;--sk-green: #10b981;--sk-green-deep: #059669;--sk-green-soft: #d1fae5;--sk-green-ink: #047857;--sk-blue: #3b82f6;--sk-blue-deep: #2563eb;--sk-blue-soft: #dbeafe;--sk-blue-ink: #1d4ed8;--sk-orange: #f97316;--sk-orange-deep: #ea580c;--sk-orange-soft: #ffedd5;--sk-orange-ink: #c2410c;--sk-purple: #8b5cf6;--sk-purple-deep: #7c3aed;--sk-purple-soft: #ede9fe;--sk-purple-ink: #6d28d9;--sk-red: #ef4444;--sk-red-deep: #dc2626;--sk-red-soft: #fee2e2;--sk-red-ink: #b91c1c;--sk-gold: #fbbf24;--sk-gold-deep: #d97706;--sk-gold-soft: #fef3c7;--sk-gold-ink: #b45309;--sk-teal: #14b8a6;--sk-teal-deep: #0d9488;--sk-teal-soft: #ccfbf1;--sk-teal-ink: #0f766e;--sk-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Arabic", system-ui, sans-serif;--sk-font-display: var(--sk-font-body);--sk-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sk-display-case: none;--sk-display-tracking: normal;--sk-radius-s: 8px;--sk-radius: 12px;--sk-radius-l: 16px;--sk-border-w: 1px;--sk-clip: none;--sk-press: 0px;--sk-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .1);--sk-shadow-pop: 0 10px 25px rgba(15, 23, 42, .12);--sk-glow: none}:root[data-skin=classic][data-theme=dark]{--sk-scheme: dark;--sk-bg: #0f172a;--sk-surface: #1e293b;--sk-surface-2: #273449;--sk-edge: #334155;--sk-edge-strong: #475569;--sk-ink: #f1f5f9;--sk-ink-2: #cbd5e1;--sk-muted: #94a3b8;--sk-primary: #6366f1;--sk-primary-deep: #4f46e5;--sk-primary-soft: rgba(99, 102, 241, .2);--sk-primary-ink: #a5b4fc;--sk-on-primary: #ffffff;--sk-green: #10b981;--sk-green-deep: #047857;--sk-green-soft: rgba(16, 185, 129, .18);--sk-green-ink: #6ee7b7;--sk-blue: #3b82f6;--sk-blue-deep: #1d4ed8;--sk-blue-soft: rgba(59, 130, 246, .18);--sk-blue-ink: #93c5fd;--sk-orange: #f97316;--sk-orange-deep: #c2410c;--sk-orange-soft: rgba(249, 115, 22, .18);--sk-orange-ink: #fdba74;--sk-purple: #8b5cf6;--sk-purple-deep: #6d28d9;--sk-purple-soft: rgba(139, 92, 246, .2);--sk-purple-ink: #c4b5fd;--sk-red: #ef4444;--sk-red-deep: #b91c1c;--sk-red-soft: rgba(239, 68, 68, .18);--sk-red-ink: #fca5a5;--sk-gold: #fbbf24;--sk-gold-deep: #b45309;--sk-gold-soft: rgba(251, 191, 36, .18);--sk-gold-ink: #fcd34d;--sk-teal: #14b8a6;--sk-teal-deep: #0f766e;--sk-teal-soft: rgba(20, 184, 166, .18);--sk-teal-ink: #5eead4;--sk-shadow: 0 1px 2px rgba(0, 0, 0, .3);--sk-shadow-pop: 0 10px 25px rgba(0, 0, 0, .45)}:root[data-skin=quest]{--sk-scheme: dark;--sk-bg: #0e1430;--sk-bg-image: radial-gradient(1200px 600px at 80% -10%, #263066 0%, #0e1430 55%);--sk-surface: #161d3d;--sk-surface-2: #1b2450;--sk-edge: rgba(255, 255, 255, .08);--sk-edge-strong: rgba(255, 255, 255, .16);--sk-ink: #e8ebf7;--sk-ink-2: #aab2d4;--sk-muted: #8d95b8;--sk-primary: #f0b64a;--sk-primary-deep: #c98a1b;--sk-primary-soft: rgba(240, 182, 74, .18);--sk-primary-ink: #ffd27a;--sk-on-primary: #2a1c05;--sk-green: #34d399;--sk-green-deep: #059669;--sk-green-soft: rgba(52, 211, 153, .18);--sk-green-ink: #6ee7b7;--sk-blue: #60a5fa;--sk-blue-deep: #2563eb;--sk-blue-soft: rgba(96, 165, 250, .18);--sk-blue-ink: #93c5fd;--sk-orange: #fb923c;--sk-orange-deep: #c2410c;--sk-orange-soft: rgba(251, 146, 60, .18);--sk-orange-ink: #fdba74;--sk-purple: #8b7cf6;--sk-purple-deep: #6d5bd0;--sk-purple-soft: rgba(139, 124, 246, .2);--sk-purple-ink: #b4a9fb;--sk-red: #ef6f8a;--sk-red-deep: #c2415d;--sk-red-soft: rgba(239, 111, 138, .2);--sk-red-ink: #f5a3b5;--sk-gold: #f0b64a;--sk-gold-deep: #c98a1b;--sk-gold-soft: rgba(240, 182, 74, .2);--sk-gold-ink: #ffd27a;--sk-teal: #38c6b0;--sk-teal-deep: #1f9c83;--sk-teal-soft: rgba(56, 198, 176, .2);--sk-teal-ink: #7ee0d0;--sk-font-body: "Nunito", "Noto Sans Arabic", "Trebuchet MS", "Segoe UI", sans-serif;--sk-font-display: "Sora", "Noto Sans Arabic", "Avenir Next", "Trebuchet MS", sans-serif;--sk-radius-s: 10px;--sk-radius: 14px;--sk-radius-l: 18px;--sk-shadow: none;--sk-shadow-pop: 0 12px 32px rgba(0, 0, 0, .45);--sk-glow: 0 6px 18px rgba(240, 182, 74, .35)}:root[data-skin=arcade]{--sk-scheme: dark;--sk-bg: #07090f;--sk-bg-image: linear-gradient(rgba(46, 230, 214, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(46, 230, 214, .035) 1px, transparent 1px);--sk-bg-size: 40px 40px;--sk-surface: #0f1420;--sk-surface-2: #0a0e17;--sk-edge: #1d2536;--sk-edge-strong: #2b3650;--sk-ink: #e6f0ff;--sk-ink-2: #b7c2d9;--sk-muted: #7a8aa6;--sk-primary: #2ee6d6;--sk-primary-deep: #14a89c;--sk-primary-soft: rgba(46, 230, 214, .12);--sk-primary-ink: #8ffff3;--sk-on-primary: #04201d;--sk-green: #b6f542;--sk-green-deep: #7fb81f;--sk-green-soft: rgba(182, 245, 66, .14);--sk-green-ink: #d4fa8f;--sk-blue: #5ab8ff;--sk-blue-deep: #2f7fd1;--sk-blue-soft: rgba(90, 184, 255, .14);--sk-blue-ink: #a6d8ff;--sk-orange: #ff9c66;--sk-orange-deep: #d96a2f;--sk-orange-soft: rgba(255, 156, 102, .14);--sk-orange-ink: #ffc3a3;--sk-purple: #c084fc;--sk-purple-deep: #9153d6;--sk-purple-soft: rgba(192, 132, 252, .14);--sk-purple-ink: #dcb8fe;--sk-red: #ff4fa3;--sk-red-deep: #d42a7c;--sk-red-soft: rgba(255, 79, 163, .14);--sk-red-ink: #ff9fcb;--sk-gold: #ffd84a;--sk-gold-deep: #c9a410;--sk-gold-soft: rgba(255, 216, 74, .14);--sk-gold-ink: #ffe98f;--sk-teal: #2ee6d6;--sk-teal-deep: #14a89c;--sk-teal-soft: rgba(46, 230, 214, .12);--sk-teal-ink: #8ffff3;--sk-font-body: "Space Grotesk", "Noto Sans Arabic", "Segoe UI", system-ui, sans-serif;--sk-font-display: "Chakra Petch", "Noto Sans Arabic", "Space Grotesk", system-ui, sans-serif;--sk-display-case: uppercase;--sk-display-tracking: .08em;--sk-radius-s: 2px;--sk-radius: 4px;--sk-radius-l: 6px;--sk-clip: polygon(10px 0, 100% 0, 100% calc(100% - 10px) , calc(100% - 10px) 100%, 0 100%, 0 10px);--sk-shadow: none;--sk-shadow-pop: 0 0 0 1px #1d2536, 0 16px 40px rgba(0, 0, 0, .6);--sk-glow: 0 0 24px rgba(46, 230, 214, .45)}:root[data-skin=playground]{--sk-scheme: light;--sk-bg: #fbf7ef;--sk-surface: #ffffff;--sk-surface-2: #f6f0e3;--sk-edge: #ebe3d3;--sk-edge-strong: #d9d2c1;--sk-ink: #2b2a3d;--sk-ink-2: #5c5a72;--sk-muted: #8a8672;--sk-primary: #ff6b57;--sk-primary-deep: #c9432f;--sk-primary-soft: #fff1ee;--sk-primary-ink: #c9432f;--sk-on-primary: #ffffff;--sk-green: #35c98d;--sk-green-deep: #23926a;--sk-green-soft: #e9f9f1;--sk-green-ink: #1f7d5b;--sk-blue: #4aa8ff;--sk-blue-deep: #2f7fd1;--sk-blue-soft: #eaf3ff;--sk-blue-ink: #2a70b8;--sk-orange: #ff9a3c;--sk-orange-deep: #d0701a;--sk-orange-soft: #fff3e6;--sk-orange-ink: #b35f12;--sk-purple: #9b6bff;--sk-purple-deep: #7a4fe0;--sk-purple-soft: #f3edff;--sk-purple-ink: #6a41cc;--sk-red: #f0506e;--sk-red-deep: #c0304d;--sk-red-soft: #ffeef1;--sk-red-ink: #b02a45;--sk-gold: #ffc531;--sk-gold-deep: #c7920a;--sk-gold-soft: #fff8e6;--sk-gold-ink: #946c05;--sk-teal: #2cc5b5;--sk-teal-deep: #1c9488;--sk-teal-soft: #e6f8f6;--sk-teal-ink: #177a70;--sk-font-body: "Nunito", "Noto Sans Arabic", "Trebuchet MS", "Segoe UI", sans-serif;--sk-font-display: "Baloo 2", "Baloo Bhaijaan 2", "Nunito", "Trebuchet MS", sans-serif;--sk-radius-s: 12px;--sk-radius: 16px;--sk-radius-l: 22px;--sk-border-w: 2px;--sk-press: 5px;--sk-shadow: 0 6px 0 #ebe3d3;--sk-shadow-pop: 0 10px 0 #ebe3d3, 0 18px 40px rgba(43, 42, 61, .12)}:root[lang=ar]{--sk-display-case: none;--sk-display-tracking: normal}html{color-scheme:var(--sk-scheme);background-color:var(--sk-bg);background-image:var(--sk-bg-image);background-size:var(--sk-bg-size);background-attachment:fixed}:root{--cream: var(--sk-bg);--cream-2: var(--sk-surface-2);--surface: var(--sk-surface);--ink: var(--sk-ink);--ink2: var(--sk-ink-2);--muted: var(--sk-muted);--line: var(--sk-edge);--line-2: var(--sk-edge-strong);--gray: var(--sk-edge);--gray-d: var(--sk-muted);--primary: var(--sk-primary);--primary-d: var(--sk-primary-deep);--primary-l: var(--sk-primary-soft);--primary-ink: var(--sk-primary-ink);--on-primary: var(--sk-on-primary);--green: var(--sk-green);--green-d: var(--sk-green-deep);--green-l: var(--sk-green-soft);--green-ink: var(--sk-green-ink);--blue: var(--sk-blue);--blue-d: var(--sk-blue-deep);--blue-l: var(--sk-blue-soft);--blue-ink: var(--sk-blue-ink);--orange: var(--sk-orange);--orange-d: var(--sk-orange-deep);--orange-l: var(--sk-orange-soft);--orange-ink: var(--sk-orange-ink);--purple: var(--sk-purple);--purple-d: var(--sk-purple-deep);--purple-l: var(--sk-purple-soft);--purple-ink: var(--sk-purple-ink);--red: var(--sk-red);--red-d: var(--sk-red-deep);--red-l: var(--sk-red-soft);--red-ink: var(--sk-red-ink);--gold: var(--sk-gold);--gold-d: var(--sk-gold-deep);--gold-l: var(--sk-gold-soft);--gold-ink: var(--sk-gold-ink);--teal: var(--sk-teal);--teal-d: var(--sk-teal-deep);--teal-l: var(--sk-teal-soft);--teal-ink: var(--sk-teal-ink);--on-fill: var(--sk-surface);--on-gold: var(--sk-ink);--green-f: var(--green-d);--blue-f: var(--blue-d);--orange-f: var(--orange-d);--purple-f: var(--purple-d);--red-f: var(--red-d);--teal-f: var(--teal-d);--bar: var(--primary-d);--radius: var(--sk-radius-l);--radius-s: var(--sk-radius)}:root[data-theme=dark]{--bar: var(--primary-ink);--on-fill: var(--sk-bg);--on-gold: var(--sk-bg);--green-f: var(--green);--blue-f: var(--blue);--orange-f: var(--orange);--purple-f: var(--purple);--red-f: var(--red);--teal-f: var(--teal)}.hue-green{--hue: var(--green);--hue-d: var(--green-d);--hue-l: var(--green-l);--hue-ink: var(--green-ink);--hue-f: var(--green-f);--on-hue: var(--on-fill)}.hue-blue{--hue: var(--blue);--hue-d: var(--blue-d);--hue-l: var(--blue-l);--hue-ink: var(--blue-ink);--hue-f: var(--blue-f);--on-hue: var(--on-fill)}.hue-orange{--hue: var(--orange);--hue-d: var(--orange-d);--hue-l: var(--orange-l);--hue-ink: var(--orange-ink);--hue-f: var(--orange-f);--on-hue: var(--on-fill)}.hue-purple{--hue: var(--purple);--hue-d: var(--purple-d);--hue-l: var(--purple-l);--hue-ink: var(--purple-ink);--hue-f: var(--purple-f);--on-hue: var(--on-fill)}.hue-red{--hue: var(--red);--hue-d: var(--red-d);--hue-l: var(--red-l);--hue-ink: var(--red-ink);--hue-f: var(--red-f);--on-hue: var(--on-fill)}.hue-teal{--hue: var(--teal);--hue-d: var(--teal-d);--hue-l: var(--teal-l);--hue-ink: var(--teal-ink);--hue-f: var(--teal-f);--on-hue: var(--on-fill)}.hue-gold{--hue: var(--gold);--hue-d: var(--gold-d);--hue-l: var(--gold-l);--hue-ink: var(--gold-ink);--hue-f: var(--gold);--on-hue: var(--on-gold)}.hue-gray{--hue: var(--gray-d);--hue-d: var(--line-2);--hue-l: var(--cream-2);--hue-ink: var(--ink2);--hue-f: var(--cream-2);--on-hue: var(--ink2)}*{box-sizing:border-box}html,body{margin:0;color:var(--ink);font:16px/1.5 var(--sk-font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--sk-font-display);font-weight:800;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}p{margin:0}button{font:inherit;color:inherit}a{color:var(--primary-ink)}:focus-visible{outline:3px solid var(--primary-ink);outline-offset:2px}.btn{--edge: transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--sk-radius);border:var(--sk-border-w) solid transparent;box-shadow:0 var(--sk-press) 0 var(--edge);clip-path:var(--sk-clip);font-family:var(--sk-font-display);font-weight:800;font-size:14px;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking);cursor:pointer;transition:transform .05s ease,filter .1s ease;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(calc(var(--sk-press) / 2));box-shadow:0 calc(var(--sk-press) / 2) 0 var(--edge)}.btn:disabled{cursor:not-allowed;background:var(--gray);border-color:var(--gray);color:var(--ink2);box-shadow:none}.btn-primary{--edge: var(--primary-d);background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 var(--sk-press) 0 var(--edge),var(--sk-glow)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-ghost{--edge: var(--line-2);background:var(--surface);border-color:var(--line);color:var(--primary-ink)}.btn-ghost:hover:not(:disabled){background:var(--cream-2)}.btn-sm{padding:8px 14px;font-size:12.5px;border-radius:var(--sk-radius-s)}.btn:focus-visible,.opt:focus-visible,.grade-card:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--primary-ink),inset 0 0 0 5px var(--surface),0 var(--sk-press) 0 var(--edge, transparent)}.shell{display:grid;grid-template-columns:232px minmax(0,1fr) 320px;min-height:100vh}@media (max-width: 1100px){.shell{grid-template-columns:88px minmax(0,1fr) 300px}.nav-label,.brand-name{display:none}}@media (max-width: 860px){.shell{grid-template-columns:88px minmax(0,1fr)}.shell .rail{display:none}}.sidebar{position:sticky;top:0;height:100vh;border-inline-end:var(--sk-border-w) solid var(--line);background:var(--surface);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding-block:6px 18px;padding-inline:10px}.brand-mark{width:36px;height:36px;border-radius:var(--sk-radius);background:var(--primary);box-shadow:0 var(--sk-press) 0 var(--primary-d);display:grid;place-items:center;color:var(--on-primary);font-family:var(--sk-font-display);font-weight:900;font-size:18px}.brand-name{font-family:var(--sk-font-display);font-weight:900;font-size:20px;color:var(--primary-ink);letter-spacing:var(--sk-display-tracking)}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:14px;padding:8px 10px;border-radius:var(--sk-radius);border:var(--sk-border-w) solid transparent;background:none;cursor:pointer;text-align:start;width:100%}.nav-item:hover{background:var(--cream-2)}.nav-item[aria-current=page]{background:var(--primary-l);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.tile{width:40px;height:40px;border-radius:var(--sk-radius);display:grid;place-items:center;flex:none;background:var(--hue-f);color:var(--on-hue);box-shadow:0 calc(var(--sk-press) * .6) 0 color-mix(in srgb,var(--hue-f) 70%,var(--ink))}.tile svg{width:22px;height:22px}.nav-label{font-family:var(--sk-font-display);font-weight:800;font-size:14px;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking);color:var(--ink2)}.nav-item[aria-current=page] .nav-label{color:var(--primary-ink)}.nav-item .sub{display:block;font-family:var(--sk-font-body);font-size:11.5px;font-weight:700;text-transform:none;letter-spacing:normal;color:var(--ink2)}.sidebar .spacer{flex:1}.main{padding-block:28px 80px;padding-inline:32px;min-width:0}.main-narrow{max-width:640px;margin-inline:auto}.main-wide{max-width:960px;margin-inline:auto}.rail{padding-block:28px 40px;padding-inline:0 24px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}.card{background:var(--surface);border:var(--sk-border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--sk-shadow);clip-path:var(--sk-clip);padding:18px 20px}.card.warn{border-color:color-mix(in srgb,var(--orange) 55%,transparent);margin-block-end:16px}.card h3{font-size:17px;margin-block-end:10px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:10px}.card-head h3{margin:0}.muted{color:var(--ink2)}.small{font-size:13px}.tiny{font-family:var(--sk-font-display);font-size:11.5px;font-weight:800;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking);color:var(--ink2)}.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--sk-font-display);font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--cream-2);border:var(--sk-border-w) solid var(--line);color:var(--ink2);text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}.pill.ok{background:var(--green-l);border-color:color-mix(in srgb,var(--green) 45%,transparent);color:var(--green-ink)}.pill.warn{background:var(--orange-l);border-color:color-mix(in srgb,var(--orange) 45%,transparent);color:var(--orange-ink)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ltr{direction:ltr;unicode-bidi:isolate}.goal-ring{position:relative;width:120px;height:120px;flex:none}.goal-ring svg{width:100%;height:100%;transform:rotate(-90deg)}[dir=rtl] .goal-ring svg{transform:scaleX(-1) rotate(-90deg)}.goal-ring .track{fill:none;stroke:var(--gray);stroke-width:12}.goal-ring .fill{fill:none;stroke:var(--orange);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.goal-ring.done .fill{stroke:var(--green)}.goal-ring .center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.goal-ring .center b{font-family:var(--sk-font-display);font-size:26px;line-height:1;font-weight:900}.goal-ring .center span{font-family:var(--sk-font-display);font-size:11px;font-weight:800;color:var(--ink2);text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}.daily{display:flex;gap:16px;align-items:center}.streak{display:flex;align-items:center;gap:8px;font-family:var(--sk-font-display);font-weight:900;font-size:18px;color:var(--orange-ink)}.streak svg{width:22px;height:22px;fill:var(--orange)}.streak.cold{color:var(--muted)}.streak.cold svg{fill:var(--gray-d)}.goal-picker{display:flex;gap:6px;margin-block-start:12px}.goal-picker button{flex:1;min-width:0;border-radius:var(--sk-radius-s);border:var(--sk-border-w) solid var(--line);box-shadow:0 calc(var(--sk-press) * .6) 0 var(--line-2);background:var(--surface);padding:6px 4px;font-family:var(--sk-font-display);font-size:11.5px;font-weight:800;color:var(--ink2);cursor:pointer;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}.goal-picker button[aria-pressed=true]{background:var(--primary-l);border-color:var(--primary);color:var(--primary-ink)}.todo{list-style:none;margin:0;padding:0;display:grid;gap:8px}.todo li{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}.todo .box{width:22px;height:22px;border-radius:var(--sk-radius-s);border:2px solid var(--line-2);display:grid;place-items:center;flex:none;color:var(--on-fill)}.todo .box.done{background:var(--green-f);border-color:var(--green-f)}.todo .box svg{width:14px;height:14px}.todo li.done{color:var(--muted);text-decoration:line-through}.next-up{display:flex;gap:12px;align-items:center}.next-up .tile{width:46px;height:46px}.next-up b{display:block;font-size:14px}.rail-stat{margin-block-start:12px;flex-wrap:nowrap}.rail-stat .tile{width:28px;height:28px;border-radius:var(--sk-radius-s);box-shadow:none}.path-head{margin-block-end:18px}.path-head h1{font-size:26px}.unit{margin-block-end:8px}.unit-banner{border-radius:var(--radius);padding:16px 20px;background:linear-gradient(var(--hue-l),var(--hue-l)),var(--surface);color:var(--hue-ink);border:var(--sk-border-w) solid color-mix(in srgb,var(--hue) 50%,transparent);box-shadow:0 var(--sk-press) 0 var(--hue-d);clip-path:var(--sk-clip);display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:12px;z-index:2}.unit-banner .tiny{color:var(--hue-ink)}.unit-banner h2{font-size:20px;color:var(--ink)}.unit-banner .count{font-family:var(--sk-font-display);font-weight:800;font-size:13px;background:var(--surface);color:var(--hue-ink);padding:4px 10px;border-radius:999px;white-space:nowrap}.nodes{position:relative;padding-block:58px 30px;display:flex;flex-direction:column;align-items:center;gap:24px}.node-wrap{position:relative;width:100%;display:flex;justify-content:center;transform:translate(var(--x, 0px))}[dir=rtl] .node-wrap{transform:translate(calc(var(--x, 0px) * -1))}.node{--edge: color-mix(in srgb, var(--hue-f) 70%, var(--ink));position:relative;width:76px;height:76px;border-radius:50%;border:0;box-shadow:0 calc(var(--sk-press) * 1.4) 0 var(--edge);display:grid;place-items:center;cursor:pointer;transition:transform .06s ease;background:var(--hue-f);color:var(--on-hue)}.node svg{width:34px;height:34px}.node:active:not(:disabled){transform:translateY(calc(var(--sk-press) * .7));box-shadow:0 calc(var(--sk-press) * .7) 0 var(--edge)}.node.locked{background:var(--gray);color:var(--muted);cursor:not-allowed;--edge: var(--line-2)}.node.passed{background:var(--gold);color:var(--on-gold);--edge: var(--gold-d)}.node.current{box-shadow:0 calc(var(--sk-press) * 1.4) 0 var(--edge),0 0 0 8px var(--cream),0 0 0 12px var(--hue);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 calc(var(--sk-press) * 1.4) 0 var(--edge),0 0 0 8px var(--cream),0 0 0 12px var(--hue)}50%{box-shadow:0 calc(var(--sk-press) * 1.4) 0 var(--edge),0 0 0 8px var(--cream),0 0 0 16px var(--hue)}}.node .check{position:absolute;inset-inline-end:-4px;bottom:-6px;width:26px;height:26px;border-radius:50%;background:var(--surface);border:2px solid var(--gold-d);display:grid;place-items:center}.node .check svg{width:14px;height:14px;stroke:var(--green-ink)}.start-bubble{position:absolute;top:-44px;inset-inline:0;margin-inline:auto;width:max-content;background:var(--surface);border:2px solid var(--line-2);border-radius:var(--sk-radius);padding:6px 14px;font-family:var(--sk-font-display);font-weight:900;font-size:12.5px;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking);color:var(--primary-ink);white-space:nowrap;animation:bob 1.2s ease-in-out infinite}.start-bubble:after{content:"";position:absolute;inset-inline:0;margin-inline:auto;bottom:-8px;width:12px;height:12px;background:var(--surface);border-inline-end:2px solid var(--line-2);border-bottom:2px solid var(--line-2);transform:rotate(45deg)}[dir=rtl] .start-bubble:after{transform:rotate(-45deg)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.node-label{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:calc(50% + 62px);width:170px;font-size:13px;font-weight:700;color:var(--ink2);line-height:1.3}.node-label b{display:block;color:var(--ink)}.node-label.locked{color:var(--muted)}.node-label.locked b{color:var(--ink2)}.trophy{width:76px;height:76px;border-radius:50%;background:var(--gold-l);border:3px dashed var(--gold-d);display:grid;place-items:center;color:var(--gold-ink)}.trophy svg{width:34px;height:34px}.trophy.won{background:var(--gold);border:0;box-shadow:0 calc(var(--sk-press) * 1.4) 0 var(--gold-d);color:var(--on-gold)}.topbar{display:flex;align-items:center;gap:14px;margin-block-end:18px}.topbar .x{border:0;background:none;color:var(--ink2);cursor:pointer;padding:4px;display:grid;border-radius:var(--sk-radius-s)}.topbar .x svg{width:26px;height:26px}.progressbar{flex:1;height:16px;border-radius:999px;background:var(--gray);overflow:hidden}.progressbar i{display:block;height:100%;border-radius:999px;background:var(--bar);transition:width .25s ease;position:relative}.progressbar i:after{content:"";position:absolute;inset-inline:8px;top:4px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--surface) 35%,transparent)}.lesson-title{display:flex;align-items:center;gap:14px;margin-block-end:16px}.lesson-title .tile{width:54px;height:54px;border-radius:var(--radius)}.lesson-title h1{font-size:24px;line-height:1.15}.lesson-title .row{margin-block-start:4px}.cando{font-size:15px;color:var(--ink2);font-style:italic}.idea{font-size:17px;font-weight:700;line-height:1.5;background:var(--green-l);border:var(--sk-border-w) solid color-mix(in srgb,var(--green) 45%,transparent);border-radius:var(--radius);padding:14px 18px}.offer{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:var(--blue-l);border:var(--sk-border-w) solid color-mix(in srgb,var(--blue) 45%,transparent);border-radius:var(--radius);padding:16px 18px;margin-block-end:16px}.offer .tile{width:52px;height:52px}.offer p{flex:1 1 240px;font-weight:700;font-size:14px}.player video{display:block;width:100%;border-radius:var(--radius);background:var(--cream-2);margin-block-end:10px;direction:ltr;unicode-bidi:isolate}.callout{border-radius:var(--radius);padding:14px 16px;margin-block-end:16px;border:var(--sk-border-w) solid;display:flex;gap:12px;align-items:flex-start}.callout .tile{width:34px;height:34px;border-radius:var(--sk-radius-s)}.callout .tile svg{width:18px;height:18px}.callout h4{font-size:15px;margin-block-end:2px}.callout p{font-size:14px;color:var(--ink2)}.callout.ok{background:var(--green-l);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.callout.no{background:var(--red-l);border-color:color-mix(in srgb,var(--red) 45%,transparent)}.callout.back{background:var(--orange-l);border-color:color-mix(in srgb,var(--orange) 45%,transparent)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block-start:6px}.passage{margin:0 0 14px;padding:12px 16px;border-inline-start:5px solid var(--blue);background:var(--blue-l);border-start-end-radius:var(--sk-radius);border-end-end-radius:var(--sk-radius);font-size:15px;line-height:1.6;white-space:pre-line}.stem{font-size:20px;font-weight:800;line-height:1.35;margin-block-end:18px}.opts{display:grid;gap:10px;margin-block-end:18px}.opt{--edge: var(--line-2);display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;text-align:start;padding:13px 14px;border-radius:var(--sk-radius);border:var(--sk-border-w) solid var(--line);box-shadow:0 calc(var(--sk-press) * .8) 0 var(--edge);clip-path:var(--sk-clip);background:var(--surface);cursor:pointer;font-size:15.5px;font-weight:600}.opt:hover{background:var(--cream-2)}.opt .k{width:30px;height:30px;border-radius:var(--sk-radius-s);border:2px solid var(--line-2);display:grid;place-items:center;font-family:var(--sk-font-display);font-weight:900;font-size:13px;color:var(--ink2)}.opt.picked{--edge: var(--primary-d);background:var(--primary-l);border-color:var(--primary);color:var(--primary-ink)}.opt.picked .k{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.qfoot{border-top:var(--sk-border-w) solid var(--line);padding-block-start:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qfoot .spacer{flex:1}.score{font-family:var(--sk-font-display);font-size:40px;font-weight:900;line-height:1;margin-block-end:14px}.score small{font-size:18px;color:var(--ink2);font-weight:800}.missed{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}.missed li{border:var(--sk-border-w) solid var(--line);border-radius:var(--radius-s);padding:12px 14px;background:var(--cream-2)}.missed .q{font-weight:800;margin-block-end:4px}.missed .why{color:var(--red-ink);font-weight:700;font-size:14px;margin-block-start:4px}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate .card{width:min(520px,100%);padding:28px 30px}.gate .brand{padding:0 0 12px}.gate h2{font-size:24px;margin-block-end:6px}.field{display:grid;gap:6px;margin:16px 0 12px;font-family:var(--sk-font-display);font-size:13px;font-weight:800;color:var(--ink2);text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}.field input,.search{font:inherit;font-family:var(--sk-font-body);font-size:16px;font-weight:600;text-transform:none;letter-spacing:normal;padding:11px 14px;border-radius:var(--sk-radius);border:var(--sk-border-w) solid var(--line-2);background:var(--cream-2);color:var(--ink)}.field input::placeholder,.search::placeholder{color:var(--muted)}.field input:focus,.search:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary);background:var(--surface)}.returning{margin-block-start:16px}.returning summary{cursor:pointer;font-weight:700}.grades{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:14px}.grade-card{--edge: var(--line-2);display:flex;gap:14px;align-items:flex-start;text-align:start;background:var(--surface);border:var(--sk-border-w) solid var(--line);box-shadow:0 var(--sk-press) 0 var(--edge);border-radius:var(--radius);clip-path:var(--sk-clip);padding:16px;cursor:pointer;transition:transform .06s ease}.grade-card:hover:not(:disabled){transform:translateY(-2px)}.grade-card:active:not(:disabled){transform:translateY(calc(var(--sk-press) / 2))}.grade-card:disabled{cursor:not-allowed;background:var(--cream-2)}.grade-card.cur{--edge: var(--primary-d);border-color:var(--primary);background:var(--primary-l)}.grade-card .tile{width:52px;height:52px;border-radius:var(--sk-radius);font-family:var(--sk-font-display);font-weight:900;font-size:19px}.grade-card h3{font-size:17px;margin-block-end:4px}.grade-card p{font-size:13px;color:var(--ink2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bar{display:block;height:10px;border-radius:999px;background:var(--gray);overflow:hidden;margin-block-start:8px}.bar i{display:block;height:100%;border-radius:999px;background:var(--green)}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-block-end:20px}.page-head>div{flex:1 1 240px;min-width:0}.page-head .tile{width:52px;height:52px;border-radius:var(--radius)}.page-head h1{font-size:26px}.page-head p{color:var(--ink2);font-size:14px}.dict-controls{margin-block-end:16px}.dict-controls .search{flex:1 1 240px;min-width:0}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-family:var(--sk-font-display);font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--surface);border:var(--sk-border-w) solid var(--line-2);color:var(--ink2);cursor:pointer;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}.chip.on{background:var(--primary);border-color:var(--primary-d);color:var(--on-primary)}.dict{margin:0;display:grid;gap:10px}.entry{background:var(--surface);border:var(--sk-border-w) solid var(--line);border-radius:var(--radius-s);box-shadow:var(--sk-shadow);clip-path:var(--sk-clip);padding:12px 16px}.entry dt{font-weight:900;font-size:16px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;color:var(--purple-ink)}.entry dt .alt{font-weight:600;color:var(--ink2)}.entry dd{margin:4px 0 0;color:var(--ink2);max-width:80ch}.entry dd p{margin-block-start:4px}.push-end{margin-inline-start:auto}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px}.stack{display:grid;gap:16px;align-content:start;min-width:0}.chart{display:grid;gap:7px}.crow{display:grid;grid-template-columns:minmax(0,3fr) minmax(48px,2fr) 54px;gap:10px;align-items:center;font-size:13px;font-weight:600}.crow .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctrack{height:12px;background:var(--gray);border-radius:999px;overflow:hidden}.ctrack i{display:block;height:100%;border-radius:999px}.ctrack i.done{width:100%;background:var(--green)}.ctrack i.tried{width:50%;background:var(--orange)}.ctrack i.none{width:0}.num{font-variant-numeric:tabular-nums;text-align:end}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:start;padding:7px 9px;border-bottom:var(--sk-border-w) solid var(--line);vertical-align:top}th{color:var(--ink2);font-family:var(--sk-font-display);font-size:11px;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}th.num,td.num{text-align:end}td.ok{color:var(--green-ink);font-weight:800}td.bad{color:var(--red-ink);font-weight:800}code{font-family:var(--sk-font-mono);font-size:12px;background:var(--cream-2);padding:1px 6px;border-radius:var(--sk-radius-s);direction:ltr;unicode-bidi:isolate}.glossary-pop{position:fixed;z-index:40;max-width:360px;background:var(--surface);border:2px solid var(--purple);border-radius:var(--sk-radius);padding:10px 14px;box-shadow:var(--sk-shadow-pop)}.glossary-pop b{font-size:15px;font-weight:900;color:var(--purple-ink)}.glossary-pop p{margin:4px 0 0;font-size:14px;color:var(--ink2)}.icon{width:18px;height:18px;flex:none}.phases{margin-block-end:18px}.phase-pills{display:flex;gap:6px;flex-wrap:wrap;margin-block-end:10px}.phase{display:inline-flex;align-items:center;gap:8px;padding-block:4px;padding-inline:4px 12px;border-radius:999px;border:var(--sk-border-w) solid var(--line);box-shadow:0 calc(var(--sk-press) * .6) 0 var(--line-2);background:var(--surface);cursor:pointer;font-family:var(--sk-font-display);font-weight:800;font-size:12.5px;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking);color:var(--ink2)}.phase .tile{width:28px;height:28px;border-radius:999px;box-shadow:none}.phase .tile svg{width:15px;height:15px}.phase:hover{background:var(--cream-2)}.phase.on{background:var(--primary-l);border-color:var(--primary);color:var(--primary-ink)}.progressbar.slim{height:10px}.progressbar.slim i:after{top:2px;height:3px}.screen{min-height:300px;padding:28px 32px;display:flex;flex-direction:column;justify-content:center}.screen .tiny{margin-block-end:12px}.screen-title{font-size:28px;margin-block-end:14px}.idea.big{font-size:21px;line-height:1.5}.word-term{font-size:40px;color:var(--purple-ink);margin-block-end:10px;text-transform:lowercase;overflow-wrap:anywhere}.word-say{font-size:21px;line-height:1.5;max-width:44ch}.word-example{margin-block-start:14px;padding:10px 14px;background:var(--purple-l);border:var(--sk-border-w) solid color-mix(in srgb,var(--purple) 45%,transparent);border-radius:var(--radius-s);font-size:15px;max-width:60ch}.how-text{font-size:20px;line-height:1.6;max-width:52ch}.sample-big{margin:0 0 16px;padding:18px 22px;border-inline-start:6px solid var(--orange);background:var(--orange-l);border-start-end-radius:var(--radius);border-end-end-radius:var(--radius);font-size:18px;line-height:1.6;white-space:pre-line;max-width:60ch}.notice{background:var(--blue-l);border:var(--sk-border-w) solid color-mix(in srgb,var(--blue) 45%,transparent);border-radius:var(--radius);padding:14px 18px;max-width:60ch}.notice b{color:var(--blue-ink);font-family:var(--sk-font-display);font-size:12px;text-transform:var(--sk-display-case);letter-spacing:var(--sk-display-tracking)}.notice p{margin-block-start:4px;font-size:16px;line-height:1.55}.screen-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-start:16px}.quiz-count{margin-block-end:10px}.host-banner{grid-column:1 / -1;padding:10px 16px;background:linear-gradient(var(--gold-l),var(--gold-l)),var(--surface);color:var(--ink);border-bottom:var(--sk-border-w) solid var(--gold-d);font-size:.9rem}.host-banner a{color:var(--gold-ink);font-weight:700;margin-inline-start:6px}@media (max-width: 600px){.shell{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding:14px 4px}.brand{padding:4px 0 14px;justify-content:center}.nav-item{padding:4px;justify-content:center}.sidebar .tile{width:36px;height:36px}.main{padding-block:18px 60px;padding-inline:14px}.screen{padding:20px 18px;min-height:240px}.screen-title{font-size:23px}.word-term{font-size:30px}.idea.big,.word-say,.how-text,.stem{font-size:18px}.lesson-title h1,.page-head h1,.path-head h1{font-size:21px}.node-wrap{flex-direction:column;align-items:center;gap:22px;transform:translate(calc(var(--x, 0px) * .4))}[dir=rtl] .node-wrap{transform:translate(calc(var(--x, 0px) * -.4))}.node-label{position:static;transform:none;width:auto;max-width:220px;text-align:center}.daily{flex-wrap:wrap}}
