:root{color-scheme:dark;--sait: var(--discord-safe-area-inset-top, env(safe-area-inset-top, 0px));--saib: var( --discord-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px) );--sail: var(--discord-safe-area-inset-left, env(safe-area-inset-left, 0px));--sair: var(--discord-safe-area-inset-right, env(safe-area-inset-right, 0px));--brand-cell-size: clamp(22px, 6vmin, 32px);--bg: #121213;--surface: #1a1a1b;--border: #3a3a3c;--text: #ffffff;--muted: #818384;--correct: #3eaa42;--partial: #cd8729;--incorrect: #3a3a3c;--key: #818384;--key-text: #ffffff;--gap: clamp(3px, 1vmin, 6px);--chrome: 150px;--cell-size: max( 20px, min( 56px, calc((100vh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 4 * var(--gap)) / 5) ) );--key-height: min(52px, calc(var(--cell-size) * .92));--key-min-width: max(22px, calc(var(--cell-size) * .58));font-family:Segoe UI,system-ui,sans-serif}@supports (height: 100dvh){:root{--cell-size: max( 20px, min( 56px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 4 * var(--gap)) / 5) ) )}}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);display:flex;justify-content:center;overflow-y:auto}#app{width:min(100%,520px);min-height:100vh;min-height:100dvh;padding-top:max(clamp(8px,2vmin,16px),var(--sait));padding-right:max(12px,var(--sair));padding-bottom:max(clamp(12px,3vmin,24px),var(--saib));padding-left:max(12px,var(--sail));display:grid;grid-template-rows:auto auto 1fr auto auto 1fr auto;align-items:center;justify-items:center;gap:clamp(4px,1.5vmin,12px)}.header{grid-row:1;text-align:center;width:100%}.header:has(.guild-players:not([hidden])) .brand-grid{display:none}.status{grid-row:2;flex-shrink:0}.guild-players{width:100%}.guild-players-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,2vw,12px);padding:1px 0}.guild-player{display:flex;align-items:center;gap:4px}.guild-player-avatar{width:20px;height:20px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--surface)}.guild-player-grid{display:flex;flex-direction:column;gap:1px}.guild-player-row{display:flex;gap:1px}.guild-player-cell{width:4px;height:4px;border-radius:1px;background:var(--border)}.guild-player-cell.correct{background:var(--correct)}.guild-player-cell.partial{background:var(--partial)}.guild-player-cell.incorrect{background:var(--incorrect)}.guild-player-cell.empty,.guild-player-cell.draft{background:#2a2a2b;box-shadow:inset 0 0 0 1px var(--border)}.grid{grid-row:4;display:flex;flex-direction:column;gap:var(--gap);margin-top:clamp(2px,1vmin,8px);flex-shrink:0;min-height:calc(6 * var(--cell-size) + 5 * var(--gap))}.message{grid-row:5;min-height:1.2em;font-weight:600;font-size:clamp(.75rem,2.5vmin,1rem)}.message[hidden]{display:block;visibility:hidden}.keyboard{grid-row:7;width:100%;display:flex;flex-direction:column;gap:var(--gap);align-self:stretch}.row{display:flex;gap:var(--gap)}.cell{width:var(--cell-size);height:var(--cell-size);perspective:600px}.cell-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}.cell.revealed .cell-inner{transform:rotateX(180deg)}.cell.flip .cell-inner{animation:flip-reveal .5s ease forwards;animation-delay:var(--flip-delay, 0ms)}.cell-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;backface-visibility:hidden;border:2px solid var(--border);font-size:clamp(.9rem,calc(var(--cell-size) * .55),1.6rem);font-weight:700;text-transform:uppercase}.cell-front{transform:rotateX(0)}.cell-back{transform:rotateX(180deg)}.cell.filled .cell-front{border-color:#565758;animation:pop .08s ease}.cell-back.correct{background:var(--correct);border-color:var(--correct);color:#fff}.cell-back.partial{background:var(--partial);border-color:var(--partial);color:#fff}.cell-back.incorrect{background:var(--incorrect);border-color:var(--incorrect);color:#fff}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes flip-reveal{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(-180deg)}}.message.error{color:#ff6b6b}.message.success{color:var(--correct)}.message.failure{color:#ed4245}.brand-grid{display:flex;gap:var(--gap);justify-content:center}.brand-cell{width:var(--brand-cell-size);height:var(--brand-cell-size);display:grid;place-items:center;border:2px solid var(--border);font-size:clamp(.7rem,calc(var(--brand-cell-size) * .55),1.2rem);font-weight:700}.header p,.status{margin:4px 0 0;color:var(--muted);font-size:clamp(.75rem,2.5vmin,.9rem)}.kb-row{display:flex;justify-content:center;gap:var(--gap);flex-wrap:nowrap}.key{-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;min-width:var(--key-min-width);height:var(--key-height);padding:0 clamp(4px,1vmin,10px);border:none;border-radius:4px;background:var(--key);color:var(--key-text);font-size:clamp(.6rem,calc(var(--cell-size) * .24),.85rem);font-weight:700;cursor:pointer;text-transform:uppercase}.key.wide{min-width:max(44px,calc(var(--cell-size) * 1.4));font-size:clamp(.55rem,calc(var(--cell-size) * .2),.75rem)}.key.correct{background:var(--correct)}.key.partial{background:var(--partial)}.key.incorrect{background:var(--incorrect);color:#fffa}.key:disabled{opacity:.45;cursor:not-allowed}body.discord-mobile.discord-embedded:not(.layout-compact) #app{padding-top:max(48px,var(--sait))}.guild-players[hidden]{display:none}body.discord-embedded.discord-mobile:not(.layout-compact){overflow:hidden;--chrome: 198px;--cell-size: max( 20px, min( 50px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 4 * var(--gap)) / 5) ) )}body.discord-embedded.discord-mobile:not(.layout-compact) #app{min-height:0;height:100%;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:4px;padding-bottom:max(8px,var(--saib))}body.discord-embedded.discord-mobile:not(.layout-compact) .header{grid-row:1}body.discord-embedded.discord-mobile:not(.layout-compact) .status{grid-row:2}body.discord-embedded.discord-mobile:not(.layout-compact) .grid{grid-row:3;margin-top:0;align-self:center}body.discord-embedded.discord-mobile:not(.layout-compact) .message{grid-row:4}body.discord-embedded.discord-mobile:not(.layout-compact) .keyboard{grid-row:5;align-self:stretch}html.discord-embedded,body.discord-embedded{height:100%}body.discord-embedded:not(.discord-mobile){overflow:hidden;--chrome: 132px;--brand-cell-size: clamp(20px, 5vmin, 28px);--cell-size: max( 20px, min( 50px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 4 * var(--gap)) / 5) ) )}body.discord-embedded:not(.discord-mobile) #app{min-height:0;height:100%;grid-template-rows:auto auto auto auto auto;gap:4px;padding-top:clamp(8px,2vmin,16px);padding-bottom:8px}body.discord-embedded:not(.discord-mobile) .header p{display:none}body.discord-embedded:not(.discord-mobile) .header{grid-row:1}body.discord-embedded:not(.discord-mobile) .status{grid-row:2}body.discord-embedded:not(.discord-mobile) .grid{grid-row:3;margin-top:0}body.discord-embedded:not(.discord-mobile) .message{grid-row:4}body.discord-embedded:not(.discord-mobile) .keyboard{grid-row:5}@media(max-width:520px){#app{gap:8px}}@media(max-height:520px){:root{--chrome: 100px}.header p{display:none}}@media(max-height:400px){:root{--chrome: 72px}:root{--brand-cell-size: 22px}.status{font-size:.7rem}}body.layout-compact .header,body.layout-compact .status,body.layout-compact #keyboard,body.layout-compact #message{display:none}body.layout-compact .cell-face{color:transparent}body.layout-compact .grid{min-height:0;margin-top:0}body.layout-compact.discord-embedded{overflow:hidden;min-height:0!important;height:100%}html.discord-embedded:has(body.layout-compact){height:100%;min-height:0!important;overflow:hidden}body.layout-compact.discord-embedded #app{height:100%;min-height:0!important;width:100%;max-width:none;grid-template-rows:1fr;align-items:center;justify-items:center;padding:4px 8px;gap:0}body.layout-compact.discord-embedded .grid{grid-row:1;align-self:center}body.layout-compact:not(.discord-embedded) #app{height:100dvh;min-height:0!important;grid-template-rows:1fr;align-items:center;justify-items:center;padding:4px 8px;gap:0}body.layout-compact:not(.discord-embedded) .grid{grid-row:1}body.is-booting #app{visibility:hidden}.boot{--boot-cell-size: max( 20px, min(56px, calc((100vw - 48px - 4 * var(--gap)) / 5)) );position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:var(--bg);padding:max(clamp(12px,3vmin,24px),var(--sait)) max(16px,var(--sair)) max(clamp(12px,3vmin,24px),var(--saib)) max(16px,var(--sail));opacity:1;transition:opacity .3s ease}.boot.is-leaving{opacity:0;pointer-events:none}.boot:not(.has-mode) .boot-grid{visibility:hidden}.boot-inner{width:min(100%,360px);display:flex;flex-direction:column;align-items:center;gap:clamp(16px,4vmin,28px);text-align:center}.boot-grid{display:flex;gap:var(--gap)}.boot-cell{width:var(--boot-cell-size);height:var(--boot-cell-size);display:grid;place-items:center;border:2px solid var(--border);font-size:clamp(1rem,calc(var(--boot-cell-size) * .55),1.75rem);font-weight:700}.boot-cell span{opacity:.3;animation:boot-letter 1.4s ease-in-out infinite;animation-delay:calc(var(--i) * .14s);transition:opacity .35s ease,color .35s ease}.boot[data-phase=game] .boot-cell:nth-child(-n+2){border-color:var(--correct);background:var(--correct)}.boot[data-phase=game] .boot-cell:nth-child(-n+2) span{opacity:1;color:#fff;animation:none;transform:scale(1)}.boot[data-phase=ready] .boot-cell{border-color:var(--correct);background:var(--correct)}.boot[data-phase=ready] .boot-cell span{opacity:1;color:#fff;animation:none;transform:scale(1)}.boot-progress{display:flex;gap:6px;width:min(160px,44vw)}.boot-step{flex:1;height:4px;border-radius:2px;background:var(--border);transition:background .4s ease,transform .3s ease}.boot-step.is-done{background:var(--correct)}.boot-step.is-active{background:var(--partial);animation:boot-step-pulse 1.1s ease-in-out infinite}.boot-message{margin:0;min-height:1.4em;color:var(--muted);font-size:clamp(.8rem,2.5vmin,.95rem);letter-spacing:.04em;text-transform:uppercase}.boot-message-text{display:inline-block;transition:opacity .12s ease,transform .12s ease}.boot-message-text.is-changing{opacity:0;transform:translateY(4px)}.boot-message-error{color:#ff6b6b;text-transform:none;letter-spacing:normal}@keyframes boot-letter{0%,to{opacity:.3;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}@keyframes boot-step-pulse{0%,to{opacity:.65;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.35)}}body.layout-compact .boot{--boot-cell-size: max( 20px, min(44px, calc((100vw - 32px - 4 * var(--gap)) / 5)) )}@media(max-height:520px){.boot-inner{gap:clamp(10px,3vmin,16px)}}body.mode-nerdle{--partial: #820458;--correct: #398874;--chrome: 220px;--cell-size: max( 18px, min( 48px, calc((100vh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 7 * var(--gap)) / 8) ) )}@supports (height: 100dvh){body.mode-nerdle{--cell-size: max( 18px, min( 48px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 7 * var(--gap)) / 8) ) )}}body.mode-nerdle.discord-embedded.discord-mobile:not(.layout-compact){--chrome: 240px;--cell-size: max( 18px, min( 42px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 7 * var(--gap)) / 8) ) )}body.mode-nerdle.discord-embedded.discord-mobile:not(.layout-compact) .keyboard{justify-self:stretch;width:100%;max-width:100%}body.mode-nerdle:not(.discord-mobile):not(.layout-compact){--chrome: 160px;--brand-cell-size: clamp(22px, calc(var(--cell-size) * .68), 44px);--cell-size: max( 18px, min( 56px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - max(48px, var(--sail) + var(--sair) + 24px) - 9 * var(--gap)) / 10), calc((100vw - max(48px, var(--sail) + var(--sair) + 24px) - 7 * var(--gap)) / 8) ) )}body.mode-nerdle.discord-embedded:not(.discord-mobile):not(.layout-compact){--chrome: 148px;--cell-size: max( 18px, min( 50px, calc((100dvh - var(--chrome) - 5 * var(--gap)) / 8.7), calc((100vw - 24px - 9 * var(--gap)) / 10) ) )}body.mode-nerdle:not(.discord-mobile):not(.layout-compact) #app{width:min(100%,calc(10 * var(--cell-size) + 9 * var(--gap) + 24px + var(--sail) + var(--sair)));grid-template-rows:auto auto auto auto auto;align-content:center;gap:clamp(4px,1.5vmin,12px);padding-top:max(clamp(12px,3vmin,24px),var(--sait));padding-bottom:max(clamp(12px,3vmin,24px),var(--saib))}body.mode-nerdle:not(.discord-mobile):not(.layout-compact) .grid{grid-row:3;margin-top:0;align-self:center;min-height:0}body.mode-nerdle:not(.discord-mobile):not(.layout-compact) .message{grid-row:4}body.mode-nerdle:not(.discord-mobile):not(.layout-compact) .keyboard{grid-row:5;flex-shrink:0;align-self:center}body.mode-nerdle .cell.editable{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.mode-nerdle .cell.active .cell-front{border-color:#cd8729}@media(hover:hover){body.mode-nerdle .cell.editable:not(.active):hover .cell-front{border-color:#818384}}body.mode-nerdle .cell-face{font-size:clamp(.65rem,calc(var(--cell-size) * .55),.95rem)}body.mode-nerdle:not(.discord-mobile):not(.layout-compact) .cell-face{font-size:clamp(.75rem,calc(var(--cell-size) * .55),1.35rem)}body.mode-nerdle .keyboard{--key-height: min(52px, calc(var(--cell-size) * .92));--key-min-width: 0}body.mode-nerdle:not(.discord-mobile) .keyboard{--nerdle-key-unit: var(--cell-size);--key-height: min(64px, calc(var(--cell-size) * .92));width:calc(10 * var(--nerdle-key-unit) + 9 * var(--gap));max-width:100%}body.mode-nerdle.discord-embedded.discord-mobile:not(.layout-compact) .kb-row .key,body.mode-nerdle:not(.discord-mobile) .kb-row .key{font-size:clamp(.65rem,calc(var(--cell-size) * .42),1.1rem)}body.mode-nerdle.discord-embedded.discord-mobile:not(.layout-compact) .kb-row .key{flex:1 1 0;min-width:0}body.mode-nerdle:not(.discord-mobile) .kb-row .key{flex:0 0 var(--nerdle-key-unit);width:var(--nerdle-key-unit);min-width:0}body.mode-nerdle:not(.discord-mobile) .kb-row:last-child .key.wide{flex:1 1 0;width:auto;max-width:none}body.layout-compact.mode-nerdle .boot{--boot-cell-size: max( 10px, min(36px, calc((100vw - 32px - 7 * var(--gap)) / 8)) )}body.mode-wordsearch #app{position:relative;grid-template-rows:auto auto minmax(0,1fr) auto}body.mode-wordsearch .message{position:absolute;left:50%;bottom:max(8px,var(--saib));transform:translate(-50%);z-index:10;grid-row:unset;grid-column:unset;min-height:0;margin:0;padding:6px 14px;border-radius:6px;background:#121213f0;box-shadow:0 2px 12px #00000073;pointer-events:none;white-space:nowrap}body.mode-wordsearch .message[hidden],body.mode-wordsearch .keyboard{display:none}body.mode-wordsearch .word-list{grid-row:4;display:grid;grid-template-columns:repeat(var(--ws-word-cols, 3),1fr);gap:5px 8px;width:100%;padding:6px 0 2px}body.mode-wordsearch .word-item{display:block;font-size:clamp(.68rem,2.4vmin,.82rem);font-weight:600;color:var(--text);letter-spacing:.03em;text-align:center;overflow:hidden;text-overflow:ellipsis}body.mode-wordsearch .word-item.found{color:var(--muted);text-decoration:line-through;opacity:.65}body.mode-wordsearch .grid.ws-grid{grid-row:3;display:grid;grid-template-columns:repeat(var(--ws-size, 12),var(--cell-size));grid-template-rows:repeat(var(--ws-size, 12),var(--cell-size));gap:var(--gap);min-height:auto;align-self:center;justify-self:center;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.ws-cell{width:var(--cell-size);height:var(--cell-size);display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:3px;background:var(--surface);font-size:clamp(.55rem,calc(var(--cell-size) * .52),.9rem);font-weight:700;position:relative}.ws-cell.selecting{background:#4a5568;border-color:#b5bac1}.ws-cell.daily-hint{outline:1px dashed var(--muted);outline-offset:-2px}.message.info{color:var(--text);background:#93c5fd26;border:1px solid rgba(147,197,253,.35)}.ws-cell.found-0{box-shadow:inset 0 0 0 999px #ff6b6b59}.ws-cell.found-1{box-shadow:inset 0 0 0 999px #ffc16b59}.ws-cell.found-2{box-shadow:inset 0 0 0 999px #ffeb6b59}.ws-cell.found-3{box-shadow:inset 0 0 0 999px #86efac59}.ws-cell.found-4{box-shadow:inset 0 0 0 999px #67e8f959}.ws-cell.found-5{box-shadow:inset 0 0 0 999px #93c5fd59}.ws-cell.found-6{box-shadow:inset 0 0 0 999px #c4b5fd59}.ws-cell.found-7{box-shadow:inset 0 0 0 999px #f9a8d459}.guild-player-ws-progress{font-size:.65rem;font-weight:700;color:var(--muted);padding:0 2px}body.layout-compact.mode-wordsearch .word-list{display:none}body.mode-wordsearch.discord-mobile:not(.layout-compact) #app{grid-template-rows:auto auto auto auto;gap:2px}body.mode-wordsearch.discord-mobile:not(.layout-compact) .grid.ws-grid{grid-row:3;margin-top:0;align-self:center}body.mode-wordsearch.discord-mobile:not(.layout-compact) .word-list{grid-row:4;padding:2px 0 max(36px,calc(var(--saib) + 28px));gap:3px 8px}body.mode-wordsearch.discord-embedded:not(.layout-compact) #app{padding-bottom:max(8px,var(--saib))}body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) #app{width:min(100%,clamp(680px,92vw,1020px));grid-template-columns:1fr auto auto 1fr;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:clamp(4px,1vmin,10px)}body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) .header,body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) .status{grid-column:1 / -1}body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) .grid.ws-grid{grid-row:3;grid-column:2;justify-self:end;align-self:start;margin-top:0}body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) .word-list{--ws-word-col-w: max(9.5ch, calc(var(--cell-size) * 2.75));--ws-word-col-gap: clamp(14px, calc(var(--cell-size) * .32), 22px);grid-row:3;grid-column:3;align-self:start;margin-top:0;width:max-content;max-width:calc(100vw - 48px);grid-template-columns:repeat(var(--ws-word-cols, 2),var(--ws-word-col-w));min-width:calc(var(--ws-word-cols, 2) * var(--ws-word-col-w) + (var(--ws-word-cols, 2) - 1) * var(--ws-word-col-gap));max-height:var(--ws-word-list-max-h, calc(100dvh - var(--chrome)));overflow-y:auto;overflow-x:visible;padding:0 clamp(8px,1vw,16px) 0 clamp(12px,calc(var(--cell-size) * .18),18px);gap:2px var(--ws-word-col-gap);scrollbar-width:thin}body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) .ws-cell{font-size:clamp(.45rem,calc(var(--cell-size) * .4),.68rem)}body.mode-wordsearch:not(.discord-mobile):not(.layout-compact) .word-item{text-align:left;font-size:clamp(.68rem,calc(var(--cell-size) * .38),.82rem);line-height:1.2;padding-inline:2px 4px;overflow:visible;text-overflow:unset;white-space:nowrap}body.mode-wordsearch.discord-mobile:not(.layout-compact){--chrome: 200px}body.mode-wordsearch{--chrome: 228px;--cell-size: max( 8px, min( 32px, calc((100dvh - var(--chrome) - 11 * var(--gap)) / 12), calc((100vw - 24px - 11 * var(--gap)) / 12) ) )}
