:root{--bg:#fbf6f1;--surface:#ffffff;--surface-2:#f5ece3;--tint:#fdf9f5;--ink:#2a1b3d;--ink-2:#6a5b72;--line:#ecdfd3;--line-strong:#a8968f;--brand:#e2603f;--brand-ink:#b4462a;--brand-soft:#fdeae2;--brand-line:#f4c3b2;--on-brand:#2a1b3d;--accent:#a05470;--accent-soft:#f7e6ea;--on-accent:#ffffff;--sand:#f1dcc4;--rose:#d98a8f;--night:#2a1b3d;--sky-1:#fdf3ec;--sky-2:#fbe3d6;--dune-1:#f6e3d3;--dune-2:#f3cdbd;--dune-3:#eab3a9;--sun:#e2603f;--ok:#456f50;--ok-soft:#e8f0e6;--warn:#9a5a12;--warn-soft:#fbeee3;--tip:#6a4f8f;--tip-soft:#f0eaf6;--note:#7a5f9e;--note-soft:#f2edf7;--code-bg:#f5ece3;--code-fg:#2a1b3d;--focus:#a05470;--shadow-1:0 1px 2px rgba(42,27,61,0.05),0 2px 8px -2px rgba(42,27,61,0.06);--shadow-pop:0 24px 60px -18px rgba(120,60,50,0.28),0 0 0 1px rgba(42,27,61,0.05);--font-body:"Plex Arabic","Segoe UI",system-ui,sans-serif;--font-display:"Plex Arabic","Segoe UI",system-ui,sans-serif;--font-mono:"Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;--t-xs:0.75rem;--t-sm:0.8125rem;--t-ui:0.875rem;--t-base:1rem;--t-md:1.0625rem;--t-lg:1.25rem;--t-xl:1.5rem;--t-2xl:2rem;--t-3xl:2.75rem;--lh-body:1.85;--lh-snug:1.55;--lh-tight:1.3;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:56px;--s10:80px;--r-sm:8px;--r:14px;--r-md:14px;--r-lg:18px;--r-pill:999px;--w-page:1200px;--w-prose:44rem;--gutter:24px;--header-h:72px;--ease:cubic-bezier(0.22,0.8,0.3,1);--dur-fast:140ms;--dur-base:220ms;--dur-slow:420ms}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#1a1126;--surface:#241833;--surface-2:#2e2140;--tint:#1e1430;--ink:#f6ece6;--ink-2:#c8b7c4;--line:#3a2b4d;--line-strong:#7d6a86;--brand:#f07a58;--brand-ink:#f7a184;--brand-soft:#3a2030;--brand-line:#6b3a3c;--on-brand:#2a1b3d;--accent:#e6a6b4;--accent-soft:#35223a;--on-accent:#2a1b3d;--sand:#4a3446;--rose:#e6a6b4;--night:#140c1d;--sky-1:#1a1126;--sky-2:#2b1a33;--dune-1:#3a2440;--dune-2:#4b2c45;--dune-3:#64354a;--sun:#f07a58;--ok:#9cc5a2;--ok-soft:#1f2c27;--warn:#f2c879;--warn-soft:#2f2420;--tip:#b8a6d8;--tip-soft:#2a2140;--note:#c9b8e6;--note-soft:#2a2140;--code-bg:#140c1d;--code-fg:#f6ece6;--focus:#e6a6b4;--shadow-1:0 1px 2px rgba(0,0,0,0.35);--shadow-pop:0 24px 60px -18px rgba(0,0,0,0.7),0 0 0 1px rgba(255,255,255,0.05)}}:root[data-theme=dark]{color-scheme:dark;--bg:#1a1126;--surface:#241833;--surface-2:#2e2140;--tint:#1e1430;--ink:#f6ece6;--ink-2:#c8b7c4;--line:#3a2b4d;--line-strong:#7d6a86;--brand:#f07a58;--brand-ink:#f7a184;--brand-soft:#3a2030;--brand-line:#6b3a3c;--on-brand:#2a1b3d;--accent:#e6a6b4;--accent-soft:#35223a;--on-accent:#2a1b3d;--sand:#4a3446;--rose:#e6a6b4;--night:#140c1d;--sky-1:#1a1126;--sky-2:#2b1a33;--dune-1:#3a2440;--dune-2:#4b2c45;--dune-3:#64354a;--sun:#f07a58;--ok:#9cc5a2;--ok-soft:#1f2c27;--warn:#f2c879;--warn-soft:#2f2420;--tip:#b8a6d8;--tip-soft:#2a2140;--note:#c9b8e6;--note-soft:#2a2140;--code-bg:#140c1d;--code-fg:#f6ece6;--focus:#e6a6b4;--shadow-1:0 1px 2px rgba(0,0,0,0.35);--shadow-pop:0 24px 60px -18px rgba(0,0,0,0.7),0 0 0 1px rgba(255,255,255,0.05)}:root[data-accent=blue]{--brand:#2557d6;--brand-ink:#1d46ad;--brand-soft:#e8eefc;--brand-line:#b9cbf4;--on-brand:#ffffff}:root[data-accent=green]{--brand:#1f7a4d;--brand-ink:#17603c;--brand-soft:#e4f3eb;--brand-line:#b3dcc6;--on-brand:#ffffff}:root[data-accent=violet]{--brand:#6d3fc9;--brand-ink:#5a31a8;--brand-soft:#efe9fb;--brand-line:#cfbdf2;--on-brand:#ffffff}:root[data-accent=amber]{--brand:#b45a0a;--brand-ink:#934908;--brand-soft:#fbefe2;--brand-line:#efcda6;--on-brand:#ffffff}:root[data-accent=teal]{--brand:#0f7c80;--brand-ink:#0b6164;--brand-soft:#e1f3f3;--brand-line:#a9dcdd;--on-brand:#ffffff}@media (prefers-color-scheme:dark){:root[data-accent=blue]:not([data-theme=light]){--brand:#4c7cf0;--brand-ink:#9db8ff;--brand-soft:#141c2e;--brand-line:#26375e;--on-brand:#ffffff}:root[data-accent=green]:not([data-theme=light]){--brand:#2f9e66;--brand-ink:#7fd4a6;--brand-soft:#12221a;--brand-line:#22452f;--on-brand:#ffffff}:root[data-accent=violet]:not([data-theme=light]){--brand:#8b63e6;--brand-ink:#c3a8ff;--brand-soft:#1d1630;--brand-line:#392a5e;--on-brand:#ffffff}:root[data-accent=amber]:not([data-theme=light]){--brand:#d97a1f;--brand-ink:#ffb36b;--brand-soft:#2a1d10;--brand-line:#5a3a1a;--on-brand:#ffffff}:root[data-accent=teal]:not([data-theme=light]){--brand:#1fa3a8;--brand-ink:#7ad8db;--brand-soft:#0f2425;--brand-line:#1d4a4c;--on-brand:#ffffff}}:root[data-accent=blue][data-theme=dark]{--brand:#4c7cf0;--brand-ink:#9db8ff;--brand-soft:#141c2e;--brand-line:#26375e;--on-brand:#ffffff}:root[data-accent=green][data-theme=dark]{--brand:#2f9e66;--brand-ink:#7fd4a6;--brand-soft:#12221a;--brand-line:#22452f;--on-brand:#ffffff}:root[data-accent=violet][data-theme=dark]{--brand:#8b63e6;--brand-ink:#c3a8ff;--brand-soft:#1d1630;--brand-line:#392a5e;--on-brand:#ffffff}:root[data-accent=amber][data-theme=dark]{--brand:#d97a1f;--brand-ink:#ffb36b;--brand-soft:#2a1d10;--brand-line:#5a3a1a;--on-brand:#ffffff}:root[data-accent=teal][data-theme=dark]{--brand:#1fa3a8;--brand-ink:#7ad8db;--brand-soft:#0f2425;--brand-line:#1d4a4c;--on-brand:#ffffff}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s4))}body,html{margin:0;padding:0}body{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--t-base);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased}body[dir=ltr]{line-height:1.65}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-tight);font-weight:700;text-wrap:balance;margin:0}h1{font-size:var(--t-2xl)}h2{font-size:var(--t-xl)}h3{font-size:var(--t-md)}p{margin:0}a{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--font-mono)}img,svg{display:block;max-width:100%}.icon{flex:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--brand-soft);color:var(--ink)}[hidden]{display:none!important}.sr-only{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip,.sr-only{position:absolute}.skip{inset-inline-start:var(--s4);top:-60px;z-index:100;padding:var(--s2) var(--s4);background:var(--ink);color:var(--bg);border-radius:var(--r-sm)}.skip:focus{top:var(--s3)}[dir=ltr] .flip-ltr,[dir=rtl] .flip-rtl{transform:scaleX(-1)}.eyebrow{font-size:var(--t-sm);font-weight:500;color:var(--ink-2)}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.lede,.muted{color:var(--ink-2)}.lede{max-width:var(--w-prose)}.page{flex:1 1;width:100%;max-width:var(--w-page);margin-inline:auto;padding:var(--s8) var(--gutter) var(--s10)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line)}.bar{max-width:var(--w-page);height:var(--header-h);margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:var(--s6);gap:var(--s6)}.bar,.bar-start{align-items:center}.bar-start{display:flex;gap:var(--s5);min-width:0}.brand{display:inline-flex;align-items:center;gap:var(--s2);font-weight:700;font-size:var(--t-lg);letter-spacing:0}.brand svg{flex:none}.nav{display:flex;gap:var(--s1)}.nav,.nav-link{align-items:center}.nav-link{position:relative;display:inline-flex;height:40px;padding-inline:var(--s3);border-radius:var(--r-sm);font-size:var(--t-base);font-weight:500;white-space:nowrap;color:var(--ink-2);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.nav-link:hover{color:var(--ink);background:var(--surface-2)}.nav-link[aria-current=page]{color:var(--ink);font-weight:600}.nav .nav-link[aria-current=page]:after{content:"";position:absolute;inset-inline:var(--s3);bottom:calc((40px - var(--header-h)) / 2);height:2px;border-radius:2px 2px 0 0;background:var(--brand)}.bar-end{grid-column:3;justify-self:end;gap:var(--s3)}.bar-end,.bar-tools{display:flex;align-items:center}.bar-tools{gap:2px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding-inline:var(--s2);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font:inherit;font-size:var(--t-ui);font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.icon-btn:hover{color:var(--ink);background:var(--surface-2)}.icon-btn svg{flex:none;width:18px;height:18px}.lang-switch{padding-inline:var(--s3)}.signin{min-height:40px}.site-menu{position:relative;display:none}.site-menu summary{list-style:none}.site-menu summary::-webkit-details-marker{display:none}.site-menu[open] summary{color:var(--ink);background:var(--surface-2)}.site-menu-pop{position:absolute;inset-inline-start:0;top:calc(100% + var(--s2));width:min(18rem,calc(100vw - 2 * var(--gutter)));padding:var(--s2);display:grid;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-pop);animation:pop-in var(--dur-fast) var(--ease)}.menu-nav{display:grid;-webkit-padding-after:var(--s2);padding-block-end:var(--s2);-webkit-margin-after:var(--s2);margin-block-end:var(--s2);-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line)}.menu-nav .nav-link{height:44px}.menu-nav .nav-link[aria-current=page]{color:var(--brand-ink);background:var(--tint)}.menu-row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:44px;padding-inline:var(--s3);border:0;border-radius:var(--r-sm);background:none;color:var(--ink);font:inherit;font-size:var(--t-ui);text-align:start;cursor:pointer}.menu-row svg{flex:none;width:18px;height:18px;color:var(--ink-2)}.menu-row small{-webkit-margin-start:auto;margin-inline-start:auto;font-size:var(--t-sm);color:var(--ink-2)}.menu-row:hover{background:var(--surface-2)}.menu-start{-webkit-margin-before:var(--s2);margin-block-start:var(--s2)}.account{position:relative}.account summary{list-style:none;display:flex;align-items:center;gap:var(--s2);height:40px;padding-inline:5px var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.account summary::-webkit-details-marker{display:none}.account summary:hover,.account[open] summary{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink)}.account-name{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-ui);font-weight:600;color:var(--ink)}.account summary>.icon{transition:transform var(--dur-fast) var(--ease)}.account[open] summary>.icon{transform:rotate(180deg)}.account-pop{position:absolute;inset-inline-end:0;top:calc(100% + var(--s2));width:260px;padding:var(--s2);display:grid;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-pop);animation:pop-in var(--dur-fast) var(--ease)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.account-who{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s2) var(--s3);-webkit-margin-after:var(--s1);margin-block-end:var(--s1);-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line)}.account-who span:last-child{display:grid;min-width:0;line-height:var(--lh-snug)}.account-who strong{font-size:var(--t-ui)}.account-who small,.account-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-who small{font-size:var(--t-xs);color:var(--ink-2);text-align:start}.account-pop a,.account-pop button{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:38px;padding-inline:var(--s2);border:0;border-radius:var(--r-sm);background:none;color:var(--ink);font:inherit;font-size:var(--t-ui);text-align:start;cursor:pointer}.account-pop a svg,.account-pop button svg{color:var(--ink-2)}.account-pop a:hover,.account-pop button:hover{background:var(--surface-2)}.account-out{-webkit-margin-before:var(--s1);margin-block-start:var(--s1);-webkit-border-before:1px solid var(--line)!important;border-block-start:1px solid var(--line)!important;border-radius:0 0 var(--r-sm) var(--r-sm)!important;-webkit-padding-before:var(--s1);padding-block-start:var(--s1)}.avatar{flex:none;display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;font-weight:600;line-height:1;background:var(--av-light);color:var(--av)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar[data-tone="0"]{--av-light:#e8e1d6;--av:#5d4a2c}.avatar[data-tone="1"]{--av-light:#dbe6dd;--av:#2f5a3a}.avatar[data-tone="2"]{--av-light:#dde4ef;--av:#2f4a72}.avatar[data-tone="3"]{--av-light:#ece0e6;--av:#6c3450}.avatar[data-tone="4"]{--av-light:#e6e2ef;--av:#4b3d77}.avatar[data-tone="5"]{--av-light:#dfe9ea;--av:#275a5f}.avatar[data-tone="6"]{--av-light:#f0e2d9;--av:#7a4122}.avatar[data-tone="7"]{--av-light:#e4e4e0;--av:#44454b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .avatar{background:color-mix(in srgb,var(--av) 62%,#1a1126);color:#f4f4f4}}:root[data-theme=dark] .avatar{background:color-mix(in srgb,var(--av) 62%,#1a1126);color:#f4f4f4}.track-icon{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r);background:var(--surface-2);color:var(--ink)}.site-footer{position:relative;background:var(--tint);-webkit-margin-before:auto;margin-block-start:auto}.dunes{display:block;width:100%;height:48px;pointer-events:none}.dune-back{fill:var(--surface-2)}.dune-front{fill:var(--tint)}.dune-line{fill:none;stroke:var(--brand-line);stroke-width:1.5;vector-effect:non-scaling-stroke}.foot-dunes{position:absolute;inset-inline:0;bottom:calc(100% - 1px)}.foot{max-width:var(--w-page);margin-inline:auto;padding:var(--s9) var(--gutter) var(--s8);display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,.75fr)) minmax(0,1.4fr);grid-gap:var(--s8);gap:var(--s8);align-items:start}.foot-brand{display:grid;grid-gap:var(--s3);gap:var(--s3);align-content:start}.foot-brand .brand{width:-moz-fit-content;width:fit-content}.foot-brand p{color:var(--ink-2);font-size:var(--t-ui);max-width:34ch}.foot-col{display:grid;align-content:start;grid-gap:var(--s3);gap:var(--s3);font-size:var(--t-ui)}.foot-col h2{font-size:var(--t-xs);font-weight:600;letter-spacing:.02em;color:var(--ink-2);line-height:28px}.foot-col a{width:-moz-fit-content;width:fit-content;color:var(--ink);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.foot-col a:hover{color:var(--brand-ink)}.foot-author strong{font-size:var(--t-base)}.foot-author p{color:var(--ink-2);max-width:44ch}.foot-social{display:flex;gap:var(--s2);-webkit-margin-before:var(--s1);margin-block-start:var(--s1)}.foot-social a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2)}.foot-social a:hover{color:var(--ink);border-color:var(--line-strong)}.foot-bottom{margin-inline:max(var(--gutter),calc((100% - var(--w-page)) / 2 + var(--gutter)));padding:var(--s5) 0 var(--s7);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);color:var(--ink-2);font-size:var(--t-sm);padding-left:168px}.foot-bottom a{color:var(--ink-2);text-decoration:none}.foot-bottom a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:40px;padding-inline:var(--s4);border:1px solid transparent;border-radius:var(--r-sm);font:inherit;font-size:var(--t-ui);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:disabled{opacity:.55;cursor:default}.btn-sm{min-height:34px;padding-inline:var(--s3);font-size:var(--t-sm)}.btn-lg{min-height:46px;padding-inline:var(--s5);font-size:var(--t-base)}.btn-block{width:100%}.btn-brand{background:var(--brand);color:var(--on-brand)}.btn-brand:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 88%,#000)}.btn-ghost,.btn-outline{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled),.btn-outline:hover:not(:disabled){border-color:var(--line-strong)}.btn-quiet{background:transparent;color:var(--ink-2)}.btn-quiet:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.btn-danger{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}.btn-danger:hover:not(:disabled){border-color:var(--brand-ink)}.meter{display:block;height:6px;min-width:48px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.meter i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width var(--dur-slow) var(--ease)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);-webkit-margin-after:var(--s6);margin-block-end:var(--s6);font-size:var(--t-sm);color:var(--ink-2)}.breadcrumb a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.25em}.breadcrumb .icon{opacity:.6}.notice{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:var(--t-ui)}.notice .icon{-webkit-margin-before:3px;margin-block-start:3px}.notice-locked{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.notice-info{background:var(--tip-soft);border-color:color-mix(in srgb,var(--tip) 30%,transparent)}.tag{display:inline-flex;align-items:center;gap:var(--s1);padding:1px var(--s2);border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--t-xs);color:var(--ink-2)}.section-head{display:flex;align-items:baseline;gap:var(--s3);-webkit-margin-after:var(--s3);margin-block-end:var(--s3)}.section-head h2{font-size:var(--t-lg)}.section-head .count{font-size:var(--t-sm);color:var(--ink-2)}.section-intro{display:grid;grid-gap:var(--s2);gap:var(--s2);-webkit-margin-after:var(--s7);margin-block-end:var(--s7)}.section-intro h2{font-size:var(--t-xl)}.section-intro p{color:var(--ink-2);max-width:60ch}.page-head{display:grid;grid-gap:var(--s2);gap:var(--s2);-webkit-margin-after:var(--s7);margin-block-end:var(--s7)}.page-head p{color:var(--ink-2);max-width:60ch}.panel{display:grid;grid-gap:var(--s4);gap:var(--s4);padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.panel>h2{font-size:var(--t-md)}.panel-danger{border-color:var(--brand-line)}.field{display:grid;grid-gap:6px;gap:6px}.field-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));grid-gap:var(--s3);gap:var(--s3)}.field>label,.field>span{font-size:var(--t-ui);font-weight:500}.field small{font-size:var(--t-xs);color:var(--ink-2)}.field input,.inline-form input,.inline-form select{width:100%;min-height:44px;padding-inline:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-base);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.field input:hover{border-color:var(--ink-2)}.field input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent)}.field input::placeholder{color:color-mix(in srgb,var(--ink-2) 75%,transparent)}.password{position:relative}[dir=rtl] .password input{padding-left:48px}[dir=ltr] .password input{padding-right:48px}.password .reveal{position:absolute;inset-block:4px;inset-inline-end:4px;width:40px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);cursor:pointer}.password .reveal:hover{color:var(--ink);background:var(--surface-2)}.form-error,.form-ok{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-ui)}.form-error{padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-ink)}.form-ok{color:var(--ok)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);-webkit-margin-before:var(--s2);margin-block-start:var(--s2)}.hero-actions .btn-brand{max-width:100%;overflow:hidden;text-overflow:ellipsis}.curriculum{padding-block:var(--s4) var(--s6)}.curriculum-intro h1{font-size:var(--t-2xl)}.stage-block{display:grid;grid-gap:var(--s4);gap:var(--s4);padding-block:var(--s7) 0}.roadmap-block{-webkit-padding-before:var(--s8);padding-block-start:var(--s8)}.curriculum-intro+.roadmap-block{-webkit-padding-before:0;padding-block-start:0}.roadmap-block{scroll-margin-top:calc(var(--header-h) + var(--s5))}.roadmap-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s6);-webkit-padding-after:var(--s5);padding-block-end:var(--s5);-webkit-border-after:2px solid var(--ink);border-block-end:2px solid var(--ink)}.roadmap-head>div{display:grid;grid-gap:var(--s2);gap:var(--s2)}.roadmap-head h3{font-size:var(--t-xl)}.roadmap-head p{color:var(--ink-2);max-width:62ch}.roadmap-stats{display:flex;gap:var(--s6);margin:0}.roadmap-stats div{display:flex;flex-direction:column-reverse}.roadmap-stats dt{font-size:var(--t-sm);color:var(--ink-2)}.roadmap-stats dd{margin:0;font-family:var(--font-mono);font-size:var(--t-lg);font-weight:600}.curriculum-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--s9);gap:var(--s9);align-items:center;-webkit-margin-after:var(--s9);margin-block-end:var(--s9)}.curriculum-intro .section-intro{margin:0}.roadmap-jump{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.roadmap-jump li+li{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.roadmap-jump a{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--s4);gap:var(--s4);padding:var(--s4) var(--s5);text-decoration:none;transition:background var(--dur-fast) var(--ease)}.roadmap-jump a:hover{background:var(--tint)}.roadmap-jump-go,.roadmap-meta{color:var(--ink-2)}.roadmap-meta{font-size:var(--t-sm)}.stage-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;grid-column-gap:var(--s3);column-gap:var(--s3);grid-row-gap:var(--s1);row-gap:var(--s1)}.stage-label p{grid-column:2}.stage-num{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--brand-ink);justify-self:start}.stage-label h4{font-size:var(--t-lg)}.stage-label p{color:var(--ink-2);font-size:var(--t-ui)}.track-list{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.track-list li+li{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.track-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--s4);gap:var(--s4);padding:var(--s4) var(--s5);transition:background var(--dur-fast) var(--ease)}.track-row:hover{background:var(--tint)}.track-row-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.track-row-text strong{font-size:var(--t-md);font-weight:600;line-height:var(--lh-snug)}.track-row-text span{font-size:var(--t-ui);color:var(--ink-2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.track-row-meta{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap}.track-row-meta .meter{width:64px}.track-row-go{color:var(--ink-2);transition:transform var(--dur-fast) var(--ease)}.track-row:hover .track-row-go{color:var(--ink)}.track-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"head aside" "list aside";grid-column-gap:var(--s8);column-gap:var(--s8);grid-row-gap:var(--s7);row-gap:var(--s7);align-items:start}.track-head{grid-area:head;display:grid;grid-gap:var(--s3);gap:var(--s3)}.track-head .track-icon{width:52px;height:52px;-webkit-margin-after:var(--s2);margin-block-end:var(--s2)}.track-head h1{font-size:var(--t-2xl)}.track-head p{color:var(--ink-2);font-size:var(--t-md);text-wrap:pretty}.track-aside{grid-area:aside;position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s6));display:grid;grid-gap:var(--s5);gap:var(--s5);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.track-aside dl{margin:0;display:grid;grid-gap:var(--s3);gap:var(--s3)}.track-aside dl div{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--t-ui)}.track-aside dt{color:var(--ink-2)}.track-aside dd{margin:0;font-weight:500;text-align:end}.track-progress{display:grid;grid-gap:var(--s2);gap:var(--s2);-webkit-padding-before:var(--s4);padding-block-start:var(--s4);-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.track-progress-row{display:flex;justify-content:space-between;font-size:var(--t-ui)}.track-finished{display:flex;align-items:center;gap:var(--s2);color:var(--ok);font-weight:500;font-size:var(--t-ui)}.syllabus{grid-area:list}.path{list-style:none;margin:0;padding:0}.path,.path li{position:relative}.path li:before{content:"";position:absolute;inset-inline-start:17px;top:0;bottom:0;width:2px;background:var(--line)}.path li:first-child:before{top:26px}.path li:last-child:before{bottom:calc(100% - 26px)}.path li.is-done:before{background:var(--brand)}.path a{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;grid-gap:var(--s4);gap:var(--s4);padding:var(--s3) 0;border-radius:var(--r);text-decoration:none}.path a:hover .path-text strong{color:var(--brand-ink)}.path-text{border-radius:var(--r);transition:background var(--dur-fast) var(--ease)}.path a:hover .path-text{background:var(--surface)}.path-go{align-self:center;color:var(--ink-2);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.path a:focus-visible .path-go,.path a:hover .path-go{opacity:1}.stop{display:grid;place-items:center;width:36px;height:36px;-webkit-margin-before:2px;margin-block-start:2px;border-radius:50%;border:2px solid var(--line);background:var(--bg);font-family:var(--font-mono);font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.path .is-done .stop{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.path .is-next .stop{border-color:var(--brand);color:var(--brand-ink);box-shadow:0 0 0 4px var(--brand-soft)}.path-text{display:grid;grid-gap:2px;gap:2px;padding:6px var(--s3) var(--s3);-webkit-margin-start:calc(var(--s3) * -1);margin-inline-start:calc(var(--s3) * -1)}.path-text strong{font-size:var(--t-md);font-weight:600;line-height:var(--lh-snug);transition:color var(--dur-fast) var(--ease)}.path-text span{color:var(--ink-2);font-size:var(--t-ui);line-height:1.75}.up-next{justify-self:start;font-size:var(--t-xs);font-weight:600;color:var(--brand-ink)}.lesson{min-width:0;max-width:820px}.lesson-head{display:grid;grid-gap:var(--s2);gap:var(--s2);-webkit-margin-after:var(--s6);margin-block-end:var(--s6)}.lesson-head h1{font-size:var(--t-2xl)}.done-badge{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:2px var(--s2);border-radius:var(--r-sm);background:var(--ok-soft);color:var(--ok);font-size:var(--t-sm);font-weight:500}.lesson>.notice{-webkit-margin-after:var(--s6);margin-block-end:var(--s6)}.lesson-body>.part-divider:first-child .kicker,.lesson-body>.part-divider:first-child .part-title{display:none}.lesson-body .mark{display:inline-block;width:1.1em;height:1.1em;-webkit-margin-end:.35em;margin-inline-end:.35em;vertical-align:-.18em;border-radius:50%}.lesson-body .mark-ok{background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8.5'/%3E%3C/svg%3E") center /80% no-repeat}.lesson-body .mark-bad{background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center /80% no-repeat}.lesson-body .table-wrap{overflow-x:auto}.lesson-body .diagram svg{direction:ltr}.lesson-body li,.lesson-body p,.lesson-body td{overflow-wrap:break-word}.resources{-webkit-margin-before:var(--s9);margin-block-start:var(--s9);-webkit-padding-before:var(--s7);padding-block-start:var(--s7);-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);display:grid;grid-gap:var(--s4);gap:var(--s4)}.resources .section-head{margin:0}.resources .lede{font-size:var(--t-ui)}.resource-group{display:grid;grid-gap:var(--s2);gap:var(--s2)}.resource-group h3{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.resource-group h3 .count{font-family:var(--font-mono);font-weight:400}.resource-cards{display:grid;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.resource-cards a{display:grid;grid-gap:2px;gap:2px;padding:var(--s3) var(--s4);transition:background var(--dur-fast) var(--ease)}.resource-cards a+a{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.resource-cards a:hover{background:var(--tint)}.resource-cards a:hover strong{color:var(--brand-ink)}.resource-cards strong{font-size:var(--t-ui);font-weight:600}.resource-cards .desc{font-size:var(--t-sm);color:var(--ink-2)}.resource-cards .host{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-2);justify-self:start}.finish{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);-webkit-margin-before:var(--s8);margin-block-start:var(--s8);padding:var(--s5) var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.finish h2{font-size:var(--t-md)}.finish p{color:var(--ink-2);font-size:var(--t-ui)}.complete{display:grid;grid-gap:var(--s1);gap:var(--s1);justify-items:end}.complete .hint{font-size:var(--t-xs);color:var(--ink-2)}.sheet-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s3);gap:var(--s3);-webkit-margin-before:var(--s5);margin-block-start:var(--s5)}.sheet-nav a{display:grid;grid-gap:2px;gap:2px;padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.sheet-nav a:hover{border-color:var(--line-strong);background:var(--surface)}.sheet-nav small{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--ink-2)}.sheet-nav strong{font-weight:600;font-size:var(--t-ui)}.sheet-nav .to-next{text-align:end}.sheet-nav .to-next small{justify-self:end}.dashboard{display:grid;grid-gap:var(--s8);gap:var(--s8)}.streak{color:var(--line-strong)}.streak.is-on{color:var(--brand)}.upcoming{display:grid;grid-gap:var(--s4);gap:var(--s4)}.upcoming h2{font-size:var(--t-lg)}.upcoming ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.upcoming li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--s3);gap:var(--s3);padding:var(--s3) var(--s5);font-size:var(--t-ui)}.upcoming li+li{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.upcoming li span,.upcoming li svg{color:var(--ink-2)}.upcoming li span{font-size:var(--t-sm)}.profile-grid{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:var(--s7);gap:var(--s7);align-items:start}.id-card{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s6));display:grid;justify-items:center;grid-gap:var(--s2);gap:var(--s2);padding:var(--s7) var(--s5) var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:center}.id-card .avatar{-webkit-margin-after:var(--s2);margin-block-end:var(--s2)}.id-card h2{font-size:var(--t-lg)}.id-headline{color:var(--ink-2);font-size:var(--t-ui)}.id-number{display:grid;justify-items:center;grid-gap:2px;gap:2px;margin:var(--s2) 0 0;font-size:var(--t-xs);color:var(--ink-2)}.id-number .num{font-size:var(--t-ui);font-weight:700;color:var(--ink);letter-spacing:.04em}.id-number small{max-width:26ch;text-align:center}.id-since{font-size:var(--t-xs);color:var(--ink-2)}.id-stats{width:100%;margin:var(--s4) 0 0;display:grid;grid-template-columns:repeat(3,1fr);-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-padding-before:var(--s4);padding-block-start:var(--s4)}.id-stats div{display:flex;flex-direction:column-reverse;gap:2px}.id-stats div+div{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line)}.id-stats dt{font-size:var(--t-xs);color:var(--ink-2);line-height:1.4;padding-inline:var(--s1)}.id-stats dd{margin:0;font-size:var(--t-lg);font-weight:600}.profile-form,.profile-main{display:grid;grid-gap:var(--s5);gap:var(--s5)}.profile-form{max-width:520px}.photo-field{display:flex;align-items:center;gap:var(--s5)}.photo-actions{display:grid;grid-gap:var(--s2);gap:var(--s2)}.photo-actions>div{display:flex;flex-wrap:wrap;gap:var(--s2)}.photo-actions small{font-size:var(--t-xs);color:var(--ink-2)}.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}.progress-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--s3);gap:var(--s3)}.progress-list li{display:grid;grid-template-columns:auto minmax(0,1fr) 120px 48px;align-items:center;grid-gap:var(--s3);gap:var(--s3);font-size:var(--t-ui)}.progress-list .track-icon{width:32px;height:32px;border-radius:var(--r-sm)}.progress-list a:hover{color:var(--brand-ink)}.progress-list .num{font-size:var(--t-xs);color:var(--ink-2);text-align:end}.account-facts{margin:0;display:grid;grid-gap:var(--s2);gap:var(--s2)}.account-facts div{display:flex;justify-content:space-between;gap:var(--s4);font-size:var(--t-ui)}.account-facts dt{color:var(--ink-2)}.account-facts dd{margin:0}.panel>.btn{justify-self:start}.auth-shell{max-width:1040px;margin:var(--s7) auto var(--s4);grid-template-columns:minmax(0,440px) minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop);overflow:hidden}.auth-page,.auth-shell{width:100%;display:grid}.auth-page{padding:var(--s8) var(--s8) var(--s7);align-content:center;grid-gap:var(--s5);gap:var(--s5)}.auth-aside{position:relative;display:grid;align-content:center;grid-gap:var(--s6);gap:var(--s6);padding:var(--s8);-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line);background:radial-gradient(120% 80% at 100% 0,var(--brand-soft),transparent 60%),linear-gradient(var(--line) 1px,transparent 1px) 0 0 /28px 28px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 /28px 28px,var(--tint);isolation:isolate}.auth-aside:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent,var(--tint) 85%);opacity:.85}.auth-aside-head{display:grid;grid-gap:var(--s2);gap:var(--s2)}.auth-aside-head .eyebrow{color:var(--brand);font-weight:600}[lang=en] .auth-aside-head .eyebrow{font-family:var(--font-mono);font-size:var(--t-xs)}.auth-aside h2{font-size:var(--t-xl);line-height:1.45;text-wrap:balance}.auth-path{margin:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.auth-path figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line);font-size:var(--t-sm);color:var(--ink-2)}.auth-path figcaption strong{color:var(--ink);font-weight:600}.auth-path ol{position:relative;margin:0;padding:var(--s3) var(--s4);list-style:none;display:grid;grid-gap:var(--s1);gap:var(--s1)}.auth-path ol:before{content:"";position:absolute;inset-block:var(--s6);inset-inline-start:calc(var(--s4) + 17px);-webkit-border-start:2px dashed var(--line-strong);border-inline-start:2px dashed var(--line-strong);opacity:.45}.auth-path li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--s3);gap:var(--s3);padding-block:var(--s2);font-size:var(--t-ui)}.auth-path .track-icon{width:36px;height:36px;border:1px solid var(--line);background:var(--surface)}.auth-path li:first-child .track-icon{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand)}.auth-path-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-path-count,.auth-path-step{font-size:var(--t-xs);color:var(--ink-2)}.auth-path-step{opacity:.7}.auth-perks{margin:0;padding:0;list-style:none;display:grid;grid-gap:var(--s3);gap:var(--s3)}.auth-perks li{display:flex;align-items:center;gap:var(--s3);font-size:var(--t-ui)}.auth-perks .icon{flex:none;box-sizing:content-box;padding:7px;border-radius:var(--r-sm);color:var(--brand)}.auth-perks .icon,.auth-stats{background:var(--surface);border:1px solid var(--line)}.auth-stats{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:var(--r-lg);overflow:hidden}.auth-stats div{display:grid;grid-gap:2px;gap:2px;padding:var(--s3) var(--s4)}.auth-stats div+div{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line)}.auth-stats dt{font-size:var(--t-xs);color:var(--ink-2)}.auth-stats dd{order:-1;margin:0;font-family:var(--font-mono);font-size:var(--t-lg);font-weight:700;color:var(--ink)}.auth-page header{display:grid;justify-items:start;grid-gap:var(--s2);gap:var(--s2);-webkit-margin-after:var(--s2);margin-block-end:var(--s2)}.auth-page header svg{-webkit-margin-after:var(--s3);margin-block-end:var(--s3)}.auth-page header p{color:var(--ink-2)}.auth-form{display:grid;grid-gap:var(--s4);gap:var(--s4)}.auth-form .btn{-webkit-margin-before:var(--s2);margin-block-start:var(--s2)}.divider{display:flex;align-items:center;gap:var(--s3);font-size:var(--t-sm);color:var(--ink-2)}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.auth-consent{font-size:var(--t-xs);color:var(--ink-2);line-height:var(--lh-snug)}.auth-consent a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}.auth-consent a:hover{color:var(--ink)}.auth-alt{-webkit-padding-before:var(--s5);padding-block-start:var(--s5);-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);font-size:var(--t-ui);color:var(--ink-2)}.auth-alt a{color:var(--ink);font-weight:600;text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:.3em}@media (max-width:900px){.auth-shell{grid-template-columns:minmax(0,1fr);max-width:480px;-webkit-margin-before:var(--s5);margin-block-start:var(--s5)}.auth-aside{-webkit-border-start:0;border-inline-start:0;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);padding:var(--s6)}.auth-path{display:none}}@media (max-width:520px){.auth-shell{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}.auth-page{padding:0}.auth-aside{-webkit-margin-before:var(--s6);margin-block-start:var(--s6);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg)}}@media (max-width:1080px){.foot{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-author,.foot-brand{grid-column:1/-1}.curriculum-intro{gap:var(--s6)}.curriculum-intro,.track-page{grid-template-columns:minmax(0,1fr)}.track-page{grid-template-areas:"head" "aside" "list"}.track-aside{position:static}.profile-grid{grid-template-columns:minmax(0,1fr)}.id-card{position:static}}@media (max-width:760px){:root{--gutter:16px}.page{padding-block:var(--s6) var(--s9)}.bar{gap:var(--s2)}.bar-end,.bar-start{gap:var(--s1)}.site-menu{display:block}.account-name,.bar-start>.nav,.bar-tools,.header-start{display:none}.account summary{-webkit-padding-end:5px;padding-inline-end:5px}.hero-actions .btn{flex:1 1 100%}.roadmap-jump a{grid-template-columns:auto minmax(0,1fr) auto;row-gap:var(--s1)}.roadmap-jump .roadmap-meta{grid-column:2;grid-row:2}.roadmap-jump-go{grid-column:3;grid-row:1/span 2}.track-row{grid-template-columns:auto minmax(0,1fr) auto;padding:var(--s4);gap:var(--s3)}.track-row-meta{grid-column:2;grid-row:2}.track-row-go{grid-row:1/span 2;grid-column:3}.upcoming li{grid-template-columns:auto minmax(0,1fr)}.upcoming li span{grid-column:2}.sheet-nav{grid-template-columns:minmax(0,1fr)}.finish{padding:var(--s4)}.complete{justify-items:start}.foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6);padding-block:var(--s8)}.foot-author,.foot-brand{grid-column:1/-1}.foot-brand .brand span{display:inline}.accent-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-bottom{padding-left:0;-webkit-padding-after:100px;padding-block-end:100px}.progress-list li{grid-template-columns:auto minmax(0,1fr) 48px}.progress-list .meter{grid-column:2/-1;grid-row:2}.photo-field{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.not-found{justify-items:start;padding-block:var(--s9)}.not-found .btn{-webkit-margin-before:var(--s3);margin-block-start:var(--s3)}.error-detail{max-width:100%;margin:0;overflow-x:auto;font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-2);white-space:pre-wrap}.not-found-actions{display:flex;flex-wrap:wrap;gap:var(--s3)}[lang=en] .dawn-proof dt:first-letter,[lang=en] .id-stats dt:first-letter{text-transform:uppercase}.cropper-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--s4);background:rgba(26,17,38,.6)}.cropper{display:grid;justify-items:center;grid-gap:var(--s4);gap:var(--s4);width:min(100%,360px);padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop);text-align:center}.cropper:focus{outline:none}.cropper h2{font-size:var(--t-lg)}.cropper p{color:var(--ink-2);font-size:var(--t-sm)}.cropper-frame{position:relative;overflow:hidden;border-radius:50%;background:var(--surface-2);cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 1px var(--line)}.cropper-frame:active{cursor:-webkit-grabbing;cursor:grabbing}.cropper-frame img{position:absolute;top:0;left:0;max-width:none;pointer-events:none}.cropper-zoom{display:grid;grid-gap:var(--s2);gap:var(--s2);width:100%;font-size:var(--t-sm);color:var(--ink-2);text-align:start}.cropper-zoom input{width:100%;accent-color:var(--brand)}.cropper-actions{display:flex;justify-content:flex-end;gap:var(--s2);width:100%}.accent-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s2);gap:var(--s2);-webkit-margin-before:var(--s3);margin-block-start:var(--s3)}.accent-swatch{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink);font:inherit;font-size:var(--t-ui);cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.accent-swatch:hover{border-color:var(--line-strong)}.accent-swatch[aria-checked=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.accent-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:var(--swatch)}.accent-swatch[data-swatch=crimson]{--swatch:#e2603f}.accent-swatch[data-swatch=blue]{--swatch:#2557d6}.accent-swatch[data-swatch=green]{--swatch:#1f7a4d}.accent-swatch[data-swatch=violet]{--swatch:#6d3fc9}.accent-swatch[data-swatch=amber]{--swatch:#b45a0a}.accent-swatch[data-swatch=teal]{--swatch:#0f7c80}.page-enter{display:contents}@keyframes shell-page{0%{opacity:0;transform:translateY(3px)}}@keyframes shell-pop{0%{opacity:0;transform:scale(.96)}}@keyframes shell-row{0%{opacity:0;transform:translateY(4px)}}@keyframes shell-underline{0%{opacity:0;transform:scaleX(.3)}}@keyframes shell-turn{0%{opacity:0;transform:rotate(calc(var(--dir) * -60deg)) scale(.7)}}@keyframes shell-press{40%{transform:scale(.94)}}@keyframes shell-ran{0%{opacity:0;transform:translateY(4px)}}@keyframes shell-shake{25%{translate:-3px 0}75%{translate:3px 0}}@keyframes shell-spin{to{transform:rotate(1turn)}}@keyframes shell-reveal{0%{opacity:0;transform:translateY(16px)}}@keyframes shell-skeleton-in{0%{opacity:0}}.skeleton{display:grid;grid-gap:var(--s7);gap:var(--s7);padding-block:var(--s2);animation:shell-skeleton-in var(--dur-base) var(--ease) .3s both}.skeleton-head{display:grid;grid-gap:var(--s3);gap:var(--s3)}.skeleton-card,.skeleton-line{position:relative;display:block;overflow:hidden;background:var(--surface-2)}.skeleton-line{width:min(100%,36rem);height:12px;border-radius:var(--r-sm)}.skeleton-eyebrow{width:6rem}.skeleton-title{width:min(100%,24rem);height:28px;-webkit-margin-after:var(--s2);margin-block-end:var(--s2)}.skeleton-short{width:min(70%,22rem)}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5)}.skeleton-card{height:160px;border-radius:var(--r-lg)}@media (max-width:760px){.skeleton-grid{grid-template-columns:minmax(0,1fr)}}.btn[aria-busy=true]:after{content:"";flex:none;width:1em;height:1em;border:2px solid;border-inline-end-color:transparent;border-radius:50%}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition{pointer-events:none}::view-transition-group(*){animation-duration:.18s;animation-timing-function:var(--ease)}::view-transition-new(root),::view-transition-old(root){animation-duration:.18s}:where(.page-enter)>*{animation:shell-page var(--dur-base) var(--ease) backwards}.skeleton-card:after,.skeleton-line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 6%,transparent),transparent);animation:m-shimmer 1.6s linear infinite}.nav .nav-link[aria-current=page]:after{animation:shell-underline var(--dur-base) var(--ease) both}.icon-btn{transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.icon-btn:active{transform:scale(.96)}.header-search input{transition:border-color var(--dur-fast) var(--ease),width var(--dur-base) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.account summary{transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.account summary:active{transform:scale(.97)}.account-pop,.site-menu-pop{animation:shell-pop .18s var(--ease) both}.account-pop,[dir=rtl] .site-menu-pop{transform-origin:top right}.site-menu-pop,[dir=rtl] .account-pop{transform-origin:top left}.site-menu-pop>*{animation:shell-row .16s var(--ease) both}.site-menu-pop>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.site-menu-pop>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.site-menu-pop>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.site-menu-pop>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.site-menu-pop>:nth-child(n+6){animation-delay:calc(var(--stagger) * 5)}.account-pop a,.account-pop button,.menu-row{transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}button[data-turn]>svg{animation:shell-turn var(--dur-base) var(--ease) both}.btn{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),translate var(--dur-fast) var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.btn[aria-busy=true]:after{animation:shell-spin .7s linear infinite}.auth-page,.home-hero,.not-found{animation:none}.auth-page>*,.home-hero-text>*,.not-found>*{animation:m-rise var(--dur-slow) var(--ease) both}.auth-page>:nth-child(2),.home-hero-text>:nth-child(2),.not-found>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.auth-page>:nth-child(3),.home-hero-text>:nth-child(3),.not-found>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.auth-page>:nth-child(4),.home-hero-text>:nth-child(4),.not-found>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.auth-page>:nth-child(5),.home-hero-text>:nth-child(5),.not-found>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.auth-page>:nth-child(n+6),.home-hero-text>:nth-child(n+6),.not-found>:nth-child(n+6){animation-delay:calc(var(--stagger) * 5)}.home-hero .sample{animation:m-rise var(--dur-slow) var(--ease) .2s both}.home-hero .sample-btn{animation:shell-press .26s var(--ease) .62s}.home-hero .sample-out{animation:shell-ran .32s var(--ease) .76s both}.auth-aside>*{animation:m-rise var(--dur-slow) var(--ease) .16s both}.auth-path li{animation:m-rise var(--dur-slow) var(--ease) both;animation-delay:calc(.28s + var(--stagger) * var(--i, 0))}.auth-page .form-error{animation:shell-ran var(--dur-base) var(--ease) both,shell-shake .12s var(--ease) var(--dur-base) 2}.password .reveal{transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.password .reveal:active{transform:scale(.92)}.roadmap-jump-go{transition:color var(--dur-fast) var(--ease),translate var(--dur-fast) var(--ease)}.track-row-go{transition:color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),translate var(--dur-fast) var(--ease)}@media (hover:hover) and (pointer:fine){.nav .nav-link:not([aria-current=page]):after{content:"";position:absolute;inset-inline:var(--s3);bottom:calc((40px - var(--header-h)) / 2);height:2px;border-radius:2px 2px 0 0;background:var(--line-strong);opacity:0;transform:scaleX(.3);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-base) var(--ease)}.nav .nav-link:not([aria-current=page]):focus-visible:after,.nav .nav-link:not([aria-current=page]):hover:after{opacity:1;transform:scaleX(1)}.btn-brand:focus-visible:not(:disabled),.btn-brand:hover:not(:disabled){translate:0 -1px}.roadmap-jump a:focus-visible .roadmap-jump-go,.roadmap-jump a:hover .roadmap-jump-go,.track-row:focus-visible .track-row-go,.track-row:hover .track-row-go{translate:calc(var(--dir) * 3px) 0}.roadmap-jump a:focus-visible .roadmap-jump-go,.track-row:focus-visible .track-row-go{color:var(--ink)}}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.roadmap-head,.stage-block{animation:shell-reveal linear both;animation-timeline:view();animation-range:entry 0 entry 40%}}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}}@keyframes learn-ring{0%{opacity:0;transform:scale(1)}20%{opacity:.6}to{opacity:0;transform:scale(1.55)}}@keyframes learn-bump{45%{scale:1.04}}@keyframes learn-shake{25%{translate:calc(var(--dir) * 3px) 0}75%{translate:calc(var(--dir) * -3px) 0}}@keyframes learn-warn{0%{background-color:rgba(240,122,88,.16)}}@keyframes learn-picker{0%{opacity:0;scale:.95}}.cw-run.is-busy .cw-run-body{opacity:.7}@media (prefers-reduced-motion:no-preference){.lesson-layout,.track-page{animation:none}.lesson-head,.track-aside,.track-head{animation:m-rise var(--dur-slow) var(--ease) both}.track-aside{animation-delay:var(--stagger)}.lesson-rail{animation:m-fade var(--dur-slow) var(--ease) both}.lesson>:not(.lesson-head,.chat){animation:m-rise var(--dur-slow) var(--ease) calc(var(--stagger) * 2) backwards}.lesson>.breadcrumb{animation-delay:0s}.done-badge,.mastery-badge{animation:m-pop var(--dur-base) var(--ease) calc(var(--stagger) * 3) both}.path>li,.placement-questions>li,.placement-tracks>li,ol.ex-results>li{animation:m-rise var(--dur-slow) var(--ease) both;animation-delay:calc(var(--learn-i, 0) * var(--stagger))}.path>li{animation-delay:calc((var(--learn-i, 0) + 2) * var(--stagger))}.path>li,.placement-tracks>li{animation-name:m-fade}:is(.path,.ex-results,.placement-questions,.placement-tracks)>li:nth-child(2){--learn-i:1}:is(.path,.ex-results,.placement-questions,.placement-tracks)>li:nth-child(3){--learn-i:2}:is(.path,.ex-results,.placement-questions,.placement-tracks)>li:nth-child(4){--learn-i:3}:is(.path,.ex-results,.placement-questions,.placement-tracks)>li:nth-child(5){--learn-i:4}:is(.path,.ex-results,.placement-questions,.placement-tracks)>li:nth-child(n+6){--learn-i:5}.path .is-next .stop{position:relative}.path .is-next .stop:after{content:"";position:absolute;inset:-2px;border:2px solid var(--brand);border-radius:50%;opacity:0;pointer-events:none;animation:learn-ring 1.4s var(--ease) .7s 2 both}.path-go{transition:opacity var(--dur-fast) var(--ease),translate var(--dur-fast) var(--ease)}.path a:focus-visible .path-go{translate:calc(var(--dir) * 3px) 0}.lesson-rail a{transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.lesson-rail a[aria-current=page] .rail-num{animation:m-pop var(--dur-base) var(--ease) calc(var(--stagger) * 3) both}.sheet-nav .icon{transition:translate var(--dur-fast) var(--ease)}.sheet-nav .to-next:focus-visible .icon{translate:calc(var(--dir) * 3px) 0}.sheet-nav .to-prev:focus-visible .icon{translate:calc(var(--dir) * -3px) 0}.lesson .lesson-body .mcq-opt{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.lesson .lesson-body .mcq-opt:not(:disabled):active{transform:scale(.97)}.lesson .lesson-body .mcq-opt.is-right{animation:learn-bump .26s var(--ease)}.lesson .lesson-body .mcq-opt.is-wrong{animation:learn-shake .14s var(--ease) 2}.lesson .lesson-body .mcq.is-answered .mcq-why{animation:m-rise var(--dur-base) var(--ease) 80ms both}.lesson .lesson-body .cw-run:not([hidden]){position:relative;animation:m-rise var(--dur-base) var(--ease) both}.lesson .lesson-body .cw-run.is-busy:before{content:"";position:absolute;inset-inline:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:m-shimmer 1.1s linear infinite}.lesson .lesson-body .cw-run-body{transition:opacity var(--dur-fast) var(--ease)}.lesson .lesson-body .cw-run-body>*{animation:m-fade var(--dur-base) var(--ease) both}.lesson .lesson-body .cw-run-body.is-err{animation:learn-warn .6s var(--ease)}.lesson .lesson-body .cw-run-body>.cw-explain{animation-name:m-rise}.lesson .lesson-body .cw-btn{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.lesson .lesson-body .cw-btn:not(:disabled):active{transform:scale(.97)}.lesson .lesson-body .cw-btn.is-copied{animation:learn-bump .22s var(--ease)}.ex-hint,.ex-outcome{animation:m-rise var(--dur-base) var(--ease) both}.ex-solved{animation:m-pop var(--dur-base) var(--ease) both}.complete.is-changed .btn-outline{animation:learn-bump .28s var(--ease)}.complete .hint{animation:m-fade var(--dur-base) var(--ease) both}.note-picker{transform-origin:50% calc(100% + 8px);animation:learn-picker .16s var(--ease) both}.note-list>li,.review-back,.review-front{animation:m-rise var(--dur-base) var(--ease) both}.review-grades,.review-options{animation:m-fade var(--dur-base) var(--ease) var(--stagger) both}.review-option{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.review-option:not(:disabled):active{transform:scale(.98)}.review-option.is-right{animation:learn-bump .26s var(--ease)}.review-option.is-wrong{animation:learn-shake .14s var(--ease) 2}.review-done{animation:m-pop var(--dur-slow) var(--ease) both}.placement-option{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.placement-option:active{transform:scale(.98)}.placement-result{animation:m-rise var(--dur-slow) var(--ease) both}@media (hover:hover) and (pointer:fine){.path a:hover .path-go,.sheet-nav .to-next:hover .icon{translate:calc(var(--dir) * 3px) 0}.sheet-nav .to-prev:hover .icon{translate:calc(var(--dir) * -3px) 0}}}@media (hover:hover) and (pointer:fine){.lesson .lesson-body .cw-btn.is-ghost:hover{border-color:var(--ink-2);background:var(--surface-2)}.lesson .lesson-body .cw-btn:not(.is-ghost):not(.cw-go):hover{background:color-mix(in srgb,var(--brand) 88%,var(--ink))}.lesson .lesson-body .cw-btn.cw-go:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent) 88%,var(--ink));background:color-mix(in srgb,var(--accent) 88%,var(--ink))}}@supports selector(::details-content){@media (prefers-reduced-motion:no-preference){.ex-printed,.ex-setup,.lesson-body details,.lesson-rail details{interpolate-size:allow-keywords}.ex-printed::details-content,.ex-setup::details-content,.lesson-body details::details-content,.lesson-rail details::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size var(--dur-base) var(--ease),opacity var(--dur-base) var(--ease),content-visibility var(--dur-base) var(--ease) allow-discrete}.ex-printed[open]::details-content,.ex-setup[open]::details-content,.lesson-body details[open]::details-content,.lesson-rail details[open]::details-content{block-size:auto;opacity:1}}}@keyframes acct-pop{0%{opacity:0;transform:scale(.96)}}@keyframes acct-met{40%{scale:1.06}}@keyframes acct-check{0%{opacity:0;scale:.5}}@media (prefers-reduced-motion:no-preference){.dashboard,.profile,.saved-page,.search-page{animation:none}.board-head,.board-practice>*,.board-top>.resume-card,.board-top>.stat-panel,.id-card,.profile-main>.panel,.saved-list li,.search-results li{animation:m-rise var(--dur-slow) var(--ease) both;animation-delay:calc(var(--i, 0) * var(--stagger))}.board-top>.resume-card{--i:1}.board-top>.stat-panel{--i:2}.board-practice>:first-child{--i:3}.board-practice>:nth-child(2){--i:4}.board-practice>:nth-child(n+3){--i:5}.profile-main>.panel:first-child,.saved-list li:nth-child(2),.search-results li:nth-child(2){--i:1}.profile-main>.panel:nth-child(2),.saved-list li:nth-child(3),.search-results li:nth-child(3){--i:2}.profile-main>.panel:nth-child(3),.saved-list li:nth-child(4),.search-results li:nth-child(4){--i:3}.profile-main>.panel:nth-child(n+4),.saved-list li:nth-child(5),.search-results li:nth-child(5){--i:4}.saved-list li:nth-child(n+6),.search-results li:nth-child(n+6){--i:5}.resume-card{transition:border-color var(--dur-fast) var(--ease),translate var(--dur-base) var(--ease),scale var(--dur-fast) var(--ease)}.resume-card .btn .icon{transition:translate var(--dur-fast) var(--ease)}a.resume-card:active{scale:.99}.goal-pick{animation:m-rise var(--dur-base) var(--ease) both}.goal-pick button{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),scale var(--dur-fast) var(--ease)}.goal-pick button:active{scale:.92}.goal-pick button.is-on{animation:acct-pop var(--dur-base) var(--ease) 80ms both}.week-dots li.is-on{animation:acct-pop var(--dur-base) var(--ease) both;animation-delay:calc(var(--stagger) * 3 + var(--i, 0) * var(--stagger))}.week-dots li{--i:0}.week-dots li:nth-child(2){--i:1}.week-dots li:nth-child(3){--i:2}.week-dots li:nth-child(4){--i:3}.week-dots li:nth-child(5){--i:4}.week-dots li:nth-child(n+6){--i:5}.goal-line.is-met{transform-origin:left center;animation:acct-met .52s var(--ease) .5s 1}[dir=rtl] .goal-line.is-met{transform-origin:right center}.progress-list li{animation:m-fade var(--dur-slow) var(--ease) both;animation-delay:calc(var(--stagger) * 3 + var(--i, 0) * 30ms);--i:0}.progress-list li:nth-child(2){--i:1}.progress-list li:nth-child(3){--i:2}.progress-list li:nth-child(4){--i:3}.progress-list li:nth-child(5){--i:4}.progress-list li:nth-child(n+6){--i:5}.accent-swatch{transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),translate var(--dur-fast) var(--ease),scale var(--dur-fast) var(--ease)}.accent-swatch:active{scale:.97}.accent-swatch[aria-checked=true] .accent-dot .icon{animation:acct-check var(--dur-base) var(--ease) both}.form-error,.form-ok{animation:m-rise var(--dur-base) var(--ease) both}.cropper-backdrop,.photo-field .avatar{animation:m-fade var(--dur-base) var(--ease) both}.cropper{animation:acct-pop var(--dur-base) var(--ease) both}.saved-list a,.search-results a{transition:border-color var(--dur-fast) var(--ease),translate var(--dur-base) var(--ease)}.saved-list a>.icon:last-child{transition:translate var(--dur-fast) var(--ease)}.chat-launcher:active{transform:scale(.95)}.chat-send{transition:opacity var(--dur-fast) var(--ease),scale var(--dur-fast) var(--ease)}.chat-send:active:not(:disabled){scale:.92}.chat-list .chat-msg{animation:m-rise var(--dur-base) var(--ease) both}.chat-list>.chat-msg:nth-child(2){animation-delay:var(--stagger)}.chat-list>.chat-msg:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.chat-list>.chat-msg:nth-child(4){animation-delay:calc(var(--stagger) * 3)}dialog.shortcuts{opacity:0;transform:scale(.96);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),overlay var(--dur-fast) var(--ease) allow-discrete,display var(--dur-fast) var(--ease) allow-discrete}dialog.shortcuts[open]{opacity:1;transform:none;transition-duration:var(--dur-base)}@starting-style{dialog.shortcuts[open]{opacity:0;transform:scale(.96)}}dialog.shortcuts::-webkit-backdrop{opacity:0;-webkit-transition:opacity var(--dur-fast) var(--ease),overlay var(--dur-fast) var(--ease) allow-discrete,display var(--dur-fast) var(--ease) allow-discrete;transition:opacity var(--dur-fast) var(--ease),overlay var(--dur-fast) var(--ease) allow-discrete,display var(--dur-fast) var(--ease) allow-discrete}dialog.shortcuts::backdrop{opacity:0;transition:opacity var(--dur-fast) var(--ease),overlay var(--dur-fast) var(--ease) allow-discrete,display var(--dur-fast) var(--ease) allow-discrete}dialog.shortcuts[open]::-webkit-backdrop{opacity:1;transition-duration:var(--dur-base)}dialog.shortcuts[open]::backdrop{opacity:1;transition-duration:var(--dur-base)}@starting-style{dialog.shortcuts[open]::-webkit-backdrop{opacity:0}dialog.shortcuts[open]::backdrop{opacity:0}}@media (hover:hover) and (pointer:fine){.saved-list a:focus-visible,.saved-list a:hover,.search-results a:focus-visible,.search-results a:hover,a.resume-card:focus-visible,a.resume-card:hover{translate:0 -2px}a.resume-card:hover .btn-brand{background:color-mix(in srgb,var(--brand) 88%,#000)}.saved-list a:focus-visible>.icon:last-child,.saved-list a:hover>.icon:last-child,a.resume-card:focus-visible .btn .icon,a.resume-card:hover .btn .icon{translate:calc(var(--dir) * 3px) 0}.accent-swatch:focus-visible,.accent-swatch:hover{translate:0 -1px}}}:root{--dir:1;--dur-fill:760ms;--stagger:45ms}[dir=rtl]{--dir:-1}@keyframes m-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes m-fade{0%{opacity:0}}@keyframes m-pop{0%{opacity:0;transform:scale(.95)}}@keyframes m-fill{0%{transform:scaleX(0)}}@keyframes m-shimmer{0%{transform:translateX(calc(var(--dir) * -100%))}to{transform:translateX(calc(var(--dir) * 100%))}}@media (prefers-reduced-motion:no-preference){.meter i{transform-origin:left center;animation:m-fill var(--dur-fill) var(--ease) both}[dir=rtl] .meter i{transform-origin:right center}}