:root{--felt:#075f57;--felt-dark:#03463f;--cream:#f5e6c6;--ink:#22221e;--red:#c74232;--gold:#e6b444;--line:rgba(222,255,238,.16);font-family:Figtree,Arial,sans-serif;color:#f9f1df}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 0%,#127a6e 0,transparent 32%),radial-gradient(circle at 75% 50%,rgba(0,0,0,.18),transparent 55%),linear-gradient(135deg,var(--felt),var(--felt-dark));min-height:100vh}
.app-shell{width:min(100%,760px);padding:16px 20px 42px;margin:auto}
.topbar{height:48px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:18px;font-weight:800;letter-spacing:.08em;color:#fff4db;text-decoration:none}
.logo i{font-style:normal;color:#efc357;font-size:20px}
.icon-button{background:none;border:0;color:#fff4db;font-size:30px;cursor:pointer;padding:7px}
.menu-button{width:39px;display:grid;gap:5px}
.menu-button span{height:2px;background:currentColor;width:23px}
.share-icon svg{width:22px;fill:currentColor}
.game-card{margin-top:15px;border:1px solid var(--line);border-radius:20px;background:rgba(2,55,50,.4);box-shadow:0 20px 50px rgba(0,0,0,.22);overflow:hidden}
.game-header{padding:20px 28px 15px}
.game-header-top{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:9px}
.header-actions{display:grid;justify-items:end;gap:6px}
.mode-meta{display:flex;align-items:center;gap:8px}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.13em;color:#e6c174;margin:0 0 8px}.timer{margin-bottom:8px;min-width:29px;border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:3px 6px;color:#fff4db;font:700 12px 'DM Mono',monospace;text-align:center}.pause-button{display:grid;place-items:center;margin-bottom:8px;width:30px;height:27px;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:transparent;color:#fff4db;cursor:pointer;padding:5px}.pause-button[hidden]{display:none}.pause-button svg{width:100%;height:100%;fill:currentColor}
h1{margin:0;font-size:clamp(24px,6vw,34px);line-height:1.05;white-space:nowrap}
.how-button{flex:none;border:1px solid rgba(255,255,255,.3);border-radius:18px;background:transparent;color:#fff7e4;padding:6px 9px;font:500 11px 'DM Mono',monospace;cursor:pointer}
.sound-button{width:38px;height:34px;padding:5px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:transparent;color:#fff7e4;cursor:pointer}
.sound-button svg{display:block;width:100%;height:100%;fill:currentColor}
.run-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(1,36,33,.25)}
.run-stats div{padding:12px 13px;border-right:1px solid var(--line)}
.run-stats div:last-child{border:0}
.run-stats span,.personal-best>span{display:block;font:500 9px 'DM Mono',monospace;letter-spacing:.08em;color:#b9d8cd}
.run-stats strong{display:block;margin-top:3px;font-size:19px}
.run-stats strong,.run-stats b{transform-origin:center}
.stat-celebration{display:inline-block!important;animation:stat-pop .5s ease-out}
.flame{font-style:normal;color:#ff9d48}
.multiplier-stat strong{color:#f2c64e}
.clue-bar{display:flex;gap:9px;align-items:center;padding:14px 28px 0;font-size:13px}
.clue-label{color:#a4d0c3;font:500 10px 'DM Mono',monospace;letter-spacing:.12em}
.hint-counter{margin-left:auto;color:#b5d7cb;font-size:12px}
.hint-message{margin:12px 28px -4px;padding:9px 12px;border-left:3px solid #f4c24d;border-radius:5px;background:rgba(244,194,77,.13);color:#fff1c6;font-size:13px;line-height:1.35}
.board-wrap{padding:17px 28px 5px}
.board{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(6px,2vw,13px)}
.slot{aspect-ratio:.78;min-width:0;position:relative;border:1px solid rgba(24,22,17,.35);border-radius:7px;background:linear-gradient(125deg,#fff5dc,#e5d1a8);box-shadow:0 3px 0 #a48f68,0 7px 12px rgba(0,0,0,.23),inset 0 0 0 2px rgba(255,255,255,.45);color:var(--ink);cursor:pointer;transition:.16s transform,.16s box-shadow;overflow:hidden}
.slot:hover,.slot.selected{transform:translateY(-3px);box-shadow:0 5px 0 #a48f68,0 10px 15px rgba(0,0,0,.25),inset 0 0 0 2px rgba(255,255,255,.65)}
.slot.selected{outline:5px solid #f4c24d}
.slot.correct{background:linear-gradient(125deg,#f8d675,#d9a529);box-shadow:0 3px 0 #967222,0 7px 12px rgba(0,0,0,.25)}
.slot.celebrate-letter{animation:correct-letter .5s ease-out}
.slot.celebrate-word{animation:complete-word 2.5s ease-in-out}
.slot.dead{background:linear-gradient(125deg,#c3b69c,#95866d);filter:saturate(.5);cursor:not-allowed}
@keyframes correct-letter{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.14);filter:brightness(1.2);box-shadow:0 0 22px #ffe89b}100%{transform:scale(1);filter:brightness(1)}}
@keyframes complete-word{0%,100%{transform:scale(1);filter:brightness(1)}16%,50%,84%{transform:scale(1.12);filter:brightness(1.18);box-shadow:0 0 22px #ffe89b}33%,67%{transform:scale(1);filter:brightness(1)}}
@keyframes stat-pop{0%{transform:scale(1)}45%{transform:scale(1.22);filter:brightness(1.22)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.slot.celebrate-letter,.slot.celebrate-word,.stat-celebration{animation:none}}
.tile-letter{display:grid;place-items:center;height:100%;font-size:clamp(28px,8vw,52px);font-weight:800}
.slot-value{position:absolute;top:0;left:7px;font:500 clamp(20px,5vw,30px) 'DM Mono',monospace}
.tile-bonus{position:absolute;right:5px;bottom:5px;border-radius:4px;background:var(--red);color:#fff5df;padding:2px 4px;font:700 10px 'DM Mono',monospace}
.status-message{min-height:23px;margin:13px 0 0;text-align:center;color:#c7e0d6;font-size:13px}
.keyboard-wrap{padding:16px 28px}
.keyboard-title{margin:0 9px 9px;font:500 11px 'DM Mono',monospace;letter-spacing:.12em;color:#b9d8cd}
.keyboard{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.key{width:calc((100% - 54px)/10);min-width:28px;aspect-ratio:.92;border:1px solid rgba(255,255,255,.17);border-radius:6px;background:rgba(240,255,243,.11);color:#fff8e7;font:700 18px Figtree;cursor:pointer;transition:.12s}
.key:hover:not(:disabled){background:rgba(255,255,255,.23);transform:translateY(-2px)}
.key:disabled{opacity:.25;cursor:not-allowed}
.key.hinted-key{background:rgba(244,194,77,.32);box-shadow:0 0 0 2px rgba(244,194,77,.82),0 0 13px rgba(255,225,125,.78)}
.key.hinted-key:disabled{opacity:.65}
.actions{display:flex;gap:10px;padding:4px 28px 28px}
.actions button{border:0;border-radius:9px;min-height:44px;font:700 12px Figtree;letter-spacing:.03em;cursor:pointer}
.hint-button{background:#d8b152;color:#201c13;padding:0 13px;flex:1}
.hint-button small{display:block;font:500 10px 'DM Mono';margin-top:2px}
.ad-hint-button{background:#e4efe9;color:#1c3c36}
.continue-button{background:#dc8760}
.bulb{font-size:18px;vertical-align:middle}
.share-button{background:#f8eedb;color:#1c3c36;padding:0 14px;flex:1}
.share-button svg{width:16px;vertical-align:middle;margin-right:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.new-game-action{padding:0 28px 28px}
.start-new-game{width:100%;border:1px solid rgba(255,247,220,.55);border-radius:9px;min-height:42px;background:transparent;color:#fff8e7;font:700 12px Figtree;letter-spacing:.03em;cursor:pointer}
.start-new-game:hover{background:rgba(255,255,255,.12)}
.ad-slot{margin:20px auto 16px;width:min(100%,600px);min-height:88px;border:1px dashed rgba(255,247,220,.35);border-radius:12px;background:rgba(3,48,43,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bad6ca}
.ad-slot span{font:500 9px 'DM Mono';letter-spacing:.16em}
.ad-slot strong{margin-top:5px;font-size:14px;color:#e5f0e8}
.ad-slot small{font-size:11px;margin-top:4px}
.ad-slot .adsbygoogle{align-self:stretch;width:100%}
.personal-best{text-align:center}
.personal-best strong{display:block;font-size:30px;margin:3px}
.personal-best p{margin:0;color:#c3dacf;font-size:13px}
.summary-button{display:block;margin:22px auto 0;border:1px solid rgba(255,247,220,.42);border-radius:9px;background:rgba(3,48,43,.3);padding:10px 16px;color:#fff4db;font:700 12px Figtree;letter-spacing:.06em;cursor:pointer}
.summary-list{max-height:min(48vh,360px);margin:16px 0 0;padding:0;overflow:auto;list-style:none;border-top:1px solid #d8c7a5}
.summary-list li{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #dfcfae;color:#49645c}
.summary-word{font-weight:800;letter-spacing:.07em;color:#213b35}.summary-score{font:700 16px 'DM Mono',monospace;color:#0a6b60}.summary-meta{font-size:11px;color:#6f8278}
.bug-form{display:grid;gap:12px}.bug-form label{display:grid;gap:5px;font-weight:700;color:#35534b}.bug-form input,.bug-form textarea{width:100%;border:1px solid #b7a989;border-radius:7px;background:#fff9ec;padding:9px;color:#243b36;font:14px Figtree}.bug-form textarea{min-height:120px;resize:vertical}.bug-form .primary{justify-self:start}.form-note{margin:0!important;min-height:20px;font-size:12px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.drawer{position:fixed;z-index:3;top:0;left:0;width:min(330px,90vw);height:100%;padding:19px;background:#f8edd3;color:#263c37;box-shadow:5px 0 25px rgba(0,0,0,.32);transform:translateX(-105%);transition:.24s transform}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;font:700 12px 'DM Mono';letter-spacing:.12em}
.drawer .icon-button{color:#263c37}
.drawer>button:not(.icon-button){display:block;width:100%;margin-top:18px;text-align:left;border:0;border-bottom:1px solid #ddcda9;background:transparent;padding:14px 5px;color:#263c37;font:700 16px Figtree;cursor:pointer}.drawer>button.menu-item{display:flex;align-items:center;gap:14px}.drawer .menu-item svg{flex:none;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.drawer .menu-item .difficulty-icon{fill:currentColor;stroke:none}.drawer .menu-item small{margin-left:auto;color:#6f8278;font:500 11px 'DM Mono',monospace;white-space:nowrap}.drawer [data-action="challenge"] svg{color:#c74232}.drawer [data-action="medium"] svg{color:#d88732}.drawer [data-action="easy"] svg{color:#398d67}.drawer [data-action="timed"] svg{color:#397b9b}.drawer [data-action="rules"] svg{color:#7a5c9d}.drawer [data-action="bug"] svg{color:#bf7042}.drawer [data-action="reset"] svg{color:#657b73}.drawer .subtle{margin-top:40px;font-size:12px;color:#8c5848}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:.2s;z-index:2}
.scrim.show{opacity:1;visibility:visible}
.pause-overlay,.ready-overlay{position:fixed;z-index:5;inset:0;display:grid;place-content:center;gap:22px;background:rgba(0,24,21,.6);text-align:center;padding:24px}.pause-overlay[hidden],.ready-overlay[hidden]{display:none}.pause-overlay strong,.ready-overlay strong{font:800 clamp(48px,15vw,110px) Figtree;color:#fff4db;letter-spacing:.08em;text-shadow:0 5px 24px #001c19}.ready-overlay p{max-width:430px;margin:-8px auto 0;color:#d5e5dc;font-size:17px;line-height:1.45}.pause-overlay button,.ready-overlay button{border:0;border-radius:10px;background:#f4c24d;color:#22221e;padding:13px 24px;font:800 16px Figtree;cursor:pointer}.app-shell.timed-paused .board,.app-shell.timed-paused .keyboard{filter:blur(7px);pointer-events:none}
.word-list-overlay{position:fixed;z-index:5;inset:0;display:grid;place-items:center;background:rgba(0,24,21,.6);padding:24px}.word-list-overlay[hidden]{display:none}.word-list-overlay section{width:min(100%,430px);border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#f9eed8;color:#263c37;padding:26px;text-align:center;box-shadow:0 15px 55px #001c19}.word-list-overlay strong{font:800 22px Figtree;letter-spacing:.06em}.word-list-overlay p{margin:8px 0 20px;color:#61766d}.word-list-options{display:grid;gap:10px}.word-list-options button{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #c9b98f;border-radius:9px;background:#fff8e9;padding:14px;color:#263c37;font:700 16px Figtree;cursor:pointer}.word-list-options button.selected{border-color:#0a6b60;background:#dcefe7}.word-list-options b{color:#0a6b60;font:700 10px 'DM Mono',monospace;letter-spacing:.06em}.word-list-close{margin-top:17px;border:0;background:transparent;color:#61766d;font:700 12px Figtree;cursor:pointer}
dialog{max-width:min(470px,calc(100% - 32px));border:0;border-radius:16px;background:#f9eed8;color:#243b36;padding:28px;box-shadow:0 15px 55px #001c19}
dialog::backdrop{background:rgba(0,0,0,.55)}
.modal-close{position:absolute;right:9px;top:5px;border:0;background:none;font-size:28px;color:#47625a;cursor:pointer}
dialog h2{margin:4px 0 14px;font-size:25px}
dialog p,dialog li{line-height:1.45;color:#49645c}
dialog button.primary{border:0;border-radius:8px;background:#0a6b60;color:#fff;padding:11px 15px;font-weight:700;cursor:pointer}
.share-result{font:500 14px 'DM Mono';background:#e9dbbd;padding:14px;border-radius:8px;white-space:pre-line}
@media(max-width:480px){.app-shell{padding:12px 10px 28px}
.game-header{padding:13px 18px}
.board-wrap{padding-left:18px;padding-right:18px}
.keyboard-wrap{padding-left:4px;padding-right:4px}
.actions{padding:4px 18px 22px}
.new-game-action{padding:0 18px 22px}
.run-stats div{padding:10px 8px}
.run-stats strong{font-size:17px}
.clue-bar{padding-left:18px;padding-right:18px}
.hint-message{margin-left:18px;margin-right:18px}
.clue-label{font-size:11px}
.hint-counter{font-size:13px}
.slot-value{top:0}
.key{width:calc((100% - 45px)/10);min-width:30px;font-size:18px}
.actions button{font-size:12px;padding-left:7px;padding-right:7px}
}
 
.drawer{display:flex;flex-direction:column;overflow:auto}
.drawer [data-action="more-games"]{margin-top:auto!important;flex:none}