:root{--bg:#faf8f3;--bg-sunk:#f3f0e8;--surface:#fff;--ink:#14201a;--body:#3a4842;--muted:#5f6b65;--line:#e9e5db;--track:#eeeae1;--primary:#0f6b48;--on-primary:#fff;--primary-soft:#e4f1ea;--primary-ink:#0b5a3c;--selected:#f2f8f4;--gold:#b8892b;--gold-bright:#e2be6a;--on-gold:#1f1806;--gold-soft:#f7efdc;--gold-ink:#7a5a12;--red:#b93a33;--red-soft:#fbecea;--red-ink:#8e2a24;--blue-soft:#e7eff8;--blue-ink:#1f4c80;--neutral-soft:#f1efe9;--hero:#0f3d2c;--hero-ink:#fff;--hero-muted:#ffffffc2;--side:#0f3d2c;--side-ink:#f3efe3;--side-soft:#ffffff12;--side-active:#e2be6a29;--pattern:#e2be6a2e;--page-pattern:#0f6b480d;--shadow:0 1px 2px #14201a0a, 0 14px 36px #14201a0f;--shadow-lift:0 2px 4px #14201a0d, 0 22px 48px #14201a1f;--heat-0:#eeeae1;--heat-1:#cfe5d8;--heat-2:#8fc6a6;--heat-3:#3f9a6c;--heat-4:#0f6b48;--serif:"Lora", Georgia, serif;--sans:"Manrope", system-ui, sans-serif;--arabic:"Amiri", serif;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--radius:22px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d1311;--bg-sunk:#0a0f0d;--surface:#151d19;--ink:#ecf1ee;--body:#c9d3cd;--muted:#9ba8a1;--line:#25302b;--track:#25302b;--primary:#3dbe85;--on-primary:#06231a;--primary-soft:#173428;--primary-ink:#7cd9ae;--selected:#17241e;--gold:#e2be6a;--gold-soft:#2a2416;--gold-ink:#e9cc85;--red:#ef7169;--red-soft:#2b1817;--red-ink:#f49a93;--blue-soft:#182636;--blue-ink:#a9c9ee;--neutral-soft:#1e2823;--hero:#12291f;--hero-ink:#ecf1ee;--hero-muted:#ecf1eeb8;--side:#0a100e;--side-ink:#ecf1ee;--side-soft:#ffffff0d;--side-active:#e2be6a24;--pattern:#e2be6a1f;--page-pattern:#e2be6a0d;--shadow:0 1px 2px #0000004d;--shadow-lift:0 18px 40px #00000073;--heat-0:#1e2823;--heat-1:#1c4433;--heat-2:#23704f;--heat-3:#2f9c6c;--heat-4:#3dbe85;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;transition:background .3s,color .3s}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary-ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}.serif{font-family:var(--serif)}.arabic{font-family:var(--arabic);direction:rtl}.muted{color:var(--muted)}.eyebrow{letter-spacing:1px;text-transform:uppercase;color:var(--gold-ink);font-size:12px;font-weight:800}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100vh;display:flex}.sidebar{background:var(--side);width:252px;height:100vh;color:var(--side-ink);flex-direction:column;flex-shrink:0;gap:28px;padding:28px 18px 22px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-pattern{pointer-events:none;position:absolute;bottom:-60px;left:-40px}.brand{color:inherit;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex;position:relative}.brand-name{font-family:var(--serif);letter-spacing:.3px;font-size:24px;font-weight:700}.side-nav{flex-direction:column;gap:4px;display:flex;position:relative}.side-link{color:var(--side-ink);border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.side-link:hover{background:var(--side-soft)}.side-link.active{background:var(--side-active);color:var(--gold-bright);font-weight:800}.side-badge{color:var(--on-gold);background:var(--gold-bright);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:800}.side-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex;position:relative}.segmented{background:var(--side-soft);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented button{color:inherit;opacity:.75;background:0 0;border:none;border-radius:9px;padding:7px 4px;font-size:12px;font-weight:800}.segmented button[aria-pressed=true]{background:var(--gold-bright);color:var(--on-gold);opacity:1}.main{flex:1;min-width:0}.page{max-width:1120px;margin:0 auto;padding:32px 40px 64px}.bottom-nav{display:none}@media (width<=1023px){.sidebar{display:none}.page{padding:20px 18px 110px}.bottom-nav{z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:8px 6px calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-link{color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:4px 0;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.bottom-link.active{color:var(--primary-ink);font-weight:800}.bottom-dot{background:var(--gold-bright);min-width:16px;height:16px;color:var(--on-gold);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:800;display:flex;position:absolute;top:0;right:calc(50% - 18px)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:22px 24px}.hero{background:var(--hero);color:var(--hero-ink);border-radius:28px;padding:36px 40px;position:relative;overflow:hidden}.hero .muted{color:var(--hero-muted)}@media (width<=640px){.hero{border-radius:24px;padding:24px 22px}}.pattern-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.section-title{font-family:var(--serif);margin:0;font-size:21px;font-weight:600}.page-title{font-family:var(--serif);margin:0;font-size:clamp(28px,4vw,38px);font-weight:600;line-height:1.15}.row{align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap;gap:18px;display:flex}.grid-auto{grid-template-columns:repeat(auto-fill, minmax(var(--min,240px), 1fr));gap:16px;display:grid}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn:hover{border-color:var(--gold)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{border-color:var(--primary);box-shadow:0 8px 20px #0f6b4840}.btn-gold{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--on-gold)}.btn-gold:hover{border-color:var(--gold-bright);box-shadow:0 8px 20px #e2be6a59}.btn-danger{background:var(--red);border-color:var(--red);color:var(--on-primary)}.btn-ghost{color:var(--primary-ink);background:0 0;border-color:#0000}.btn-lg{border-radius:16px;padding:15px 24px;font-size:15px}.btn-block{width:100%}.icon-btn{border-radius:13px;width:42px;height:42px;padding:0}.input{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;padding:11px 14px;transition:border-color .2s;display:flex}.input:focus-within{border-color:var(--gold)}.input input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.kbd{border:1px solid var(--line);color:var(--muted);border-bottom-width:2px;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:800}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pill{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-block}.pill-good{background:var(--primary-soft);color:var(--primary-ink)}.pill-mid{background:var(--gold-soft);color:var(--gold-ink)}.pill-low{background:var(--red-soft);color:var(--red-ink)}.pill-none{background:var(--neutral-soft);color:var(--muted)}.checkbox{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin:0}.bar{background:var(--track);border-radius:999px;height:5px;overflow:hidden}.bar>span{border-radius:inherit;background:var(--primary);width:0;height:100%;animation:bar-fill 1.1s var(--ease) both;display:block}@keyframes bar-fill{0%{width:0}}.option{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:center;gap:14px;width:100%;padding:16px 18px;font-size:16px;font-weight:600;transition:background .25s,border-color .25s,box-shadow .3s,transform .15s;display:flex}.option:hover:not(:disabled){border-color:var(--gold)}.option:active:not(:disabled){transform:scale(.99)}.option:disabled{cursor:default}.option-key{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;transition:all .25s;display:flex}.option.correct{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 15%, transparent)}.option.correct .option-key{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.option.wrong{background:var(--red-soft);border-color:var(--red);animation:.35s shake}.option.wrong .option-key{background:var(--red);border-color:var(--red);color:var(--on-primary)}.feedback{animation:rise .45s var(--ease) both;border:1px solid;border-radius:22px;padding:20px 22px}.feedback.good{background:var(--primary-soft);border-color:var(--primary)}.feedback.bad{background:var(--red-soft);border-color:var(--red)}.cover{aspect-ratio:3/4;text-align:center;transition:transform .3s var(--ease), box-shadow .3s ease;border-radius:6px 14px 14px 6px;flex-direction:column;justify-content:center;align-items:center;padding:18px;display:flex;position:relative;overflow:hidden;box-shadow:inset 6px 0 #0000002e,0 10px 24px #14201a29}a:hover>.cover{transform:translateY(-4px)rotate(-.5deg);box-shadow:inset 6px 0 #0000002e,0 18px 34px #14201a3d}.cover-frame{border:1px solid #e2be6a8c;border-radius:4px 10px 10px 4px;position:absolute;inset:10px 10px 10px 16px}.cover-title{font-family:var(--serif);color:#faf3e0;margin-top:10px;font-size:16px;font-weight:600;line-height:1.25;position:relative}.reveal{animation:rise .7s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pop{animation:pop .45s var(--spring) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-7px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}.float{animation:6.4s ease-in-out infinite float}@keyframes float{0%,to{transform:rotate(3deg)translateY(4px)}50%{transform:rotate(3deg)translateY(-6px)}}.ring-fill{animation:ring 1.2s var(--ease) both;animation-delay:.3s}@keyframes ring{0%{stroke-dashoffset:var(--ring-len)}}.sheet{animation:sheet .5s var(--ease) both}@keyframes sheet{0%{transform:translateY(110%)}}.flip-out{animation:.18s ease-in forwards flip-out}@keyframes flip-out{to{transform:perspective(1200px)rotateY(90deg)}}.flip-in{animation:flip-in .35s var(--ease) both}@keyframes flip-in{0%{transform:perspective(1200px)rotateY(-90deg)}}.slide-in{animation:slide-in .4s var(--ease) both}@keyframes slide-in{0%{opacity:0;transform:translate(60px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=560px){.hide-sm{display:none}}.rate{border:1px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;font-size:15px;transition:transform .15s,box-shadow .2s;display:flex}.rate:active{transform:scale(.97)}.rate-again{background:var(--red-soft);color:var(--red-ink)}.rate-hard{background:var(--gold-soft);color:var(--gold-ink)}.rate-good{background:var(--primary);color:var(--on-primary)}.rate-easy{background:var(--blue-soft);color:var(--blue-ink)}.option.chosen{border-color:var(--gold);background:var(--gold-soft)}.tg .shell{min-height:var(--tg-viewport-stable-height,100vh)}.tg .bottom-nav{padding-bottom:calc(10px + max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom,0px)))}.textLayer{opacity:1;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;border-radius:2px;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer ::selection{background:#c9a22759}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}
