:root{--ink:#171717;--muted:#777773;--line:#e9e9e5;--soft:#f7f7f4}*{box-sizing:border-box}html{background:#fff}body{color:var(--ink);background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{color:inherit}.loading{letter-spacing:.14em;color:#6f6f6a;place-items:center;min-height:100svh;font-size:12px;display:grid}.game-shell{background:#fff;min-height:100svh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 560px);display:flex}.brand{color:var(--ink);letter-spacing:.12em;align-items:center;gap:11px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.brand-name{letter-spacing:-.035em;font-size:17px}.brand-mark{gap:2px;display:flex;transform:rotate(-5deg)}.brand-mark i{background:#ff6b4a;border-radius:2px;width:9px;height:21px;display:block}.brand-mark i:nth-child(2){background:#66d1af;transform:translateY(-3px)}.brand-mark i:nth-child(3){background:#6f8eff;transform:translateY(1px)}.header-actions{align-items:center;gap:16px;display:flex}.tile-count{color:var(--muted);letter-spacing:.02em;font-size:12px}.tile-count b{color:var(--ink);font-size:15px}.icon-button,.modal-close{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:34px;height:34px;font-weight:700}.game-board{width:min(100% - 48px,680px);margin:0 auto;padding:68px 0 48px}.intro{text-align:center}.eyebrow{color:#5e5e59;letter-spacing:.2em;margin:0 0 14px;font-size:10px;font-weight:800}h1{letter-spacing:-.065em;margin:0;font-size:clamp(42px,6vw,68px);font-weight:750;line-height:.98}.notice{color:#777773;justify-content:center;align-items:center;gap:7px;min-height:18px;margin:13px 0 20px;font-size:12px;display:flex}.notice span{background:#c4c4bc;border-radius:50%;width:6px;height:6px;display:block}.notice.good{color:#238468}.notice.good span{background:#32bd8e}.notice.bad{color:#d44830}.notice.bad span{background:#ff694e}.submit-button{color:#fff;cursor:pointer;background:#181817;border:0;border-radius:100px;justify-content:space-between;align-items:center;gap:20px;min-width:210px;height:54px;padding:0 18px 0 25px;font-weight:650;display:inline-flex;box-shadow:0 8px 20px #00000014}.submit-button span{color:#171717;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.submit-button:disabled{cursor:not-allowed;opacity:.3;box-shadow:none}.rack-section{flex-direction:column;align-items:center;margin-top:58px;display:flex}.rack-tools{justify-content:flex-end;align-items:center;gap:16px;width:100%;display:flex}.rack-tool{color:#666660;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;background:0 0;border:0;padding:4px 0;font-size:9px;font-weight:800}.rack-tool span{vertical-align:-2px;margin-left:4px;font-size:17px}.restart-button{color:#92928b}.rack-tool:hover{color:#171717}.tile-rack{scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:122px;padding:22px 8px 20px;display:flex;overflow-x:auto}.play-rack{cursor:grab}.tile{color:#171717;cursor:pointer;touch-action:manipulation;border:0;border-radius:13px;flex:0 0 64px;width:64px;height:72px;font-size:31px;font-weight:800;transition:transform .16s,box-shadow .16s;box-shadow:inset 0 0 0 1px #00000009,0 4px #00000014}.tile:hover{transform:translateY(-4px)rotate(-1deg);box-shadow:inset 0 0 0 1px #00000009,0 8px #00000012}.tile:active{transform:translateY(1px);box-shadow:inset 0 0 0 1px #00000009,0 2px #00000014}.tile{touch-action:none;position:relative}.tile.highlighted{transform:translateY(-10px);box-shadow:inset 0 0 0 3px #171717,0 9px #0000001f}.tile.highlighted:after{content:"";background:#171717;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:-17px;left:50%}.tile.highlighted:hover{transform:translateY(-12px)}.coral{background:#ff8b72}.blue{background:#8ca8ff}.yellow{background:#f7d867}.mint{background:#74d8b6}.lilac{background:#c5a1f2}.pink{background:#f4a6c6}.game-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.submit-button.compact{gap:13px;min-width:0;height:44px;padding:0 9px 0 18px;font-size:13px}.submit-button.compact span{width:26px;height:26px}.new-letter-button{cursor:pointer;background:#fff;border:1px solid #deded8;border-radius:100px;align-items:center;gap:9px;height:44px;padding:0 18px 0 10px;font-size:13px;font-weight:650;display:flex}.new-letter-button span{background:#f0f0ec;border-radius:50%;place-items:center;width:25px;height:25px;font-size:19px;font-weight:400;display:grid}.new-letter-button:hover{background:#fafaf7}.shuffle-action-button{cursor:pointer;background:#f1edff;border:1px solid #dcd6f8;border-radius:100px;align-items:center;gap:9px;height:44px;padding:0 16px 0 10px;font-size:13px;font-weight:700;display:flex}.shuffle-action-button span{background:#d9cffb;border-radius:50%;place-items:center;width:25px;height:25px;font-size:17px;display:grid}.shuffle-action-button:hover{background:#e9e3ff}.shuffle-action-button:disabled{cursor:not-allowed;opacity:.35}.word-history{text-align:center;margin-top:38px}.word-history>span{color:var(--muted);letter-spacing:.16em;font-size:9px;font-weight:800}.word-history div{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:12px;display:flex}.word-history div span{background:var(--soft);border-radius:100px;padding:7px 11px;font-size:11px;font-weight:700}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14141259;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(100%,440px);padding:38px;position:relative;box-shadow:0 30px 80px #0003}.modal-close{font-size:21px;font-weight:400;position:absolute;top:20px;right:20px}.modal h2{letter-spacing:-.045em;margin:0;font-size:38px}.modal ol{color:#565651;margin:26px 0 30px;padding-left:20px;font-size:14px;line-height:1.55}.modal li+li{margin-top:8px}.modal .submit-button{width:100%}.victory{text-align:center;overflow:hidden}.victory>p:not(.eyebrow){color:var(--muted);margin:16px 0 28px;font-size:14px}.victory .submit-button{width:100%}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:18px;font-size:12px;text-decoration:underline}.victory-score{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:30px;margin:-6px 0 28px;padding:18px 0;display:flex}.victory-score span{min-width:82px}.victory-score b,.victory-score small{display:block}.victory-score b{font-size:28px}.victory-score small{color:var(--muted);letter-spacing:.13em;margin-top:4px;font-size:8px;font-weight:800}.victory-score i{background:var(--line);width:1px;height:32px}.confetti{justify-content:center;align-items:center;gap:8px;height:50px;display:flex}.confetti i{background:#ff8b72;border-radius:3px;width:12px;height:20px;display:block;transform:rotate(20deg)}.confetti i:nth-child(2){background:#74d8b6;transform:translateY(-13px)rotate(-14deg)}.confetti i:nth-child(3){background:#f7d867;transform:translateY(4px)rotate(8deg)}.confetti i:nth-child(4){background:#8ca8ff;transform:translateY(-9px)rotate(28deg)}.confetti i:nth-child(5){background:#c5a1f2;transform:rotate(-22deg)}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #171717}@media (width<=600px){.topbar{height:64px;padding:0 18px}.tile-count{display:none}.game-board{width:min(100% - 32px,680px);padding:44px 0 30px}h1{font-size:44px}.tile{border-radius:11px;flex-basis:58px;width:58px;height:66px;font-size:28px}.rack-section{margin-top:42px}.tile-rack{flex-wrap:wrap;justify-content:center;gap:24px 8px;width:calc(100% + 32px);margin-inline:-16px;padding-inline:16px;overflow-x:visible}.game-actions{gap:6px}.submit-button.compact{gap:8px;height:42px;padding:0 7px 0 14px;font-size:12px}.submit-button.compact span{width:24px;height:24px}.new-letter-button,.shuffle-action-button{gap:6px;height:42px;padding:0 12px 0 8px;font-size:12px}.new-letter-button span,.shuffle-action-button span{width:23px;height:23px}.modal{padding:34px 25px 28px}.modal h2{font-size:34px}}@media (width<=380px){h1{font-size:38px}.tile{flex-basis:49px;width:49px;height:57px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
