.session-document{background:var(--surface)}.session-mark,.session-document main{width:100%;max-width:var(--shell-max);padding-inline:var(--space-5);margin-inline:auto}.session-mark{padding-block:var(--space-4) 0}.session-document main{padding-block:var(--space-4) var(--space-8)}.session-document main>*{width:100%;max-width:var(--column-max);margin-inline:0}.player-bar{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--border);display:flex}.player-position{font-size:var(--step--1);color:var(--ink-muted);margin:0}.player-clock{font-family:var(--font-mono);font-size:var(--step-2);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);color:var(--timer-calm);margin:0}.player-announce{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.player-item{padding-block:var(--space-5)}.player-item:focus-visible,.player-item:focus{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.player-item fieldset{border:0;margin:0;padding:0}.player-stem{font-size:var(--step-1);line-height:var(--leading-body);color:var(--ink);padding:0}.player-options{gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;display:flex}.player-option{align-items:baseline;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-4) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-raised);cursor:pointer;display:flex}.player-option-key{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-s);inline-size:1.5rem;font-family:var(--font-mono);font-size:var(--step--1);text-align:center;color:var(--ink-muted);flex:none;font-weight:600;line-height:calc(1.5rem - 2px)}.player-option-heard{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.player-option-text{overflow-wrap:break-word;flex:1;min-width:0}@media (hover:hover){.player-option:not(:has(input:checked)):hover{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border-strong)}.player-option:not(:has(input:checked)):active{box-shadow:inset 0 0 0 2px var(--border-strong);background:var(--surface-sunken)}}.player-option:has(input:checked){border-color:var(--accent);background:var(--accent-wash)}.player-option:has(input:focus-visible){outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.player-nav{gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.player-button{min-height:var(--target-min);padding-inline:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface-raised);color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.player-button:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.player-button.is-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.player-button.is-quiet{border-color:var(--border);background:var(--surface)}.player-button[disabled]{color:var(--ink-muted);border-color:var(--border);background:var(--surface-raised);cursor:default}.player-confirm,.player-degraded,.player-ended{padding-block:var(--space-5);align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.player-note{padding:var(--space-3);border-radius:var(--radius-s);background:var(--warning-wash);color:var(--warning);font-size:var(--step--1);margin:0}.player-restored{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-raised);color:var(--ink-muted);line-height:var(--leading-body);margin:0}.player-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.player-score{align-items:baseline;gap:var(--space-1) var(--space-3);line-height:var(--leading-tight);color:var(--ink);flex-wrap:wrap;display:flex}.player-score__figure{font-family:var(--font-mono);font-size:var(--step-4);font-variant-numeric:tabular-nums;color:var(--accent-text)}.player-score__label{font-size:var(--step-0);color:var(--ink-muted)}.player-time{color:var(--ink-muted)}.player-skills,.player-answers{padding-left:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.player-skill.is-missed{color:var(--incorrect)}.player-drill{min-height:var(--target-min);margin-left:var(--space-3);color:var(--accent-text);align-items:center;display:inline-flex}.player-drill:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.player-untimed{color:var(--ink-muted)}.player-answers{gap:var(--space-5)}.player-answer{padding:var(--space-4);border-left:3px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface-raised)}.player-answer.is-correct{border-left-color:var(--correct)}.player-answer.is-wrong{border-left-color:var(--incorrect)}.player-working,.player-trap{color:var(--ink-muted);font-size:var(--step-0);line-height:var(--leading-body)}.player-result{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-raised);flex-direction:column;display:flex}.player-result__context{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-muted);text-transform:none}.player-result__share,.player-result__source{color:var(--ink-muted);font-size:var(--step--1)}.player-result__target{font-size:var(--step-1);font-weight:600}.player-result__verdict{font-weight:600}.player-result__verdict.is-met{color:var(--correct)}.player-result__meter{gap:2px;width:100%;height:10px;display:flex}.player-result__cell{border-radius:var(--radius-full);background:var(--accent-wash);flex:1 1 0}.player-result__cell.is-correct{background:var(--accent-text)}.player-result__cell.is-target{box-shadow:2px 0 0 0 var(--ink-muted)}.player-result__next{margin:0}.player-result__next-link{min-height:var(--target-min);color:var(--accent-text);align-items:center;text-decoration:underline;display:inline-flex}.player-result__next-link:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.player-next-step{gap:var(--space-3);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.player-result__indicative{color:var(--ink-muted);font-size:var(--step--1);font-style:italic}.player-result>.player-compare{padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;align-self:stretch}.player-compare{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-raised);flex-direction:column;display:flex}.player-compare__heading,.player-compare__own{margin:0}.player-compare__detail{color:var(--ink-muted);font-size:var(--step-0);line-height:var(--leading-body)}.player-compare__status{font-weight:600}.player-compare__link{color:var(--ink);text-decoration:underline}.player-compare__actions,.player-activation__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.player-activation__field{gap:var(--space-2);width:100%;max-width:28rem;margin:var(--space-4) 0 var(--space-5);display:grid}.player-activation__field label{font-weight:600}.player-activation__input{box-sizing:border-box;width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface-raised);color:var(--ink);font:inherit}.player-activation__input::placeholder{color:var(--ink-muted)}.player-activation__input:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.player-compare__history{padding-left:var(--space-5);gap:var(--space-1);color:var(--ink-muted);font-size:var(--step--1);flex-direction:column;display:flex}.player-compare__delta{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.player-compare.is-rejected .player-compare__status{color:var(--warning)}.player-compare__label{color:var(--ink-muted);font-size:var(--step--1)}
