@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#201b3c;--ink:#fff8f4;--muted:#aaa1c5;--lime:#9af2cf;--purple:#be9eff;--orange:#ffad88;--tile:#a391d2;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 0 0,#60406980,transparent 52%),radial-gradient(ellipse at 100% 65%,#423f7855,transparent 65%),#201b3c}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:5px}button:active:not(.tile){transform:translateY(2px)}[hidden]{display:none!important}a{color:inherit}.game{width:min(100% - 32px,450px);min-height:100svh;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 0 max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;position:relative}.play-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.score-block,.best-block{display:flex;flex-direction:column;gap:5px}.score-block{flex:1}.best-block{align-items:flex-end;margin-right:3px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--muted)}.play-header #score{font-family:'Space Grotesk',sans-serif;font-size:42px;font-weight:700;letter-spacing:-1.8px;line-height:1.05;text-shadow:0 3px 0 #0e0b2180}.best-block strong{font-family:'Space Grotesk',sans-serif;font-size:23px;color:#ffcf9b}.icon-btn{width:39px;height:39px;flex-shrink:0;border-radius:13px;border:1px solid #ffffff1a;background:linear-gradient(#504466,#39314e);box-shadow:0 3px 0 #131025,0 1px 0 #ffffff1f inset;font-size:22px;color:#e8dafa}.icon-btn.muted{color:#a49bb6}.pause-btn{font-size:18px;font-weight:700}.pause-btn:disabled{opacity:.4}
.clock{position:relative;margin:0 0 14px;padding:15px 17px;border:1px solid #ffffff18;border-radius:19px;background:linear-gradient(135deg,#493957,#302846);box-shadow:0 5px 0 #120e2490,0 1px 0 #ffffff12 inset}.clock-top{display:flex;justify-content:space-between;align-items:center}.clock-top>span{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:1px;color:#d6ccdf}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px #9af2cf55}#timer{font-family:'Space Grotesk',sans-serif;font-size:31px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}#timer span{font-size:20px;color:#b8acc6}.time-track{height:7px;border-radius:7px;background:#110c2860;margin-top:12px;overflow:hidden;box-shadow:0 1px 0 #ffffff10}.time-track #time-fill{height:100%;width:100%;border-radius:7px;background:linear-gradient(90deg,#6dccb0,#c4ffd9);box-shadow:0 1px 0 #ffffff40 inset}.clock.danger{border-color:#f19c8860}.clock.danger #time-fill,.clock.danger .live-dot{background:#ffad88}#time-gain{position:absolute;right:17px;top:2px;color:var(--lime);font-weight:700;pointer-events:none;font-size:14px}
.combo-panel{--combo-color:#b9a0e8;margin:0 0 16px;padding:11px 12px 9px;background:#ffffff05;border:1px solid #ffffff0c;border-radius:14px}.combo-panel[data-level="2"],.combo-panel[data-level="3"]{--combo-color:#9af2cf}.combo-panel[data-level="4"],.combo-panel[data-level="5"]{--combo-color:#ffbf9c}.combo-panel[data-level="6"]{--combo-color:#f6a5ca}.combo-panel[data-level="7"]{--combo-color:#f9d98a}.combo-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}.combo-top #combo{font-family:'Space Grotesk',sans-serif;font-size:18px;line-height:1;padding:6px 9px;min-width:43px;border-radius:9px;background:var(--combo-color);color:#2c2342;box-shadow:0 2px 0 #08041845,0 1px 0 #ffffff70 inset}.combo-top #combo-goal{flex:1;font-size:11px;font-weight:700}.combo-top #combo-boost{font-size:8px;letter-spacing:.3px;color:#b5a9ca;white-space:nowrap}.combo-track{height:5px;border-radius:5px;background:#0e0a2355;overflow:hidden}#combo-fill{height:100%;width:0;border-radius:5px;background:var(--combo-color);transition:background .2s}#combo-status{display:block;margin-top:6px;font-size:8px;color:var(--muted)}.combo-panel.draining #combo-status{color:var(--orange)}.combo-panel[data-level="7"] #combo{box-shadow:0 0 14px #f9d98a44}
.board-heading{display:flex;justify-content:space-between;align-items:center;margin:0 4px 10px;font-size:10px;font-weight:600;letter-spacing:1.2px;color:#c0b4d5}#shift-time{letter-spacing:.1px;font-size:10px;color:#9f94b6}.board-shell{position:relative;padding:9px 9px 13px;border:1px solid #a78fca35;border-radius:24px;background:linear-gradient(145deg,#33294e,#19142d);box-shadow:0 8px 0 #120e25,0 15px 35px #100c2535,0 1px 0 #ffffff0e inset}#board{display:grid;grid-template-columns:repeat(var(--size,5),1fr);gap:clamp(6px,1.8vw,9px);aspect-ratio:1;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none}.tile,#drag-ghost{--tile-top:#b6a4df;--tile-bottom:#8c78ba;--tile-edge:#62518b;position:relative;aspect-ratio:1;min-width:0;background:linear-gradient(145deg,var(--tile-top),var(--tile-bottom));color:#322545;border:1px solid #ffffff2e;border-radius:clamp(10px,2.5vw,16px);font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,6.8vw,36px);font-weight:700;box-shadow:0 4px 0 var(--tile-edge),0 5px 8px #09061c3b,inset 0 2px 0 #ffffff28;text-shadow:0 1px 0 #ffffff38;padding:0;overflow:hidden;transition:background .15s,box-shadow .15s;touch-action:none;-webkit-touch-callout:none;cursor:grab}.tile[data-tone="1"],#drag-ghost[data-tone="1"]{--tile-top:#a58fcf;--tile-bottom:#8067b1;--tile-edge:#57417f}.tile[data-tone="2"],#drag-ghost[data-tone="2"]{--tile-top:#c1a3d2;--tile-bottom:#9d7ab9;--tile-edge:#6b5087}.tile::before{content:'';position:absolute;inset:3px 7px auto;height:28%;border-radius:8px;background:linear-gradient(#ffffff1c,transparent);pointer-events:none}.tile.available{--tile-top:#b5f5dc;--tile-bottom:#75c9ac;--tile-edge:#3f897b;color:#203d3b;text-shadow:0 1px 0 #ffffff60}.tile.available::after{content:'';position:absolute;bottom:7px;left:calc(50% - 7px);width:14px;height:3px;border-radius:3px;background:#346f6466}.tile.selected,.tile.target{--tile-top:#ffe0b3;--tile-bottom:#edaf86;--tile-edge:#a76a59;color:#4d2e3a;text-shadow:none;box-shadow:0 4px 0 var(--tile-edge),0 0 0 2px #fff1d5,inset 0 2px 0 #ffffff50}.tile.dragging{opacity:.22}#board[data-size="6"] .tile{font-size:clamp(20px,5.6vw,29px)}#board[data-size="4"] .tile{font-size:clamp(30px,9vw,46px)}#board[data-size="3"] .tile{font-size:clamp(38px,12vw,62px)}#drag-ghost{display:none;position:fixed;top:0;left:0;z-index:10;pointer-events:none;align-items:center;justify-content:center;rotate:0deg;will-change:transform;box-shadow:0 4px 0 var(--tile-edge),0 15px 24px #10092170;border:2px solid #fff2df;cursor:grabbing}#particles{position:absolute;inset:0;pointer-events:none;overflow:visible}.particle{position:absolute;width:7px;height:7px;border-radius:3px;background:var(--lime)}.under-board{margin:18px 3px 0;font-size:9px;color:#9e92b8;min-height:16px;letter-spacing:.4px}.word-recap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 3px 0;min-height:30px;font-size:11px;color:#b1a4c8}#last-word{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-recap button{background:#ffffff06;border:1px solid #ffffff15;color:#d8cce8;border-radius:10px;padding:7px 10px;font-size:10px;white-space:nowrap}
.overlay{position:fixed;inset:0;z-index:20;display:flex;justify-content:center;align-items:center;padding:24px;background:#110c27b8;backdrop-filter:blur(12px);overflow:auto}.dialog{width:min(100%,390px);padding:28px 25px;border:1px solid #a68bc34d;border-radius:26px;text-align:center;background:linear-gradient(155deg,#433453,#2c2441);box-shadow:0 8px 0 #120e25,0 20px 60px #08051f70,inset 0 1px 0 #ffffff12;max-height:calc(100svh - 48px);overflow:auto}.dialog h2{font-family:'Space Grotesk',sans-serif;font-size:38px;letter-spacing:-1.5px;margin:14px 0 0}.dialog p{font-size:13px;line-height:1.7;color:#bcb0cd}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 21px;border:1px solid #ffe1cb70;border-radius:16px;background:linear-gradient(#ffc4a4,#f39e85);color:#40283a;font-size:16px;font-weight:700;box-shadow:0 5px 0 #a25e62,0 10px 20px #130c2e35,inset 0 2px 0 #ffffff45}.primary span{font-size:20px}.secondary{width:100%;margin-top:15px;padding:15px 20px;border:1px solid #ad96cb55;border-radius:14px;background:#ffffff06;color:#e6d7f1;font-size:15px;font-weight:600}.text-btn{background:transparent;color:#c4b5d8;font-size:12px;padding:15px 5px}.pause-tools,.result-tools{display:flex;justify-content:space-between;gap:12px;margin-top:6px}.home-link{padding-bottom:0;color:var(--orange)}.pause-overlay .primary{margin-top:24px}.pause-overlay h2{margin-bottom:14px}#final-score{font-family:'Space Grotesk',sans-serif;font-size:58px;letter-spacing:-3px;color:var(--lime);margin-top:20px}.results{display:flex;justify-content:space-around;padding:22px 0;margin:12px 0 24px;border-bottom:1px solid #ffffff12}.results>div{display:flex;flex-direction:column;gap:7px}.results strong{font-family:'Space Grotesk',sans-serif;font-size:18px}.results span{font-size:7px;letter-spacing:1px;color:var(--muted)}.history-dialog{text-align:left;display:flex;flex-direction:column;max-height:80svh}.history-heading{display:flex;justify-content:space-between;align-items:center}.history-heading h2{font-size:28px;margin:0}.history-heading .text-btn{padding:10px}.history-dialog>p{font-size:11px;margin:4px 0 14px}#history-list{list-style:none;padding:0;margin:0;overflow:auto;min-height:70px}#history-list li{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #ffffff12;font-size:14px}#history-list small{width:20px;font-size:10px;color:var(--muted)}#history-list strong{flex:1;letter-spacing:.5px}#history-list span{font-size:10px;color:#c4b5d8}
#toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:30;max-width:calc(100% - 24px);background:#524361;color:var(--lime);border:1px solid #ab91c340;border-radius:30px;padding:12px 18px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 6px 25px #10092160;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}.pop{animation:pop .25s ease-out}@keyframes pop{50%{scale:1.06}}
.at-menu .game{visibility:hidden}.menu-overlay{padding:0 24px;background:radial-gradient(ellipse at 40% 15%,#65416d77,transparent 55%),radial-gradient(ellipse at 100% 90%,#424b7955,transparent 65%),#201b3c;backdrop-filter:none}.main-menu{width:min(100%,360px);padding:max(30px,env(safe-area-inset-top)) 0 max(25px,env(safe-area-inset-bottom));text-align:center;position:relative;margin:auto}.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.menu-kicker{font-size:9px;letter-spacing:2px;font-weight:700;color:#b9a7cd}.menu-art{height:166px;position:relative;width:250px;margin:0 auto 20px}.art-tile{position:absolute;display:grid;place-items:center;width:98px;height:103px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:65px;border-radius:23px;border:1px solid #ffffff50;text-shadow:0 2px 0 #ffffff50;box-shadow:0 7px 0 #34243f,0 15px 30px #10092145,inset 0 3px 0 #ffffff50}.art-s{left:16px;top:28px;background:linear-gradient(145deg,#f6b79d,#d38e9e);color:#553447;transform:rotate(-12deg);z-index:1}.art-w{left:79px;top:9px;background:linear-gradient(145deg,#c5acf0,#9d7ac5);color:#443151;transform:rotate(7deg);z-index:2}.art-a{left:145px;top:55px;background:linear-gradient(145deg,#baf2da,#79c3b0);color:#30534d;transform:rotate(16deg);z-index:3}.art-orbit{position:absolute;left:99px;top:119px;z-index:4;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:#352a4c;color:#fbd2a6;font-size:27px;box-shadow:0 3px 0 #100921}.art-spark{position:absolute;color:#f9d5a7}.spark-one{left:4px;top:0;font-size:31px}.spark-two{right:-5px;top:16px;font-size:24px;color:#c4abe8}.main-menu h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(52px,14vw,66px);font-weight:700;letter-spacing:-4px;line-height:1.05;margin:0;text-shadow:0 4px 0 #10092155}.title-dot{color:var(--orange)}.menu-tagline{color:#bba9cf;font-size:13px;margin:12px 0 29px}.menu-record{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:27px}.record-star{color:#ffcf9b;font-size:29px;text-shadow:0 3px 0 #100921}.menu-record>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.menu-record div span{font-size:8px;letter-spacing:1.6px;font-weight:700;color:#b8a5cd}.menu-record strong{font-family:'Space Grotesk',sans-serif;font-size:27px;line-height:1;color:#ffe2bd}.menu-play{font-size:21px;padding:20px 24px}.menu-play span{font-size:18px}.how-to{margin:24px 0 0;border:1px solid #ffffff14;border-radius:14px;background:#ffffff04;text-align:left}.how-to summary{display:flex;justify-content:space-between;padding:15px 18px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:#d6c6e5}.how-to summary::-webkit-details-marker{display:none}.how-to summary span{color:#9d86b3}.how-to[open] summary span{transform:rotate(45deg)}.how-to>div{padding:0 18px 12px}.how-to p{font-size:11px;color:#b9a8cb;line-height:1.7;margin:0 0 10px}.how-to b{color:#ebddf4}.menu-foot{color:#8e7ea8;font-size:9px;margin:23px 0 0}
@media(min-width:700px){.game{max-width:440px}.menu-art{margin-bottom:26px}}@media(max-height:740px){.game{width:min(100% - 28px,calc(100svh - 278px));padding-top:14px;padding-bottom:18px}.play-header{margin-bottom:14px;gap:9px}.play-header #score{font-size:33px}.best-block strong{font-size:20px}.icon-btn{width:35px;height:35px}.clock{padding:11px 14px;margin-bottom:12px}.combo-panel{margin-bottom:12px;padding:9px 10px}#timer{font-size:27px}.under-board{font-size:8px;margin-top:15px}.menu-top{margin-bottom:15px}.menu-art{height:150px;margin-bottom:10px;transform:scale(.9)}.menu-tagline{margin-bottom:21px}.menu-record{margin-bottom:23px}.main-menu{padding-top:22px;padding-bottom:22px}.menu-foot{margin-top:16px}.how-to{margin-top:20px}}@media(max-width:350px){.play-header{gap:8px}.best-block strong{font-size:18px}.combo-top{gap:6px}.combo-top #combo-goal{font-size:10px}.combo-top #combo-boost{font-size:7px}.main-menu h1{font-size:50px}.menu-art{transform:scale(.85)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Calm play screen: green has one meaning — this word is ready to claim. */
.sr-only,.board-heading,#combo-goal,#combo-boost,#combo-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body:not(.at-menu){background:radial-gradient(ellipse at 50% 0,#39445755,transparent 65%),#242c3b}
.game{width:min(100% - 28px,450px)}.play-header{margin-bottom:23px;gap:12px}.play-header .eyebrow{color:#a8b0bc;font-size:9px;letter-spacing:1.7px}.play-header #score{font-size:43px;letter-spacing:-1.5px;color:#f4f4f1;text-shadow:none}.play-header .icon-btn{background:#ffffff0a;box-shadow:none;border:1px solid #ffffff14;border-radius:50%;color:#d9dce2;width:37px;height:37px}
.play-hud{display:flex;align-items:flex-end;gap:28px;margin:0 2px 22px}.clock{flex:1;margin:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0}.clock-top{justify-content:flex-start;gap:10px}.clock-top>span{color:#a8b0bc;font-size:9px;letter-spacing:1.3px}.live-dot{display:none}#timer{font-size:30px;font-weight:600;color:#f4f4f1}#timer span{font-size:19px;color:#a8b0bc}.time-track{height:4px;margin-top:9px;background:#ffffff12;box-shadow:none}.time-track #time-fill{background:#edbb96;box-shadow:none}.clock.danger{background:none}.clock.danger #time-fill{background:#f08d80}#time-gain{right:2px;top:2px;color:#efc8a5;font-size:12px}.combo-panel{--combo-color:#d0b4a0!important;position:relative;flex:0 0 61px;margin:0;padding:0;border:0;background:none}.combo-top{margin:0 0 9px;justify-content:center;gap:0}.combo-top #combo{background:none;color:#f4f4f1;box-shadow:none!important;padding:0;min-width:0;font-size:25px;font-weight:600;line-height:30px}.combo-track{height:4px;background:#ffffff12}.combo-panel.draining #combo-fill{opacity:.65}
.board-shell{padding:8px 8px 12px;background:#1b2230;border-color:#ffffff0b;border-radius:20px;box-shadow:0 5px 0 #151b26,0 12px 26px #13192520}#board{gap:clamp(6px,1.8vw,9px)}.tile,.tile[data-tone="1"],.tile[data-tone="2"],#drag-ghost,#drag-ghost[data-tone="1"],#drag-ghost[data-tone="2"]{--tile-top:#f1eee6;--tile-bottom:#e5e1d8;--tile-edge:#bcb9b2;color:#303743;border-color:#ffffff70;box-shadow:0 3px 0 var(--tile-edge),0 4px 5px #0d142421,inset 0 1px 0 #fff8;text-shadow:none;border-radius:clamp(9px,2.2vw,13px)}.tile::before{display:none}.tile.available{--tile-top:#a9efba;--tile-bottom:#88d89e;--tile-edge:#4e9b68;color:#18452a;border-color:#d1ffdd;box-shadow:0 3px 0 var(--tile-edge),0 0 0 1px #a9efba12,inset 0 1px 0 #fff4}.tile.available::after{background:#245c3645;width:12px;left:calc(50% - 6px);height:3px;bottom:7px}.tile.selected,.tile.target{--tile-top:#f1eee6;--tile-bottom:#e5e1d8;--tile-edge:#bcb9b2;color:#303743;box-shadow:0 3px 0 var(--tile-edge),0 0 0 3px #edbb96}.tile.dragging{opacity:.2}#drag-ghost{border:2px solid #edbb96;box-shadow:0 3px 0 var(--tile-edge),0 12px 23px #10162466}.under-board{margin-top:15px;color:#abb2bd;text-align:center;font-size:9px;visibility:hidden}.under-board.active{visibility:visible}#toast{background:#343e4f;border-color:#ffffff12;color:#f3e8dd;box-shadow:0 6px 20px #151c2733}.pause-sound{display:flex;justify-content:space-between;align-items:center;padding:12px 0 4px;color:#c4b5d8;font-size:13px}
@media(max-height:740px){.game{width:min(100% - 28px,calc(100svh - 190px));padding-top:14px;padding-bottom:14px}.play-header{margin-bottom:17px}.play-header #score{font-size:35px}.play-hud{margin-bottom:17px;gap:22px}#timer{font-size:27px}.combo-top #combo{font-size:23px;line-height:27px}}

.run-clock{display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin-right:6px}.run-clock .eyebrow{font-size:8px;letter-spacing:1.2px}.run-clock strong{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:500;font-variant-numeric:tabular-nums;color:#c4c9d2;line-height:1.15}@media(max-width:350px){.run-clock{margin-right:2px}.run-clock strong{font-size:16px}}

.language-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:11px 14px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff06;color:#cbbbdc;font-size:12px}.language-picker select{appearance:auto;border:0;border-radius:8px;background:#403451;color:#fff4ed;font:inherit;font-weight:600;padding:8px 10px;min-width:117px}.language-picker select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.main-menu .menu-top{margin-bottom:16px}.main-menu .menu-art{height:145px;margin-bottom:14px;transform:scale(.88);transform-origin:center top}.main-menu .menu-record{margin-bottom:19px}.main-menu .menu-tagline{margin-bottom:20px}@media(max-height:740px){.main-menu .menu-art{height:112px;margin-bottom:8px;transform:scale(.7)}.main-menu h1{font-size:52px}.main-menu .menu-top{margin-bottom:10px}.language-picker{margin-bottom:14px;padding:8px 12px}}

/* A brief ×7 reward, with no layout shift or blocked board input. */
.board-shell.combo-glow{border-color:#f6cd8299;box-shadow:0 5px 0 #151b26,0 0 0 2px #f5cf8026,0 0 32px #f5cf802b}
#combo-celebration{position:absolute;inset:0;z-index:6;pointer-events:none;isolation:isolate;--celebration-play:running}
.combo-halo{position:absolute;inset:-7px;border:2px solid #f9d495;border-radius:26px;opacity:.75}
.combo-badge{position:absolute;left:50%;bottom:-12px;transform:translate(-50%,100%);display:grid;grid-template-columns:55px auto;align-items:center;column-gap:14px;row-gap:3px;min-width:224px;padding:10px 24px 12px;border:1px solid #ffe7ba;border-radius:21px;background:linear-gradient(150deg,#ffe6ae,#ecc17c);color:#493625;box-shadow:0 5px 0 #977451,0 9px 24px #11192570;text-align:center;white-space:nowrap}
.combo-badge>span:first-child{grid-column:2;grid-row:1;font-size:8px;font-weight:800;letter-spacing:1.6px}.combo-badge strong{grid-column:1;grid-row:1 / 3;font-family:'Space Grotesk',sans-serif;font-size:46px;font-weight:700;line-height:1;letter-spacing:-2px}.combo-badge>span:last-child{grid-column:2;grid-row:2;font-size:12px;font-weight:700;letter-spacing:.1px}
.combo-confetti{position:absolute;bottom:0;left:50%}.combo-confetti i{position:absolute;width:6px;height:10px;border-radius:2px;background:#ffd992;opacity:0}.combo-confetti i:nth-child(3n){background:#f9b693}.combo-confetti i:nth-child(3n+1){background:#fff1ce;width:5px;height:5px;border-radius:50%}
#combo-celebration.finale .combo-halo{animation:combo-halo 1.4s ease-out both;animation-play-state:var(--celebration-play)}
#combo-celebration.finale .combo-confetti i{animation:combo-confetti 1.3s ease-out var(--delay) both;animation-play-state:var(--celebration-play)}
@keyframes combo-halo{0%{transform:scale(1);opacity:.8}65%{transform:scale(1.045);opacity:.35}100%{transform:scale(1.065);opacity:0}}
@keyframes combo-confetti{0%{transform:translate(0,0) rotate(0);opacity:0}8%{opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--turn));opacity:0}}
@media(prefers-reduced-motion:no-preference){.combo-badge{animation:combo-badge-in .32s cubic-bezier(.16,1,.3,1) both;animation-play-state:var(--celebration-play)}#combo-celebration.finale .combo-badge{animation:combo-badge-out 1.4s ease-out both;animation-play-state:var(--celebration-play)}@keyframes combo-badge-in{from{transform:translate(-50%,110%) scale(.65);opacity:0}to{transform:translate(-50%,100%) scale(1);opacity:1}}@keyframes combo-badge-out{0%{transform:translate(-50%,100%) scale(1)}15%{transform:translate(-50%,100%) scale(1.09)}60%{opacity:1}100%{transform:translate(-50%,70%) scale(.95);opacity:0}}}
@media(max-width:350px){.combo-badge{padding:8px 17px 10px;min-width:140px}.combo-badge strong{font-size:39px}}

/* A five-second heads-up, shown only immediately before the next board. */
.under-board{position:relative}.under-board.counting{visibility:visible}.under-board.counting #board-label{visibility:hidden}#shift-warning{position:absolute;top:-3px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:6px 11px;border:1px solid #edbb9655;border-radius:20px;background:#343d4d;color:#f2d1b5;font-size:11px;letter-spacing:.1px;white-space:nowrap}#shift-count{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#edbb96;color:#303743;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.combo-badge{bottom:-42px}

.daily-menu-tools{display:flex;justify-content:center;gap:24px;margin-top:13px}.daily-menu-tools .text-btn{padding:9px 3px;color:#e6ceb7;font-size:12px}.main-menu .how-to{margin-top:10px}.daily-dialog{text-align:left;padding:24px 22px}.daily-dialog h2{font-size:27px;letter-spacing:-1px}.daily-dialog #daily-date{color:#f5d7b6;font-size:12px;margin:12px 0 10px}.daily-dialog .daily-rules{font-size:13px;margin:0 0 7px;color:#ede1f6}.daily-dialog .daily-reset{font-size:10px;line-height:1.6;margin:0 0 16px}#daily-entry label{display:block;font-size:11px;color:#e3d2ed;font-weight:600;margin-bottom:7px}#daily-name{width:100%;border:1px solid #b5a0c760;border-radius:11px;background:#ffffff0a;padding:12px;color:#fff6ec;font:inherit;font-size:15px}#daily-name:focus{outline:2px solid #edbb96;outline-offset:2px}#daily-entry small{display:block;font-size:10px;line-height:1.5;color:#bfb0ce;margin:7px 0}#daily-status,#daily-result{font-size:12px;color:#f2d5b3;line-height:1.5;min-height:18px}#daily-start{margin-top:12px;justify-content:center;padding:14px}.primary:disabled{opacity:.5}.daily-ranking-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px;border-bottom:1px solid #ffffff15}.daily-ranking-heading>span{font-size:9px;letter-spacing:1px;font-weight:700;color:#bcb0cd}.daily-ranking-heading .text-btn{padding:9px 0}#daily-ranking{list-style:none;padding:0;margin:0;max-height:205px;overflow:auto}#daily-ranking li{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ffffff10;padding:12px 3px;font-size:13px}#daily-ranking .daily-rank{width:22px;font-weight:700;color:#b6a9c9}#daily-ranking .daily-player{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#daily-ranking strong{color:#f0d5b2;font-variant-numeric:tabular-nums}#daily-ranking li.mine{background:#ffcc9c12;border-radius:9px;padding-left:8px;padding-right:8px}#daily-ranking .daily-empty{font-size:12px;color:#bfb1cf;padding:17px 0}.daily-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.daily-footer>span{font-size:10px;color:#b9a8ca}#daily-share-status{font-size:10px;overflow-wrap:anywhere;margin:0}.daily-active .run-clock .eyebrow{color:#edbb96}.daily-dialog .primary{box-shadow:0 4px 0 #a25e62}.daily-dialog .primary:disabled{cursor:default}@media(max-height:740px){.daily-menu-tools{margin-top:9px}.daily-dialog{max-height:calc(100svh - 30px)}.main-menu .menu-art{height:98px;transform:scale(.64)}.main-menu .menu-record{margin-bottom:15px}}

/* Centre warning stays readable while the board remains interactive. */
#shift-warning{z-index:7;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);flex-direction:column;justify-content:center;gap:5px;padding:10px 18px;border:1px solid #f4c49bd9;border-radius:18px;background:#263040e8;color:#ffe1bf;box-shadow:0 5px 20px #10182766;pointer-events:none;min-width:136px;min-height:98px}#shift-warning-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}#shift-count{min-width:44px;height:44px;border-radius:50%;font-size:31px;background:#f0c399;color:#263040}.board-shell.switch-soon{border-color:#efbc8e;box-shadow:0 5px 0 #151b26,0 0 0 2px #efbc8e30}.under-board.counting #board-label{visibility:visible}.pause-dictionary{text-align:center;margin:0}.pause-dictionary .text-btn{padding:7px 5px;color:#dfc4a8}.word-dialog{text-align:left}.word-dialog h2{font-size:27px;margin:0}.word-dialog label{display:block;margin:20px 0 8px;font-size:12px;color:#dfd0ea}#word-input{width:100%;border:1px solid #b5a0c760;border-radius:12px;background:#ffffff0a;padding:14px;color:#fff6ec;font:inherit;font-size:22px;letter-spacing:2px;text-transform:uppercase}#word-input:focus{outline:2px solid #edbb96;outline-offset:2px}#word-result{font-size:14px;line-height:1.7;color:#f0cfaa;min-height:60px}#word-result[data-state="accepted"]{color:#9af2cf}.word-dialog .word-rules{font-size:11px;color:#b6a9c6}

/* The two-word lesson is shown once per language, with the board in focus. */
#intro-tip{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:10px;margin-top:18px;padding:13px 14px;border:1px solid #e8c49e55;border-radius:17px;background:#313a4a;color:#f4eee4;text-align:left}
#intro-tip[hidden]{display:none}#intro-step{font:700 11px 'DM Sans',system-ui,sans-serif;color:#e8c49e;white-space:nowrap}#intro-tip strong{display:block;font-size:16px;letter-spacing:-.3px}#intro-copy{display:block;margin-top:5px;font-size:12px;line-height:1.45;color:#c6ced9}#intro-skip{padding:8px 2px;color:#e8c49e;font-size:12px}
.tile.lesson-muted{opacity:.32}.tile.lesson-target{outline:2px solid #f0cb96;outline-offset:2px;animation:lesson-pulse 1.5s ease-in-out infinite}.tile.lesson-target.available{outline-color:#b8f7c6}.intro-active .under-board{display:none}
@keyframes lesson-pulse{50%{outline-offset:4px;filter:brightness(1.08)}}
@media(max-height:740px){.intro-active .game{width:min(100% - 28px,calc(100svh - 280px),440px)}}
@media(prefers-reduced-motion:reduce){.tile.lesson-target{animation:none}}

.stats-option{display:flex;align-items:center;gap:9px;margin:15px 0 5px;font-size:12px;color:#d0c7dd}.stats-option input{width:18px;height:18px;accent-color:#9af2cf}.how-to .stats-note{font-size:11px;line-height:1.5;color:#b2acc0;margin:0 0 12px}

/* A dedicated warning below the board stays clear of letters and the timer. */
.under-board{min-height:58px;display:flex;align-items:center;justify-content:center;margin-top:14px}
.under-board.counting #board-label{display:none}
#shift-warning{position:static;inset:auto;transform:none;display:inline-flex;flex-direction:row;justify-content:center;gap:12px;min-width:0;min-height:0;padding:7px 15px;border:1px solid #e8b88b99;border-radius:15px;background:#303b4e;color:#ffe0bd;box-shadow:0 3px 0 #151c28;pointer-events:none}
#shift-warning-label{position:static;transform:none;color:#ffe0bd;font-size:12px;font-weight:700;letter-spacing:.4px;white-space:nowrap}
#shift-count{display:grid;place-items:center;width:40px;min-width:40px;height:40px;border-radius:11px;background:#f0c399;color:#263040;-webkit-text-stroke:0;font-size:29px;font-weight:700;line-height:1;text-shadow:none;opacity:1}
.board-shell.switch-soon .combo-badge{bottom:-84px;min-width:0;padding:8px 12px;display:flex;align-items:center;gap:10px}
.board-shell.switch-soon .combo-badge #celebration-label{display:none}
.board-shell.switch-soon .combo-badge strong{font-size:26px;margin:0}
.board-shell.switch-soon .combo-badge #celebration-bonus{font-size:11px;white-space:nowrap}

/* Both modes have equally clear tap targets; ordinary tiles keep their calm palette. */
.mode-buttons{display:grid;gap:12px}.mode-buttons .menu-play{font-size:18px;padding:16px 21px}.mode-buttons .menu-daily{margin:0;padding:16px 21px;border:1px solid #a4b6d280;background:linear-gradient(#44536b,#334156);color:#fff6ec;font-size:16px;font-weight:700;box-shadow:0 4px 0 #172336,inset 0 1px 0 #ffffff25;min-height:54px}.main-menu .how-to{margin-top:18px}
#board .tile.metal{background:linear-gradient(135deg,#c9d0d5 0%,#9faab4 36%,#667783 40%,#8796a0 66%,#52636f 100%);border:2px solid #aebbc5;border-radius:10px;box-shadow:0 4px 0 #354552,inset 0 0 0 3px #536773,inset 0 0 0 5px #ffffff33;cursor:default;opacity:1;text-shadow:none}
#board .tile.metal::before{inset:7px;border:1px solid #dce7eb70;border-radius:3px;background:linear-gradient(145deg,#ffffff20,transparent 55%);height:auto;box-shadow:inset 0 1px 4px #1a2e3f55}
#board .tile.metal::after{content:'';position:absolute;inset:5px;pointer-events:none;background:radial-gradient(circle at 3px 3px,#344752 0 2px,transparent 2.5px),radial-gradient(circle at calc(100% - 3px) 3px,#344752 0 2px,transparent 2.5px),radial-gradient(circle at 3px calc(100% - 3px),#344752 0 2px,transparent 2.5px),radial-gradient(circle at calc(100% - 3px) calc(100% - 3px),#344752 0 2px,transparent 2.5px)}

/* Six letters stay upright and legible within the same board footprint. */
#board[data-size="6"]{gap:clamp(4px,1.4vw,7px)}#board[data-size="6"] .tile{font-size:clamp(21px,6vw,31px);border-radius:clamp(7px,2vw,12px)}

.daily-dialog .daily-play-rules{font-size:11px;line-height:1.6;color:#d2c6df;margin:4px 0 12px}

.under-board.daily-build{visibility:visible}.under-board.daily-build #board-label{font-size:10px;color:#d0d7e1;letter-spacing:.2px}

/* Center both mode labels while keeping the play icon clear of the text. */
.mode-buttons button{text-align:center;min-height:54px}.mode-buttons .menu-play{position:relative;justify-content:center;padding-inline:48px}.mode-buttons .menu-play>span{position:absolute;right:21px;top:50%;transform:translateY(-50%)}

/* Fixed-size Custom runs use the same visual language and touch targets. */
.mode-buttons .menu-custom{margin:0;min-height:54px;padding:15px 21px;border-color:#9af2cf66;background:linear-gradient(#355856,#294340);color:#e1fff0;font-weight:700;box-shadow:0 4px 0 #142d2b,inset 0 1px 0 #ffffff20}
.custom-dialog{text-align:left}.custom-dialog h2{font-size:28px;margin:0}.custom-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0;margin:20px 0}
.custom-sizes button{min-height:66px;border:1px solid #b9a8d255;border-radius:14px;background:#ffffff08;color:#fff6ec;font-size:22px;font-weight:700;box-shadow:0 3px 0 #16112b}
.custom-sizes button[aria-pressed="true"]{background:#9af2cf;color:#233f37;border-color:#c4ffe5;box-shadow:0 3px 0 #4b9f88}
.custom-sizes button:focus-visible{outline:3px solid #ffc4a4;outline-offset:3px}.custom-dialog .custom-rules{font-size:12px;line-height:1.7}.custom-dialog #custom-best{color:#e6d1a9;font-size:13px}.custom-dialog .primary{justify-content:center;margin-top:18px}
