@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-vietnamese-wght-normal-B-JM5mJH.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-latin-ext-wght-normal-EP2r9iG4.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-latin-wght-normal-Bn_gnr7w.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-cyrillic-wght-normal-B84CD5C_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-ext-wght-normal-DlL6xMw5.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-wght-normal-5W32yIyr.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #1a1412;--paper: #f3e7d0;--sand: #d9b88a;--purple: #4b1f5e;--teal: #3e9a91;--mustard: #f2b21b;--orange: #f5961c;--vermilion: #ee4a24;--brick: #b33f26;--olive: #535033;--brown: #4f2416;--correct: #5c9f52;--present: var(--mustard);--absent: #3b3330;--display: "Big Shoulders Display Variable", "Arial Narrow", sans-serif;--body: "Schibsted Grotesk Variable", system-ui, sans-serif;--mono: "Martian Mono Variable", ui-monospace, monospace;--tile: clamp(30px, min(5vw, 7vh), 74px);--gap: calc(var(--tile) * .09);font-family:var(--body);color:var(--ink);background:var(--paper)}body.colour-blind{--correct: #f5791f;--present: #3d86d8}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--paper);overflow-x:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;border-radius:0;background:none;padding:0}button:disabled{cursor:default}input{border-radius:0}:focus-visible{outline:3px solid var(--vermilion);outline-offset:2px}.app{min-height:100%}.caps{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.blk{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:1.35rem;padding:.55em 1.1em;background:var(--ink);color:var(--paper);transition:background .12s,color .12s}.blk:hover:not(:disabled){background:var(--mustard);color:var(--ink)}.blk.mustard:hover:not(:disabled){background:var(--ink);color:var(--paper)}.blk:disabled{opacity:.45}.blk.red{background:var(--vermilion);color:var(--paper)}.blk.teal{background:var(--teal);color:var(--paper)}.blk.mustard{background:var(--mustard);color:var(--ink)}.blk.olive{background:var(--olive);color:var(--paper)}.blk.paper{background:var(--paper);color:var(--ink)}.blk.small{font-size:1rem;padding:.4em .8em}.offline{position:fixed;top:0;left:0;right:0;z-index:30;height:6px;background:var(--vermilion);animation:offline 1s steps(2) infinite}@keyframes offline{50%{background:var(--mustard)}}.toast{position:fixed;bottom:24px;left:0;z-index:30;max-width:80vw;background:var(--vermilion);color:var(--paper);padding:14px 24px 14px 20px;font-family:var(--display);font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.05em;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}.tile-row{display:flex;gap:6px}.logo{--gap: 6px}.logo.crossword{display:inline-grid;grid-template-columns:repeat(4,var(--lt));grid-auto-rows:var(--lt);gap:var(--gap)}.logo.row{display:inline-flex;gap:var(--gap)}.logo span{width:var(--lt);height:var(--lt);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:calc(var(--lt) * .72);line-height:1;color:var(--paper)}.mosaic{width:100%;height:100%;overflow:hidden}.mosaic svg{display:block}.decor{position:absolute;display:block;pointer-events:none}.lobby{display:grid;grid-template-columns:minmax(380px,36%) 1fr;height:100vh}.lobby-panel{padding:6vh 4vw;display:flex;flex-direction:column;gap:5vh;background:var(--paper);overflow-y:auto}.lobby-panel .logo{--lt: clamp(40px, 5vw, 78px)}.field-label{font-family:var(--display);font-weight:800;font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brick)}.big-input{display:block;width:100%;border:0;border-bottom:5px solid var(--ink);background:transparent;font-family:var(--display);font-weight:800;font-size:2.6rem;text-transform:uppercase;padding:2px 0;outline:none}.big-input:focus{border-bottom-color:var(--vermilion)}.big-input::placeholder{color:var(--sand)}.lobby-actions{display:flex;flex-direction:column;gap:10px}.lobby-actions .blk{font-size:1.8rem;text-align:left;padding:.45em .6em}.framed{display:flex;box-shadow:inset 0 0 0 5px var(--ink);padding:5px}.framed input{width:0;flex:1;border:0;background:transparent;padding:0 .4em;outline:none;font-family:var(--display);font-weight:900;font-size:2.2rem;letter-spacing:.4em;text-transform:uppercase}.framed input::placeholder{color:var(--sand);letter-spacing:.2em}.framed .blk{font-size:1.8rem}.framed .blk:disabled{opacity:1;background:var(--ink);color:#f3e7d059}.framed:focus-within{box-shadow:inset 0 0 0 5px var(--vermilion)}.framed.thin{box-shadow:inset 0 0 0 4px var(--ink);padding:4px}.framed.thin input{font-family:var(--mono);font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;padding:0 10px}.framed.thin .blk{font-size:1.2rem}.lobby-art{background:var(--ink);overflow:hidden;position:relative}.corner-help{position:absolute;top:20px;right:20px}.settings{position:relative;min-height:100vh;background:var(--purple);display:flex;flex-direction:column;overflow:hidden}.settings-head,.settings-grid,.presets,.settings-section{position:relative;z-index:1}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 3vw 6px}.preset{background:var(--sand);color:var(--ink);text-align:left;padding:14px 18px 16px;display:flex;flex-direction:column;gap:4px}.preset b{font-family:var(--display);font-weight:900;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.9;text-transform:uppercase}.preset span{font-family:var(--mono);font-size:.8rem}.preset:hover{background:var(--paper)}.preset.on{background:var(--mustard)}.settings-section{padding:10px 3vw 8px}.adv-toggle{display:flex;align-items:center;gap:10px;color:var(--paper);font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:.12em;text-transform:uppercase}.adv-toggle i{width:18px;height:18px;display:block;background:var(--mustard);clip-path:polygon(0 0,100% 50%,0 100%);transition:transform .15s}.adv-toggle.open i{transform:rotate(90deg)}.settings-grid+.settings-section{padding-top:4px}@media(max-width:600px){.presets{grid-template-columns:1fr}}.settings-foot{z-index:2}.settings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4vh 3vw 2vh;color:var(--paper)}.settings-head h1{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(3rem,8vw,7rem);line-height:.85;text-transform:uppercase}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;padding:0 3vw 6px;align-content:start}.setting{position:relative;background:var(--paper);padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px}.setting.changed:after{content:"";position:absolute;top:0;right:0;width:26px;height:26px;background:var(--mustard);clip-path:polygon(0 0,100% 0,100% 100%)}.setting.focused{outline:4px solid var(--mustard);outline-offset:-4px}.setting-name{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:.1em;text-transform:uppercase}.seg{display:flex;gap:4px}.seg button{flex:1 1 auto;min-width:0;padding:10px 6px;background:var(--sand);font-family:var(--display);white-space:nowrap;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.02em}.seg button.on{background:var(--ink);color:var(--paper)}.stepper{display:flex;align-items:stretch}.stepper button{width:52px;background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:900;font-size:1.8rem}.stepper input{width:0;flex:1;text-align:center;border:0;background:var(--sand);outline:none;font-family:var(--mono);font-size:1.4rem;font-weight:600;-moz-appearance:textfield}.stepper .unit{background:var(--sand);display:grid;place-items:center;padding-right:12px;margin-left:-18px;font-family:var(--mono);font-size:1rem;opacity:.7}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.seed-input{border:0;border-bottom:4px solid var(--ink);background:transparent;font-family:var(--mono);font-size:1.2rem;padding:6px 0;outline:none}.seed-input::placeholder{color:var(--sand)}.settings-foot{position:sticky;bottom:0;margin-top:auto;display:flex;align-items:center;gap:6px;background:var(--ink);color:var(--paper);padding:10px 3vw}.settings-foot .desc{flex:1;font-size:1rem;min-height:1.4em;opacity:.85}.waiting{display:grid;grid-template-columns:1fr minmax(380px,44%);height:100vh}.waiting-art{overflow:hidden;background:var(--ink)}.waiting-panel{background:var(--paper);padding:6vh 4vw;display:flex;flex-direction:column;gap:4vh;overflow-y:auto}.code-tiles .tile-row{gap:8px}.code-tiles span{width:clamp(64px,8vw,120px);aspect-ratio:1;display:grid;place-items:center;color:var(--paper);font-family:var(--display);font-weight:900;font-size:clamp(3rem,6vw,5.6rem);line-height:1}.other-links summary{cursor:pointer;font-size:.9rem;color:var(--brick);margin-top:8px}.other-links .framed{margin-top:6px}.seeker{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:.12em;text-transform:uppercase}.seeker i{width:26px;height:26px;display:block;animation:hop 1.8s infinite,turn-sq 1.8s infinite}.seeker i:nth-child(1){background:var(--vermilion);border-radius:50%;animation:hop 1.8s infinite}.seeker i:nth-child(2){background:var(--teal);animation-delay:.3s}.seeker i:nth-child(3){background:var(--mustard);clip-path:polygon(50% 0,100% 86.6%,0 86.6%);transform-origin:50% 57.7%;animation:hop 1.8s infinite,turn-tri 1.8s infinite;animation-delay:.6s}.seeker span{margin-left:8px}@keyframes hop{0%{translate:0 0;animation-timing-function:cubic-bezier(.2,.6,.4,1)}22%{translate:0 -16px;animation-timing-function:cubic-bezier(.6,0,.8,.4)}44%,to{translate:0 0}}@keyframes turn-sq{0%{rotate:0deg;animation-timing-function:linear}44%,to{rotate:90deg}}@keyframes turn-tri{0%{rotate:0deg;animation-timing-function:linear}44%,to{rotate:120deg}}.rules{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}.rule{position:relative;background:var(--sand);padding:8px 10px}.rule.changed{background:var(--mustard)}.rule small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.rule b{font-family:var(--display);font-weight:800;font-size:1.35rem;text-transform:uppercase}.game{display:grid;grid-template-rows:auto auto 1fr auto;height:100vh}.bar{display:flex;align-items:center;gap:18px;background:var(--ink);color:var(--paper);padding:8px 16px;min-height:52px}.bar .logo{--lt: 24px;--gap: 2px}.logo.row span.shared{box-shadow:inset 0 0 0 2px var(--paper)}.pips{display:flex;gap:4px;flex-wrap:wrap}.pips i{width:12px;height:12px;display:block;box-shadow:inset 0 0 0 2px var(--sand)}.pips i.past{background:var(--sand)}.pips i.now{background:var(--mustard);box-shadow:none;transform:rotate(45deg) scale(.9)}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{background:var(--mustard);color:var(--ink);padding:3px 8px;font-family:var(--display);font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}.chip.std{background:transparent;color:var(--sand);box-shadow:inset 0 0 0 2px var(--sand)}.bar .spacer{flex:1}.swatch-btn{display:flex;gap:2px;padding:4px}.swatch-btn i{width:16px;height:16px;display:block}.swatch-btn i:first-child{background:var(--correct)}.swatch-btn i:last-child{background:var(--present);border-radius:50%}.leave-btn{width:36px;height:36px;background:var(--vermilion);color:var(--paper);font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1}.arena{display:grid;grid-template-columns:1fr 1fr;min-height:0}.half{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0}.half.you{background:var(--paper)}.half.opp{background:var(--purple);color:var(--paper)}.half>.head,.half>.board-wrap,.half>.reject{z-index:1}.head{position:relative;display:flex;align-items:center;gap:14px;padding:14px 18px 10px}.head .name{font-family:var(--display);font-weight:900;font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:.95;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.head .spacer{flex:1}.away{color:var(--vermilion)}.state{width:20px;height:20px;flex-shrink:0}.state.thinking{border-radius:50%;box-shadow:inset 0 0 0 4px currentColor;animation:breathe 1.4s ease-in-out infinite}.state.locked{background:var(--correct)}.state.timeout{background:var(--vermilion);clip-path:polygon(50% 0,100% 100%,0 100%)}@keyframes breathe{50%{transform:scale(.65)}}@property --frac{syntax: "<number>"; inherits: false; initial-value: 1;}.clock{--size: clamp(58px, 6vw, 80px);width:var(--size);height:var(--size);border-radius:50%;flex-shrink:0;position:relative;display:grid;place-items:center;background:conic-gradient(var(--fill) calc(var(--frac) * 1turn),var(--track) 0);--fill: var(--sand);--track: rgba(26, 20, 18, .12);transition:--frac .25s linear}.half.opp .clock{--track: rgba(243, 231, 208, .15)}.clock:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--bg-under)}.half.you .clock{--bg-under: var(--paper)}.half.opp .clock{--bg-under: var(--purple)}.clock span{position:relative;font-family:var(--mono);font-weight:600;font-size:calc(var(--size) * .2);letter-spacing:-.02em}.clock.running{--fill: var(--vermilion)}.clock.low span{animation:low .5s steps(2) infinite}@keyframes low{50%{color:var(--vermilion)}}.clock .q{position:absolute;right:-4px;top:-4px;width:18px;height:18px;background:var(--mustard);color:var(--ink);font-size:12px;display:grid;place-items:center;font-family:var(--display);font-weight:900}.board-wrap{position:relative;flex:1;min-height:0;overflow-y:auto;padding:8px 0 18px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--sand) transparent}.half.opp .board-wrap{scrollbar-color:rgba(243,231,208,.35) transparent}.board{display:flex;flex-direction:column;gap:var(--gap);align-items:center}.board-row{display:flex;gap:var(--gap);flex-shrink:0;position:relative}.tile{--c: transparent;position:relative;overflow:hidden;width:var(--tile);height:var(--tile);display:grid;place-items:center;background:var(--c);color:var(--paper);font-family:var(--display);font-weight:800;font-size:calc(var(--tile) * .66);line-height:1;text-transform:uppercase}.tile.green{--c: var(--correct)}.tile.yellow{--c: var(--present)}.tile.yellow:not(.masked){color:var(--ink)}.tile.grey{--c: var(--absent)}.tile.blank{--c: var(--sand)}.tile.empty{box-shadow:inset 0 0 0 4px #1a141229}.tile.typed{box-shadow:inset 0 0 0 4px var(--ink);color:var(--ink)}.board-row.locked .tile{--c: var(--ink);color:var(--paper);box-shadow:none;animation:breathe-tile 1.6s ease-in-out infinite}@keyframes breathe-tile{50%{opacity:.6}}.tile.conflict{color:var(--vermilion);box-shadow:inset 0 0 0 4px var(--vermilion)}.tile.conflict:after{content:"";position:absolute;left:0;right:0;top:50%;height:4px;background:var(--vermilion);transform:rotate(-45deg) scaleX(1.4)}.tile.masked:before{content:"";position:absolute;width:22%;height:22%;border-radius:50%;background:#f3e7d073}.tile.masked.yellow:before{background:#1a141259}.tile.was-hidden{border-radius:50%}.tile.flip{animation:wipe .42s cubic-bezier(.6,0,.2,1) backwards}@keyframes wipe{0%{clip-path:polygon(0 0,0 0,0 0)}to{clip-path:polygon(0 0,200% 0,0 200%)}}.tile.unmask{animation:pop .5s ease-out .45s both}.tile.unmask:after{content:"";position:absolute;width:30%;height:30%;border-radius:50%;background:var(--mustard);animation:burst .9s ease-out .45s both}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes burst{0%{transform:scale(.2);opacity:1}to{transform:scale(5);opacity:0}}.shake{animation:shake .36s}@keyframes shake{25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.slot-row{width:calc(var(--tile) * 5 + var(--gap) * 4);height:var(--tile);display:flex;gap:var(--gap)}.slot-row i{flex:1;display:block}.slot-row.thinking i{box-shadow:inset 0 0 0 3px #f3e7d059;animation:blink 1.5s ease-in-out infinite}.slot-row.thinking i:nth-child(2){animation-delay:.15s}.slot-row.thinking i:nth-child(3){animation-delay:.3s}.slot-row.thinking i:nth-child(4){animation-delay:.45s}.slot-row.thinking i:nth-child(5){animation-delay:.6s}@keyframes blink{50%{box-shadow:inset 0 0 0 3px #f3e7d0bf}}.slot-row.locked i{background:var(--paper)}.slot-row.unknown i{box-shadow:inset 0 0 0 3px #f3e7d033}.slot-row.delayed i{border-radius:50%;margin:calc(var(--tile) * .2);box-shadow:inset 0 0 0 3px #f3e7d066}.timeout-row{width:calc(var(--tile) * 5 + var(--gap) * 4);height:var(--tile);display:grid;place-items:center;background:repeating-linear-gradient(-45deg,var(--vermilion) 0 10px,transparent 10px 20px);font-family:var(--display);font-weight:900;font-size:calc(var(--tile) * .38);letter-spacing:.2em;text-transform:uppercase}.timeout-row span{background:var(--ink);color:var(--paper);padding:2px 10px}.reject{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:2;white-space:nowrap;background:var(--vermilion);color:var(--paper);padding:8px 16px;font-family:var(--display);font-weight:800;font-size:1.25rem;text-transform:uppercase;letter-spacing:.06em}.result>:not(.decor){position:relative;z-index:1}.result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:3vw;padding:18px 3vw;color:var(--paper);overflow:hidden;position:relative}.result.win{background:var(--teal)}.result.loss{background:var(--brick)}.result.draw{background:var(--mustard);color:var(--ink)}.result h2{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(3rem,7vw,6.5rem);line-height:.82;text-transform:uppercase}.result .why{font-family:var(--display);font-weight:700;font-size:1.3rem;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}.result .answer{display:flex;gap:5px}.result .answer span{width:clamp(40px,4.4vw,64px);aspect-ratio:1;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:900;font-size:clamp(1.8rem,3vw,2.8rem)}.result .side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.score{display:flex;gap:14px;font-family:var(--mono);font-weight:700;font-size:1.2rem;align-items:center}.score i{display:inline-block;width:14px;height:14px;margin-right:5px;background:currentColor;vertical-align:-1px}.score .w i{border-radius:50%}.score .l i{clip-path:polygon(50% 0,100% 100%,0 100%)}.result .actions{display:flex;gap:6px}.legend{display:flex;align-items:center;gap:8px;font-size:.85rem}.legend i{width:18px;height:18px;display:block;border-radius:50%;background:currentColor}.kb-bar{background:var(--ink);padding:10px 12px 12px;display:flex;justify-content:center}.kb-bar .keyboard{width:min(720px,100%)}.keyboard{display:flex;flex-direction:column;gap:6px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.kb-row{display:flex;gap:6px;justify-content:center}.key{flex:1;max-width:62px;height:clamp(44px,6.4vh,60px);background:var(--paper);color:var(--ink);font-family:var(--display);font-weight:800;font-size:1.5rem;text-transform:uppercase;position:relative}.key:active{transform:translateY(2px)}.key.wide{max-width:96px;flex:1.5;font-size:1.1rem;letter-spacing:.06em;background:var(--sand)}.key.enter{background:var(--teal);color:var(--paper)}.key.green{background:var(--correct);color:var(--paper)}.key.yellow{background:var(--present);color:var(--ink)}.key.grey{background:var(--absent);color:#f3e7d066}.keyboard.locked .key:not(.wide){opacity:.9}@media(max-width:820px){:root{--tile: clamp(26px, 8.6vw, 44px)}.lobby,.waiting{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh}.lobby-art,.waiting-art{height:26vh;order:-1}.game{height:auto;min-height:100vh;grid-template-rows:auto auto auto auto}.arena{grid-template-columns:1fr}.board-wrap{max-height:calc(var(--tile) * 4.8);flex:none}.head{padding:8px 12px 4px}.clock{--size: 52px}.result{grid-template-columns:1fr}.result .side{align-items:flex-start}.kb-bar{position:sticky;bottom:0}.bar{gap:10px;flex-wrap:wrap}.bar .logo,.bar .spacer{display:none}.pips{gap:3px}.pips i{width:8px;height:8px}.leave-btn{margin-left:auto}.key{font-size:1.25rem}}.help-btn{width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--ink);flex-shrink:0;font-family:var(--display);font-weight:900;font-size:1.7rem;line-height:1}.help-btn:hover{background:var(--mustard)}.bar .help-btn{width:32px;height:32px;font-size:1.3rem;background:var(--sand)}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1a1412d1;display:grid;place-items:center;padding:16px;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}.help-panel{position:relative;overflow:hidden;background:var(--paper);color:var(--ink);width:min(640px,100%);padding:28px 28px 24px;display:flex;flex-direction:column;gap:18px;animation:rise .2s ease-out}@keyframes rise{0%{transform:translateY(14px)}}.help-panel .blk{align-self:flex-start}.help-panel:after{content:"";position:absolute;right:0;bottom:0;width:120px;height:120px;background:var(--teal);border-top-left-radius:100%}.help-panel:before{content:"";position:absolute;right:0;bottom:0;width:60px;height:60px;z-index:1;background:var(--mustard);border-top-left-radius:100%}.help-line{position:relative;z-index:2}.help-line{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.help-line p{margin:0;font-size:1.1rem;line-height:1.35}.help-demo{display:flex;gap:3px;--tile: 27px}.help-demo .tile{font-size:18px;cursor:default}.help-demo .tile.masked{background:var(--c)}.help-icon{display:flex;gap:4px}.help-icon.blocks i{width:54px;height:27px;display:block;background:var(--vermilion)}.help-icon.blocks i+i{background:var(--ink);width:40px}@media(max-width:520px){.help-line{grid-template-columns:1fr;gap:6px}}.waiting-art{position:relative}.waiting-panel{gap:3.2vh}.lobby-top{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.invite-block{flex:1;min-width:260px}.seats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.seat{position:relative;background:var(--sand);padding:16px 18px;min-height:128px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.seat.ready{background:var(--correct);color:var(--paper)}.seat.open{background:transparent;outline:3px dashed var(--sand);outline-offset:-3px;justify-content:center;color:var(--sand)}.seat-name{font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:.95;text-transform:uppercase;overflow-wrap:anywhere}.seat-state{font-family:var(--display);font-weight:800;font-size:1.1rem;letter-spacing:.14em;text-transform:uppercase;margin-top:auto}.seat.ready .seat-state:before{content:"";display:inline-block;width:12px;height:12px;background:var(--paper);margin-right:8px}.seat:not(.ready):not(.open) .seat-state:before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 3px currentColor;margin-right:8px}.seat-score{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:.9rem}.tags{display:flex;gap:4px;flex-wrap:wrap}.tag{font-style:normal;font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:1px 7px;background:var(--ink);color:var(--paper)}.tag.host{background:var(--mustard);color:var(--ink)}.tag.away{background:var(--vermilion)}.host-menu{display:flex;gap:4px;flex-wrap:wrap}.host-menu button{font-family:var(--display);font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;background:var(--paper);color:var(--ink)}.host-menu button:hover{background:var(--ink);color:var(--paper)}.host-menu button.kick:hover{background:var(--vermilion)}.ready-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-height:64px}.ready-btn{font-size:2rem;padding:.35em 1.3em}.ready-btn.on{background:var(--correct);color:var(--paper)}.ready-btn:disabled{opacity:1;background:var(--sand);color:#1a141273}.spec-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.spec{display:flex;align-items:center;gap:8px;background:var(--sand);padding:6px 10px;font-family:var(--display);font-weight:800;font-size:1.15rem;text-transform:uppercase}.muted-line{margin:6px 0 0;font-size:.92rem;opacity:.65}.lobby-actions-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.lobby-actions-row .spacer{flex:1}.countdown{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;background:#1a1412b8;pointer-events:none}.count{width:46vmin;height:46vmin;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:34vmin;line-height:1;color:var(--paper);animation:count-in .9s cubic-bezier(.2,.8,.2,1) both}.count.n3{background:var(--vermilion);border-radius:50%}.count.n2{background:var(--teal)}.count.n1{background:var(--mustard);color:var(--ink);clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:14vmin;font-size:26vmin}@keyframes count-in{0%{transform:scale(.4) rotate(-30deg);opacity:0}40%{transform:scale(1.06) rotate(0);opacity:1}to{transform:scale(1)}}.watchers{display:flex;align-items:center;gap:6px;color:var(--sand);font-family:var(--mono);font-size:.9rem}.watchers i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 4px var(--sand);display:block}.chip.watching{background:var(--vermilion);color:var(--paper)}@media(max-width:820px){.seats{grid-template-columns:1fr}.seat{min-height:0}}.waiting-panel>*,.lobby-panel>*{flex-shrink:0}.blk.sand{background:var(--sand);color:var(--ink)}.ready-row .seeker{font-size:1.15rem}.help-panel{max-height:calc(100vh - 32px);overflow-y:auto;gap:16px;width:min(720px,100%)}.help-title{margin:0;font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:.9;text-transform:uppercase;position:relative;z-index:2}.help-line{align-items:start}.help-line h3{margin:0 0 3px;font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}.help-line p{font-size:1rem;line-height:1.45}.help-demo{margin-top:4px}.help-demo .tile.lit{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--vermilion);z-index:1}.help-icon{margin-top:4px}.help-icon.locked i{width:27px;height:27px;display:block;background:var(--ink)}.help-icon.ring{width:44px;height:44px;border-radius:50%;position:relative;background:conic-gradient(var(--vermilion) .7turn,rgba(26,20,18,.12) 0)}.help-icon.ring:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--paper)}.help-panel:after{top:0;bottom:auto;border-top-left-radius:0;border-bottom-left-radius:100%}.help-panel:before{top:0;bottom:auto;border-top-left-radius:0;border-bottom-left-radius:100%}.tip{position:fixed;z-index:50;transform:translate(-50%,-100%);pointer-events:none;max-width:280px;padding:8px 11px;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:.86rem;line-height:1.35;white-space:pre-line;box-shadow:4px 4px 0 var(--mustard);animation:tip-in .12s ease-out}.tip.below{transform:translate(-50%)}@keyframes tip-in{0%{opacity:0}}.tip-wrap{display:inline-flex}.tip-wrap>button:disabled{pointer-events:none}.framed .tip-wrap{display:flex}[data-tip]{cursor:help}button[data-tip],.tip-wrap,.keyboard[data-tip] .key{cursor:pointer}.keyboard.locked .key{opacity:.4;cursor:not-allowed}.keyboard.locked{cursor:not-allowed}.setting.inactive{opacity:.5}.half.opp .tile.typed{box-shadow:inset 0 0 0 4px var(--paper);color:var(--paper)}.half.opp .tile.empty{box-shadow:inset 0 0 0 4px #f3e7d038}.half.opp .board-row.locked .tile{--c: var(--paper);color:var(--ink)}
