:root{--typescale-ratio: 1.2;--typo-body-family: "Inter", system-ui, sans-serif;--typo-heading-family: "Lora", georgia, serif;--typo-body-weight-default: 400;--typo-heading-weight-default: 600;--typo-line-height: 1.5;--typo-letter-spacing: 0;--typo-size-xs: clamp(.607rem, .558rem + .25vw, .781rem);--typo-size-small: clamp(.729rem, .669rem + .3vw, .937rem);--typo-size-default: clamp(.875rem, .804rem + .36vw, 1.125rem);--typo-size-sm-md: clamp(1.05rem, .964rem + .43vw, 1.35rem);--typo-size-md: clamp(1.26rem, 1.157rem + .51vw, 1.62rem);--typo-size-lg: clamp(1.512rem, 1.389rem + .62vw, 1.944rem);--typo-size-xl: clamp(1.815rem, 1.667rem + .74vw, 2.333rem);--typo-size-xxl: clamp(2.177rem, 1.999rem + .89vw, 2.799rem);--typo-size-display: clamp(2.613rem, 2.399rem + 1.07vw, 3.359rem)}@function --fluid-size(--min <length>,--max <length>,--min-vw <length>: 20rem,--max-vw <length>: 90rem) returns <length>{result: clamp(var(--min),var(--min) + (var(--max) - var(--min)) * (100vw - var(--min-vw)) / (var(--max-vw) - var(--min-vw)),var(--max));}.typo-xs{font-family:var(--typo-body-family);font-size:var(--typo-size-xs);font-size:--fluid-size(.607rem,.781rem);font-weight:var(--typo-body-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-small{font-family:var(--typo-body-family);font-size:var(--typo-size-small);font-size:--fluid-size(.729rem,.937rem);font-weight:var(--typo-body-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-default{font-family:var(--typo-body-family);font-size:var(--typo-size-default);font-size:--fluid-size(.875rem,1.125rem);font-weight:var(--typo-body-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-sm-md{font-family:var(--typo-heading-family);font-size:var(--typo-size-sm-md);font-size:--fluid-size(1.05rem,1.35rem);font-weight:var(--typo-heading-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-md{font-family:var(--typo-heading-family);font-size:var(--typo-size-md);font-size:--fluid-size(1.26rem,1.62rem);font-weight:var(--typo-heading-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-lg{font-family:var(--typo-heading-family);font-size:var(--typo-size-lg);font-size:--fluid-size(1.512rem,1.944rem);font-weight:var(--typo-heading-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-xl{font-family:var(--typo-heading-family);font-size:var(--typo-size-xl);font-size:--fluid-size(1.815rem,2.333rem);font-weight:var(--typo-heading-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-xxl{font-family:var(--typo-heading-family);font-size:var(--typo-size-xxl);font-size:--fluid-size(2.177rem,2.799rem);font-weight:var(--typo-heading-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}.typo-display{font-family:var(--typo-heading-family);font-size:var(--typo-size-display);font-size:--fluid-size(2.613rem,3.359rem);font-weight:var(--typo-heading-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height)}@property --meter-fill{inherits: false; initial-value: 0%; syntax: "<percentage>";}:root{color-scheme:light dark;--font-code: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", menlo, consolas, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--radius: .5rem;--page-max: 80rem;--color-bg: #faf9f7;--color-surface: #fff;--color-text: #23211e;--color-muted: #6d675e;--color-border: #ddd8d0;--color-accent: #0d6e5f;--color-accent-contrast: #fff;--color-correct: #0d6e5f;--color-incorrect: #b3382c;--color-meter-track: #e8e4dd;--color-code-bg: #24292e;--color-code-text: #e1e4e8;--code-keyword: #f97583;--code-string: #9ecbff;--code-title: #b392f0;--code-number: #79b8ff;--code-comment: #8b949e;--code-builtin: #ffab70;--color-code-problem: rgb(255 171 112 / 16%)}@media(prefers-color-scheme:dark){:root{--color-bg: #16181d;--color-surface: #1e2128;--color-text: #e7e9ec;--color-muted: #9aa1ab;--color-border: #343943;--color-accent: #4cc2ad;--color-accent-contrast: #10231f;--color-correct: #4cc2ad;--color-incorrect: #f2867a;--color-meter-track: #2a2e37;--color-code-bg: #14161a}}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--typo-body-family);font-size:var(--typo-size-default);font-weight:var(--typo-body-weight-default);letter-spacing:var(--typo-letter-spacing);line-height:var(--typo-line-height);margin:0}h1,h2,h3{font-family:var(--typo-heading-family);font-weight:var(--typo-heading-weight-default);line-height:1.2;margin-block:0 var(--space-2)}h1{font-size:var(--typo-size-xl)}h2{font-size:var(--typo-size-md)}h3{font-size:var(--typo-size-sm-md)}.site-header{border-block-end:.0625rem solid var(--color-border)}.site-header h1{margin-block-end:var(--space-1)}.tagline,.results-note,.site-footer{color:var(--color-muted)}.tagline{margin-block:0;max-inline-size:90ch}.site-footer{border-block-start:.0625rem solid var(--color-border);font-size:var(--typo-size-small)}.layout{display:grid;grid-template-columns:minmax(0,1fr)}.site-header,.site-footer,.layout,.refresher-layout{padding-inline:max(var(--page-pad),calc((100% - var(--page-max)) / 2))}.visually-hidden{block-size:.0625rem;clip-path:inset(50%);inline-size:.0625rem;margin:-.0625rem;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.gym-card{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);display:block;overflow:hidden}.snippet-scroll{background:var(--color-code-bg);overflow-x:auto}.snippet{color:var(--color-code-text);font-family:var(--font-code);font-size:.875rem;line-height:1.6;margin:0;padding:var(--space-3)}.snippet code{font-family:inherit}.hljs-keyword,.hljs-literal{color:var(--code-keyword)}.hljs-string,.hljs-regexp{color:var(--code-string)}.hljs-title,.hljs-title.function_,.hljs-title.class_{color:var(--code-title)}.hljs-number{color:var(--code-number)}.hljs-comment{color:var(--code-comment);font-style:italic}.hljs-built_in,.hljs-type,.hljs-attr{color:var(--code-builtin)}.predict-form{display:grid;gap:var(--space-3);padding:var(--space-3)}.complexity-options{border:none;display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0}.complexity-options legend{font-weight:600;margin-block-end:var(--space-2);padding:0}.complexity-option{align-items:center;border:.0625rem solid var(--color-border);border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:var(--font-code);font-size:.875rem;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.complexity-option:has(input:checked){border-color:var(--color-accent);outline:.0625rem solid var(--color-accent)}.shape-field{display:grid;gap:var(--space-1)}.shape-field label{font-weight:600}.shape-field select{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font:inherit;max-inline-size:100%;padding:var(--space-2)}button.primary{background:var(--color-accent);border:none;border-radius:var(--radius);color:var(--color-accent-contrast);cursor:pointer;font:inherit;font-weight:600;justify-self:start;padding:var(--space-2) var(--space-4)}button.primary:hover{filter:brightness(1.1)}.reveal{display:grid;gap:var(--space-3);padding:var(--space-3)}.reveal h3{margin:0}.reveal-results{display:grid;gap:var(--space-2);margin:0}.reveal-results dt{color:var(--color-muted);font-size:var(--typo-size-small);font-weight:600}.reveal-results dd{margin:0}.reveal-results .correct dd{color:var(--color-correct)}.reveal-results .incorrect dd{color:var(--color-incorrect)}.explanation{background:var(--color-bg);border-inline-start:.1875rem solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;margin:0;padding:var(--space-3)}.cta-link{background:var(--color-accent);border-radius:var(--radius);color:var(--color-accent-contrast);display:inline-block;font-weight:600;padding:var(--space-2) var(--space-4);text-decoration:none}.cta-link:hover{filter:brightness(1.1)}.review-link a{color:var(--color-accent);font-weight:600}.refresher-cta{margin-block:var(--space-3) 0}.review-link{margin:0}.breadcrumb{margin-block-end:var(--space-3)}.refresher-layout{display:grid;grid-template-columns:minmax(0,1fr)}bigo-gym-refresher{display:contents}.refresher-card,.refresher-primer{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);scroll-margin-block-start:var(--space-3)}.refresher-card:target,.refresher-primer:target{border-color:var(--color-accent);outline:.0625rem solid var(--color-accent)}.refresher-card h2,.refresher-primer h2{font-size:var(--typo-size-sm-md);margin-block-end:var(--space-3)}.refresher-card p,.refresher-primer p{margin-block:var(--space-3) 0;max-inline-size:72ch}.refresher-primer .table-scroll{margin-block-start:var(--space-3)}.refresher-tip{background:var(--color-bg);border-inline-start:.1875rem solid var(--color-accent);border-radius:var(--radius);margin-block-start:var(--space-3);padding:var(--space-3)}.refresher-tip h3{font-size:var(--typo-size-small);letter-spacing:.03em;margin:0;text-transform:uppercase}.refresher-primer .refresher-tip p{margin-block-start:var(--space-2)}.refresher-tip code{font-family:var(--font-code);white-space:nowrap}.primer-table{border-collapse:collapse;font-size:var(--typo-size-small);inline-size:100%}.primer-table th,.primer-table td{border-block-end:.0625rem solid var(--color-border);padding:var(--space-2);text-align:start;vertical-align:top}.primer-table thead th{color:var(--color-muted);font-weight:600}.primer-table tbody th code{font-family:var(--font-code);white-space:nowrap}.class-name{color:var(--color-muted);display:block;font-weight:400;margin-block-start:var(--space-1)}.primer-table .at-scale{font-variant-numeric:tabular-nums;white-space:nowrap}.example-pair{display:grid;gap:var(--space-3);margin-block-start:var(--space-3)}.example-pair figure{margin:0;min-inline-size:0}.example-pair figcaption{color:var(--color-muted);font-size:var(--typo-size-small);font-weight:600;margin-block-end:var(--space-1)}.example-pair .snippet-scroll{border-radius:var(--radius)}.example-pair .snippet{font-size:.8125rem}.demo{display:grid;gap:var(--space-3);margin-block-start:var(--space-3)}.demo .example-pair{align-items:stretch;margin-block-start:0}.demo .example-pair figure{display:flex;flex-direction:column}.demo .example-pair .snippet-scroll{flex:1 1 auto}.demo .example-pair .snippet{block-size:100%}.demo .snippet code,.code-line{display:block}.code-line-flagged{background:var(--color-code-problem);box-shadow:inset .1875rem 0 0 0 var(--code-builtin)}.demo-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.demo-toggle{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font:inherit;font-weight:600;padding:var(--space-2) var(--space-4)}.demo-toggle[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.demo-hint{color:var(--color-muted);font-size:var(--typo-size-small);margin:0}.demo-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.demo-controls label{font-weight:600}.demo-controls input[type=range]{accent-color:var(--color-accent);flex:1 1 12rem;min-inline-size:0}.demo-controls output{font-family:var(--font-code);font-variant-numeric:tabular-nums;min-inline-size:3ch;text-align:end}.demo-results{background:var(--color-bg);border:.0625rem solid var(--color-border);border-radius:var(--radius);display:grid;gap:var(--space-2);padding:var(--space-3)}.demo-results dl{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.demo-results dt{color:var(--color-muted);font-size:var(--typo-size-small);font-weight:600}.demo-results dd{margin:0}.demo-results dd strong{font-family:var(--font-code);font-size:var(--typo-size-md);font-variant-numeric:tabular-nums}.demo-note{color:var(--color-muted);font-size:var(--typo-size-small);margin:0;max-inline-size:72ch}.table-scroll{overflow-x:auto}.stats-table{border-collapse:collapse;font-size:var(--typo-size-small);inline-size:100%}.stats-table th,.stats-table td{border-block-end:.0625rem solid var(--color-border);padding:var(--space-2);text-align:start;vertical-align:top}.stats-table thead th{color:var(--color-muted);font-weight:600}.stats-table tbody th{font-weight:500}.stats-table tbody th a{color:inherit;text-decoration-color:var(--color-border);text-underline-offset:.2em}.stats-table tbody th a:hover{color:var(--color-accent)}.stats-table .num{min-inline-size:6rem}.not-practiced-row{color:var(--color-muted)}.accuracy-value{display:block;font-variant-numeric:tabular-nums}.meter{background:linear-gradient(to right,var(--color-accent) var(--meter-fill),transparent var(--meter-fill)) var(--color-meter-track);block-size:.375rem;border-radius:100vmax;display:block;inline-size:100%;margin-block-start:var(--space-1);transition:--meter-fill .4s ease-out}@media(width<40em){:root{--page-pad: var(--space-3)}.site-header,.site-footer{padding-block:var(--space-3)}.layout,.refresher-layout{gap:var(--space-4);padding-block:var(--space-3)}.refresher-card,.refresher-primer{padding:var(--space-3)}.primer-table{min-inline-size:44rem}.stats-table{min-inline-size:34rem}}@media(40em<=width<60em){:root{--page-pad: var(--space-5)}.site-header,.site-footer{padding-block:var(--space-4)}.layout,.refresher-layout{gap:var(--space-5);padding-block:var(--space-4)}.refresher-card,.refresher-primer{padding:var(--space-4)}.example-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(width>=60em){:root{--page-pad: var(--space-5)}.site-header,.site-footer{padding-block:var(--space-4)}.layout,.refresher-layout{gap:var(--space-5);padding-block:var(--space-5)}.refresher-card,.refresher-primer{padding:var(--space-5)}.example-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
