:root{color-scheme:dark;--color-page-top: #1c1830;--color-page-bottom: #0d0b18;--color-surface: var(--color-page-top);--color-panel: var(--color-page-bottom);--color-line: #2c2745;--color-text: #f1eefa;--color-text-muted: #a69fc2;--color-error: #ff7a6b;--color-you: #6f98ff;--color-you-fill: #3460d6;--color-opp: #ff6b8a;--color-opp-fill: #c0335a;--color-tile-1: #3a3452;--color-tile-2: #29243d;--color-key-1: #443d5f;--color-key-2: #332d4a;--color-correct-1: #2bb67c;--color-correct-2: #18704b;--color-partial-1: #d99a1e;--color-partial-2: #875c0c;--color-wrong-1: #262139;--color-wrong-2: #1e1a2e;--color-wrong-text: #6f6890;--font-family: "Archivo", sans-serif;--font-stretch-wide: 118%;--font-stretch-tile: 108%;--header-width: 800px;--header-height: 60px;--main-width: 1200px;--main-padding: 0 5px}:root.high-contrast{--color-correct-1: #e0661c;--color-correct-2: #9c4210;--color-partial-1: #3d8fdb;--color-partial-2: #1f5f9e}*,*:before,*:after{box-sizing:border-box;margin:0}html{background-color:var(--color-page-bottom)}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-page-bottom);background-image:linear-gradient(to bottom,var(--color-page-top),var(--color-page-bottom));line-height:1.2;min-height:100vh;font-size:16px}a,a:visited{color:var(--color-text)}button{all:unset;box-sizing:border-box;cursor:pointer}button:focus-visible{outline:revert}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.winner-pop{animation:winner-pop .4s ease-out}@keyframes winner-pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.winner-pop{animation:none}}img{max-width:100%;height:auto}#app{display:block}@property --bg1{syntax: "<color>"; inherits: false; initial-value: #000;}@property --bg2{syntax: "<color>"; inherits: false; initial-value: #000;}.main-header{--header-gap: clamp(8px, 2.5vw, 16px);position:fixed;width:100%;z-index:9999;padding:var(--main-padding);background-color:var(--color-surface);border-bottom:2px solid;border-image:linear-gradient(to right,var(--color-you),var(--color-opp)) 1}.header-content,.header-start,.header-end{display:flex;align-items:center;gap:var(--header-gap)}.header-content{justify-content:space-between;max-width:var(--header-width);min-height:58px;margin:0 auto;white-space:nowrap}.header-title{font-size:clamp(18px,5.2vw,24px);font-weight:850;font-stretch:var(--font-stretch-wide);line-height:1}@supports (background-clip: text){.header-title{background-image:radial-gradient(var(--color-text) 30%,var(--color-surface));-webkit-background-clip:text;background-clip:text;color:transparent}}.header-icon{display:flex;width:30px;height:30px;color:var(--color-text)}.header-icon svg{width:100%;height:100%}.header-new{display:flex;align-items:center;gap:4px;height:30px;padding:0 12px 0 8px;border:2px solid var(--color-line);border-radius:999px;font-size:13px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;transition:border-color .2s}.header-new svg{width:16px;height:16px}.header-new:hover{border-color:var(--color-you)}.header-timer{display:flex;align-items:center;gap:6px;font-weight:700;line-height:1}.timer-label{font-size:clamp(11px,3.2vw,13px);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.timer-time{font-size:clamp(18px,5vw,22px);font-variant-numeric:tabular-nums}.over .timer-time{color:var(--color-text-muted)}.urgent .timer-time{color:var(--color-error);animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){.urgent .timer-time{animation:none}}.word-row{display:flex;justify-content:center;align-items:center;margin:8px 0}.word-row.shake{animation:shake .4s}.word-char{display:flex;justify-content:center;align-items:center;width:60px;height:60px;margin:0 4px;-webkit-user-select:none;user-select:none;background-color:var(--color-tile-1);font-size:32px;font-weight:800;font-stretch:var(--font-stretch-tile);line-height:1;border-radius:2px;animation-duration:.4s;animation-fill-mode:forwards;--bg1: var(--color-tile-1);--bg2: var(--color-tile-2);background-image:linear-gradient(to bottom,var(--bg1),var(--bg2))}.word-char.typed{box-shadow:inset 0 0 0 2px var(--color-you)}.game-opponent .word-row{margin:4px 0}.game-opponent .word-char{width:30px;height:30px;margin:0 2px;font-size:24px}.word-row.flip .word-char.char-correct{animation-name:flip,flip-correct}.word-row.flip .word-char.char-partial{animation-name:flip,flip-partial}.word-row.flip .word-char.char-wrong{animation-name:flip,flip-wrong}.word-row.flip .word-char:nth-child(1),.word-row.winner .word-char:nth-child(1){animation-delay:0ms}.word-row.flip .word-char:nth-child(2),.word-row.winner .word-char:nth-child(2){animation-delay:.2s}.word-row.flip .word-char:nth-child(3),.word-row.winner .word-char:nth-child(3){animation-delay:.4s}.word-row.flip .word-char:nth-child(4),.word-row.winner .word-char:nth-child(4){animation-delay:.6s}.word-row.flip .word-char:nth-child(5),.word-row.winner .word-char:nth-child(5){animation-delay:.8s}.word-row.winner .word-char{animation-name:bounce!important;animation-duration:.8s;--bg1: var(--color-correct-1);--bg2: var(--color-correct-2)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}@keyframes bounce{0%{transform:translateY(0)}20%{transform:translateY(-30%)}40%{transform:translateY(0)}55%{transform:translateY(-15%)}70%{transform:translateY(0)}85%{transform:translateY(-6%)}to{transform:translateY(0)}}@keyframes flip-correct{0%,50%{--bg1: var(--color-tile-1);--bg2: var(--color-tile-2)}to{--bg1: var(--color-correct-1);--bg2: var(--color-correct-2)}}@keyframes flip-partial{0%,50%{--bg1: var(--color-tile-1);--bg2: var(--color-tile-2)}to{--bg1: var(--color-partial-1);--bg2: var(--color-partial-2)}}@keyframes flip-wrong{0%,50%{--bg1: var(--color-tile-1);--bg2: var(--color-tile-2)}to{--bg1: var(--color-wrong-1);--bg2: var(--color-wrong-2)}}.game-grid{max-width:420px;margin:20px auto 10px}.keyboard-wrapper{margin:10px auto}.key-row{display:flex;justify-content:center;align-items:center;margin:10px 0;gap:5px}.key-row.short-row{padding:0 5%}.key-button{display:flex;justify-content:center;align-items:center;flex:1 1 0;width:100%;max-width:45px;height:55px;font-size:26px;font-weight:600;font-stretch:var(--font-stretch-tile);line-height:1;border-radius:8px;background-color:var(--color-key-1);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;--bg1: var(--color-key-1);--bg2: var(--color-key-2);background-image:linear-gradient(to bottom,var(--bg1),var(--bg2));transition-property:--bg1,--bg2,color;transition-duration:.4s;transition-delay:1s}.key-button.char-correct{--bg1: var(--color-correct-1);--bg2: var(--color-correct-2)}.key-button.char-partial{--bg1: var(--color-partial-1);--bg2: var(--color-partial-2)}.key-button.char-wrong{--bg1: var(--color-wrong-1);--bg2: var(--color-wrong-2);color:var(--color-wrong-text)}.key-icon{max-width:80px;flex-grow:1.55}.key-icon svg{width:30px}.key-row.switch .key-icon:first-child{order:2}.key-row.switch .key-icon:last-child{order:-1}@media(max-width:390px){.key-row{gap:3px}.key-button{height:44px;font-size:22px}}.game-player{width:100%;max-width:520px;flex-shrink:0}.game-message{margin:10px 0;text-align:center;height:28px;font-size:22px}.game-message .message-text{display:inline-block;opacity:0}.game-message .show-game-message{animation:show 1s forwards}.game-message .error-message{color:var(--color-error)}.game-message .delay-message{animation-delay:1.2s}@keyframes show{0%{opacity:0;transform:scale(1)}66%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.game-turns-info{display:flex;justify-content:center;align-items:center;gap:12px;max-width:420px;margin:10px auto 20px}.game-turns-info .turn-player{flex:1 1 0;min-width:0;display:flex;justify-content:center;padding:8px 12px;border:2px solid var(--color-line);border-radius:8px;transition:background-color .3s,border-color .3s,color .3s}.game-turns-info .turn-player.active,.game-turns-info .turn-player.winner{color:var(--color-text)}.game-turns-info .turn-you{color:var(--color-you)}.game-turns-info .turn-you.active,.game-turns-info .turn-you.winner{background-color:var(--color-you-fill);border-color:var(--color-you)}.game-turns-info .turn-opp{color:var(--color-opp)}.game-turns-info .turn-opp.active,.game-turns-info .turn-opp.winner{background-color:var(--color-opp-fill);border-color:var(--color-opp)}.game-turns-info .turn-crown{flex-shrink:0;margin:0 4px 0 0;font-size:18px}.game-turns-info .turn-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700}.game-turns-info .turn-vs{font-size:13px;font-weight:700;text-transform:uppercase;color:var(--color-text-muted)}.game-opponent{padding-left:10px;border-left:2px solid var(--color-opp)}.game-opponent .game-grid{margin:8px 0 0}.opponent-info{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:16px;color:var(--color-opp)}.opponent-info .opponent-name{display:inline-flex;align-items:center;padding:2px 8px;border:2px solid transparent;border-radius:8px;transition:background-color .3s,border-color .3s,color .3s}.opponent-info .opponent-name.winner{color:var(--color-text);border-color:var(--color-opp);background-color:var(--color-opp-fill)}.opponent-info .opponent-crown{margin:0 4px 0 0}.opponent-info .opponent-round-score{color:var(--color-text)}.opponent-info .opponent-round-score.zero{color:var(--color-text-muted)}.game-race{display:flex;justify-content:space-evenly;align-items:flex-start;flex-direction:column;gap:30px}@media(max-width:800px){.game-race{flex-direction:initial;flex-wrap:wrap}}.race-you{display:flex;justify-content:center;margin:0 0 8px;font-weight:700;font-size:18px;color:var(--color-you)}.race-you .race-name{display:inline-flex;align-items:center;max-width:100%;padding:2px 10px;border:2px solid transparent;border-radius:8px;transition:background-color .3s,border-color .3s,color .3s}.race-you .race-name.winner{color:var(--color-text);border-color:var(--color-you);background-color:var(--color-you-fill)}.race-you .race-crown{margin:0 4px 0 0}.points-you{margin:0 0 8px;text-align:center;font-weight:700;font-size:18px;color:var(--color-you)}.points-you .points-round-score{display:inline-block;margin:0 0 0 6px;color:var(--color-text)}.points-you .points-round-score.zero{color:var(--color-text-muted)}.points-you .points-breakdown{min-height:20px;font-size:14px;font-weight:400;color:var(--color-text-muted)}.points-you .points-breakdown span{display:inline-block}.points-scoreboard{width:100%;border:2px solid var(--color-line);margin:0 0 20px;padding:10px}.points-scoreboard .points-header{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 10px}.points-scoreboard .points-title{font-size:26px}.points-scoreboard .points-info-button{display:flex;justify-content:center;align-items:center;width:24px;height:24px;border:2px solid var(--color-line);border-radius:50%;font-size:14px;font-weight:700;line-height:1;transition:border-color .2s,background-color .2s}.points-scoreboard .points-info-button:hover{border-color:var(--color-you)}.points-scoreboard .points-info-button.active{border-color:var(--color-you);background-color:var(--color-you-fill)}.points-scoreboard .points-info{display:flex;flex-direction:column;gap:8px;margin:0 0 10px;padding:12px;border-radius:8px;background-color:var(--color-panel);font-size:15px;text-align:center}.points-scoreboard .points-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.points-scoreboard .points-table th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.points-scoreboard .points-table td{font-weight:700}.points-scoreboard .points-table th,.points-scoreboard .points-table td{padding:4px}.points-scoreboard .points-round{text-align:center;margin:10px 0}.points-scoreboard .points-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.points-scoreboard .points-list{list-style-type:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.points-scoreboard .points-list li{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;padding:4px 6px;border:2px solid transparent;border-radius:8px;color:var(--color-opp);transition:background-color .3s,border-color .3s,color .3s}.points-scoreboard .points-list li.player-points{font-weight:700;color:var(--color-you)}.points-scoreboard .points-list li.points-winner{font-weight:700;color:var(--color-text);border-color:var(--color-opp);background-color:var(--color-opp-fill)}.points-scoreboard .points-list li.points-winner.player-points{border-color:var(--color-you);background-color:var(--color-you-fill)}.points-scoreboard .points-list .points-score{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.points-scoreboard .points-list .points-crown{margin:0 2px 0 0}@media(max-width:500px){.points-scoreboard .points-list li{flex:0 1 calc(25% - 4.5px)}}.points-info-enter-active,.points-info-leave-active{transition:opacity .2s,transform .2s}.points-info-enter-from,.points-info-leave-to{opacity:0;transform:translateY(-6px)}@media(prefers-reduced-motion:reduce){.points-info-enter-active,.points-info-leave-active{transition:none}}.points-boards{display:flex;justify-content:space-evenly;align-items:flex-start;flex-wrap:wrap;gap:30px}.main-games{max-width:var(--main-width);margin:0 auto;padding:calc(var(--header-height) + 20px) 5px 20px;display:flex;justify-content:space-evenly;align-items:flex-start}.main-games .loading-game{margin:50px 0;text-align:center;font-size:42px;font-weight:700}@media(max-width:800px){.main-games{flex-wrap:wrap;gap:20px}}.game-select{width:100%;padding:10px;margin:20px 0;border:2px solid var(--color-line);border-radius:8px;text-align:center}.game-select .game-select-name{display:block;font-size:28px;font-weight:800;font-stretch:var(--font-stretch-wide);margin:10px 0}.game-select .game-select-text{display:block;margin:10px 0;font-size:20px}.game-select .game-select-text strong{font-weight:700}.game-select:hover{border-color:var(--color-you)}.game-select.game-current{background-color:var(--color-you-fill);border-color:var(--color-you-fill)}.how-menu p{text-align:center;font-size:20px;margin:10px 0}.how-menu .word-row{margin:10px 0 20px}.how-menu .word-row.flip .word-char,.how-menu .word-row.won .word-char{animation-duration:0ms;animation-delay:0ms}.stats-type-menu{display:flex;justify-content:space-between;align-items:center;margin:0 auto 20px;max-width:400px}.stats-type-menu>button{padding:10px;text-transform:capitalize;font-size:20px;font-weight:700;transition:all .3s ease;border-radius:4px}.stats-type-menu>button.active{background-color:var(--color-you-fill)}.stats-list{margin:20px auto;max-width:400px}.stats-list p{font-size:24px;margin:0 0 10px}.stats-guess-list{list-style-type:none;display:block;padding:0;margin:20px 0}.stats-guess-list li{display:flex;justify-content:flex-start;align-items:center;font-size:24px}.stats-guess-list li .stats-guess-index{margin-right:10px;width:30px;text-align:center}.stats-guess-list li .stats-guess-percent{margin:10px 0;background-image:linear-gradient(to bottom,var(--color-tile-1),var(--color-tile-2));width:100%;border-radius:6px}.stats-guess-list li .stats-guess-percent span{display:inline-block;width:0%;background-image:linear-gradient(to bottom,var(--color-correct-1),var(--color-correct-2));text-align:right;padding:10px 0;border-radius:6px;font-weight:700}.stats-clear{max-width:400px;margin:10px auto}.stats-clear>button{display:inline-block;border:1px solid;border-radius:8px;padding:10px}.settings-menu{max-width:400px;margin:0 auto}.toggle-button{display:flex;justify-content:space-between;align-items:center;width:100%;margin:20px 0;text-align:center}.toggle-button .toggle-button-name{font-size:18px;font-weight:700}.toggle-button .toggle-button-slide{width:50px;height:30px;padding:0 5px;border-radius:30px;background-image:linear-gradient(to bottom,var(--color-tile-2),var(--color-tile-1));position:relative;display:flex;justify-content:flex-start;align-items:center}.toggle-button .toggle-button-slide .slider{display:block;width:20px;height:20px;border-radius:50%;--bg1: var(--color-page-top);--bg2: var(--color-page-bottom);background-image:linear-gradient(to bottom,var(--bg1),var(--bg2));transition:--bg1,--bg2,transform;transition-duration:.4s}.toggle-button .toggle-button-slide.active .slider{transform:translate(100%);--bg1: var(--color-you);--bg2: var(--color-you-fill)}.main-menus{position:fixed;width:100%;height:calc(100vh - var(--header-height));top:var(--header-height);padding:var(--main-padding);display:flex;justify-content:center;align-items:flex-start;overflow-y:scroll;z-index:999}.main-menus-close{position:absolute;font-weight:700;top:0;right:0;padding:20px;font-size:28px}.main-menus-menu{position:relative;width:100%;max-width:var(--main-width);min-height:calc(100vh - var(--header-height));padding:20px;border-radius:12px;background-color:var(--color-panel);border:1px solid var(--color-line)}.main-menus-menu:focus{outline:none}.main-menus-tabs{display:flex;flex-wrap:wrap;gap:4px 20px;margin-right:50px}.main-menus-tabs>button{padding:8px 0;font-size:18px;font-weight:700;color:var(--color-text-muted);border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.main-menus-tabs>button:hover{color:var(--color-text)}.main-menus-tabs>button.active{color:var(--color-text);border-bottom-color:var(--color-you)}.main-menus-title{font-size:32px;font-weight:800;font-stretch:var(--font-stretch-wide);text-align:center;margin:20px 0}.slide-enter-active,.slide-leave-active{transition:all .3s}.slide-enter-from,.slide-leave-to{transform:translateY(-100%);opacity:0}.page-wrapper{position:relative}
