:root{--bg:#111317;--surface:#181b21;--surface-2:#20242c;--surface-3:#282d37;--line:#ffffff12;--line-strong:#ffffff21;--text:#eceef3;--text-2:#a9afbc;--text-3:#767d8b;--accent:#ff7a3d;--accent-2:#ff9a66;--accent-soft:#ff7a3d1f;--accent-ink:#1c0d05;--ok:#4fd08f;--ok-soft:#4fd08f1f;--bad:#ff6b72;--bad-soft:#ff6b721a;--focus:#ffb489;--r-sm:8px;--r-md:12px;--r-lg:18px;--font:"IBM Plex Sans Arabic", system-ui, sans-serif;--display:"Reem Kufi", "IBM Plex Sans Arabic", sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--gutter:clamp(16px, 4vw, 40px);--margin-x:clamp(10px, 2.4vw, 28px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:1.0625rem;line-height:1.7;overflow-x:hidden}body:before{content:"";background:linear-gradient(to bottom, transparent, var(--accent) 12%, var(--accent) 88%, transparent);opacity:.35;pointer-events:none;z-index:0;inline-size:1px;position:fixed;inset-block:0;inset-inline-start:var(--margin-x)}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:700;line-height:1.3}h1{font-size:clamp(2rem,4.2vw,2.8rem)}h2{font-size:1.45rem}h3{font-size:1.1rem;font-weight:500}p{margin:0}a{color:inherit;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.3em}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}code,pre,.cm-editor{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;font-size:.9em}::selection{background:#ff7a3d59}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.shell{z-index:1;flex-direction:column;min-block-size:100dvh;display:flex;position:relative}.topbar{z-index:10;padding:.7rem var(--gutter);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block-end:1px solid var(--line);background:#111317d1;justify-content:space-between;align-items:center;gap:1rem;padding-inline-start:calc(var(--margin-x) + var(--gutter));display:flex;position:sticky;top:0}.brand{font-family:var(--display);align-items:center;gap:.6rem;font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);block-size:2.1rem;inline-size:2.1rem;color:var(--accent-ink);font-family:var(--mono);letter-spacing:-.05em;border-radius:10px;place-items:center;font-size:.8rem;font-weight:700;display:grid}.topbar nav{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.95rem;display:flex}.topbar nav>a,.backup summary{color:var(--text-2);border-radius:999px;padding:.35rem .8rem;text-decoration:none}.topbar nav>a:hover,.backup summary:hover{color:var(--text);background:var(--surface-2)}.topbar nav>a.active{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.page{inline-size:100%;max-inline-size:1180px;padding:2.25rem var(--gutter) 4rem;flex:1;margin-inline:auto;padding-inline-start:calc(var(--margin-x) + var(--gutter))}.footer{padding:1.5rem var(--gutter);border-block-start:1px solid var(--line);color:var(--text-3);padding-inline-start:calc(var(--margin-x) + var(--gutter));font-size:.85rem}.footer p{max-inline-size:72ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.backup{position:relative}.backup summary{cursor:pointer;list-style:none}.backup summary::-webkit-details-marker{display:none}.backup[open] summary{color:var(--text);background:var(--surface-2)}.backup-panel{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-md);inline-size:min(300px,86vw);color:var(--text-2);gap:.6rem;padding:1rem;font-size:.9rem;display:grid;position:absolute;inset-block-start:calc(100% + .6rem);inset-inline-end:0;box-shadow:0 18px 40px #00000073}.btn{font:inherit;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.05rem;font-size:.95rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--accent-2)}.btn.ghost{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}.btn.ghost:hover{background:var(--surface-3)}.btn.danger{color:var(--bad);background:0 0;border-color:#ff6b7266}.btn.danger:hover{background:var(--bad-soft)}.btn.big{border-radius:10px;padding:.7rem 1.5rem;font-size:1.05rem}.btn.small{border-radius:6px;padding:.2rem .65rem;font-size:.8rem}.btn:disabled{opacity:.4;cursor:not-allowed}.badge{background:var(--surface-3);color:var(--text-3);white-space:nowrap;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-trying{color:var(--accent-2);background:var(--accent-soft)}.badge-done{color:var(--ok);background:var(--ok-soft)}.tag{font-family:var(--font);color:var(--accent-2);background:var(--accent-soft);vertical-align:middle;border-radius:6px;margin-inline-start:.5rem;padding:.05rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.lede{color:var(--text-2);max-inline-size:62ch}code.inline{background:var(--surface-3);color:var(--accent-2);white-space:nowrap;unicode-bidi:isolate;border-radius:5px;padding:.05em .4em;font-size:.85em}.ruler{grid-template-columns:repeat(auto-fit,minmax(22px,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.ruler li{gap:4px;display:grid}.ruler a{background:var(--surface-3);border-radius:99px;block-size:10px;display:block;overflow:hidden}.ruler-fill{background:var(--accent);border-radius:99px;block-size:100%;transition:inline-size .4s;display:block}.ruler li.is-current a{box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--accent)}.ruler-n{color:var(--text-3);text-align:center;font-size:.72rem;line-height:1.2}.ruler li.is-current .ruler-n{color:var(--accent-2);font-weight:700}.bar{background:var(--surface-3);border-radius:99px;block-size:6px;inline-size:100%;min-inline-size:70px;display:block;overflow:hidden}.bar>span{background:var(--ok);border-radius:99px;block-size:100%;transition:inline-size .3s;display:block}.home-title{margin-block-end:.5rem}.plans{gap:1.5rem;margin:2rem 0 3rem;padding:0;list-style:none;display:grid}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);gap:1rem;max-inline-size:760px;padding:1.6rem 1.75rem;display:grid;position:relative;overflow:hidden}.plan:before{content:"";background:var(--accent);inline-size:3px;position:absolute;inset-block:0;inset-inline-start:0}.plan-link{flex-wrap:wrap;align-items:baseline;gap:1rem;text-decoration:none;display:flex}.plan-mark{font-family:var(--mono);color:var(--accent);font-size:1.4rem;font-weight:600}.plan-name{font-family:var(--display);font-size:1.8rem;font-weight:700}.plan-link:hover .plan-name{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.plan p{color:var(--text-2)}.plan-meta{font-size:.9rem}.soon-title{color:var(--text-2);font-size:1.05rem;font-weight:500}.soon{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.soon li{font-family:var(--mono);border:1px dashed var(--line-strong);color:var(--text-3);border-radius:99px;padding:.2rem .75rem;font-size:.82rem}.frame{font-family:var(--mono);letter-spacing:-.05em;color:#0000;-webkit-text-stroke:1px #ff7a3d73;-webkit-user-select:none;user-select:none;white-space:nowrap;text-align:right;margin-block-end:.5rem;font-size:clamp(3.2rem,10vw,7rem);font-weight:700;line-height:.9;overflow:hidden}.frame-close{margin-block:3rem 0}.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:1.5rem;display:grid}.hero-intro{align-content:start;gap:1.25rem;display:grid}.facts{flex-wrap:wrap;gap:.75rem 2.5rem;margin:0;display:flex}.facts div{flex-direction:column-reverse;display:flex}.facts dt{color:var(--text-3);font-size:.85rem}.facts dd{font-family:var(--display);margin:0;font-size:2rem;font-weight:700;line-height:1.1}.hero-progress{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);gap:.7rem;padding:1.1rem 1.25rem;display:grid}.hero-progress-head{color:var(--text-2);justify-content:space-between;align-items:baseline;font-size:.92rem;display:flex}.hero-progress-head b{font-family:var(--display);color:var(--text);font-size:1.4rem}.hero-sub{color:var(--text-3);font-size:.88rem}.today{background:linear-gradient(160deg, #ff7a3d1a, transparent 55%), var(--surface);border-radius:var(--r-lg);border:1px solid #ff7a3d4d;align-content:start;gap:.9rem;padding:1.5rem 1.6rem;display:grid;position:relative}.today-day{font-family:var(--display);color:var(--accent-2);font-size:1.05rem}.today-day span{color:var(--text-3);font-family:var(--font);font-size:.85rem}.today h2{text-align:right;font-size:1.7rem}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--surface-3);color:var(--text-2);border-radius:99px;padding:.15rem .65rem;font-size:.82rem}.today-lessons{gap:.15rem;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.today-lessons li{border-block-end:1px solid var(--line);align-items:center;gap:.7rem;padding:.3rem 0;display:flex}.today-lessons li:last-child{border-block-end:0}.tick-mark{background:var(--surface-3);block-size:1.7rem;inline-size:1.7rem;font-family:var(--mono);color:var(--text-3);border-radius:7px;flex:none;place-items:center;font-size:.72rem;display:grid}.today-lessons li.is-watched{color:var(--text-3)}.today-lessons li.is-watched .tick-mark{background:var(--ok-soft);color:var(--ok);font-weight:700}.today-foot{gap:.9rem;margin-block-start:.3rem;display:grid}.today-foot .btn{justify-self:start}.today-finished{align-content:center}.today-finished h2{text-align:start;color:var(--ok)}@media (width<=900px){.hero{grid-template-columns:1fr}}.block{gap:1rem;margin-block-start:3rem;display:grid}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.block-note{color:var(--text-2);max-inline-size:72ch;font-size:.95rem}.block-count{color:var(--text-2);background:var(--surface-2);border-radius:99px;padding:.15rem .7rem;font-size:.9rem;font-weight:600}.start-date{color:var(--text-2);align-items:center;gap:.5rem;font-size:.9rem;display:flex}input[type=date]{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.3rem .6rem;font-size:.9rem}.table-panel{overflow:hidden}.days{border-collapse:collapse;inline-size:100%}.days th,.days td{text-align:start;vertical-align:middle;padding:.85rem 1rem}.days thead th{color:var(--text-3);background:var(--surface-2);border-block-end:1px solid var(--line);padding-block:.6rem;font-size:.82rem;font-weight:500}.days tbody tr{cursor:pointer;border-block-end:1px solid var(--line);transition:background-color .12s}.days tbody tr:last-child{border-block-end:0}.days tbody tr:hover{background:var(--surface-2)}.days tbody th a{font-family:var(--display);align-items:center;gap:.6rem;font-size:1.05rem;text-decoration:none;display:inline-flex}.day-dot{background:var(--surface-3);block-size:1.8rem;inline-size:1.8rem;font-family:var(--mono);color:var(--text-2);border-radius:50%;place-items:center;font-size:.78rem;display:grid}.days .sub{color:var(--text-3);font-size:.8rem;font-weight:400;display:block}.days th .sub{padding-inline-start:2.4rem}.cell-progress{color:var(--text-3);align-items:center;gap:.6rem;min-inline-size:130px;font-size:.8rem;display:flex}.days tr.is-current{background:var(--accent-soft);box-shadow:inset -3px 0 0 var(--accent)}.days tr.is-current:hover{background:#ff7a3d29}.days tr.is-current .day-dot{background:var(--accent);color:var(--accent-ink);font-weight:700}.days tr.is-done .day-dot{background:var(--ok-soft);color:var(--ok);font-weight:700}@media (width<=720px){.table-panel{background:0 0;border:0;overflow:visible}.days,.days tbody,.days tr,.days th,.days td{display:block}.days thead{display:none}.days tbody tr,.days tbody tr:last-child{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-block-end:.75rem;padding:.6rem 1rem}.days th,.days td{padding:.3rem 0}.days td{grid-template-columns:6rem 1fr;align-items:center;gap:.5rem;display:grid}.days td>*{justify-self:start}.days td:before{content:attr(data-label);color:var(--text-3);font-size:.82rem}.days td .sub{grid-column:2}}.weeks{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.week{padding:1.1rem 1.25rem}.week h3{color:var(--accent-2);margin-block-end:.5rem}.research{margin:0;padding:0;list-style:none}.research li{justify-content:space-between;align-items:center;gap:.75rem;padding-block:.3rem;display:flex}.research label{cursor:pointer;align-items:center;gap:.55rem;font-size:.95rem;display:flex}.research li.is-done span[dir=ltr]{color:var(--text-3);text-decoration:line-through}.research-links{color:var(--text-3);gap:.6rem;font-size:.78rem;display:flex}input[type=checkbox]{accent-color:var(--ok);block-size:1.05rem;inline-size:1.05rem}.refs{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.refs a{background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:.35rem .9rem;font-size:.92rem;text-decoration:none;display:inline-block}.refs a:hover{border-color:var(--accent)}.crumbs{color:var(--text-3);flex-wrap:wrap;gap:.5rem;margin-block-end:1.25rem;font-size:.88rem;display:flex}.crumbs a{color:var(--text-2);text-decoration:none}.crumbs a:hover{color:var(--accent-2)}.day-head{border-block-end:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 2rem;padding-block-end:1.75rem;display:flex}.day-kicker{font-family:var(--display);color:var(--accent-2);font-size:1.1rem}.day-kicker span{color:var(--text-3);font-family:var(--font);font-size:.85rem}.day-head h1{text-align:right}.day-head .lede{margin-block-start:.5rem}.day-progress{gap:.4rem;inline-size:min(240px,100%);display:grid}.day-progress b{font-family:var(--display);font-size:2rem;line-height:1}.videos,.tasks{margin:0;padding:0;list-style:none}.videos.panel{padding:.35rem 1rem}.video{border-block-end:1px solid var(--line)}.video:last-child{border-block-end:0}.video-row{grid-template-columns:auto auto 1fr auto auto auto;align-items:center;gap:.8rem;padding-block:.65rem;display:grid}.tick{cursor:pointer;display:flex}.video-n{font-family:var(--mono);color:var(--accent);font-size:.8rem;font-weight:600}.video-title{text-align:start}.video.is-watched .video-title{color:var(--text-3)}.video.is-watched .video-n{color:var(--ok)}.video-time{font-family:var(--mono);color:var(--text-3);font-size:.78rem}.video-embed{justify-items:start;gap:.75rem;padding-block-end:1rem;display:grid}.video-embed iframe{aspect-ratio:16/9;border-radius:var(--r-md);background:#000;border:0;inline-size:100%;max-inline-size:860px}@media (width<=640px){.video-row{grid-template-columns:auto auto 1fr auto auto;row-gap:.4rem}.video-row .video-title{grid-column:3/-1}.video-row .video-time{grid-column:3}}.tasks{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;display:grid}.task{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:.35rem .9rem;block-size:100%;padding:1rem 1.1rem;text-decoration:none;transition:border-color .15s,background-color .15s;display:grid}.task:hover{background:var(--surface-2);border-color:#ff7a3d80}.task-n{background:var(--surface-3);block-size:2.3rem;inline-size:2.3rem;font-family:var(--display);color:var(--accent-2);border-radius:10px;grid-row:span 2;place-items:center;font-size:1.15rem;font-weight:700;display:grid}.task.is-done .task-n{background:var(--ok-soft);color:var(--ok)}.task-title{font-weight:600;line-height:1.5}.task-foot{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.task-kind{color:var(--text-3);font-size:.8rem}.pager{border-block-start:1px solid var(--line);justify-content:space-between;gap:1rem;margin-block-start:3rem;padding-block-start:1.25rem;display:flex}.pager a{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);padding:.45rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none}.pager a:hover{border-color:var(--accent)}.task-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.task-head h1{font-size:clamp(1.6rem,3.4vw,2.2rem)}.task-badges{align-items:center;gap:.5rem;display:flex}.sheet{gap:1.1rem;margin-block-start:1.5rem;padding:1.4rem 1.6rem;display:grid}.sheet-title{color:var(--accent-2);font-size:1.1rem;font-weight:500}.prompt{gap:.35rem;max-inline-size:80ch;margin:0;padding-inline-start:1.25rem;display:grid}.prompt li::marker{color:var(--accent)}.code-block{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);text-align:left;tab-size:2;color:#d7dbe4;margin:0;padding:1rem 1.15rem;line-height:1.65;overflow-x:auto}.target{justify-items:start;gap:.4rem;margin:0;display:grid}.target img{object-fit:contain;border-radius:var(--r-sm);background:#fff;block-size:auto;max-block-size:380px;max-inline-size:100%;padding:.5rem}@media (width>=900px){.sheet:has(>.target){grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:0 2rem}.sheet:has(>.target)>*{grid-column:1;margin-block-end:1.1rem}.sheet:has(>.target)>:last-child{margin-block-end:0}.sheet>.target{grid-area:1/2/span 12;align-self:start;justify-items:stretch}.sheet>.target img{justify-self:center}}.target figcaption,.source{color:var(--text-3);font-size:.82rem}.hints{background:var(--surface-2);border-radius:var(--r-md);padding:.6rem 1rem}.hints summary{cursor:pointer;color:var(--text-2);font-weight:600}.hints ul{margin:.5rem 0 .2rem}.sim,.quiz{gap:1rem;margin-block-start:2.25rem;display:grid}.sim-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sim-title{font-size:1.45rem}.sim-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sim-split{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);grid-template-columns:1fr 1fr;block-size:480px;display:grid;overflow:hidden;box-shadow:0 24px 60px #00000059}.sim-split.tall{block-size:min(72dvh,700px);margin-block-start:1rem}.sim-pane{flex-direction:column;min-block-size:0;min-inline-size:0;display:flex}.sim-pane+.sim-pane{border-inline-start:1px solid var(--line-strong)}.pane-head{background:var(--surface-2);border-block-end:1px solid var(--line);color:var(--text-3);align-items:center;gap:.25rem;min-block-size:2.5rem;padding:.35rem .6rem;font-size:.82rem;font-weight:600;display:flex}.pane-head>span{padding-inline:.4rem}.pane-head [role=tab]{font:inherit;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.25rem .75rem}.pane-head [role=tab]:hover{color:var(--text)}.pane-head [role=tab][aria-selected=true]{color:var(--text);background:var(--surface-3)}.editor{background:var(--surface);flex:1;min-block-size:0;overflow:hidden}.editor>div{block-size:100%}.editor .cm-editor{block-size:100%;font-size:14px}.editor .cm-scroller{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;line-height:1.6}.editor-loading{color:var(--text-3);place-items:center;font-size:.9rem;display:grid}.preview{background:#fff;flex:1;min-block-size:0;position:relative}.preview iframe{background:#fff;border:0;block-size:100%;inline-size:100%;display:block}.preview-note{background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-md);gap:.3rem;max-block-size:70%;padding:.8rem 1rem;padding-inline-end:2.4rem;font-size:.88rem;display:grid;position:absolute;inset-block-end:.6rem;inset-inline:.6rem;overflow:auto;box-shadow:0 12px 30px #00000073}.preview-note code{word-break:break-all;background:var(--bg);color:var(--accent-2);text-align:left;border-radius:6px;padding:.4rem .6rem;display:block}.preview-note-close{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:.2rem .4rem;font-size:1.3rem;line-height:1;position:absolute;inset-block-start:.3rem;inset-inline-end:.4rem}.target-view{background:#fff;flex:1;padding:1rem;overflow:auto}.target-view img{max-inline-size:100%}@media (width<=860px){.sim-split,.sim-split.tall{grid-template-rows:340px 340px;grid-template-columns:1fr;block-size:auto}.sim-pane+.sim-pane{border-inline-start:0;border-block-start:1px solid var(--line-strong)}}.checks{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.35rem 1.25rem}.checks.is-ok{border-color:#4fd08f66}.checks-head{align-items:center;gap:1rem;min-block-size:3rem;display:flex}.checks-head h3,.checks-head h2{flex:none}.checks-head .bar{flex:1;max-inline-size:260px}.checks-head .stamp{margin-inline-start:auto}.checks-count{font-family:var(--font);color:var(--text-3);margin-inline-start:.4rem;font-size:.85rem;font-weight:600}.checks ul{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.35rem 1.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.checks li{align-items:baseline;gap:.65rem;padding:.3rem 0;font-size:.95rem;display:flex}.checks li.ok{color:var(--text-3)}.mark{text-align:center;flex:none;inline-size:1.1rem;font-weight:700}.checks li.ok .mark{color:var(--ok)}.checks li.no .mark{color:var(--text-3)}.stamp{font-family:var(--display);color:var(--ok);border:3px double var(--ok);border-radius:10px;padding:0 .85rem;font-size:1.35rem;font-weight:700;line-height:1.5;transform:rotate(-8deg)}.stamp-in{animation:.45s cubic-bezier(.2,1.6,.4,1) both stamp}@keyframes stamp{0%{opacity:0;transform:rotate(-20deg)scale(2)}to{opacity:1;transform:rotate(-8deg)scale(1)}}@media (prefers-reduced-motion:reduce){.stamp-in{animation:none}.ruler-fill,.bar>span{transition:none}}.solution{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);gap:1rem;padding:1.25rem 1.4rem;display:grid}.solution-closed{color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.solution-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.steps{gap:.45rem;max-inline-size:80ch;margin:0;padding-inline-start:1.5rem;display:grid}.steps li::marker{font-family:var(--display);color:var(--accent);font-weight:700}.solution-actions{flex-wrap:wrap;gap:.5rem;display:flex}.quiz-list{counter-reset:q;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.quiz-list>li{counter-increment:q;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem;padding-inline-start:3.4rem;position:relative}.quiz-list>li:before{content:counter(q);background:var(--surface-3);block-size:1.7rem;inline-size:1.7rem;font-family:var(--display);color:var(--accent-2);border-radius:7px;place-items:center;font-size:.9rem;font-weight:700;display:grid;position:absolute;inset-block-start:1rem;inset-inline-start:1.1rem}.q{justify-items:start;gap:.65rem;display:grid}.q-text{font-weight:500}.q-code{color:var(--accent-2);font-size:1.05rem;font-weight:600}.options{flex-wrap:wrap;gap:.5rem;display:flex}.option{font:inherit;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);cursor:pointer;padding:.4rem .95rem;font-size:.93rem}.option:hover{background:var(--surface-3)}.option.right{background:var(--ok-soft);color:var(--ok);border-color:#4fd08f8c;font-weight:600}.option.wrong{background:var(--bad-soft);color:var(--bad);border-color:#ff6b7280}.feedback{max-inline-size:72ch;font-size:.92rem}.feedback.right{color:var(--ok)}.feedback.wrong{color:var(--bad)}.answer-input{font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);inline-size:min(100%,540px);color:var(--text);resize:vertical;padding:.5rem .8rem}.reveal{color:var(--text-2);justify-items:start;gap:.5rem;display:grid}.reveal>code{background:var(--bg);color:var(--accent-2);border-radius:6px;padding:.3rem .7rem}.grade{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.92rem;display:flex}.playground .lede{margin-block-start:.4rem}.empty{justify-items:start;gap:1rem;padding-block:3rem;display:grid}@media (width<=520px){.topbar{padding-block:.55rem}.brand{font-size:1.25rem}.brand-mark{block-size:1.8rem;inline-size:1.8rem;font-size:.7rem}.topbar nav{flex-wrap:nowrap;gap:0;font-size:.85rem}.topbar nav>a,.backup summary{white-space:nowrap;padding:.3rem .55rem}}.task.is-loading{opacity:.45;pointer-events:none}
