@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rubik-latin-400-normal-j0pmKyiQ.woff2)format("woff2"),url(/assets/rubik-latin-400-normal-BV1Ho3GG.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rubik-latin-ext-400-normal-BtzQ7olK.woff2)format("woff2"),url(/assets/rubik-latin-ext-400-normal-E7wwwcV8.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rubik-latin-700-normal-D-tMm-eS.woff2)format("woff2"),url(/assets/rubik-latin-700-normal-KHOtubUA.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rubik-latin-ext-700-normal-D5I4eEgK.woff2)format("woff2"),url(/assets/rubik-latin-ext-700-normal-CQ1www4I.woff)format("woff")}:root{--bg:#f4efe4;--ink:#1d2a24;--muted:#5d665f;--line:#d3c9b5;--tile:#fffdf7;--typed:#6d756e;--key:#ddd3bf;--key-ink:#1d2a24;--key-miss:#b7b0a2;--key-miss-ink:#f4efe4;--hit:#2f7d55;--near:#c99a22;--miss:#7c827c;--accent:#2f7d55;--danger:#c0392b;--shadow:0 1px 0 #1d2a242e;--font:Rubik, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141a17;--ink:#eef0ea;--muted:#a3aaa4;--line:#33403a;--tile:#1a211d;--typed:#8d968f;--key:#59645d;--key-ink:#f4f6f1;--key-miss:#262d29;--key-miss-ink:#6f7871;--hit:#3f9a6a;--near:#c99a22;--miss:#3e4541;--accent:#3f9a6a;--danger:#e5675a;--shadow:0 1px 0 #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root.contrast{--hit:#e2711d;--near:#3d8ed8;--accent:#e2711d}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:400 16px/1.4 var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{max-width:520px;height:100dvh;padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top-bar{border-bottom:1px solid var(--line);flex:none;grid-template-columns:84px 1fr 84px;align-items:center;height:56px;padding:0 4px;display:grid}.top-bar h1{text-align:center;font:700 26px/1 var(--font);letter-spacing:6px;margin:0}.icon{border:2px solid var(--ink);width:38px;height:38px;color:var(--ink);font:700 17px/1 var(--font);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon:hover{background:var(--line)}.bar-side{align-items:center;gap:6px;display:flex}.bar-side.end{justify-content:flex-end}.tabs{background:var(--line);border-radius:12px;flex:none;grid-template-columns:repeat(3,1fr);gap:4px;width:min(100%,360px);margin:8px auto 0;padding:4px;display:grid}.tab{height:34px;color:var(--ink);letter-spacing:.5px;border-radius:9px;justify-content:center;align-items:center;font-size:14px;font-weight:700;text-decoration:none;display:flex}.tab.on{background:var(--accent);color:#fff;box-shadow:var(--shadow)}.tab-mark{color:var(--hit);margin-left:4px}.tab.on .tab-mark{color:#fff}.tab.over:not(.on){color:var(--muted)}.board[style*=--len\:6],.board[style*=--len\:6] .row{gap:5px}.board[style*=--len\:7],.board[style*=--len\:7] .row{gap:4px}.board[style*=--len\:7] .tile{font-size:clamp(17px,4.4dvh,28px)}.tab:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.slot{flex-direction:column;flex:1;min-height:0;display:flex}.game{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 0 8px;display:flex}.board-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.board{aspect-ratio:var(--len,5) / 6;flex:auto;grid-template-rows:repeat(6,1fr);gap:6px;max-width:100%;min-height:0;max-height:420px;display:grid}.row{grid-template-columns:repeat(var(--len,5), 1fr);border-radius:8px;gap:6px;transition:background .2s,box-shadow .2s;display:grid}.row.current{background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent)}.tile{border:2px solid var(--line);background:var(--tile);font:700 clamp(20px, 5.2dvh, 34px)/1 var(--font);text-transform:uppercase;-webkit-user-select:none;user-select:none;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}.tile.filled{border-color:var(--typed)}.tile.next{border-color:var(--accent);animation:1.1s ease-in-out infinite caret}@keyframes caret{50%{border-color:var(--line)}}.tile.pop{animation:.12s ease-out pop}@keyframes pop{50%{transform:scale(1.12)}}.tile.hit,.tile.near,.tile.miss{color:#fff;border-color:#0000}.tile.hit{background:var(--hit)}.tile.near{background:var(--near)}.tile.miss{background:var(--miss)}.tile.hit:after,.tile.near:after{font:700 max(9px, .3em)/1 var(--font);opacity:.9;position:absolute;bottom:2px;right:3px}.tile.hit:after{content:"✓"}.tile.near:after{content:"↔"}.tile.flip:after{animation:.5s both mark-in;animation-delay:inherit}@keyframes mark-in{0%,50%{opacity:0}to{opacity:.9}}.legend{color:var(--muted);flex-wrap:wrap;flex:none;justify-content:center;gap:6px 14px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:5px;display:flex}.legend .tile{border-radius:4px;width:20px;height:20px;font-size:11px}.legend .tile:after{font-size:11px;position:static}.legend .tile.hit,.legend .tile.near{font-size:0}.tile.flip{animation:.5s ease-in-out both flip}@keyframes flip{0%{background:var(--tile);color:var(--ink);border-color:var(--typed);transform:rotateX(0)}49%{background:var(--tile);color:var(--ink);border-color:var(--typed);transform:rotateX(-90deg)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}.row.bad{animation:.45s shake}.row.bad .tile{border-color:var(--danger)}@keyframes shake{15%,55%{transform:translate(-7px)}35%,75%{transform:translate(7px)}}.tile.win{animation:.5s ease-out both jump}@keyframes jump{30%{transform:translateY(-22%)}55%{transform:translateY(4%)}75%{transform:translateY(-6%)}}.pad{flex:none}.keyboard{-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;display:flex}.krow{flex:none;justify-content:center;gap:5px;display:flex}.key{background:var(--key);max-width:44px;height:50px;color:var(--key-ink);box-shadow:var(--shadow);font:700 18px/1 var(--font);cursor:pointer;-webkit-touch-callout:none;border:none;border-radius:7px;flex:0 0 calc(9.09091% - 4.54545px);padding:0;transition:background .25s,color .25s,transform 60ms;position:relative}.key:active,.key.held{transform:translateY(1px)scale(.96)}.key.held{background:var(--accent);color:#fff}.key .twin{opacity:.55;font-size:9px;font-weight:700;position:absolute;top:3px;right:4px}.key.hit,.key.near{color:#fff}.key.hit{background:var(--hit)}.key.near{background:var(--near)}.key.miss{background:var(--key-miss);color:var(--key-miss-ink);box-shadow:none}.krow.accents{border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}.krow.accents .key:not(.hit):not(.near):not(.miss){background:color-mix(in srgb, var(--key) 78%, var(--accent))}.krow.accents .key{height:46px}.krow.commands{gap:8px;margin-top:4px}.action{cursor:pointer;height:50px;font:700 16px/1 var(--font);letter-spacing:1px;text-transform:uppercase;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;transition:transform 60ms,filter .15s;display:inline-flex}.action:active{transform:translateY(1px)scale(.98)}.action.back{color:var(--ink);border:2px solid var(--typed);background:0 0;flex:0 38%}.action.enter{background:var(--accent);color:#fff;border:2px solid var(--accent);box-shadow:0 2px 0 color-mix(in srgb, var(--accent) 60%, #000)}.action-icon{font-size:20px;line-height:1}.hidden{display:none!important}.done-bar{border:2px solid var(--line);background:var(--tile);border-radius:14px;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.done-bar>div{flex-direction:column;gap:2px;min-width:0;display:flex}.done-word b{letter-spacing:3px;font-size:20px}.clock{font-variant-numeric:tabular-nums;font-size:18px}.sheet{width:min(520px,100%);max-width:100%;max-height:88dvh;padding:10px 18px calc(20px + env(safe-area-inset-bottom));background:var(--tile);color:var(--ink);border:none;border-radius:20px 20px 0 0;flex-direction:column;gap:12px;margin:auto auto 0;overflow-y:auto}.sheet[open]{animation:.32s cubic-bezier(.2,.8,.2,1) rise;display:flex}@keyframes rise{0%{transform:translateY(100%)}}.sheet::backdrop{background:#141a1780}.sheet-grip{background:var(--line);border-radius:3px;flex:none;width:44px;height:5px;margin:0 auto 2px}.sheet .close{border-width:1.5px;width:34px;height:34px;font-size:14px;position:absolute;top:12px;right:12px}.sheet h2{text-wrap:balance;margin:6px 40px 0 0;font-size:22px}.sheet h3{margin:4px 0 0;font-size:16px}.answer-row{grid-template-columns:repeat(5,44px);gap:5px;display:grid}.answer-row .tile{height:44px;font-size:22px}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats div{background:var(--bg);border-radius:12px;flex-direction:column;align-items:center;padding:10px;display:flex}.stats b{font-variant-numeric:tabular-nums;font-size:30px}.stats span{color:var(--muted);font-size:13px}.sheet-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.next{color:var(--muted);text-align:center;font-size:14px}.next .clock{color:var(--ink);font-size:15px}.name-row{gap:8px;display:flex}.input{border:2px solid var(--line);background:var(--bg);min-width:0;height:44px;color:var(--ink);font:inherit;border-radius:10px;flex:1;padding:0 12px}.btn{border:2px solid var(--ink);height:46px;color:var(--ink);font:700 15px/1 var(--font);cursor:pointer;background:0 0;border-radius:10px;padding:0 18px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.wide{width:100%}.muted{color:var(--muted)}.small{font-size:13px}.top p{margin:0 0 8px}.spread{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.bar-row{grid-template-columns:14px 1fr;align-items:center;gap:8px;font-size:13px;display:grid}.bar{width:var(--w);background:var(--miss);color:#fff;text-align:right;border-radius:4px;padding:2px 7px;font-weight:700}.bar-row.mine .bar{background:var(--hit)}.top-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.top-list li{border-radius:8px;grid-template-columns:28px 1fr auto;gap:8px;padding:7px 10px;font-size:14px;display:grid}.top-list li:nth-child(-n+3) .place{color:var(--near)}.top-list li.me{background:color-mix(in srgb, var(--accent) 14%, transparent);font-weight:700}.place{font-weight:700}.rules{border:2px solid var(--ink);background:var(--tile);max-width:400px;max-height:92dvh;color:var(--ink);border-radius:16px;padding:20px}.rules[open]{animation:.2s ease-out fade}@keyframes fade{0%{opacity:0;transform:scale(.97)}}.rules::backdrop{background:#141a178c}.rules h2{margin-top:0}.row.sample{width:220px;margin:12px 0 4px}.row.sample .tile{aspect-ratio:1;font-size:22px}.switch{cursor:pointer;align-items:center;gap:10px;margin:6px 0 14px;font-size:14px;display:flex}.switch input{width:20px;height:20px;accent-color:var(--accent)}.toast{left:50%;top:calc(8px + env(safe-area-inset-top));background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:20;text-align:center;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-weight:700;transition:opacity .15s,transform .15s;position:fixed;transform:translate(-50%,-8px)}.toast.on{opacity:1;transform:translate(-50%)}.confetti{pointer-events:none;z-index:15;width:100%;height:100%;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.tile.flip,.tile.pop,.tile.win,.tile.next,.row.bad,.sheet[open],.rules[open]{animation:none}.key,.row{transition:none}}@media (height<=640px){.legend{display:none}.key{height:42px}.krow.accents .key{height:38px}.action{height:42px}.top-bar{height:48px}.top-bar h1{font-size:22px}}@media (height<=540px){.key{height:36px;font-size:16px}.krow.accents .key{height:34px}.action{height:38px;font-size:14px}.keyboard{gap:4px}.krow.accents{margin-top:2px;padding-top:5px}.krow.commands{margin-top:2px}.top-bar{height:42px}.top-bar h1{letter-spacing:4px;font-size:19px}.icon{width:32px;height:32px}.tabs{margin-top:4px}.tab{height:28px;font-size:13px}.game{gap:6px;padding:6px 0 4px}.tile{font-size:clamp(16px,4.6dvh,26px)}}.embedded #app{padding-top:0;padding-bottom:0}.btn.plain{text-underline-offset:3px;border-color:#0000;text-decoration:underline}.btn:disabled{opacity:.55;cursor:default}
