body{font-family:var(--font-sans);font-feature-settings:"lnum", "locl";background:var(--canvas);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0}.pt-row{gap:var(--space-sm);padding:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.pt-stack{gap:var(--space-sm);padding:var(--space-md);flex-direction:column;max-width:560px;display:flex}.pt-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pt-icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.pt-btn{font:inherit;justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;min-height:44px;padding:0 22px;font-size:16px;font-weight:500;line-height:1.5;transition:transform .12s,background-color .12s;display:inline-flex}.pt-btn:focus-visible,.pt-iconbtn:focus-visible,.pt-option:focus-visible,.pt-navrow:focus-visible,.pt-nav-link:focus-visible,.pt-rec-btn:focus-visible,.pt-clip-play:focus-visible,.pt-source:focus-visible,.pt-word:focus-visible,.pt-seg-seek:focus-visible{box-shadow:var(--focus-ring);outline:none}.pt-btn:active{transform:scale(.9)}.pt-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.pt-btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.pt-btn-primary:active{background:var(--primary-active);border-color:var(--primary-active)}.pt-btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.pt-btn-utility{color:var(--ink);border-color:var(--ink);padding:0 var(--space-md);background:0 0;font-size:15px}@media (hover:hover) and (pointer:fine){.pt-btn-primary:hover{background:var(--primary-active);border-color:var(--primary-active)}.pt-btn-secondary:hover,.pt-btn-utility:hover{background:var(--surface)}.pt-option:not(:disabled):hover{border-color:var(--ink)}.pt-nav-link:not([aria-current=page]):hover,.pt-navrow:hover{background:var(--surface)}a.pt-source:hover{box-shadow:inset 0 0 0 1px var(--ink)}}.pt-iconbtn{border-radius:var(--radius-full);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;border:0;place-items:center;transition:transform .12s;display:inline-grid}.pt-iconbtn:active{transform:scale(.9)}.pt-iconbtn .pt-icon{width:20px;height:20px}.pt-badge{align-items:center;gap:var(--space-xxs);font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;border-radius:var(--radius-full);background:var(--canvas);color:var(--ink);white-space:nowrap;border:1px solid;padding:4px 10px;font-size:12px;font-weight:400;line-height:1.3;display:inline-flex}.pt-badge .pt-icon{stroke-width:2.25px;width:12px;height:12px}.pt-badge-neutral{color:var(--ink-secondary)}.pt-badge-correct{color:var(--correct)}.pt-badge-wrong{color:var(--wrong)}.pt-badge-warning{color:var(--warning)}.pt-card{background:var(--surface);color:var(--ink);border-radius:var(--radius-xl);padding:var(--space-lg);min-width:0;font-size:16px;line-height:1.5}.pt-card-title{margin:0 0 var(--space-xs);letter-spacing:-.22px;text-wrap:balance;font-size:22px;font-weight:500;line-height:1.3}.pt-field{gap:var(--space-xxs);color:var(--ink);flex-direction:column;font-size:14px;font-weight:500;line-height:1.43;display:flex}.pt-input{font:inherit;color:var(--ink);background:var(--canvas);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;min-height:48px;padding:10px 14px;font-size:16px;font-weight:400;line-height:1.33}.pt-input::placeholder{color:var(--ink-faint)}.pt-input:focus{box-shadow:var(--focus-ring);outline:none}.pt-input[aria-invalid=true]{border-color:var(--wrong)}.pt-field-error{align-items:flex-start;gap:var(--space-xxs);color:var(--wrong);font-weight:400;display:flex}.pt-field-error .pt-icon{margin-top:2px}.pt-shell{flex-direction:column;min-height:100dvh;display:flex}.pt-nav{align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm) var(--space-sm);padding-top:calc(var(--space-md) + env(safe-area-inset-top,0px));background:var(--canvas);color:var(--ink);border-bottom:1px solid var(--hairline);flex-wrap:wrap;font-size:15px;line-height:1.33;display:flex}.pt-nav-brand{box-sizing:border-box;padding:0 var(--space-xs);letter-spacing:-.44px;flex:1 0 100%;font-size:22px;font-weight:600;line-height:1.2}.pt-nav-link{border-radius:var(--radius-full);min-height:44px;color:var(--ink);align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.pt-nav-link[aria-current=page]{background:var(--primary);color:var(--on-primary)}.pt-navrow{align-items:center;gap:var(--space-sm);box-sizing:border-box;width:100%;font:inherit;text-align:left;color:var(--ink-secondary);background:var(--canvas);border-radius:var(--radius-full);padding:var(--space-sm) var(--space-md);cursor:pointer;touch-action:manipulation;border:0;min-height:44px;font-size:15px;line-height:1.33;display:flex}.pt-navrow[aria-current=page]{color:var(--ink);background:var(--surface);font-weight:600}.pt-navrow-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:400}.pt-page{box-sizing:border-box;gap:var(--space-lg);width:100%;max-width:65ch;padding:var(--space-lg) var(--space-md);flex-direction:column;margin:0 auto;display:flex}.pt-page-narrow{max-width:40ch}.pt-page-wide{max-width:1200px}.pt-page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.pt-page-title{letter-spacing:-1.2px;text-wrap:balance;margin:0;font-size:40px;font-weight:300;line-height:1.1}.pt-cols{gap:var(--space-md);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.pt-colstack{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}@media (min-width:960px){.pt-shell{grid-template-columns:232px minmax(0,1fr);align-items:start;display:grid}.pt-shell>.pt-nav{box-sizing:border-box;align-items:stretch;gap:var(--space-xxs);height:100dvh;padding:var(--space-xl) var(--space-md);border-bottom:0;border-right:1px solid var(--hairline);flex-flow:column;font-size:16px;position:sticky;top:0}.pt-shell>.pt-nav .pt-nav-brand{padding:0 var(--space-md) var(--space-lg);flex:none}.pt-shell>.pt-nav .pt-nav-link{padding:0 var(--space-md)}.pt-page{gap:var(--space-xl);padding:var(--space-xxl)}.pt-page-title{letter-spacing:-1.7px;font-size:56px;line-height:1.05}.pt-cols{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.pt-colstack{gap:var(--space-lg)}}.pt-source{gap:var(--space-xxs);box-sizing:border-box;min-width:0;padding:var(--space-md) var(--space-lg);background:var(--surface);color:var(--ink);border-radius:var(--radius-xl);flex-direction:column;text-decoration:none;transition:box-shadow .12s;display:flex}.pt-source-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.pt-source-title{letter-spacing:-.1px;overflow-wrap:anywhere;min-width:0;font-size:20px;font-weight:500;line-height:1.4}.pt-source-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.43}.pt-source-note{color:var(--ink-secondary);font-size:15px;line-height:1.4}.pt-source-note-failed{color:var(--wrong)}.pt-cardrow-word{background:var(--primary-soft);color:var(--ink);border-bottom:2px solid var(--ink);border-radius:var(--radius-xs);padding:1px 2px}.pt-cardrow-action{margin-top:var(--space-xs)}.pt-tone-lime{background:var(--block-lime)}.pt-tone-lilac{background:var(--block-lilac)}.pt-tone-cream{background:var(--block-cream)}.pt-tone-mint{background:var(--block-mint)}.pt-tone-coral{background:var(--block-coral)}.pt-tone-pink{background:var(--block-pink)}.pt-tone-lime,.pt-tone-lilac,.pt-tone-cream,.pt-tone-mint,.pt-tone-coral,.pt-tone-pink{--ink-muted:var(--ink-muted-on-block);--surface:var(--surface-on-block)}.pt-option{align-items:flex-start;gap:var(--space-sm);box-sizing:border-box;width:100%;font:inherit;text-align:left;color:var(--ink);background:var(--canvas);border:1px solid var(--input-border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);cursor:pointer;touch-action:manipulation;min-height:48px;font-size:16px;line-height:1.5;transition:border-color .12s,background-color .12s;display:flex}.pt-option:disabled{cursor:default}.pt-option-letter{border-radius:var(--radius-full);border:1.5px solid var(--input-border);width:24px;height:24px;color:var(--ink-secondary);flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.pt-option-text{flex:1}.pt-option-status{align-items:center;gap:var(--space-xxs);flex:none;font-size:14px;font-weight:600;display:inline-flex}.pt-option-selected{border-color:var(--ink);background:var(--primary-soft)}.pt-option-selected .pt-option-letter{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.pt-option-correct{border-color:var(--correct);background:var(--correct-soft)}.pt-option-correct .pt-option-status,.pt-option-missed .pt-option-status{color:var(--correct)}.pt-option-correct .pt-option-letter{border-color:var(--correct);color:var(--correct)}.pt-option-wrong{border-color:var(--wrong);background:var(--wrong-soft)}.pt-option-wrong .pt-option-status{color:var(--wrong)}.pt-option-wrong .pt-option-letter{border-color:var(--wrong);color:var(--wrong)}.pt-option-missed{border-color:var(--correct);border-style:dashed}.pt-clip{align-items:center;gap:var(--space-sm);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-xl);padding:var(--space-xs) var(--space-md) var(--space-xs) var(--space-xs);display:flex}.pt-clip-play{border-radius:var(--radius-full);background:var(--primary);width:44px;height:44px;color:var(--on-primary);cursor:pointer;touch-action:manipulation;border:0;flex:none;place-items:center;transition:transform .12s;display:grid}.pt-clip-play:active{transform:scale(.9)}.pt-clip-play .pt-icon{fill:currentColor;stroke:none;width:18px;height:18px}.pt-clip-body{gap:var(--space-xxs);flex-direction:column;flex:1;min-width:0;display:flex}.pt-clip-label{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.43;overflow:hidden}.pt-wave{align-items:center;gap:2px;height:28px;display:flex;overflow:hidden}.pt-wave-seek{cursor:pointer}.pt-wave-bar{border-radius:var(--radius-full);background:var(--input-border);opacity:.45;flex:1;min-width:1px;max-width:4px}.pt-wave-bar-on{background:var(--primary);opacity:1}.pt-clip-time{color:var(--ink-muted);font-variant-numeric:tabular-nums;flex:none;font-size:14px;line-height:1.43}.pt-clip-speed{font-family:var(--font-mono);letter-spacing:.6px;color:var(--ink);border-radius:var(--radius-full);font-variant-numeric:tabular-nums;border:1px solid;flex:none;padding:2px 8px;font-size:12px}.pt-transcript{gap:var(--space-xxs);flex-direction:column;max-width:65ch;font-size:16px;line-height:1.5;display:flex}.pt-seg{gap:var(--space-sm);padding:var(--space-xs);border-radius:var(--radius-md);grid-template-columns:48px 1fr;display:grid}.pt-seg-current{background:var(--canvas)}.pt-seg-time{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.7}.pt-seg-text{color:var(--ink-secondary);margin:0}.pt-seg-evidence .pt-seg-text,.pt-seg-current .pt-seg-text{color:var(--ink)}.pt-seg-seek{font:inherit;text-align:left;border-radius:var(--radius-xs);cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-self:start;padding:0;font-size:14px;line-height:1.7}.pt-word{font:inherit;color:inherit;border-radius:var(--radius-xs);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-bottom:2px solid #0000;margin:0 -2px;padding:1px 2px}.pt-word-flagged{background:var(--primary-soft);color:var(--ink);border-bottom-color:var(--ink)}.pt-seg-evidence mark{background:var(--highlight);color:var(--ink);border-radius:var(--radius-xs);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:1px 2px}.pt-swap{align-items:stretch;gap:var(--space-sm);background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-lg);grid-template-columns:1fr auto 1fr;display:grid}.pt-swap-side{gap:var(--space-xxs);flex-direction:column;min-width:0;display:flex}.pt-swap-label{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-muted);font-size:12px;line-height:1.3}.pt-swap-text{letter-spacing:-.1px;color:var(--ink);font-size:20px;font-weight:500;line-height:1.4}.pt-swap-arrow{color:var(--ink-muted);align-self:center}.pt-swap-arrow .pt-icon{width:20px;height:20px}.pt-swap-meta{color:var(--ink-muted);border-top:1px solid var(--hairline);padding-top:var(--space-xs);grid-column:1/-1;font-size:14px;line-height:1.43}@media (max-width:480px){.pt-swap{grid-template-columns:1fr}.pt-swap-arrow{justify-self:start;transform:rotate(90deg)}}.pt-diff{max-width:65ch;font-size:18px;line-height:2}.pt-w{border-radius:var(--radius-xs);padding:1px 3px}.pt-w-missing{color:var(--wrong);background:var(--wrong-soft);text-underline-offset:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.pt-w-extra{color:var(--wrong);text-decoration:line-through}.pt-w-wrong{color:var(--wrong);background:var(--wrong-soft)}.pt-w-expected{color:var(--correct);vertical-align:super;margin-left:2px;font-size:12px;font-weight:600}.pt-rec{align-items:center;gap:var(--space-md);background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-md);display:flex}.pt-rec-btn{border-radius:var(--radius-full);border:2px solid var(--wrong);background:var(--canvas);width:56px;height:56px;color:var(--wrong);cursor:pointer;touch-action:manipulation;flex:none;place-items:center;transition:transform .12s;display:grid}.pt-rec-btn:active{transform:scale(.9)}.pt-rec-btn .pt-icon{width:22px;height:22px}.pt-rec-recording .pt-rec-btn{background:var(--wrong);color:var(--canvas)}.pt-rec-dot{border-radius:var(--radius-full);background:var(--wrong);width:8px;height:8px;animation:1.2s ease-in-out infinite pt-pulse}@keyframes pt-pulse{50%{opacity:.3}}.pt-rec-info{flex-direction:column;gap:2px;display:flex}.pt-rec-state{align-items:center;gap:var(--space-xs);font-size:16px;font-weight:500;display:inline-flex}.pt-rec-time{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:14px}.pt-stale{gap:var(--space-xxs) var(--space-md);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);grid-template-columns:1fr auto;align-items:center;display:grid}.pt-stale-over{background:var(--warning-soft)}.pt-stale-module{letter-spacing:-.1px;font-size:20px;font-weight:500;line-height:1.4}.pt-stale-days{font-variant-numeric:tabular-nums;color:var(--ink-secondary);text-align:right;font-size:15px}.pt-stale-over .pt-stale-days{color:var(--warning);font-weight:600}.pt-stale-weak{gap:var(--space-xxs);color:var(--ink-muted);flex-wrap:wrap;grid-column:1/-1;font-size:14px;display:flex}.pt-days{gap:var(--space-xs);flex-direction:column;max-width:360px;display:flex}.pt-days-row{gap:var(--space-xs);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.pt-days-head{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-muted);text-align:center;font-size:12px;line-height:1.3}.pt-day{aspect-ratio:1;border-radius:var(--radius-md);background:var(--surface);color:var(--ink-muted);font-variant-numeric:tabular-nums;place-items:center;font-size:14px;line-height:1.43;display:grid}.pt-day-listened{background:var(--primary);color:var(--on-primary)}.pt-day-future{background:0 0}.pt-day-today{outline:2px solid var(--ink);outline-offset:2px}.pt-chart{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-lg)}.pt-chart-head{justify-content:space-between;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.pt-chart-title{letter-spacing:-.1px;margin:0;font-size:20px;font-weight:500;line-height:1.4}.pt-chart svg{width:100%;height:auto;display:block;overflow:visible}.pt-chart-grid{stroke:var(--hairline);stroke-width:1px}.pt-chart-pass{stroke:var(--warning);stroke-width:1.5px;stroke-dasharray:4 4}.pt-chart-line{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pt-chart-area{fill:var(--primary-soft)}.pt-chart-dot{fill:var(--surface);stroke:var(--primary);stroke-width:2px}.pt-chart-dot-last{fill:var(--primary)}.pt-chart-axis{fill:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:12px}.pt-chart-passlabel{fill:var(--warning);font-size:12px;font-weight:600}.pt-chart-value{fill:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}@media (prefers-reduced-motion:reduce){.pt-btn,.pt-iconbtn,.pt-option,.pt-clip-play,.pt-rec-btn,.pt-source{transition:none}.pt-btn:active,.pt-iconbtn:active,.pt-clip-play:active,.pt-rec-btn:active{transform:none}.pt-rec-dot{animation:none}}
