/* Module-local styles. Shared application chrome uses app.css. */
:where(#flow-main,#flow-session,.module-footer) *{box-sizing:border-box}[hidden]{display:none!important}:where(#flow-main,#flow-session,.module-footer) a{color:var(--accent)}:where(#flow-main,#flow-session,.module-footer) h1,:where(#flow-main,#flow-session,.module-footer) h2,:where(#flow-main,#flow-session,.module-footer) h3,:where(#flow-main,#flow-session,.module-footer) p{margin-top:0}:where(#flow-main,#flow-session,.module-footer) h1{font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.045em;margin-bottom:20px}:where(#flow-main,#flow-session,.module-footer) h2{font-size:23px;line-height:1.3;margin-bottom:12px}:where(#flow-main,#flow-session,.module-footer) h3{font-size:18px}:where(#flow-main,#flow-session,.module-footer) button,:where(#flow-main,#flow-session,.module-footer) input,:where(#flow-main,#flow-session,.module-footer) select{font:inherit}:where(#flow-main,#flow-session,.module-footer) button,:where(#flow-main,#flow-session,.module-footer) a,:where(#flow-main,#flow-session,.module-footer) input,:where(#flow-main,#flow-session,.module-footer) select,:where(#flow-main,#flow-session,.module-footer) summary{touch-action:manipulation}:where(#flow-main,#flow-session,.module-footer) :focus-visible{outline:3px solid var(--focus);outline-offset:4px}:where(#flow-main,#flow-session,.module-footer) button{cursor:pointer}:where(#flow-main,#flow-session,.module-footer) button:disabled{opacity:.55;cursor:not-allowed}:where(#flow-main,#flow-session,.module-footer) input,:where(#flow-main,#flow-session,.module-footer) select{width:100%;border:1px solid var(--separator-strong);border-radius:10px;background:var(--surface);color:var(--text);padding:10px 12px;min-height:44px}:where(#flow-main,#flow-session,.module-footer) input[type=checkbox]{width:18px;min-height:18px;flex-shrink:0}:where(#flow-main,#flow-session,.module-footer) label{display:grid;gap:6px;font-size:14px;font-weight:600}:where(#flow-main,#flow-session,.module-footer) label.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}:where(#flow-main,#flow-session,.module-footer) fieldset{border:0;padding:0;margin:0;min-width:0}:where(#flow-main,#flow-session,.module-footer) legend{font-weight:650;margin-bottom:10px}:where(#flow-main,#flow-session,.module-footer) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:11px;font-weight:650;line-height:1.4;text-align:center;text-decoration:none;border:1px solid transparent;background:var(--accent);color:#fff}:where(#flow-main,#flow-session,.module-footer) .btn.secondary{background:var(--surface);color:var(--text);border-color:var(--separator)}:where(#flow-main,#flow-session,.module-footer) .btn.quiet{background:transparent;color:var(--text-2)}:where(#flow-main,#flow-session,.module-footer) .btn.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}:where(#flow-main,#flow-session,.module-footer) .btn:hover{filter:brightness(.97)}:where(#flow-main,#flow-session,.module-footer) .btn svg{width:18px;height:18px}:where(#flow-main,#flow-session,.module-footer) .actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}:where(#flow-main,#flow-session,.module-footer) .flow-top{max-width:1160px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--separator)}:where(#flow-main,#flow-session,.module-footer) .flow-top nav{display:flex;gap:8px;flex-wrap:wrap}:where(#flow-main,#flow-session,.module-footer) .flow-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:750;font-size:20px}:where(#flow-main,#flow-session,.module-footer) .flow-brand img{width:34px;height:34px;border-radius:8px}#flow-main{max-width:1160px;padding:0 24px;margin:auto}:where(#flow-main,#flow-session,.module-footer) .flow-hero{padding:46px 0 26px;display:grid;grid-template-columns:1fr 230px;gap:38px;align-items:center}:where(#flow-main,#flow-session,.module-footer) .lead{max-width:660px;color:var(--text-2);font-size:18px}:where(#flow-main,#flow-session,.module-footer) .eyebrow{color:var(--accent);font-size:11px;letter-spacing:.12em;font-weight:750;margin-bottom:16px}:where(#flow-main,#flow-session,.module-footer) .hero-motif{display:grid;gap:12px;transform:rotate(-5deg)}:where(#flow-main,#flow-session,.module-footer) .hero-motif span{background:var(--surface);border:1px solid var(--separator);padding:12px 20px;border-radius:14px;font-family:var(--font-mono);width:145px}:where(#flow-main,#flow-session,.module-footer) .hero-motif span:nth-child(2){margin-left:36px}:where(#flow-main,#flow-session,.module-footer) .hero-motif span:nth-child(3){margin-left:72px;background:var(--accent-soft);color:var(--accent)}:where(#flow-main,#flow-session,.module-footer) .panel{background:var(--surface);border:1px solid var(--separator);border-radius:18px;padding:26px;margin-bottom:22px}:where(#flow-main,#flow-session,.module-footer) .muted{color:var(--text-2)}:where(#flow-main,#flow-session,.module-footer) .small{font-size:13px;color:var(--text-2)}:where(#flow-main,#flow-session,.module-footer) .course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}:where(#flow-main,#flow-session,.module-footer) .course{display:block;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--separator);border-radius:14px;padding:20px;min-height:160px}:where(#flow-main,#flow-session,.module-footer) .course strong{display:block;font-size:18px;margin-bottom:8px}:where(#flow-main,#flow-session,.module-footer) .course p{font-size:14px;margin:0;color:var(--text-2)}:where(#flow-main,#flow-session,.module-footer) .course[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}:where(#flow-main,#flow-session,.module-footer) .settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}:where(#flow-main,#flow-session,.module-footer) .settings-grid.three{grid-template-columns:repeat(3,1fr)}:where(#flow-main,#flow-session,.module-footer) .section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}:where(#flow-main,#flow-session,.module-footer) .section-head p{margin-bottom:8px}:where(#flow-main,#flow-session,.module-footer) .bad{color:var(--danger)}:where(#flow-main,#flow-session,.module-footer) #flow-message:not(:empty),:where(#flow-main,#flow-session,.module-footer) .notice{padding:16px;border:1px solid var(--separator);border-radius:12px;background:var(--surface-2);margin-bottom:18px}:where(#flow-main,#flow-session,.module-footer) .notice.warn{background:var(--warning-soft);color:var(--warning)}:where(#flow-main,#flow-session,.module-footer) .notice.ime{text-align:center;font-weight:650;background:var(--warning-soft);color:var(--text);}:where(#flow-main,#flow-session,.module-footer) .notice.ime .actions{justify-content:center;margin-top:10px}:where(#flow-main,#flow-session,.module-footer) .table-scroll{max-width:100%;overflow:auto}:where(#flow-main,#flow-session,.module-footer) table{border-collapse:collapse;width:100%;font-size:14px}:where(#flow-main,#flow-session,.module-footer) caption{text-align:left;padding:10px 0;color:var(--text-2)}:where(#flow-main,#flow-session,.module-footer) th,:where(#flow-main,#flow-session,.module-footer) td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--separator);white-space:nowrap}:where(#flow-main,#flow-session,.module-footer) th{font-weight:650}:where(#flow-main,#flow-session,.module-footer) summary{cursor:pointer;font-weight:650;min-height:40px;padding:6px 0}:where(#flow-main,#flow-session,.module-footer) details p{color:var(--text-2);font-size:14px}:where(#flow-main,#flow-session,.module-footer) .pill{display:inline-block;background:var(--surface-2);border-radius:100px;padding:4px 12px;font-size:12px;font-weight:650}:where(#flow-main,#flow-session,.module-footer) .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}:where(#flow-main,#flow-session,.module-footer) .stat{background:var(--surface-2);border-radius:12px;padding:18px}:where(#flow-main,#flow-session,.module-footer) .stat strong{display:block;font-size:30px;line-height:1.2}:where(#flow-main,#flow-session,.module-footer) .stat span{font-size:12px;color:var(--text-2)}.module-footer{max-width:1160px;margin:32px auto;padding:0 24px 30px;color:var(--text-2);font-size:12px}:where(#flow-main,#flow-session,.module-footer) .skip-link{position:fixed;top:-100px;background:var(--surface);z-index:20;padding:12px}:where(#flow-main,#flow-session,.module-footer) .skip-link:focus{top:0}:where(#flow-main,#flow-session,.module-footer) .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.flow-session{position:fixed;inset:0;background:var(--bg);z-index:40;overflow:auto;padding:24px}:where(#flow-main,#flow-session,.module-footer) .session-inner{max-width:1120px;margin:auto}:where(#flow-main,#flow-session,.module-footer) .session-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;position:sticky;top:-24px;background:var(--bg);padding:10px 0;z-index:3}:where(#flow-main,#flow-session,.module-footer) .session-toolbar h2{margin:0;font-size:19px}:where(#flow-main,#flow-session,.module-footer) .flow-countdown{font-size:54px;text-align:center;font-weight:750;padding:12px}:where(#flow-main,#flow-session,.module-footer) .game-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}:where(#flow-main,#flow-session,.module-footer) .hud-item{background:var(--surface);border:1px solid var(--separator);border-radius:12px;padding:14px 18px}:where(#flow-main,#flow-session,.module-footer) .hud-item span{display:block;color:var(--text-2);font-size:12px}:where(#flow-main,#flow-session,.module-footer) .hud-item strong{font-size:24px;font-variant-numeric:tabular-nums}:where(#flow-main,#flow-session,.module-footer) .track{position:relative;min-height:245px;border:1px solid var(--separator);border-radius:18px;background:var(--surface);overflow:hidden;display:flex;align-items:center;padding:40px 20px}:where(#flow-main,#flow-session,.module-footer) .track-line{position:absolute;left:28px;right:28px;top:50%;border-top:1px dashed var(--separator-strong)}:where(#flow-main,#flow-session,.module-footer) .target-card{position:relative;max-width:min(90%,720px);min-width:180px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:16px;padding:20px 24px;font:600 clamp(20px,3vw,30px)/1.7 var(--font-mono);overflow-wrap:anywhere;box-shadow:0 8px 25px #17233d10;will-change:transform}:where(#flow-main,#flow-session,.module-footer) .target-card .typed{color:var(--success)}:where(#flow-main,#flow-session,.module-footer) .target-card .next{border-bottom:3px solid var(--accent);background:var(--surface)}:where(#flow-main,#flow-session,.module-footer) .target-card .space{font-size:.85em}:where(#flow-main,#flow-session,.module-footer) .target-card.is-error{border-color:var(--danger);background:var(--danger-soft)}:where(#flow-main,#flow-session,.module-footer) .target-label{font:650 11px var(--font-ui);color:var(--text-2);letter-spacing:.08em;margin-bottom:8px}:where(#flow-main,#flow-session,.module-footer) .track.stationary{justify-content:center}:where(#flow-main,#flow-session,.module-footer) .track.stationary .target-card{transform:none!important;will-change:auto}:where(#flow-main,#flow-session,.module-footer) .track.stationary .track-line{display:none}:where(#flow-main,#flow-session,.module-footer) .deadline-labels{display:flex;justify-content:space-between;color:var(--text-2);font-size:12px;margin:12px 6px}:where(#flow-main,#flow-session,.module-footer) .flow-progress{width:100%;height:8px;accent-color:var(--accent)}:where(#flow-main,#flow-session,.module-footer) .session-lower{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:22px}:where(#flow-main,#flow-session,.module-footer) .next-guide{font-size:24px;font-weight:650}:where(#flow-main,#flow-session,.module-footer) kbd{font:inherit;border:1px solid var(--separator-strong);background:var(--surface);border-radius:6px;padding:1px 7px}:where(#flow-main,#flow-session,.module-footer) .recent-targets{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}:where(#flow-main,#flow-session,.module-footer) .recent-targets span{padding:3px 9px;border-radius:8px;background:var(--surface-2)}:where(#flow-main,#flow-session,.module-footer) .flow-capture{position:fixed;top:120px;left:12px;width:2px;height:2px;padding:0;border:0;opacity:.015;resize:none;font-size:16px;pointer-events:none}:where(#flow-main,#flow-session,.module-footer) .finish-box{background:var(--surface);border:1px solid var(--separator-strong);border-radius:16px;padding:24px;margin:20px 0}:where(#flow-main,#flow-session,.module-footer) .flow-score{font-size:58px;line-height:1.1;letter-spacing:-.04em;margin:12px 0;font-weight:750}:where(#flow-main,#flow-session,.module-footer) .flow-score-label{font-size:13px;color:var(--text-2)}
@media (max-width:800px){:where(#flow-main,#flow-session,.module-footer) .flow-hero{grid-template-columns:1fr}:where(#flow-main,#flow-session,.module-footer) .hero-motif{display:none}:where(#flow-main,#flow-session,.module-footer) .settings-grid{grid-template-columns:repeat(2,1fr)}:where(#flow-main,#flow-session,.module-footer) .course-grid{gap:10px}:where(#flow-main,#flow-session,.module-footer) .course{padding:14px}:where(#flow-main,#flow-session,.module-footer) .session-lower{grid-template-columns:1fr}:where(#flow-main,#flow-session,.module-footer) .stats{grid-template-columns:repeat(2,1fr)}:where(#flow-main,#flow-session,.module-footer) .flow-top{align-items:flex-start}:where(#flow-main,#flow-session,.module-footer) .flow-top nav{justify-content:flex-end}:where(#flow-main,#flow-session,.module-footer) .game-hud{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){#flow-main{padding:0 14px}:where(#flow-main,#flow-session,.module-footer) .flow-top{padding:14px;display:block}:where(#flow-main,#flow-session,.module-footer) .flow-top nav{justify-content:flex-start;margin-top:12px}:where(#flow-main,#flow-session,.module-footer) .flow-top .btn{font-size:13px;padding:8px 11px}:where(#flow-main,#flow-session,.module-footer) .flow-hero{padding-top:30px}:where(#flow-main,#flow-session,.module-footer) .lead{font-size:16px}:where(#flow-main,#flow-session,.module-footer) .course-grid{grid-template-columns:1fr}:where(#flow-main,#flow-session,.module-footer) .course{min-height:0;padding:16px}:where(#flow-main,#flow-session,.module-footer) .course strong{font-size:16px;margin-bottom:3px}:where(#flow-main,#flow-session,.module-footer) .settings-grid.three{grid-template-columns:1fr}:where(#flow-main,#flow-session,.module-footer) .panel{padding:18px}:where(#flow-main,#flow-session,.module-footer) .section-head{display:block}.flow-session{padding:14px}:where(#flow-main,#flow-session,.module-footer) .session-toolbar{top:-14px;align-items:flex-start;flex-wrap:wrap}:where(#flow-main,#flow-session,.module-footer) .session-toolbar .btn{padding:8px 10px;font-size:14px}:where(#flow-main,#flow-session,.module-footer) .target-card{padding:16px;max-width:100%;min-width:0}:where(#flow-main,#flow-session,.module-footer) .track{min-height:210px;padding:25px 12px}:where(#flow-main,#flow-session,.module-footer) .hud-item{padding:11px 14px}:where(#flow-main,#flow-session,.module-footer) .session-lower{gap:0}:where(#flow-main,#flow-session,.module-footer) .flow-score{font-size:48px}}
@media (prefers-reduced-motion:reduce){:where(#flow-main,#flow-session,.module-footer) *{scroll-behavior:auto!important;animation:none!important;transition:none!important}:where(#flow-main,#flow-session,.module-footer) .hero-motif{transform:none}}

/* v0.9: visible keyboard focus, reflow and readable result/secondary text. */
:where(#flow-main,#flow-session,.module-footer) .app-skip-link{ position:fixed;left:12px;top:-150px;z-index:10000;background:var(--surface);color:var(--text);padding:12px 16px;border:2px solid var(--focus);border-radius:8px; }
:where(#flow-main,#flow-session,.module-footer) .app-skip-link:focus{ top:12px; }
:where(#flow-main,#flow-session,.module-footer) :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{ outline:3px solid var(--focus);outline-offset:3px; }
:where(#flow-main,#flow-session,.module-footer) :where(button,a,input,textarea,select,summary,[tabindex]){ scroll-margin-block:100px 32px; }
:where(#flow-main,#flow-session,.module-footer) .btn-primary,:where(#flow-main,#flow-session,.module-footer) .btn.primary{ color:var(--on-accent); }
@media  (prefers-reduced-motion:reduce) {  :where(#flow-main,#flow-session,.module-footer) *,:where(#flow-main,#flow-session,.module-footer) *::before,:where(#flow-main,#flow-session,.module-footer) *::after{transition-duration:0s !important;} }
@media  (forced-colors:active) { :where(#flow-main,#flow-session,.module-footer) :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid Highlight;} :where(#flow-main,#flow-session,.module-footer) .btn{border:1px solid ButtonText;} }
