:root{color-scheme:dark;--bg: #0e0e10;--bg-deep: #09090b;--panel: #17171a;--panel-raised: #1d1d21;--edge: #303036;--edge-bright: #48484f;--fg: #e8e6df;--dim: #98968e;--faint: #67665f;--accent: #ff6a00;--accent-hot: #ff8738;--gold: #d6a21d;--danger: #e04d3f;--correct: #d95600;--radius: 5px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--bg);color:var(--fg)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg-deep)}body{min-height:100vh;margin:0;background:radial-gradient(900px 500px at 50% -120px,rgb(255 106 0 / 10%),transparent 70%),linear-gradient(180deg,var(--bg),var(--bg-deep))}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.5;background:repeating-linear-gradient(to bottom,rgb(255 255 255 / 1.3%) 0 1px,transparent 1px 7px);mix-blend-mode:screen}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:7px max(14px,env(safe-area-inset-left));border-bottom:1px solid var(--edge);background:#0e0e10e5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none}.brand img{filter:drop-shadow(0 0 12px rgb(255 106 0 / 18%))}.brand span{display:grid;line-height:1}.brand strong{font-size:1.08rem;letter-spacing:-.04em}.brand small{margin-top:5px;color:var(--dim);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.header-actions{display:flex;gap:7px}.icon-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);cursor:pointer}.icon-button span{font-size:.68rem;font-weight:700;letter-spacing:-.03em}.icon-button:hover,.icon-button:focus-visible{border-color:var(--accent);color:var(--accent-hot)}main{width:min(100% - 24px,1100px);margin:0 auto}.game-column{width:100%;max-width:820px;margin:0 auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 9px;color:var(--accent);font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.app-promo h2,.dialog h2,.challenge-start h2,.game-help h2{margin:0;font-family:Barlow Condensed,Impact,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.02em}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px;border:1px solid var(--edge);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.mode-tab{min-height:40px;border:0;border-right:1px solid var(--edge);background:#111113;color:var(--dim);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.mode-tab:last-child{border-right:0}.mode-tab.is-active{color:var(--fg);background:var(--panel);box-shadow:inset 0 -3px var(--accent)}.mode-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.challenge-prize-lockup{display:inline-flex;align-items:center;justify-content:center;gap:6px}.challenge-prize-lockup img{width:17px;height:17px;filter:drop-shadow(0 0 7px rgb(255 106 0 / 24%))}.challenge-prize-wordmark{color:var(--fg);font-size:.82rem;font-weight:700;letter-spacing:-.04em;text-transform:lowercase}.game-shell{border:1px solid var(--edge);border-radius:0 0 var(--radius) var(--radius);background:#141417e0;box-shadow:0 26px 80px #00000059}.game-meta{display:flex;justify-content:space-between;padding:8px 13px;border-bottom:1px solid var(--edge);color:var(--dim);font-size:.62rem;font-weight:700;letter-spacing:.13em}.game-meta-status{display:flex;gap:14px;align-items:center}.challenge-timer{color:var(--accent-hot);font-variant-numeric:tabular-nums}.challenge-timer.is-expired{color:#ff796e}.practice-new{padding:0;border:0;border-bottom:1px solid var(--edge-bright);background:transparent;color:var(--accent-hot);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.practice-new:hover,.practice-new:focus-visible{border-color:var(--accent-hot);outline:none}#play-area{display:grid;grid-template:"board message" auto "board keyboard" 1fr / minmax(220px,280px) minmax(0,1fr);align-items:center;gap:0 20px;padding:14px 18px 16px}.board{--tile-height: clamp(34px, 5.2vw, 44px);grid-area:board;display:grid;gap:4px;width:min(100%,280px);margin:0 auto}.board.is-practice{max-height:calc(var(--tile-height) + var(--tile-height) + var(--tile-height) + var(--tile-height) + var(--tile-height) + var(--tile-height) + 20px);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--edge-bright) transparent;scrollbar-width:thin}.board-row{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.tile{display:grid;place-items:center;height:var(--tile-height);min-width:0;border:2px solid var(--edge);border-radius:3px;background:#111113;font-size:clamp(.86rem,4vw,1.08rem);font-weight:700;transition:border-color .12s,transform .12s}.tile.is-filled{border-color:var(--edge-bright);transform:scale(1.025)}.tile.is-correct,.tile.is-present,.tile.is-absent{animation:tile-flip .52s var(--flip-delay, 0ms) both}.tile.is-correct{--tile-color: var(--correct);border-color:var(--correct);background:var(--correct)}.tile.is-present{--tile-color: #8c6911;border-color:var(--gold);background:#8c6911}.tile.is-absent{--tile-color: #29292e;border-color:#36363c;background:#29292e;color:#b9b7b0}@keyframes tile-flip{0%{transform:rotateX(0)}48%{transform:rotateX(90deg);background:#111113}52%{transform:rotateX(90deg);background:var(--tile-color)}to{transform:rotateX(0)}}.board-row.is-shaking{animation:shake .36s ease}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.message{grid-area:message;min-height:1.4em;margin:0 0 5px;color:var(--dim);font-size:.7rem;line-height:1.4;text-align:center}.message[data-type=error]{color:#ff8176}.message[data-type=success]{color:var(--accent-hot)}.keyboard{grid-area:keyboard;width:100%;margin:0 auto}.keyboard-heading{display:flex;justify-content:space-between;gap:12px;margin:7px 2px 4px;color:var(--faint);font-size:.55rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.keyboard-heading span:last-child{color:var(--dim);letter-spacing:0;text-transform:none}.key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:4px}.key-grid-vowels,.key-grid-consonants{grid-template-columns:repeat(8,1fr)}.key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:44px;padding:3px 2px;border:1px solid var(--edge-bright);border-radius:4px;background:linear-gradient(#2a2a2f,#202024);box-shadow:0 2px #09090a;font-size:.76rem;font-weight:700;cursor:pointer;touch-action:manipulation}.key-code{font-size:.76rem;line-height:1}.key-example{overflow:hidden;max-width:100%;color:var(--dim);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.53rem;font-weight:500;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.key-example-sound{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:1px}.key:hover:not(:disabled) .key-example,.key:focus-visible .key-example{color:var(--fg)}.key:hover:not(:disabled) .key-example-sound,.key:focus-visible .key-example-sound{color:var(--accent-hot)}.key.is-correct .key-example,.key.is-present .key-example{color:currentColor;opacity:.8}.key.is-absent .key-example{color:currentColor}.key:hover:not(:disabled),.key:focus-visible{border-color:var(--accent);color:#fff;background:#34343a;outline:none}.key:active:not(:disabled){transform:translateY(2px);box-shadow:none}.key:disabled{cursor:default;opacity:.68}.key.is-correct{border-color:var(--correct);background:var(--correct);color:#fff}.key.is-present{border-color:var(--gold);background:#7a5c12;color:#fff}.key.is-absent{border-color:#28282d;background:#171719;color:#66645f}.action-row{display:grid;grid-template-columns:minmax(90px,.7fr) 1.3fr;gap:5px;margin-top:6px}.key-action{font-size:.66rem;color:var(--dim)}.key-enter{border-color:#b84c00;background:linear-gradient(var(--accent-hot),var(--accent));color:#130800;font-size:.75rem;letter-spacing:.08em;box-shadow:0 2px #7c3300}.key-enter:hover:not(:disabled),.key-enter:focus-visible{background:var(--accent-hot);color:#130800}.challenge-start{min-height:390px;padding:clamp(34px,8vw,64px) max(24px,7vw);text-align:center}.challenge-badge{display:inline-block;margin-bottom:14px;padding:6px 9px;border:1px solid #9b4307;color:var(--accent-hot);background:#ff6a0014;font-size:.6rem;font-weight:700;letter-spacing:.15em}.challenge-start h2{max-width:520px;margin:auto;font-size:clamp(2rem,7vw,3.1rem);line-height:.92}.challenge-start>p{max-width:530px;margin:14px auto;color:var(--dim);font-size:.78rem;line-height:1.5}.challenge-auth{margin:22px 0 14px}.turnstile-widget{display:flex;justify-content:center;min-height:70px;margin:22px 0 14px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;cursor:pointer}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#160900}.primary-button:hover:not(:disabled),.primary-button:focus-visible{background:var(--accent-hot);border-color:var(--accent-hot)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{border:1px solid var(--edge-bright);background:var(--panel-raised);color:var(--fg)}.secondary-button:hover,.secondary-button:focus-visible{border-color:var(--accent)}.challenge-note{min-height:2em;font-size:.66rem!important}.privacy-link{padding:2px 0;border:0;border-bottom:1px solid var(--edge-bright);background:transparent;color:var(--dim);font:inherit;font-size:.61rem;cursor:pointer}.privacy-link:hover,.privacy-link:focus-visible{border-color:var(--accent);color:var(--fg);outline:none}.game-help{max-width:820px;margin:12px auto 0;padding:16px;border:1px solid var(--edge);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--panel)}.game-help h2{font-size:1.45rem;line-height:1}.game-help p{margin:11px 0 0;color:var(--dim);font-size:.68rem;line-height:1.5}.game-help code{color:var(--fg);font-size:.66rem}.word-examples{display:grid;gap:5px;margin:14px 0 0}.word-examples div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px}.word-examples dt{color:var(--fg);font-size:.61rem;font-weight:600}.word-examples dd{margin:0;color:var(--accent-hot);font-size:.64rem}.game-help .mode-rules{padding-top:11px;border-top:1px solid var(--edge)}.mode-rules strong{color:var(--fg)}.app-promo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(100%,820px);margin:16px auto 30px;padding:14px;border:1px solid var(--edge);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--panel)}.promo-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--edge);background:#111113}.promo-icon img{width:44px;height:44px}.app-promo h2{font-size:1.45rem;line-height:.95}.app-promo p{margin:7px 0 0;color:var(--dim);font-size:.67rem;line-height:1.45}.promo-button{white-space:nowrap}footer{display:flex;justify-content:space-between;gap:16px;width:min(100% - 36px,780px);margin:0 auto;padding:22px 0 max(28px,env(safe-area-inset-bottom));border-top:1px solid var(--edge);color:var(--faint);font-size:.6rem}footer a{color:var(--dim)}.footer-links{display:flex;gap:16px}.footer-links button{padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--dim);font:inherit;cursor:pointer}.footer-links button:hover,.footer-links button:focus-visible{border-bottom-color:var(--accent);color:var(--fg);outline:none}.dialog{width:min(100% - 28px,530px);max-height:min(90vh,760px);padding:0;border:1px solid var(--edge-bright);border-radius:7px;background:transparent;color:var(--fg);box-shadow:0 35px 100px #000}.dialog::backdrop{background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-card{position:relative;margin:0;padding:clamp(24px,7vw,40px);background:var(--panel)}.dialog-close{position:absolute;top:12px;right:12px;width:34px;height:34px;padding:0;border:1px solid var(--edge);border-radius:4px;background:#111113;color:var(--dim);font-size:1.3rem;cursor:pointer}.dialog h2{font-size:2.2rem}.dialog ol{display:grid;gap:12px;padding-left:21px;color:var(--dim);font-size:.76rem;line-height:1.5}.dialog li::marker{color:var(--accent);font-weight:700}.example-row{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-width:310px;margin:22px auto}.dialog-card>.primary-button:last-child{width:100%;margin-top:8px}.result-card{text-align:center}.result-face{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 19px;border:2px solid var(--accent);border-radius:50%;color:var(--accent);background:#111113;font-family:Barlow Condensed,sans-serif;font-size:2rem;font-weight:800;box-shadow:0 0 30px #ff6a0021}.result-answer{margin:12px 0 22px;color:var(--dim);font-size:.76rem}.result-actions,.reward-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.result-app-link{display:inline-block;margin-top:20px;color:var(--dim);font-size:.64rem}.reward-panel{margin:20px 0;padding:16px;border:1px solid #925018;background:#ff6a000f;text-align:left}.reward-label{display:block;margin-bottom:9px;color:var(--accent-hot);font-size:.58rem;font-weight:700;letter-spacing:.12em}.reward-panel code{display:block;overflow-wrap:anywhere;margin-bottom:13px;color:var(--fg);font-size:.75rem}.reward-panel p{margin:12px 0 0;color:var(--dim);font-size:.62rem;line-height:1.5}.privacy-card{text-align:left}.privacy-card h3{margin:22px 0 7px;color:var(--accent-hot);font-family:Barlow Condensed,sans-serif;font-size:1.05rem;letter-spacing:.02em;text-transform:uppercase}.privacy-card p{margin:0 0 10px;color:var(--dim);font-size:.7rem;line-height:1.55}.privacy-card a{color:var(--accent-hot)}.cookie-consent{position:fixed;right:16px;bottom:16px;z-index:9998;width:352px;max-width:calc(100vw - 32px);padding:12px 16px 14px;border:1px solid var(--edge-bright);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel);box-shadow:0 10px 32px #0009}.cookie-consent-title{margin:0 0 6px;color:var(--accent);font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.cookie-consent-body{margin:0 0 11px;color:var(--dim);font-size:.72rem;line-height:1.55}.cookie-consent-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}.cookie-consent-body a:hover{border-bottom-color:var(--accent)}.cookie-consent-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.cookie-consent-actions button{min-height:32px;padding:0 13px;border:1px solid var(--edge-bright);border-radius:4px;background:var(--panel-raised);color:var(--fg);font:inherit;font-size:.68rem;cursor:pointer}.cookie-consent-actions button.primary{border-color:var(--accent);background:var(--accent);color:#160900}.cookie-consent-actions button:hover,.cookie-consent-actions button:focus-visible{border-color:var(--accent-hot);outline:none}[hidden]{display:none!important}@media(min-width:980px){.game-layout{display:grid;grid-template-columns:minmax(700px,820px) 230px;align-items:start;justify-content:center;gap:14px}.game-column{max-width:none}.game-help{position:sticky;top:64px;margin-top:10px}}@media(max-width:700px){main{width:min(100% - 12px,1100px)}#play-area{grid-template:"board" auto "message" auto "keyboard" auto / 1fr;gap:8px;padding:10px}.board{width:min(100%,260px)}.key{min-height:40px}.app-promo{grid-template-columns:auto 1fr}.promo-icon{width:64px;height:64px}.promo-icon img{width:48px;height:48px}.promo-button{grid-column:1 / -1}}@media(max-width:390px){.brand small{display:none}.mode-tab{font-size:.62rem}.tile{border-width:1px}.keyboard-heading{margin-top:5px}.app-promo{grid-template-columns:1fr;text-align:center}.promo-icon{margin:auto}.result-actions,.reward-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
