/* Typing Practice V6 — scoped standalone stylesheet. No dependencies. */
.practice-v6 {--ink:#1c3630;--jade:#149967;--jade-dark:#096c4b;--mist:#eaf8f1;--stroke:#dceae4;--faint:#f7fbf9;--mellow:#71877f;--negative:#cd4e63;background:#f5faf8;color:var(--ink)}
.practice-v6 .brand-dot{font-size:12px;color:#78958a}
.practice-v6 .practice-hero{padding:34px 0 24px;display:flex;justify-content:space-between;gap:25px;align-items:flex-end}
.practice-v6 .breadcrumb{margin:0 0 22px}
.practice-v6 .eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:850;color:var(--jade);margin:0 0 9px}
.practice-v6 .eyebrow.mini{font-size:10px;letter-spacing:1.3px;margin:0 0 9px}
.practice-v6 .practice-hero h1{font-size:clamp(34px,4vw,48px);letter-spacing:-2.1px;line-height:1.07;margin:0 0 13px}
.practice-v6 .practice-hero h1 span{color:var(--jade)}
.practice-v6 .practice-hero p{max-width:650px;line-height:1.7;margin:0;color:#627b71;font-size:14px}
.practice-v6 .hero-badges{display:flex;flex-direction:column;gap:10px;align-items:flex-end;white-space:nowrap;padding-bottom:1px}
.practice-v6 .hero-badges span{font-size:11px;background:#e8f5ee;color:#277a55;padding:6px 12px;border:1px solid #d7eade;border-radius:99px;font-weight:750}
.practice-v6 .overview-strip{display:grid;grid-template-columns:1.5fr .88fr .91fr 1.18fr;gap:0;margin:0 0 22px;background:#fff;border:1px solid var(--stroke);border-radius:17px;overflow:hidden;box-shadow:0 6px 21px rgba(18,68,52,.022)}
.practice-v6 .overview-item{display:flex;align-items:center;gap:12px;padding:18px 19px;border-right:1px solid #ebf2ef;min-width:0}
.practice-v6 .overview-item:last-child{border-right:0}
.practice-v6 .overview-icon{flex:0 0 39px;width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#ebf9f2;color:var(--jade);font-size:23px;font-weight:800}
.practice-v6 .overview-copy{min-width:0;flex:1}
.practice-v6 .overview-copy small,.practice-v6 .overview-callout small{display:block;font-size:10px;color:#84948d;font-weight:750;letter-spacing:.2px;margin-bottom:4px}
.practice-v6 .overview-copy strong{font-size:24px;line-height:1.1;letter-spacing:-.8px;white-space:nowrap}
.practice-v6 .overview-copy strong em{font-size:12px;letter-spacing:0;color:#81928a;font-style:normal;font-weight:600}
.practice-v6 .overview-progress{background:#e7f2ed;border-radius:50px;height:5px;margin-top:10px;overflow:hidden}
.practice-v6 .overview-progress span{display:block;width:0;height:100%;background:var(--jade);transition:width .2s}
.practice-v6 .overview-callout{display:block;background:linear-gradient(128deg,#f2faf5,#eaf7f0)}
.practice-v6 .overview-callout small{letter-spacing:.9px;color:#409b73}
.practice-v6 .overview-callout strong{display:block;font-size:13px;line-height:1.45;color:#216146}
.practice-v6 .overview-callout>span{display:block;font-size:10px;color:#6e967d;margin-top:5px}
.practice-v6 .practice-shell{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:20px;align-items:start;padding-bottom:24px}
.practice-v6 .practice-main{min-width:0;display:flex;flex-direction:column;gap:20px}
.practice-v6 .practice-panel{background:white;border:1px solid var(--stroke);border-radius:18px;box-shadow:0 7px 23px rgba(20,85,65,.025);padding:23px}
.practice-v6 .section-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px}
.practice-v6 h2{margin:0;color:#243f35;font-size:19px;line-height:1.3;letter-spacing:-.65px}
.practice-v6 .section-note{font-size:11px;color:#9caea4;white-space:nowrap}
.practice-v6 .mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.practice-v6 .mode-tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;text-align:left;padding:13px 11px 12px;background:#f9fcfa;border:1px solid #e8f0eb;border-radius:12px;color:#243b34;transition:background .16s,border-color .16s,transform .16s}
.practice-v6 .mode-tile:hover{background:#eff9f3;border-color:#b4dbca;transform:translateY(-1px)}
.practice-v6 .mode-tile.active{background:#e9f7ee;border:1px solid #58b78b;box-shadow:inset 0 0 0 1px #58b78b}
.practice-v6 .mode-symbol{width:34px;height:31px;display:grid;place-items:center;border-radius:9px;background:#eaf4ee;font-size:16px;font-weight:900;letter-spacing:-.9px;color:#28996c;margin-bottom:4px}
.practice-v6 .mode-tile.active .mode-symbol{background:var(--jade);color:white}
.practice-v6 .mode-tile strong{font-size:12px;font-weight:850;white-space:nowrap}
.practice-v6 .mode-tile small{font-size:10px;color:#8b9c94;white-space:nowrap}
.practice-v6 .workspace{padding:0;overflow:hidden}
.practice-v6 .workspace-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:22px 22px 10px}
.practice-v6 .workspace-heading p{font-size:12px;line-height:1.7;color:#85988d;max-width:540px;margin:5px 0 0}
.practice-v6 .difficulty-pill{padding:5px 11px;border-radius:50px;background:#edf8f1;color:#279866;font-size:10px;font-weight:850;white-space:nowrap}
.practice-v6 .config-row{padding:13px 22px 17px;display:flex;align-items:end;gap:11px;flex-wrap:wrap;border-bottom:1px solid #edf3ef}
.practice-v6 .practice-label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:#71847b;min-width:0}
.practice-v6 .config-row .practice-label{flex:1 1 125px}
.practice-v6 .practice-label select{height:38px;max-width:100%;width:100%;padding:0 29px 0 11px;border:1px solid #dae8df;border-radius:8px;background:white;color:#274137;font-size:12px;font-weight:650;outline:none;cursor:pointer}
.practice-v6 .practice-label select:focus{border-color:var(--jade)}
.practice-v6 .options-toggle{height:38px;border:1px solid #dbeae2;background:#f8fbf9;color:#47675a;border-radius:8px;padding:0 10px;font-weight:750;font-size:11px}
.practice-v6 .extra-options{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 22px;background:#f7fbf8;border-bottom:1px solid #edf3ef}
.practice-v6 .extra-options[hidden]{display:none}
.practice-v6 .extra-options .practice-label{flex:0 1 140px}
.practice-v6 .switch-line{display:flex;align-items:center;gap:7px;font-size:11px;color:#607c6d;cursor:pointer}
.practice-v6 .switch-line input{accent-color:var(--jade);width:15px;height:15px}
.practice-v6 .session-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:20px 23px 17px;font-size:11px;color:#7b9386}
.practice-v6 .session-head>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.practice-v6 .session-head #sessionState{color:#298661;font-weight:800}
.practice-v6 .session-dot{width:7px;height:7px;background:#78b89c;display:inline-block;border-radius:50%}
.practice-v6 .session-dot.running{background:#20aa68;box-shadow:0 0 0 4px #e2f7ea}
.practice-v6 .session-dot.paused{background:#e2a340}
.practice-v6 .session-separator{color:#a4b0a9}
.practice-v6 #sessionProgressLabel{font-size:10px;color:#a2afa7}
.practice-v6 .live-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:0 23px 18px;gap:16px}
.practice-v6 .live-stats>div{padding:0 0 0 13px;border-left:1px solid #e7f0eb}
.practice-v6 .live-stats>div:first-child{padding-left:0;border-left:0}
.practice-v6 .live-stats small{display:block;font-size:10px;color:#9ba99f;letter-spacing:1px;font-weight:850;margin-bottom:6px}
.practice-v6 .live-stats strong{font-size:clamp(19px,2.7vw,29px);font-weight:850;line-height:1.1;color:#244037;letter-spacing:-.9px}
.practice-v6 .live-stats>div:first-child strong{color:#14a06d}
.practice-v6 .live-stats em{font-size:11px;font-style:normal;font-weight:650;letter-spacing:0;color:#8da397}
.practice-v6 .practice-meter{background:#eaf4ee;height:4px;margin:0 23px 22px;border-radius:10px;overflow:hidden}
.practice-v6 .practice-meter>span{width:0%;height:100%;display:block;background:var(--jade);transition:width .1s}
.practice-v6 .prompt-header{padding:0 23px 9px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.practice-v6 .prompt-header strong{font-size:10px;letter-spacing:1.1px;color:#97a99e}
.practice-v6 .prompt-header span{font-size:10px;color:#9bad9f;text-align:right}
.practice-v6 .practice-prompt{margin:0 23px 15px;padding:18px;min-height:158px;border:1px solid #e5eee9;border-radius:12px;background:#f9fcfa;font-family:'SFMono-Regular',Consolas,'DejaVu Sans Mono',monospace;font-size:21px;line-height:1.95;letter-spacing:.2px;white-space:pre-wrap;overflow-wrap:anywhere;color:#92a79c;contain:content}
.practice-v6 .practice-prompt.size-large{font-size:24px}
.practice-v6 .practice-prompt.size-extra{font-size:28px}
.practice-v6 .practice-prompt span.correct{color:#1c996b}
.practice-v6 .practice-prompt span.incorrect{background:#ffe9ea;color:#b94756;border-radius:2px}
.practice-v6 .practice-prompt span.current{border-left:2px solid #149967;margin-left:-2px;background:#def3e7;color:#335e4e;animation:caret-pulse 1.1s infinite}
.practice-v6 .practice-prompt:focus-within span.current{animation:none}
@keyframes caret-pulse{50%{border-color:transparent}}
.practice-v6 .practice-input-label{display:block;padding:0 23px 8px;font-size:11px;color:#6d8879}
.practice-v6 .practice-input{display:block;width:calc(100% - 46px);min-height:91px;margin:0 23px;resize:vertical;background:white;border:1px solid #cce4d6;border-radius:10px;outline:none;color:#294d3a;padding:13px 15px;font-family:inherit;font-size:16px;line-height:1.6}
.practice-v6 .practice-input::placeholder{color:#a5b8ac}
.practice-v6 .practice-input:focus{border-color:var(--jade);box-shadow:0 0 0 3px #e7f6ee}
.practice-v6 .practice-input:disabled{background:#f4f9f6;color:#8c9c92}
.practice-v6 .workspace-actions{padding:16px 23px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.practice-v6 .action-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.practice-v6 .main-btn{min-height:39px;padding:0 16px;font-size:12px}
.practice-v6 .soft-btn{min-height:39px;padding:0 11px;font-size:11px}
.practice-v6 button:disabled{opacity:.45;cursor:not-allowed}
.practice-v6 .keyboard-hint{font-size:10px;color:#a2afa5}
.practice-v6 .practice-status{margin:0;padding:0 23px 19px;color:#92a49a;font-size:11px;min-height:20px}
.practice-v6 .practice-status.warning{color:#bf6a35}
.practice-v6 .practice-status.success{color:#14845a}
.practice-v6 .results-panel{border-color:#b9dec9;background:linear-gradient(180deg,#fbfffc,#fff)}
.practice-v6 .results-panel[hidden]{display:none}
.practice-v6 .results-panel>p{color:#798f82;font-size:13px}
.practice-v6 .result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 20px}
.practice-v6 .result-metrics>div{border:1px solid #e3f0e7;border-radius:12px;padding:15px 13px;background:#f6fbf8}
.practice-v6 .result-metrics small{display:block;font-size:10px;color:#8ba399}
.practice-v6 .result-metrics strong{display:block;font-size:22px;color:#1b8156}
.practice-v6 .result-insights{display:grid;grid-template-columns:1fr 1.1fr;gap:16px}
.practice-v6 .result-insights>div{background:white;border:1px solid #e4ede7;border-radius:12px;padding:15px}
.practice-v6 .result-insights h3,.practice-v6 .history-footer h3{margin:0 0 12px;font-size:13px}
.practice-v6 .result-insights p{font-size:12px;color:#647d6f;line-height:1.6}
.practice-v6 .key-chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.practice-v6 .key-chips span{background:#fff0f1;color:#b14b5b;border:1px solid #f2d5dc;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:850}
.practice-v6 .progress-description{color:#82988a;font-size:12px;margin:-4px 0 17px}
.practice-v6 .chart-period{width:134px}
.practice-v6 .history-chart{height:175px;border:1px solid #ebf1ed;border-radius:12px;background:linear-gradient(#fafdfb,#fff);display:flex;align-items:stretch;gap:6px;padding:17px 14px 10px;overflow:hidden}
.practice-v6 .chart-empty{margin:auto;color:#98ab9d;font-size:12px;text-align:center;line-height:1.7}
.practice-v6 .chart-column{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:4px}
.practice-v6 .chart-plot{height:115px;width:100%;display:flex;align-items:end;justify-content:center;position:relative;border-bottom:1px solid #e1efe5}
.practice-v6 .chart-bar{width:min(100%,30px);min-height:0;background:#a1d9bc;border-radius:5px 5px 0 0;transition:height .25s}
.practice-v6 .chart-column:last-child .chart-bar{background:#1a9d6a}
.practice-v6 .chart-value{font-size:9px;color:#588873;font-weight:800}
.practice-v6 .chart-day{font-size:9px;color:#9daa9e;white-space:nowrap}
.practice-v6 .history-summary{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 23px}
.practice-v6 .history-summary span{border-radius:8px;background:#f3faf5;padding:7px 10px;font-size:11px;color:#4c8062}
.practice-v6 .history-footer{border-top:1px solid #edf3ee;padding:16px 0 8px;display:flex;align-items:center;justify-content:space-between}
.practice-v6 .history-footer h3{margin:0}
.practice-v6 .history-clear{border:0;background:none;color:#a0afa4;font-size:11px;padding:6px}
.practice-v6 .history-clear:hover{color:#b65462;text-decoration:underline}
.practice-v6 .session-record{padding:12px 0;border-bottom:1px solid #eff3f0;display:flex;gap:10px;align-items:center;font-size:11px;color:#788d80}
.practice-v6 .session-record:last-child{border-bottom:0}
.practice-v6 .session-record>span:first-child{min-width:110px}
.practice-v6 .session-record strong{color:#227e54}
.practice-v6 .session-record .record-mode{flex:1;color:#4e685a;font-weight:750}
.practice-v6 .empty-history{font-size:12px;color:#9aac9e}
.practice-v6 .practice-sidebar{display:flex;flex-direction:column;gap:17px}
.practice-v6 .side-card{margin:0;padding:19px}
.practice-v6 .side-kicker{font-size:10px;color:var(--jade);font-weight:850;letter-spacing:1.1px;margin-bottom:15px}
.practice-v6 .goal-illustration{width:100%;height:85px;border-radius:13px;background:radial-gradient(circle at 28% 70%,#bcf0d4,transparent 38%),linear-gradient(125deg,#ecf9f0,#dbf4e3);font-size:70px;color:#239f6d;position:relative;text-align:center;line-height:82px;margin-bottom:15px}
.practice-v6 .goal-illustration span{position:absolute;top:5px;right:26%;font-size:27px;color:#60b88d}
.practice-v6 .side-card h2{font-size:17px;letter-spacing:-.45px;line-height:1.35}
.practice-v6 .side-card p{font-size:12px;line-height:1.7;color:#7a9385}
.practice-v6 .goal-note{font-size:10px!important;color:#6e987e!important}
.practice-v6 .step{display:flex;align-items:flex-start;gap:11px;padding:5px 0}
.practice-v6 .step>span{width:27px;height:27px;flex-shrink:0;border-radius:7px;background:#eaf7ef;color:#159e6a;font-size:11px;font-weight:800;display:grid;place-items:center}
.practice-v6 .step strong{font-size:12px}
.practice-v6 .step p{margin:2px 0 10px;font-size:11px}
.practice-v6 .side-links a{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#466f5c;font-weight:750;padding:11px 0;border-bottom:1px solid #edf4ee}
.practice-v6 .side-links a:last-child{border:0}
.practice-v6 .side-links a:hover{color:var(--jade)}
.practice-v6 .practice-guide{padding:23px 0 65px}
.practice-v6 .practice-guide>h2{font-size:23px;margin-bottom:20px}
.practice-v6 .guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.practice-v6 .guide-grid article{background:#fff;border:1px solid var(--stroke);border-radius:14px;padding:19px}
.practice-v6 .guide-grid h3{font-size:14px;margin:0 0 10px}
.practice-v6 .guide-grid p{font-size:12px;color:#789084;margin:0;line-height:1.8}
.practice-v6 .guide-faq{max-width:780px;padding-top:25px}
.practice-v6 .guide-faq h2{font-size:19px;margin-bottom:11px}
.practice-v6 .guide-faq details{padding:12px 0;border-bottom:1px solid #dce9e0;font-size:12px}
.practice-v6 .guide-faq summary{cursor:pointer;color:#355b47;font-weight:750}
.practice-v6 .guide-faq details p{color:#789084;line-height:1.7}
@media(max-width:1040px){.practice-v6 .overview-strip{grid-template-columns:1.4fr 1fr 1fr}.practice-v6 .overview-callout{display:none}.practice-v6 .practice-shell{grid-template-columns:minmax(0,1fr) 240px;gap:14px}.practice-v6 .hero-badges{display:none}.practice-v6 .practice-panel{padding:18px}.practice-v6 .workspace{padding:0}}
@media(max-width:790px){.practice-v6 .practice-shell{grid-template-columns:1fr}.practice-v6 .practice-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-v6 .overview-strip{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:560px){.practice-v6 .practice-hero{padding-top:25px}.practice-v6 .practice-hero h1{font-size:36px}.practice-v6 .practice-hero p{font-size:12px}.practice-v6 .overview-item{padding:11px 9px;gap:8px}.practice-v6 .overview-icon{display:none}.practice-v6 .overview-copy strong{font-size:20px}.practice-v6 .overview-copy small{font-size:9px}.practice-v6 .overview-copy strong em{font-size:10px}.practice-v6 .practice-panel{padding:15px}.practice-v6 .workspace{padding:0}.practice-v6 .section-line{align-items:flex-start}.practice-v6 .section-note{display:none}.practice-v6 .mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.practice-v6 .mode-tile{padding:8px 5px}.practice-v6 .mode-symbol{width:26px;height:26px;font-size:13px;margin-bottom:3px}.practice-v6 .mode-tile strong{font-size:10px}.practice-v6 .mode-tile small{font-size:9px;white-space:normal;line-height:1.3;min-height:22px}.practice-v6 .workspace-heading{padding:17px 15px 5px}.practice-v6 .workspace-heading h2{font-size:17px}.practice-v6 .config-row{padding:12px 15px;gap:8px}.practice-v6 .config-row .practice-label{flex:1 1 105px}.practice-v6 .config-row .practice-label select{font-size:11px}.practice-v6 .options-toggle{margin-top:0}.practice-v6 .session-head{padding:15px 15px 13px}.practice-v6 .live-stats{padding:0 15px 17px;gap:7px}.practice-v6 .live-stats>div{padding-left:7px}.practice-v6 .live-stats strong{font-size:19px}.practice-v6 .live-stats em{font-size:9px}.practice-v6 .live-stats small{font-size:9px}.practice-v6 .practice-meter{margin:0 15px 17px}.practice-v6 .prompt-header{padding:0 15px 8px}.practice-v6 .prompt-header span{max-width:140px}.practice-v6 .practice-prompt{margin:0 15px 15px;padding:12px;min-height:145px;font-size:18px}.practice-v6 .practice-prompt.size-large{font-size:21px}.practice-v6 .practice-prompt.size-extra{font-size:24px}.practice-v6 .practice-input-label{padding:0 15px 7px}.practice-v6 .practice-input{width:calc(100% - 30px);margin:0 15px;font-size:16px}.practice-v6 .workspace-actions{padding:12px 15px}.practice-v6 .keyboard-hint{width:100%}.practice-v6 .practice-status{padding:0 15px 15px}.practice-v6 .result-metrics{grid-template-columns:repeat(2,1fr)}.practice-v6 .result-insights{grid-template-columns:1fr}.practice-v6 .practice-sidebar{grid-template-columns:1fr}.practice-v6 .goal-card .goal-illustration{display:none}.practice-v6 .guide-grid{grid-template-columns:1fr}.practice-v6 .session-record{flex-wrap:wrap}.practice-v6 .session-record>span:first-child{min-width:95px}.practice-v6 .history-chart{gap:3px;padding:15px 7px 10px}.practice-v6 .chart-day{font-size:8px}}
@media(prefers-reduced-motion:reduce){.practice-v6 .mode-tile,.practice-v6 .chart-bar,.practice-v6 .practice-meter>span{transition:none}.practice-v6 .practice-prompt span.current{animation:none}}
