:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#121213;--panel:#1a1a1b;--text:#f8f8f8;--muted:#818384;--disabled:#565758;--line:#3a3a3c;--tile-border:#3a3a3c;--tile-filled:#565758;--key:#818384;--absent:#3a3a3c;--present:#b59f3b;--correct:#538d4e;--focus:#6aaa64;--focus-glow:#6aaa6438;--toast-bg:#f8f8f8;--toast-text:#121213;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--page);margin:0}button,input,select{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{--topbar-height:50px;min-height:100svh;color:var(--text);background:var(--page)}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--line);box-sizing:border-box;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;display:grid}.topbar h1{color:var(--text);letter-spacing:0;text-align:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:700;line-height:1}.topbar-side{align-items:center;gap:4px;display:flex}.topbar-side-left{justify-content:flex-start}.topbar-side-right{justify-content:flex-end}.icon-button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;transition:color .12s,background-color .12s;display:inline-grid}.icon-button svg{width:22px;height:22px;display:block}.icon-button:hover{color:var(--text);background:var(--key)}.icon-button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.icon-button:disabled{color:var(--disabled);cursor:inherit;background:0 0}.icon-button:disabled:hover{color:var(--disabled);background:0 0}.centered-state{text-align:center;place-content:center;justify-items:center;gap:14px;width:min(100%,420px);min-height:100svh;margin:0 auto;padding:24px;display:grid}.centered-state h1,.centered-state p{margin:0}.centered-state h1{font-family:Georgia,Times New Roman,serif;font-size:2rem}.centered-state p{color:var(--muted);font-size:.95rem;font-weight:700;line-height:1.4}.primary-action{color:#fff;text-transform:uppercase;cursor:pointer;background:#5865f2;border:0;border-radius:4px;height:42px;padding:0 16px;font-size:.88rem;font-weight:900}.game{width:min(100%,520px);min-height:calc(100svh - var(--topbar-height));box-sizing:border-box;grid-template-rows:auto 1fr auto auto;align-items:center;margin:0 auto;padding:8px 14px 16px;display:grid}.puzzle-meta{min-height:28px;color:var(--muted);text-transform:uppercase;justify-content:center;align-items:center;gap:12px;font-size:.78rem;font-weight:700;display:flex}.puzzle-meta-tag{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;background:0 0;border-radius:4px;padding:1px 6px;font-size:.64rem;font-weight:700}.toast{z-index:10;min-width:148px;max-width:calc(100vw - 32px);color:var(--toast-text);background:var(--toast-bg);text-align:center;opacity:0;pointer-events:none;border-radius:4px;padding:13px 18px;font-weight:700;transition:opacity .16s,transform .16s;position:fixed;top:68px;left:50%;transform:translate(-50%,-8px)}.toast.visible{opacity:1;transform:translate(-50%)}.board-column{justify-self:center;width:min(350px,100vw - 32px);margin:0 auto;position:relative}.board{gap:5px;width:100%;margin:0;display:grid}.game-reveal{opacity:0;pointer-events:none;animation:.22s both game-reveal-in;animation-delay:var(--game-reveal-delay,0s);align-items:center;gap:8px;display:inline-flex;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.game-reveal-label{color:var(--muted);letter-spacing:.03em;white-space:nowrap;font-size:.72rem;font-weight:700}.game-reveal-word{color:var(--correct);letter-spacing:.06em;white-space:nowrap;font-size:.92rem;font-weight:900}@keyframes game-reveal-in{0%{opacity:0}to{opacity:1}}.board-row{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.board-row.shake{animation:.5s shake}.tile{aspect-ratio:1;box-sizing:border-box;text-transform:uppercase;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:800;line-height:1;position:relative}.tile-face{backface-visibility:hidden;transition:transform .8s ease-in-out;transition-delay:var(--reveal-delay);place-items:center;display:grid;position:absolute;inset:0}.tile-front{border:2px solid var(--tile-border);color:var(--text);background:var(--page);transform:rotateX(0)}.tile-back{color:#fff;background:var(--absent);border:2px solid #0000;transform:rotateX(180deg)}.tile.filled.empty{animation:.1s ease-in pop}.tile.filled.empty .tile-front{border-color:var(--tile-filled)}.tile.absent .tile-back{background:var(--absent)}.tile.present .tile-back{background:var(--present)}.tile.correct .tile-back{background:var(--correct)}.board-row.complete .tile-front{transform:rotateX(180deg)}.board-row.complete .tile-back{transform:rotateX(0)}.board-row.win .tile{animation:bounce .7s ease var(--bounce-delay) both}.keyboard{touch-action:manipulation;gap:8px;width:min(100%,500px);margin:18px auto 0;display:grid}.keyboard-row{justify-content:center;gap:6px;display:flex}.key{color:#fff;background:var(--key);cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:4px;flex:1 1 0;justify-content:center;align-items:center;min-width:0;max-width:43px;height:58px;padding:0;transition:background-color .24s ease-in-out;display:inline-flex}.key-label{text-transform:uppercase;font-size:1.2rem;font-weight:700;line-height:1}.key-action-label{letter-spacing:.05em;text-transform:uppercase;font-size:.8125rem;font-weight:700;line-height:1}.key.wide{flex:1.5 1 0;max-width:65px}.backspace-icon{width:22px;height:22px;display:block}.key.absent,.key.present,.key.correct{color:#fff}.key.absent{background:var(--absent)}.key.present{background:var(--present)}.key.correct{background:var(--correct)}.peer-rail{top:calc(var(--topbar-height) + 18px);z-index:5;gap:10px;width:108px;display:grid;position:fixed;left:14px}.peer-rail.peer-rail-empty{display:none}.peer{border:2px solid var(--line);background:#121213eb;border-radius:6px;justify-items:center;gap:6px;min-width:0;padding:8px 7px;transition:border-color .2s;display:grid;position:relative;box-shadow:0 8px 24px #00000038}.peer-playing{border-color:var(--line)}.peer-won{border-color:var(--correct)}.peer-lost{border-color:var(--present)}.peer.peer-away{border-color:var(--line);opacity:.7}.peer.peer-stale:not(.peer-away){opacity:.86}.peer.peer-away .peer-status{color:var(--muted);letter-spacing:.1em}.peer-header{justify-content:center;align-items:center;gap:4px;min-width:0;max-width:94px;display:flex}.peer-rank{color:#fff;background:var(--correct);letter-spacing:.02em;pointer-events:none;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.62rem;font-weight:900;display:inline-grid;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 6px #00000059}.peer-name,.peer-status{min-width:0;max-width:94px;color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:800;overflow:hidden}.peer-presence{color:#fff;background:var(--disabled);pointer-events:none;border:2px solid #121213eb;border-radius:999px;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:-8px;left:-8px;box-shadow:0 2px 6px #00000059}.peer-presence svg{stroke-width:2.6px;width:11px;height:11px}.peer-presence-live{background:var(--correct);box-shadow:0 0 8px #538d4eb3}.peer-presence-away{background:var(--present)}.peer-presence-stale{background:var(--disabled)}.peer-status{justify-content:center;align-items:center;gap:3px;display:flex}.peer-status-detail{color:var(--muted);letter-spacing:.02em;font-size:.86em}.peer-won .peer-status{color:var(--correct)}.peer-lost .peer-status{color:var(--present)}.leaderboard{flex-direction:column;flex:1;min-height:0;display:flex}.leaderboard-controls{display:block}.leaderboard-tabs{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.leaderboard-tabs button{border:1px solid var(--line);height:34px;color:var(--muted);background:var(--panel);text-transform:uppercase;cursor:pointer;border-radius:4px;font-size:.76rem;font-weight:900}.leaderboard-tabs button.active{border-color:var(--correct);color:var(--text)}.leaderboard-head{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line);margin-top:14px;padding:0 12px 6px;font-size:.62rem;font-weight:900}.leaderboard-head span{min-width:0}.leaderboard-head>span{justify-content:center;align-items:center;gap:4px;display:flex}.leaderboard-head>span:nth-child(2){justify-content:flex-start}.leaderboard-list{gap:4px;margin-top:6px;display:grid;overflow-y:auto}.leaderboard-row-daily,.leaderboard-row-all{align-items:center;column-gap:8px;display:grid}.leaderboard-row-daily{grid-template-columns:22px minmax(64px,1fr) minmax(42px,.65fr) minmax(56px,.78fr) minmax(38px,.55fr);column-gap:5px}.leaderboard-row-all{grid-template-columns:22px minmax(80px,1.4fr) repeat(5,minmax(40px,1fr));column-gap:4px}.leaderboard-row-all>.stat-played,.leaderboard-row-all>.stat-typos{display:none}.stat-emoji{flex:none}.stat-label{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;min-width:0;font-weight:800;line-height:1.15;display:none}.stat-best{color:var(--muted);opacity:.7;margin-left:2px;font-size:.78em;font-weight:700;display:none}.leaderboard-legend{flex-shrink:0;justify-content:center;gap:3px;margin-top:8px;display:grid}.leaderboard-legend-item{grid-template-columns:18px max-content;align-items:center;column-gap:5px;min-width:0;display:grid}.leaderboard-legend-item span{text-align:center}.leaderboard-legend-item strong{min-width:0;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6rem;font-weight:900}@media (width>=1180px){.stat-label{display:inline-block}.leaderboard-legend{display:none}.leaderboard-row-daily{grid-template-columns:28px minmax(140px,1.4fr) repeat(3,minmax(88px,1fr));column-gap:8px}.leaderboard-row-all{grid-template-columns:28px minmax(140px,1.25fr) repeat(7,minmax(96px,1fr));column-gap:8px}.leaderboard-head.leaderboard-row-all>.stat-played,.leaderboard-head.leaderboard-row-all>.stat-typos{display:flex}.leaderboard-row.leaderboard-row-all>.stat-played,.leaderboard-row.leaderboard-row-all>.stat-typos{display:block}.stat-best{display:inline}}.leaderboard-row,.empty-row{min-height:36px;color:var(--muted);background:var(--panel);text-transform:uppercase;border-radius:6px;padding:0 12px;font-size:.78rem;font-weight:800}.leaderboard-row{align-items:center}.leaderboard-row strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.leaderboard-row span:not(:first-child),.leaderboard-head span:not(:nth-child(2)){text-align:right}.leaderboard-head span:first-child,.leaderboard-row span:first-child{text-align:left}.leaderboard-row-all>span:nth-child(n+3),.leaderboard-head.leaderboard-row-all>span:nth-child(n+3),.leaderboard-row-daily>span:nth-child(n+3),.leaderboard-head.leaderboard-row-daily>span:nth-child(n+3){text-align:center}.empty-row{grid-template-columns:1fr;place-items:center;display:grid}.mini-board{gap:2px;display:grid}.mini-row{grid-template-columns:repeat(5,11px);gap:2px;display:grid}.mini-tile{background:var(--tile-border);width:11px;height:11px}.mini-tile.absent{background:var(--absent)}.mini-tile.present{background:var(--present)}.mini-tile.correct{background:var(--correct)}.mini-tile.filled{background:var(--tile-filled,var(--text))}.mini-row.shake{animation:.4s shake-mini}.spectate-row.shake{animation:.5s shake}.spectate-tile.filled{border:1px solid var(--tile-filled,var(--text));color:var(--text);background:0 0}.dialog-card.dialog-card-spectate{gap:14px;width:min(100%,960px);height:min(82svh,760px);max-height:min(82svh,760px);padding:22px 26px 26px}.spectate-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(200px,280px));place-content:start center;gap:12px;min-height:0;padding:2px 4px 2px 0;display:grid;overflow-y:auto}.spectate-player{border:1px solid var(--line);background:var(--panel);border-radius:6px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.spectate-player-playing{border-color:var(--line)}.spectate-player-won{border-color:var(--correct)}.spectate-player-lost{border-color:var(--present)}.spectate-player.spectate-player-away{border-color:var(--disabled);opacity:.72}.spectate-player-header{justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;display:flex}.spectate-player-title{flex:1;align-items:center;gap:5px;min-width:0;display:inline-flex}.spectate-presence{border:2px solid var(--panel);color:#fff;background:var(--disabled);border-radius:999px;flex:none;place-items:center;width:16px;height:16px;display:grid;box-shadow:0 2px 6px #00000040}.spectate-presence svg{stroke-width:2.7px;width:10px;height:10px}.spectate-presence-live{background:var(--correct);box-shadow:0 0 8px #538d4eb3}.spectate-presence-away{background:var(--present)}.spectate-presence-stale{background:var(--disabled)}.spectate-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-weight:700;overflow:hidden}.spectate-meta{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.spectate-time{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:800}.spectate-status{border:1px solid var(--line);min-height:22px;color:var(--muted);background:var(--page);border-radius:999px;flex-shrink:0;align-items:center;padding:0 7px;font-size:.72rem;font-weight:900;display:inline-flex}.spectate-rank{color:#fff;background:var(--correct);letter-spacing:.02em;border-radius:999px;flex-shrink:0;place-items:center;min-width:20px;height:20px;font-size:.58rem;font-weight:900;display:inline-grid}.spectate-player-won .spectate-status{border-color:color-mix(in srgb, var(--correct) 55%, var(--line));color:var(--correct)}.spectate-player.spectate-player-away .spectate-status{border-color:var(--disabled);color:var(--muted);letter-spacing:.1em}.spectate-board{gap:3px;display:grid}.spectate-row{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.spectate-tile{aspect-ratio:1;color:#fff;background:var(--tile-border);text-transform:uppercase;border-radius:2px;place-items:center;font-size:.82rem;font-weight:800;display:grid}.spectate-tile.empty{border:1px solid var(--tile-border);background:0 0}.spectate-tile.absent{background:var(--absent)}.spectate-tile.present{background:var(--present)}.spectate-tile.correct{background:var(--correct)}.dialog-card-archive{width:min(100%,680px);height:min(82svh,660px)}.archive-header>div{min-width:0}.archive-header p{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 0;font-size:.72rem;font-weight:800}.archive-current{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;min-height:44px;padding:8px 2px;display:grid}.archive-item-simple{grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:2px;min-height:56px;display:grid}.archive-current-left{gap:2px;min-width:0;display:grid}.archive-current-date{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:900;overflow:hidden}.archive-current-number{min-width:0;color:var(--muted);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.archive-current-meta{flex-shrink:0;justify-items:end;gap:4px;display:grid}.archive-current-won{border-color:color-mix(in srgb, var(--correct) 32%, var(--line))}.archive-current-lost{border-color:color-mix(in srgb, var(--present) 32%, var(--line))}.archive-current-playing{border-color:color-mix(in srgb, var(--muted) 40%, var(--line))}.archive-status{flex-shrink:0;place-items:center;width:16px;height:16px;display:inline-grid}.archive-status svg{width:14px;height:14px;display:block}.archive-status-won{color:var(--correct)}.archive-status-lost{color:var(--present)}.archive-status-playing{color:var(--muted)}.archive-progress{align-items:center;gap:3px;display:inline-flex}.archive-dot{border:1px solid var(--line);border-radius:2px;flex-shrink:0;width:8px;height:8px}.archive-dot-empty{background:0 0}.archive-dot-active{background:color-mix(in srgb, var(--muted) 28%, var(--panel));border-color:color-mix(in srgb, var(--muted) 55%, var(--line))}.archive-dot-used{background:var(--absent);border-color:var(--absent)}.archive-dot-correct{background:var(--correct);border-color:var(--correct)}.archive-current-count{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.62rem;font-weight:800;line-height:1}.archive-current-count-won{color:var(--correct)}.archive-current-count-lost{color:var(--present)}.archive-current-count-open{letter-spacing:.03em;text-transform:uppercase;font-size:.64rem;font-weight:700}.archive-tools{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.archive-search-shell{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--muted);background:var(--panel);border-radius:6px;align-items:center;gap:8px;padding:0 12px;transition:border-color .12s,box-shadow .12s;display:flex}.archive-search-shell:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus-glow)}.archive-search-shell svg{flex:none;width:18px;height:18px}.archive-search{width:100%;min-width:0;color:var(--text);appearance:none;background:0 0;border:0;padding:0;font-size:.95rem;font-weight:700;line-height:normal}.archive-search::-webkit-search-decoration{appearance:none}.archive-search::-webkit-search-cancel-button{appearance:none}.archive-search::placeholder{color:var(--muted);font-weight:700}.archive-search:focus{outline:none}.archive-actions{grid-template-columns:repeat(2,auto);gap:8px;display:grid}.archive-actions button{border:1px solid var(--line);height:42px;color:var(--text);background:var(--key);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.72rem;font-weight:900;transition:border-color .12s,filter .12s;display:inline-flex;position:relative}.archive-actions button svg{width:17px;height:17px}.archive-actions button:hover{border-color:var(--correct);filter:brightness(1.1)}.archive-search-hint{color:var(--muted);flex-shrink:0;margin:0;font-size:.72rem;font-weight:600;line-height:1.4}.archive-list-wrap{flex:1;width:calc(100% + 12px);min-height:0;margin-right:-12px;overflow:hidden}.archive-list-scroll{box-sizing:content-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 80%, transparent) transparent;width:calc(100% - 12px);height:100%;padding-right:12px;overflow:hidden auto}.archive-list-scroll:hover{scrollbar-color:var(--muted) transparent}.archive-list-scroll::-webkit-scrollbar{width:10px}.archive-list-scroll::-webkit-scrollbar-track{background:0 0}.archive-list-scroll::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--muted) 80%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.archive-list-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--muted);background-clip:padding-box}.archive-list-scroll::-webkit-scrollbar-thumb:active{background-color:var(--muted);background-clip:padding-box}.archive-list{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));align-content:start;gap:8px;width:100%;padding:4px 0;display:grid}.archive-item{border:1px solid var(--line);min-height:64px;color:var(--text);background:var(--panel);font:inherit;text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;transition:background-color .12s,border-color .12s,transform .12s;display:grid}.archive-item:hover:not(.selected){transform:translateY(-1px)}.archive-item-won:not(.selected):hover{border-color:color-mix(in srgb, var(--correct) 55%, var(--line))}.archive-item-lost:not(.selected):hover{border-color:color-mix(in srgb, var(--present) 55%, var(--line))}.archive-item-playing:not(.selected):hover{border-color:color-mix(in srgb, var(--muted) 65%, var(--line))}.archive-item:not(.archive-item-won):not(.archive-item-lost):not(.archive-item-playing):hover{border-color:var(--correct)}.archive-item-won:not(.selected){border-color:color-mix(in srgb, var(--correct) 38%, var(--line))}.archive-item-lost:not(.selected){border-color:color-mix(in srgb, var(--present) 38%, var(--line))}.archive-item-playing:not(.selected){border-color:color-mix(in srgb, var(--muted) 45%, var(--line))}.archive-item.selected{border-color:var(--correct);background:color-mix(in srgb, var(--correct) 14%, var(--panel))}.archive-item-left{gap:2px;min-width:0;display:grid}.archive-item-right{flex-shrink:0;justify-items:end;gap:4px;display:grid}.archive-item-count{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.58rem;font-weight:800;line-height:1}.archive-item-count-won{color:var(--correct)}.archive-item-count-lost{color:var(--present)}.archive-item-count-open{color:var(--muted);font-weight:700}.archive-item-empty-mark{flex-shrink:0;width:16px;height:16px}.archive-item-right-empty .archive-dot-empty{border-color:color-mix(in srgb, var(--line) 55%, transparent);opacity:.7}.archive-date{letter-spacing:.01em;font-size:.9rem;font-weight:900;line-height:1.1}.archive-num{letter-spacing:.02em;color:var(--muted);font-size:.64rem;font-weight:700}.archive-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:0;padding:28px 12px;font-size:.82rem;font-weight:600;line-height:1.45}.dialog-layer{z-index:30;opacity:0;pointer-events:none;place-items:center;padding:16px;transition:opacity .2s;display:grid;position:fixed;inset:0}.dialog-layer.open{opacity:1;pointer-events:auto}.dialog-backdrop{cursor:pointer;background:#0000008c;border:0;position:absolute;inset:0}.dialog-card{border:1px solid var(--line);width:min(100%,460px);max-height:min(82svh,640px);color:var(--text);background:var(--page);will-change:transform;border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px 20px;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden;transform:translateY(8px)scale(.98);box-shadow:0 24px 60px #00000073}.dialog-card-wide{width:min(100%,540px);height:min(82svh,640px)}.dialog-card-confirm{width:min(100%,380px);max-height:none}.dialog-card.dialog-card-stats{height:min(82svh,480px);max-height:min(82svh,480px)}.dialog-layer.open .dialog-card{transform:translateY(0)scale(1)}.dialog-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-header h2{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.dialog-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;transition:color .12s,background-color .12s;display:inline-grid}.dialog-close svg{width:18px;height:18px}.dialog-close:hover{color:var(--text);background:var(--key)}.dialog-body{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.dialog-secondary,.dialog-primary{height:42px;font:inherit;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;border-radius:6px;font-size:.82rem;font-weight:900;transition:filter .12s,background-color .12s}.dialog-secondary{color:var(--text);background:var(--key)}.dialog-secondary:hover{background:var(--line)}.dialog-primary{color:#fff;background:var(--correct)}.dialog-primary:hover{filter:brightness(1.08)}@keyframes pop{0%{opacity:.85;transform:scale(.82)}50%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%{transform:translateY(0)}40%{transform:translateY(-26px)}50%{transform:translateY(4px)}60%{transform:translateY(-12px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes shake-mini{25%{transform:translate(-1px)}50%{transform:translate(1px)}75%{transform:translate(-1px)}}@media (width<=420px){.topbar{grid-template-columns:1fr auto 1fr;padding:0 8px}.topbar h1{font-size:1.48rem}.topbar-side{gap:2px}.icon-button{width:34px;height:34px}.icon-button svg{width:20px;height:20px}.game{padding-inline:8px}.tile{font-size:1.75rem}.keyboard-row{gap:5px}.key{max-width:36px;height:52px}.key-label{font-size:1.05rem}.key-action-label{letter-spacing:.04em;font-size:.72rem}.key.wide{max-width:54px}.backspace-icon{width:18px;height:18px}}@media (width>=761px){.app{--topbar-height:clamp(50px, 4.2vw, 64px)}.game{width:min(100%,clamp(520px,50vw,760px));padding-bottom:clamp(16px,2.6vw,48px)}.board-column{width:min(100vw - 32px,clamp(350px,38vw,520px),64svh)}.board{gap:clamp(5px,.5vw,8px)}.game-reveal-label{font-size:clamp(.72rem,.8vw,.82rem)}.game-reveal-word{font-size:clamp(.92rem,1vw,1.05rem)}.board-row{gap:clamp(5px,.5vw,8px)}.tile{font-size:clamp(2rem,2.4vw,3rem)}.tile-front,.tile-back{border-width:clamp(2px,.2vw,3px)}.keyboard{gap:clamp(8px,.85vw,12px);width:min(100%,clamp(500px,48vw,720px));margin-top:clamp(18px,1.8vw,28px)}.keyboard-row{gap:clamp(6px,.6vw,10px)}.key{border-radius:clamp(4px,.4vw,6px);max-width:clamp(43px,4.4vw,62px);height:clamp(58px,5.4vw,84px)}.key.wide{max-width:clamp(65px,6.6vw,92px)}.key-label{font-size:clamp(1.2rem,1.4vw,1.75rem)}.key-action-label{font-size:clamp(.8125rem,1vw,1.1rem)}.topbar h1{font-size:clamp(2rem,2.4vw,2.6rem)}.puzzle-meta{font-size:clamp(.78rem,.9vw,.95rem)}.icon-button{width:clamp(36px,2.8vw,44px);height:clamp(36px,2.8vw,44px)}.icon-button svg{width:clamp(22px,1.7vw,26px);height:clamp(22px,1.7vw,26px)}.dialog-card{border-radius:clamp(12px,1vw,16px);gap:clamp(14px,1.2vw,18px);width:min(100%,clamp(460px,38vw,600px));max-height:min(82svh,clamp(640px,70svh,800px));padding:clamp(18px,1.6vw,24px) clamp(20px,1.8vw,28px)}.dialog-card.dialog-card-wide{width:min(100%,clamp(540px,44vw,700px));height:min(82svh,clamp(640px,70svh,800px))}.dialog-card.dialog-card-archive{width:min(100vw - 32px,clamp(720px,58vw,960px));height:min(82svh,clamp(620px,66svh,760px));max-height:min(82svh,clamp(620px,66svh,760px))}.dialog-card.dialog-card-confirm{width:min(100%,clamp(380px,30vw,480px))}.dialog-card.dialog-card-stats{width:min(100vw - 32px,clamp(560px,70vw,1180px));height:min(82svh,clamp(480px,48vw,680px));max-height:min(82svh,clamp(480px,48vw,680px))}.dialog-card.dialog-card-spectate{width:min(100vw - 32px,clamp(760px,76vw,1240px));height:min(82svh,clamp(540px,50vw,720px));max-height:min(82svh,clamp(540px,50vw,720px))}.dialog-header h2{font-size:clamp(.78rem,.88vw,.95rem)}.dialog-close{width:clamp(32px,2.4vw,40px);height:clamp(32px,2.4vw,40px)}.dialog-close svg{width:clamp(18px,1.3vw,22px);height:clamp(18px,1.3vw,22px)}.dialog-body{font-size:clamp(.92rem,1vw,1.05rem)}.dialog-secondary,.dialog-primary{height:clamp(42px,3.4vw,52px);font-size:clamp(.82rem,.95vw,1rem)}.leaderboard-tabs button{height:clamp(34px,2.8vw,42px);font-size:clamp(.76rem,.85vw,.92rem)}.leaderboard-head{font-size:clamp(.62rem,.7vw,.74rem)}.leaderboard-row,.empty-row{min-height:clamp(36px,2.8vw,44px);font-size:clamp(.78rem,.88vw,.94rem)}.archive-actions button{height:clamp(40px,3.2vw,48px);font-size:clamp(.78rem,.88vw,.92rem)}.archive-search{font-size:clamp(1rem,1vw,1.1rem)}.archive-item{font-size:clamp(.78rem,.88vw,.94rem)}.archive-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.archive-item{flex-direction:column;justify-content:space-between;align-items:stretch;gap:12px;min-height:96px;padding:12px 14px;display:flex}.archive-item-left{gap:3px;display:grid}.archive-date{font-size:.95rem}.archive-num{font-size:.72rem}.archive-item-right{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;padding-top:10px;display:flex}.archive-item-right .archive-progress{flex:1;justify-content:center}.archive-item-count{text-align:right;min-width:2.4em;font-size:.68rem}.archive-dot{width:9px;height:9px}.archive-current-meta{flex-direction:row;align-items:center;gap:12px;display:flex}.archive-current-left{align-items:baseline;gap:14px;display:flex}.archive-current-date{font-size:1.02rem}.archive-current-number{font-size:.76rem}.spectate-name{font-size:clamp(.82rem,.92vw,1rem)}.spectate-status{font-size:clamp(.68rem,.76vw,.82rem)}.spectate-tile{font-size:clamp(.82rem,1.1vw,1.1rem)}.peer-rail{gap:clamp(10px,.9vw,14px);width:clamp(108px,9.5vw,156px);top:clamp(64px,5vw,80px);left:clamp(14px,1.4vw,22px)}.peer{border-width:clamp(2px,.2vw,3px);border-radius:clamp(6px,.55vw,8px);gap:clamp(6px,.55vw,9px);padding:clamp(8px,.7vw,12px) clamp(7px,.6vw,10px)}.peer-header{gap:clamp(4px,.4vw,6px);max-width:clamp(94px,8vw,134px)}.peer-name,.peer-status{max-width:clamp(94px,8vw,134px);font-size:clamp(.72rem,.82vw,.92rem)}.peer-presence{width:clamp(18px,1.5vw,22px);height:clamp(18px,1.5vw,22px);top:clamp(-10px,-.7vw,-8px);left:clamp(-10px,-.7vw,-8px)}.peer-presence svg{width:clamp(11px,.9vw,14px);height:clamp(11px,.9vw,14px)}.peer-rank{min-width:clamp(20px,1.7vw,26px);height:clamp(20px,1.7vw,26px);padding:0 clamp(5px,.5vw,7px);font-size:clamp(.62rem,.7vw,.78rem);top:clamp(-10px,-.7vw,-8px);right:clamp(-10px,-.7vw,-8px)}.mini-board{gap:clamp(2px,.2vw,3px)}.mini-row{grid-template-columns:repeat(5,clamp(11px,1vw,16px));gap:clamp(2px,.2vw,3px)}.mini-tile{width:clamp(11px,1vw,16px);height:clamp(11px,1vw,16px)}}@media (width<=760px){.app{flex-direction:column;height:100svh;min-height:0;display:flex;overflow:hidden}.topbar{flex-shrink:0}.dialog-layer.dialog-layer-sheet{place-items:end stretch;padding:0}.dialog-layer.dialog-layer-sheet .dialog-card{width:100%;max-height:88svh;padding:16px 14px max(16px, env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;transform:translateY(100%)}.dialog-layer.dialog-layer-sheet.open .dialog-card{transform:translateY(0)}.dialog-layer.dialog-layer-sheet .dialog-card-wide,.dialog-layer.dialog-layer-sheet .dialog-card-stats{height:82svh;max-height:82svh}.dialog-layer.dialog-layer-sheet .dialog-card-archive{gap:10px;height:88svh;max-height:88svh}.archive-header p{font-size:.66rem}.archive-current{gap:8px;min-height:38px;padding:6px 2px}.archive-current-date{font-size:.9rem}.archive-current-number{font-size:.64rem}.archive-current-count{font-size:.58rem}.archive-dot{width:7px;height:7px}.archive-tools{grid-template-columns:minmax(0,1fr) auto}.archive-search-shell{min-height:40px;padding:0 10px}.archive-actions{grid-template-columns:repeat(2,40px)}.archive-actions button{width:40px;height:40px;padding:0}.archive-actions button span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.archive-search-hint{text-align:center;font-size:.64rem}.archive-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.archive-item{flex-direction:column;justify-content:space-between;align-items:stretch;gap:8px;min-height:88px;padding:8px 9px;display:flex}.archive-item-left{gap:2px}.archive-item-right{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);flex-direction:row;justify-content:space-between;align-items:center;gap:6px;width:100%;padding-top:8px;display:flex}.archive-item-right .archive-progress{flex:1;justify-content:center}.archive-item-count{font-size:.52rem}.archive-num{font-size:.58rem}.archive-date{font-size:.78rem}.dialog-layer.dialog-layer-sheet .dialog-card-spectate{gap:6px;height:94svh;min-height:94svh;max-height:94svh}.dialog-layer.dialog-layer-sheet .dialog-card-spectate .dialog-header{min-height:28px}.dialog-layer.dialog-layer-sheet .dialog-card-spectate .dialog-header h2{font-size:.72rem}.dialog-layer.dialog-layer-sheet .dialog-card-spectate .dialog-close{width:28px;height:28px}.spectate-grid{grid-template-columns:repeat(2,calc(50% - 6px));gap:8px 12px;padding:1px 0;overflow-y:hidden}.spectate-player{gap:6px;padding:8px}.spectate-status{min-height:18px;padding:0 5px;font-size:.62rem}.spectate-meta{gap:4px}.spectate-time{font-size:.56rem}.spectate-rank{min-width:18px;height:18px;font-size:.54rem}.spectate-player-header{gap:5px;font-size:.7rem}.spectate-board,.spectate-row{gap:3px}.spectate-tile{border-radius:2px;font-size:.72rem}.peer-rail{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:min(360px,100vw - 24px);min-height:86px;margin:12px auto 0;padding:0;display:flex;position:static}.peer-rail.peer-rail-empty{display:flex}.peer{box-sizing:border-box;width:78px;box-shadow:none;flex:0 0 78px;gap:3px;padding:4px 5px}.peer-header{gap:3px;max-width:60px}.peer-presence{width:15px;height:15px;top:-7px;left:-7px}.peer-presence svg{width:9px;height:9px}.peer-name{max-width:60px;font-size:.58rem}.peer-status{display:none}.peer-rank{min-width:16px;height:16px;padding:0 4px;font-size:.55rem;top:-6px;right:-6px}.mini-row{grid-template-columns:repeat(5,8px);justify-content:center;gap:1.5px}.mini-tile{width:8px;height:8px}.puzzle-meta{display:none}.game{flex:1;grid-template-rows:auto 1fr auto;align-items:stretch;min-height:0;padding:10px 14px 14px}.board-column{grid-row:1;justify-self:center}.board{grid-row:unset;justify-self:unset}.keyboard{grid-row:3;margin-top:0}.dialog-layer:has(.dialog-card-spectate){place-items:end stretch;padding:0}.dialog-card.dialog-card-spectate{width:100%;max-width:none;height:94svh;max-height:94svh;padding:8px 12px max(10px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0;transform:translateY(100%)scale(1)}.dialog-layer.open .dialog-card.dialog-card-spectate{transform:translateY(0)scale(1)}.spectate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}@supports (-webkit-touch-callout:none){@media not (display-mode:standalone){.app{height:100dvh}.game{row-gap:12px;padding-bottom:44px}.keyboard{gap:5px}.keyboard-row{gap:4px}.key{max-width:38px;height:48px}.key.wide{max-width:56px}.key-label{font-size:1rem}.key-action-label{font-size:.72rem}.backspace-icon{width:18px;height:18px}}}}
