*{box-sizing:border-box}
:root{
 --bg:#f7f4ff;--paper:#fffefd;--ink:#25243a;--muted:#74738a;--line:#e6e0f0;
 --purple:#6c5ce7;--purple2:#8b7cf5;--mint:#55cfa7;--coral:#ff816f;--yellow:#ffd66b;--blue:#73a7ff;
 --shadow:0 14px 42px rgba(74,58,125,.10);--soft-shadow:0 5px 16px rgba(65,52,106,.08);
}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:ui-rounded,"SF Pro Rounded",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{display:flex;justify-content:center;overflow-x:hidden}.hidden{display:none!important}button,input{font:inherit}.ambient{position:fixed;z-index:-1;border-radius:999px;filter:blur(3px);opacity:.55;pointer-events:none}.ambient-one{width:310px;height:310px;background:radial-gradient(circle,#e2dafe 0,#e2dafe00 68%);top:-100px;right:-120px}.ambient-two{width:300px;height:300px;background:radial-gradient(circle,#d6f3e9 0,#d6f3e900 70%);bottom:70px;left:-160px}
.app-shell{width:min(100%,640px);min-height:100vh;padding:17px 16px 104px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.brand,.profile-chip{border:0;background:transparent;color:inherit;display:flex;align-items:center;cursor:pointer}.brand{gap:10px;text-align:left;padding:0}.brand-mark{position:relative;width:43px;height:43px;border-radius:15px;background:linear-gradient(145deg,var(--purple),#8f72ff);color:white;display:grid;place-items:center;font-weight:1000;font-size:23px;box-shadow:0 8px 18px rgba(108,92,231,.28);transform:rotate(-3deg)}.brand-mark:after{content:"";position:absolute;width:12px;height:12px;border-radius:5px;background:var(--yellow);right:-3px;top:-3px;border:3px solid var(--bg)}.brand-copy strong{display:block;font-size:21px;line-height:1;letter-spacing:-.03em}.brand-copy small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.profile-chip{gap:7px;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:999px;padding:7px 11px 7px 7px;font-weight:800;font-size:13px;box-shadow:var(--soft-shadow)}.avatar-dot{width:27px;height:27px;display:grid;place-items:center;background:#eee9ff;border-radius:50%}
.screen{display:none;animation:screenIn .22s ease}.screen.active{display:block}@keyframes screenIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.screen-title{margin:8px 3px 18px}.screen-title h1,.daily-hero h1{margin:4px 0 6px;font-size:34px;letter-spacing:-.05em;line-height:1.02}.screen-title p{margin:0;line-height:1.4}.card{background:rgba(255,254,253,.94);border:1px solid var(--line);border-radius:23px;box-shadow:var(--soft-shadow)}.eyebrow,.stat-label{font-size:10px;letter-spacing:.13em;font-weight:950;color:#79758b;text-transform:uppercase}.eyebrow.light{color:rgba(255,255,255,.72)}.muted{color:var(--muted)}.compact{font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{font-size:21px;margin:3px 0;letter-spacing:-.025em}
.daily-hero{position:relative;overflow:hidden;padding:20px;background:linear-gradient(145deg,#6757df 0%,#7d69f0 53%,#5bbfa5 145%);border:0;color:white;box-shadow:0 18px 45px rgba(93,75,200,.25)}.daily-hero:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.09);right:-115px;bottom:-150px}.hero-decor{position:absolute;right:14px;top:46px;display:flex;gap:5px;opacity:.18;transform:rotate(10deg)}.hero-decor span{width:37px;height:37px;background:white;color:#5d4bc8;border-radius:11px;display:grid;place-items:center;font-weight:1000;font-size:20px;box-shadow:0 5px 12px rgba(0,0,0,.08)}.hero-decor span:nth-child(2){transform:translateY(19px)}.hero-decor span:nth-child(3){transform:translateY(-5px)}.hero-topline,.hero-main{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-main{align-items:flex-end;margin:12px 0 17px}.hero-main h1{max-width:330px}.hero-muted{margin:0;color:rgba(255,255,255,.74);font-size:13px;font-weight:650}.date-pill{font-size:11px;font-weight:850;padding:6px 9px;border-radius:999px}.light-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.17);color:white;backdrop-filter:blur(8px)}.hero-streak{position:relative;z-index:3;background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.18)!important;color:white!important;backdrop-filter:blur(8px)}.hero-streak small{color:rgba(255,255,255,.72)!important}.primary-btn,.secondary-btn,.text-btn,.icon-btn,.hero-secondary{border:0;border-radius:14px;cursor:pointer;transition:transform .08s ease,box-shadow .15s ease,background .15s ease}.primary-btn:active,.secondary-btn:active,.hero-secondary:active,.icon-btn:active{transform:scale(.97)}.primary-btn{background:linear-gradient(145deg,#5d4ed3,#7162e8);color:white;font-weight:900;padding:12px 16px;box-shadow:0 7px 16px rgba(99,83,214,.20)}.primary-btn.big{width:100%;min-height:50px;font-size:15px}.hero-btn{position:relative;z-index:2;background:white;color:#5c4bc7;box-shadow:0 7px 22px rgba(32,20,92,.16)}.hero-secondary{position:relative;z-index:2;width:100%;margin-top:8px;padding:10px;color:white;font-weight:850;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17)}.secondary-btn{background:#fff;color:#313047;border:1px solid #e2dcea;font-weight:850;padding:10px 13px}.secondary-btn:disabled{opacity:.4}.text-btn{background:transparent;color:#625e74;padding:11px;font-weight:750}.daily-sync{position:relative;z-index:2;margin-top:9px;text-align:center;font-size:11px;font-weight:800;color:rgba(255,255,255,.82)}
.streak-bubble{width:78px;height:78px;border-radius:25px;background:#fff2dc;border:1px solid #f0d9b1;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr auto;align-items:center;justify-content:center;column-gap:4px;padding:8px}.streak-bubble .streak-icon{grid-row:1/span 2;font-size:24px}.streak-bubble strong{font-size:27px;line-height:1}.streak-bubble small{font-size:10px;color:#7d705b}.level-card{margin-top:13px;padding:16px 17px;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.level-orb{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0bf,#ffd66b);font-size:24px;box-shadow:inset 0 0 0 1px rgba(135,99,23,.08)}.level-copy{min-width:0}.level-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.level-top strong{font-size:16px}.level-top span{font-size:11px;color:var(--muted);font-weight:800}.xp-track{height:8px;background:#eee9f5;border-radius:999px;overflow:hidden;margin-top:8px}.xp-track span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),#a875ee);border-radius:inherit}.level-hint{font-size:10px;color:var(--muted);margin-top:5px}.streak-card{padding:16px;margin-top:13px}.badge-rail{display:flex;gap:8px;overflow:auto;padding:9px 0 2px;scrollbar-width:none}.badge-step{min-width:76px;border-radius:16px;padding:10px 7px;text-align:center;border:1px solid #e7e0ef;background:#f8f5fb;transition:.2s}.badge-step.earned{background:linear-gradient(145deg,#eef9f4,#e3f4ed);border-color:#c9e6d9}.badge-step.current{outline:2px solid #ffcc56;box-shadow:0 5px 16px rgba(231,180,52,.13)}.badge-step .emoji{font-size:24px;filter:grayscale(.55);opacity:.7}.badge-step.earned .emoji,.badge-step.current .emoji{filter:none;opacity:1}.badge-step strong,.badge-step small{display:block}.badge-step strong{font-size:11px;margin-top:3px}.badge-step small{font-size:9px;color:#7b7888}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:13px;overflow:hidden}.mini-stats>div{padding:14px 7px;text-align:center;border-right:1px solid #ebe5f1}.mini-stats>div:last-child{border-right:0}.mini-stats strong{display:block;font-size:20px;margin-top:3px}
.difficulty-grid{display:grid;gap:12px}.difficulty-card{position:relative;overflow:hidden;padding:18px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.difficulty-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-34px;top:-38px;background:var(--diff-soft,#eee9ff)}.difficulty-card[data-diff="easy"]{--diff:#45b98e;--diff-soft:#dff5ec}.difficulty-card[data-diff="medium"]{--diff:#4e83d5;--diff-soft:#e5efff}.difficulty-card[data-diff="hard"]{--diff:#f08a32;--diff-soft:#fff0dc}.difficulty-card h2{margin:2px 0;font-size:24px;letter-spacing:-.03em}.difficulty-card p{margin:0;font-size:13px;line-height:1.35}.difficulty-icon{position:relative;z-index:2;font-size:35px}.progress-line{height:8px;background:#eee9f2;border-radius:999px;overflow:hidden;margin-top:11px}.progress-line span{display:block;height:100%;background:var(--diff,var(--purple));border-radius:inherit}.difficulty-card .secondary-btn{grid-column:1/-1;margin-top:5px;border-color:color-mix(in srgb,var(--diff) 25%,#e4dfea);color:var(--diff)}.xp-chip{display:inline-flex;margin-top:9px;padding:4px 7px;border-radius:999px;background:var(--diff-soft);color:color-mix(in srgb,var(--diff) 75%,#222);font-size:10px;font-weight:900}
.gate{padding:19px;text-align:center}.leader-tabs{display:flex;background:#ebe6f3;padding:4px;border-radius:15px;margin-bottom:12px}.leader-tab{flex:1;border:0;background:transparent;padding:9px;border-radius:11px;font-weight:850;color:#737083}.leader-tab.active{background:white;color:#312e47;box-shadow:0 3px 9px rgba(70,55,111,.08)}.leaderboard-list{display:grid;gap:8px}.leader-row{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:18px;padding:12px 13px;box-shadow:var(--soft-shadow)}.leader-row:first-child{background:linear-gradient(145deg,#fffdf6,#fff7d8);border-color:#f2df9f}.leader-rank{font-size:20px;font-weight:950;text-align:center}.leader-name strong,.leader-name small{display:block}.leader-name small,.leader-score small{color:#7a778a;font-size:11px}.leader-score{text-align:right}.leader-score strong{display:block}
.profile-card{padding:18px;margin-bottom:12px}.profile-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.profile-name{font-size:27px;font-weight:950;letter-spacing:-.035em}.profile-family{font-size:12px;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.profile-stat{background:#f5f1fa;border-radius:15px;padding:11px}.profile-stat strong{display:block;font-size:20px}.sync-panel{margin-top:13px;background:#f7f4fb;border:1px solid #e8e1f0;border-radius:15px;padding:10px}.sync-status{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:8px}.sync-status strong{color:#464256}.sync-status.error strong{color:#b34e49}.sync-status.success strong{color:#2e8d69}.sync-panel .secondary-btn{width:100%}.achievement-card,.badge-card,.settings-card{padding:16px;margin-top:12px}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px}.achievement{position:relative;border:1px solid #e6e0ed;background:#f7f4fa;border-radius:16px;padding:11px;opacity:.47;overflow:hidden}.achievement.earned{opacity:1;background:linear-gradient(145deg,#fff,#f3efff);border-color:#dcd2fb}.achievement .emoji{font-size:23px}.achievement strong,.achievement small{display:block}.achievement strong{font-size:12px;margin-top:4px}.achievement small{font-size:10px;color:var(--muted);margin-top:2px}.achievement.earned:after{content:"✓";position:absolute;right:9px;top:8px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#dff3e9;color:#2f8e69;font-size:11px;font-weight:950}.profile-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px}.profile-badge{border:1px solid #e5deeb;background:#f7f3f9;border-radius:16px;padding:11px;opacity:.4}.profile-badge.earned{opacity:1;background:#eef8f3;border-color:#cce5d8}.profile-badge .emoji{font-size:24px}.profile-badge strong,.profile-badge small{display:block}.profile-badge strong{font-size:12px;margin-top:4px}.profile-badge small{font-size:10px;color:#797587}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.setting-toggle{border:1px solid #e5deed;background:#f7f4fa;border-radius:15px;padding:11px 8px;font-weight:850;color:#4c485c;cursor:pointer}.setting-toggle.on{background:#eeeaff;border-color:#d7cff9;color:#5d4ed0}
.game-screen{padding-bottom:12px}.game-top{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-bottom:11px}.icon-btn{width:42px;height:42px;border:1px solid #e2dcea;background:white;font-size:22px;box-shadow:var(--soft-shadow)}.game-title{text-align:center}.game-title strong{display:block;font-size:15px}.game-clock{text-align:right}.game-clock span,.game-clock small{display:block}.game-clock span{font-weight:950;font-variant-numeric:tabular-nums}.game-clock small{font-size:10px;color:var(--muted)}.game-info{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;margin-bottom:10px}.lengths{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.length-pill{min-width:29px;height:27px;border-radius:999px;background:#ece7f2;display:grid;place-items:center;padding:0 7px;font-size:12px;font-weight:950;transition:.2s}.length-pill.found{color:#2d2d3c;animation:pillPop .34s ease}@keyframes pillPop{50%{transform:scale(1.15)}}.game-progress{font-size:18px;font-weight:950}.board-stage{padding:10px;background:rgba(255,255,255,.75);box-shadow:var(--shadow)}.board-wrap{position:relative;width:min(100%,560px);margin:0 auto;touch-action:none}.board{position:relative;z-index:2;display:grid;gap:7px;width:100%;height:100%}.cell,.void-cell{aspect-ratio:1;min-width:0;min-height:0}.cell{border:1px solid #d7d0e0;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:1;font-size:clamp(18px,5.5vw,30px);font-weight:1000;user-select:none;-webkit-user-select:none;box-shadow:0 3px 0 rgba(61,51,92,.055),0 5px 13px rgba(61,51,92,.035);transition:transform .08s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.void-cell{visibility:hidden}.cell.active{background:#efecff;border-color:#8577e8;transform:scale(.94);box-shadow:0 0 0 4px rgba(108,92,231,.09)}.cell.used{background:color-mix(in srgb,var(--word-color,#dfe9e3) 57%,white);border-color:color-mix(in srgb,var(--word-color,#dfe9e3) 80%,#716c7a);box-shadow:0 2px 0 color-mix(in srgb,var(--word-color,#dfe9e3) 50%,#aaa)}.cell.just-found{animation:cellWin .42s ease}@keyframes cellWin{0%{transform:scale(.9)}45%{transform:scale(1.12) rotate(2deg)}100%{transform:scale(1)}}.cell.hint{animation:pulse 1s ease 2}@keyframes pulse{50%{transform:scale(.84);background:#fff0ae;box-shadow:0 0 0 7px rgba(255,214,107,.18)}}.path-layer{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.current-word{text-align:center;min-height:53px;padding-top:10px}.current-word strong{display:block;font-size:22px;letter-spacing:.12em;margin-top:2px}.game-message{text-align:center;min-height:30px;font-size:12px;color:#747083}.game-message.good{color:#2c916d;font-weight:900}.game-message.bad{color:#c3554d;font-weight:900}.game-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.game-actions .secondary-btn{padding:10px 5px}
.bottom-nav{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:max(8px,env(safe-area-inset-bottom));width:min(calc(100% - 20px),604px);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.91);backdrop-filter:blur(16px);border:1px solid rgba(224,218,235,.9);border-radius:21px;padding:5px;box-shadow:0 12px 34px rgba(49,40,83,.15)}.bottom-nav button{border:0;background:transparent;border-radius:15px;padding:7px 2px;color:#777388;font-weight:850;transition:.15s}.bottom-nav button span,.bottom-nav button small{display:block}.bottom-nav button span{font-size:20px}.bottom-nav button small{font-size:10px;margin-top:2px}.bottom-nav button.active{background:linear-gradient(145deg,#eeeaff,#e8f5f0);color:#5549be;transform:translateY(-1px)}
.modal{position:fixed;z-index:100;inset:0;background:rgba(36,31,57,.46);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(100%,420px);background:#fffefd;border:1px solid #e5dfee;border-radius:27px;padding:24px;text-align:center;box-shadow:0 28px 80px rgba(37,31,61,.25);animation:modalIn .25s cubic-bezier(.2,.9,.25,1.18)}@keyframes modalIn{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}.modal-card.left{text-align:left}.modal-card h2{font-size:30px;margin:5px 0 8px;letter-spacing:-.04em}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;color:#777284;cursor:pointer}.modal-card label{display:block;font-size:12px;font-weight:850;margin:13px 0}.modal-card input{width:100%;margin-top:5px;border:1px solid #dcd5e5;border-radius:13px;padding:12px;background:#fff}.form-error{min-height:20px;color:#b94d47;font-size:12px}.win-card{max-height:calc(100dvh - 24px);overflow:auto}.win-badge{position:relative;z-index:2;font-size:48px;animation:badgeBounce .5s ease}@keyframes badgeBounce{40%{transform:scale(1.22) rotate(-5deg)}}.win-praise{max-width:340px;margin:-2px auto 8px;color:#514a6d;font-size:13px;font-weight:800;line-height:1.4}.win-xp{display:inline-flex;align-items:center;margin:4px 0 5px;padding:6px 10px;border-radius:999px;background:#fff0bd;color:#745b18;font-size:12px;font-weight:950}.win-words{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:14px 0}.win-word{padding:6px 9px;border-radius:999px;font-weight:950;font-size:12px}.new-badge-box{border:1px solid #ead093;background:linear-gradient(145deg,#fff7df,#fff0c5);border-radius:17px;padding:12px;margin:12px 0}.new-badge-box .emoji{font-size:30px}.modal-card .secondary-btn{width:100%;margin-top:8px}.modal-card .text-btn{width:100%;margin-top:3px}.confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti{position:absolute;top:-20px;width:9px;height:14px;border-radius:3px;animation:confettiFall var(--dur) cubic-bezier(.1,.65,.35,1) forwards;transform:translateX(var(--x)) rotate(var(--rot));background:var(--c);left:50%}@keyframes confettiFall{to{transform:translate(calc(var(--x) + var(--drift)),470px) rotate(calc(var(--rot) + 560deg));opacity:.08}}.toast{position:fixed;z-index:150;left:50%;bottom:94px;transform:translateX(-50%);max-width:min(calc(100% - 32px),430px);padding:11px 14px;border-radius:14px;background:#2f2c43;color:white;font-size:12px;font-weight:800;box-shadow:0 10px 30px rgba(30,25,51,.24);animation:toastIn .18s ease}@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:390px){.app-shell{padding-left:11px;padding-right:11px}.screen-title h1,.daily-hero h1{font-size:29px}.hero-decor{right:2px;opacity:.13}.cell{border-radius:12px}.board{gap:5px}.board-stage{padding:7px}.mini-stats>div{padding:11px 4px}.streak-bubble{width:70px;height:70px}.achievement-grid,.profile-badges{gap:6px}}
@media(min-width:700px){.app-shell{padding-top:24px}.bottom-nav{bottom:16px}.cell{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

/* v3.3 — level roadmap, multi-device account and extreme boards */
.difficulty-card[data-diff="hardcore"]{--diff:#941522;--diff-soft:#f8e4e7;background:linear-gradient(145deg,#fffefd 0%,#fff5f6 72%,#f9e3e6 100%);border-color:#ecc5cb}.difficulty-card[data-diff="hardcore"]:before{content:"EXTRA";position:absolute;right:13px;bottom:61px;padding:4px 7px;border-radius:999px;background:#4b1019;color:#fff;font-size:8px;letter-spacing:.12em;font-weight:1000}.difficulty-card[data-diff="hardcore"] .difficulty-icon{filter:drop-shadow(0 5px 9px rgba(148,21,34,.18))}
.level-roadmap-card{padding:16px;margin-top:12px}.level-roadmap{display:flex;gap:8px;overflow-x:auto;padding:10px 1px 2px;scrollbar-width:none}.level-step{position:relative;min-width:112px;border:1px solid #e5dfed;background:#f8f5fb;border-radius:17px;padding:11px;opacity:.58}.level-step.earned{opacity:1;background:linear-gradient(145deg,#f1edff,#fff);border-color:#dcd3fa}.level-step.current{opacity:1;outline:2px solid #7566e6;box-shadow:0 6px 18px rgba(108,92,231,.13)}.level-step .level-step-icon{font-size:25px}.level-step strong,.level-step small{display:block}.level-step strong{font-size:12px;margin-top:5px}.level-step small{font-size:10px;color:var(--muted);margin-top:2px}.level-step .level-num{position:absolute;right:8px;top:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#ebe6f3;color:#716c80;font-size:9px;font-weight:950}.level-step.current .level-num{background:#6c5ce7;color:white}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#eee9f5;border-radius:14px;padding:4px;margin:10px 0 14px}.account-tab{border:0;background:transparent;padding:9px 8px;border-radius:10px;font-weight:900;color:#777287;cursor:pointer}.account-tab.active{background:white;color:#5145bd;box-shadow:0 3px 9px rgba(70,55,111,.08)}.account-banner{margin-top:12px;padding:12px;border-radius:15px;background:linear-gradient(145deg,#f0ecff,#edf8f4);border:1px solid #ded7f5;font-size:12px}.account-banner strong{display:block;margin-bottom:3px}.account-banner .secondary-btn{width:100%;margin-top:9px}.account-ok{color:#3a7f67}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.account-actions .secondary-btn{width:100%;padding:9px 5px}.account-note{font-size:10px;color:var(--muted);margin-top:5px}
.board.dense-board{gap:4px}.board.dense-board .cell{border-radius:10px;font-size:clamp(14px,4.4vw,23px);box-shadow:0 2px 0 rgba(61,51,92,.045),0 3px 8px rgba(61,51,92,.03)}.board.ultra-board{gap:3px}.board.ultra-board .cell{border-radius:8px;font-size:clamp(13px,4vw,20px)}
@media(max-width:390px){.board.dense-board{gap:3px}.board.dense-board .cell{border-radius:8px}.board.ultra-board{gap:2px}.board.ultra-board .cell{border-radius:7px;font-size:13px}.level-step{min-width:105px}.account-actions{grid-template-columns:1fr}}

/* v3.4 — adaptive Fold/tablet game layout, rescue streak, onboarding, smart hints */
body.playing{height:100dvh;overflow:hidden}
body.playing .app-header{display:none}
body.playing .app-shell{width:100%;max-width:1180px;height:100dvh;min-height:0;padding:calc(env(safe-area-inset-top) + 7px) 10px calc(env(safe-area-inset-bottom) + 7px)}
body.playing .ambient{opacity:.28}
.game-screen.active{height:100%;min-height:0;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;overflow:hidden}
.game-top{margin:0;min-height:42px;grid-template-columns:40px 1fr auto;gap:8px}
.game-top .icon-btn{width:40px;height:40px;border-radius:13px}
.game-title strong{font-size:14px}.game-title .eyebrow{font-size:9px}.game-clock span{font-size:16px}.game-clock small{font-size:9px}
.game-main{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:7px}
.game-board-column{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px}
.game-info{min-width:0;margin:0;padding:6px 9px;border-radius:15px;gap:8px;box-shadow:none}
.word-targets{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden}.word-targets>.stat-label{flex:0 0 auto}
.lengths{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:4px;margin:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:1px}.lengths::-webkit-scrollbar{display:none}
.length-pill{flex:0 0 auto;min-width:25px;height:23px;padding:0 6px;border-radius:999px;font-size:10px}.length-pill.found{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-progress{flex:0 0 auto;font-size:15px}
.board-stage{min-height:0;margin:0;padding:7px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:rgba(255,255,255,.78)}
.board-wrap{width:100%;max-width:none;margin:auto;touch-action:none}
.board{gap:5px}.cell{border-radius:13px;font-size:clamp(15px,4.5vw,28px)}
.game-control-column{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px 7px;align-items:center}
.current-word{min-width:0;min-height:48px;margin:0;padding:7px 10px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid #dcd5ed;box-shadow:0 5px 14px rgba(70,54,118,.08);background:linear-gradient(145deg,#fff,#faf8ff)}
.current-word>div{min-width:0}.current-word strong{display:block;min-height:23px;margin:1px 0 0;font-size:20px;line-height:1.05;letter-spacing:.09em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5146bd}.current-word .stat-label{font-size:9px}
.clean-status{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#e6f7ef;color:#338065;font-size:9px;font-weight:950;white-space:nowrap}.clean-status.lost{background:#f0edf4;color:#858092}
.game-message{grid-column:1/-1;grid-row:2;min-height:17px;padding:0 4px;text-align:left;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-actions{grid-column:2;grid-row:1;display:flex;gap:5px}.game-actions .secondary-btn{min-width:70px;padding:8px 7px;border-radius:12px;font-size:11px;white-space:nowrap}
.game-actions .secondary-btn.compact-hidden{display:none}
.game-screen.rescue-mode .clean-status,.game-screen.rescue-mode #hintBtn,.game-screen.rescue-mode #resetBtn{display:none}
.game-screen.rescue-mode .game-clock span{color:#df594e;font-size:19px}.game-screen.rescue-mode .game-actions{grid-template-columns:1fr}.game-screen.rescue-mode .game-actions .secondary-btn{min-width:90px}
.cell.hint-route{position:relative;background:#fff3b8!important;border-color:#e7bf48!important;box-shadow:0 0 0 4px rgba(255,214,107,.18)!important;animation:hintGlow .8s ease-in-out infinite alternate}.cell.hint-route:after{content:attr(data-hint-order);position:absolute;right:-3px;top:-4px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#6c5ce7;color:#fff;font-size:8px;font-weight:1000;border:2px solid #fff}.cell.hint-full{background:#dff5ec!important;border-color:#62b99d!important}
@keyframes hintGlow{to{transform:scale(.94)}}

/* Large Fold / tablet: board and controls sit side-by-side and fill the viewport. */
@media (min-width:540px) and (min-height:540px){
 body.playing .app-shell{padding-left:14px;padding-right:14px}
 .game-screen.active{gap:9px}
 .game-main{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:minmax(0,1fr);gap:10px}
 .game-control-column{height:100%;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;align-content:start;padding:2px 0}
 .current-word{grid-column:1;grid-row:1;display:block;padding:12px;min-height:88px}.current-word strong{font-size:24px;margin-top:5px;white-space:normal;word-break:break-word}.clean-status{display:inline-flex;margin-top:9px}
 .game-message{grid-column:1;grid-row:2;min-height:36px;white-space:normal;padding:6px 3px;font-size:11px}
 .game-actions{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr;align-self:end}.game-actions .secondary-btn{width:100%;min-height:42px;font-size:12px}
 .game-info{padding:7px 10px}.length-pill{height:24px;font-size:11px}
 .board-stage{padding:9px}.cell{font-size:clamp(16px,3vw,30px)}
}
@media (min-width:900px) and (min-height:650px){.game-main{grid-template-columns:minmax(0,1fr) 260px}.game-top{max-width:none}.current-word strong{font-size:27px}}
@media (max-height:650px){
 body.playing .app-shell{padding-top:4px;padding-bottom:4px}.game-top{min-height:36px}.game-top .icon-btn{width:36px;height:36px}.game-info{padding:4px 7px}.length-pill{height:20px;font-size:9px}.board-stage{padding:5px}.current-word{min-height:42px;padding:5px 8px}.current-word strong{font-size:17px}.game-actions .secondary-btn{padding:6px 6px}.game-message{min-height:14px}
}

.rescue-card{margin-top:13px;padding:14px 15px;display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:center;border-color:#f0ce8a;background:linear-gradient(145deg,#fffaf0,#fff0cc)}.rescue-flame{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:#fff1d8;font-size:28px;box-shadow:inset 0 0 0 1px #f0d199}.rescue-copy h2{font-size:18px;margin:2px 0 3px}.rescue-copy p{margin:0;font-size:11px;line-height:1.35}.rescue-btn{grid-column:1/-1;border:0;border-radius:14px;padding:11px;background:linear-gradient(145deg,#e86350,#f28b51);color:#fff;font-weight:950;cursor:pointer;box-shadow:0 6px 15px rgba(220,94,61,.18)}.hero-streak.at-risk{outline:2px solid rgba(255,214,107,.7);animation:rescuePulse 1.8s ease-in-out infinite}@keyframes rescuePulse{50%{transform:scale(1.035)}}
.rescue-modal-card .eyebrow{display:block;margin-top:4px}.rescue-big-icon{font-size:54px}.rescue-rule{margin:14px 0;padding:12px;border-radius:17px;background:#fff3d8;border:1px solid #efd69c}.rescue-rule strong,.rescue-rule span{display:block}.rescue-rule strong{font-size:21px}.rescue-rule span{font-size:11px;color:#796d59;margin-top:2px}

.hint-card{display:grid;gap:8px}.hint-card>h2,.hint-card>p{margin-bottom:2px}.hint-choice{width:100%;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;text-align:left;border:1px solid #e3dced;background:#faf8fd;border-radius:16px;padding:10px;cursor:pointer}.hint-choice>span{font-size:24px;text-align:center}.hint-choice strong,.hint-choice small{display:block}.hint-choice strong{font-size:13px}.hint-choice small{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.3}.win-clean{display:inline-flex;margin:3px 0 6px;padding:6px 10px;border-radius:999px;background:#e5f7ee;color:#2f8062;font-size:11px;font-weight:950}.win-clean.hinted{background:#f1edf4;color:#766f82}

.onboarding-modal{background:linear-gradient(160deg,rgba(46,37,79,.62),rgba(54,86,82,.48))}.onboarding-card{width:min(100%,470px);padding:24px;overflow:hidden}.onboard-dots{display:flex;gap:5px;justify-content:center;margin-bottom:15px}.onboard-dots i{width:7px;height:7px;border-radius:999px;background:#ddd6e8;transition:.2s}.onboard-dots i.active{width:24px;background:#6c5ce7}.onboard-hero-mark{width:72px;height:72px;margin:3px auto 14px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#6757df,#8c74f8);color:white;font-size:38px;font-weight:1000;box-shadow:0 13px 30px rgba(95,75,205,.25);transform:rotate(-3deg)}.onboard-content h2{font-size:29px;margin:5px 0 8px;letter-spacing:-.04em}.onboard-content p{margin:0 auto 16px;max-width:360px;line-height:1.45}.onboard-points{display:grid;gap:8px;text-align:left;margin:14px 0}.onboard-point{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:9px;border-radius:14px;background:#f7f4fb}.onboard-point span{font-size:22px}.onboard-point strong,.onboard-point small{display:block}.onboard-point small{color:var(--muted);font-size:10px;margin-top:2px}.tutorial-wrap{margin:12px auto 17px;width:min(100%,270px)}.tutorial-instruction{font-size:12px;font-weight:850;color:#5c5680;margin-bottom:8px}.tutorial-board{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;touch-action:none}.tutorial-cell{aspect-ratio:1;border:1px solid #d9d1e5;border-radius:15px;background:#fff;display:grid;place-items:center;font-size:24px;font-weight:1000;user-select:none;box-shadow:0 4px 10px rgba(65,52,106,.06)}.tutorial-cell.active{background:#eeeaff;border-color:#7466df;transform:scale(.95)}.tutorial-cell.done{background:#dff5ec;border-color:#64bea1}.tutorial-success{min-height:22px;margin-top:8px;font-size:12px;font-weight:900;color:#328064}.onboarding-card.waiting-interaction #onboardNextBtn{opacity:.4;pointer-events:none}

@media(max-width:390px){.game-actions .secondary-btn{min-width:61px;font-size:10px}.current-word strong{font-size:18px}.clean-status{font-size:8px}.rescue-card{padding:12px}.onboarding-card{padding:20px 17px}}

/* v3.4 final polish */
.difficulty-card[data-diff="hardcore"]{--diff:#941522;--diff-soft:#f8e4e7}
.difficulty-copy{min-width:0}.difficulty-title{display:flex;align-items:center;gap:11px}.difficulty-title h2{margin:1px 0 0}.difficulty-left-icon{flex:0 0 auto;width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--diff-soft);font-size:24px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--diff) 18%,transparent)}
.difficulty-progress{position:relative;z-index:2;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--diff) var(--progress),#eee9f2 0);box-shadow:0 5px 14px rgba(63,51,99,.07)}.difficulty-progress:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fffefd}.difficulty-progress>div{position:relative;z-index:2;text-align:center;line-height:1}.difficulty-progress strong{font-size:15px}.difficulty-progress small{font-size:9px;color:var(--muted);font-weight:850}.difficulty-progress>span{position:absolute;z-index:3;right:-5px;bottom:-2px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--diff);color:white;font-size:22px;line-height:1;box-shadow:0 4px 10px color-mix(in srgb,var(--diff) 28%,transparent)}
.intro-replay-btn{width:100%;margin-top:10px}

/* Keep the live selection truly visible: on phone it gets a full row. */
.game-control-column{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:4px;align-items:stretch}
.current-word{grid-column:1;grid-row:1;width:100%}
.game-message{grid-column:1;grid-row:2;min-height:14px;padding:0 4px}
.game-actions{grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.game-actions .secondary-btn{min-width:0;min-height:34px;padding:6px 4px}
.game-screen.rescue-mode .game-actions{display:none}

/* Fold/tablet: use width instead of turning the game into a tall phone column. */
@media (min-width:540px) and (min-height:540px){
 .game-main{grid-template-columns:minmax(0,1fr) clamp(205px,28vw,285px);grid-template-rows:minmax(0,1fr);gap:10px}
 .game-control-column{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;height:100%;align-content:stretch}
 .current-word{grid-row:1;min-height:94px;padding:13px}.current-word strong{font-size:clamp(23px,3.2vw,31px);margin-top:6px}
 .game-message{grid-row:2;min-height:38px;padding:7px 3px;white-space:normal}
 .game-actions{grid-row:3;align-self:end;grid-template-columns:1fr}.game-actions .secondary-btn{min-height:43px;font-size:12px}
 .difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1000px){.difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Very short viewport: target chips become almost a status strip. */
@media (max-height:650px){
 .word-targets>.stat-label{display:none}.game-info{min-height:27px}.length-pill{min-width:22px;padding:0 5px}
 .current-word{min-height:40px}.game-actions .secondary-btn{min-height:30px}
}
@media(max-width:390px){.difficulty-progress{width:58px;height:58px}.difficulty-left-icon{width:40px;height:40px}.difficulty-card{padding:15px}}

/* Fold/tablet shell: use the extra canvas instead of keeping a narrow phone column. */
@media (min-width:700px){
 body:not(.playing) .app-shell{max-width:900px;padding-left:18px;padding-right:18px}
}
@media (min-width:700px) and (max-height:760px){
 body:not(.playing) .app-shell{padding-top:13px;padding-bottom:82px}
 .app-header{margin-bottom:9px}
 .screen-title{margin:3px 3px 10px}.screen-title h1{font-size:30px;margin-top:2px}.screen-title p{font-size:12px}
 .difficulty-grid{gap:9px}.difficulty-card{padding:13px 14px}.difficulty-card h2{font-size:21px}.difficulty-card p{font-size:11px;line-height:1.25}.xp-chip{margin-top:6px}.progress-line{margin-top:7px}.difficulty-card .secondary-btn{margin-top:2px;padding:8px 10px}
 .difficulty-left-icon{width:40px;height:40px}.difficulty-progress{width:58px;height:58px}
}

/* Dialogs must remain usable even on a short unfolded Fold viewport. */
.modal-card{max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain}
.onboarding-card{max-height:calc(100dvh - 22px);overflow:auto}
@media (min-width:700px) and (max-height:760px){
 #screen-daily.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hero hero" "rescue rescue" "level streak" "stats streak";gap:9px;align-items:stretch}
 #screen-daily .daily-hero{grid-area:hero}
 #screen-daily #rescueCard{grid-area:rescue;margin:0}
 #screen-daily #levelCard{grid-area:level;margin:0}
 #screen-daily .streak-card{grid-area:streak;margin:0}
 #screen-daily .mini-stats{grid-area:stats;margin:0}
 #screen-daily .streak-card{padding:13px}.badge-rail{padding-top:6px}.badge-step{min-width:68px;padding:8px 6px}
 #screen-daily .mini-stats>div{padding:10px 6px}
}

/* v3.4.2: pravý progress je skutečně interaktivní */
.difficulty-progress[role="button"]{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}
.difficulty-progress[role="button"]:hover{transform:translateY(-1px) scale(1.035);box-shadow:0 8px 18px rgba(63,51,99,.12)}
.difficulty-progress[role="button"]:active{transform:scale(.97)}
.difficulty-progress[role="button"]:focus-visible{outline:3px solid color-mix(in srgb,var(--diff) 50%,white);outline-offset:3px}

/* v3.5 Quality — Daily is one of two primary paths, not the whole app. */
.quick-play-card{margin-top:13px;padding:15px 16px;background:linear-gradient(145deg,#fffefd,#f4f0ff);border-color:#ddd5ee}
.quick-play-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.quick-play-head h2{font-size:20px;margin:2px 0 3px;letter-spacing:-.03em}.quick-play-head p{font-size:11px;margin:0}.quick-all-btn{flex:0 0 auto;border:0;background:#ece7fb;color:#5b4fc1;border-radius:12px;padding:8px 10px;font-size:10px;font-weight:900;cursor:pointer}.quick-all-btn span{font-size:15px;margin-left:2px}.quick-play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quick-game{--q:#6c5ce7;--qs:#eee9ff;min-width:0;border:1px solid color-mix(in srgb,var(--q) 18%,#ddd7e8);background:#fff;border-radius:15px;padding:9px;display:grid;grid-template-columns:33px minmax(0,1fr) 18px;gap:7px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.quick-game:active{transform:scale(.98)}.quick-game[data-diff="easy"]{--q:#45b98e;--qs:#e5f7f0}.quick-game[data-diff="medium"]{--q:#4e83d5;--qs:#e5efff}.quick-game[data-diff="hard"]{--q:#f08a32;--qs:#fff0dc}.quick-game[data-diff="hardcore"]{--q:#941522;--qs:#f8e4e7}.quick-game-icon{width:33px;height:33px;border-radius:11px;background:var(--qs);display:grid;place-items:center;font-size:18px}.quick-game-copy{min-width:0}.quick-game-copy strong,.quick-game-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-game-copy strong{font-size:11px}.quick-game-copy small{font-size:9px;color:var(--muted);margin-top:1px}.quick-game-copy i{display:block;height:4px;border-radius:99px;background:#eeeaf2;margin-top:5px;overflow:hidden}.quick-game-copy i b{display:block;height:100%;background:var(--q);border-radius:inherit}.quick-game-arrow{font-size:21px;font-weight:800;color:var(--q);text-align:center}
@media(min-width:700px){.quick-play-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-game{grid-template-columns:30px minmax(0,1fr) 14px;padding:8px}.quick-game-icon{width:30px;height:30px}}
@media (min-width:700px) and (max-height:760px){#screen-daily.active{grid-template-areas:"hero hero" "rescue rescue" "quick quick" "level streak" "stats streak"}#screen-daily #quickPlayCard{grid-area:quick;margin:0;padding:10px 12px}.quick-play-head{margin-bottom:7px}.quick-play-head h2{font-size:17px}.quick-play-head p{display:none}.quick-game{padding:6px 8px}.quick-game-copy i{margin-top:3px}}

/* Player feedback + quality calibration. */
.win-feedback{margin:8px 0 4px;padding:10px;border-radius:16px;background:#f7f4fb;border:1px solid #e8e1ef}.win-feedback>small{display:block;color:var(--muted);font-size:10px;font-weight:850;margin-bottom:7px}.feedback-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.feedback-chips button{border:1px solid #ddd6e7;background:#fff;border-radius:11px;padding:8px 5px;font-size:11px;font-weight:850;color:#625d73;cursor:pointer}.feedback-chips button.selected{background:#ebe7ff;border-color:#9182ed;color:#5649bd;box-shadow:inset 0 0 0 1px #9182ed}.win-report{width:100%;padding:7px;margin:0 0 4px;color:#817a8c;font-size:10px}textarea,select{width:100%;font:inherit;border:1px solid #ddd7e7;background:#fff;border-radius:12px;padding:10px;color:var(--ink);resize:vertical}.modal-card label select,.modal-card label textarea{margin-top:5px}

/* Locked achievements show the road, not just a padlock. */
.achievement{position:relative}.achievement-progress{height:5px;background:#ebe6f0;border-radius:99px;overflow:hidden;margin-top:7px}.achievement-progress span{display:block;height:100%;background:linear-gradient(90deg,#8b7cf5,#55cfa7);border-radius:inherit}.achievement em{display:block;margin-top:4px;font-style:normal;font-size:9px;font-weight:850;color:#8b8798}.achievement.earned .achievement-progress{background:#d9eee5}.achievement.earned .achievement-progress span{background:#4bb58e}

/* Visible, controlled PWA update instead of mysterious stale assets. */
.update-banner{position:fixed;z-index:100;left:50%;bottom:82px;transform:translateX(-50%);width:min(calc(100% - 24px),520px);display:flex;align-items:center;justify-content:space-between;gap:10px;background:#2c2940;color:#fff;border-radius:15px;padding:10px 11px 10px 14px;box-shadow:0 14px 36px rgba(35,29,65,.28);font-size:11px;font-weight:800}.update-banner button{border:0;border-radius:10px;background:#fff;color:#5548c1;font-size:10px;font-weight:950;padding:8px 10px;cursor:pointer}

/* v3.5.1 — one-time account invitation after first completed level */
.account-nudge-card{text-align:center}.account-nudge-icon{width:58px;height:58px;margin:0 auto 8px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#eee9ff,#e7f7f0);font-size:30px;box-shadow:0 10px 28px rgba(91,73,174,.13)}.account-nudge-card h2{margin-top:5px}.account-nudge-benefits{display:grid;gap:6px;text-align:left;margin:14px 0 16px;padding:12px 14px;border-radius:16px;background:#f8f6fb;border:1px solid #e8e1ef;color:#5d576b;font-size:12px;font-weight:800}.account-nudge-card .secondary-btn{margin-top:8px}.account-nudge-card .text-btn{margin-top:4px}


/* v3.6 — autorská patička */
.app-footer{
  margin:22px auto 96px;
  padding:10px 18px 0;
  text-align:center;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.01em;
}
.app-footer span,.app-footer strong{display:block}
.app-footer strong{margin-top:2px;color:color-mix(in srgb,var(--ink) 68%,var(--muted));font-weight:800}
body.playing .app-footer{display:none}

/* v3.7 Playtest — clearer word status */
.word-status-wrap{min-width:0;display:grid;gap:5px;flex:1}.word-status-row{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:6px;min-width:0}.word-status-row .stat-label{font-size:9px}.word-status-row .lengths,.found-words{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:1px 0}.word-status-row .lengths::-webkit-scrollbar,.found-words::-webkit-scrollbar{display:none}.found-word-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;white-space:nowrap;font-size:9px;font-weight:900;color:#3d3a46;border:1px solid rgba(70,60,90,.08)}.empty-found,.all-found{font-size:9px;color:var(--muted);font-weight:750;white-space:nowrap}.remaining-row .length-pill{min-width:24px;height:22px;padding:0 6px;font-size:9px}.found-row{border-top:1px solid #eee9f2;padding-top:4px}.game-info{align-items:start}
@media(max-height:650px){.word-status-wrap{gap:2px}.found-row{padding-top:2px}.word-status-row{grid-template-columns:54px minmax(0,1fr)}.found-word-chip,.remaining-row .length-pill{min-height:19px;height:19px;padding:1px 5px;font-size:8px}}

/* v3.7 Free cards: play + history are two clear actions */
.difficulty-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:9px}.difficulty-actions .secondary-btn{margin:0!important}.played-levels-btn{font-size:10px;padding:6px 4px;white-space:nowrap;color:#675f76}.played-levels-btn:disabled{opacity:.35;cursor:default}.difficulty-card{grid-template-columns:minmax(0,1fr) auto}.play-next-btn{min-width:0}
@media(max-width:430px){.difficulty-actions{grid-template-columns:1fr}.played-levels-btn{text-align:left;padding-left:0}}

/* v3.7 league chooser + password visibility */
.password-toggle{border:0;background:transparent;color:#625b70;font-size:10px;font-weight:850;padding:5px 2px 2px;cursor:pointer;text-align:left}.league-chooser{display:grid;gap:8px;margin:4px 0}.league-create-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#f0ecf5;border-radius:13px}.league-create-tab{border:0;background:transparent;border-radius:10px;padding:8px 7px;color:#777083;font-size:10px;font-weight:900;cursor:pointer}.league-create-tab.active{background:#fff;color:#5549bc;box-shadow:0 2px 8px rgba(60,45,100,.08)}#joinLeagueFields,#newLeagueFields{display:grid;gap:8px}.field-note{display:block;margin:-2px 2px 2px;color:var(--muted);font-size:9px}

/* v3.7 played-level history */
.played-levels-card,.level-detail-card{width:min(100%,520px)}.played-levels-list{display:grid;gap:6px;margin-top:10px}.played-level-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:7px;border:1px solid #e7e1ec;background:#fff;border-radius:13px;padding:9px 10px;text-align:left;color:var(--ink);cursor:pointer}.played-level-row.transferred{border-color:#bfe5d5;background:linear-gradient(135deg,#f4fcf8,#f9f7ff)}.played-level-row.transferred .level-index{background:#dff6ec;color:#187455;font-size:16px}.played-level-row:active{transform:scale(.99)}.level-index{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0ecfa;color:#6559c7;font-weight:950;font-size:11px}.level-history-main{min-width:0}.level-history-main strong,.level-history-main small{display:block}.level-history-main strong{font-size:13px}.level-history-main small{font-size:9px;color:var(--muted);margin-top:2px}.played-arrow{font-size:20px;color:#897f98}.empty-history,.leaderboard-empty{padding:13px;border-radius:13px;background:#f8f6fa;color:var(--muted);font-size:11px;text-align:center}.leaderboard-empty strong,.leaderboard-empty small{display:block}.leaderboard-empty small{margin-top:3px}.level-detail-result{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:12px 13px;margin:10px 0 14px;border-radius:15px;background:linear-gradient(145deg,#f0ecff,#ecf9f4)}.level-detail-result strong{font-size:24px;letter-spacing:-.04em}.level-detail-result span{font-size:10px;color:#625d70;text-align:right}.level-detail-result small{font-size:9px;color:var(--muted)}.compact-head{margin-top:4px}.compact-head h3{margin:2px 0 0;font-size:16px}.level-detail-leaderboard,.level-leaderboard-box{display:grid;gap:5px}.level-leaderboard-box{margin:9px 0 4px;padding:10px;border:1px solid #e7e0ed;border-radius:15px;background:#fbf9fd}.level-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px;font-size:10px}.level-board-head span{color:#6255c9;font-weight:900}.mini-leader-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 7px;border-radius:10px;background:#fff;border:1px solid #eee8f2}.mini-leader-row.me{background:#f0edff;border-color:#cfc5ff}.mini-leader-row>b{font-size:11px;text-align:center}.mini-leader-row>span strong,.mini-leader-row>span small{display:block}.mini-leader-row>span strong{font-size:10px}.mini-leader-row>span small{font-size:8px;color:var(--muted)}.mini-leader-row>em{font-style:normal;font-size:11px;font-weight:950}.bigish{width:100%;margin-top:10px}

/* v3.7 push preference */
.push-card{margin-top:12px}.push-copy{font-size:11px;line-height:1.4}.push-status{margin-top:7px;font-size:9px}.push-card button:disabled{opacity:.5}

/* First onboarding is deliberately mandatory; replay can still be closed. */
.onboarding-modal .modal-close.hidden{display:none!important}
.level-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.level-detail-actions .bigish{margin:0}@media(max-width:380px){.level-detail-actions{grid-template-columns:1fr}}


/* v3.8 — Liga rodin */
.league-scope-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#e9e4f2;border-radius:17px;margin-bottom:12px}.league-scope-tab{border:0;border-radius:12px;padding:10px 8px;background:transparent;color:#746f81;font-weight:900;font-size:11px;cursor:pointer}.league-scope-tab.active{background:#fff;color:#4f45b8;box-shadow:0 3px 10px rgba(61,45,110,.09)}
.global-league-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;margin-bottom:10px;background:linear-gradient(145deg,#f1edff,#edfaf5)}.global-league-hero h2{margin:2px 0 3px;font-size:19px}.global-league-hero p{margin:0;color:var(--muted);font-size:10px;line-height:1.35}.global-league-hero button{flex:0 0 auto;font-size:10px;padding:9px 10px}.global-week-tabs{margin-bottom:10px}.global-week-tab{flex:1;border:0;background:transparent;padding:9px;border-radius:11px;font-weight:850;color:#737083;cursor:pointer}.global-week-tab.active{background:white;color:#312e47;box-shadow:0 3px 9px rgba(70,55,111,.08)}
.my-family-world,.global-optin-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;margin-bottom:10px}.my-family-world>div,.global-optin-card>div{min-width:0}.my-family-world strong,.my-family-world small,.global-optin-card strong,.global-optin-card small{display:block}.my-family-world strong,.global-optin-card strong{font-size:13px}.my-family-world small,.global-optin-card small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.3}.family-world-row.me{background:linear-gradient(145deg,#eeeaff,#eefaf5);border-color:#cfc6ff}.league-score-explainer{padding:13px 14px;margin-top:12px}.league-score-explainer strong,.league-score-explainer span,.league-score-explainer small{display:block}.league-score-explainer strong{font-size:12px}.league-score-explainer span{margin-top:4px;font-size:10px;font-weight:750}.league-score-explainer small{margin-top:4px;font-size:9px;line-height:1.35;color:var(--muted)}.family-league-modal-card{width:min(100%,480px)}
@media (max-width:420px){.global-league-hero{display:grid}.global-league-hero button{width:100%}.my-family-world,.global-optin-card{align-items:flex-start}.my-family-world button,.global-optin-card button{font-size:9px;padding:8px}.league-scope-tab{font-size:10px}}
.global-week-meta{text-align:center;color:var(--muted);font-size:9px;font-weight:750;margin:-3px 0 9px}

/* v3.8.2 — push nudge */
.push-nudge-card{text-align:center}.push-nudge-icon{width:62px;height:62px;margin:0 auto 8px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(145deg,#fff0bd,#eee9ff);font-size:31px;box-shadow:0 10px 28px rgba(91,73,174,.13)}.push-nudge-card .text-btn{margin-top:6px}
/* v3.26 — contextual PWA install */
.install-nudge-card{text-align:center}.install-nudge-icon{width:62px;height:62px;margin:0 auto 8px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(145deg,#e8f7f1,#eee9ff);font-size:31px;box-shadow:0 10px 28px rgba(91,73,174,.13)}.install-nudge-card .text-btn{margin-top:6px}.install-steps{display:grid;gap:8px;margin:14px 0;text-align:left}.install-step{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:14px;background:#f7f4fb;border:1px solid #e9e2f0}.install-step b{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:50%;background:#6c5ce7;color:white;font-size:11px}.install-step span{font-size:12px;line-height:1.35}.install-steps>small{color:var(--muted);font-size:10px;line-height:1.4;padding:0 3px}.install-nudge-note{margin:7px 0 12px;padding:9px 10px;border-radius:12px;background:#fff7dc;color:#756023;font-size:10px;line-height:1.4}.install-mini-icon{font-size:25px}.install-app-card .secondary-btn{width:100%;margin-top:9px}.install-app-status{font-size:10px;line-height:1.4;margin-top:7px}



/* ==============================
   v3.9 — canonical game layout
   One final source of truth for phone, Fold and laptop.
   ============================== */
body.playing{height:100dvh;overflow:hidden}
body.playing .app-shell{width:100%;max-width:1180px;height:100dvh;min-height:0;padding:calc(env(safe-area-inset-top) + 6px) 10px calc(env(safe-area-inset-bottom) + 6px)}
body.playing .app-header,body.playing .app-footer,body.playing .bottom-nav{display:none!important}
.game-screen.active{height:100%;min-height:0;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;overflow:hidden}
.game-top{margin:0;min-height:40px;grid-template-columns:38px minmax(0,1fr) auto;gap:7px}
.game-top .icon-btn{width:38px;height:38px;border-radius:12px}
.game-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:6px}
.game-board-column{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:5px;overflow:hidden}
.game-board-column>.game-info{grid-row:1;min-width:0;margin:0;padding:5px 8px;border-radius:14px;gap:7px;box-shadow:none}
.game-board-column>.current-word{grid-row:2;width:100%;min-width:0;min-height:42px;margin:0;padding:5px 9px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid #dcd5ed;box-shadow:0 4px 11px rgba(70,54,118,.07);background:linear-gradient(145deg,#fff,#faf8ff)}
.game-board-column>.current-word>div{min-width:0}.game-board-column>.current-word strong{display:block;min-height:20px;margin:1px 0 0;font-size:18px;line-height:1.05;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5146bd}.game-board-column>.current-word .stat-label{font-size:8px}.game-board-column>.current-word .clean-status{flex:0 0 auto;margin:0}
.game-board-column>.board-stage{grid-row:3;min-height:0;height:100%;margin:0;padding:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:17px;background:rgba(255,255,255,.78)}
.board-wrap{width:100%;max-width:none;margin:auto;touch-action:none}
.game-control-column{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;gap:6px;align-items:center}
.game-control-column .game-message{grid-column:1;grid-row:1;min-height:24px;padding:3px 5px;text-align:left;white-space:normal}
.game-control-column .game-actions{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(82px,auto));gap:5px}
.game-control-column .game-actions .secondary-btn{min-height:34px;padding:6px 9px;white-space:nowrap}
.game-screen.rescue-mode .game-actions{display:none}
.word-status-wrap{gap:3px}.word-status-row{grid-template-columns:58px minmax(0,1fr);gap:5px}.found-row{padding-top:3px}.found-word-chip,.remaining-row .length-pill{min-height:20px;height:20px;padding:1px 5px;font-size:8px}.game-progress{font-size:14px}

@media (min-width:540px) and (min-height:540px){
 body.playing .app-shell{padding-left:14px;padding-right:14px}
 .game-main{grid-template-columns:minmax(0,1fr) clamp(165px,21vw,220px);grid-template-rows:minmax(0,1fr);gap:9px}
 .game-control-column{height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:7px;align-items:stretch}
 .game-control-column .game-message{grid-column:1;grid-row:1;min-height:0;padding:8px 5px;text-align:center;align-self:start}
 .game-control-column .game-actions{grid-column:1;grid-row:2;grid-template-columns:1fr;align-self:end}
 .game-control-column .game-actions .secondary-btn{width:100%;min-height:40px}
 .game-board-column>.current-word{min-height:44px;padding:5px 10px}
 .game-board-column>.current-word strong{font-size:clamp(18px,2.2vw,24px)}
 .game-board-column>.game-info{padding:5px 9px}
}
@media (min-width:1000px) and (min-height:650px){
 .game-main{grid-template-columns:minmax(0,1fr) 220px}
 .game-board-column>.current-word{min-height:46px}
}
@media (max-height:650px){
 body.playing .app-shell{padding-top:3px;padding-bottom:3px}
 .game-screen.active{gap:4px}.game-top{min-height:34px}.game-top .icon-btn{width:34px;height:34px}
 .game-board-column{gap:3px}.game-board-column>.game-info{padding:3px 6px}.word-status-wrap{gap:1px}.found-row{padding-top:1px}.word-status-row{grid-template-columns:48px minmax(0,1fr)}
 .found-word-chip,.remaining-row .length-pill{min-height:18px;height:18px;padding:0 4px;font-size:7px}
 .game-board-column>.current-word{min-height:34px;padding:3px 7px}.game-board-column>.current-word strong{font-size:15px}.game-board-column>.current-word .clean-status{font-size:8px}
 .game-board-column>.board-stage{padding:4px}.game-control-column .game-actions .secondary-btn{min-height:30px;padding:4px 7px}
}

/* v3.9 profiles, avatars and shared-device controls */
.profile-identity{display:flex;align-items:center;gap:11px;min-width:0}.profile-avatar-big{width:52px;height:52px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#eee9ff,#f8f5ff);font-size:29px;border:1px solid #ded6f2;box-shadow:var(--soft-shadow)}
.avatar-picker{margin-top:13px;padding-top:12px;border-top:1px solid #ece6f2}.avatar-grid{display:flex;gap:6px;overflow-x:auto;padding:7px 1px 2px;scrollbar-width:none}.avatar-grid::-webkit-scrollbar{display:none}.avatar-choice{flex:0 0 auto;width:38px;height:38px;border-radius:13px;border:1px solid #e4ddec;background:#faf8fd;font-size:21px;cursor:pointer;transition:.12s}.avatar-choice:active{transform:scale(.94)}.avatar-choice.selected{background:#eeeaff;border-color:#8475e9;box-shadow:0 0 0 3px rgba(108,92,231,.10)}
.team-access-card{margin-top:12px;padding:11px;border-radius:15px;background:#f7f4fb;border:1px solid #e8e1f0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.team-access-card strong,.team-access-card span{display:block}.team-access-card strong{font-size:12px}.team-access-card span{font-size:9px;color:var(--muted);line-height:1.35;margin-top:2px}.team-access-card .secondary-btn{font-size:9px;padding:8px 9px}.logout-btn{width:100%;margin-top:10px;border:0;background:transparent;color:#a34e50;font-weight:850;font-size:10px;padding:9px;cursor:pointer}
.leader-name strong{display:flex;align-items:center;gap:4px}
@media(max-width:420px){.team-access-card{grid-template-columns:1fr}.team-access-card .secondary-btn{width:100%}.profile-avatar-big{width:46px;height:46px;font-size:25px}}

.level-detail-result small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.3}

.level-board-head small{grid-column:1/-1;display:block;margin-top:2px;color:var(--muted);font-size:8px;font-weight:650}


/* v3.10 — achievement collections + result celebrations */
.achievement-groups{display:grid;gap:14px;margin-top:11px}
.achievement-group{min-width:0}.achievement-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 7px}.achievement-group-head strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5d576b}.achievement-group-head span{font-size:9px;font-weight:900;color:var(--muted);background:#f0ecf5;border-radius:99px;padding:3px 7px}.achievement-group .achievement-grid{margin-top:0}
.new-badge-box{display:grid;gap:7px}.unlock-title{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;color:#5e51bd;margin:2px 0}.unlock-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;text-align:left;padding:8px 9px;border-radius:13px;background:rgba(255,255,255,.72);border:1px solid rgba(121,102,195,.13)}.unlock-row .emoji{font-size:25px}.unlock-row strong,.unlock-row small{display:block}.unlock-row strong{font-size:11px}.unlock-row small{font-size:9px;color:var(--muted);margin-top:1px}.achievement-unlock{background:linear-gradient(135deg,#fff9df,#f4efff);border-color:#e6dcae}
@media(max-width:390px){.achievement-group .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.10.1 — clearer profile stats */
.profile-rank-stat .profile-rank-value{display:flex;align-items:center;gap:7px;margin-top:2px;min-width:0}
.profile-rank-stat .profile-rank-icon{font-size:22px;line-height:1;flex:0 0 auto}
.profile-rank-stat .profile-rank-value strong{font-size:16px;line-height:1.15;overflow-wrap:anywhere}
.profile-stat-wide{grid-column:1/-1}
.profile-completion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px}
.profile-completion-grid span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;border:1px solid #e8e1ef;border-radius:11px;padding:7px 4px;text-align:center;min-width:0}
.profile-completion-grid b{font-size:18px;line-height:1}
.profile-completion-grid small{font-size:9px;line-height:1.15;color:var(--muted);font-weight:800;white-space:nowrap}
.profile-daily-stat{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-daily-stat strong{margin:0;font-size:23px}
@media(max-width:460px){
 .profile-completion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-completion-grid small{font-size:10px}
}


/* v3.13 — Pomocník / support mode */
.support-mode-card{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:14px;padding:14px 16px;border-radius:16px;
  background:linear-gradient(135deg,rgba(255,230,126,.22),rgba(178,149,255,.12));
  border:1px solid rgba(125,95,190,.14)
}
.support-mode-card>div{display:grid;gap:4px}
.support-mode-card strong{font-size:1rem}
.support-mode-card small{color:var(--muted);line-height:1.35}
.support-mode-modal-card{max-width:560px}
.support-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0 12px}
.support-choice{
  width:100%;display:flex;align-items:center;gap:14px;text-align:left;
  border:1px solid rgba(80,58,120,.14);background:var(--card);border-radius:16px;
  padding:12px 13px;margin:0;cursor:pointer;color:inherit;min-width:0
}
.support-choice>span{font-size:1.55rem;width:31px;text-align:center;flex:0 0 31px}
.support-choice>div{display:grid;gap:3px}
.support-choice strong{font-size:.94rem;line-height:1.15}
.support-choice small{color:var(--muted);line-height:1.25;font-size:.72rem}
.support-choice.selected{outline:3px solid rgba(125,111,231,.22);border-color:#7d6fe7;background:rgba(125,111,231,.07)}
.support-outcome{min-height:76px;padding:13px 14px;border-radius:15px;background:linear-gradient(135deg,rgba(255,226,111,.3),rgba(125,111,231,.1));border:1px solid rgba(125,95,190,.17);color:#463d6a;line-height:1.42;font-size:.88rem}
.support-outcome strong{display:block;color:var(--ink);margin-bottom:3px;font-size:.93rem}
.support-fineprint{margin:10px 2px 13px;color:var(--muted);font-size:.75rem;line-height:1.42}
.onboard-support-grid{margin-top:11px}
.onboard-support-grid .support-choice{padding:10px}
.onboard-support-grid+.support-outcome{margin-top:10px;text-align:left}
.onboard-support-note{margin:9px 2px 0!important;font-size:.72rem!important;line-height:1.4!important;text-align:left}
.helper-offer-card{max-width:430px;text-align:center}
.helper-big-icon{font-size:3rem;margin-bottom:4px}
.helper-offer-card .primary-btn{margin-top:12px}
@media (max-width:520px){
  .support-mode-card{align-items:flex-start;flex-direction:column}
  .support-mode-card .secondary-btn{width:100%}
}
@media (max-width:360px){
  .support-choice-grid{grid-template-columns:1fr}
  .support-outcome{min-height:0}
}

/* v3.14 — Pomocník telemetry + interní Quality dashboard */
.qa-dashboard{position:fixed;inset:0;z-index:9999;overflow:auto;background:#f7f4ff;color:var(--ink);padding:18px}
.qa-shell{width:min(1080px,100%);margin:0 auto;padding-bottom:40px}
.qa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:6px 2px 18px}
.qa-head h1{font-size:32px;letter-spacing:-.04em;margin:4px 0}.qa-head p{margin:0;color:var(--muted)}
.qa-head>button{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:25px;cursor:pointer}
.qa-gate,.qa-loading,.qa-section{padding:18px}.qa-gate .primary-btn{margin-top:10px}
.qa-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.qa-kpis .card{padding:14px;display:grid;gap:3px}.qa-kpis b{font-size:28px}.qa-kpis span{font-size:10px;color:var(--muted);font-weight:800}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.qa-section{margin-bottom:10px}
.qa-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}
.qa-mini span{padding:9px;border-radius:12px;background:#f7f4fb;border:1px solid #e8e1ef;text-align:center;min-width:0}.qa-mini b,.qa-mini small{display:block}.qa-mini b{font-size:16px}.qa-mini small{font-size:8px;color:var(--muted);margin-top:2px}
.qa-table{display:grid;gap:7px;margin-top:12px}.qa-row{display:grid;grid-template-columns:minmax(120px,1fr) 62px 110px minmax(220px,2fr);gap:9px;align-items:center;padding:9px 10px;border:1px solid #e8e1ef;border-radius:13px;background:#fff}
.qa-row>div strong,.qa-row>div small{display:block}.qa-row>div small,.qa-row>small{color:var(--muted);font-size:8px}.qa-row>span{font-size:9px;font-weight:850}.qa-index{text-align:center;border-radius:9px;padding:6px;background:#f1eef5}.qa-index.too_hard{background:#ffe4e0;color:#a13f36}.qa-index.too_easy{background:#fff0d3;color:#9a6916}.qa-index.watch{background:#fff7c9;color:#846d00}.qa-empty{padding:14px;color:var(--muted);text-align:center}
@media(max-width:760px){.qa-dashboard{padding:10px}.qa-kpis{grid-template-columns:repeat(2,1fr)}.qa-grid{grid-template-columns:1fr}.qa-mini{grid-template-columns:repeat(2,1fr)}.qa-row{grid-template-columns:1fr 54px}.qa-row>span,.qa-row>small{grid-column:1/-1}.qa-head h1{font-size:27px}}

.legacy-history-title{display:grid;gap:2px;margin:16px 2px 7px;padding-top:13px;border-top:1px solid #e8e1ef}.legacy-history-title strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.legacy-history-title small{font-size:9px;color:var(--muted)}.played-level-row.legacy-result{cursor:default;background:#f6f4f7;border-style:dashed;opacity:.86}.played-level-row.legacy-result .level-index{background:#ebe8ed;color:#756e7b}.legacy-lock{color:#8d8692;font-size:14px;text-align:center}

/* v3.17 — vstup do oddělené administrace se zobrazí pouze oprávněnému účtu */
.admin-entry{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 13px;border:1px solid #dcd4f5;border-radius:15px;background:linear-gradient(145deg,#f6f3ff,#f0faf7);color:var(--ink);text-decoration:none}.admin-entry>span{font-size:24px}.admin-entry>div{min-width:0;flex:1}.admin-entry strong,.admin-entry small{display:block}.admin-entry strong{font-size:12px}.admin-entry small{margin-top:2px;color:var(--muted);font-size:9px}.admin-entry>b{color:var(--purple);font-size:18px}

/* v3.16.4 — globální Daily přímo na výsledkovce */
.level-leaderboard-box.daily-global-board{padding:11px;background:linear-gradient(145deg,#f8f5ff,#f1faf7);border-color:#dcd4f5}.daily-world-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.daily-world-head strong{font-size:11px}.daily-world-head span{padding:4px 7px;border-radius:999px;background:#e8e2ff;color:#5d50c6;font-size:9px;font-weight:950}.daily-world-summary{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-bottom:8px;padding:9px;border-radius:13px;background:#fff}.daily-world-summary>div{min-width:64px;text-align:center}.daily-world-summary>div strong,.daily-world-summary>div span{display:block}.daily-world-summary>div strong{font-size:27px;line-height:1;color:#5c4fc7}.daily-world-summary>div span{margin-top:2px;color:var(--muted);font-size:9px;font-weight:850}.daily-world-summary p{margin:0;text-align:left;font-size:10px;font-weight:850;line-height:1.35}.daily-world-summary p small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:650}.daily-world-neighbours{display:grid;gap:4px}.daily-world-privacy{display:block;margin-top:6px;color:var(--muted);font-size:8px;text-align:center}

/* v3.18 — globální pořadí jednotlivých Free úrovní */
.level-leaderboard-box.free-level-board,.level-detail-leaderboard.free-level-board{padding:10px;border:1px solid #ddd5f1;border-radius:15px;background:linear-gradient(145deg,#f8f5ff,#f1faf7)}
.free-board-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px;padding:4px;border-radius:13px;background:#e9e4f2}
.free-board-tab{min-width:0;border:0;border-radius:10px;padding:8px 6px;background:transparent;color:#746f81;font-size:10px;font-weight:950;cursor:pointer}
.free-board-tab.active{background:#fff;color:#5044bb;box-shadow:0 3px 9px rgba(70,55,111,.09)}
.free-board-content{display:grid;gap:4px;min-width:0}
.free-board-content .daily-world-head,.free-board-content .daily-world-summary{margin-bottom:4px}
@media(max-width:380px){.free-board-tab{font-size:9px;padding:7px 4px}.free-board-content .daily-world-summary{grid-template-columns:58px minmax(0,1fr);gap:7px}.free-board-content .daily-world-summary>div{min-width:0}.free-board-content .daily-world-summary>div strong{font-size:24px}}


/* ==============================
   v3.20 — UX clarity sprint
   Keep Proplet playful; reduce dashboard noise.
   ============================== */
/* Daily: one hero, one play choice, one quiet progress strip. */
.daily-hero .hero-main{margin:14px 0 18px;display:block}
.quick-play-card{box-shadow:0 4px 14px rgba(65,52,106,.055);border-color:#e9e4ef}
.daily-progress-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,150px) auto;gap:12px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid #e8e2ee;border-radius:18px;background:rgba(255,255,255,.62)}
.daily-progress-rank,.daily-progress-streak{display:flex;align-items:center;gap:9px;min-width:0}.daily-progress-rank>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#fff0bd;font-size:20px}.daily-progress-rank strong,.daily-progress-rank small,.daily-progress-streak strong,.daily-progress-streak small{display:block}.daily-progress-rank strong{font-size:13px}.daily-progress-rank small,.daily-progress-streak small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.2}.daily-progress-track i{display:block;height:7px;border-radius:999px;background:#ece8f2;overflow:hidden}.daily-progress-track b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#9b78ef)}.daily-progress-streak{justify-self:end}.daily-progress-streak>span{font-size:22px}.daily-progress-streak strong{font-size:18px;line-height:1}.daily-progress-streak.at-risk strong,.daily-progress-streak.at-risk small{color:#b65b32}
@media(max-width:500px){.daily-progress-strip{grid-template-columns:minmax(0,1fr) auto}.daily-progress-track{grid-column:1/-1;grid-row:2}.daily-progress-streak small{max-width:92px}.daily-progress-rank small{font-size:10.5px}}

/* Navigation uses one visual icon language instead of functional emoji. */
.bottom-nav button svg{display:block;width:21px;height:21px;margin:0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button small{font-size:11px}

/* Win: celebrate first, explain second. */
.win-card{padding:21px}.win-card h2{margin-bottom:4px}.win-summary{margin:7px 0 10px;padding:10px 12px;border-radius:16px;background:#f8f6fb}.win-summary>p{margin:0 0 7px;font-size:12px}.win-summary-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px}.win-summary-chips .win-xp,.win-summary-chips .win-clean{margin:0}.win-secondary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px}.win-secondary-actions .secondary-btn{margin:0;padding:9px 7px;font-size:11px}.win-details{margin:10px 0 2px;border-top:1px solid #eee8f2;border-bottom:1px solid #eee8f2}.win-details summary{cursor:pointer;padding:9px 2px;color:#726d7e;font-size:11px;font-weight:850;list-style:none}.win-details summary::-webkit-details-marker{display:none}.win-details summary:after{content:' +';color:#8b82a0}.win-details[open] summary:after{content:' −'}.win-details .win-words{margin:1px 0 10px}.win-feedback{margin-top:10px}.win-report{font-size:11px}.level-leaderboard-box{margin:8px 0}.new-badge-box{margin:8px 0}
@media(max-width:390px){.win-secondary-actions{grid-template-columns:1fr 1fr}.win-secondary-actions .secondary-btn:last-child:nth-child(odd){grid-column:1/-1}}

/* Account: benefit first; team is a later feature. */
.account-modal-card{max-width:430px}.legacy-login-toggle{padding:5px 0!important;margin:3px 0 0!important;text-align:left;color:#746d87;font-size:11px}.league-chooser{margin-top:5px;padding:9px 11px;border-radius:14px;background:#f8f6fb;border:1px solid #e8e1ef}.team-membership-card{max-width:470px}.team-membership-tabs{margin:14px 0 4px}.team-empty{background:linear-gradient(145deg,#f7f4ff,#eefaf5)}.account-nudge-card .muted{font-size:13px;line-height:1.45}
.profile-daily-highlights{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.profile-daily-highlights>span{display:grid;gap:3px;padding:9px 5px;border-radius:11px;background:#fff;border:1px solid #e8e1ef;text-align:center}.profile-daily-highlights small{font-size:10.5px;color:var(--muted);font-weight:800}.profile-daily-highlights b{font-size:16px}

/* Onboarding: action → whole-board rule → helper. */
.onboarding-card{width:min(100%,440px)}.onboard-content h2{font-size:28px}.onboard-content p{font-size:13px}.onboard-fill-demo{width:min(100%,235px);display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px auto 14px}.onboard-fill-demo span{aspect-ratio:1;display:grid;place-items:center;border-radius:13px;border:1px solid #ddd6e8;background:#fff;font-size:20px;font-weight:1000;animation:onboardFill 2.7s ease infinite;animation-delay:calc(var(--d)*.08s)}@keyframes onboardFill{0%,12%{background:#fff;transform:scale(.96)}38%,82%{background:color-mix(in srgb,var(--c) 56%,white);border-color:color-mix(in srgb,var(--c) 70%,#ccc);transform:none}100%{background:#fff;transform:scale(.96)}}.onboard-mini-rules{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.onboard-mini-rules span{padding:7px 10px;border-radius:999px;background:#f5f2f8;color:#615b72;font-size:11px;font-weight:850}.tutorial-success{font-size:13px}.support-choice small{font-size:11px}.onboard-support-note{font-size:11px!important}

/* Non-game microtype: no more ant-sized labels. Dense game HUD stays intentionally compact. */
body:not(.playing) .brand-copy small,body:not(.playing) .level-hint,body:not(.playing) .badge-step small,body:not(.playing) .profile-completion-grid small,body:not(.playing) .profile-badge small,body:not(.playing) .achievement-card small,body:not(.playing) .team-access-card span,body:not(.playing) .account-banner span,body:not(.playing) .push-status,body:not(.playing) .field-note{font-size:11px}
body:not(.playing) .eyebrow,body:not(.playing) .stat-label{font-size:10.5px}
/* Readability pass: secondary copy stays compact, but never decorative-micro. */
body:not(.playing) .team-access-card span,
body:not(.playing) .account-banner span,
body:not(.playing) .push-status,
body:not(.playing) .screen-title p,
body:not(.playing) .difficulty-card p,
body:not(.playing) .my-family-world small,
body:not(.playing) .global-optin-card small,
body:not(.playing) .league-score-explainer span,
body:not(.playing) .leaderboard-empty,
body:not(.playing) .daily-world-summary p,
body:not(.playing) .level-detail-result span{font-size:12px}
body:not(.playing) .level-history-main small,
body:not(.playing) .level-detail-result small,
body:not(.playing) .mini-leader-row>span small,
body:not(.playing) .league-score-explainer small,
body:not(.playing) .admin-entry small,
body:not(.playing) .daily-world-summary p small,
body:not(.playing) .daily-world-privacy,
body:not(.playing) .legacy-history-title small{font-size:11px}
body:not(.playing) .team-access-card .secondary-btn,
body:not(.playing) .logout-btn{font-size:11px}
.game-clock small{font-size:11px}.game-board-column>.current-word .clean-status{font-size:10px}.found-word-chip,.remaining-row .length-pill{font-size:10px}


/* ==============================
   v3.20.1 — onboarding + result density hotfix
   ============================== */
/* The whole-board demo contains three real Czech words: PES / LES / MOC. */
.onboard-fill-demo{width:min(100%,220px);margin:11px auto 12px}
.onboard-mini-rules{margin-bottom:18px}

/* Helper onboarding must fit on a normal phone without scrolling. */
.onboarding-card.support-step{padding-top:18px;padding-bottom:18px}
.onboarding-card.support-step .onboard-dots{margin-bottom:9px}
.onboarding-card.support-step .onboard-content h2{font-size:24px;margin:3px 0 6px}
.onboarding-card.support-step .onboard-content p{margin-bottom:8px;font-size:12px;line-height:1.32}
.onboard-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 7px}
.onboard-support-grid .support-choice{gap:7px;padding:8px 9px;border-radius:13px;min-height:43px}
.onboard-support-grid .support-choice>span{width:25px;flex-basis:25px;font-size:1.2rem}
.onboard-support-grid .support-choice strong{font-size:11px;line-height:1.12}
.onboard-support-grid+.support-outcome{min-height:0;margin-top:6px;padding:8px 10px;border-radius:12px;font-size:10.5px;line-height:1.27}
.onboard-support-grid+.support-outcome strong{font-size:11px;margin-bottom:1px}
.onboarding-card.support-step #onboardNextBtn{min-height:46px;font-size:14px;margin-top:7px}
@media(max-width:360px){.onboard-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-card.support-step{padding:15px 14px}.onboard-support-grid .support-choice{padding:7px 7px}.onboard-support-grid .support-choice>span{width:22px;flex-basis:22px;font-size:1.05rem}.onboard-support-grid .support-choice strong{font-size:10.5px}}

/* Account conversion belongs next to the ranking, not below the fold. */
.win-account-btn{width:100%;min-height:44px;margin:2px 0 8px;padding:10px 12px;border:1px solid #c9bfff;border-radius:14px;background:linear-gradient(145deg,#f0ecff,#edf9f4);color:#5548bd;font-weight:950;font-size:12px;cursor:pointer;box-shadow:0 4px 12px rgba(91,73,174,.08)}
.win-account-btn:active{transform:scale(.98)}

/* Keep every result action, but only the next-game action gets full visual weight. */
.win-secondary-actions{display:flex;justify-content:center;align-items:center;gap:3px;flex-wrap:wrap;margin-top:5px}
.win-utility-btn{border:0;background:transparent;color:#716b7d;padding:7px 9px;border-radius:10px;font-size:10.5px;font-weight:850;cursor:pointer}
.win-utility-btn:hover{background:#f5f2f8;color:#5147aa}
.win-utility-btn:active{transform:scale(.97)}
.win-details{margin:5px 0 0;border-top:1px solid #eee8f2;border-bottom:0}
.win-details summary{padding:7px 2px;font-size:10.5px;text-align:center}
.win-details .win-words{margin:2px 0 7px}
.win-details .win-report{margin:0;padding:5px 4px;font-size:10px}
.win-feedback{margin-top:7px}
.win-feedback>small{font-size:10px}
.feedback-chips button{padding:6px 5px;font-size:10.5px}
@media(max-width:390px){.win-secondary-actions{display:flex}.win-utility-btn{padding:6px 7px;font-size:10px}}
@media(max-width:340px){
  .onboarding-card:not(.support-step){padding:15px 14px}
  .onboarding-card:not(.support-step) .onboard-dots{margin-bottom:10px}
  .onboarding-card:not(.support-step) .onboard-content h2{font-size:24px;margin:3px 0 6px}
  .onboarding-card:not(.support-step) .onboard-content p{font-size:12px;line-height:1.35;margin-bottom:10px}
  .onboard-fill-demo{width:min(100%,184px);gap:4px;margin:7px auto 9px}
  .onboard-fill-demo span{border-radius:10px;font-size:18px}
  .onboard-mini-rules{gap:5px;margin-bottom:13px}
  .onboard-mini-rules span{padding:5px 7px;font-size:10px}
  .onboarding-card:not(.support-step) #onboardNextBtn{min-height:46px;font-size:14px}
}
@media(max-width:420px) and (max-height:680px){
  .win-card{padding:16px 17px}
  .win-badge{font-size:38px;line-height:1}
  .win-card h2{font-size:26px;margin:3px 0 3px}
  .win-praise{font-size:11.5px;line-height:1.28;margin:0 auto 6px}
  .win-summary{margin:5px 0 7px;padding:8px 10px}
  .win-summary>p{margin-bottom:5px;font-size:11px}
  .level-leaderboard-box{margin:6px 0}
  .level-leaderboard-box .leaderboard-empty{padding:9px}
  .win-account-btn{min-height:40px;margin-bottom:6px;padding:8px 10px}
  .primary-btn.big{min-height:46px}
  .win-feedback{padding:7px 8px;margin-top:5px}
  .win-feedback>small{margin-bottom:5px}
}
@media(max-width:340px) and (max-height:600px){
  .win-card{padding:13px 14px}
  .win-badge{font-size:34px}
  .win-card h2{font-size:24px}
  .win-praise{font-size:11px;margin-bottom:4px}
  .win-summary{margin:4px 0 5px;padding:7px 8px}
  .daily-world-head{margin-bottom:5px}
  .level-leaderboard-box .leaderboard-empty{padding:7px}
  .win-account-btn{min-height:38px;margin-bottom:4px;padding:7px 8px;font-size:11px}
  .primary-btn.big{min-height:43px;font-size:14px}
  .win-secondary-actions{margin-top:2px}
  .win-utility-btn{padding:5px 6px}
  .win-details summary{padding:5px 2px}
  .win-feedback{padding:5px 6px;margin-top:3px}
  .feedback-chips button{padding:5px 4px}
}


/* v3.21.3 — orientation is responsive only; no blocking landscape overlay. */

/* v3.21 — First Touch & Game Feel */
.board-stage{
 transition:box-shadow .42s ease,background .42s ease,transform .24s ease;
 background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(248,246,255,.78));
 box-shadow:0 12px 30px rgba(76,62,130,var(--board-glow,.025)),0 0 0 1px rgba(85,207,167,var(--board-mint,.02)) inset,var(--shadow);
}
.board-stage.near-complete{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(240,250,247,.83))}
.board-stage.board-complete{animation:boardCompleteSettle .52s cubic-bezier(.2,.8,.2,1);box-shadow:0 16px 42px rgba(94,78,190,.16),0 0 0 2px rgba(85,207,167,.14) inset,var(--shadow)}
@keyframes boardCompleteSettle{0%{transform:scale(.994)}46%{transform:scale(1.008)}100%{transform:scale(1)}}

.cell.wrong-flash{background:#fff0ee!important;border-color:#d8665d!important;color:#8d3934;box-shadow:0 0 0 4px rgba(216,102,93,.13),0 4px 12px rgba(130,58,53,.08)!important;animation:wrongCellNudge .21s ease}
@keyframes wrongCellNudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-2px)}70%{transform:translateX(2px)}}
.path-wrong{filter:drop-shadow(0 2px 3px rgba(178,71,65,.18))}

.path-guide{stroke-dasharray:7 9;animation:starterGhostFlow 1.15s linear infinite;filter:drop-shadow(0 0 3px rgba(108,92,231,.18))}
@keyframes starterGhostFlow{to{stroke-dashoffset:-32}}
.cell.starter-guide:not(.used){animation:starterGuideCell 1.45s ease-in-out infinite;animation-delay:calc(var(--guide-order,0) * 90ms)}
@keyframes starterGuideCell{0%,65%,100%{box-shadow:0 3px 0 rgba(61,51,92,.055),0 5px 13px rgba(61,51,92,.035)}35%{border-color:#8c80ee;box-shadow:0 0 0 4px rgba(108,92,231,.08),0 6px 16px rgba(108,92,231,.09)}}
.length-pill.starter-target{background:#e5defd;color:#5848c1;box-shadow:0 0 0 3px rgba(108,92,231,.07)}
#hintBtn.starter-attention{animation:starterHintAttention 1.2s ease-in-out infinite;background:#f1edff;border-color:#8a7de8;color:#5749bf;box-shadow:0 0 0 5px rgba(108,92,231,.08)}
@keyframes starterHintAttention{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.starter-mode .clean-status{background:#f0ecff;color:#5d4ed3;border-color:#dcd4ff}

.game-undo-toast{position:fixed;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));z-index:360;transform:translateX(-50%);display:flex;align-items:center;gap:14px;min-width:min(330px,calc(100vw - 28px));justify-content:space-between;padding:10px 12px 10px 15px;border-radius:15px;background:#302c42;color:white;box-shadow:0 14px 35px rgba(30,24,54,.28);font-size:12px;font-weight:800}
.game-undo-toast.hidden{display:none}.game-undo-toast button{border:0;border-radius:10px;padding:8px 10px;background:#8b7bea;color:white;font-weight:950;letter-spacing:.04em;cursor:pointer}

.starter-daily-nudge{position:relative;z-index:3;margin:-3px 0 10px;padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.14);color:white;font-size:12px;font-weight:900;text-align:center;backdrop-filter:blur(8px);animation:starterNudgeIn .34s ease}
@keyframes starterNudgeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.daily-hero.starter-next{animation:starterHeroWelcome .72s ease}
@keyframes starterHeroWelcome{50%{box-shadow:0 22px 52px rgba(93,75,200,.36),0 0 0 5px rgba(85,207,167,.12)}}

#winModal.starter-win .win-card{max-width:460px}
#winModal.starter-win .win-badge{background:linear-gradient(145deg,#ece7ff,#ddf7ef)}
#winModal.starter-win .new-badge-box{margin-top:2px}
.starter-reward{background:linear-gradient(145deg,#f7f4ff,#eefaf6);border:1px solid #e3dbf7;border-radius:14px;padding:10px 12px}

/* Akční tlačítka musí zůstat skutečně dotyková i při nízkém viewportu. */
.game-actions .secondary-btn,.game-control-column .game-actions .secondary-btn{min-height:42px}
@media(max-height:650px){
 .game-actions .secondary-btn,.game-control-column .game-actions .secondary-btn{min-height:40px!important;padding-top:6px!important;padding-bottom:6px!important}
 .game-control-column{gap:2px}
}
@media(max-height:590px) and (max-width:760px){
 .game-info{padding-top:3px;padding-bottom:3px}.current-word{padding-top:3px;padding-bottom:3px}.game-message{padding-top:2px;padding-bottom:2px}
}

/* v3.21 — unfolded foldables are tablets, not oversized phones. */
@media (min-width:700px) and (min-height:700px){
 body.playing .app-shell{max-width:1280px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .game-main{grid-template-columns:minmax(0,1fr) clamp(190px,22vw,250px);gap:12px}
 .game-board-column{max-width:none}
 .game-control-column .game-message{padding:10px 7px;font-size:12px;line-height:1.42}
 .game-control-column .game-actions .secondary-btn{min-height:44px}
}
@media (min-width:900px) and (min-height:850px){
 .game-main{grid-template-columns:minmax(0,1fr) clamp(210px,23vw,270px);gap:14px}
 .game-board-column>.game-info{padding:7px 10px}
 .game-board-column>.current-word{min-height:48px;padding:7px 11px}
 .game-board-column>.current-word strong{font-size:24px}
 .game-control-column .game-message{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .board-stage.board-complete,.path-guide,.cell.starter-guide,#hintBtn.starter-attention,.daily-hero.starter-next,.starter-daily-nudge,.cell.wrong-flash{animation:none!important}
}
#hintModal.starter-hint .hint-choice:first-of-type{border-color:#897bea;background:#f4f1ff;box-shadow:0 0 0 4px rgba(108,92,231,.06)}
#hintModal.starter-hint .hint-choice:first-of-type strong:after{content:" · doporučeno";color:#6757d8;font-size:10px}
.starter-mode #backFromGame{visibility:hidden}

/* v3.21.2 — optional starter hint nudge */
.game-control-column .starter-hint-nudge{grid-column:1/-1;grid-row:2}
.starter-hint-nudge{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:8px;margin-top:8px;padding:8px 9px 8px 11px;border:1px solid #ded6fb;border-radius:13px;background:rgba(247,244,255,.96);box-shadow:0 7px 18px rgba(73,58,128,.08);font-size:11px;color:#5e5780}
.starter-hint-nudge.hidden{display:none}
.starter-hint-nudge div{min-width:0}.starter-hint-nudge strong{display:block;color:#51467e;font-size:11px}.starter-hint-nudge small{display:block;margin-top:2px;font-size:10px;line-height:1.25}
.starter-hint-nudge button{border:0;border-radius:9px;font:inherit;font-weight:900;cursor:pointer}
#starterHintNudgeBtn{padding:7px 9px;background:#6c5ce7;color:#fff}
#starterHintNudgeDismiss{width:28px;height:28px;background:transparent;color:#77718c;font-size:18px}
@media(prefers-reduced-motion:reduce){#hintBtn.starter-attention{animation:none!important}}

@media (min-width:540px) and (min-height:540px){.game-control-column{grid-template-rows:minmax(0,1fr) auto auto}.game-control-column .starter-hint-nudge{grid-row:2}.game-control-column .game-actions{grid-row:3}}

/* ==============================
   v3.22 — Night Mode
   Dark is a dedicated palette, not an inverted light theme.
   ============================== */
.appearance-copy{margin:7px 0 11px;font-size:12px;line-height:1.45}
.theme-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#f1edf6}
.theme-choice{min-width:0;border:1px solid transparent;border-radius:13px;background:transparent;color:#625d70;padding:9px 5px 8px;cursor:pointer;display:grid;justify-items:center;gap:2px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
.theme-choice:active{transform:scale(.98)}.theme-choice>span{font-size:19px;line-height:1}.theme-choice strong,.theme-choice small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-choice strong{font-size:10.5px}.theme-choice small{font-size:8.5px;color:var(--muted);font-weight:750}
.theme-choice.active{background:#fff;border-color:#dcd4f5;color:#5146bd;box-shadow:0 3px 10px rgba(70,55,111,.08)}
.theme-choice.active small{color:#746c94}.theme-mode-note{margin-top:8px;font-size:10.5px;line-height:1.35}
@media(max-width:370px){.theme-segment{gap:4px;padding:4px}.theme-choice{padding:8px 3px}.theme-choice strong{font-size:10px}.theme-choice small{font-size:8px}}

html[data-theme="dark"]{
 color-scheme:dark;
 --bg:#111019;--paper:#1b1926;--ink:#f4f0fa;--muted:#b0a9bd;--line:#373244;
 --purple:#9b8cff;--purple2:#b3a8ff;--mint:#72d9b7;--coral:#ff9286;--yellow:#ebc65f;--blue:#86b8ff;
 --shadow:0 16px 46px rgba(0,0,0,.34);--soft-shadow:0 6px 18px rgba(0,0,0,.24);
 --surface:#1b1926;--surface-2:#211e2b;--surface-3:#282432;--surface-soft:#242130;--surface-hover:#2c2838;
 --purple-soft:#302a52;--mint-soft:#1d3a33;--coral-soft:#472a2d;--yellow-soft:#44391f;--blue-soft:#243347;
}
html[data-theme="dark"],html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .ambient{opacity:.34;filter:blur(12px)}
html[data-theme="dark"] .ambient-one{background:radial-gradient(circle,rgba(112,91,220,.18) 0,rgba(112,91,220,0) 69%)}
html[data-theme="dark"] .ambient-two{background:radial-gradient(circle,rgba(62,160,126,.13) 0,rgba(62,160,126,0) 72%)}
html[data-theme="dark"] body.playing .ambient{opacity:.17}

/* Chrome, cards and typography */
html[data-theme="dark"] .card,
html[data-theme="dark"] .modal-card{background:rgba(27,25,38,.97);border-color:var(--line);box-shadow:var(--soft-shadow)}
html[data-theme="dark"] .profile-chip{background:rgba(30,28,42,.9);border-color:var(--line);box-shadow:var(--soft-shadow)}
html[data-theme="dark"] .avatar-dot{background:#2d2941}
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .stat-label{color:#a9a1b8}
html[data-theme="dark"] .eyebrow.light{color:rgba(249,246,255,.72)}
html[data-theme="dark"] .secondary-btn,
html[data-theme="dark"] .icon-btn{background:var(--surface-soft);color:var(--ink);border-color:#403a4d}
html[data-theme="dark"] .text-btn{color:#c0b8cd}
html[data-theme="dark"] .primary-btn{background:linear-gradient(145deg,#6758d0,#7564dd);box-shadow:0 8px 20px rgba(45,34,104,.38)}
html[data-theme="dark"] .modal{background:rgba(7,6,12,.7);backdrop-filter:blur(9px)}
html[data-theme="dark"] .modal-card{box-shadow:0 32px 90px rgba(0,0,0,.52)}
html[data-theme="dark"] .modal-close{color:#b9b2c4}
html[data-theme="dark"] .modal-card input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select{background:#23202f;color:var(--ink);border-color:#403a4e}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#827c8e}
html[data-theme="dark"] .toast{background:#312d42;color:#f8f5ff;box-shadow:0 12px 34px rgba(0,0,0,.4)}

/* Daily: still the brightest branded object, but substantially dimmer than light mode. */
html[data-theme="dark"] .daily-hero{background:linear-gradient(145deg,#403687 0%,#504499 55%,#286957 150%);box-shadow:0 18px 46px rgba(0,0,0,.32)}
html[data-theme="dark"] .daily-hero:before{background:rgba(255,255,255,.055)}
html[data-theme="dark"] .hero-decor{opacity:.13}
html[data-theme="dark"] .hero-decor span{background:#dad4ea;color:#463a92;box-shadow:0 6px 14px rgba(0,0,0,.14)}
html[data-theme="dark"] .hero-muted{color:rgba(249,246,255,.76)}
html[data-theme="dark"] .light-pill,html[data-theme="dark"] .hero-streak{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.14)!important}
html[data-theme="dark"] .hero-btn{background:#ded8eb;color:#43378e;box-shadow:0 8px 24px rgba(10,7,35,.28)}
html[data-theme="dark"] .hero-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13)}
html[data-theme="dark"] .daily-progress-strip{background:rgba(28,26,40,.82);border-color:var(--line)}
html[data-theme="dark"] .daily-progress-rank>span{background:var(--yellow-soft)}
html[data-theme="dark"] .daily-progress-track i,html[data-theme="dark"] .xp-track,html[data-theme="dark"] .progress-line{background:#302c3c}
html[data-theme="dark"] .streak-bubble{background:#3a3020;border-color:#5b4b2d}
html[data-theme="dark"] .streak-bubble small{color:#c8b995}
html[data-theme="dark"] .level-orb{background:linear-gradient(145deg,#4b4025,#6a5422);box-shadow:inset 0 0 0 1px rgba(235,198,95,.18)}
html[data-theme="dark"] .quick-play-card{border-color:var(--line);box-shadow:var(--soft-shadow)}

/* Free cards, progress, rankings and profile. */
html[data-theme="dark"] .badge-step,
html[data-theme="dark"] .level-step,
html[data-theme="dark"] .profile-stat,
html[data-theme="dark"] .sync-panel,
html[data-theme="dark"] .achievement,
html[data-theme="dark"] .profile-badge,
html[data-theme="dark"] .setting-toggle,
html[data-theme="dark"] .qa-mini span,
html[data-theme="dark"] .account-nudge-benefits,
html[data-theme="dark"] .win-feedback,
html[data-theme="dark"] .league-chooser,
html[data-theme="dark"] .team-access-card{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .badge-step.earned,
html[data-theme="dark"] .profile-badge.earned{background:linear-gradient(145deg,#1d332e,#1e2e2a);border-color:#315449}
html[data-theme="dark"] .achievement.earned{background:linear-gradient(145deg,#27233c,#1f252d);border-color:#484064}
html[data-theme="dark"] .achievement.earned:after{background:#214337;color:#7ce0ba}
html[data-theme="dark"] .level-step.earned{background:linear-gradient(145deg,#2a2541,#201e2a);border-color:#494264}
html[data-theme="dark"] .level-step .level-num{background:#302c3b;color:#b9b1c5}
html[data-theme="dark"] .level-step.current{outline-color:#9789ff}
html[data-theme="dark"] .setting-toggle.on{background:var(--purple-soft);border-color:#5a4f8b;color:#c5bcff}
html[data-theme="dark"] .difficulty-card:after{opacity:.35}
html[data-theme="dark"] .difficulty-card[data-diff="easy"]{--diff:#72d9b7;--diff-soft:#1d3a33}
html[data-theme="dark"] .difficulty-card[data-diff="medium"]{--diff:#87b5ff;--diff-soft:#25364f}
html[data-theme="dark"] .difficulty-card[data-diff="hard"]{--diff:#ffad5b;--diff-soft:#443025}
html[data-theme="dark"] .difficulty-card[data-diff="hardcore"]{--diff:#ee6974;--diff-soft:#452128;background:linear-gradient(145deg,#211d24 0%,#2b1d22 72%,#341f25 100%);border-color:#5c3038}
html[data-theme="dark"] .difficulty-card[data-diff="hardcore"]:before{background:#4b2028;color:#ffc4ca}
html[data-theme="dark"] .difficulty-card .secondary-btn{border-color:color-mix(in srgb,var(--diff) 36%,#373244);color:var(--diff)}
html[data-theme="dark"] .xp-chip{color:color-mix(in srgb,var(--diff) 82%,#f4f0fa)}
html[data-theme="dark"] .leader-tabs,
html[data-theme="dark"] .account-tabs,
html[data-theme="dark"] .league-create-tabs,
html[data-theme="dark"] .free-board-tabs{background:#262230}
html[data-theme="dark"] .leader-tab,html[data-theme="dark"] .account-tab,html[data-theme="dark"] .league-create-tab,html[data-theme="dark"] .free-board-tab{color:#aaa3b6}
html[data-theme="dark"] .leader-tab.active,
html[data-theme="dark"] .account-tab.active,
html[data-theme="dark"] .league-create-tab.active,
html[data-theme="dark"] .free-board-tab.active{background:#373148;color:#c9c1ff;box-shadow:0 3px 10px rgba(0,0,0,.18)}
html[data-theme="dark"] .leader-row,
html[data-theme="dark"] .played-level-row,
html[data-theme="dark"] .mini-leader-row,
html[data-theme="dark"] .profile-completion-grid span,
html[data-theme="dark"] .profile-daily-highlights>span,
html[data-theme="dark"] .daily-world-summary,
html[data-theme="dark"] .qa-row{background:#211f2c;border-color:#393445;color:var(--ink)}
html[data-theme="dark"] .leader-row:first-child{background:linear-gradient(145deg,#332e24,#3a3220);border-color:#66562c}
html[data-theme="dark"] .leader-name small,html[data-theme="dark"] .leader-score small{color:#aaa4b5}
html[data-theme="dark"] .played-level-row.transferred{background:linear-gradient(135deg,#1d342e,#252238);border-color:#356353}
html[data-theme="dark"] .played-level-row.transferred .level-index{background:#21483a;color:#83e2bd}
html[data-theme="dark"] .played-level-row.legacy-result{background:#201e25;border-color:#39343e}
html[data-theme="dark"] .level-index{background:#302b49;color:#c0b6ff}
html[data-theme="dark"] .empty-history,html[data-theme="dark"] .leaderboard-empty{background:#211f2b}
html[data-theme="dark"] .level-detail-result,html[data-theme="dark"] .account-banner,html[data-theme="dark"] .team-empty{background:linear-gradient(145deg,#2b2742,#1d302a);border-color:#3d4550}
html[data-theme="dark"] .level-detail-result span{color:#b4adbd}
html[data-theme="dark"] .level-leaderboard-box,
html[data-theme="dark"] .level-leaderboard-box.daily-global-board,
html[data-theme="dark"] .level-leaderboard-box.free-level-board,
html[data-theme="dark"] .level-detail-leaderboard.free-level-board{background:linear-gradient(145deg,#211e2e,#1b2b27);border-color:#3d394b}
html[data-theme="dark"] .mini-leader-row.me{background:#302b50;border-color:#5f54a1}
html[data-theme="dark"] .daily-world-head span{background:#302b50;color:#c6bdff}

/* Player settings: three quiet choices, no glowing toggle circus. */
html[data-theme="dark"] .theme-segment{background:#17151f;border-color:#34303f}
html[data-theme="dark"] .theme-choice{color:#aaa3b6}
html[data-theme="dark"] .theme-choice.active{background:#2d293b;border-color:#554c70;color:#f0ebfa;box-shadow:0 3px 12px rgba(0,0,0,.22)}
html[data-theme="dark"] .theme-choice.active small{color:#c3bbcf}

/* Game board: dark matte surface; paths remain colourful without pastel-white cells. */
html[data-theme="dark"] .game-info{background:rgba(28,26,40,.96)}
html[data-theme="dark"] .length-pill{background:#302c3b;color:#ddd7e5}
html[data-theme="dark"] .current-word{background:linear-gradient(145deg,#211e2d,#1b1926);border-color:#393445;box-shadow:0 5px 16px rgba(0,0,0,.22)}
html[data-theme="dark"] .current-word strong{color:#c5bcff}
html[data-theme="dark"] .clean-status{background:#1f3b32;color:#83dfbd}html[data-theme="dark"] .starter-mode .clean-status{background:#302a52;color:#c8c0ff}
html[data-theme="dark"] .clean-status.lost{background:#2b2832;color:#a7a0af}
html[data-theme="dark"] .found-row{border-top-color:#34303f}
html[data-theme="dark"] .found-word-chip{background:color-mix(in srgb,var(--word-color,#72d9b7) 70%,#211f2c)!important;color:#0c0b10;border-color:color-mix(in srgb,var(--word-color,#72d9b7) 72%,#383240);text-shadow:0 1px 0 rgba(255,255,255,.10)}
html[data-theme="dark"] .game-message{color:#aaa4b5}html[data-theme="dark"] .game-message.good{color:#72d9b7}html[data-theme="dark"] .game-message.bad{color:#ff9286}
html[data-theme="dark"] .board-stage{background:linear-gradient(145deg,rgba(29,27,42,.96),rgba(24,33,34,.92));box-shadow:0 15px 36px rgba(0,0,0,var(--board-glow,.22)),0 0 0 1px rgba(114,217,183,var(--board-mint,.025)) inset,var(--shadow)}
html[data-theme="dark"] .board-stage.near-complete{background:linear-gradient(145deg,rgba(31,29,45,.98),rgba(23,40,35,.95))}
html[data-theme="dark"] .board-stage.board-complete{box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 0 2px rgba(114,217,183,.13) inset,var(--shadow)}
html[data-theme="dark"] .cell{background:#292633;border-color:#403b4a;color:#f4f0fa;box-shadow:0 3px 0 rgba(0,0,0,.25),0 6px 15px rgba(0,0,0,.18)}
html[data-theme="dark"] .cell.active{background:#3a3264;border-color:#9b8cff;box-shadow:0 0 0 4px rgba(155,140,255,.11)}
html[data-theme="dark"] .cell.used{background:color-mix(in srgb,var(--word-color,#72d9b7) 70%,#211f2c);border-color:color-mix(in srgb,var(--word-color,#72d9b7) 78%,#342f3d);color:#0c0b10;text-shadow:0 1px 0 rgba(255,255,255,.12);box-shadow:0 2px 0 color-mix(in srgb,var(--word-color,#72d9b7) 34%,#101016)}
html[data-theme="dark"] .cell.hint{--hint-bg:#594922}
html[data-theme="dark"] .cell.hint-route{background:#564720!important;border-color:#c9a745!important;box-shadow:0 0 0 4px rgba(235,198,95,.14)!important}
html[data-theme="dark"] .cell.hint-route:after{background:#8f80f2;border-color:#292633}
html[data-theme="dark"] .cell.hint-full{background:#1f4439!important;border-color:#58b895!important}
html[data-theme="dark"] .cell.wrong-flash{background:#542d31!important;border-color:#d96f67!important;color:#ffd6d2;box-shadow:0 0 0 4px rgba(255,146,134,.11),0 4px 14px rgba(0,0,0,.2)!important}
html[data-theme="dark"] .length-pill.starter-target{background:#3a3264;color:#d0c8ff;box-shadow:0 0 0 3px rgba(155,140,255,.08)}
html[data-theme="dark"] #hintBtn.starter-attention{background:#332d54;border-color:#7769ce;color:#d0c8ff;box-shadow:0 0 0 5px rgba(155,140,255,.07)}
html[data-theme="dark"] .starter-mode .clean-status{background:#302a52;color:#c8c0ff;border-color:#51477d}
html[data-theme="dark"] .starter-hint-nudge{background:rgba(37,33,53,.97);border-color:#4b4369;box-shadow:0 8px 22px rgba(0,0,0,.25);color:#c0b8d0}
html[data-theme="dark"] .starter-hint-nudge strong{color:#e3ddf1}
html[data-theme="dark"] #starterHintNudgeDismiss{color:#b2aaba}
html[data-theme="dark"] #hintModal.starter-hint .hint-choice:first-of-type{background:#302a52;border-color:#7769ce;box-shadow:0 0 0 4px rgba(155,140,255,.06)}

/* Onboarding, hints, rescue and success states. */
html[data-theme="dark"] .onboard-fill-demo span{background:#292633;border-color:#403b4a;color:#f4f0fa}
html[data-theme="dark"] .onboard-mini-rules span{background:#25222f;color:#c0b9c9}
html[data-theme="dark"] .support-mode-card{background:linear-gradient(135deg,rgba(235,198,95,.10),rgba(155,140,255,.10));border-color:#40374f}
html[data-theme="dark"] .support-outcome{background:linear-gradient(135deg,rgba(235,198,95,.12),rgba(155,140,255,.10));border-color:#4a405a;color:#ddd6ec}
html[data-theme="dark"] .rescue-card{background:linear-gradient(145deg,#302a1e,#3a2d1e);border-color:#695331}
html[data-theme="dark"] .rescue-flame,html[data-theme="dark"] .rescue-rule{background:#3d311f;border-color:#6a5330}
html[data-theme="dark"] .win-praise{color:#c2bbce}
html[data-theme="dark"] .win-summary{background:#211f2b}
html[data-theme="dark"] .win-details{border-color:#373241}
html[data-theme="dark"] .win-details summary{color:#b8b1c2}
html[data-theme="dark"] .win-xp{background:#463a20;color:#f0d27b}
html[data-theme="dark"] .new-badge-box{background:linear-gradient(145deg,#352f21,#46391d);border-color:#67552d}
html[data-theme="dark"] .win-account-btn{background:linear-gradient(145deg,#302b50,#1e3a32);border-color:#514981;color:#d2cbff;box-shadow:0 5px 15px rgba(0,0,0,.2)}
html[data-theme="dark"] .win-utility-btn{color:#aaa3b4}
html[data-theme="dark"] .win-utility-btn:hover{background:#272330;color:#c8c0ff}
html[data-theme="dark"] #winModal.starter-win .win-badge{background:linear-gradient(145deg,#332d54,#1f4036)}
html[data-theme="dark"] .starter-reward{background:linear-gradient(145deg,#29243e,#1c342d);border-color:#443b61}

/* Navigation and overlays. */
html[data-theme="dark"] .bottom-nav{background:rgba(24,22,33,.92);border-color:rgba(66,60,79,.92);box-shadow:0 14px 38px rgba(0,0,0,.4)}
html[data-theme="dark"] .bottom-nav button{color:#aaa3b5}
html[data-theme="dark"] .bottom-nav button.active{background:linear-gradient(145deg,#302a52,#1d3932);color:#c9c0ff}
html[data-theme="dark"] .update-banner,html[data-theme="dark"] .game-undo-toast{background:#2a2638;box-shadow:0 16px 40px rgba(0,0,0,.42)}
html[data-theme="dark"] .update-banner button{background:#d9d2e9;color:#493e98}

/* Internal QA inherits the same night palette when reached from the app. */
html[data-theme="dark"] .qa-dashboard{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .qa-head>button{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .qa-index{background:#2b2833;color:#d9d2e1}
html[data-theme="dark"] .qa-index.too_hard{background:#48272a;color:#ffada4}
html[data-theme="dark"] .qa-index.too_easy{background:#46371f;color:#f0c66c}
html[data-theme="dark"] .qa-index.watch{background:#403b1e;color:#dfd06b}
html[data-theme="dark"] .admin-entry{background:linear-gradient(145deg,#29243d,#1b332d);border-color:#443d5e;color:var(--ink)}

/* Animated whole-board tutorial must animate toward dark tinted cells, never white flashes. */
@keyframes onboardFillDark{0%,12%{background:#292633;transform:scale(.96)}38%,82%{background:color-mix(in srgb,var(--c) 40%,#24212d);border-color:color-mix(in srgb,var(--c) 62%,#484250);transform:none}100%{background:#292633;transform:scale(.96)}}
html[data-theme="dark"] .onboard-fill-demo span{animation-name:onboardFillDark}

@media(prefers-reduced-motion:reduce){.theme-choice{transition:none!important}}
@keyframes pulseDark{50%{transform:scale(.84);background:#5a4a22;box-shadow:0 0 0 7px rgba(235,198,95,.13)}}
html[data-theme="dark"] .cell.hint{animation-name:pulseDark}

/* v3.22.2 — found-row chips now match solved-cell dark-ink legibility. */
/* v3.22 — secondary surfaces discovered during full-state visual pass. */
html[data-theme="dark"] .mini-stats>div{border-color:#373241}
html[data-theme="dark"] .win-clean{background:#214337;color:#8ce5c0}
html[data-theme="dark"] .win-clean.hinted{background:#2b2833;color:#b9b1c2}
html[data-theme="dark"] .onboard-dots i{background:#494352}html[data-theme="dark"] .onboard-dots i.active{background:#9b8cff}
html[data-theme="dark"] .onboard-point{background:#211f2b}
html[data-theme="dark"] .tutorial-cell{background:#292633;border-color:#403b4a;color:#f4f0fa;box-shadow:0 4px 0 rgba(0,0,0,.22)}
html[data-theme="dark"] .tutorial-cell.active{background:#3a3264;border-color:#9b8cff}html[data-theme="dark"] .tutorial-cell.done{background:#214337;border-color:#5abd98}
html[data-theme="dark"] .difficulty-progress{background:conic-gradient(var(--diff) var(--progress),#302c3b 0)}html[data-theme="dark"] .difficulty-progress:before{background:#1b1926}
html[data-theme="dark"] .quick-play-card{background:linear-gradient(145deg,#1b1926,#201d2c);border-color:#373244}
html[data-theme="dark"] .quick-all-btn{background:#302a52;color:#c7beff}
html[data-theme="dark"] .quick-game{background:#211f2c;border-color:color-mix(in srgb,var(--q) 28%,#373244);color:var(--ink)}
html[data-theme="dark"] .quick-game[data-diff="easy"]{--q:#72d9b7;--qs:#1d3a33}html[data-theme="dark"] .quick-game[data-diff="medium"]{--q:#87b5ff;--qs:#25364f}html[data-theme="dark"] .quick-game[data-diff="hard"]{--q:#ffad5b;--qs:#443025}html[data-theme="dark"] .quick-game[data-diff="hardcore"]{--q:#ee6974;--qs:#452128}
html[data-theme="dark"] .quick-game-copy i{background:#302c3b}
html[data-theme="dark"] .feedback-chips button{background:#242130;border-color:#403a4e;color:#c0b9c9}html[data-theme="dark"] .feedback-chips button.selected{background:#302a52;border-color:#8275df;color:#d0c8ff;box-shadow:inset 0 0 0 1px #8275df}
html[data-theme="dark"] .achievement-progress{background:#302c3b}html[data-theme="dark"] .achievement.earned .achievement-progress{background:#274238}
html[data-theme="dark"] .account-nudge-icon,html[data-theme="dark"] .push-nudge-icon,html[data-theme="dark"] .install-nudge-icon{background:linear-gradient(145deg,#302a52,#1e3932);box-shadow:0 10px 28px rgba(0,0,0,.22)}html[data-theme="dark"] .install-step{background:#242130;border-color:#403a4e}html[data-theme="dark"] .install-nudge-note{background:#3a3320;color:#e6d69d}
html[data-theme="dark"] .league-scope-tabs{background:#262230}html[data-theme="dark"] .league-scope-tab{color:#aaa3b6}html[data-theme="dark"] .league-scope-tab.active{background:#373148;color:#c9c1ff;box-shadow:0 3px 10px rgba(0,0,0,.18)}
html[data-theme="dark"] .global-league-hero{background:linear-gradient(145deg,#29243e,#1c342d)}html[data-theme="dark"] .global-week-tab.active{background:#373148;color:#f1ecf8;box-shadow:0 3px 10px rgba(0,0,0,.18)}
html[data-theme="dark"] .family-world-row.me{background:linear-gradient(145deg,#302a52,#1d3932);border-color:#514981}
html[data-theme="dark"] .profile-avatar-big{background:linear-gradient(145deg,#302b49,#242130);border-color:#433d53}
html[data-theme="dark"] .avatar-picker{border-color:#373241}html[data-theme="dark"] .avatar-choice{background:#242130;border-color:#403a4d}html[data-theme="dark"] .avatar-choice.selected{background:#302a52;border-color:#8275df;box-shadow:0 0 0 3px rgba(155,140,255,.10)}
html[data-theme="dark"] .achievement-group-head strong{color:#b8b1c1}html[data-theme="dark"] .achievement-group-head span{background:#2b2833}
html[data-theme="dark"] .unlock-row{background:rgba(38,34,49,.9);border-color:#433c58}html[data-theme="dark"] .achievement-unlock{background:linear-gradient(135deg,#3a321f,#2b2540);border-color:#5d5030}
html[data-theme="dark"] .support-choice{background:#211f2c;border-color:#40384e;color:var(--ink)}html[data-theme="dark"] .support-choice.selected{outline-color:rgba(155,140,255,.18);border-color:#8174dc;background:#302a52}
html[data-theme="dark"] .legacy-history-title{border-color:#373241}html[data-theme="dark"] .played-level-row.legacy-result .level-index{background:#2b2833;color:#aaa3b6}
html[data-theme="dark"] .hint-choice{background:#242130;border-color:#403a4e;color:var(--ink)}html[data-theme="dark"] .hint-choice:hover{background:#292536}
html[data-theme="dark"] .password-toggle,html[data-theme="dark"] .played-levels-btn{color:#b6afc0}
html[data-theme="dark"] .logout-btn{color:#ff9c98}

/* v3.22.3 — exact 2D board fitting. Grid text may never enlarge a row beyond the measured stage. */
.board-wrap{min-width:0;min-height:0}
.board .cell,.board .void-cell{min-width:0;min-height:0}


/* v3.22.4 — browser/PWA layout unification on phones, foldables and tablets.
   Structural game layout must not flip merely because browser chrome changes viewport height. */
@media (max-width:999px){
  .game-main{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    gap:6px!important;
  }
  .game-control-column{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:6px!important;
    align-items:center!important;
    align-content:initial!important;
  }
  .game-control-column .game-message{
    grid-column:1!important;
    grid-row:1!important;
    min-height:24px!important;
    padding:3px 5px!important;
    text-align:left!important;
    align-self:center!important;
  }
  .game-control-column .game-actions{
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(82px,auto))!important;
    gap:5px!important;
    align-self:center!important;
  }
  .game-control-column .game-actions .secondary-btn{
    width:auto!important;
    min-height:42px!important;
    padding:6px 9px!important;
  }
  .game-control-column .starter-hint-nudge{
    grid-column:1/-1!important;
    grid-row:2!important;
  }
}

/* Real wide desktop keeps the efficient side control rail. */
@media (min-width:1000px) and (min-height:650px){
  .game-main{grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr)}
  .game-control-column{height:100%;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;align-content:stretch}
  .game-control-column .game-message{grid-column:1;grid-row:1;text-align:center;align-self:start;padding:8px 5px}
  .game-control-column .starter-hint-nudge{grid-column:1;grid-row:2}
  .game-control-column .game-actions{grid-column:1;grid-row:3;grid-template-columns:1fr;align-self:end}
  .game-control-column .game-actions .secondary-btn{width:100%;min-height:42px}
}

/* v3.23 launch readiness */
.trust-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.trust-actions>*{flex:1 1 180px}.trust-links{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--muted)}.trust-links a,.footer-links a{color:inherit;text-underline-offset:3px}.danger-btn{appearance:none;border:1px solid #d97772;background:#fff2f0;color:#9d2d29;border-radius:14px;min-height:44px;padding:0 16px;font:inherit;font-weight:800;cursor:pointer}.danger-btn.big{width:100%;min-height:50px}.danger-btn:disabled{opacity:.55;cursor:default}.optional{font-weight:500;color:var(--muted)}.footer-links{display:block;margin-top:2px}.support-success{padding:12px 14px;border-radius:14px;background:#e7faf3;color:#22654f;font-weight:700}
html[data-theme="dark"] .danger-btn{background:#3a2227;border-color:#6a3a3e;color:#ffaaa3}html[data-theme="dark"] .support-success{background:#1d3b32;color:#84e2bd}
@media(max-width:560px){.trust-actions{display:grid}.trust-actions>*{width:100%}}


/* ==============================
   v3.24 — Monday Daily cadence + dark result chips
   ============================== */
.daily-week-rhythm{position:relative;z-index:2;margin:-7px 0 13px;padding:9px 10px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.daily-week-rhythm-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px;color:rgba(255,255,255,.92)}.daily-week-rhythm-head strong{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.daily-week-rhythm-head span{font-size:10px;color:rgba(255,255,255,.68);font-weight:750}.daily-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.daily-week-day{min-width:0;min-height:31px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.7)}.daily-week-day b{font-size:9px}.daily-week-day i{font-style:normal;font-size:12px;opacity:.78}.daily-week-day.active{background:#fff;color:#5548bd;border-color:#fff;box-shadow:0 4px 12px rgba(28,20,78,.18);transform:translateY(-1px)}.daily-week-day.active i{opacity:1}.daily-week-rhythm.pending .daily-week-day{opacity:.58}.daily-week-rhythm.pending .daily-week-rhythm-head strong{color:#ffe7a4}
@media(max-width:390px){.daily-week-rhythm{padding:8px;margin-bottom:11px}.daily-week-rhythm-head span{font-size:9px}.daily-week-day{gap:1px}.daily-week-day b{font-size:8.5px}.daily-week-day i{font-size:11px}}

/* Result words use the same colour token as solved cells/found chips in night mode. */
html[data-theme="dark"] .win-word{background:color-mix(in srgb,var(--word-color,#72d9b7) 70%,#211f2c)!important;color:#0c0b10;text-shadow:0 1px 0 rgba(255,255,255,.10);border:1px solid color-mix(in srgb,var(--word-color,#72d9b7) 72%,#383240)}

/* v3.27 — bespoke difficulty icon system */
.difficulty-icon-img,.daily-week-icon,.game-difficulty-icon{display:block;object-fit:contain}
.difficulty-title{display:flex;align-items:center;gap:12px}
.difficulty-left-icon{position:relative;z-index:2;width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;background:var(--diff-soft)}
.difficulty-left-icon .difficulty-icon-img{width:40px;height:40px}
.quick-game-icon .difficulty-icon-img{width:30px;height:30px}
.game-title #gameDifficulty{display:flex;align-items:center;justify-content:center;gap:6px}
.game-difficulty-icon{width:20px;height:20px;flex:0 0 20px}
.daily-week-day i{display:grid;place-items:center}
.daily-week-icon{width:15px;height:15px}
.difficulty-card[data-diff="easy"]{--diff:#45b98e;--diff-soft:#dff5ec}
.difficulty-card[data-diff="medium"]{--diff:#4e83d5;--diff-soft:#e5efff}
.difficulty-card[data-diff="hard"]{--diff:#f08a32;--diff-soft:#fff0dc}
.difficulty-card[data-diff="hardcore"]{--diff:#941522;--diff-soft:#f8e4e7}
html[data-theme="dark"] .difficulty-card[data-diff="easy"]{--diff:#70d9b3;--diff-soft:#203a34}
html[data-theme="dark"] .difficulty-card[data-diff="medium"]{--diff:#87b5ff;--diff-soft:#25364f}
html[data-theme="dark"] .difficulty-card[data-diff="hard"]{--diff:#ffad5b;--diff-soft:#443025}
html[data-theme="dark"] .difficulty-card[data-diff="hardcore"]{--diff:#ee6974;--diff-soft:#452128}


/* v3.28 — compact profile progress */
.level-roadmap::-webkit-scrollbar{display:none}
.achievement-card .section-head{align-items:center}
.achievement-toggle-btn{flex:0 0 auto;border:1px solid #ddd6e8;background:#f5f1fa;color:#625a73;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}
.achievement-toggle-btn span{display:inline-block;margin-left:2px;font-size:12px;line-height:1}
.achievement-summary{margin-top:11px;padding:11px 12px;border:1px solid #ebe5f1;border-radius:16px;background:#f8f5fb}
.achievement-summary-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.achievement-summary-copy strong,.achievement-summary-copy small{display:block}.achievement-summary-copy strong{font-size:13px}.achievement-summary-copy small{margin-top:2px;color:var(--muted);font-size:9.5px;line-height:1.3}.achievement-summary-copy>span{flex:0 0 auto;color:#6558c7;font-size:11px;font-weight:950}
.achievement-summary-progress{height:5px;margin-top:8px;border-radius:999px;background:#e9e4f0;overflow:hidden}.achievement-summary-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6c5ce7,#55cfa7)}
.achievement-summary-icons{display:flex;gap:6px;margin-top:10px;overflow:hidden}
.achievement-peek{position:relative;flex:0 0 32px;width:32px;height:32px;border:1px solid #e1dbe8;border-radius:11px;background:#f1edf5;display:grid;place-items:center;opacity:.58;filter:grayscale(.32)}
.achievement-peek b{font-size:18px;line-height:1;font-weight:400}.achievement-peek.earned{background:#eef8f3;border-color:#cfe5da;opacity:1;filter:none}.achievement-peek i{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border-radius:50%;display:grid;place-items:center;background:#49a982;color:#fff;border:2px solid #f8f5fb;font-size:7px;font-style:normal;font-weight:1000}
.achievement-details[hidden]{display:none}.achievement-details .achievement-groups{margin-top:14px;padding-top:13px;border-top:1px solid #eee8f3}
html[data-theme="dark"] .achievement-toggle-btn{background:#2b2735;border-color:#40394c;color:#c2bacb}
html[data-theme="dark"] .achievement-summary{background:#24212e;border-color:#3b3547}
html[data-theme="dark"] .achievement-summary-copy>span{color:#b6a9ff}html[data-theme="dark"] .achievement-summary-progress{background:#34303d}
html[data-theme="dark"] .achievement-peek{background:#2b2833;border-color:#403a49}html[data-theme="dark"] .achievement-peek.earned{background:#21372f;border-color:#355247}html[data-theme="dark"] .achievement-peek i{border-color:#24212e}
html[data-theme="dark"] .achievement-details .achievement-groups{border-top-color:#373241}
@media(max-width:390px){.achievement-toggle-btn{padding:7px 9px}.achievement-summary{padding:10px}.achievement-summary-icons{gap:5px}.achievement-peek{flex-basis:30px;width:30px;height:30px}.achievement-peek b{font-size:17px}}


/* v3.29 — onboarding explains Daily and Free before teaching controls. */
.onboard-game-intro>p.muted{max-width:370px;margin-bottom:13px}
.onboard-game-modes{display:grid;gap:8px;margin:12px 0 10px;text-align:left}
.onboard-mode-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;align-items:center;padding:11px 12px;border:1px solid #e5deed;border-radius:16px;background:#f8f6fb}
.onboard-mode-card.daily{background:linear-gradient(145deg,#f2efff,#f7f4ff);border-color:#ddd5f5}
.onboard-mode-card.free{background:linear-gradient(145deg,#f5fbf8,#f8f6fb);border-color:#d9ebe4}
.onboard-mode-card strong,.onboard-mode-card small{display:block}.onboard-mode-card strong{margin-top:2px;font-size:13px;line-height:1.2}.onboard-mode-card small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3}
.onboard-mode-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:25px;font-weight:800;background:#ebe5ff;color:#6959df;box-shadow:inset 0 0 0 1px #ddd4ff}
.onboard-free-icons{width:50px;display:grid;grid-template-columns:repeat(2,23px);gap:2px;place-content:center}
.onboard-diff-icon{display:block;width:23px;height:23px;object-fit:contain}
.onboard-intro-note{margin:8px 0 0;text-align:center;color:var(--muted);font-size:11px;font-weight:700}
html[data-theme="dark"] .onboard-mode-card{background:#292631;border-color:#403a49}
html[data-theme="dark"] .onboard-mode-card.daily{background:linear-gradient(145deg,#28243b,#2c2935);border-color:#473f62}
html[data-theme="dark"] .onboard-mode-card.free{background:linear-gradient(145deg,#24322e,#292631);border-color:#365047}
html[data-theme="dark"] .onboard-mode-mark{background:#39324f;color:#b8abff;box-shadow:inset 0 0 0 1px #4b4267}
@media(max-width:390px){.onboard-mode-card{grid-template-columns:48px minmax(0,1fr);padding:10px}.onboard-mode-mark{width:42px;height:42px}.onboard-free-icons{width:44px;grid-template-columns:repeat(2,21px)}.onboard-diff-icon{width:21px;height:21px}}


/* v3.30 — weekly rolling content + independent notification preferences */
.new-content-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:16px 18px;border:1px solid #ddd5f5;border-radius:20px;background:linear-gradient(135deg,#f3efff 0%,#fff 58%,#effaf5 100%);box-shadow:0 10px 28px rgba(52,42,94,.08)}
.new-content-main{display:flex;align-items:center;gap:13px;min-width:0}.new-content-spark{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:16px;background:#ebe5ff;font-size:24px}.new-content-main h2{margin:2px 0 3px;font-size:19px}.new-content-main p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.new-content-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.new-content-actions .primary-btn{white-space:nowrap}.new-content-actions .text-btn{white-space:nowrap}
.difficulty-heading-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.difficulty-heading-line h2{margin-right:2px}.fresh-level-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#6c5ce7;color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1}
.notification-pref-list{display:grid;gap:9px;margin-top:13px}.notification-pref-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #e7e1ed;border-radius:16px;background:#faf9fc}.notification-pref-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f0ecff;font-size:21px}.notification-pref-copy strong,.notification-pref-copy small{display:block}.notification-pref-copy strong{font-size:13px}.notification-pref-copy small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}.notification-pref-copy .push-status{margin-top:4px;font-size:10px}.notification-pref-btn{min-width:74px;padding:8px 10px;font-size:11px}
html[data-theme="dark"] .new-content-banner{background:linear-gradient(135deg,#29243b,#24212e 58%,#21332c);border-color:#443b5c;box-shadow:none}html[data-theme="dark"] .new-content-spark{background:#39324f}html[data-theme="dark"] .notification-pref-row{background:#292631;border-color:#403a49}html[data-theme="dark"] .notification-pref-icon{background:#39324f}
@media(max-width:600px){.new-content-banner{align-items:flex-start;flex-direction:column;padding:14px}.new-content-actions{width:100%;justify-content:flex-start}.new-content-actions .primary-btn{flex:1}.notification-pref-row{grid-template-columns:38px minmax(0,1fr);align-items:start}.notification-pref-icon{width:38px;height:38px}.notification-pref-btn{grid-column:2;justify-self:start}}


/* v3.31 — starter coach: instructions must win the visual hierarchy. */
.starter-mode .game-board-column{grid-template-rows:auto auto auto minmax(0,1fr)}
.starter-mode .game-board-column>.starter-coach{grid-row:3}
.starter-mode .game-board-column>.board-stage{grid-row:4}
.starter-coach{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;border:2px solid #9b8df2;border-radius:15px;background:linear-gradient(135deg,#f1edff,#f8f6ff);box-shadow:0 7px 18px rgba(79,62,153,.13);color:#3e376d}
.starter-coach.hidden{display:none!important}
.starter-coach:after{content:"";position:absolute;left:28px;bottom:-7px;width:11px;height:11px;background:#f5f2ff;border-right:2px solid #9b8df2;border-bottom:2px solid #9b8df2;transform:rotate(45deg)}
.starter-coach-step{min-width:46px;padding:6px 7px;border-radius:11px;background:#6c5ce7;color:white;text-align:center;font-size:11px;font-weight:1000;letter-spacing:.03em;box-shadow:0 4px 10px rgba(108,92,231,.22)}
.starter-coach-copy{min-width:0}.starter-coach-copy strong,.starter-coach-copy span{display:block}.starter-coach-copy strong{font-size:14px;line-height:1.15;color:#322b67}.starter-coach-copy span{margin-top:2px;font-size:12px;line-height:1.3;color:#665f7b;font-weight:700}
.starter-coach.hint-focus{border-color:#725fe4;box-shadow:0 0 0 4px rgba(108,92,231,.09),0 8px 20px rgba(79,62,153,.15)}
.starter-mode .game-control-column .game-actions .secondary-btn{min-height:42px;border-width:2px;font-size:12px;font-weight:950;box-shadow:0 4px 12px rgba(55,43,93,.08)}
.starter-mode #hintBtn{background:#eee9ff;border-color:#8b7bea;color:#4f40ba}
.starter-mode #resetBtn{background:#fff;border-color:#c9c1d8;color:#4f495d}
.starter-mode .game-control-column .game-message{font-size:11px;font-weight:800;color:#625b72}
@keyframes starterHintAttentionStrong{0%,100%{transform:translateY(0);box-shadow:0 0 0 3px rgba(108,92,231,.11),0 5px 13px rgba(73,56,150,.10)}50%{transform:translateY(-2px);box-shadow:0 0 0 7px rgba(108,92,231,.15),0 8px 18px rgba(73,56,150,.16)}}
.starter-mode #hintBtn.starter-attention{animation:starterHintAttentionStrong 1.15s ease-in-out infinite;background:#ddd5ff;border-color:#6856dc;color:#392aa9}
@media(max-height:650px){.starter-coach{padding:6px 8px;gap:7px;border-radius:12px}.starter-coach-step{min-width:40px;padding:5px;font-size:9px}.starter-coach-copy strong{font-size:12px}.starter-coach-copy span{font-size:10.5px;line-height:1.2}.starter-mode .game-board-column{gap:3px}.starter-mode .game-control-column .game-actions .secondary-btn{min-height:34px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.starter-mode #hintBtn.starter-attention{animation:none!important}}
html[data-theme="dark"] .starter-coach{background:linear-gradient(135deg,#30294d,#28243c);border-color:#8f80ef;box-shadow:0 8px 20px rgba(0,0,0,.3);color:#eeeaff}
html[data-theme="dark"] .starter-coach:after{background:#2b2743;border-color:#8f80ef}
html[data-theme="dark"] .starter-coach-step{background:#8f80ef;color:#181522;box-shadow:0 4px 12px rgba(0,0,0,.28)}
html[data-theme="dark"] .starter-coach-copy strong{color:#f3f0ff}html[data-theme="dark"] .starter-coach-copy span{color:#d0c9df}
html[data-theme="dark"] .starter-coach.hint-focus{border-color:#aa9cff;box-shadow:0 0 0 4px rgba(155,140,255,.13),0 8px 22px rgba(0,0,0,.34)}
html[data-theme="dark"] .starter-mode #hintBtn{background:#40365f;border-color:#a092ef;color:#f0ecff}
html[data-theme="dark"] .starter-mode #resetBtn{background:#292630;border-color:#625b70;color:#e0dae7}
html[data-theme="dark"] .starter-mode #hintBtn.starter-attention{background:#54458a;border-color:#c2b7ff;color:white;box-shadow:0 0 0 5px rgba(170,156,255,.14)}
html[data-theme="dark"] .starter-mode .game-control-column .game-message{color:#cbc4d2}


/* v3.31.4 — equal-weight choice when the first Daily is Hard. */
.starter-hard-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:9px 0 2px}
.starter-hard-prompt{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;padding:2px 4px 4px;color:#6f6575;font-size:12px;line-height:1.3;text-align:center}.starter-hard-prompt>span:first-child{font-size:17px}.starter-hard-prompt strong{color:#4b424e}
.starter-choice-btn{min-width:0;min-height:74px;border-radius:17px;padding:10px 8px;border:1px solid;display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;cursor:pointer;box-shadow:0 5px 13px rgba(59,49,81,.08);transition:transform .08s ease,box-shadow .15s ease}.starter-choice-btn:active{transform:scale(.98)}.starter-choice-btn>span:last-child{min-width:0}.starter-choice-btn strong,.starter-choice-btn small{display:block}.starter-choice-btn strong{font-size:13px;line-height:1.15}.starter-choice-btn small{margin-top:3px;font-size:10px;font-weight:800;opacity:.72}.starter-choice-icon{flex:0 0 31px;width:31px;height:31px;border-radius:11px;display:grid;place-items:center;font-size:18px}
.starter-choice-warmup{background:linear-gradient(145deg,#effaf5,#e6f6ef);border-color:#bfe2d1;color:#276d55}.starter-choice-warmup .starter-choice-icon{background:#d5f0e4}.starter-choice-hard{background:linear-gradient(145deg,#fff4ea,#ffead9);border-color:#efc6a4;color:#8b4820}.starter-choice-hard .starter-choice-icon{background:#ffd9bc}
html[data-theme="dark"] .starter-hard-prompt{color:#c9c0cc}html[data-theme="dark"] .starter-hard-prompt strong{color:#f2edf3}html[data-theme="dark"] .starter-choice-warmup{background:linear-gradient(145deg,#20352f,#1d302b);border-color:#41675a;color:#bcebd8}html[data-theme="dark"] .starter-choice-warmup .starter-choice-icon{background:#29483e}html[data-theme="dark"] .starter-choice-hard{background:linear-gradient(145deg,#3a2a21,#34261f);border-color:#674837;color:#ffd0b2}html[data-theme="dark"] .starter-choice-hard .starter-choice-icon{background:#523426}
@media(max-width:350px){.starter-hard-actions{gap:6px}.starter-choice-btn{min-height:68px;padding:8px 6px;gap:6px}.starter-choice-icon{flex-basis:27px;width:27px;height:27px;font-size:16px}.starter-choice-btn strong{font-size:12px}.starter-choice-btn small{font-size:9.5px}}


/* v3.31.7 Rankings & Teams */
.ranking-privacy-note{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;margin-bottom:12px;background:linear-gradient(145deg,#f8f5ff,#f1fbf7)}
.ranking-privacy-icon{font-size:22px;line-height:1}.ranking-privacy-note strong,.ranking-privacy-note small{display:block}.ranking-privacy-note strong{font-size:12px}.ranking-privacy-note small{font-size:10px;color:var(--muted);line-height:1.35;margin-top:2px}
.ranking-section{padding:16px;margin-bottom:12px}.ranking-section-head h2{margin:3px 0;font-size:22px;letter-spacing:-.03em}.ranking-section-head p{margin:0 0 12px;font-size:12px;line-height:1.35}
.ranking-control-row{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-bottom:12px}.ranking-segment{display:flex;background:#ebe6f3;padding:4px;border-radius:14px}.ranking-segment button{flex:1;border:0;background:transparent;color:#737083;border-radius:10px;padding:8px 7px;font-size:12px;font-weight:850;cursor:pointer}.ranking-segment button.active{background:white;color:#312e47;box-shadow:0 3px 9px rgba(70,55,111,.08)}.ranking-daily-segment{max-width:245px;margin-bottom:12px}
.ranking-row.me{outline:2px solid rgba(108,92,231,.28);background:linear-gradient(145deg,#fbf9ff,#f4f0ff)}.ranking-row:first-child.me{background:linear-gradient(145deg,#fffdf6,#fff4ca)}.ranking-you{display:inline-flex;vertical-align:1px;margin-left:4px;padding:2px 5px;border-radius:999px;background:#eee9ff;color:#5d4ed0;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.ranking-rank-chip{font-weight:800;color:#5d586d}.ranking-loading,.ranking-empty{padding:18px 10px;text-align:center;color:var(--muted)}.ranking-empty strong,.ranking-empty small{display:block}.ranking-empty strong{font-size:13px;color:var(--ink)}.ranking-empty small{font-size:10px;margin-top:4px}
.ranking-method{margin-top:11px;padding:10px 11px;border-radius:13px;background:#f5f1fa;color:#696579;font-size:10px;line-height:1.4}.ranking-method strong{color:#4a465b}.ranking-team-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px}.ranking-team-card>div{min-width:0}.ranking-team-card strong,.ranking-team-card small{display:block}.ranking-team-card strong{font-size:15px;margin:3px 0}.ranking-team-card small{font-size:10px;line-height:1.35;color:var(--muted)}.ranking-team-card button{flex:0 0 auto}
@media(max-width:520px){.ranking-control-row{grid-template-columns:1fr}.ranking-period-segment{order:2}.ranking-team-card{align-items:flex-start;flex-direction:column}.ranking-team-card button{width:100%}.ranking-section{padding:14px}.ranking-row{grid-template-columns:40px minmax(0,1fr) auto;padding:11px 10px}.ranking-row .leader-score strong{font-size:13px}.ranking-row .leader-name strong{font-size:13px}}


/* v3.31.7 privacy + durable teams */
.ranking-privacy-note{justify-content:flex-start}.ranking-privacy-note>div{flex:1;min-width:0}.ranking-privacy-note .text-btn{flex:0 0 auto;margin-left:auto;align-self:center;font-size:10px}
.ranking-privacy-preview{display:flex;align-items:center;gap:12px;padding:12px 13px;margin:14px 0;border-radius:15px;background:#f5f1fa}.ranking-privacy-preview>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:white;font-size:25px}.ranking-privacy-preview strong,.ranking-privacy-preview small{display:block}.ranking-privacy-preview small{font-size:10px;color:var(--muted);margin-top:2px}.team-settings-separator{height:1px;background:var(--line);margin:15px 0 12px}.family-league-modal-card .danger-btn{width:100%}
@media(max-width:520px){.ranking-privacy-note{flex-wrap:wrap}.ranking-privacy-note .text-btn{margin-left:32px}}
