:root{color-scheme:light;--page:#ffffff;--surface:#ffffff;--card:#f7f7f7;--field:#ffffff;--raised:#eeeeee;--text:#1a1c1f;--muted:#6b6b6b;--border:#e3e3e3;--blue:#4267e8;--blue-deep:#4267e8;--soft:#edf1ff;--shadow:0 4px 20px #00000006;--game-green:#176047;--danger:#c2393f;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-synthesis:none;background:var(--page);color:var(--text)}:root[data-theme=dark]{color-scheme:dark;--page:#181818;--surface:#181818;--card:#222222;--field:#292929;--raised:#2b2b2b;--text:#ededed;--muted:#a3a3a3;--border:#363636;--blue:#90aaff;--blue-deep:#4267e8;--soft:#2a2d38;--shadow:none;--game-green:#124831;--danger:#ff9199 }*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--page);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,select:focus-visible,.sudoku-cell:focus-visible{outline:3px solid #7a9fff;outline-offset:3px;z-index:15}h1,h2,h3,p{margin:0}p{line-height:1.55;color:var(--muted)}h1{font-size:clamp(1.6rem,2.5vw,2.2rem);letter-spacing:-.04em}h2{font-size:1.2rem;letter-spacing:-.02em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.initial-loader{display:grid;place-items:center;height:100dvh;font-weight:800;color:var(--blue)}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);background:var(--surface)}.header-inner{max-width:1560px;margin:0 auto;padding:0 24px;min-height:60px;display:flex;align-items:center;gap:25px}.brand-group{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-symbol{height:34px;width:34px;background:var(--blue-deep);border-radius:9px;color:#fff!important;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:9px;line-height:1.06;font-weight:900;letter-spacing:-.02em}.brand-symbol:hover{text-decoration:none;opacity:.94}.service-title{font-size:1.3rem;font-weight:790;letter-spacing:-.045em;color:var(--text)}.service-title:hover{text-decoration:none;color:var(--blue)}.primary-nav{display:flex;align-items:center;gap:18px;min-width:0;white-space:nowrap}.primary-nav a{color:var(--muted);font-size:.81rem;font-weight:650}.primary-nav a:hover,.primary-nav .active-nav{color:var(--blue);text-decoration:none}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;position:relative}.header-actions select{border:1px solid var(--border);background:var(--field);color:var(--text);border-radius:8px;padding:9px 10px;min-width:108px;max-width:150px;min-height:40px;font-size:.81rem}.icon-button{border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);height:40px;width:40px;display:grid;place-items:center;flex-shrink:0}.icon-button:hover{background:var(--soft);color:var(--blue)}.menu-panel{position:absolute;right:0;top:51px;z-index:60;width:250px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 14px 35px #0002;display:flex;flex-direction:column;gap:3px}.menu-panel a{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.84rem;padding:11px 12px;border-radius:8px;min-height:43px}.menu-panel a:hover{background:var(--soft);text-decoration:none}.menu-divider{border-top:1px solid var(--border);margin:6px 5px}.site-layout{max-width:1560px;margin:0 auto;min-height:calc(100dvh - 123px);padding:24px 24px 54px}.site-layout.page-with-ad{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.site-main{min-width:0}.desktop-ad{width:300px;position:sticky;top:84px;min-height:300px;padding:12px 0;background:var(--card);border:1px solid var(--border);border-radius:11px;text-align:center}.desktop-ad small{display:block;margin:0 0 8px;color:var(--muted);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.home-intro{margin:0 0 28px;padding:20px 0 18px;border-bottom:1px solid var(--border)}.intro-label{display:flex;align-items:center;gap:7px;font-size:.79rem;font-weight:750;color:var(--blue);margin-bottom:12px}.home-intro h1{margin:0 0 9px}.home-intro p{font-size:.92rem}.intro-badges{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:17px}.intro-badges span{font-size:.76rem;color:var(--muted);display:flex;gap:6px;align-items:center}.intro-badges svg{color:var(--blue)}.home-section{margin:29px 0 33px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.section-title span{font-size:.77rem;color:var(--muted)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-tile{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--card);color:var(--text);transition:border-color .2s,transform .2s,box-shadow .2s}.game-tile:hover{border-color:var(--blue);transform:translateY(-2px);text-decoration:none;box-shadow:0 10px 24px #0000000c}.tile-graphic{height:145px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;background:linear-gradient(140deg,#15533f,#267656)}.graphic-spider-solitaire{background:linear-gradient(140deg,#253c69,#4474b0)}.graphic-freecell{background:linear-gradient(140deg,#475187,#4d7299)}.graphic-sudoku{background:linear-gradient(140deg,#394d8d,#6577b6)}.graphic-minesweeper{background:linear-gradient(140deg,#244a77,#4f8eac)}.tile-card-face{height:103px;width:74px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;background:#fff;border-radius:8px;color:#232a37;box-shadow:0 6px 18px #0003;transform:rotate(-7deg)}.graphic-freecell .tile-card-face{color:#ce3f49}.graphic-spider-solitaire .tile-card-face:first-child{transform:translate(18px) rotate(-13deg)}.graphic-spider-solitaire .small-face{transform:translate(-13px) rotate(12deg)}.tile-sudoku,.tile-mines{font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.3;white-space:pre;text-align:center;letter-spacing:.3rem;color:#fff;font-weight:700}.tile-content{padding:15px 17px 16px;display:flex;flex-direction:column;gap:7px}.tile-content h3{font-size:1.02rem;margin:0}.tile-content p{font-size:.79rem;line-height:1.45;min-height:0}.tile-link{margin-top:3px;display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:750;font-size:.79rem}.about-snippet{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:20px}.about-snippet h2{display:flex;align-items:center;gap:9px;margin-bottom:7px}.about-snippet h2 svg{color:var(--blue)}.about-snippet p{font-size:.84rem}.breadcrumbs{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem;margin:0 0 23px}.breadcrumbs a{color:var(--muted)}.game-heading{display:flex;gap:15px;align-items:center;margin-bottom:17px}.game-heading h1{margin:0 0 6px}.game-heading p{font-size:.84rem}.icon-square{width:58px;height:58px;flex:0 0 58px;border-radius:13px;background:var(--soft);display:grid;place-items:center;color:var(--blue)}.mode-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:13px}.mode-switch>button{border-radius:100px;border:1px solid var(--border);background:var(--card);padding:10px 14px;font-size:.78rem;display:inline-flex;align-items:center;gap:6px;color:var(--muted);min-height:40px}.mode-switch>button.selected-mode{color:#fff;background:var(--blue-deep);border-color:var(--blue-deep);font-weight:700}.mode-switch label{margin-left:auto;color:var(--muted);font-size:.77rem;display:flex;align-items:center;gap:7px}.mode-switch select{background:var(--field);color:var(--text);border:1px solid var(--border);padding:9px;border-radius:8px;min-height:40px}.game-session{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:19px;min-width:0}.game-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:15px}.game-toolbar button,.win-banner button,.erase-button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.78rem;font-weight:650;padding:9px 12px;min-height:40px}.game-toolbar button:hover,.erase-button:hover{background:var(--soft)}.game-toolbar button.primary,.win-banner button.primary{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}.game-toolbar button.active-toggle{border-color:var(--blue);color:var(--blue);background:var(--soft)}.game-metrics{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.78rem;margin-bottom:17px}.game-metrics span{display:inline-flex;align-items:center;gap:5px}.game-metrics strong{color:var(--text);font-variant-numeric:tabular-nums}.metric-private{margin-left:auto;color:var(--blue)}.game-feedback{padding:10px 12px;border-radius:8px;background:var(--soft);color:var(--blue);font-size:.82rem;margin-bottom:12px}.cards-scroll,.mine-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.card-board{--card-width:clamp(57px,6.6vw,77px);--card-height:calc(var(--card-width) * 1.4);background:var(--game-green);border-radius:12px;min-height:470px;padding:18px 15px 26px;color:#fff;direction:ltr}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:17px;min-height:calc(var(--card-height) + 24px);margin-bottom:22px}.stock-area{display:flex;align-items:flex-start;gap:11px}.stock-card,.playing-card,.empty-card-slot{width:var(--card-width);height:var(--card-height);min-width:var(--card-width);border-radius:7px;position:relative;padding:0}.stock-card,.face-down{background:repeating-linear-gradient(45deg,#3e61bd 0 5px,#6380cb 5px 10px);border:3px solid white;color:#fff;box-shadow:0 2px 4px #0002}.stock-card{font-size:1.85rem;font-weight:800}.stock-card span{position:absolute;bottom:2px;right:3px;color:#fff;font-size:.66rem;text-shadow:0 1px 2px #000}.stock-empty{background:#ffffff16;border:2px dashed #ffffff80}.playing-card{display:flex;align-items:center;justify-content:center;background:#fff;color:#202632;border:1px solid #b9c4ca;box-shadow:0 2px 4px #0002;text-align:left}.playing-card.red-card{color:#d32d42}.playing-card.black-card{color:#1d242b}.playing-card.selected-card{outline:3px solid #ffd966;outline-offset:1px;z-index:2}.playing-card.face-down{color:#fff}.card-corner{position:absolute;top:4px;left:5px;display:flex;align-items:flex-start;flex-direction:column;font-weight:800;font-size:clamp(.66rem,1.4vw,.92rem);line-height:1}.card-corner small{font-size:.9em;line-height:1.15}.card-suit{font-size:clamp(1.3rem,3vw,2rem)}.card-bottom{position:absolute;bottom:4px;right:4px;font-size:.66rem;font-weight:700;transform:rotate(180deg)}.card-back-symbol{font-size:1.5rem;text-shadow:0 1px 2px #0005}.empty-card-slot{border:2px dashed #ffffff55;background:#ffffff17;color:#ffffffa8;font-size:1.55rem;display:grid;place-items:center}.static-slot{border-style:solid}.card-slot{position:relative;min-width:var(--card-width);min-height:var(--card-height)}.cell-group{display:flex;gap:8px}.foundations{margin-left:auto}.tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;justify-items:center;min-width:0}.tableau-column{width:var(--card-width);position:relative}.tableau-column>.playing-card{position:absolute;left:0}.tableau-column .tableau-empty{position:absolute;top:0;left:0}.freecell-board{min-width:660px}.freecell-board .tableau{grid-template-columns:repeat(8,minmax(0,1fr))}.spider-board{--card-width:61px;--card-height:86px;min-width:780px}.spider-board .tableau{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.spider-completed{display:flex;align-items:center;gap:5px;font-size:.85rem;margin-left:auto;padding-top:9px}.spider-completed span{opacity:.33;font-size:1.3rem}.spider-completed span.done-set{opacity:1;color:#ffdb61}.win-banner{padding:16px;border:1px solid var(--blue);border-radius:11px;background:var(--soft);margin:15px 0 0;text-align:center}.win-banner strong{font-size:1.2rem}.win-banner p{font-size:.84rem;margin:7px 0 12px}.loss-banner{border-color:var(--danger)}.game-hintline{font-size:.72rem;color:var(--muted);margin-top:12px;display:flex;gap:6px;align-items:center}.sudoku-wrap{display:flex;gap:25px;align-items:flex-start}.sudoku-grid{width:min(100%,530px);display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:3px solid var(--text);background:var(--text);gap:1px;direction:ltr;flex-shrink:0}.sudoku-cell{min-width:0;width:100%;aspect-ratio:1;border:0;background:var(--field);display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,2vw,1.5rem);color:var(--blue);font-variant-numeric:tabular-nums;position:relative;padding:0}.sudoku-cell.box-right{border-right:3px solid var(--text)}.sudoku-cell.box-bottom{border-bottom:3px solid var(--text)}.sudoku-cell.given{font-weight:800;color:var(--text)}.sudoku-cell.related-cell{background:var(--soft)}.sudoku-cell.same-cell{background:#4267e833}.sudoku-cell.focus-cell{background:#4267e855;outline:2px solid var(--blue);outline-offset:-2px}.sudoku-cell.error-cell{color:var(--danger);background:#cf43401c}.sudoku-notes{height:100%;width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center}.sudoku-notes small{font-size:.47em;color:var(--muted)}.sudoku-pad{flex:1;max-width:200px;min-width:140px}.number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.number-pad button{min-height:56px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--blue);font-size:1.35rem;font-weight:750;display:flex;flex-direction:column;align-items:center;justify-content:center}.number-pad button small{font-size:.53rem;color:var(--muted);font-weight:450}.erase-button{width:100%;margin-top:10px}.mine-grid{--mine-size:34px;display:grid;gap:2px;padding:10px;background:#9babb9;border-radius:9px;direction:ltr;user-select:none}:root[data-theme=dark] .mine-grid{background:#3c444d}.mine-cell{height:var(--mine-size);width:var(--mine-size);padding:0;display:grid;place-items:center;border-radius:3px;background:#e1e8f0;color:#222c36;font-size:1.04rem;font-weight:800;border:2px solid #fff7;touch-action:manipulation}:root[data-theme=dark] .mine-cell{background:#576574;border-color:#ffffff1a;color:#fff}.mine-cell.revealed{background:#f6f7fa;border:1px solid #abb6c2}:root[data-theme=dark] .mine-cell.revealed{background:#252c34;border-color:#5a6878}.mine-cell.flagged{color:#d93245}.mine-cell.num-1{color:#245aca}.mine-cell.num-2{color:#249458}.mine-cell.num-3{color:#c94447}.mine-cell.num-4{color:#7643a4}.mine-cell.num-5{color:#8b3b24}.mine-cell.num-6{color:#2a9a9f}.mine-cell.num-7{color:#6c6e72}.mine-cell.num-8{color:#323a43}.mine-cell.bomb-cell{background:#f9a8a8;color:#221b1b}.other-games{margin:25px 0}.other-games h2{margin:0 0 12px}.compact-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compact-game-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:9px;padding:13px 15px;font-size:.82rem;font-weight:650}.compact-game-grid a:hover{border-color:var(--blue);text-decoration:none}.compact-game-grid svg{color:var(--blue)}.game-explainer{padding:20px 23px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.game-explainer h2{margin-bottom:10px}.game-explainer p{font-size:.83rem;margin:7px 0}.content-article{max-width:920px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:27px}.content-article h1{margin-bottom:13px}.content-article section{margin:19px 0;border-top:1px solid var(--border);padding-top:17px}.content-article h2{margin:8px 0}.content-article p{font-size:.86rem;margin:5px 0 12px}.content-article section a{display:inline-flex;align-items:center;gap:7px;font-size:.83rem}.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:22px max(24px,calc((100vw - 1512px)/2));display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.74rem}.site-footer a{color:var(--text);font-weight:750}.game-loading{min-height:280px;display:grid;place-items:center;color:var(--blue);font-weight:750}@media(max-width:1439px){.site-layout.page-with-ad{display:block}.desktop-ad{display:none}.site-layout{max-width:1150px}}@media(max-width:1120px){.primary-nav{display:none}}@media(max-width:800px){.site-layout{padding:18px 15px 60px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{padding:0 15px;gap:11px}.card-board{--card-width:clamp(43px,calc((100vw - 110px)/7),68px);--card-height:calc(var(--card-width) * 1.4);padding:12px 10px 20px}.freecell-board{min-width:590px}.tableau,.cell-group{gap:5px}.card-top{gap:9px}.sudoku-wrap{flex-direction:column;gap:15px}.sudoku-pad{max-width:530px;width:100%;min-width:0}.number-pad{grid-template-columns:repeat(9,1fr)}.number-pad button{min-height:49px}.mine-grid{--mine-size:32px}}@media(max-width:600px){.site-layout{padding:14px 12px 64px}.header-inner{min-height:58px;padding:0 11px}.brand-symbol{height:30px;width:30px;font-size:8px;border-radius:7px}.service-title{font-size:1.18rem}.header-actions{gap:5px}.header-actions select{max-width:94px;min-width:74px;padding:8px 4px}.icon-button{width:40px;height:40px}.menu-panel{right:0}.home-intro{padding:13px 0 16px}.home-intro p{font-size:.82rem}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tile-graphic{height:105px}.tile-card-face{width:51px;height:75px;font-size:1.4rem}.tile-content{padding:11px 12px;gap:5px}.tile-content h3{font-size:.88rem}.tile-content p{font-size:.72rem;line-height:1.4;min-height:0}.tile-link{margin-top:3px;font-size:.73rem}.tile-sudoku,.tile-mines{font-size:1.46rem}.game-heading{gap:10px;margin-bottom:14px}.icon-square{width:48px;height:48px;flex-basis:48px}.game-heading h1{font-size:1.5rem}.game-heading p{font-size:.75rem}.game-session{padding:10px}.mode-switch{gap:6px}.mode-switch>button{padding:9px 10px;font-size:.7rem}.mode-switch label{margin-left:0}.game-toolbar{gap:6px;margin-bottom:12px}.game-toolbar button{padding:9px 10px;min-height:43px;font-size:.74rem}.game-metrics{gap:8px 13px}.metric-private{margin-left:0}.card-board{--card-width:clamp(40px,calc((100vw - 62px)/7),60px);padding:9px 8px 20px;min-height:385px}.stock-area{gap:6px}.card-top{gap:5px}.tableau{gap:4px}.card-corner{font-size:.65rem;left:3px;top:3px}.card-suit{font-size:1.15rem}.card-bottom{font-size:.48rem}.freecell-board{min-width:440px}.spider-board{--card-width:53px;--card-height:75px;min-width:675px}.number-pad{gap:3px}.number-pad button{min-height:40px;font-size:1.07rem}.sudoku-grid{width:100%}.sudoku-cell{font-size:clamp(.92rem,4.5vw,1.3rem)}.mine-grid{--mine-size:31px}.compact-game-grid{grid-template-columns:1fr}.site-footer{padding:16px 12px}.content-article{padding:16px}}@media(max-width:360px){.header-inner{padding:0 7px;gap:6px}.brand-group{gap:6px}.header-actions select{max-width:79px;min-width:64px}.game-toolbar button{font-size:.69rem;padding:8px}.mode-switch label{width:100%}}.hint-feedback{display:flex;align-items:center;gap:8px;border:1px solid #dec56d;background:#ffe99523}.hint-feedback svg{color:var(--blue);flex:0 0 auto}.stock-card.hint-stock-cue{box-shadow:0 0 0 5px #ffdf75ab,0 0 26px #ffe3929c;animation:hint-stock-attention 1.75s ease-in-out both}@keyframes hint-stock-attention{0%,to{transform:rotate(0) scale(1)}20%,58%{transform:rotate(-5deg) scale(1.05)}40%,76%{transform:rotate(5deg) scale(1.05)}}.hint-button svg{color:var(--blue)}.hint-effect-layer{position:fixed;inset:0;z-index:75;pointer-events:none;overflow:hidden}.hint-target-glow{position:fixed;border:3px solid #ffe175;border-radius:9px;background:#ffed8e25;box-shadow:0 0 0 6px #ffe17524,0 0 25px 3px #ffe17575;animation:hint-target-bloom 1.75s ease-out both}.hint-flight{position:fixed;will-change:transform,opacity;filter:drop-shadow(0 10px 10px #0005);animation:hint-card-travel 1.75s cubic-bezier(.28,.12,.25,1) both}.hint-preview-card{position:absolute;left:0;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#fff;border:1px solid #b9c4ca;box-shadow:0 3px 9px #0003;text-align:left;color:#1d242b}.hint-preview-card.red-card{color:#d32d42}.hint-magic-wand{position:absolute;top:-30px;left:-17px;z-index:110;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid #fff5be;color:#67400b;background:radial-gradient(circle at 38% 25%,#fff9d1,#ffdb76);box-shadow:0 3px 15px #ffda6890;animation:hint-wand-bounce 1.75s ease-in-out both}.hint-sparkle{position:absolute;z-index:120;color:#ffe68b;font-size:27px;text-shadow:0 0 7px #ffda4f;animation:hint-twinkle 1.75s ease-in-out both}.hint-sparkle-one{top:-26px;right:-17px}.hint-sparkle-two{top:18px;right:-29px;font-size:20px;animation-delay:.12s}.hint-sparkle-three{top:-11px;left:-29px;font-size:17px;animation-delay:.2s}@keyframes hint-card-travel{0%{transform:translateZ(0) scale(1);opacity:0}10%{transform:translate3d(0,-9px,0) scale(1.03);opacity:1}28%{transform:translate3d(0,-15px,0) scale(1.05);opacity:1}65%{transform:translate3d(var(--hint-dx),calc(var(--hint-dy) - 13px),0) scale(1.05);opacity:1}77%{transform:translate3d(var(--hint-dx),var(--hint-dy),0) scale(1);opacity:1}84%{transform:translate3d(var(--hint-dx),var(--hint-dy),0) scale(1);opacity:1}to{transform:translate3d(var(--hint-dx),var(--hint-dy),0) scale(.98);opacity:0}}@keyframes hint-target-bloom{0%,28%{opacity:0;transform:scale(.9)}58%{opacity:.65;transform:scale(1.12)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes hint-wand-bounce{0%,to{transform:rotate(-28deg) scale(.7);opacity:0}13%{transform:rotate(-23deg) scale(1);opacity:1}47%{transform:rotate(10deg) scale(1.14);opacity:1}82%{transform:rotate(-10deg) scale(1);opacity:1}}@keyframes hint-twinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}25%,70%{opacity:1;transform:scale(1.1) rotate(28deg)}}@media(prefers-reduced-motion:reduce){.hint-flight,.hint-magic-wand,.hint-sparkle{display:none}.hint-target-glow{animation:none;box-shadow:0 0 0 4px #ffe17535}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.casual-session{max-width:900px;margin-inline:auto}.casual-session .game-hintline{line-height:1.5}.casual-daily-info{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:14px;padding-top:13px;color:var(--muted);font-size:.75rem}.casual-daily-info svg{color:var(--blue);flex-shrink:0}.casual-daily-info strong{margin-left:auto;color:var(--blue)}.board2048{width:min(100%,475px);aspect-ratio:1;margin:0 auto;background:#b4a99b;padding:clamp(6px,1.4vw,12px);border-radius:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(5px,1.5vw,12px);touch-action:none;user-select:none;overscroll-behavior:contain}.tile2048{display:flex;align-items:center;justify-content:center;background:#d4c9bc;border-radius:6px;font-weight:800;color:#665b50;font-size:clamp(1.15rem,5vw,2.4rem);font-variant-numeric:tabular-nums}.tile2048.filled{background:#eee4da;box-shadow:0 1px 2px #0002;animation:tile-pop .15s ease-out}.tile2048.n4{background:#ece0c8}.tile2048.n8{background:#f2b179;color:#fff}.tile2048.n16{background:#f59563;color:#fff}.tile2048.n32{background:#f67c5f;color:#fff}.tile2048.n64{background:#f65e3b;color:#fff}.tile2048.n128{background:#edcf72;color:#fff;font-size:clamp(1.05rem,4.3vw,2.1rem)}.tile2048.n256{background:#edcc61;color:#fff;font-size:clamp(1.05rem,4.3vw,2.1rem)}.tile2048.n512{background:#edc850;color:#fff;font-size:clamp(1.05rem,4.3vw,2.1rem)}.tile2048.n1024{background:#edc53f;color:#fff;font-size:clamp(.9rem,3.9vw,1.8rem)}.tile2048.n2048{background:#edc22e;color:#fff;font-size:clamp(.9rem,3.9vw,1.8rem)}@keyframes tile-pop{0%{transform:scale(.92)}to{transform:scale(1)}}.casual-arrows{display:flex;justify-content:center;gap:9px;margin:15px 0}.casual-arrows button{width:44px;height:44px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:9px;display:grid;place-items:center}.casual-arrows button:active{background:var(--soft);color:var(--blue)}.block-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;width:min(100%,475px);aspect-ratio:1;margin:0 auto;background:var(--raised);padding:6px;border-radius:12px;touch-action:none;direction:ltr}.block-cell{width:100%;height:100%;border:0;border-radius:4px;background:var(--field);padding:0;min-width:0;min-height:0;touch-action:manipulation}.block-cell:nth-child(3n){box-shadow:inset -2px 0 #80808028}.block-cell.occupied{background:#547af2;box-shadow:inset 0 -3px #0002}.block-cell.color-0{background:#7c6fea}.block-cell.color-1{background:#f6aa4c}.block-cell.color-2{background:#3ab7b3}.block-cell.color-3{background:#ca65ad}.block-cell.color-4{background:#6499ec}.block-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,475px);margin:14px auto}.block-shape{border:1px solid var(--border);background:var(--surface);border-radius:12px;height:95px;display:grid;place-items:center;padding:10px;touch-action:none}.block-shape.chosen{border:2px solid var(--blue);background:var(--soft)}.block-mini{display:grid;gap:3px;width:min-content;height:min-content;grid-auto-flow:row;direction:ltr}.block-mini span{display:block;width:17px;height:17px;background:#5480ed;border-radius:3px;box-shadow:inset 0 -2px #0002}.block-ghost{position:fixed;z-index:80;transform:translate(-50%,-85%);pointer-events:none;display:flex;gap:2px;opacity:.7;filter:drop-shadow(0 4px 5px #0003)}.block-ghost span{display:block;width:17px;height:17px;background:#5480ed;border-radius:3px}.mahjong-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(4px,.7vw,8px);width:min(100%,650px);margin:10px auto 18px;direction:ltr}.mahjong-tile{aspect-ratio:.76;background:linear-gradient(145deg,#fffdf2,#e9dfbf);border:1px solid #cdbd99;border-radius:7px;box-shadow:3px 4px #91ae9c,4px 6px 4px #0003;color:#2c6755;font-size:clamp(1.15rem,3vw,2.15rem);font-weight:800;display:grid;place-items:center;min-width:0;padding:0;transition:transform .1s,opacity .12s;touch-action:manipulation}.mahjong-tile.mcolor-1{color:#b74e50}.mahjong-tile.mcolor-2{color:#4064a3}.mahjong-tile.mcolor-3{color:#79599c}.mahjong-tile.covered{filter:brightness(.85);cursor:not-allowed;opacity:.78}.mahjong-tile.selected{outline:3px solid #f2b84b;transform:translateY(-4px);z-index:1}.mahjong-tile.hinted{outline:3px solid #5984ff;animation:mahjong-glow 1.2s ease-in-out infinite alternate}.mahjong-tile.removed{opacity:0;pointer-events:none;border:0;box-shadow:none}@keyframes mahjong-glow{0%{filter:brightness(1)}to{filter:brightness(1.24)}}.nonogram-wrap{width:min(100%,560px);margin:0 auto;display:grid;grid-template-columns:minmax(46px,77px) minmax(0,1fr);grid-template-rows:minmax(44px,77px) auto;gap:1px;direction:ltr}.nono-col-clues{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));align-items:end}.nono-row-clues{display:grid;grid-template-rows:repeat(10,minmax(0,1fr));align-items:center}.nono-clue{display:flex;align-items:center;justify-content:center;gap:2px;color:var(--text);font-size:clamp(.6rem,1.4vw,.82rem);font-weight:750}.nono-col-clues .nono-clue{flex-direction:column;justify-content:flex-end;line-height:1.08;padding-bottom:3px}.nono-row-clues .nono-clue{justify-content:flex-end;padding-right:5px}.nono-cells{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));gap:1px;aspect-ratio:1;width:100%;background:var(--muted);border:2px solid var(--text);touch-action:none;user-select:none}.nono-cell{border:0;background:var(--field);padding:0;display:grid;place-items:center;min-width:0;min-height:0;font-size:clamp(.85rem,2vw,1.45rem);font-weight:800;color:var(--muted);touch-action:none}.nono-cell.nono-filled{background:#4267e8}.nono-cell.nono-cross{background:var(--raised)}.nono-cell.thick-right{border-right:2px solid var(--text)}.nono-cell.thick-bottom{border-bottom:2px solid var(--text)}.bubble-stage{width:min(100%,480px);aspect-ratio:9.5 / 11.5;background:linear-gradient(180deg,#1d3960,#142741);border:2px solid #4f6892;border-radius:12px;position:relative;margin:0 auto;overflow:hidden;touch-action:none;user-select:none}.bubble-ball,.bubble-launcher{width:10.15%;aspect-ratio:1;position:absolute;border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset -4px -6px 9px #0003,inset 3px 4px 5px #fff8,0 1px 3px #0005}.bubble-ball{transition:opacity .12s}.bubble-aim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bubble-launcher{border:3px solid #ffffff85;box-shadow:0 0 0 8px #ffffff10,inset -4px -5px 9px #0003}.bubble-projectile{z-index:5;box-shadow:0 0 8px #fff6,inset -4px -5px 8px #0003}.next-bubble{width:18px;height:18px;border-radius:50%;box-shadow:inset -2px -3px 4px #0004}.casual-tile-2048{display:grid;grid-template-columns:repeat(2,55px);gap:5px;transform:rotate(-7deg)}.casual-tile-2048 b{aspect-ratio:1;background:#edb471;border-radius:6px;display:grid;place-items:center;color:#fff;font-size:1.5rem}.casual-tile-block{display:grid;grid-template-columns:repeat(3,26px);grid-template-rows:repeat(2,26px);gap:4px;transform:rotate(-12deg)}.casual-tile-block span{background:#64a1fc;border-radius:4px;box-shadow:inset 0 -3px #0002}.casual-tile-block span:nth-child(3){opacity:.2}.casual-tile-mahjong{display:flex;gap:6px;transform:rotate(-6deg)}.casual-tile-mahjong b{display:grid;place-items:center;background:#fff6e4;color:#356a61;border-radius:7px;width:53px;height:70px;border:2px solid #cfc4a4;box-shadow:3px 5px #658c84;font-size:1.45rem}.casual-tile-nono,.casual-tile-bubbles{text-align:center;white-space:pre;font-size:1.65rem;line-height:1.35;font-weight:800;color:#fff}.casual-tile-bubbles{font-size:1.35rem}.graphic-2048{background:linear-gradient(130deg,#987658,#cba179)}.graphic-block-puzzle{background:linear-gradient(130deg,#253c76,#4284ca)}.graphic-mahjong{background:linear-gradient(130deg,#155443,#378a79)}.graphic-nonogram{background:linear-gradient(130deg,#506183,#8a9ec0)}.graphic-bubble-shooter{background:linear-gradient(130deg,#264b79,#8458a8)}@media(max-width:600px){.casual-session{padding:10px}.mahjong-grid{gap:4px}.mahjong-tile{border-radius:4px;box-shadow:2px 3px #91ae9c,2px 4px 4px #0003;font-size:clamp(.95rem,4vw,1.65rem)}.nonogram-wrap{grid-template-columns:50px minmax(0,1fr);grid-template-rows:65px auto}.nono-clue{font-size:clamp(.56rem,2.2vw,.72rem)}.nono-row-clues .nono-clue{gap:2px;padding-right:3px}.block-shape{height:77px}.block-mini span{width:13px;height:13px}.casual-tile-2048{grid-template-columns:repeat(2,40px)}.casual-tile-2048 b{font-size:1rem}.casual-tile-mahjong b{height:54px;width:36px;font-size:1.15rem}.casual-tile-nono{font-size:1.05rem}.casual-tile-bubbles{font-size:.9rem}}@media(prefers-reduced-motion:reduce){.tile2048.filled,.mahjong-tile.hinted{animation:none}}.block-cell.drop-preview{background:#80b88b;outline:2px solid #61a373;outline-offset:-2px}
