body{background:var(--page-bg);color:var(--color-text)}.wordmark{font-family:var(--font-wordmark), var(--font-sans);letter-spacing:-.03em;font-weight:400}.site-header{z-index:20;background:color-mix(in srgb, var(--page-bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;max-width:880px;height:56px;margin:0 auto;padding:0 16px;display:flex;position:sticky;top:0}.site-header__brand{font-size:15px;line-height:20px}.site-header__brand span{color:var(--color-text-tertiary)}.site-header__actions{align-items:center;gap:4px;display:flex}.site-header__icon.ds-theme-toggle{border-radius:var(--radius-full);place-items:center;width:32px;height:32px;display:grid}.site-header__icon.ds-theme-toggle:hover{background:var(--color-surface-secondary)}.site-header__lang{border-radius:var(--radius-full);color:var(--color-text-secondary);padding:6px 10px;font-size:13px;line-height:18px}.site-header__lang:hover{background:var(--color-surface-secondary);color:var(--color-text)}.lang-hint{justify-content:flex-end;max-width:880px;margin:0 auto;padding:4px 16px 0;display:flex}.lang-hint__pill{border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:var(--color-surface);align-items:center;gap:4px;padding:4px 4px 4px 12px;font-size:13px;display:inline-flex}.lang-hint a{color:var(--color-text);font-weight:500}.lang-hint button{border-radius:var(--radius-full);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;place-items:center;display:grid}.lang-hint svg{width:14px;height:14px}.page{max-width:880px;margin:0 auto;padding:8px 16px 40px}.page__prose{max-width:720px;margin-top:56px}.page__prose .faq h3{margin-top:20px;font-size:16px}.hub-hero{padding:48px 0 32px}.hub-hero__title{letter-spacing:-.02em;word-break:keep-all;max-width:720px;font-size:40px;font-weight:650;line-height:1.2}.hub-hero__lead{max-width:600px;color:var(--color-text-secondary);word-break:keep-all;margin-top:12px;font-size:17px;line-height:1.6}.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.hub-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);height:100%;transition:background-color .15s var(--ease-standard), border-color .15s var(--ease-standard);flex-direction:column;gap:6px;padding:20px;display:flex}.hub-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-secondary)}.hub-card__title{word-break:keep-all;font-size:18px;font-weight:600;line-height:1.35}.hub-card__desc{color:var(--color-text-secondary);word-break:keep-all;font-size:14px;line-height:1.5}.related{margin-top:48px}.related__title{margin-bottom:12px;font-size:17px;font-weight:600}.tool-head{padding:32px 0 20px}.tool-head__back{color:var(--color-text-tertiary);font-size:14px}.tool-head__back:hover{color:var(--color-text)}.tool-head__title{letter-spacing:-.02em;word-break:keep-all;margin-top:6px;font-size:32px;font-weight:650;line-height:1.25}.tool-head__lead{max-width:640px;color:var(--color-text-secondary);word-break:keep-all;margin-top:8px;font-size:16px;line-height:1.6}.tool-panel{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);flex-direction:column;gap:16px;padding:20px;display:flex}.tool-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-row--between{justify-content:space-between}.tool-stats{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-border-subtle);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;display:grid;overflow:hidden}.tool-stat{background:var(--color-surface);padding:12px 14px}.tool-stat__label{color:var(--color-text-tertiary);font-size:12px;line-height:16px}.tool-stat__value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:20px;font-weight:600;line-height:28px}.tool-big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-align:center;font-size:clamp(48px,12vw,96px);font-weight:700;line-height:1}.tool-note{color:var(--color-text-tertiary);word-break:keep-all;font-size:13px;line-height:1.5}.tool-error{color:var(--color-text-danger-soft);font-size:14px;line-height:1.5}.tool-drop{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-xl);min-height:180px;color:var(--color-text-secondary);text-align:center;cursor:pointer;transition:background-color .15s var(--ease-standard), border-color .15s var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.tool-drop[data-active]{border-color:var(--color-text);background:var(--color-surface-secondary)}.tool-canvas{border-radius:var(--radius-lg);background:var(--color-surface-secondary);width:100%;display:block}.tool-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tool-list>li{border-top:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.tool-list>li:first-child{border-top:0}.tool-meter{border-radius:var(--radius-full);background:var(--color-surface-secondary);height:10px;position:relative;overflow:hidden}.tool-meter>span{border-radius:inherit;background:var(--color-text);transition:width 80ms linear;position:absolute;inset:0 auto 0 0}.ad-slot{margin:32px 0 0}.ad-slot:has(ins[data-ad-status=unfilled]){display:none}.site-footer{border-top:1px solid var(--color-border-subtle);max-width:880px;margin:64px auto 0;padding:32px 16px 64px}.site-footer__title{color:var(--color-text-tertiary);margin-bottom:12px;font-size:13px}.site-footer__sites{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.site-footer__sites a{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:13px;line-height:1.5;display:flex}.site-footer__sites a .wordmark{color:var(--color-text);font-size:13px}.site-footer__sites a:hover .wordmark{text-decoration:underline}.site-footer__links{color:var(--color-text-tertiary);gap:20px;margin-top:28px;font-size:13px;display:flex}.site-footer__links a:hover{color:var(--color-text)}@media (max-width:720px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.hub-hero{padding:32px 0 24px}.hub-hero__title{font-size:30px}.hub-grid,.site-footer__sites{grid-template-columns:minmax(0,1fr)}.tool-head{padding:20px 0 16px}.tool-head__title{font-size:26px}.tool-panel{padding:16px}}
.lab-panel{gap:20px}.lab-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.lab-hud--row{justify-content:flex-start;gap:8px 24px}.lab-hud__stat{color:var(--color-text-secondary);align-items:baseline;gap:8px;font-size:14px;line-height:20px;display:inline-flex}.lab-hud__stat strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.lab-rounds{flex:280px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.lab-rounds>li{border-radius:var(--radius-md);background:var(--color-surface-secondary);min-width:0;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:7px 4px;font-size:13px;line-height:18px;overflow:hidden}.lab-rounds>li[data-state=current]{box-shadow:inset 0 0 0 1.5px var(--color-border-strong);color:var(--color-text)}.lab-rounds>li[data-state=done]{color:var(--color-text);font-weight:600}.lab-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:32px;display:flex}.lab-best{color:var(--color-text-tertiary);align-items:baseline;gap:8px;font-size:14px;line-height:20px;display:inline-flex}.lab-best strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.lab-hint{color:var(--color-text-secondary);text-align:center;word-break:keep-all;font-size:14px;line-height:1.5}.lab-arena,.lab-dial,.lab-aim,.lab-tile{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.lab-arena{border-radius:var(--radius-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:clamp(300px,52vh,440px);padding:32px 24px;display:flex}.lab-arena:focus-visible,.lab-dial:focus-visible{outline:2px solid var(--color-ring);outline-offset:3px}.lab-arena__title{letter-spacing:-.02em;font-variant-numeric:tabular-nums;word-break:keep-all;font-size:clamp(30px,7vw,52px);font-weight:700;line-height:1.1}.lab-arena__hint{opacity:.82;word-break:keep-all;max-width:36ch;font-size:15px;line-height:1.55}.lab-react{background:var(--color-surface-secondary);color:var(--color-text)}.lab-react[data-phase=waiting]{color:#8b919c;background:#15171c}.lab-react[data-phase=go]{color:#141414;background:#ffd23f}.lab-react[data-phase=early]{color:#ffb3a6;background:#2a1714}.lab-react[data-phase=go] .lab-arena__title{font-size:clamp(48px,12vw,88px)}.lab-dial{aspect-ratio:1;background:var(--color-surface-secondary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:min(100%,340px);margin:0 auto;display:flex;position:relative}.lab-dial__ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.lab-dial__ring circle{fill:none;stroke-width:2.5px}.lab-dial__track{stroke:var(--color-border)}.lab-dial__arc{stroke:var(--color-text);stroke-linecap:round}.lab-dial__over{stroke:var(--orange-400);stroke-linecap:round}.lab-dial__tick{stroke:var(--color-text-tertiary);stroke-width:2px}.lab-dial__time{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(48px,15vw,76px);font-weight:700;line-height:1;position:relative}.lab-dial__time[data-hidden]{color:var(--color-text-tertiary)}.lab-dial__sub{max-width:80%;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:15px;line-height:1.4;position:relative}.lab-dial__hint{max-width:44ch;color:var(--color-text-secondary);text-align:center;word-break:keep-all;margin:0 auto;font-size:15px;line-height:1.55}.lab-tiles{--n:2;grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:clamp(4px, calc(28px / var(--n)), 12px);aspect-ratio:1;width:min(100%,520px);margin:0 auto;display:grid}.lab-tile{border-radius:clamp(6px, calc(64px / var(--n)), 20px);min-width:0;transition:transform .12s var(--ease-standard)}.lab-tile:active{transform:scale(.96)}.lab-tile:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.lab-tile[data-reveal=odd]{box-shadow:0 0 0 3px var(--page-bg), 0 0 0 6px var(--color-text)}.lab-tile[data-reveal=miss]{animation:ds-shake .4s var(--ease-standard)}.lab-lives{gap:6px;margin-left:auto;display:inline-flex}.lab-lives>span{background:var(--color-text);border-radius:50%;width:12px;height:12px}.lab-lives>span[data-lost]{box-shadow:inset 0 0 0 1.5px var(--color-border-strong);background:0 0}.lab-pair{flex-direction:column;gap:10px;display:flex}.lab-pair__swatches{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lab-pair__swatches>div{flex-direction:column;gap:6px;display:flex}.lab-pair__swatch{border-radius:var(--radius-lg);height:72px;display:block}.lab-pair__label{color:var(--color-text-secondary);font-size:13px;line-height:18px}.lab-pair__label code{color:var(--color-text-tertiary);font-size:12px}.lab-intro{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:28px 8px 12px;display:flex}.lab-intro__art{grid-template-columns:repeat(2,40px);gap:6px;margin-bottom:4px;display:grid}.lab-intro__art>span{background:#6f86b8;border-radius:10px;height:40px}.lab-intro__art>span[data-odd]{background:#8098cc}.lab-intro__digits{letter-spacing:.08em;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1}.lab-intro__title{letter-spacing:-.02em;word-break:keep-all;font-size:clamp(24px,5vw,30px);font-weight:650;line-height:1.25}.lab-intro__hint{max-width:46ch;color:var(--color-text-secondary);word-break:keep-all;margin-bottom:8px;font-size:15px;line-height:1.6}.lab-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:clamp(260px,40vh,340px);padding:16px 0;display:flex}.lab-stage__label{color:var(--color-text-secondary);font-size:15px;line-height:1.5}.lab-stage__label--ok{color:var(--color-text-success-soft);font-size:18px;font-weight:600}.lab-digits{--len:3;max-width:100%;font-size:clamp(26px, calc((min(100vw, 840px) - 96px) / (var(--len) * .64)), 88px);letter-spacing:.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:700;line-height:1.1}.lab-drain{border-radius:var(--radius-full);background:var(--color-surface-tertiary);width:min(100%,360px);height:4px;overflow:hidden}.lab-drain>span{background:var(--color-text);transform-origin:0;height:100%;animation:linear forwards lab-drain;display:block}@keyframes lab-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.lab-recall{flex-direction:column;align-items:center;gap:16px;width:min(100%,420px);display:flex}.lab-recall input.lab-recall__input{letter-spacing:.08em;font-variant-numeric:tabular-nums;text-align:center;width:100%;font-size:28px;font-weight:600}.lab-compare{flex-direction:column;gap:10px;display:flex}.lab-compare__row{flex-direction:column;gap:6px;display:flex}.lab-compare__label{color:var(--color-text-tertiary);font-size:12px;line-height:16px}.lab-compare__cells{flex-wrap:wrap;gap:4px;display:flex}.lab-compare__cells>span{border-radius:var(--radius-sm);background:var(--color-surface-secondary);font-variant-numeric:tabular-nums;text-align:center;min-width:28px;padding:4px 6px;font-size:18px;font-weight:600;line-height:24px}.lab-compare__cells>span:not([data-mark=ok]){background:var(--color-background-danger-soft-alpha);color:var(--color-text-danger-soft)}.lab-aim{--d:clamp(44px, 8vmin, 68px);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background-color:var(--color-surface);background-image:linear-gradient(var(--color-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--color-border-subtle) 1px, transparent 1px);cursor:crosshair;background-position:50%;background-size:48px 48px;width:100%;height:clamp(340px,60vh,560px);position:relative;overflow:hidden}.lab-aim[data-phase=playing]{touch-action:none}.lab-aim__target{top:calc(var(--y) * (100% - var(--d)));left:calc(var(--x) * (100% - var(--d)));width:var(--d);height:var(--d);cursor:crosshair;animation:lab-pop .12s var(--ease-standard);background:radial-gradient(circle,#ff5a36 0 16%,#fff 17% 38%,#ff5a36 39% 60%,#fff 61% 76%,#ff5a36 77%);border-radius:50%;position:absolute;box-shadow:0 2px 10px #00000040}.lab-aim__start{top:calc(50% + var(--d) / 2 + 16px);width:min(86%,380px);color:var(--color-text-secondary);text-align:center;pointer-events:none;word-break:keep-all;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;display:flex;position:absolute;left:50%;transform:translate(-50%)}.lab-aim__start strong{color:var(--color-text);font-size:17px;font-weight:600}.lab-aim__miss{border:2px solid var(--color-text-danger-soft);pointer-events:none;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.45s ease-out forwards lab-miss;position:absolute}@keyframes lab-pop{0%{transform:scale(.7)}to{transform:scale(1)}}@keyframes lab-miss{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}.lab-result{flex-direction:column;gap:20px;display:flex}.lab-result__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lab-result__eyebrow{color:var(--color-text-secondary);font-size:15px;font-weight:500;line-height:22px}.lab-result__eyebrow:focus{outline:none}.lab-result__value{justify-content:center;align-items:baseline;gap:10px;padding:8px 0 0;display:flex}.lab-result__unit{color:var(--color-text-secondary);font-size:clamp(20px,4vw,28px);font-weight:600}.lab-result__caption{max-width:48ch;color:var(--color-text-secondary);text-align:center;word-break:keep-all;margin:-6px auto 0;font-size:15px;line-height:1.55}.lab-result__actions{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px;display:flex}.lab-share-fallback{color:var(--color-text-secondary);text-align:center;flex-direction:column;flex-basis:100%;gap:6px;font-size:13px;line-height:1.5;display:flex}.lab-share-fallback output{border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-text);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:10px 12px}.lab-strip{flex-direction:column;gap:8px;display:flex}.lab-strip__title{color:var(--color-text-secondary);font-size:13px;font-weight:500;line-height:18px}.lab-strip__track{border-radius:var(--radius-md);background:var(--color-surface-secondary);height:44px;position:relative}.lab-strip__band{background:var(--color-background-primary-soft-alpha);position:absolute;top:0;bottom:0}.lab-strip__zero{background:var(--color-border-strong);width:1px;position:absolute;top:6px;bottom:6px}.lab-strip__dot{background:var(--color-text);opacity:.7;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%}.lab-strip__mark{background:var(--color-ring);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:5px;bottom:5px}.lab-strip__axis{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;line-height:16px;display:flex}.lab-strip__legend{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 16px;font-size:12px;line-height:18px;display:flex}.lab-strip__legend>li{align-items:center;gap:6px;display:inline-flex}.lab-strip__key{background:var(--color-text);opacity:.7;border-radius:50%;flex:none;width:10px;height:10px}.lab-strip__key[data-kind=mark]{background:var(--color-ring);opacity:1;border-radius:1px;width:3px;height:12px}.lab-strip__key[data-kind=band]{background:var(--color-background-primary-soft-alpha);width:14px;box-shadow:inset 0 0 0 1px var(--color-border);opacity:1;border-radius:2px}@media (max-width:640px){.lab-panel{gap:16px}.lab-arena{padding:24px 16px}.lab-rounds>li{font-size:12px}}
