.app{max-width:var(--width);font-size:var(--step-body);font-variant-numeric:tabular-nums;margin-inline:auto;padding-block:1.5rem 2.5rem}.app h1{font:500 var(--step-title)/1.12 var(--font-display);letter-spacing:-.015em}.app h2,.app h3{font:500 1.125rem/1.3 var(--font-display);letter-spacing:-.01em}.app-lead{color:var(--muted);max-width:70ch;margin-top:.5rem}.note{color:var(--muted);font-size:var(--step-small)}.note.bad,.hint.bad{color:var(--bad)}.num{text-align:right;font-variant-numeric:tabular-nums}[data-session] .side,[data-session] .topbar,[data-session] .content>footer,[data-session] .app-lead{display:none}[data-session] :is(.app>h1,.page-head){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}[data-session] .shell{display:block}[data-session] .app{padding-block:1rem}[data-session]{scroll-behavior:auto}[data-session] *,[data-session] :before,[data-session] :after{transition:none!important;animation:none!important}[data-session] .pill:hover svg,[data-session] :is(.btn,.pill-primary,.tile):hover{transform:none}@keyframes run-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes run-fill{0%{transform:scaleX(0)}}@keyframes run-ring{0%{stroke-dasharray:0 1000}}.results>:not(.kpis),.results>.kpis>*,.results tbody tr,.assess-review>li{animation:run-rise .32s var(--ease) backwards;animation-delay:min(calc(sibling-index() * 40ms), .32s)}.results .ring-value{animation:run-ring .8s var(--ease) .12s backwards}.results .meter span{transform-origin:0;animation:run-fill .7s var(--ease) .16s backwards}@media (hover:hover) and (prefers-reduced-motion:no-preference){.results :is(.tile,.panel,.btn,.pill){transition:translate .16s var(--ease), scale .12s var(--ease), box-shadow .16s var(--ease), background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease)}.results .tile:hover{box-shadow:0 0 0 1px var(--accent), var(--shadow-float);translate:0 -2px}.results .panel:hover{box-shadow:0 0 0 1px var(--control-line)}.results :is(.btn,.pill):hover{translate:0 -1px}.results :is(.btn,.pill):active{scale:.97}.results tbody tr:hover{background:var(--surface-2)}}.app:has(.run-head),[data-pro] .app:has(.gate-wait:is([data-gate=trainer],[data-gate=game])){padding-top:3.25rem;position:relative}.app:has(.page-head) .run-head{display:none}.run-head .eyebrow{top:1.5rem;left:var(--margin);position:absolute}main:has(.app)+footer{margin-top:2rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem}.panel>h2{margin-bottom:1rem}.table-scroll{overflow-x:auto}.panel{min-width:0}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{color:var(--muted);text-align:left;padding:.5rem .75rem .5rem 0;font-weight:400}.table th.num{text-align:right}.table td{border-top:1px solid var(--line);vertical-align:top;padding:.625rem .75rem .625rem 0}.table th:last-child,.table td:last-child{padding-right:0}@media (hover:none){.keys-hint{display:none}}.hub-name{font-weight:500;text-decoration:none}.hub-name:after{content:"";position:absolute;inset:0}.hub-name:focus-visible{outline:none}.trainer-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem;margin-top:1.25rem;display:grid}.setup{grid-template-columns:auto minmax(0,1fr);align-content:start;gap:0 2rem;display:grid}.trainer-grid>section.panel{align-self:start}.app:has(.trainer-grid>.setup,.assess-lobby),[data-pro] .app:has(.gate-wait:is([data-gate=trainer],[data-gate=game],[data-gate=assessment])){max-width:52rem}.trainer-grid:has(>.setup){grid-template-columns:minmax(0,1fr)}.setup>h2,.setup>.setup-go,.setup>.wide{grid-column:1/-1}.field{border:0;min-width:0;margin:0 0 1rem;padding:0}.field legend{color:var(--muted);font:500 var(--step-micro)/1.3 var(--font-text);margin-bottom:.375rem;padding:0}.choices{flex-wrap:wrap;gap:.375rem;display:flex}.choice{cursor:pointer;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice span{border:1px solid var(--line);border-radius:var(--r-pill);min-width:44px;min-height:40px;color:var(--ink);font:400 var(--step-small)/1.2 var(--font-text);font-variant-numeric:tabular-nums;transition:border-color .15s var(--ease), background-color .15s var(--ease);place-items:center;padding-inline:.875rem;display:grid}.choice:hover span{border-color:var(--control-line)}.choice input:checked+span{background:var(--tint-aqua);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:500}.choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.checks{flex-wrap:wrap;gap:0 1.25rem;display:flex}.checks label{cursor:pointer;align-items:center;gap:.5rem;min-height:40px;display:inline-flex}.setup-fixed{font:500 1.25rem/1.3 var(--font-text)}.setup-go{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.btn[aria-disabled=true],.btn:disabled,.pill:disabled{opacity:.55;cursor:default}.panel .chart{background:0 0;border:0;margin-bottom:.75rem;padding:0}.run-empty{border:1px dashed var(--control-line);border-radius:var(--r);padding-block:.75rem}.run-empty .note{padding-inline:.875rem}.run-wait{border-radius:var(--r-sm);background:var(--surface-2);height:6.5rem}.run-alert{border-radius:var(--r-sm);background:var(--tint-pink);color:var(--ink);font-size:var(--step-note);gap:.5rem;padding:.5rem .75rem;display:flex}.run-alert svg{flex:none;margin-top:.15rem}.session{grid-template-columns:minmax(0,1fr);gap:.75rem;max-width:52rem;margin-inline:auto;display:grid}.session-bar{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.session-bar .tile{flex:auto;padding:.5rem .75rem}.session-bar .tile-value{font-size:1.25rem}.tile dd{margin:0}.tape{align-items:flex-end;gap:1px;height:28px;display:flex}.tape-mark{background:var(--line);flex:1 1 0;min-width:0;height:2px}.tape-mark.correct{background:var(--accent)}.tape-mark.wrong{border:1px solid var(--bad);background:0 0}.tape-mark.skipped{background:var(--muted);height:4px!important}.task{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:minmax(0,1fr);gap:.5rem;padding:1.25rem 1.5rem;display:grid}.question{min-height:6rem;font:500 clamp(2rem, 1.25rem + 2.5vw, 3rem)/1.1 var(--font-text);overflow-wrap:anywhere;align-items:center;display:flex}.question.long{font:400 clamp(1.125rem, 1rem + .5vw, 1.375rem)/1.35 var(--font-text)}.session label{color:var(--muted);font-size:var(--step-small);display:block}.answer-row{gap:.5rem;display:flex}.answer-row input{background:var(--bg);min-width:0;min-height:48px;color:var(--ink);border:1px solid var(--control-line);border-radius:var(--r-sm);font:500 1.25rem/1 var(--font-text);font-variant-numeric:tabular-nums;flex:1;padding:0 .875rem}.answer-row input[aria-invalid=true]{border-color:var(--bad)}.hint{color:var(--muted);font-size:var(--step-small);min-height:1.25rem;margin-top:.375rem}.session-actions{flex-wrap:wrap;gap:.5rem;display:flex}.session-actions .pill,.results-actions .pill,.results-actions .btn{min-height:40px;font-size:var(--step-small);padding-block:.375rem}.feedback{min-height:3.5rem;font-size:var(--step-note);flex-wrap:wrap;align-content:flex-start;align-items:center;gap:.125rem .5rem;display:flex}.feedback .feedback-of{color:var(--muted);flex:1 0 100%}.feedback.correct strong,.feedback.correct svg{color:var(--good)}.feedback.wrong strong,.feedback.wrong svg{color:var(--bad)}.feedback span{flex:60%}.session:has(.keypad){--key:clamp(48px, 7dvh, 56px);--key-gap:.375rem;padding-bottom:calc(5 * var(--key) + 4 * var(--key-gap) + 1rem + env(safe-area-inset-bottom,0px))}.session:has(.keypad) .task{gap:.25rem;padding:.75rem 1rem}.session:has(.keypad) .question{min-height:3.5rem}.session:has(.keypad) .tape{height:14px}.session:has(.keypad) .task>label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.session:has(.keypad) .feedback{min-height:2.75rem}.session:has(.keypad) .feedback :is(svg,strong,[data-testid=feedback-detail]){order:1}.keypad{z-index:5;gap:var(--key-gap);padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);display:grid;position:fixed;inset:auto 0 0}.keys{gap:var(--key-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.keypad.full .keys{grid-template-columns:repeat(4,minmax(0,1fr))}.keypad.full .key-zero{grid-column:span 3}.key{min-height:var(--key);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);font:500 1.375rem/1 var(--font-text);font-variant-numeric:tabular-nums;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;place-items:center;display:grid}.key-side{background:var(--surface-2)}.key:active{background:var(--tint-aqua);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.keypad-go{width:100%;min-height:var(--key);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.keypad-go:active{box-shadow:inset 0 0 0 2px var(--on-fill)}@media (orientation:landscape){.session:has(.keypad){--key:48px;padding-bottom:0;padding-right:min(48vw,24rem)}.keypad{border-top:0;border-left:1px solid var(--line);align-content:center;width:min(46vw,23rem);inset:0 0 0 auto}}.results{gap:1rem;margin-top:1.25rem;display:grid}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;display:flex}.results-head>div:first-child{gap:.25rem;display:grid}.results-head h2{font-size:var(--step-section)}.results-head h2:focus{outline:none}.results-head h2:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.results-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.kpis{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.kpis>*{flex:9.5rem;align-content:space-between}.kpis>div:not(.tile){background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.75rem 1rem}.kpis>div:not(.tile) dt{color:var(--muted);font-size:var(--step-small)}.kpis>div:not(.tile) dd{font:500 1.5rem/1.1 var(--font-text);font-variant-numeric:tabular-nums;margin:0}.kpis>.kpi-main:not(.tile) dd{font-size:2rem}.kpis .kpi-main{flex:2 16rem}@media (width>=761px){.kpis:has(>:nth-child(7):last-child)>:not(.kpi-main){flex-basis:12rem}}.kpi-main .tile-value{align-items:center;gap:.75rem;font-size:2rem;display:flex}.kpi-main.good .tile-value{color:var(--good)}.kpi-main.bad .tile-value{color:var(--bad)}.kpis .tile-value{overflow-wrap:anywhere}.results section>h3{margin-bottom:.5rem}.review tr.wrong td:last-child{color:var(--bad)}.review tr.correct td:last-child{color:var(--good)}.review td:last-child svg{vertical-align:-2px;margin-right:.25rem;display:inline-block}.review small{color:var(--muted);margin-top:.25rem;display:block}@media (width<=900px){.trainer-grid,.setup{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.app{padding-block:1.25rem 3rem}.app:has(.run-head),[data-pro] .app:has(.gate-wait:is([data-gate=trainer],[data-gate=game])){padding-top:3.5rem}.run-head .eyebrow{top:.875rem;right:calc(var(--margin) + 5.25rem)}.table:not(.review){font-size:var(--step-note);hyphens:auto}.table:not(.review) :is(th,td){padding-right:.5rem}.kpis .kpi-main{flex-basis:100%}.session-bar{gap:.375rem}.session-bar .tile{padding-inline:.5rem}.task{padding:1rem}.question{min-height:4rem}.review thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.review,.review tbody,.review tr{display:block}.review tr{border-top:1px solid var(--line);padding-block:.625rem}.review td{text-align:right;border:0;justify-content:space-between;gap:1rem;padding:.125rem 0;display:flex}.review td:first-child{text-align:left;font-weight:600;display:block}.review td[data-label]:before{content:attr(data-label);color:var(--muted)}}.trainer-about{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem;display:grid}.trainer-about p{margin-top:.5rem}.trainer-sample{font-weight:600}[data-session] .trainer-about{display:none}@media (width<=760px){.trainer-about{grid-template-columns:minmax(0,1fr)}}.prompt{gap:.75rem;width:100%;display:grid}.book{border-collapse:collapse;width:min(100%,22rem);font:500 var(--step-lead)/1.2 var(--font-text);font-variant-numeric:tabular-nums}.book th,.book td{text-align:center;border-bottom:1px solid var(--line);padding:.375rem .75rem}.book thead th{color:var(--muted);font:500 var(--step-small)/1.2 var(--font-text)}.book tbody th{font-weight:600}.book tr.ask td:last-child{background:var(--tint-pink)}.book tr.bid td:first-child{background:var(--tint-aqua)}.book tr.bid:first-of-type th,.book tr.ask+tr.bid th{border-top:2px solid var(--control-line)}.events{gap:.375rem;padding:0;list-style:none;display:grid}.events li{align-items:baseline;gap:.625rem;display:flex}.event-n{border:1px solid var(--control-line);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-weight:600;display:inline-grid}.range-answer{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.range-row{flex:16rem}.range-box{flex:1;gap:.25rem;min-width:0;display:grid}
