/* TypeFlow V6 — social/ranked/challenge/analytics layer */
.v6-page{max-width:1280px;padding:32px 22px 54px}.v6-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.v6-page-head h1{font-size:40px;letter-spacing:-1.3px;margin:5px 0 7px}.v6-page-head p{font-size:16px;color:var(--muted);line-height:1.65;margin:0;max-width:720px}.v6-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.v6-panel{padding:22px;border-radius:18px}.v6-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.v6-panel-head h2{margin:3px 0 0;font-size:20px}.v6-panel-head>a{font-size:13px;color:var(--primary);font-weight:800}.v6-count{min-width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:13px;font-weight:900}.v6-empty{padding:24px 10px;text-align:center;color:var(--muted);font-size:14px}.v6-empty.wide{grid-column:1/-1}.v6-subtitle{margin:18px 0 7px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.v6-invite-banner,.duel-invite-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface))}.v6-invite-banner>div:first-child,.duel-invite-strip>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:9px}.v6-invite-banner strong,.duel-invite-strip strong{font-size:15px}.v6-invite-banner small,.duel-invite-strip small{grid-column:2;color:var(--muted);font-size:13px}.v6-pulse{color:#21b66f;animation:v6pulse 1.2s infinite}@keyframes v6pulse{50%{opacity:.3}}.v6-invite-list,.duel-invite-strip>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v6-invite-list a,.duel-invite-strip a{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--text);background:var(--surface);font-size:13px}.v6-invite-list a span{color:var(--muted)}.v6-invite-list code,.duel-invite-strip code{color:var(--primary);font-weight:900}
.v6-search{display:grid;grid-template-columns:1fr auto;gap:9px}.v6-search input,.v6-page input,.v6-page select{height:45px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:0 13px;font-size:15px}.v6-user-list{display:grid;gap:4px;margin-top:14px}.v6-user-list article{min-height:60px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:7px 0}.v6-user-list article:last-child{border-bottom:0}.v6-user-list strong,.v6-user-list small{display:block}.v6-user-list strong{font-size:14px}.v6-user-list small{font-size:12.5px;color:var(--muted);margin-top:2px}.v6-row-actions{display:flex;gap:7px}.compact-list article{grid-template-columns:auto 1fr}.v6-friends-panel{margin-top:18px}.v6-friend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v6-friend-card{border:1px solid var(--line);background:var(--surface-2);border-radius:15px;padding:16px;display:grid;gap:13px}.v6-friend-top{display:flex;align-items:center;gap:11px}.v6-friend-top strong,.v6-friend-top small{display:block}.v6-friend-top small{font-size:12px;color:var(--muted)}.v6-friend-card .primary-btn{width:100%}.text-danger{border:0;background:transparent;color:#df4553;font-size:12px;cursor:pointer;width:100%}
/* Duel V6 */
.v6-duel-hero{align-items:center}.ranked-profile-chip{display:flex;align-items:center;gap:13px;min-width:260px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:16px;background:linear-gradient(135deg,var(--primary-soft),var(--surface));box-shadow:0 10px 28px var(--primary-shadow)}.rank-emblem{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#625cff,#9d52ef);color:#fff;font-size:22px;box-shadow:0 8px 18px var(--primary-shadow)}.ranked-profile-chip small,.ranked-profile-chip strong,.ranked-profile-chip span{display:block}.ranked-profile-chip small{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800}.ranked-profile-chip strong{font-size:16px;margin:2px 0}.ranked-profile-chip>div>span{font-size:12px;color:var(--muted)}.v6-duel-modes{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.v6-duel-modes .duel-mode-card{width:100%;text-align:left;cursor:pointer;color:var(--text)}.duel-private-config{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.duel-private-config[hidden]{display:none}.private-room-action{display:flex;align-items:center;justify-content:space-between;gap:15px}.private-room-action strong,.private-room-action small{display:block}.private-room-action small{font-size:12.5px;color:var(--muted);margin-top:3px}.private-room-divider{font-size:12px;color:var(--faint);font-weight:800;text-transform:uppercase}.private-room-join{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.private-room-join label,.private-room-options label{display:flex;flex-direction:column;gap:6px}.private-room-join label span,.private-room-options label span{font-size:12px;color:var(--muted);font-weight:800}.private-room-options{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:13px}.room-code-display{width:min(420px,100%);margin:0 auto 17px;padding:15px;border:1px dashed color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:14px;background:var(--primary-soft)}.room-code-display small,.room-code-display strong,.room-code-display span{display:block}.room-code-display strong{font:900 30px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--primary);margin:5px 0}.room-code-display span{font-size:12px;color:var(--muted)}.ranked-match-badge{display:inline-flex!important;margin-top:4px;padding:3px 7px;border-radius:999px;background:#fff3d5;color:#b57a00!important;font-size:10px!important;font-weight:900!important}.rating-reveal{display:flex;align-items:center;justify-content:center;gap:18px;margin:-5px auto 22px;padding:13px 18px;max-width:650px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.rating-reveal>div small,.rating-reveal>div strong{display:block}.rating-reveal>div small{font-size:11px;color:var(--muted)}.rating-reveal>div strong{font-size:21px}.rating-reveal>span{font-size:20px;font-weight:900;color:var(--muted)}.rating-reveal>span.positive{color:#10a968}.rating-reveal>span.negative{color:#e54c59}.rating-reveal>b{padding:5px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px}.duel-meta-panels{margin-top:20px}.duel-meta-panels .duel-history{margin:0}.season-panel{padding:23px}.season-rank-number{font-size:25px;font-weight:900;color:var(--primary)}.season-rank-hero{display:flex;align-items:center;gap:12px;padding:15px;border-radius:14px;background:linear-gradient(135deg,var(--primary-soft),var(--surface-2));margin:10px 0 13px}.season-rank-hero>span:not(.tier-emblem){width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--primary);color:#fff;font-size:22px}.season-rank-hero strong,.season-rank-hero b{display:block}.season-rank-hero strong{font-size:18px}.season-rank-hero b{font-size:13px;color:var(--primary);margin-top:2px}.season-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.season-stat-grid div{padding:12px;text-align:center;border-right:1px solid var(--line)}.season-stat-grid div:last-child{border-right:0}.season-stat-grid strong,.season-stat-grid small{display:block}.season-stat-grid strong{font-size:18px}.season-stat-grid small{font-size:11px;color:var(--muted);margin-top:2px}
/* Daily challenge */
.challenge-head{align-items:center}.season-chip{min-width:210px;padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);text-align:right}.season-chip span,.season-chip strong,.season-chip small{display:block}.season-chip span{font-size:13px;color:var(--primary);font-weight:850}.season-chip strong{font-size:15px;margin:2px 0}.season-chip small{font-size:11px;color:var(--muted)}.challenge-langs{display:flex;gap:6px;padding:7px;margin-bottom:17px;overflow:auto}.challenge-langs a{flex:1;min-width:120px;padding:10px 12px;border-radius:9px;text-align:center;color:var(--muted);font-size:13px;font-weight:800}.challenge-langs a.active{background:var(--primary-soft);color:var(--primary)}.challenge-arena{padding:0;overflow:hidden}.challenge-topline{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid var(--line);background:var(--surface-2)}.challenge-topline>div:first-child{display:flex;align-items:center;gap:12px}.challenge-topline>div:last-child{text-align:right}.challenge-topline small,.challenge-topline strong{display:block}.challenge-topline small{font-size:11px;color:var(--muted)}.challenge-word-viewport{height:230px;overflow:hidden;padding:24px 27px;background:linear-gradient(180deg,var(--surface),var(--surface-2))}.challenge-word-stream{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px 13px;font-size:27px;line-height:1.55;font-weight:680}.challenge-word{padding:1px 4px;border-radius:7px}.challenge-word.active{background:var(--primary-soft);color:var(--primary)}.challenge-word.correct{color:#10a968}.challenge-word.wrong{color:#e54c59;text-decoration:underline}.challenge-input-wrap{position:relative;margin:0 26px;border:1px solid color-mix(in srgb,var(--primary) 50%,var(--line));border-radius:11px;background:var(--surface)}.challenge-input-wrap input{width:100%;height:58px;border:0;outline:0;background:transparent;color:var(--text);font-size:18px;padding:0 90px 0 16px}.challenge-input-wrap span{position:absolute;right:11px;top:50%;transform:translateY(-50%);padding:4px 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:11px}.challenge-live-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.challenge-live-stats>div{text-align:center;padding:13px;border-right:1px solid var(--line)}.challenge-live-stats>div:last-child{border-right:0}.challenge-live-stats small,.challenge-live-stats strong{display:block}.challenge-live-stats small{font-size:12px;color:var(--muted)}.challenge-live-stats strong{font-size:22px;margin-top:2px}.challenge-actions{display:flex;align-items:center;justify-content:center;gap:18px;padding:17px 22px 20px}.challenge-pb{font-size:13px;color:var(--muted)}.challenge-result{margin-top:17px;padding:25px;text-align:center}.challenge-result h2{font-size:24px;margin:5px 0 18px}.challenge-result-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:780px;margin:0 auto 18px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.challenge-result-grid>div{padding:15px;border-right:1px solid var(--line)}.challenge-result-grid>div:last-child{border-right:0}.challenge-result-grid strong,.challenge-result-grid small{display:block}.challenge-result-grid strong{font-size:25px}.challenge-result-grid small{font-size:11px;color:var(--muted)}.challenge-boards{margin-top:18px}.v6-ranking-list{display:grid}.v6-ranking-list>div{display:grid;grid-template-columns:40px 1fr auto 60px;gap:8px;align-items:center;min-height:47px;border-bottom:1px solid var(--line);font-size:13px}.v6-ranking-list>div:last-child{border-bottom:0}.v6-ranking-list b{color:var(--muted)}.v6-ranking-list strong{text-align:right}.v6-ranking-list small{text-align:right;color:var(--muted)}
/* Profile analytics */
.profile-v6-analytics{margin-top:20px;padding:24px}.analytics-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:13px}.analytics-card{border:1px solid var(--line);border-radius:15px;background:var(--surface-2);padding:16px;min-height:170px}.analytics-card.wide{grid-row:span 2}.analytics-card h3{font-size:15px;margin:0 0 12px}.analytics-list{display:grid;gap:7px}.analytics-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding-bottom:6px;border-bottom:1px solid var(--line)}.analytics-list>div:last-child{border-bottom:0}.analytics-list b{color:var(--primary)}.trend-chart{height:180px;display:flex;align-items:flex-end;gap:5px;padding-top:20px}.trend-bar{flex:1;min-width:4px;max-width:18px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--primary),var(--primary-2));opacity:.86;position:relative}.trend-bar:hover{opacity:1}.trend-bar span{display:none;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 5px;border-radius:5px;background:var(--text);color:var(--surface);font-size:10px}.trend-bar:hover span{display:block}.analytics-empty{font-size:13px;color:var(--muted);padding:15px 0}
/* Admin V6 */
.admin-v6-section{margin-top:18px}.anti-cheat-reason{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.severity-high{color:#e04755;font-weight:800}.severity-medium{color:#c78513;font-weight:800}.v6-admin-season{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.v6-admin-season form{display:flex;gap:8px}.v6-admin-season input{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);color:var(--text)}
html[data-theme="dark"] .ranked-match-badge{background:#372d11;color:#f4ca65!important}
@media(max-width:1000px){.v6-friend-grid{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-card.wide{grid-column:1/-1;grid-row:auto}.duel-private-config{grid-template-columns:1fr}.private-room-divider{text-align:center}.private-room-options{grid-column:1}.v6-two-col{grid-template-columns:1fr}}
@media(max-width:680px){.v6-page{padding:22px 13px}.v6-page-head{align-items:flex-start;flex-direction:column}.v6-page-head h1{font-size:32px}.v6-friend-grid{grid-template-columns:1fr}.v6-duel-modes{grid-template-columns:1fr}.private-room-action{align-items:flex-start;flex-direction:column}.private-room-action .primary-btn{width:100%}.private-room-join{grid-template-columns:1fr}.private-room-join .outline-btn{height:44px}.ranked-profile-chip{width:100%}.rating-reveal{flex-wrap:wrap}.challenge-result-grid{grid-template-columns:1fr 1fr}.challenge-result-grid>div:nth-child(2){border-right:0}.challenge-result-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.challenge-word-viewport{padding:18px 14px}.challenge-word-stream{font-size:22px}.challenge-input-wrap{margin:0 14px}.challenge-actions{flex-direction:column}.analytics-grid{grid-template-columns:1fr}.analytics-card.wide{grid-column:auto}.v6-ranking-list>div{grid-template-columns:32px 1fr auto}.v6-ranking-list small{display:none}.v6-invite-banner,.duel-invite-strip{align-items:flex-start;flex-direction:column}.v6-invite-list,.duel-invite-strip>div:last-child{justify-content:flex-start}.v6-admin-season{grid-template-columns:1fr}.v6-admin-season form{flex-direction:column}}
.profile-ranked-v6{margin-top:20px;padding:24px}.profile-ranked-grid{display:grid;grid-template-columns:1.8fr repeat(4,1fr);border:1px solid var(--line);border-radius:15px;overflow:hidden}.profile-ranked-grid>div{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);background:var(--surface-2)}.profile-ranked-grid>div:last-child{border-right:0}.profile-ranked-grid strong{font-size:21px}.profile-ranked-grid small{font-size:11.5px;color:var(--muted);margin-top:3px}.profile-rank-main{flex-direction:row!important;justify-content:flex-start!important;gap:13px;padding:14px 18px}.profile-rank-main>div{display:flex;flex-direction:column;align-items:flex-start}.profile-rank-main strong{font-size:18px}.profile-rank-main b{font-size:13px;color:var(--primary);margin:2px 0}.profile-rank-main .rank-emblem{flex:0 0 46px}
@media(max-width:760px){.profile-ranked-grid{grid-template-columns:1fr 1fr}.profile-rank-main{grid-column:1/-1}.profile-ranked-grid>div{border-bottom:1px solid var(--line)}.profile-ranked-grid>div:nth-child(even){border-right:0}}
.online-dot-text{color:#11a967}.offline-dot-text{color:var(--muted)}
@media(min-width:1100px){.main-nav{gap:18px!important}.main-nav a{font-size:14px!important}}
.profile-analytics-actions{display:flex;align-items:center;gap:10px}.profile-analytics-actions>span{font-size:12.5px;color:var(--muted)}.practice-coach-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 20px;margin-bottom:16px}.practice-coach-summary>div>span{display:block;font-size:12px;color:var(--muted);font-weight:800;margin-bottom:8px}.practice-chip-row{display:flex;flex-wrap:wrap;gap:7px}.practice-chip-row b{padding:6px 9px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:13px}.practice-chip-row small{opacity:.7}.practice-arena{padding:0;overflow:hidden}.practice-arena-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);background:var(--surface-2)}.practice-arena-head>div:first-child{display:flex;gap:12px;align-items:center}.practice-arena-head small,.practice-arena-head strong{display:block}.practice-arena-head small{font-size:11px;color:var(--muted)}
@media(max-width:680px){.practice-coach-summary{grid-template-columns:1fr}.profile-analytics-actions{align-items:flex-end;flex-direction:column}}

/* V6 admin review states */
.admin-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.admin-flagged-row{background:color-mix(in srgb,#ffb020 7%,var(--surface))}
.status-pill.review{background:color-mix(in srgb,#ffb020 14%,var(--surface));border-color:color-mix(in srgb,#ffb020 40%,var(--line));color:#a96800}
html[data-theme="dark"] .admin-flagged-row{background:rgba(255,176,32,.055)}
html[data-theme="dark"] .status-pill.review{color:#ffd27b;background:rgba(255,176,32,.09);border-color:rgba(255,176,32,.26)}


/* V6.4.2 — stable word flow for Daily Challenge + Personal Practice */
.challenge-word-viewport{
  scroll-behavior:auto !important;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.challenge-word-viewport::-webkit-scrollbar{display:none}
.challenge-word-stream{
  align-content:flex-start;
  transform:none !important;
}
.challenge-word{
  flex:0 0 auto;
  white-space:nowrap;
}

/* v6.6.75 — Personal Practice completion lock + result reveal */
.practice-result-card.practice-result-reveal{
  animation:keyziraPracticeResultReveal .42s cubic-bezier(.22,.8,.28,1) both;
}
@keyframes keyziraPracticeResultReveal{
  from{opacity:0;transform:translateY(18px) scale(.992)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
#practice-input:disabled{
  cursor:not-allowed;
  opacity:.72;
}
@media (prefers-reduced-motion:reduce){
  .practice-result-card.practice-result-reveal{animation:none}
}
