:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#fbf8f1;--surface:#fff;--surface-muted:#f4f0e6;--ink:#141c18;--text:#2b2e29;--text-soft:#45443d;--muted:#5d5a51;--line:#e6e0d2;--line-strong:#cfc8b8;--outline:#141c18;--shadow-hard:#141c18;--art-ink:#141c18;--art-paper:#fff;--primary:#0b533f;--primary-hover:#094434;--on-primary:#fff;--sun:#ffc83d;--sun-soft:#fff3cc;--sky:#5aa7ff;--sky-soft:#e1efff;--leaf:#34c27a;--leaf-soft:#dcf6e7;--grape:#9b82f7;--grape-soft:#ece6ff;--coral:#ff8466;--coral-soft:#ffe5dd;--danger:#b8412f;--surface-ink:#05241c;--on-ink:#f8f7f3;--on-ink-muted:#bcd9cb;--focus:#1f6fd1;--bg:var(--page);--surface-2:var(--surface-muted);--accent:var(--primary);--accent-ink:var(--on-primary);--accent-soft:var(--leaf-soft);--gold:#856626;--gold-strong:var(--sun);--gold-soft:var(--sun-soft);--ok:#0f634b;--ok-soft:var(--leaf-soft);--bad:var(--danger);--bad-soft:var(--coral-soft);--info:#1d5ea8;--info-soft:var(--sky-soft);--bw:2.5px;--bw-sm:2px;--radius-sm:12px;--radius:16px;--radius-lg:24px;--radius-xl:32px;--lift-sm:0 3px 0 var(--shadow-hard);--lift:0 5px 0 var(--shadow-hard);--lift-hi:0 9px 0 var(--shadow-hard);--shadow:var(--lift);--font-body:"Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;--font-display:"IBM Plex Sans Arabic", "Tajawal", "Segoe UI", Tahoma, sans-serif;--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--header-h:62px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0a1611;--surface:#12251c;--surface-muted:#0e1e17;--ink:#f6f3ea;--text:#e6e3da;--text-soft:#cdd5ce;--muted:#a8b3ab;--line:#24392f;--line-strong:#31493d;--outline:#4a735f;--shadow-hard:#020a07;--art-paper:#f6f3ea;--primary:#34c27a;--primary-hover:#4fd18e;--on-primary:#05241c;--sun-soft:#3a3214;--sky-soft:#142a45;--leaf-soft:#10331f;--grape-soft:#261f47;--coral-soft:#3d1f17;--danger:#f0a092;--focus:#7fb8ff;--gold:#e3c88a;--ok:#7fd8a8;--info:#8dc0ff}*,:before,:after{box-sizing:border-box}html,body{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--page);color:var(--text);font-family:var(--font-body);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.75}#root{min-height:100%}h1,h2,h3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0;font-weight:700;line-height:1.3}h1{font-size:clamp(1.75rem,1.3rem + 2vw,2.5rem)}h2{font-size:clamp(1.3rem,1.1rem + 1vw,1.6rem)}h3{font-size:1.1rem}p{text-wrap:pretty;margin:0}b,strong{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary);text-underline-offset:5px;font-weight:700;text-decoration-thickness:2px}::selection{background:var(--sun);color:#141c18}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}.muted{color:var(--muted)}.vh{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.small{font-size:.9rem}.tabular,.num{font-variant-numeric:tabular-nums}.wrap{max-width:820px;padding-block:24px 72px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));grid-template-columns:minmax(0,1fr);gap:22px;margin:0 auto;display:grid}.wrap.wide{max-width:1040px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.mistake,.mistake .ans,.feedback,.field,.modal,.qa,.who-card{grid-template-columns:minmax(0,1fr)}.grid2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.grid3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.hl,.hero h1{z-index:0;justify-self:start;display:inline-block;position:relative}.hl:before,.hero h1:before{content:"";z-index:-1;inset-inline:-.14em;background:var(--sun);height:.48em;box-shadow:0 .07em 0 var(--art-ink);border-radius:.25em;position:absolute;bottom:.04em;transform:rotate(-1.5deg)}:root[data-theme=dark] :is(.hl,.hero h1){color:#141c18;padding-inline:.06em}:root[data-theme=dark] :is(.hl,.hero h1):before{height:1.12em;bottom:-.02em}.m{font-variant-numeric:tabular-nums;letter-spacing:.01em;direction:rtl;unicode-bidi:isolate;max-width:100%;font-weight:700;display:inline-block}.m .rad,.rad{display:inline-block;transform:scaleX(-1)}.m .bar{vertical-align:-.22em;text-indent:300%;white-space:nowrap;background:currentColor;border-radius:1px;width:2px;height:1.2em;margin-inline:.18em;display:inline-block;overflow:hidden}.fr{vertical-align:middle;text-align:center;margin-inline:2px;font-size:.86em;line-height:1.1;display:inline-grid}.fr>span:first-child{border-bottom:1.5px solid;padding-inline:2px}.btn{border-radius:var(--radius);border:var(--bw) solid var(--outline);background:var(--surface);min-height:48px;color:var(--ink);box-shadow:0 4px 0 var(--shadow-hard);cursor:pointer;text-align:center;justify-content:center;align-items:center;gap:.5rem;padding:9px 22px;font-weight:800;line-height:1.5;text-decoration:none;display:inline-flex}.btn svg{flex-shrink:0}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.gold{background:var(--sun);color:#141c18;border-color:var(--art-ink)}.btn.danger{color:var(--danger)}.btn.big{border-radius:18px;min-height:58px;padding:12px 28px;font-size:1.125rem}.btn.sm{min-height:42px;box-shadow:var(--lift-sm);border-radius:14px;padding:5px 16px;font-size:.94rem}.btn.block{width:100%}.btn.ghost{box-shadow:none;color:var(--primary);background:0 0;border-color:#0000}.btn:disabled{cursor:not-allowed;color:var(--muted);background:var(--surface-muted);border-color:var(--line-strong);box-shadow:none;transform:none}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--shadow-hard);transition-duration:50ms;transform:translateY(3px)}.btn.ghost:active:not(:disabled){box-shadow:none}.seg{flex-wrap:wrap;gap:8px;display:inline-flex}.seg button,.skillpick button{border-radius:var(--radius-sm);border:var(--bw-sm) solid var(--outline);background:var(--surface);min-height:44px;color:var(--ink);box-shadow:var(--lift-sm);cursor:pointer;padding:6px 16px;font-weight:800}.seg button.on,.skillpick button.on{background:var(--sky);color:#141c18;border-color:var(--art-ink);box-shadow:0 1px 0 var(--art-ink);transform:translateY(2px)}.chip{border:var(--bw-sm) solid var(--line-strong);background:var(--surface-muted);min-height:26px;color:var(--text-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:1px 10px;font-size:.8125rem;font-weight:800;line-height:1.5;display:inline-flex}.chip.accent,.chip.ok{background:var(--leaf-soft);color:var(--ink);border-color:var(--outline)}.chip.gold{background:var(--sun-soft);color:var(--ink);border-color:var(--outline)}.chip.bad{background:var(--coral-soft);color:var(--danger);border-color:var(--outline)}.chip.info{background:var(--sky-soft);color:var(--ink);border-color:var(--outline)}.qmeta .chip{white-space:normal;border-radius:14px;max-width:100%}.card{background:var(--surface);border:var(--bw) solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--lift);min-width:0;padding:22px}.card.flat{box-shadow:none}.card.tight{border-radius:20px;padding:16px 18px}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.note{background:var(--sun-soft);color:var(--ink);border:var(--bw-sm) solid var(--outline);border-radius:var(--radius);padding:.8rem 1.1rem;font-size:.95rem;line-height:1.7}.note.info{background:var(--sky-soft)}.empty{text-align:center;color:var(--muted);padding:26px 14px}.card.empty{background:var(--surface-muted);border-style:dashed;border-color:var(--line-strong);box-shadow:none}.topbar{top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb, var(--page) 90%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:var(--bw) solid var(--outline);position:sticky}.topbar .in{max-width:1040px;min-height:calc(var(--header-h) - var(--bw));padding-block:6px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.brand{font-family:var(--font-display);color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:1.4rem;font-weight:700;text-decoration:none;display:inline-flex}.mark{background:var(--leaf);color:#141c18;border:var(--bw) solid var(--art-ink);width:40px;height:40px;box-shadow:0 3px 0 var(--art-ink);font-size:1.3rem;line-height:1;font-family:var(--font-display);transition:transform var(--dur-slow) var(--ease-spring);border-radius:13px;place-items:center;font-weight:700;display:grid;transform:rotate(-6deg)}.who{align-items:center;gap:8px;display:inline-flex}.avatar{width:36px;height:36px;font-family:var(--font-display);background:var(--sky);color:#141c18;border:var(--bw-sm) solid var(--art-ink);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.avatar.lg{border-width:var(--bw);width:58px;height:58px;box-shadow:0 3px 0 var(--art-ink);font-size:1.5rem}.avatar.p{background:var(--sun)}.chip-btn{border:var(--bw) solid var(--outline);background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:var(--lift-sm);cursor:pointer;border-radius:14px;flex:none;place-items:center;padding:0;display:inline-grid}.chip-btn svg{width:22px;height:22px}.theme-toggle .i-sun,:root[data-theme=dark] .theme-toggle .i-moon{display:none}:root[data-theme=dark] .theme-toggle .i-sun{display:block}.theme-toggle .i-moon,.theme-toggle .i-sun{line-height:0}.xpbar{background:var(--surface-muted);border:var(--bw-sm) solid var(--outline);border-radius:99px;height:14px;overflow:hidden}.xpbar>i{background:var(--sun);border-inline-end:var(--bw-sm) solid var(--art-ink);border-radius:99px;height:100%;display:block}.lvl{color:var(--ink);align-items:center;gap:8px;font-weight:800;display:inline-flex}.lvl b{background:var(--sun);color:#141c18;border:var(--bw-sm) solid var(--art-ink);min-width:34px;height:34px;box-shadow:0 2px 0 var(--art-ink);font-family:var(--font-display);border-radius:11px;place-items:center;padding-inline:6px;font-size:1rem;display:inline-grid;transform:rotate(-6deg)}.pick{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.who-card{text-align:start;cursor:pointer;border-radius:var(--radius-lg);border:var(--bw) solid var(--outline);background:var(--surface);color:var(--ink);box-shadow:var(--lift);justify-items:start;gap:10px;padding:20px;display:grid}.hero{gap:10px;padding-block:6px 2px;display:grid}.hero p{font-size:1.125rem}.exam{isolation:isolate;background:var(--surface-ink);color:var(--on-ink);border:var(--bw) solid var(--art-ink);border-radius:var(--radius-lg);box-shadow:var(--lift);grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:22px 24px;display:grid;position:relative;overflow:hidden}.exam:before{content:"";z-index:-1;inset-inline-end:-40px;background:var(--sun);border:var(--bw) solid var(--art-ink);border-radius:50%;width:110px;height:110px;position:absolute;top:-40px}.exam :is(h1,h2,h3,b,strong){color:#fff}.exam .muted{color:var(--on-ink-muted)}.exam .day{color:#141c18;border:var(--bw) solid var(--art-ink);width:78px;height:78px;font-family:var(--font-display);text-align:center;background:#fff;border-radius:16px;align-content:center;place-items:center;padding-top:10px;line-height:1.1;display:grid;position:relative;overflow:hidden;transform:rotate(-4deg);box-shadow:0 4px #000}.exam .day:before{content:"";background:var(--coral);border-bottom:var(--bw) solid var(--art-ink);height:12px;position:absolute;inset:0 0 auto}.exam .day b{color:#141c18;font-size:1.55rem;display:block}.ready{border:var(--bw-sm) solid #ffffff4d;background:#ffffff24;border-radius:99px;height:12px;overflow:hidden}.ready>i{background:var(--sun);border-radius:99px;height:100%;display:block}.quick{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.subjects{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.subjects .qa{min-height:150px}.subjects .qa .t{font-size:1.35rem}.subjects .qa.soon{opacity:.55;cursor:not-allowed;box-shadow:none}.subjects .qa .en{font-family:var(--font-display);direction:ltr}.ltr{unicode-bidi:isolate}.subject-ic{--s:var(--leaf);background:var(--s);color:#141c18;border:var(--bw) solid var(--art-ink);width:40px;height:40px;box-shadow:0 3px 0 var(--art-ink);border-radius:12px;flex:none;place-items:center;display:inline-grid}.subject-ic.sun{--s:var(--sun)}.subject-ic.sky{--s:var(--sky)}.subject-ic.coral{--s:var(--coral)}.qa{--s:var(--leaf);text-align:start;cursor:pointer;border-radius:var(--radius-lg);border:var(--bw) solid var(--outline);background:var(--surface);color:var(--ink);box-shadow:var(--lift);align-content:start;gap:4px;min-height:120px;padding:18px;display:grid}.qa .t{font-family:var(--font-display);color:var(--ink);font-size:1.15rem;font-weight:700}.qa .ic{background:var(--s);color:#141c18;border:var(--bw) solid var(--art-ink);width:46px;height:46px;box-shadow:0 3px 0 var(--art-ink);transition:transform var(--dur-slow) var(--ease-spring);border-radius:14px;place-items:center;margin-bottom:8px;display:grid;transform:rotate(-5deg)}.qa.gold{--s:var(--sun)}.qa.bad{--s:var(--coral)}.qa.info{--s:var(--sky)}.ic svg{width:22px;height:22px}.skill{border-bottom:var(--bw-sm) dashed var(--line);grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding-block:12px;display:grid}.skill:last-child{border-bottom:0}.skill .name{color:var(--ink);min-width:0;font-weight:700}.bar{background:var(--surface-muted);border:var(--bw-sm) solid var(--outline);border-radius:99px;grid-column:1/-1;height:12px;overflow:hidden}.bar>i{background:var(--sky);border-radius:99px;height:100%;display:block}.bar.weak>i{background:var(--coral)}.bar.good>i{background:var(--sun)}.bar.mastered>i{background:var(--leaf)}.field{gap:8px;display:grid}.field>.lab{color:var(--ink);font-weight:800}.field .hint{color:var(--muted);font-size:.88rem}.skillpick{flex-wrap:wrap;gap:8px;display:flex}.skillpick button{border-radius:999px;font-size:.92rem;font-weight:700}select,input[type=text],input[type=number],input[type=date],textarea{border:var(--bw) solid var(--outline);background:var(--page);min-height:48px;color:var(--ink);border-radius:14px;max-width:100%;padding:.5rem .8rem;font-weight:500;box-shadow:inset 0 3px #0000000f}:is(select,input,textarea):focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--leaf) 35%, transparent);outline:none}:is(select,input,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:2px}select,input[type=checkbox],input[type=radio]{cursor:pointer;accent-color:var(--primary)}textarea{direction:ltr;width:100%;min-height:120px;font-family:ui-monospace,Consolas,monospace;font-size:.8rem}.runbar{top:calc(env(safe-area-inset-top,0px) + var(--header-h));z-index:20;background:var(--page);border-bottom:var(--bw-sm) dashed var(--line-strong);padding-block:8px;position:sticky}.runbar .in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.clock{border:var(--bw-sm) solid var(--outline);background:var(--surface);min-height:40px;box-shadow:var(--lift-sm);color:var(--ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:2px 14px;font-size:1.1rem;font-weight:700;display:inline-flex}.clock.warn{background:var(--coral-soft);color:var(--danger)}.prog{background:var(--surface-muted);border:var(--bw-sm) solid var(--outline);border-radius:99px;height:14px;overflow:hidden}.prog>i{background:var(--leaf);height:100%;transition:width var(--dur-slow) var(--ease-out);border-radius:99px;display:block}.dots{flex-wrap:wrap;gap:6px;display:flex}.dots i{border:var(--bw-sm) solid var(--line-strong);background:var(--surface-muted);border-radius:50%;width:16px;height:16px}.dots i.on{background:var(--sun);border-color:var(--art-ink)}.qnav{border-top:var(--bw-sm) dashed var(--line-strong);flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}.qnav button{border-radius:var(--radius-sm);border:var(--bw-sm) solid var(--line-strong);background:var(--surface);min-width:44px;height:44px;color:var(--ink);font-family:var(--font-display);cursor:pointer;font-weight:700}.qnav button.done{background:var(--leaf-soft);border-color:var(--outline)}.qnav button.cur{background:var(--sun);color:#141c18;border-color:var(--art-ink);box-shadow:0 3px 0 var(--art-ink)}.qcard{background:var(--surface);border:var(--bw) solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--lift);grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;padding:clamp(18px,4vw,30px);display:grid}.qmeta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stem{color:var(--ink);font-size:1.25rem;font-weight:700;line-height:1.9}.opts{gap:12px;display:grid}.opts.tf{grid-template-columns:1fr 1fr}.opt{text-align:start;border-radius:var(--radius);border:var(--bw) solid var(--outline);background:var(--surface);min-height:62px;color:var(--ink);box-shadow:var(--lift-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 16px;font-size:1.15rem;font-weight:600;display:grid}.opt .l{background:var(--page);border:var(--bw-sm) solid var(--outline);width:34px;height:34px;font-family:var(--font-display);transition:background-color var(--dur) var(--ease-standard), transform var(--dur-slow) var(--ease-spring);border-radius:10px;place-items:center;font-size:1rem;font-weight:700;display:grid}.opt:active:not(:disabled){box-shadow:0 1px 0 var(--shadow-hard);transform:translateY(2px)}.opt.sel{background:var(--sky-soft)}.opt.sel .l{background:var(--sky);color:#141c18;border-color:var(--art-ink);transform:rotate(-6deg)}.opt.right{background:var(--leaf-soft);animation:bounce .5s var(--ease-spring)}.opt.right .l{background:var(--leaf);color:#141c18;border-color:var(--art-ink)}.opt.right>:last-child{color:var(--ok)}.opt.wrong{background:var(--coral-soft);border-color:var(--danger);animation:.4s shake}.opt.wrong .l{background:var(--coral);color:#141c18;border-color:var(--art-ink)}.opt.wrong>:last-child{color:var(--danger)}.opt:disabled{cursor:default}.opt:disabled:not(.right):not(.wrong){border-color:var(--line-strong);box-shadow:none;color:var(--muted)}@keyframes bounce{0%{transform:scale(1)}40%{transform:scale(1.04)rotate(-1deg)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.feedback{border-radius:var(--radius);background:var(--sun-soft);border:var(--bw-sm) dashed var(--outline);color:var(--text);gap:10px;padding:16px 18px;line-height:1.9;display:grid}.feedback h3{border:var(--bw-sm) solid var(--art-ink);width:fit-content;box-shadow:0 3px 0 var(--art-ink);color:#141c18;border-radius:999px;align-items:center;gap:8px;padding:4px 14px;font-size:1.1rem;display:inline-flex}.feedback.ok h3{background:var(--leaf)}.feedback.bad h3{background:var(--coral)}.feedback h3 .chip{border-color:var(--art-ink);background:var(--sun);color:#141c18}.pop{animation:reveal var(--dur-slow) var(--ease-out)}@keyframes reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fig{justify-content:center;max-width:100%;display:flex;overflow-x:auto}.fig svg{width:100%;max-width:520px;height:auto}.fig svg.plane{max-width:320px}.fig svg.mapping{max-width:330px}.opt .fig{justify-content:flex-start;margin-top:6px}.opt .fig svg.plane{max-width:150px}.fig .ax{stroke:var(--ink);stroke-width:1.8px}.fig .axh{fill:var(--ink)}.fig .tk{stroke:var(--ink);stroke-width:1.4px}.fig .gr{stroke:var(--line);stroke-width:1px}.fig .tl{fill:var(--ink);text-anchor:middle;font-size:14px;font-family:var(--font-body);font-weight:500}.fig .tl.sm{font-size:10px}.fig .tl.end{text-anchor:end}.fig .pl{fill:var(--primary);text-anchor:middle;font-size:15px;font-weight:700;font-family:var(--font-body)}.fig .pl.sm{text-anchor:start;font-size:12px}.fig .pt{fill:var(--primary);stroke:var(--surface);stroke-width:2px}.fig .pt.alt{fill:var(--sun);stroke:var(--art-ink);stroke-width:1.5px}.fig .ln{stroke:var(--primary);stroke-width:2.6px}.fig .ov{fill:var(--surface-muted);stroke:var(--ink);stroke-width:1.8px}.fig .ar{stroke:var(--primary);stroke-width:2px}.tablewrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.97rem}th,td{border-bottom:var(--bw-sm) solid var(--line);text-align:start;vertical-align:top;padding:.55rem .65rem}th{color:var(--muted);white-space:nowrap;font-size:.86rem;font-weight:800}.ftable{width:auto;min-width:200px;margin-inline:auto}.ftable th,.ftable td{border:var(--bw-sm) solid var(--outline);text-align:center;color:var(--ink);padding:.4rem .9rem}.ftable th{background:var(--surface-muted);white-space:normal}.score{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.ring{--p:0;border:var(--bw) solid var(--outline);width:136px;height:136px;box-shadow:var(--lift);background:conic-gradient(var(--leaf) calc(var(--p) * 1%), var(--surface-muted) 0);border-radius:50%;place-items:center;display:grid}.ring>div{background:var(--surface);border:var(--bw) solid var(--outline);text-align:center;border-radius:50%;align-content:center;place-items:center;width:100px;height:100px;line-height:1.15;display:grid}.ring b{font-family:var(--font-display);font-size:1.75rem}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:var(--bw) solid var(--outline);box-shadow:var(--lift-sm);border-radius:20px;gap:2px;min-width:0;padding:12px 16px;display:grid}.stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.4rem}.stat span{color:var(--muted);font-size:.84rem;font-weight:700}.levelup{text-align:center;background:var(--sun-soft);border:var(--bw) solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--lift);padding:18px}.mistake{border:var(--bw-sm) solid var(--outline);border-radius:var(--radius);background:var(--surface);box-shadow:var(--lift-sm);gap:8px;padding:16px;display:grid}.mistake .ans{gap:4px;font-size:.97rem;display:grid}.badges{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.badge{border:var(--bw-sm) dashed var(--line-strong);text-align:center;background:var(--surface-muted);color:var(--muted);border-radius:20px;justify-items:center;gap:4px;padding:14px 12px;display:grid}.badge.on{border:var(--bw) solid var(--outline);background:var(--sun-soft);color:var(--ink);box-shadow:var(--lift-sm)}.badge .medal{background:var(--surface);border:var(--bw-sm) dashed var(--line-strong);width:46px;height:46px;font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:700;display:grid}.badge.on .medal{background:var(--sun);color:#141c18;border:var(--bw) solid var(--art-ink);box-shadow:0 3px 0 var(--art-ink);transform:rotate(-6deg)}.board{gap:10px;display:grid}.board .r{border-radius:var(--radius);border:var(--bw-sm) solid var(--line-strong);background:var(--surface);grid-template-columns:32px auto 1fr auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.board .r.me{background:var(--leaf-soft);border:var(--bw) solid var(--outline);box-shadow:var(--lift-sm)}.board .pos{font-family:var(--font-display);text-align:center;font-weight:700}.tabs{gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;border:var(--bw-sm) solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-soft);background:0 0;min-height:44px;padding:.45rem .95rem;font-weight:800}.tabs button.on{background:var(--surface);color:var(--ink);border-color:var(--outline);box-shadow:var(--lift-sm)}.subnav{background:var(--page);border-bottom:var(--bw-sm) solid var(--line-strong)}.subnav .in{max-width:1040px;padding-block:8px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));flex-wrap:wrap;gap:6px;margin:0 auto;display:flex}.subnav a{border:var(--bw-sm) solid transparent;border-radius:var(--radius-sm);min-height:44px;color:var(--text-soft);align-items:center;padding:.3rem .9rem;font-weight:800;text-decoration:none;display:inline-flex}.subnav a.on{background:var(--surface);border-color:var(--outline);color:var(--ink);box-shadow:var(--lift-sm)}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));opacity:0;transition:opacity var(--dur) var(--ease-standard), transform var(--dur-slow) var(--ease-spring);background:var(--surface-ink);color:var(--on-ink);border:var(--bw) solid var(--art-ink);z-index:60;text-align:center;pointer-events:none;border-radius:999px;max-width:92vw;padding:.6rem 1.2rem;font-weight:800;position:fixed;transform:translate(-50%,30px);box-shadow:0 4px #000}.toast.show{opacity:1;transform:translate(-50%)}.modal-bg{z-index:50;background:#141c188c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:var(--bw) solid var(--outline);border-radius:var(--radius-xl);width:100%;max-width:460px;box-shadow:var(--lift-hi);animation:reveal var(--dur-slow) var(--ease-spring);gap:16px;padding:clamp(20px,4vw,30px);display:grid}.btn,.seg button,.skillpick button,.chip-btn,.who-card,.qa,.opt,.qnav button,.tabs button,.subnav a,.card{transition:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur) var(--ease-spring), transform var(--dur) var(--ease-spring)}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled):not(.ghost){box-shadow:0 6px 0 var(--shadow-hard);transform:translateY(-2px)}.btn.sm:hover:not(:disabled):not(.ghost){box-shadow:0 5px 0 var(--shadow-hard)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.danger:hover:not(:disabled){background:var(--coral-soft)}.btn.ghost:hover:not(:disabled){background:var(--sun-soft);color:var(--ink)}.btn.big:hover:not(:disabled) svg{transform:translate(-4px)}.btn svg{transition:transform var(--dur) var(--ease-spring)}.seg button:not(.on):hover,.skillpick button:not(.on):hover{background:var(--sun-soft);box-shadow:0 5px 0 var(--shadow-hard);transform:translateY(-2px)}.chip-btn:hover{background:var(--sun-soft);box-shadow:0 5px 0 var(--shadow-hard);transform:translateY(-2px)rotate(-6deg)}.brand:hover .mark{transform:rotate(6deg)scale(1.08)}.who-card:hover,.qa:hover{box-shadow:var(--lift-hi);transform:translateY(-6px)}.qa:hover .ic{transform:rotate(8deg)scale(1.08)}.opt:hover:not(:disabled):not(.sel){background:var(--sun-soft);box-shadow:0 5px 0 var(--shadow-hard);transform:translateY(-2px)}.qnav button:not(.cur):hover{background:var(--sun-soft);border-color:var(--outline);transform:translateY(-2px)}.tabs button:not(.on):hover,.subnav a:not(.on):hover{background:var(--sun-soft);color:var(--ink);transform:translateY(-1px)}:is(select,input,textarea):hover{border-color:var(--primary)}}@media (width<=560px){.exam{grid-template-columns:1fr}.score{text-align:center;grid-template-columns:1fr;justify-items:center}.opts.tf{grid-template-columns:1fr}.stem{font-size:1.12rem}.card{padding:18px}.brand{font-size:1.2rem}.mark{width:36px;height:36px;font-size:1.15rem}.topbar .in{gap:8px}.topbar .row{gap:6px}.topbar .seg{gap:4px}.topbar .seg button,.topbar .btn.sm{padding-inline:10px}.chip-btn{border-radius:12px;width:42px;height:42px}.hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-property:background-color,border-color,color,opacity,box-shadow!important;animation:none!important}:is(.btn,.seg button,.skillpick button,.chip-btn,.who-card,.qa,.opt,.qnav button,.tabs button,.subnav a):is(:hover,:active),.btn:hover svg{transform:none!important}.qa:hover .ic{transform:rotate(-5deg)!important}.brand:hover .mark{transform:rotate(-6deg)!important}.toast{transform:translate(-50%)}}
