.practice{--practice-fill:#9bacff;--practice-empty:#171b26;--practice-stroke:#667085;border:1px solid var(--line-strong);color:var(--ink-soft);overflow-wrap:anywhere;background:linear-gradient(145deg,#151923 0%,#0f1011 48%);border-radius:22px;margin:2rem 0 3rem;padding:clamp(1.1rem,4vw,2.25rem);box-shadow:0 22px 70px #0003}.practice h2{letter-spacing:-.035em;margin:.5rem 0 1rem;font-size:clamp(1.5rem,3vw,2rem)}.practice h2:focus{outline:none}.practice h3{margin:1.4rem 0 .7rem}.practice p{max-width:72ch}.practice-eyebrow{letter-spacing:.13em;color:var(--brand-bright);font-size:.75rem;font-weight:700}.practice-note{color:var(--ink-faint);font-size:.86rem;line-height:1.65}.practice-facts{flex-wrap:wrap;gap:1rem 2rem;margin:1.4rem 0;display:flex}.practice-facts span{color:var(--ink-faint);flex-direction:column;font-size:.85rem;display:flex}.practice-facts strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.6rem}.practice fieldset{border:0;margin:1.2rem 0;padding:0}.practice legend{color:var(--ink);margin-bottom:.5rem;font-weight:600}.practice-mode label{cursor:pointer;padding:.6rem 0;display:block}.practice input[type=radio]{accent-color:var(--brand-bright);vertical-align:middle;flex:0 0 18px;width:18px;height:18px;margin:0 .65rem 0 0}.practice button,.practice-actions a,.practice-primary{font:inherit;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:12px;min-height:44px;padding:.8rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none}.practice button:hover{background:var(--surface-3)}.practice .practice-primary{color:#fff;background:#6677e8;border-color:#8a98f2;box-shadow:0 3px #35439d}.practice .practice-primary:hover{background:#7787f2}.practice button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.practice button:focus-visible,.practice input:focus-visible,.practice textarea:focus-visible,.practice label:has(input:focus-visible){outline:2px solid var(--brand-bright);outline-offset:4px}.practice-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin:1.4rem 0;display:flex}.practice-toolbar{font-variant-numeric:tabular-nums;color:var(--ink);justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.practice progress{width:100%;height:6px;accent-color:var(--brand-bright);margin:1rem 0 1.25rem}.practice-passage{border-left:3px solid var(--brand-bright);background:var(--surface-2);margin:1rem 0;padding:1rem 1.25rem;font-style:normal;line-height:1.75}.practice-prompt{color:var(--ink);font-size:1.1rem;font-weight:600;line-height:1.65}.practice-options{gap:.65rem;display:grid}.practice-options>label{border:1px solid var(--line-strong);cursor:pointer;background:#ffffff03;border-radius:12px;align-items:center;gap:.5rem;min-height:54px;padding:1rem;display:flex}.practice-options>label:hover{background:#ffffff07}.practice-options>label.is-selected{border-color:var(--brand-bright);background:#8fa6ff12}.practice-options--visual{grid-template-columns:repeat(4,1fr)}.practice-options--visual>label{flex-wrap:wrap;padding:.75rem}.practice-options--visual .practice-panel{width:100%;margin:.3rem 0}.practice-panel{max-width:120px;margin:0}.practice-panel svg{aspect-ratio:1;width:100%;display:block}.practice-panel figcaption{margin-top:.4rem;font-size:.7rem;line-height:1.2}.practice-diagram{align-items:center;gap:clamp(.4rem,2vw,1rem);max-width:620px;margin:1.5rem 0;display:flex}.practice-diagram .practice-panel,.practice-missing{flex:1;min-width:0}.practice-missing{text-align:center;aspect-ratio:1;border:1px dashed var(--practice-stroke);max-width:120px;color:var(--brand-bright);border-radius:10px;place-items:center;font-size:2rem;display:grid}.practice-diagram--matrix{background:#ffffff03;border-radius:12px;grid-template-columns:repeat(3,1fr);max-width:320px;padding:1rem;display:grid}.practice-net{max-width:200px;margin:1.5rem auto}.practice-net svg{width:100%}.practice-table-wrap{border:1px solid var(--line-strong);border-radius:12px;margin:1rem 0;overflow:auto}.practice table{width:100%;margin:0;font-size:.9rem}.practice caption{text-align:left;color:var(--ink-faint);padding:.8rem;font-size:.8rem}.practice th,.practice td{white-space:nowrap;padding:.65rem .8rem}.practice-compare{grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;display:grid}.practice-compare>div{background:var(--surface-2);border-radius:12px;min-width:0;padding:1rem}.practice-compare span{color:var(--ink-faint);margin-bottom:.7rem;font-size:.75rem;display:block}.practice-compare code{font-variant-ligatures:none;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;padding:0;font-size:clamp(.8rem,2vw,1rem)}.practice input:not([type=radio]),.practice textarea{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;resize:vertical;background:#0a0c10;border:1px solid #596170;border-radius:10px;margin:.6rem 0;padding:.9rem;display:block}.practice input::placeholder{color:#9a9fad}.practice .practice-formula{font-family:ui-monospace,monospace}.practice-source{background:var(--surface-2);border-radius:10px;padding:1rem}.practice-navigation{border-top:1px solid var(--line-strong);flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;padding-top:1.4rem;display:flex}.practice-navigation button{width:44px;padding:.3rem;font-size:.85rem}.practice-navigation .is-answered{background:#8fa6ff16;border-color:#6471b5}.practice-navigation [aria-current]{outline:2px solid var(--brand-bright);outline-offset:1px}.practice-review{border:1px solid var(--line-strong);border-radius:10px;margin:.6rem 0;padding:.8rem 1rem}.practice-review summary{cursor:pointer;color:var(--ink);min-height:28px;font-weight:600}.practice-review p{font-size:.92rem}.practice-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reaction-pad{touch-action:manipulation;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;display:flex;min-height:260px!important}.practice .reaction-pad[data-phase=waiting]{background:#552330;border-color:#ab6478}.practice .reaction-pad[data-phase=go]{background:#146844;border-color:#68d9a2}.reaction-pad strong{font-size:2rem}.reaction-pad span{font-weight:400}.reaction-trials{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.reaction-trials span{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:8px;padding:.5rem .7rem}.memory-grid{gap:.6rem;max-width:430px;margin:1.5rem auto;display:grid}.practice .memory-cell{aspect-ratio:1;min-height:48px;box-shadow:none;opacity:1;background:#222838;border:2px solid #536078;border-radius:10px;padding:0;font-size:1.1rem}.practice .memory-cell[data-lit=true]{color:#152044;background:#b1beff;border-color:#d4dcff}.practice .memory-cell[data-picked=true]{color:#fff;background:#20563f;border-color:#78cca4}.practice .memory-cell[data-wrong=true]{color:#fff;background:#782e43;border-color:#e889a1}.memory-status{text-align:center;min-height:3rem}.memory-grid[aria-disabled=true]{pointer-events:none}@media (width<=560px){.practice-options--visual{grid-template-columns:repeat(2,1fr)}.practice-compare{grid-template-columns:1fr;gap:.5rem}.practice-actions button,.practice-actions a{text-align:center;flex:1}.practice-share{padding:1rem}.practice-diagram--panels{flex-wrap:wrap}.practice-diagram--panels .practice-panel,.practice-diagram--panels .practice-missing{flex:0 0 calc(25% - .6rem)}.practice th,.practice td{padding:.5rem}.practice-toolbar{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.practice *{scroll-behavior:auto!important;transition:none!important}}.practice-actions a:not(.practice-primary){background:var(--surface-2)}.result h2{margin:.2rem 0 .25rem;font-size:1.35rem}.result-meta{color:var(--ink-faint);margin:0;font-size:.9rem}.result-body{border:1px solid var(--line-strong);background:#ffffff04;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.2rem 2.5rem;margin:1.3rem 0 1.1rem;padding:1.3rem 1.5rem;display:grid}.result-score{flex-direction:column;min-width:8.5rem;display:flex}.result-score strong{letter-spacing:-.05em;color:#b9c4ff;font-variant-numeric:tabular-nums;font-size:clamp(3.2rem,7vw,4.4rem);line-height:1}.result-score span{color:var(--ink);margin-top:.15rem;font-size:1rem}.result-score small{color:var(--ink-faint);margin-top:.4rem;font-size:.85rem}.result-skills{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.result-skills li{grid-template-columns:minmax(7rem,11rem) minmax(0,1fr) 3.2rem;grid-template-areas:"name bar count";align-items:center;gap:.75rem;font-size:.9rem;display:grid}.result-skill-name{color:var(--ink-soft);grid-area:name}.result-skill-count{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);grid-area:count}.result-bar{background:#ffffff14;border-radius:999px;grid-area:bar;height:8px;overflow:hidden}.result-bar i{background:var(--brand-bright);border-radius:999px;height:100%;display:block}.practice-share{border:1px solid var(--line-strong);background:#ffffff04;border-radius:14px;margin:1.5rem 0;padding:1.4rem}.practice-share h3{margin-top:0}.practice-share label{font-size:.9rem;font-weight:600}.practice-share label span{color:var(--ink-faint);font-weight:400}.share-form{flex-wrap:wrap;align-items:flex-end;gap:.6rem .8rem;margin:.4rem 0 .2rem;display:flex}.share-field{flex:16rem}.share-field input{margin-bottom:0}.share-form .practice-primary{flex:none;margin-bottom:0}.share-done{gap:1rem;display:grid}.share-side h3{text-align:center;margin-bottom:.7rem}.share-primary{justify-content:center;margin:0 0 .7rem;display:flex}.share-primary .practice-primary{text-align:center;width:min(100%,24rem);padding:.9rem 1.4rem;font-size:1rem}.share-secondary{justify-content:center}.share-side .practice-actions{margin:0 0 1rem}.practice-card-preview{border:1px solid var(--line-strong);background:#0b0c0f;border-radius:10px;max-width:420px;margin:0 auto;line-height:0;display:block;overflow:hidden}.practice-card-preview img{width:100%;height:auto}@media (width<=640px){.result-body{grid-template-columns:1fr;gap:1rem}.result-skills li{grid-template-columns:minmax(0,1fr) 3.2rem;grid-template-areas:"name count""bar bar";gap:.35rem .75rem}}.result-score--text{letter-spacing:-.02em!important;font-size:clamp(1.5rem,4vw,2rem)!important;line-height:1.15!important}.result-skill--plain{grid-template-columns:minmax(7rem,1fr) auto;grid-template-areas:"name count"}.explorer{border:1px solid var(--line);background:var(--paper-alt);border-radius:18px;margin:2rem 0;padding:clamp(1.1rem,4vw,2.5rem);box-shadow:0 12px 35px #00000009}.explorer h2{margin:.3rem 0 1rem}.explorer h2:focus,.explorer legend:focus{outline:none}.ex-eyebrow{letter-spacing:.14em;color:var(--brand-bright);font-size:.75rem;font-weight:700}.ex-format{font-weight:600}.ex-muted,.ex-credit{color:var(--ink-soft);font-size:.86rem}.ex-credit{border-top:1px solid var(--line);margin:2rem 0 0;padding-top:1rem}.explorer fieldset{border:0;margin:1.4rem 0;padding:0}.explorer legend{margin-bottom:1rem;font-size:1.2rem;font-weight:650;line-height:1.5}.explorer label{margin:.6rem 0;display:block}.explorer input[type=radio],.explorer input[type=checkbox]{accent-color:var(--brand);width:1.1rem;height:1.1rem;margin-right:.65rem}.explorer input:not([type=radio]):not([type=checkbox]),.explorer textarea{box-sizing:border-box;border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:8px;margin:.5rem 0 1rem;padding:.8rem;display:block}.explorer button,.explorer .ex-primary{border:1px solid var(--line);min-height:46px;font:inherit;background:var(--paper);color:var(--ink);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:.8rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.explorer .ex-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.explorer button:disabled{opacity:.5;cursor:default}.explorer button:hover:not(:disabled){filter:brightness(1.08)}.explorer button:focus-visible,.explorer a:focus-visible,.explorer input:focus-visible,.explorer textarea:focus-visible{outline:3px solid var(--brand-bright);outline-offset:3px}.ex-options{gap:.5rem;display:grid}.ex-options label{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:10px;margin:0;padding:1rem}.ex-options label.selected{border-color:var(--brand-bright);box-shadow:inset 3px 0 var(--brand-bright)}.ex-options label:focus-within{outline:2px solid var(--brand-bright)}.ex-actions,.ex-status,.ex-progress{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.ex-actions{justify-content:flex-start;margin:1.4rem 0}.ex-status h2{font-size:1.05rem}.ex-status>span,.ex-progress{font-variant-numeric:tabular-nums;font-size:.9rem}.ex-progress progress{width:min(200px,100%);accent-color:var(--brand)}.ex-stimulus{letter-spacing:.03em;color:#171c2b;background:#fff;border:1px solid #ccd0d8;border-radius:14px;justify-content:center;align-items:center;min-height:220px;margin:1.5rem 0;font-size:clamp(3rem,10vw,5rem);font-weight:750;display:flex}.ex-colours{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.ex-swatches{background:#fff;border-radius:10px;flex-wrap:wrap;gap:1rem;padding:1rem;font-weight:700;display:flex}.ex-board{background:#1f2333;border-radius:14px;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,1.3vw,12px);max-width:610px;margin:1rem auto;padding:1rem;display:grid}.ex-board button,.ex-board span{aspect-ratio:1;border:0;min-height:0;padding:0;font-size:clamp(1rem,4vw,1.7rem)}.ex-board button{color:#1d2543;background:#f5f6ff}.ex-board button:focus-visible{outline-color:#c9c4ff}.ex-between{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;display:flex}.ex-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0;display:grid}.ex-metrics>div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1rem}.ex-metrics dt{color:var(--ink-soft);font-size:.9rem}.ex-metrics dd{margin:.35rem 0;font-size:1.4rem;font-weight:650}.ex-metrics meter{width:100%;height:12px;accent-color:var(--brand)}.ex-share{border-top:1px solid var(--line);margin:2rem 0;padding-top:1rem}.ex-share p{font-size:.9rem}.ex-share img{border-radius:12px;width:100%;height:auto}.explorer .ex-quit{margin-top:2rem;font-size:.85rem}.ex-share textarea{font-size:.78rem}@media (width<=480px){.ex-metrics{grid-template-columns:1fr}.ex-colours{grid-template-columns:repeat(2,1fr)}.ex-board{padding:.6rem}.ex-status{align-items:flex-start}.ex-stimulus{min-height:170px}}.ex-metrics meter::-webkit-meter-bar{background:var(--line-strong);border:0}.ex-metrics meter::-webkit-meter-optimum-value{background:var(--brand-bright)}
