/* TypeFlow v4 — premium home experience
   Loaded after the base stylesheet so the rest of the product keeps its
   existing auth/profile/admin styling while the public test page gets the
   polished competitive layout approved in the visual mockup. */

:root{
  --home-max:1580px;
  --home-primary:#5b4ff6;
  --home-primary-2:#8b45eb;
  --home-blue:#3d8bfd;
  --home-green:#16a765;
  --home-gold:#f2ad27;
  --home-navy:#0c1736;
  --home-card-shadow:0 18px 55px rgba(31,39,76,.08);
}

/* Floating premium navigation */
.site-header{
  height:90px;
  background:transparent;
  border:0;
  padding:12px 22px 0;
  backdrop-filter:none;
}
.header-inner{
  max-width:var(--home-max);
  height:66px;
  padding:0 28px;
  grid-template-columns:300px 1fr auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  box-shadow:0 10px 36px rgba(30,38,73,.08);
  backdrop-filter:blur(18px);
}
.brand{font-size:21px;letter-spacing:-.55px}.brand-symbol{width:38px;height:34px}.brand-symbol span{height:5px;background:linear-gradient(90deg,#5650f7,#8b4df1)}
.brand-symbol span:nth-child(1){width:32px;top:4px}.brand-symbol span:nth-child(2){width:23px;top:14px}.brand-symbol span:nth-child(3){width:14px;top:24px}
.main-nav{gap:34px}.main-nav a{font-size:15px;font-weight:720}.main-nav a.active:after{height:3px;bottom:-1px}
.header-actions{gap:12px}.theme-quick-toggle{border-radius:12px}.language-picker{border-left:1px solid var(--line);padding-left:17px}.primary-btn.compact{border-radius:11px}.outline-btn.compact{border-radius:11px}

/* Page background / hero */
.site-main{position:relative;overflow:hidden}.site-main:before{content:"";position:absolute;inset:0 0 auto; height:370px;pointer-events:none;background:radial-gradient(circle at 3% 58%,rgba(121,71,247,.16),transparent 25%),radial-gradient(circle at 50% 0,rgba(91,79,246,.07),transparent 30%)}
.premium-home{max-width:var(--home-max);padding-top:26px;position:relative;z-index:1}
.premium-hero{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:60px;padding:12px 18px 25px}
.hero-copy{max-width:690px}.hero-eyebrow{display:inline-flex;align-items:center;height:25px;padding:0 12px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));font-size:13px;letter-spacing:1.2px}
.premium-hero h1{margin:12px 0 6px;font-size:46px;line-height:1.02;letter-spacing:-1.8px;color:var(--text)}
.premium-hero p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.hero-proof{display:flex;align-items:center;justify-content:flex-end;gap:38px;min-width:520px;position:relative}.hero-proof:before{content:"";position:absolute;inset:-45px -15px -25px -120px;z-index:-1;opacity:.35;background-image:radial-gradient(color-mix(in srgb,var(--primary) 20%,transparent) 1px,transparent 1px);background-size:11px 11px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000)}
.proof-item{display:flex;align-items:center;gap:12px;white-space:nowrap}.proof-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:18px;color:#fff;box-shadow:0 8px 18px rgba(51,63,110,.12)}.proof-icon.violet{background:linear-gradient(145deg,#7756ff,#5a42e9)}.proof-icon.blue{background:linear-gradient(145deg,#66a8ff,#347df4)}.proof-icon.green{background:linear-gradient(145deg,#51c982,#19a866)}.proof-item strong{display:block;font-size:16px;letter-spacing:-.2px}.proof-item small{display:block;color:var(--muted);font-size:13px;margin-top:2px}

/* Main grid */
.premium-grid{grid-template-columns:minmax(0,2.35fr) minmax(350px,.83fr);gap:28px}
.premium-typing-panel{padding:0;overflow:hidden;border-radius:20px;box-shadow:var(--home-card-shadow);border-color:color-mix(in srgb,var(--line) 88%,var(--primary) 12%)}
.test-config-row{display:grid;grid-template-columns:1.05fr 1.18fr;gap:28px;padding:22px 24px 18px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent)}
.control-heading{height:22px;margin-bottom:10px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:800}.control-icon{width:22px;height:22px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:50%;font-size:12.5px;color:var(--primary);background:var(--primary-soft)}
.premium-typing-panel .option-btn{height:38px;padding:0 15px;border-radius:9px;background:var(--surface);font-size:13px;box-shadow:none}.premium-typing-panel .option-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--primary-soft));border-color:color-mix(in srgb,var(--primary) 58%,var(--line));box-shadow:0 5px 14px var(--primary-shadow)}.sliders-glyph{font-size:13px;margin-left:5px;color:var(--muted)}

/* Independent typing-language selector */
.typing-language-control{margin:16px 24px 0;min-height:65px;display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 3%,var(--surface)),var(--surface));box-shadow:0 8px 22px rgba(69,60,180,.045)}
.typing-language-label{display:flex;align-items:center;gap:10px;min-width:0}.language-globe{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-size:18px}.typing-language-label strong{display:block;font-size:14px}.typing-language-label small{display:none}
.typing-language-options{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:7px;min-width:0}.typing-lang-btn{height:40px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:.15s}.typing-lang-btn span{font-size:17px}.typing-lang-btn:hover{background:var(--surface-3)}.typing-lang-btn.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));background:var(--surface);color:var(--primary);box-shadow:0 5px 14px var(--primary-shadow)}
.workspace-tools{display:flex;gap:6px}.tool-icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer}.tool-icon-btn:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--line));color:var(--primary)}

/* Content modes and typing surface */
.premium-content-tabs{margin:15px 24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;background:transparent;display:flex;gap:34px}.premium-content-tabs .content-mode{width:auto;min-width:130px;height:42px;border:0!important;background:transparent!important;box-shadow:none!important;position:relative;font-size:14px}.premium-content-tabs .content-mode.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--primary),#8c52f3);border-radius:99px}.tab-glyph{font-size:16px;margin-right:6px}
.premium-typing-panel .custom-text-box{margin:14px 24px 0}
.premium-workspace{margin:0 24px 0;border:0;border-radius:0;background:transparent;overflow:visible}.premium-workspace .word-viewport{height:154px;margin-top:0;padding:15px 14px 8px;background:transparent;border:0;overflow:hidden}.premium-workspace .word-stream{gap:7px 11px;line-height:1.58;font-size:25px;font-weight:650;letter-spacing:.12px}.premium-workspace .test-word{padding:0 4px;border-radius:6px}.premium-workspace .typing-entry-wrap{margin:0;border:1px solid color-mix(in srgb,var(--primary) 48%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--primary) 1.8%,var(--surface));overflow:hidden;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 4%,transparent)}.premium-workspace .typing-entry-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent)}.premium-workspace .typing-input{height:54px;font-size:16px;padding-left:16px}.premium-workspace .space-tip{border-radius:7px;color:var(--muted)}
.word-viewport[data-highlight="box"] .test-word.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,var(--surface)),color-mix(in srgb,#8e65ff 10%,var(--surface)));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}
.test-word.word-correct{color:var(--green)}.test-word.word-wrong{color:var(--red)}

/* Metrics */
.premium-metrics{grid-template-columns:repeat(7,1fr);margin:18px 0 0;padding:0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
.premium-metrics .metric{min-height:70px;gap:9px}.premium-metrics .metric small{font-size:12px}.premium-metrics .metric strong{font-size:18px}.premium-metrics .metric-icon{width:26px;text-align:center}.metric-icon.lightning{color:#3f7cff}.premium-actions{padding:14px 24px 0;gap:10px}.premium-actions .start-test{min-width:270px;height:47px;border-radius:10px;background:linear-gradient(110deg,#4c53f6,#8b45ec);box-shadow:0 12px 24px rgba(92,75,238,.24)}.premium-actions .reset-test{min-width:145px;height:47px}.play-icon{font-size:13px}.premium-typing-panel .test-status{padding-bottom:16px;color:var(--faint);font-size:12.5px}

/* Right rail */
.premium-side-stack{gap:18px}.premium-side-card{border-radius:19px;box-shadow:var(--home-card-shadow);overflow:hidden}.premium-side-card .section-head{padding:19px 20px 13px}.premium-side-card .section-head h2{font-size:18px;letter-spacing:-.35px}.premium-side-card .section-head a,.premium-side-card .subtle-link{font-size:12.5px;color:var(--primary);font-weight:750}.head-icon{width:27px;height:27px;display:inline-grid;place-items:center;margin-right:8px;color:var(--primary);background:var(--primary-soft);border-radius:8px}.daily-main{padding:6px 20px 12px;display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center}.progress-ring{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--primary) calc(var(--progress)*1%),var(--surface-3) 0);box-shadow:inset 0 0 0 1px var(--line)}.progress-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface)}.progress-ring span{position:relative;z-index:1;font-weight:900;font-size:18px}.daily-copy strong{font-size:14.5px}.daily-copy small{color:var(--muted);font-size:12.5px}.thin-progress{height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin:12px 0 9px}.thin-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8a4bed);border-radius:99px}.daily-cta{height:44px;margin:0 20px 14px;width:calc(100% - 40px);border:1px solid color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:10px;background:transparent;color:var(--primary);font-weight:800;cursor:pointer}.daily-cta:hover{background:var(--primary-soft)}.daily-reset{padding:0 20px 12px;text-align:right;color:var(--faint);font-size:12px}
.premium-side-card.leaderboard-card{padding-bottom:14px}.leader-tabs{margin:0 20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.leader-tab{height:38px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:750;position:relative;cursor:pointer}.leader-tab.active{color:var(--primary)}.leader-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary)}.leader-list{padding:7px 20px 3px;margin:0;list-style:none}.leader-list li{min-height:44px;display:grid;grid-template-columns:24px 34px 1fr 32px auto;align-items:center;gap:8px;border-bottom:0}.leader-list .rank{font-size:13px;font-weight:800}.rank-1,.rank-2,.rank-3{width:21px;height:21px;border-radius:50%;display:grid;place-items:center}.rank-1{background:#ffe7a2;color:#a96b00}.rank-2{background:#edf0f5;color:#657087}.rank-3{background:#ffe0c1;color:#9d5525}.leader-list .avatar{width:30px;height:30px}.leader-list .leader-name{font-size:14px;font-weight:720;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-list .country-badge{font-size:12.5px;color:var(--muted)}.leader-list strong{font-size:13px;color:var(--text);white-space:nowrap}.leaderboard-all-btn{height:43px;margin:5px 20px 0;border:1px solid color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:10px;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--primary);font-size:13px;font-weight:800}.leaderboard-all-btn:hover{background:var(--primary-soft)}

/* Summary cards */
.premium-summary-grid{grid-template-columns:1.05fr 1fr 1fr 1.2fr 1.2fr;gap:18px;margin-top:22px}.premium-summary-grid .summary-card{min-height:122px;padding:18px 20px;border-radius:16px;box-shadow:0 12px 32px rgba(31,39,76,.055)}.premium-summary-grid .summary-card span{font-size:13px;font-weight:780}.premium-summary-grid .summary-card strong{font-size:26px;letter-spacing:-.8px;margin-top:8px}.premium-summary-grid .summary-card small{font-size:12.5px;color:var(--muted);margin-top:5px}.result-card{background:linear-gradient(135deg,color-mix(in srgb,#845cff 8%,var(--surface)),var(--surface))}.best-card{background:linear-gradient(135deg,color-mix(in srgb,#64a7ff 8%,var(--surface)),var(--surface))}.rank-card{background:linear-gradient(135deg,color-mix(in srgb,#48c785 9%,var(--surface)),var(--surface))}.progress-card{background:linear-gradient(135deg,color-mix(in srgb,#f4b14b 9%,var(--surface)),var(--surface))}.premium-card{position:relative;background:linear-gradient(135deg,#151746,#28156a)!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important}.premium-card span,.premium-card small{color:#fff}.premium-card small{opacity:.75!important;line-height:1.4}.premium-diamond{font-size:20px!important;color:#ffbf44!important}.premium-arrow{position:absolute;right:16px;bottom:16px;width:35px;height:35px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;font-size:18px!important}.sparkline{align-self:flex-end}

/* Keep SEO useful but visually secondary to the app */
.premium-home .seo-section{margin-top:50px;padding-top:34px;border-top:1px solid var(--line)}

/* Fullscreen / focus */
#typing-panel:fullscreen{background:var(--bg);padding:4vh 8vw;overflow:auto;border-radius:0}.focus-test .site-header,.focus-test .premium-hero,.focus-test .premium-side-stack,.focus-test .premium-summary-grid,.focus-test .seo-section,.focus-test .footer{display:none!important}.focus-test .premium-home{max-width:1180px;padding-top:7vh}.focus-test .premium-grid{display:block}.focus-test .premium-typing-panel{box-shadow:0 25px 80px rgba(0,0,0,.13)}

/* Dark mode — not an afterthought */
html[data-theme="dark"] .site-main:before{background:radial-gradient(circle at 3% 58%,rgba(121,71,247,.18),transparent 24%),radial-gradient(circle at 50% 0,rgba(74,105,255,.09),transparent 30%)}
html[data-theme="dark"] .header-inner{box-shadow:0 14px 40px rgba(0,0,0,.3)}
html[data-theme="dark"] .premium-typing-panel,html[data-theme="dark"] .premium-side-card,html[data-theme="dark"] .premium-summary-grid .summary-card{box-shadow:0 20px 50px rgba(0,0,0,.2)}
html[data-theme="dark"] .typing-language-control{background:linear-gradient(180deg,rgba(119,112,255,.04),var(--surface))}
html[data-theme="dark"] .premium-card{background:linear-gradient(135deg,#1c1a57,#311b76)!important}
html[data-theme="dark"] .proof-icon{box-shadow:0 8px 22px rgba(0,0,0,.22)}

/* Responsive */
@media(max-width:1320px){
  .header-inner{grid-template-columns:250px 1fr auto}.main-nav{gap:21px}.premium-hero{gap:28px}.hero-proof{min-width:450px;gap:22px}.premium-grid{grid-template-columns:minmax(0,1.9fr) 335px}.typing-language-control{grid-template-columns:150px 1fr auto}.typing-language-options{grid-template-columns:repeat(5,minmax(82px,1fr))}.typing-lang-btn{font-size:12.5px}.premium-summary-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1060px){
  .site-header{padding-inline:12px}.header-inner{grid-template-columns:1fr auto;padding:0 18px}.main-nav{display:none;position:absolute;top:78px;left:20px;right:20px;height:auto;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{height:44px;padding:0 10px}.main-nav a.active:after{display:none}.mobile-menu{display:grid;position:absolute;right:250px}.premium-hero{align-items:flex-start;flex-direction:column}.hero-proof{min-width:0;width:100%;justify-content:flex-start}.premium-grid{grid-template-columns:1fr}.premium-side-stack{display:grid;grid-template-columns:1fr 1fr}.test-config-row{grid-template-columns:1fr}.typing-language-control{grid-template-columns:1fr auto}.typing-language-options{grid-column:1/-1;grid-row:2}.typing-language-label small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.premium-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-header{height:78px;padding-top:8px}.header-inner{height:60px;border-radius:14px}.brand{font-size:17px}.brand-symbol{transform:scale(.85)}.header-actions .language-picker{display:none}.header-actions .outline-btn.compact{display:none}.mobile-menu{right:145px}.premium-home{padding:20px 14px}.premium-hero{padding:5px 5px 20px;gap:22px}.premium-hero h1{font-size:34px;letter-spacing:-1.1px}.premium-hero p{font-size:14.5px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.proof-item{gap:7px}.proof-icon{width:34px;height:34px;font-size:15px}.proof-item strong{font-size:14px}.proof-item small{font-size:11.5px}.premium-grid{gap:16px}.premium-typing-panel{border-radius:15px}.test-config-row{padding:17px 14px 13px;gap:17px}.typing-language-control{margin:12px 14px 0;padding:9px}.typing-language-options{display:flex;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.typing-language-options::-webkit-scrollbar{display:none}.typing-lang-btn{min-width:110px}.workspace-tools{position:absolute;right:28px;margin-top:-46px}.premium-content-tabs{margin-inline:14px;gap:3px;display:grid;grid-template-columns:repeat(3,1fr)}.premium-content-tabs .content-mode{min-width:0}.premium-workspace{margin-inline:14px}.premium-workspace .word-viewport{height:172px;padding-inline:5px}.premium-workspace .word-stream{font-size:22px;gap:5px 8px}.premium-metrics{grid-template-columns:repeat(4,1fr);padding:0}.premium-metrics .metric{min-height:62px}.premium-metrics .metric:nth-child(4){border-right:0}.premium-metrics .metric:nth-child(n+5){border-top:1px solid var(--line)}.premium-actions{padding:13px 14px 0}.premium-actions .start-test,.premium-actions .reset-test{min-width:0;flex:1}.premium-side-stack{display:block}.premium-side-stack>*+*{margin-top:16px}.premium-summary-grid{grid-template-columns:1fr}.premium-home .seo-section{margin-top:30px}.footer{padding-inline:20px}.space-tip{display:none}
}
@media(max-width:480px){
  .header-actions .theme-quick-toggle{display:none}.mobile-menu{right:113px}.header-inner{padding-inline:14px}.primary-btn.compact{padding-inline:12px}.premium-hero h1{font-size:30px}.hero-proof{grid-template-columns:1fr 1fr}.hero-proof .proof-item:last-child{display:none}.test-config-row .segmented{gap:5px}.premium-typing-panel .option-btn{height:35px;padding:0 10px;font-size:12.5px}.typing-language-control{grid-template-columns:1fr}.workspace-tools{display:none}.premium-metrics{grid-template-columns:repeat(2,1fr)}.premium-metrics .metric:nth-child(n){border-top:1px solid var(--line);border-right:1px solid var(--line)}.premium-metrics .metric:nth-child(1),.premium-metrics .metric:nth-child(2){border-top:0}.premium-metrics .metric:nth-child(even){border-right:0}.premium-actions{flex-direction:column}.premium-actions .start-test,.premium-actions .reset-test{width:100%}
}

/* Compact light/dark control in the header */
.theme-quick-toggle{width:92px;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer}.theme-quick-toggle:hover{border-color:color-mix(in srgb,var(--primary) 36%,var(--line))}.theme-sun,.theme-moon{font-size:14.5px;line-height:1}.theme-switch-dot{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6756f8,#9149eb);box-shadow:0 5px 14px var(--primary-shadow);transition:.18s}.theme-moon{opacity:.55}html[data-theme="dark"] .theme-switch-dot{transform:translateX(1px);background:linear-gradient(135deg,#887cff,#5b67ff)}html[data-theme="dark"] .theme-sun{opacity:.55}html[data-theme="dark"] .theme-moon{opacity:1}

/* Freeze configuration while a timed run is active. */
.premium-typing-panel .option-btn:disabled,.premium-typing-panel .content-mode:disabled,.typing-lang-btn:disabled{cursor:not-allowed;opacity:.5}.premium-typing-panel.config-locked .typing-language-control,.premium-typing-panel.config-locked .test-config-row,.premium-typing-panel.config-locked .premium-content-tabs{user-select:none}
