body:has(.solo-game),html:has(.solo-game){overflow:hidden;scrollbar-gutter:auto}.page-swap:has(.solo-game),.shell:has(.solo-game),.shell:has(.solo-game)>main{padding:0;gap:0;max-width:none}.solo-scroll{display:none}.solo-game{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;z-index:200;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:18px max(14px,calc((100vw - 1560px)/2));background:#191e24;color:#f0e9df;font-family:inherit}.solo-game *,.solo-game :after,.solo-game :before{box-sizing:border-box}.solo-header{justify-content:space-between;gap:16px}.solo-header,.solo-header h1{display:flex;align-items:center;min-width:0}.solo-header h1{gap:10px;margin:0;font-size:clamp(17px,2.5vw,25px);line-height:1.2}.solo-header h1 svg{width:32px;height:32px;flex:none}.solo-back{color:#f0e9df;text-decoration:none;font-weight:700;white-space:nowrap}.solo-stats{justify-content:space-around;gap:12px;padding:10px;border:1px solid #3b424d;border-radius:12px;background:#22272e}.solo-stats,.solo-stats>div{display:flex;align-items:center}.solo-stats>div{flex-direction:column;gap:3px}.solo-stats span{color:#b8c4d0;font-size:12px}.solo-stats strong{font-size:23px;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.solo-next>div{display:flex;gap:7px}.solo-next .solo-ball{width:25px;height:25px;font-size:10px}.solo-score strong{position:relative}.solo-score-gain{position:absolute;right:0;bottom:75%;z-index:2;color:#f4c570;font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000a;pointer-events:none;animation:solo-score-gain .9s ease-out forwards}@keyframes solo-score-gain{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}@keyframes solo-score-gain-side{0%{opacity:1;transform:translateY(4px)}to{opacity:0;transform:translateY(-8px)}}.solo-score-gain[data-still]{animation:none}@media (orientation:landscape) and (min-width:480px),not all and (pointer:coarse){.solo-score-gain{right:calc(100% + 8px);bottom:auto;top:0}.solo-score-gain:not([data-still]){animation-name:solo-score-gain-side}}@media (prefers-reduced-motion:reduce){.solo-score-gain:not([data-still]){animation-name:solo-fade}}.solo-stage{min-width:0;min-height:0;display:grid;place-items:center;padding:14px;border-radius:22px;border:0;container-type:size;background-color:#1f4b3c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(120% 95% at 50% 42%,#2a5e4b 0,#1f4b3c 55%,#14342a 100%);background-blend-mode:soft-light,normal;box-shadow:inset 0 0 0 1px rgb(255 255 255/14%),inset 0 12px 34px rgb(0 0 0/28%);isolation:isolate}.solo-lines{grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));grid-gap:3px;gap:3px;width:min(100cqw,100cqh);height:min(100cqw,100cqh)}.solo-cell,.solo-lines{position:relative;display:grid}.solo-cell{place-items:center;padding:4%;min-width:0;min-height:0;border:1px solid #8caf9d36;border-radius:8%;background:#162f2980;color:#fff;cursor:pointer}.solo-cell:disabled{opacity:1;cursor:default}.solo-cell[data-reachable]:before{content:"";width:12%;aspect-ratio:1;border-radius:50%;background:#e9c58d70}.solo-cell[data-selected]{outline:2px solid #e6bc65;outline-offset:-2px;background:#e6bc6528}.solo-ball{display:grid;place-items:center;width:87%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff9 0,transparent 42%),radial-gradient(circle at 40% 33%,var(--ball),color-mix(in srgb,var(--ball),#000 48%));border:1px solid #ffffff45;box-shadow:0 2px 3px #0006,inset 0 -2px 3px #0004;font-style:normal;font-size:clamp(9px,2.1cqmin,17px);color:white;font-weight:750;text-shadow:0 1px 2px #000b}.solo-ball[data-color="1"]{--ball:#e25264}.solo-ball[data-color="2"]{--ball:#4b8ee4}.solo-ball[data-color="3"]{--ball:#40a977}.solo-ball[data-color="4"]{--ball:#dfb44c}.solo-ball[data-color="5"]{--ball:#a66cdb}.solo-ball[data-color="6"]{--ball:#45bdd0}.solo-ball[data-color="7"]{--ball:#ef9149}.solo-cell:focus-visible{outline:3px solid #ffbdc7;outline-offset:-2px}.solo-ball svg{width:40%;height:40%;fill:#fff;opacity:.62;filter:drop-shadow(0 1px 1px #0007)}.solo-lines-gain{position:absolute;z-index:4;transform:translate(-50%,-50%);pointer-events:none;color:#ffe7a6;font-size:clamp(18px,6cqmin,34px);font-weight:800;text-shadow:0 2px 6px #000c;animation:solo-lines-gain 1.3s ease-out forwards}@keyframes solo-lines-gain{0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-120%) scale(1)}}.solo-notice{position:absolute;inset:0;z-index:5;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;margin:auto;padding:12px 20px;border:1px solid rgb(255 255 255/30%);border-radius:14px;background:rgb(30 30 36/95%);box-shadow:0 20px 50px rgb(0 0 0/35%);color:#fff;font-size:clamp(14px,4cqmin,18px);font-weight:600;white-space:nowrap;pointer-events:none;animation:solo-notice 2.2s ease both}@keyframes solo-notice{0%{opacity:0;transform:scale(.94)}8%,86%{opacity:1;transform:none}to{opacity:0}}.solo-lines-gain[data-still],.solo-notice[data-still]{animation:none}.solo-board-content:has(>.solo-notice){position:relative}.solo-board-content>.solo-notice{z-index:1000}@keyframes solo-fade{0%,to{opacity:0}10%,85%{opacity:1}}@media (prefers-reduced-motion:reduce){.solo-lines-gain,.solo-notice{animation-name:solo-fade}}.solo-controls{display:grid;grid-gap:9px;gap:9px;padding:0 0 env(safe-area-inset-bottom)}.solo-actions{display:flex;align-items:stretch;justify-content:center;gap:8px}.solo-dialog .solo-button,.solo-game .solo-button{min-height:42px;border:1px solid #596371;border-radius:9px;padding:9px 16px;background:#2b333d;color:#f5eeea;line-height:1.2;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.solo-dialog .solo-primary,.solo-game .solo-primary{background:#be374c;border-color:#df6174;color:#fff}.solo-game .solo-button:disabled{opacity:.5;cursor:default}.solo-button:focus-visible{outline:2px solid #f16f7d;outline-offset:2px}.solo-start{display:grid;justify-items:center;grid-gap:14px;gap:14px;max-width:420px;padding:20px;text-align:center}.solo-stage .solo-start{max-height:100%;overflow-y:auto;overscroll-behavior:contain}.solo-start>.game-mark,.solo-start>svg{width:70px;height:70px;object-fit:contain}.solo-start p{margin:0}.solo-dialog{width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 32px);margin:auto;border:1px solid #65727e;border-radius:14px;padding:20px;color:#f0e9df;background:#222a32;box-shadow:0 20px 70px #0008}.solo-dialog::-webkit-backdrop{background:#071015b8}.solo-dialog::backdrop{background:#071015b8}.solo-dialog[data-sbx]{position:fixed;inset:0;height:-moz-fit-content;height:fit-content;z-index:40}.solo-dialog-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.solo-dialog-heading h2{margin:0;font-size:20px}.solo-dialog p{font-size:14px;line-height:1.6;white-space:pre-line}.solo-help-sections{display:grid;grid-gap:18px;gap:18px;margin-top:20px}.solo-help-sections h3{margin:0 0 6px;font-size:15px;line-height:1.4}.solo-help-sections p{margin:0;color:#d0d5dd;overflow-wrap:anywhere}.solo-ranking{list-style:none;padding:0;display:grid;grid-gap:0;gap:0}.solo-ranking li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #ffffff16;font-size:14px}.solo-personal{display:flex;flex-wrap:wrap;gap:14px;padding:12px;background:#303c45;border-radius:8px;font-size:14px}.solo-muted{color:#aeb9c3}.solo-retry{justify-self:center;color:#ffc3cc;background:none;border:0;text-decoration:underline}.solo-ball-flight{position:absolute;z-index:3;width:calc((100% - 24px)/9 * .78);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.solo-ball-flight .solo-ball{width:100%;height:100%}.solo-ball[data-entering]{animation:solo-ball-appear .26s cubic-bezier(.18,.8,.35,1.35) backwards}.solo-ball-leaving .solo-ball{animation:solo-ball-disappear .28s ease-in forwards}.solo-cell[data-selected]:not(:disabled) .solo-ball:not([data-entering]){animation:solo-ball-ready .95s ease-in-out infinite}@keyframes solo-ball-appear{0%{opacity:0;transform:scale(.12) translateY(-12%)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes solo-ball-disappear{35%{transform:scale(1.16);filter:brightness(1.35)}to{opacity:0;transform:scale(.1)}}@keyframes solo-ball-ready{50%{transform:translateY(-8%)}}@media(prefers-reduced-motion:reduce){.solo-ball-leaving .solo-ball,.solo-ball[data-entering],.solo-cell[data-selected]:not(:disabled) .solo-ball{animation:none}.solo-ball-leaving{display:none}}@media (max-width:600px) and (pointer:coarse){.solo-game{gap:9px;padding:10px}.solo-back span{display:none}.solo-header{gap:8px}.solo-header h1 svg{width:24px;height:24px}.solo-header h1{gap:6px}.solo-stage,.solo-stats{padding:8px}.solo-actions{gap:5px}.solo-actions .solo-button{flex:1 1;min-width:0;font-size:12px;padding:9px 5px}.solo-header .solo-button{font-size:12px;padding:8px}}@media (max-height:500px) and (pointer:coarse){.solo-game{gap:5px;padding:6px 12px}.solo-stats{padding:4px}.solo-stats>div{flex-direction:row;gap:8px}.solo-stats strong{font-size:18px}.solo-controls{gap:4px}.solo-game .solo-button{min-height:32px;padding:6px 10px}.solo-stage{padding:5px}}@media (orientation:landscape) and (min-width:480px),not all and (pointer:coarse){.solo-game{--solo-safe-left:env(safe-area-inset-left,0px);--solo-safe-right:env(safe-area-inset-right,0px);--solo-safe-top:env(safe-area-inset-top,0px);--solo-safe-bottom:env(safe-area-inset-bottom,0px);left:var(--solo-safe-left);right:var(--solo-safe-right);top:var(--solo-safe-top);bottom:var(--solo-safe-bottom);width:calc(100vw - var(--solo-safe-left) - var(--solo-safe-right));height:calc(100dvh - var(--solo-safe-top) - var(--solo-safe-bottom));grid-template-columns:clamp(150px,22vw,220px) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);padding:12px;gap:12px}.solo-header{grid-column:1;grid-row:1;display:grid;grid-template-columns:1fr auto;grid-gap:16px 8px;gap:16px 8px}.solo-back{font-size:13px}.solo-back span{display:inline}.solo-header h1{grid-column:1/-1;grid-row:2;font-size:20px;line-height:1.3;align-items:flex-start}.solo-header h1 svg{width:26px;height:26px}.solo-game .solo-header .solo-button{font-size:12px;padding:8px;min-height:34px}.solo-stats{grid-column:1;grid-row:2;display:grid;grid-gap:14px;gap:14px;padding:14px 10px;justify-content:stretch}.solo-stats>div{flex-direction:row;justify-content:space-between;gap:8px}.solo-stats strong{font-size:21px}.solo-stage{grid-column:2;grid-row:1/-1}.solo-controls{grid-column:1;grid-row:3;align-content:end;gap:12px;padding-bottom:0}.solo-actions{display:grid;grid-template-columns:1fr}.solo-actions .solo-button{min-width:0;padding:10px 6px}}@media (orientation:landscape) and (max-height:600px) and (min-width:480px) and (pointer:coarse){.solo-game{padding:8px;gap:8px}.solo-header{gap:6px}.solo-header h1{font-size:16px;gap:6px}.solo-header h1 svg{width:22px;height:22px}.solo-stats{gap:5px;padding:6px}.solo-stats strong{font-size:17px}.solo-stats span{font-size:11px}.solo-next>div{gap:3px}.solo-next .solo-ball{width:19px;height:19px;font-size:9px}.solo-controls{gap:6px}.solo-actions{grid-template-columns:1fr 1fr;gap:5px}.solo-game .solo-actions .solo-button{padding:7px 3px;min-height:33px;font-size:11px}}@media (max-height:719.98px) and (pointer:coarse),(max-width:1179.98px) and (pointer:coarse){@media (orientation:landscape) and (pointer:coarse){body:has(.solo-game),html:has(.solo-game){overflow-x:hidden;overflow-y:auto;height:auto;scrollbar-width:none}body:has(.solo-game)::-webkit-scrollbar,html:has(.solo-game)::-webkit-scrollbar{display:none}.solo-scroll{display:block}.solo-scroll .scroll-strip{z-index:201;right:env(safe-area-inset-right,0);top:env(safe-area-inset-top,0);bottom:env(safe-area-inset-bottom,0)}.solo-game[data-strip=true]{width:calc(100vw - var(--solo-safe-left) - var(--solo-safe-right) - 30px);right:calc(var(--solo-safe-right) + 30px)}}}@media (orientation:portrait) and (pointer:coarse) and (max-width:600px){.solo-game:not([data-solo=crosswords]):not(:has(.minesweeper-board[data-rotated=true],.nonogram-scroll:not([data-size="5"]))){grid-template-rows:auto auto auto auto minmax(0,1fr)}@media (min-height:700px){html:has(.solo-hero) .solo-game:not([data-solo=crosswords]):not(:has(.minesweeper-board[data-rotated=true],.nonogram-scroll:not([data-size="5"]))){grid-template-rows:auto auto auto minmax(0,1fr)}}.solo-game:not([data-solo=crosswords]):not(:has(.minesweeper-board[data-rotated=true],.nonogram-scroll:not([data-size="5"]))) .solo-stage{aspect-ratio:1/1;align-self:start}.solo-game[data-solo=minesweeper] .solo-start--minesweeper{gap:10px;padding:8px}.solo-game[data-solo=minesweeper] .minesweeper-modes{gap:8px;margin:4px 0}html .solo-game[data-solo=minesweeper] .minesweeper-modes .solo-button{min-height:60px;padding:8px}}.mahjong-layout-picker{width:100%;display:grid;grid-gap:10px;gap:10px;min-width:0;min-height:0}.mahjong-layout-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;min-width:0}.mahjong-layout-choice{border:1px solid #68766f;background:#203d33;border-radius:8px;color:#eee9dc;font:inherit;font-size:13px;min-width:0;min-height:42px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px}.mahjong-layout-choice[aria-pressed=true]{border-color:#f0b975;box-shadow:inset 0 0 0 1px #f0b975;background:#355044}.mahjong-layout-choice span{display:grid;align-items:center;min-height:2.5em;line-height:1.25;text-align:center;overflow-wrap:anywhere}.mahjong-layout-preview{width:100%;height:clamp(58px,15vh,140px);display:block}.mahjong-layout-choice:focus-visible{outline:2px solid #ed8494;outline-offset:2px}.mahjong-layout-choice:disabled{opacity:.5;cursor:default}.solo-game .solo-start--mahjong{width:min(100%,760px);max-width:760px;min-height:0;gap:12px;padding:4px}.solo-start--mahjong .mahjong-layout-picker{flex:1 1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.solo-start--mahjong .mahjong-layout-preview{height:clamp(40px,9vh,78px)}.solo-start--mahjong .solo-button{min-width:140px}.solo-game .solo-layout-record{min-width:0;text-align:center}.solo-layout-record small{max-width:140px;font-size:11px;line-height:1.15;color:#d7c9b3}.solo-dialog .mahjong-layout-picker{margin:14px 0}.solo-dialog .mahjong-layout-preview{max-height:100px}.solo-dialog[data-panel=ranking]{width:min(560px,calc(100vw - 28px));height:min(660px,calc(100dvh - 32px));scrollbar-gutter:stable;overflow-y:auto}.solo-dialog[data-panel=ranking] .solo-dialog-heading{position:-webkit-sticky;position:sticky;top:-20px;z-index:1;padding:8px 0;background:#222a32}.solo-dialog[data-panel=ranking] .solo-ranking{min-height:90px;align-content:start}.solo-dialog .solo-ranking-state{min-height:2.8em}@media (max-width:480px) and (pointer:coarse){.mahjong-layout-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.mahjong-layout-choice{padding:8px 4px;font-size:12px;gap:4px}.mahjong-layout-preview{height:85px}}@media (max-height:500px) and (orientation:landscape) and (pointer:coarse){.solo-game .solo-start--mahjong{gap:8px}.solo-start--mahjong .mahjong-layout-preview{height:clamp(42px,20vh,90px)}.solo-start--mahjong .mahjong-layout-choice{padding:5px;gap:3px}.solo-start--mahjong .mahjong-layout-picker{gap:6px}}