.game-intro{justify-content:space-between;align-items:center;gap:20px;padding-block:26px 24px;display:flex}.game-intro h1{margin:0 0 7px;font-size:clamp(27px,3vw,38px)}.game-intro p{color:var(--muted);margin:0;font-size:13px}.game-intro>a{white-space:nowrap;text-underline-offset:4px;font-size:12px}.game-shell{background:#fffefa;border:1px solid #d9e0d4;border-radius:15px;position:relative;overflow:hidden}.game-toolbar{border-bottom:1px solid #d9e0d4;justify-content:space-between;align-items:center;gap:16px;padding:17px 23px;display:flex}.mode-control{color:#5d6b5f;align-items:center;gap:9px;font-size:12px;display:flex}.mode-control select{color:#2e4938;background:#f5f6ee;border:1px solid #d2dbc9;border-radius:7px;max-width:140px;padding:8px 23px 8px 10px;font-size:12px}.game-numbers{color:#647460;gap:20px;font-size:11px;display:flex}.game-numbers b{color:#324b39;font-variant-numeric:tabular-nums;min-width:20px;margin-right:2px;font-size:15px;font-weight:600;display:inline-block}.game-toolbar-actions{gap:8px;display:flex}.game-shell button:not(.playing-card,.mahjong-tile,.stock,.empty-pile,.puzzle-cell,.jigsaw-piece,.block-piece){color:#37533e;background:#fffefa;border:1px solid #d8dfd0;border-radius:7px;min-height:36px;padding:8px 13px;font-size:12px}.game-shell .new-game-button{align-items:center;gap:13px;display:flex;color:#fff!important;background:#2c5a43!important;border-color:#2c5a43!important}.game-stage{overscroll-behavior-x:contain;scrollbar-color:#9dab92 #e6eddf;background:#e6eddf;min-height:480px;padding:26px 25px 24px;position:relative;overflow:auto}.mahjong-solitaire .game-stage{background:#e9eee2;min-height:510px}.board{width:100%;min-height:430px;margin:auto;position:relative}.loading-board{text-align:center;color:#60715a;padding:120px 0}.board-tools{border-bottom:1px solid #e3e7dc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 19px;display:flex}.board-tools>div{flex-wrap:wrap;gap:7px;display:flex}.board-tools button{background:0 0!important;border-color:#0000!important}.board-tools button:hover:not(:disabled){background:#eef2e8!important}.board-tools button span{vertical-align:-1px;margin-right:4px;font-size:18px}.game-status{color:#5d715e;min-height:43px;margin:0;padding:12px 22px;font-size:12px}.storage-notice{color:#775123;background:#fff0d4;margin:0;padding:12px 20px;font-size:12px}.daily-badge{color:#67532a;background:#f2e7cb;border-radius:4px;align-self:center;padding:3px 7px;font-size:10px}.card-table{--columns:7;--gap:14px;--card-w:calc((100% - (var(--columns) - 1)*var(--gap))/var(--columns));--card-h:clamp(65px,10.5vw,139px);--step:clamp(22px,2.9vw,34px);--down-step:clamp(9px,1.2vw,14px);max-width:1000px;margin:auto;position:relative}.card-table.spider{--columns:10;--gap:9px;--card-h:clamp(48px,8.6vw,117px);--step:clamp(19px,2.6vw,30px);--down-step:clamp(8px,1vw,12px)}.card-top{gap:var(--gap);grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;margin-bottom:24px;display:grid}.card-table.spider .card-top{grid-template-columns:repeat(10,minmax(0,1fr));margin-bottom:22px}.card-pile{min-height:var(--card-h);border-radius:8px;position:relative}.tableau{grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:var(--gap);align-items:start;display:grid}.tableau .card-pile{height:var(--pile-height);min-height:var(--card-h);position:relative}.playing-card,.stock,.empty-pile{color:#233e33;left:0;top:var(--top,0);height:var(--card-h);-webkit-user-select:none;user-select:none;touch-action:pan-y;background:#fffef9;border:1px solid #c7cfbc;border-radius:7px;width:100%;padding:0;font-family:Georgia,Times New Roman,serif;line-height:1;transition:box-shadow .12s;position:absolute;overflow:hidden;box-shadow:0 2px 2px #32432b15}.playing-card{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.playing-card:focus-visible,.mahjong-tile:focus-visible{outline-offset:1px;outline:3px solid #b07826;z-index:300!important}.card-corner{pointer-events:none;flex-direction:column;align-items:center;gap:2px;padding:6px 7px;font-size:clamp(14px,1.8vw,23px);font-weight:600;display:flex}.card-corner small{font-size:.8em}.card-center{pointer-events:none;align-self:center;font-size:clamp(23px,3.8vw,45px);line-height:1;position:absolute;top:40%;left:50%;transform:translate(-50%)}.card-bottom{pointer-events:none;font-size:clamp(13px,1.7vw,20px);position:absolute;bottom:5px;right:7px;transform:rotate(180deg)}.card-back,.stock.has-cards{color:#fff;background:#54765e repeating-linear-gradient(45deg,#0000,#0000 5px,#ffffff0b 5px 6px);border-color:#d5dccb;box-shadow:inset 0 0 0 4px #f7f8ed,inset 0 0 0 5px #71916b,0 2px 2px #32432b15}.card-back{cursor:default}.stock{flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:13px;display:flex}.stock strong{font-size:25px;font-weight:400}.stock .stock-count{font-size:12px}.stock:not(.has-cards){color:#5e7351;box-shadow:none;background:#dbe4d1;border-style:dashed}.empty-pile{color:#526444;box-shadow:none;background:#dae3d0;border:1px dashed #acbba0;justify-content:center;align-items:center;font-size:27px;display:flex}.empty-pile .pile-label{font:10px system-ui;position:absolute;bottom:10px}.playing-card.selected,.mahjong-tile.selected{outline-offset:0;outline:3px solid #ad7529;box-shadow:0 0 0 4px #f6d493a0}.playing-card.hinted,.mahjong-tile.hinted,.empty-pile.hinted{outline-offset:0;outline:3px solid #52854a;box-shadow:0 0 0 5px #b3d48b80}.card-pile.destination{outline-offset:3px;outline:3px dashed #a7792f}.completed-label{color:#556c4b;grid-column:span 5;align-self:center;font-size:12px}.completed-label b{margin-right:6px;font-size:23px}.mahjong-board{aspect-ratio:1.4;min-width:420px;max-width:950px;margin:0 auto;position:relative}.mahjong-tile{left:var(--x);top:var(--y);width:var(--w);height:var(--h);color:#315c43;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fffef4;border:1px solid #b8c7a5;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:2px;font-family:Georgia,Times New Roman,serif;line-height:1;display:flex;position:absolute;box-shadow:2px 3px #b4c39d,3px 4px 2px #49643822}.mahjong-tile.blocked{color:#536e4e;cursor:default;background:#e3e7d7;box-shadow:2px 3px #a9b997}.mahjong-tile .tile-face{pointer-events:none;font-size:clamp(18px,3.2vw,39px);line-height:1}.mahjong-tile .tile-mini{pointer-events:none;margin-top:2px;font:600 clamp(8px,1vw,11px) system-ui}.mahjong-tile .tile-red{color:#aa443a}.mahjong-tile .tile-blue{color:#3d6082}.mahjong-tile svg{pointer-events:none;width:92%;height:92%}.mahjong-count{text-align:center;color:#506444;min-height:35px;padding-top:15px;font-size:12px}.game-stage.enlarged .board{min-width:840px}.game-stage.enlarged .mahjong-board{width:900px}.game-stage.enlarged .card-table{--card-h:120px;--step:30px;--down-step:12px}.game-stage.enlarged .card-table.spider{--card-h:103px}.game-stage.enlarged .card-corner{font-size:21px}.game-stage.enlarged .card-center{font-size:36px}.game-stage.enlarged .mahjong-tile .tile-face{font-size:34px}dialog{color:#2c4535;background:#fffdf7;border:1px solid #d8dfcc;border-radius:16px;width:min(440px,100% - 32px);padding:30px;box-shadow:0 20px 70px #162b3040}dialog::backdrop{background:#20332d70}dialog h2{margin-bottom:15px;font-size:27px}dialog p{color:#5a6b5d;white-space:pre-line;font-size:14px;line-height:1.8}dialog .dialog-close{position:absolute;top:10px;right:12px;border:0!important;padding:2px 9px!important;font-size:22px!important}dialog .eyebrow{margin-bottom:18px}dialog .dialog-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}dialog .primary{color:#fff!important;background:#2c5a43!important;border-color:#2c5a43!important}.game-help{grid-template-columns:minmax(0,760px) 280px;gap:50px;padding-top:45px;padding-bottom:30px;display:grid}.game-help h2{font-size:27px}.game-help p,.game-help li{color:#536458;font-size:14px;line-height:1.9}.game-help .article-aside{margin-top:5px}.game-help details{border-top:1px solid var(--line);padding:17px 0}.game-help summary{cursor:pointer;font-size:15px;font-weight:600}.game-help details p{margin:12px 0 0}.rules-list{padding-left:20px}.rules-list li{padding:5px 0}@media (width<=900px){.game-toolbar{flex-wrap:wrap;gap:10px;padding:14px}.game-numbers{gap:14px}.game-stage{padding:20px 16px}.game-help{grid-template-columns:1fr;gap:20px}.game-help .article-aside{position:static}.game-stage,.mahjong-solitaire .game-stage{min-height:420px}.board{min-height:370px}.card-table{--gap:9px}.card-table.spider{--gap:6px}}@media (width<=620px){.game-intro{align-items:flex-start;padding-block:22px 17px}.game-intro p{max-width:250px;font-size:11px}.game-intro>a{margin-top:9px;font-size:11px}.game-shell{border-radius:10px}.game-toolbar{gap:12px;padding:12px}.mode-control{font-size:11px}.mode-control select{max-width:125px;padding:7px;font-size:11px}.game-numbers{gap:10px;margin-left:auto;font-size:10px}.game-numbers b{font-size:13px}.game-toolbar-actions{justify-content:space-between;width:100%}.game-toolbar-actions button{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}.game-stage{min-height:415px;padding:15px 8px 20px}.mahjong-solitaire .game-stage{min-height:260px;padding-top:23px}.board{min-height:355px}.mahjong-solitaire .board{min-height:205px}.mahjong-board{aspect-ratio:1.4}.mahjong-count{padding-top:16px;font-size:10px}.mahjong-tile{border-radius:3px;padding:1px;box-shadow:1px 2px #b4c39d}.mahjong-tile.blocked{box-shadow:1px 2px #a9b997}.mahjong-tile .tile-face{font-size:17px}.mahjong-tile .tile-mini{margin-top:1px;font-size:7px}.card-table{--gap:5px;--card-h:clamp(60px,16vw,95px);--step:24px;--down-step:10px}.card-table.spider{--gap:3px;--card-h:clamp(45px,12vw,69px);--step:23px;--down-step:8px}.card-corner{flex-direction:row;gap:1px;padding:4px 3px;font-size:14px}.card-corner small{font-size:11px}.card-table.spider .card-corner{padding:4px 2px;font-size:12px}.card-table.spider .card-corner small{font-size:10px}.card-center{font-size:25px;top:43%}.card-bottom{display:none}.card-top{margin-bottom:20px}.playing-card,.stock,.empty-pile{border-radius:4px}.empty-pile{font-size:23px}.empty-pile .pile-label{font-size:8px;bottom:5px}.stock strong{font-size:18px}.stock .stock-count{font-size:9px}.stock{gap:3px}.completed-label{font-size:10px}.completed-label b{font-size:18px}.board-tools{gap:5px;padding:9px 7px}.board-tools>div{gap:1px}.game-shell .board-tools button{min-height:34px;padding:7px 6px;font-size:10px}.board-tools button span{margin-right:2px;font-size:16px}.game-status{min-height:52px;padding:10px 12px;font-size:11px}.storage-notice{padding:10px 12px;font-size:11px}.daily-badge{padding:2px 5px;font-size:9px}.game-help{padding-top:28px}.game-help h2{font-size:23px}.game-help p,.game-help li{font-size:13px}.game-stage.enlarged .mahjong-board{aspect-ratio:1.4}.game-stage.enlarged .card-corner{font-size:21px}.game-stage.enlarged .card-corner small{font-size:17px}}.game-stage.fit-to-screen .mahjong-board{min-width:0}:root{--ink:#263c35;--muted:#59685f;--green:#255a45;--paper:#faf8f3;--line:#e2e5dc;--sage:#edf2e7;--peach:#f8e9dc;--lavender:#eeebf7;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #a56624}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.14}h1{font-size:clamp(2.3rem,5.4vw,4.3rem);font-weight:650}h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:620}h3{font-size:1.35rem;font-weight:650}.wrap{width:min(1180px,100% - 64px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:#faf8f3}.header-inner{justify-content:space-between;align-items:center;gap:30px;max-width:1320px;min-height:92px;margin:auto;padding:16px 40px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:19px;font-weight:750;line-height:1.1;text-decoration:none;display:flex}.brand-games{letter-spacing:2.1px;text-transform:uppercase;margin-top:5px;font-size:12px;font-weight:500;display:block}.brand-mark{background:var(--green);color:#fff;letter-spacing:-6px;border-radius:14px;justify-content:center;align-items:center;width:45px;height:45px;padding-right:7px;font-size:29px;font-weight:750;display:flex}.brand-mark span{color:#d6e3b3}.site-header nav{gap:32px;font-size:14px;font-weight:550;display:flex}.site-header nav a{padding:10px 0;text-decoration:none}.site-header nav a[aria-current=page]{color:var(--green);box-shadow:0 2px var(--green)}.header-note{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.header-note i{background:#6d8a59;border-radius:50%;width:7px;height:7px}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:#526c58;margin-bottom:15px;font-size:11px;font-weight:700;display:block}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:32px;padding-block:64px 58px;display:grid}.hero h1{max-width:620px;margin-bottom:23px}.hero h1 em{color:#598061;font-family:Georgia,serif;font-weight:400}.hero .lead{max-width:440px;color:var(--muted);font-size:17px;line-height:1.8}.pill-row{color:#5a685e;flex-wrap:wrap;gap:18px;margin-top:26px;font-size:12px;display:flex}.pill-row span{align-items:center;gap:7px;display:flex}.pill-row b{color:#587353;font-weight:400}.button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:9px;align-items:center;gap:28px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.button:hover{background:#183f30}.button.secondary{color:var(--green);background:0 0}.hero-visual{background:#e9eee1;border-radius:25px;justify-content:center;align-items:center;height:350px;display:flex;position:relative;overflow:hidden}.hero-visual:before,.hero-visual:after{content:"";border:1px solid #d3ddc8;border-radius:50%;width:330px;height:330px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-visual:after{width:460px;height:460px}.hero-visual .game-art{z-index:1;background:0 0;width:100%;height:100%}.hero-visual .hero-label{z-index:2;color:#4b654f;letter-spacing:1.2px;text-transform:uppercase;font-size:11px;position:absolute;bottom:20px;left:24px}.hero-daily{z-index:3;background:#fafcf2ee;border:1px solid #fff;border-radius:9px;align-items:center;gap:10px;padding:9px 13px;font-size:12px;display:flex;position:absolute;top:23px;right:22px;box-shadow:0 6px 15px #23412008}.hero-daily span{color:#7b8d4f;font-size:22px}.section{padding-block:40px 60px}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.section-head h2{margin:0}.section-head p{color:var(--muted);margin:10px 0 0;font-size:14px}.quiet-link{text-underline-offset:5px;font-size:13px;font-weight:600}.game-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.game-card{border:1px solid var(--line);background:#fffefb;border-radius:16px;flex-direction:column;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.game-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #243a3510}.game-art{background:var(--sage);justify-content:center;align-items:center;height:218px;display:flex;position:relative;overflow:hidden}.art-solitaire{background:var(--peach)}.art-spider-solitaire{background:var(--lavender)}.art-tiles{width:260px;height:180px;position:relative;transform:rotate(-10deg)}.art-tile{color:#345d4a;background:#fffef7;border:1px solid #d1d9c6;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;width:66px;height:85px;font-family:Georgia,serif;font-size:40px;line-height:1.1;display:flex;position:absolute;box-shadow:3px 5px #b9c5a8,6px 10px 15px #203e3217}.art-tile small{font-size:21px}.tile-a{top:56px;left:26px}.tile-b{color:#ae5145;top:56px;left:99px}.tile-c{top:56px;left:172px}.tile-d{top:7px;left:64px}.tile-e{color:#ae5145;top:7px;left:137px}.art-large .art-tiles{transform:rotate(-10deg)scale(1.55)}.art-cards{width:230px;height:168px;position:relative}.art-card{color:#334039;background:#fffdfa;border:1px solid #e1d5cb;border-radius:8px;width:103px;height:143px;padding:9px;position:absolute;box-shadow:0 5px 9px #44382e12}.art-card b{font:600 20px/1 Georgia,serif;display:block}.art-card b small{margin-top:4px;font-size:15px;display:block}.art-card em{font-size:39px;font-style:normal;line-height:1;position:absolute;top:37%;left:36%}.ac-a{top:11px;left:18px;transform:rotate(-17deg)}.ac-b{color:#b44d47;top:5px;left:74px;transform:rotate(1deg)}.ac-c{top:14px;left:129px;transform:rotate(17deg)}.game-card-copy{padding:25px}.game-card-copy .eyebrow{margin-bottom:10px;font-size:10px}.game-card h3{margin-bottom:11px}.game-card p{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.8}.card-action{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:16px;font-size:13px;font-weight:650;display:flex}.card-action span{font-size:21px;font-weight:400}.daily-band{background:#f0f1e7;border:1px solid #e4e6d7;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-block:4px 55px;padding:30px 36px;display:flex}.daily-band h2{margin-bottom:9px;font-size:1.7rem}.daily-band p{color:var(--muted);margin:0;font-size:14px}.daily-icon{color:#7b8b56;padding-right:10px;font-size:39px}.daily-band .daily-copy{flex:1}.why-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:55px;padding-block:35px 50px;display:grid}.why-grid span{color:#668066;font-size:21px}.why-grid h3{margin:13px 0 10px;font-size:16px}.why-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.guide-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.guide-card{border:1px solid var(--line);background:#fffefb;border-radius:12px;padding:24px;text-decoration:none;display:block}.guide-card:hover{border-color:#78997c}.guide-card h3{margin:13px 0;font-size:18px}.guide-card p{color:var(--muted);margin-bottom:10px;font-size:13px}.guide-card .read-more{font-size:12px;font-weight:650}.site-footer{border-top:1px solid var(--line);background:#f4f3ec;margin-top:35px;font-size:12px}.footer-top{justify-content:space-between;gap:30px;padding-block:38px 30px;display:flex}.footer-brand{letter-spacing:-.4px;align-items:center;gap:20px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.footer-brand span{color:#7f915d;font-size:27px}.footer-top p{color:var(--muted);margin:6px 0}.footer-top nav{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.footer-top nav a{text-decoration:none}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-block:19px;font-size:11px;display:flex}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;padding-top:25px;font-size:12px;display:flex}.breadcrumbs a{text-decoration:none}.page-heading{max-width:800px;padding-block:40px 30px}.page-heading h1{margin-bottom:18px;font-size:clamp(2.3rem,4vw,3.25rem)}.page-heading p{color:var(--muted);max-width:680px;font-size:17px}.article-layout{grid-template-columns:minmax(0,760px) 270px;align-items:start;gap:65px;padding-block:30px 60px;display:grid}.prose{max-width:760px}.prose h2{margin:35px 0 16px;scroll-margin-top:20px;font-size:1.75rem;line-height:1.3}.prose h3{margin-top:27px;font-size:1.2rem;line-height:1.4}.prose p,.prose li{color:#4b5c51;font-size:15px;line-height:1.9}.prose a{color:var(--green);text-underline-offset:3px}.prose li{padding-bottom:7px}.prose ul,.prose ol{padding-left:23px}.prose .intro{color:#435c4a;font-size:18px}.article-aside{background:#edf1e5;border-radius:13px;padding:23px;position:sticky;top:25px}.article-aside h2{font-size:19px}.article-aside p{color:var(--muted);font-size:13px}.article-aside ul{padding-left:18px;font-size:13px}.article-aside li{margin:10px 0}.article-aside .button{justify-content:space-between;width:100%}.article-meta{color:var(--muted);margin-bottom:25px;font-size:12px}.example-figure{border:1px solid var(--line);background:#eef1e7;border-radius:12px;margin:28px 0;padding:25px}.example-figure figcaption{color:#4e6456;margin-top:14px;font-size:12px}.example-cards{justify-content:center;align-items:center;gap:12px;min-height:115px;display:flex}.example-card{background:#fffefa;border:1px solid #c8d0c3;border-radius:7px;padding:15px;font:600 24px Georgia,serif;box-shadow:2px 3px #ccd7bd}.example-card.red{color:#ab3d39}.example-arrow{color:#5c775c;font-size:24px}.info-box{background:#eef2e9;border-left:3px solid #658466;border-radius:0 9px 9px 0;margin:22px 0;padding:18px 22px}.info-box p:last-child{margin-bottom:0}.skip-link{background:var(--green);color:#fff;z-index:1000;padding:10px 15px;position:absolute;top:-80px;left:15px}.skip-link:focus{top:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:14px}td,th{border-bottom:1px solid var(--line);text-align:left;padding:12px}th{background:#f0f2e8}noscript{color:#7a352b;padding:20px;display:block}.empty-state{text-align:center;padding:60px 0 90px}.empty-state p{color:var(--muted)}@media (width<=900px){.header-note{display:none}.hero{gap:20px}.hero-visual{height:300px}.art-large .art-tiles{transform:rotate(-10deg)scale(1.2)}.game-grid{gap:15px}.game-card-copy{padding:20px}.game-art{height:180px}.art-cards,.art-tiles{transform:scale(.85)}.article-layout{grid-template-columns:minmax(0,1fr) 220px;gap:30px}.footer-top{flex-direction:column}.why-grid{gap:25px}}@media (width<=620px){.wrap{width:calc(100% - 32px)}.header-inner{flex-wrap:wrap;gap:15px;min-height:78px;padding:16px}.brand{gap:9px;font-size:16px}.brand-mark{border-radius:11px;width:36px;height:36px;font-size:25px}.brand-games{font-size:10px}.site-header nav{gap:17px;font-size:12px}.site-header nav a{padding-block:5px}.hero{grid-template-columns:1fr;gap:28px;padding-block:34px 25px}.hero h1{max-width:410px;margin-bottom:17px;font-size:42px}.hero .lead{max-width:380px;font-size:15px}.hero-visual{height:260px}.hero-copy .eyebrow{margin-bottom:16px}.pill-row{gap:14px;font-size:11px}.section{padding-block:27px 33px}.section-head{align-items:start;margin-bottom:22px}.section-head p{font-size:13px}.game-grid{grid-template-columns:1fr;gap:18px}.game-card{border-radius:12px;grid-template-columns:39% 61%;display:grid}.game-art{height:100%;min-height:205px}.game-art .art-tiles{position:absolute;transform:scale(.62)rotate(-8deg)}.game-art .art-cards{position:absolute;transform:scale(.61)}.hero-visual .game-art .art-tiles{transform:scale(1.13)rotate(-10deg)}.game-card-copy{padding:18px}.game-card-copy .eyebrow{letter-spacing:1px;font-size:9px}.game-card h3{font-size:20px}.game-card p{margin-bottom:15px;font-size:12px;line-height:1.7}.card-action{padding-top:11px;font-size:12px}.daily-band{flex-wrap:wrap;gap:16px;margin-bottom:30px;padding:24px}.daily-icon{display:none}.daily-band h2{font-size:23px}.daily-band p{font-size:13px}.daily-band .daily-copy{flex-basis:100%}.why-grid{grid-template-columns:1fr;gap:24px;padding-block:25px 30px}.why-grid h3{margin:7px 0}.guide-grid{grid-template-columns:1fr}.footer-top nav{gap:14px 23px}.footer-bottom{gap:12px;font-size:10px}.breadcrumbs{padding-top:20px;font-size:11px}.page-heading{padding-block:25px 18px}.page-heading p{font-size:15px}.article-layout{grid-template-columns:1fr;gap:25px;padding-top:10px}.article-aside{position:static}.prose p,.prose li{font-size:14px}.example-figure{padding:18px}.example-card{padding:11px;font-size:20px}.quiet-link{white-space:nowrap;font-size:11px}.footer-brand{font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.example-tile{color:#315c43;background:#fffef4;border:1px solid #c7d3ba;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:64px;height:84px;display:flex;box-shadow:2px 3px #bdcba9}.example-tile svg{width:52px;height:73px}.example-tile .tile-face{font:32px Georgia,serif}.example-tile .tile-mini{font:10px system-ui}.example-tile .tile-red{color:#aa443a}.example-tile .tile-blue{color:#3d6082}.article-aside{align-self:start}.game-shell{isolation:isolate;border:1px solid #d3ddce;border-radius:22px;box-shadow:0 14px 42px #2147330b}.game-stage{background:radial-gradient(at 50% 25%,#eff5e5,#dce6d3);border-block:1px solid #fff8;min-height:490px}.game-stage:focus-visible{outline-offset:-4px}.game-toolbar{flex-wrap:wrap;gap:12px;padding:14px 20px}.game-shell button:not(.playing-card,.mahjong-tile,.stock,.empty-pile,.puzzle-cell,.jigsaw-piece,.block-piece){border-radius:10px;min-height:44px;padding:10px 14px;font-size:13px;transition:background .15s,box-shadow .15s}.game-shell button:not(:disabled):hover{box-shadow:0 2px 8px #274e3210}.game-shell button:focus-visible{outline-offset:3px;z-index:90;outline:3px solid #ab681f}.board-tools{flex-wrap:wrap;gap:8px;padding:12px 16px}.board-tools>div{flex-wrap:wrap;gap:4px}.playing-card{touch-action:none;border-color:#ced6c8;border-radius:8px;transition:box-shadow .15s;box-shadow:0 2px #c2cbb8,0 4px 8px #213d2710}.playing-card.selected{box-shadow:0 0 0 3px #628953,0 7px 14px #21452924}.playing-card.red{color:#af332f}.card-back{background:repeating-linear-gradient(45deg,#446e54 0 2px,#4b765d 2px 5px);border:3px solid #fffef8;box-shadow:0 0 0 1px #bac9ae,0 2px 5px #14382220}.card-center{font-family:Georgia,serif}.mahjong-tile{touch-action:manipulation;background:linear-gradient(145deg,#fffffc,#f3f3e7);border-color:#c8d3b8;border-radius:6px;box-shadow:2px 3px #b0bf9e,3px 5px 7px #2438221c}.mahjong-tile.blocked{filter:saturate(.7);opacity:.82}.mahjong-tile.selected,.mahjong-tile.hinted{box-shadow:0 0 0 3px #527643,2px 4px #899b73,0 5px 12px #16330d28}.destination{outline-offset:2px;outline:2px dashed #5a7d45}.drag-stack .playing-card{opacity:.96;box-shadow:0 12px 26px #19362535}.cache-status{color:#52654e;margin:0;padding:0 18px 12px;font-size:11px}.setting-row{border-bottom:1px solid #e0e6d8;justify-content:space-between;align-items:center;gap:20px;min-height:52px;display:flex}.setting-row input{accent-color:#2c5a43;width:22px;height:22px}dialog{max-height:85dvh;overflow:auto}dialog::backdrop{backdrop-filter:blur(4px);background:#152c2588}.game-shell.focus-mode{z-index:2000;flex-direction:column;max-width:none;display:flex;position:fixed;inset:10px;overflow:auto}.focus-mode .game-stage{flex:1;min-height:0}.focus-mode .game-toolbar,.focus-mode .board-tools{flex-shrink:0}.focus-mode .game-status{min-height:30px;padding:8px 14px}.focus-mode .cache-status{display:none}.game-focused{overflow:hidden}.win-burst{z-index:100;pointer-events:none;position:absolute;top:42%;left:50%}.win-burst i{background:#b98d46;border-radius:2px;width:8px;height:12px;animation:1.1s ease-out both win-particle;position:absolute}.win-burst i:nth-child(3n){background:#669255}.win-burst i:nth-child(3n+1){background:#b66554}@keyframes win-particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) rotate(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(var(--distance)) rotate(160deg)}}:root[data-theme=dark]{--ink:#edf3e6;--muted:#c0ccba;--paper:#15251e;--line:#3a5140;--green:#97bd83;--sage:#263e2b;--peach:#44382a;--lavender:#353340;color-scheme:dark;color:#edf3e6;background:#15251e}:root[data-theme=dark] body{background:#15251e}:root[data-theme=dark] .site-header,:root[data-theme=dark] .site-footer{color:#edf3e6;background:#172a20}:root[data-theme=dark] .game-shell,:root[data-theme=dark] dialog{color:#edf3e6;background:#233a2b;border-color:#52674b}:root[data-theme=dark] .game-stage{background:radial-gradient(at 50% 20%,#355339,#203e2c)}:root[data-theme=dark] .game-toolbar,:root[data-theme=dark] .board-tools{border-color:#4d6446}:root[data-theme=dark] .game-shell button:not(.playing-card,.mahjong-tile,.stock,.empty-pile,.puzzle-cell,.jigsaw-piece,.block-piece){color:#f0f5e7;background:#304b34;border-color:#6b835e}:root[data-theme=dark] .mode-control,:root[data-theme=dark] .game-numbers,:root[data-theme=dark] .game-numbers b,:root[data-theme=dark] .game-status,:root[data-theme=dark] .cache-status{color:#d6e4cb}:root[data-theme=dark] .playing-card{color:#263c35;background:#fffef8}:root[data-theme=dark] .playing-card.red{color:#af332f}:root[data-theme=dark] .playing-card.card-back{background:repeating-linear-gradient(45deg,#446e54 0 2px,#4b765d 2px 5px)}:root[data-theme=dark] .game-card,:root[data-theme=dark] .guide-card,:root[data-theme=dark] .article-aside{color:#edf3e6;background:#213a29}:root[data-theme=dark] .prose p,:root[data-theme=dark] .prose li,:root[data-theme=dark] .game-help p,:root[data-theme=dark] .game-help li,:root[data-theme=dark] .game-intro p{color:#cfdbc5}@media (width<=600px){.game-shell{border-radius:15px}.game-toolbar{gap:8px;padding:10px}.game-toolbar-actions{flex-wrap:wrap;gap:6px}.game-numbers{gap:10px}.game-shell button:not(.playing-card,.mahjong-tile,.stock,.empty-pile,.puzzle-cell,.jigsaw-piece,.block-piece){min-height:44px;padding:8px 10px;font-size:12px}.board-tools{gap:3px;padding:7px}.game-stage{min-height:360px;padding:18px 12px}.game-stage .card-table{min-width:340px}.game-stage .card-table.spider{--card-h:68px;min-width:480px}.game-stage .mahjong-board{min-width:530px}.game-stage.fit-to-screen .mahjong-board{min-width:420px}.game-stage.enlarged .card-table{min-width:620px}.game-stage.enlarged .card-table.spider,.game-stage.enlarged .mahjong-board{min-width:760px}.focus-mode{border-radius:0!important;inset:0!important}.card-corner{font-size:16px}.card-table.spider .card-corner{font-size:15px}.card-table.spider .card-corner small{font-size:13px}.cache-status{padding:0 12px 10px}.game-shell .mode-control select{max-width:155px;min-height:44px}.game-stage{overscroll-behavior:contain}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.freecell-board{--card-h:112px;--step:32px;min-width:640px;max-width:920px;margin:auto}.free-top,.free-tableau{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;display:grid}.free-top{margin-bottom:28px}.free-top .free-pile:nth-child(4){margin-right:5px}.free-pile{position:relative}.free-pile .playing-card{width:100%;height:112px;top:var(--top);min-height:0;padding:0}.free-slot{width:100%;height:112px;position:absolute;inset:0 0 auto;color:#425d45!important;background:#ffffff24!important;border:1px dashed #60795d!important}.legal-target{outline-offset:4px;border-radius:8px;outline:2px dashed #526f3c}.freecell .game-stage{max-height:75dvh;overflow:auto}.drag-stack .playing-card{top:var(--top);width:100%;height:112px;position:absolute}.sudoku-board{max-width:468px;min-height:560px;margin:auto}.sudoku-grid{aspect-ratio:1;background:#fffdf7;border:2px solid #49624b;border-radius:5px;grid-template-columns:repeat(9,1fr);display:grid;overflow:hidden}.game-shell .sudoku-cell{color:#236baa;background:#fffdf7;border:1px solid #cbd6c1;border-top:0;border-left:0;line-height:1;min-height:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;font-size:clamp(20px,4vw,29px)!important}.sudoku-cell:nth-child(3n){border-right:2px solid #49624b}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #49624b}.game-shell .sudoku-cell.given{color:#233e2f;font-weight:700}.game-shell .sudoku-cell.peer{background:#edf2e7}.game-shell .sudoku-cell.same{background:#d9e8cf}.game-shell .sudoku-cell.selected{outline-offset:-2px;background:#bedbb6;outline:2px solid #49723c}.game-shell .sudoku-cell.error{color:#a42929;background:#ffe1d9}.game-shell .sudoku-cell.hinted{box-shadow:inset 0 0 0 2px #a66e13!important}.pencil-notes{color:#53694b;grid-template-columns:repeat(3,1fr);align-items:center;height:100%;padding:2px;font-size:11px;line-height:1.2;display:grid}.number-pad{grid-template-columns:repeat(9,1fr);gap:4px;margin-top:18px;display:grid}.game-shell .number-pad button{min-width:0;padding:6px 0;font-size:21px}.puzzle-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin-top:12px;display:flex}.puzzle-controls button[aria-pressed=true]{background:#c9ddbd;border-color:#4c7841}.bubble-board{max-width:400px;min-height:650px;margin:auto}.bubble-canvas{touch-action:none;background:radial-gradient(at 50% 25%,#315b53,#173f3d);border:2px solid #749478;border-radius:20px;width:100%;height:auto;max-height:66dvh;display:block;box-shadow:inset 0 2px 20px #0a2e3655}.bubble-score{color:#294d37;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.bubble-canvas:focus-visible{outline-offset:4px;outline:3px solid #b66e0b}.game-stage.zoomed .freecell-board{min-width:880px}.game-stage.zoomed .sudoku-board{min-width:440px}.game-stage.zoomed .bubble-board{min-width:420px}.game-shell .free-pile button.playing-card{padding:0}.language-switch{flex-shrink:0;font-size:12px;position:relative}.language-switch summary{cursor:pointer;border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:6px 12px;display:flex}.site-header .language-switch nav{background:var(--paper,#faf8f3);border:1px solid var(--line);z-index:2500;border-radius:12px;flex-direction:column;gap:1px;min-width:190px;padding:12px;display:flex;position:absolute;top:50px;right:0;box-shadow:0 12px 24px #183c2420}.site-header .language-switch nav a{min-height:44px;padding:10px}.collection-tabs{flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.collection-tabs a{border:1px solid var(--line);border-radius:24px;padding:10px 15px;font-size:13px;text-decoration:none}.game-card-copy h3 a{text-decoration:none}.game-visual-link{display:block}.card-bottom-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-bottom-actions .card-action{flex:1;gap:7px;text-decoration:none}.favorite-button{border:1px solid var(--line);width:44px;height:44px;color:var(--green);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;font-size:24px}.is-favorite{border-color:#7d9560}.example-symbols{text-align:center;letter-spacing:7px;color:#305239;padding:20px 5px;font:32px Georgia,serif}.art-bubble-shooter{background:#f1dfc4}.art-sudoku{background:#e1e4ee}.art-bubble-shooter .art-cards,.art-sudoku .art-cards{display:none}.art-bubble-shooter:after{content:"● ◆ ●\a ▲ ● ★\a 　◆ ▲";white-space:pre;color:#407f88;text-shadow:2px 3px #fff8;font-size:42px;line-height:1.08;transform:rotate(-9deg)}.art-sudoku:after{content:"1　2　3¤　5　6§　8　9";white-space:pre;color:#37553a;background:repeating-linear-gradient(0deg,#0000 0 39px,#bccbb9 39px 40px),repeating-linear-gradient(90deg,#fffdf6 0 39px,#bccbb9 39px 40px);border:2px solid #8d9e88;border-radius:6px;padding:3px 10px;font:27px/1.5 Georgia,serif;transform:rotate(-7deg);box-shadow:4px 5px #b6c5b3}.header-inner{gap:18px}.site-header nav{flex-wrap:wrap;gap:22px}.hero-label{max-width:85%;letter-spacing:.5px!important}.guide-card h2{font-size:21px;line-height:1.4}.game-card,.game-card-copy{min-width:0}.game-card h3,.game-intro h1{overflow-wrap:anywhere}.game-toolbar-actions button,.board-tools button{white-space:normal;height:auto!important}.daily-badge{white-space:normal!important}.game-help{scroll-margin-top:15px}:root[data-theme=dark] .info-box,:root[data-theme=dark] .example-figure{background:#253f2a}:root[data-theme=dark] .sudoku-cell{color:#216195!important;background:#e9eee3!important}:root[data-theme=dark] .sudoku-cell.given{color:#173a24!important}:root[data-theme=dark] .sudoku-cell.selected{background:#aecb9d!important}:root[data-theme=dark] .sudoku-cell.error{color:#8b1717!important;background:#f4c8bc!important}:root[data-theme=dark] .bubble-score{color:#d5e4cc}:root[data-theme=dark] .game-card p{color:#cfdbc5}@media (width<=620px){.site-header .header-inner>nav{order:3;justify-content:space-between;width:100%}.language-switch{margin-left:auto}.hero h1{overflow-wrap:anywhere;font-size:clamp(32px,9vw,42px)}.game-card{grid-template-columns:35% 65%}.game-card-copy{padding:14px}.game-card h3{font-size:20px}.freecell .game-stage{padding:18px 8px}.freecell-board{min-width:610px}.game-shell .sudoku-cell{font-size:23px!important}.game-shell .number-pad button{min-height:44px;font-size:19px}.pencil-notes{font-size:9px}.bubble-board{min-height:535px}.bubble-canvas{max-height:none}.bubble-score{font-size:11px}.game-shell .board-tools button,.game-shell .game-toolbar-actions button{min-height:44px!important;font-size:12px!important}.game-numbers{flex-wrap:wrap}.game-intro{flex-wrap:wrap;gap:10px}.game-intro h1{font-size:29px}.site-footer nav a{align-items:center;min-height:44px;display:inline-flex}.example-symbols{letter-spacing:4px;font-size:25px}.number-pad{grid-template-columns:repeat(5,1fr);gap:6px}.game-shell .number-pad button{min-height:48px}.game-shell .number-pad button:last-child{grid-column:4/6}.sudoku-board{min-height:500px}}.example-sudoku{border:2px solid #567357;grid-template-columns:repeat(9,1fr);width:100%;max-width:480px;display:grid}.example-sudoku span{text-align:center;color:#294b34;background:#fffdf7;border-right:1px solid #b6c7ad;padding:10px 0;font:22px Georgia,serif}.example-sudoku .missing{background:#d4e9c5}.capacity-example{color:#31553b;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.capacity-example strong{background:#fffef7;border-radius:6px;padding:10px}:root[data-theme=dark] .eyebrow{color:#bfd3b3}:root[data-theme=dark] .brand-mark{background:#284c37}:root[data-theme=dark] .button{color:#19351f}:root[data-theme=dark] .button.secondary{color:#bfd3b3}:root[data-theme=dark] dialog p{color:#d5e1cc}:root[data-theme=dark] .example-figure figcaption{color:#d1dfc8}.card-corner{flex-direction:row;align-items:baseline;gap:4px;line-height:1}.freecell-board .card-corner{gap:3px;padding:6px 7px;font-size:21px}.freecell-board .card-corner small{font-size:16px}.card-table.spider .card-corner{gap:3px;padding:5px;font-size:19px}.card-table.spider .card-corner small{font-size:15px}@media (width<=620px){.card-table.spider .card-corner{gap:1px;padding:5px 2px;font-size:15px}.card-table.spider .card-corner small{font-size:12px}.freecell-board .card-corner{gap:2px;padding:5px;font-size:18px}.freecell-board .card-corner small{font-size:14px}}@media (width>=621px){.game-shell .card-corner{flex-direction:row;align-items:baseline;gap:4px}}
