:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b3029;background:#f7f5ee;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ce834e;outline-offset:3px}.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:10px;z-index:100;background:#fff;padding:12px}.skip-link:focus{left:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9dcd1}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:24px;letter-spacing:-1.6px;line-height:1}.brand:hover{text-decoration:none}.brand-dot{color:#cc874f}.brand-mark{width:26px;height:26px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;transform:rotate(-8deg)}.brand-mark i{display:block;border-radius:2px;background:#ddaa75}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){background:#294a3a}.site-header nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:700}.site-header nav a:hover{color:#ae6d40}
.hero{min-height:480px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;padding-block:54px 70px}.eyebrow,.overline,.aside-number,.art-label,.art-bottom,.about-marker{font-size:11px;letter-spacing:2.3px;font-weight:800}.eyebrow{display:flex;align-items:center;gap:12px;color:#a2653e}.eyebrow-line{width:28px;height:1px;background:#a2653e}.hero h1,.guide-page h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,6vw,80px);line-height:1.03;letter-spacing:-3.2px;margin:27px 0 22px;font-weight:600}.hero h1 em,.guide-page h1 em{font-weight:400;color:#a76f4e}.hero-copy>p{font-size:17px;line-height:1.7;max-width:510px;color:#5f6a60;margin:0 0 27px}.primary-link{display:inline-flex;align-items:center;gap:35px;background:#234735;color:white;padding:16px 21px;font-size:14px;font-weight:700;border-radius:5px;transition:background .2s,transform .2s}.primary-link:hover{background:#335f49;text-decoration:none;transform:translateY(-2px)}.primary-link span{font-size:19px;font-weight:400}.hero-note{display:block;color:#8a948a;font-size:11px;margin-top:16px;letter-spacing:.2px}.hero-art{justify-self:end;width:min(100%,415px);height:354px;background:#e5e9d9;border:1px solid #c8d2bf;border-radius:14px;box-shadow:18px 18px 0 #e8e1d3;position:relative;display:flex;align-items:center;justify-content:center;transform:rotate(3deg)}.art-label,.art-bottom{position:absolute;color:#60735f}.art-label{top:24px;left:27px}.art-bottom{bottom:20px;right:25px}.pixel-art{display:grid;grid-template-columns:repeat(7,29px);grid-template-rows:repeat(7,29px);gap:4px;transform:rotate(-3deg)}.pixel-art span{background:#d2dcc7;border-radius:2px}.pixel-art span.on{background:#315941;box-shadow:inset 0 -3px 0 #294b39}
.game-section{background:#e8ece3;border-top:1px solid #dce3d8;border-bottom:1px solid #dce3d8;padding:72px 0 90px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:29px}.overline{color:#aa7150}.section-intro h2,.about-section h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-1.6px;font-size:38px;margin:10px 0 0}.section-intro p{margin:0 0 4px;max-width:260px;color:#64756a;line-height:1.5;font-size:14px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.game-card{background:#fffefa;border:1px solid #d9ded3;border-radius:12px;padding:28px 30px 26px;box-shadow:0 12px 38px #2947350b}.game-topline,.puzzle-heading,.tool-row,.game-actions{display:flex;align-items:center;justify-content:space-between}.game-topline{padding-bottom:22px;border-bottom:1px solid #e8eae3}.mode-tabs{display:flex;gap:4px;padding:4px;border-radius:6px;background:#edf0e8}.mode-tabs button{border:0;background:transparent;color:#647167;padding:9px 15px;border-radius:4px;font-size:12px;font-weight:700}.mode-tabs button[aria-selected="true"]{background:white;color:#254936;box-shadow:0 1px 4px #122f1a18}.size-pill{padding:7px 10px;border-radius:4px;background:#f2f4ed;color:#607464;font-size:11px;font-weight:800}.puzzle-heading{margin-top:24px;margin-bottom:22px;gap:20px}.puzzle-heading h3{font-family:Georgia,serif;font-size:27px;letter-spacing:-.8px;font-weight:500;margin:5px 0 0}.timer-box{text-align:right;display:grid;gap:3px}.timer-box span{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#8b988c}.timer-box strong{font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:1px}.practice-picker{margin:-2px 0 16px;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;color:#647167}.practice-picker select{min-width:160px;border:1px solid #cbd5c9;background:white;border-radius:4px;padding:7px 10px;color:#254936}.notice{background:#f8eacb;padding:10px 12px;border-radius:5px;font-size:12px;margin-bottom:12px}.notice button{border:0;background:transparent;text-decoration:underline;font-weight:800;color:#234735}
.board-frame{display:flex;justify-content:center;overflow-x:auto;max-width:100%;padding:7px 0 15px}.board{display:grid;grid-template-columns:54px repeat(var(--size),var(--cell-size));grid-template-rows:60px repeat(var(--size),var(--cell-size));width:max-content;touch-action:manipulation;user-select:none}.board-corner{background:#e9ede4;border-right:2px solid #637c66;border-bottom:2px solid #637c66;border-radius:3px 0 0 0}.col-clue,.row-clue{display:flex;align-items:center;justify-content:center;color:#405e4a;font-size:clamp(10px,1.1vw,13px);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;background:#eff2eb}.col-clue{flex-direction:column;justify-content:flex-end;padding-bottom:5px;border-bottom:2px solid #637c66;border-right:1px solid #d6ded3}.row-clue{justify-content:flex-end;gap:4px;padding-right:7px;border-right:2px solid #637c66;border-bottom:1px solid #d6ded3}.col-clue.complete,.row-clue.complete{color:#9baca0}.cell{appearance:none;border:0;border-right:1px solid #c7d5c8;border-bottom:1px solid #c7d5c8;background:#fffefa;border-radius:0;display:flex;align-items:center;justify-content:center;padding:0;color:#b5bfb2;font-size:clamp(13px,2vw,22px);font-weight:500;line-height:1;transition:background .09s}.cell:hover{background:#ecf2e8}.cell.filled{background:#2b6047}.cell.filled:hover{background:#397258}.cell.empty{background:#f5f6f0}.cell:focus-visible{outline:3px solid #c87c45;outline-offset:-3px;position:relative;z-index:2}.cell.block-right{border-right:2px solid #6d8b74}.cell.block-bottom{border-bottom:2px solid #6d8b74}.cell.selected{box-shadow:inset 0 0 0 2px #e0a96c}.board.solved .cell.filled{background:#d78659}.board.solved .cell{cursor:default}.tool-row{gap:10px;border-top:1px solid #eaede6;padding-top:17px}.tool-label{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#8a958a}.tool-switch{display:flex;background:#f0f2eb;padding:4px;border-radius:5px}.tool-switch button{border:0;background:transparent;color:#698071;padding:8px 14px;font-size:12px;font-weight:750;border-radius:4px;display:flex;align-items:center;gap:7px}.tool-switch button.active{background:#284f3b;color:white}.tool-icon{display:inline-flex;width:13px;height:13px;align-items:center;justify-content:center}.fill-icon{background:currentColor;border:1px solid currentColor;border-radius:1px}.tool-switch button.active .fill-icon{background:#dfb480}.x-icon{font-size:22px;line-height:10px}.tool-help{font-size:11px;color:#9aa69a}.game-actions{justify-content:flex-start;gap:8px;margin-top:18px;flex-wrap:wrap}.game-actions button{border:1px solid #d9e0d7;border-radius:5px;background:#fff;color:#506553;padding:10px 12px;font-size:13px;font-weight:700}.game-actions button:hover:not(:disabled){background:#f0f4ed}.game-actions button:disabled{opacity:.45;cursor:not-allowed}.game-actions small{font-size:10px;color:#a36540}.result{margin-top:20px;border:1px solid #e9c8a8;background:#fff3e8;border-radius:7px;padding:15px;display:flex;align-items:center;gap:12px}.result-sparkle{font-size:27px;color:#b56637}.result strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:500}.result p{margin:3px 0 0;color:#7a6a58;font-size:12px}.result button{margin-left:auto;white-space:nowrap;background:#284f3b;color:white;border:0;border-radius:4px;padding:10px 12px;font-size:12px;font-weight:800}
.game-aside{display:grid;gap:17px}.aside-card{border-radius:11px;padding:26px}.aside-guide{background:#254936;color:#fff}.aside-number{color:#d7af7d}.aside-guide h3{font-family:Georgia,serif;font-size:27px;line-height:1.12;font-weight:500;margin:22px 0 13px}.aside-guide p{font-size:13px;line-height:1.7;color:#d3dfd3;margin:0}.aside-guide .example{margin:25px 0;background:#365d48;padding:16px;border-radius:5px}.example-clue{font-size:12px;font-weight:800;color:#f1dbbd;margin-bottom:9px}.example-cells{display:flex;gap:3px}.example-cells i{display:block;width:24px;height:24px;background:#e5eddf;border-radius:2px}.example-cells i.filled{background:#e2ac73}.aside-guide a{font-size:12px;font-weight:800;color:#eed2ae}.aside-guide a span{font-size:17px;margin-left:6px}.aside-tip{background:#e6d3b5;min-height:190px;position:relative;overflow:hidden}.aside-tip .aside-number{color:#926943}.aside-tip p{max-width:205px;font-family:Georgia,serif;font-size:21px;line-height:1.35;margin:21px 0 0;position:relative;z-index:1}.tip-flower{position:absolute;right:-5px;bottom:-48px;color:#d2b88c;font-size:150px;line-height:1}
.about-section{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-block:86px 95px}.about-marker{color:#aa7150;padding-top:12px}.about-section h2{margin:0 0 20px}.about-section p{font-size:15px;color:#657168;line-height:1.85;max-width:660px;margin:0 0 14px}.site-footer{min-height:106px;border-top:1px solid #d9dcd1;display:flex;align-items:center;gap:30px;color:#617065;font-size:12px}.site-footer .brand{color:#1b3029;font-size:20px}.site-footer p{margin-right:auto}.site-footer>a:last-child{font-weight:800}.guide-page{padding-block:75px 100px}.guide-page h1{margin:22px 0}.guide-lead{font-size:18px;line-height:1.7;max-width:730px;color:#657168}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:55px}.guide-grid article{border:1px solid #d9ded4;background:#fffefa;border-radius:9px;padding:30px}.guide-grid article>span{font-size:12px;letter-spacing:2px;font-weight:800;color:#b17c53}.guide-grid h2{font-family:Georgia,serif;font-weight:500;margin:20px 0 10px;font-size:25px}.guide-grid p,.guide-example p,.guide-faq p{line-height:1.75;color:#667168;font-size:14px}.guide-example{margin:52px 0;padding:38px;border-radius:10px;background:#254936;color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.guide-example h2{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:10px 0}.guide-example p{color:#d6e4d7;max-width:490px}.example-cells.large i{width:42px;height:42px}.guide-faq{max-width:740px;margin:0 0 45px}.guide-faq h2{font-family:Georgia,serif;font-size:34px;font-weight:500}.guide-faq h3{font-size:16px;margin:27px 0 5px}.guide-faq p{margin:0}.not-found{padding-block:18vh}.not-found h1{font-family:Georgia,serif;font-size:58px;font-weight:500}.not-found p{color:#647167;margin-bottom:30px}
@media(max-width:900px){.game-layout{grid-template-columns:minmax(0,1fr)}.game-aside{grid-template-columns:1fr 1fr}.hero-art{height:320px}.pixel-art{grid-template-columns:repeat(7,25px);grid-template-rows:repeat(7,25px)}}@media(max-width:700px){.shell{width:min(100% - 28px,560px)}.site-header{height:67px}.brand{font-size:22px}.site-header nav{gap:17px;font-size:12px}.hero{grid-template-columns:1fr;gap:35px;padding-block:54px 65px}.hero h1,.guide-page h1{font-size:clamp(50px,12vw,70px);letter-spacing:-2.5px}.hero-art{justify-self:center;width:min(86%,355px);height:280px;box-shadow:12px 12px 0 #e8e1d3}.pixel-art{grid-template-columns:repeat(7,21px);grid-template-rows:repeat(7,21px)}.section-intro{display:block}.section-intro p{margin-top:14px}.game-section{padding:55px 0 65px}.game-card{padding:18px 12px}.game-topline{padding-bottom:16px}.mode-tabs button{padding:8px 10px}.puzzle-heading{padding-inline:5px}.puzzle-heading h3{font-size:24px}.game-aside{grid-template-columns:1fr}.aside-tip{min-height:150px}.tool-row{flex-wrap:wrap;justify-content:center}.tool-label,.tool-help{width:100%;text-align:center}.tool-help{order:2}.game-actions{justify-content:center}.game-actions button{padding:10px}.result{flex-wrap:wrap}.result button{margin-left:0;width:100%}.about-section{grid-template-columns:1fr;gap:15px;padding-block:60px}.site-footer{flex-wrap:wrap;gap:12px;padding-block:24px}.site-footer p{width:100%;order:2}.guide-page{padding-block:55px 75px}.guide-grid{grid-template-columns:1fr;margin-top:37px}.guide-example{display:block;padding:25px}.guide-example .example-cells{margin-top:22px}.example-cells.large i{width:min(11vw,42px);height:min(11vw,42px)}}@media(max-width:370px){.site-header nav{gap:12px}.site-header nav a{font-size:11px}.game-card{padding-inline:7px}.board{grid-template-columns:48px repeat(var(--size),var(--cell-size));grid-template-rows:52px repeat(var(--size),var(--cell-size))}.row-clue{padding-right:4px;gap:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.privacy-page{max-width:900px}.privacy-page h2{font-family:Georgia,serif;font-weight:500;font-size:28px;margin:34px 0 9px}.privacy-page>p:not(.guide-lead){max-width:710px;color:#657168;line-height:1.75}.privacy-updated{font-size:12px;margin:36px 0 26px}
.site-header .brand{font-size:20px;letter-spacing:-.8px}
@media(max-width:700px){.site-header .brand{font-size:17px;letter-spacing:-.5px}.site-header nav{gap:12px}}
.board-corner,.row-clue{position:sticky;left:0;z-index:1}.board-help{text-align:center;font-size:11px;color:#728477;margin:0 0 8px}@media(min-width:701px){.board-help{display:none}}

/* Keep the playable nonogram close to the search landing page heading. */
.nonogram-hero{min-height:0;padding-block:28px 32px;grid-template-columns:minmax(0,1fr) 185px;gap:28px}
.nonogram-hero h1{font-size:clamp(38px,4.5vw,58px);margin:10px 0 12px;letter-spacing:-2px}
.nonogram-hero .hero-copy>p{font-size:15px;line-height:1.55;margin-bottom:15px;max-width:690px}
.nonogram-hero .primary-link{padding:11px 15px}
.nonogram-hero .hero-note{margin-top:9px}
.nonogram-hero .hero-art{width:175px;height:155px;box-shadow:7px 7px 0 #e8e1d3}
.nonogram-hero .art-label{top:10px;left:12px;font-size:8px;letter-spacing:1px}
.nonogram-hero .art-bottom{bottom:7px;right:12px;font-size:8px}
.nonogram-hero .pixel-art{grid-template-columns:repeat(7,14px);grid-template-rows:repeat(7,14px);gap:2px}
.nonogram-hero+.game-section{padding-top:30px}
.puzzle-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 13px;font-size:12px;color:#647167}
.puzzle-picker label{font-weight:700;color:#415947}
.puzzle-picker input,.puzzle-picker select{border:1px solid #cbd5c9;background:white;border-radius:4px;padding:7px 10px;color:#254936;font:inherit}
.puzzle-picker input:focus-visible{outline:3px solid #ce834e;outline-offset:3px}
.puzzle-picker select{min-width:115px}
.puzzle-picker span,.puzzle-link-row span{font-size:11px;color:#78887c}
.puzzle-link-row{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.puzzle-link-row button{border:0;background:transparent;padding:0;color:#315e45;font-weight:800;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.save-note{font-size:11px;line-height:1.5;color:#647767;margin:0 0 12px}
.hint-explanation{margin:14px 0 0;padding:12px 15px;background:#f0f4eb;border-left:3px solid #5f8966;color:#315640;font-size:13px;line-height:1.6}
.result-next{display:inline-block;margin-top:7px;color:#315e45;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.board-view{display:flex;justify-content:center;align-items:center;gap:10px;min-height:24px;flex-wrap:wrap}
.board-view button{border:0;background:transparent;color:#315e45;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:750;padding:2px 4px}
.board-view button[aria-pressed="true"]{color:#a36540}
.board-view .board-help{margin:0}
@media(min-width:701px){.board-view{display:none}}
@media(max-width:700px){
  .nonogram-hero{padding-block:15px 18px;display:block}
  .nonogram-hero h1{font-size:clamp(36px,9vw,48px);line-height:1.05;margin:8px 0}
  .nonogram-hero .hero-copy>p{font-size:13px;line-height:1.45;margin:0 0 10px}
  .nonogram-hero .hero-art,.nonogram-hero .hero-note{display:none}
  .nonogram-hero .primary-link{padding:8px 12px;font-size:12px}
  .nonogram-hero+.game-section{padding-top:15px}
  .nonogram-hero+.game-section .section-intro{margin-bottom:10px}
  .nonogram-hero+.game-section .section-intro h2{font-size:26px;margin-top:3px}
  .nonogram-hero+.game-section .section-intro p{display:none}
  .puzzle-picker{gap:7px}
  .puzzle-picker span,.puzzle-link-row span{display:none}
}
.beginner-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}

.collection-hero{padding:94px 0 103px}.collection-hero h1,.game-page-hero h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,88px);line-height:1.02;letter-spacing:-3.5px;font-weight:500;margin:20px 0}.collection-hero h1 em{color:#a76f4e;font-weight:400}.collection-hero p{font-size:18px;line-height:1.7;color:#657168;max-width:630px;margin:0 0 28px}.catalog-section,.play-section{background:#e8ece3;border-block:1px solid #dce3d8;padding:70px 0 85px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-card{min-height:255px;background:#fffefa;border:1px solid #d9ded3;border-radius:10px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 20px #29473509;transition:transform .16s,box-shadow .16s}.catalog-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 15px 25px #29473518}.catalog-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:9px;background:#e7ecdf;color:#2d5b42;font-size:26px;line-height:1;margin-bottom:20px}.catalog-category{font-size:10px;color:#aa7150;letter-spacing:1.7px;text-transform:uppercase;font-weight:800}.catalog-card strong{font-family:Georgia,serif;font-weight:500;letter-spacing:-.5px;font-size:27px;margin:5px 0 9px}.catalog-card>span:nth-last-child(2){font-size:12px;line-height:1.6;color:#6e796e}.catalog-card b{margin-top:auto;padding-top:20px;color:#2b6047;font-size:12px}.game-page-hero{padding:45px 0 40px}.game-page-hero .breadcrumb{display:block;font-size:12px;color:#718073;margin-bottom:35px}.game-page-hero h1{font-size:clamp(49px,6vw,76px);margin:10px 0 12px}.game-page-hero p{max-width:700px;font-size:16px;color:#657168;line-height:1.7;margin:0}.play-section{padding:35px 0 70px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.play-surface{min-height:450px;background:#fffefa;border:1px solid #d8e0d3;border-radius:12px;padding:24px;box-shadow:0 12px 38px #2947350b}.play-aside{background:#254936;color:white;padding:26px;border-radius:11px}.play-aside h2{font-family:Georgia,serif;font-weight:500;font-size:27px;margin:18px 0 12px}.play-aside>p{font-size:13px;line-height:1.7;color:#d3dfd3}.play-aside .aside-tip{margin-top:25px;min-height:130px;padding:20px}.play-aside .aside-tip p{font-size:18px;margin:12px 0 0}.related-section{padding:75px 0 90px}.catalog-grid.compact .catalog-card{min-height:235px}.game-root{min-height:360px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.game-toolbar h2{font-family:Georgia,serif;font-size:24px;letter-spacing:-.5px;margin:0;font-weight:500}.game-stats{display:flex;gap:10px;flex-wrap:wrap}.stat{background:#edf1e9;border-radius:5px;padding:8px 12px;font-size:11px;color:#647467;font-weight:700}.stat strong{display:block;font-size:18px;color:#274d39;font-variant-numeric:tabular-nums}.game-button,.game-root button:not(.tile):not(.cell){border:1px solid #d6ded2;background:#fffefa;color:#2d543f;border-radius:5px;padding:10px 14px;font-size:13px;font-weight:750}.game-button:hover,.game-root button:hover{background:#edf3e9}.game-button.primary{background:#2d5b42;color:white;border-color:#2d5b42}.game-button.primary:hover{background:#3c7053;color:white}.game-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.game-message{font-size:13px;color:#5f7261;min-height:20px;margin:12px 0}.game-canvas{display:block;width:min(100%,430px);height:auto;aspect-ratio:4/5;background:#f1f4e9;border:2px solid #738a74;border-radius:8px;margin-inline:auto;touch-action:none}.game-canvas.wide{width:100%;aspect-ratio:16/9}.direction-pad{display:grid;grid-template-columns:repeat(3,46px);gap:5px;justify-content:center;margin:14px 0}.direction-pad button{height:43px}.direction-pad button:nth-child(1){grid-column:2}.direction-pad button:nth-child(2){grid-column:1}.direction-pad button:nth-child(3){grid-column:2}.direction-pad button:nth-child(4){grid-column:3}.game-status-panel{background:#f2f4ed;border:1px solid #dbe4d7;border-radius:7px;padding:14px 16px;margin-top:14px}.game-status-panel strong{font-family:Georgia,serif;font-size:20px;font-weight:500}.game-status-panel p{font-size:13px;color:#627262;margin:4px 0 0}.game-grid{display:grid;gap:5px;margin-inline:auto}.grid-2048{width:min(100%,400px);grid-template-columns:repeat(4,1fr);background:#abc0ac;padding:8px;border-radius:8px;touch-action:none}.tile-2048{aspect-ratio:1;border-radius:5px;display:grid;place-items:center;background:#dbe5d7;color:#315441;font-weight:900;font-size:clamp(18px,4vw,32px)}.tile-2048[data-value="0"]{color:transparent;background:#cddbc9}.tile-2048[data-value="2"],.tile-2048[data-value="4"]{background:#f5e4c9}.tile-2048[data-value="8"],.tile-2048[data-value="16"]{background:#edbd83}.tile-2048[data-value="32"],.tile-2048[data-value="64"]{background:#df966a;color:white}.tile-2048[data-value="128"],.tile-2048[data-value="256"],.tile-2048[data-value="512"]{background:#bd754e;color:white}.tile-2048[data-value="1024"],.tile-2048[data-value="2048"]{background:#2d6248;color:white;font-size:24px}.craft-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:16px}.craft-workspace{min-height:330px;background:#eff2e9;border:1px dashed #a8bca7;border-radius:8px;padding:18px}.craft-selected{display:flex;gap:10px;align-items:center;min-height:56px}.craft-slot{border:1px solid #cdd9ca;border-radius:5px;background:white;padding:9px 12px;min-width:90px;text-align:center;font-size:13px}.craft-library{max-height:340px;overflow:auto;display:flex;align-content:start;align-items:start;flex-wrap:wrap;gap:7px}.craft-library button{padding:7px 9px!important}.craft-result{font-family:Georgia,serif;font-size:26px;margin:24px 0;color:#285139}.craft-count{font-size:12px;color:#677968}.mahjong-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-width:610px;margin-inline:auto}.mahjong-board .tile{height:57px;border:2px solid #bdc9b6;border-bottom-width:5px;background:#fffdf1;border-radius:6px;font-size:24px;color:#315542}.mahjong-board .tile:disabled{opacity:.25;cursor:default}.mahjong-board .tile.selected{background:#f4d2a9;border-color:#b7794d}.mahjong-board .tile.removed{visibility:hidden}.card-top{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:23px}.card-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-height:320px}.card-pile{min-height:90px;border:1px dashed #abc1ad;border-radius:6px;position:relative;text-align:center;color:#899d8b;font-size:11px;padding:3px;cursor:pointer}.card-pile.selected{outline:3px solid #d69b61}.playing-card{height:65px;border:1px solid #bdcbbd;border-radius:5px;background:#fffef8;display:flex;align-items:flex-start;justify-content:flex-start;padding:5px;font-size:15px;font-weight:800;box-shadow:0 2px 4px #244b321a;cursor:pointer}.playing-card.red{color:#bd6753}.playing-card.black{color:#244333}.playing-card.back{background:repeating-linear-gradient(45deg,#315e45 0 5px,#4f765b 5px 10px);border:3px solid #fff;color:transparent}.tableau-card{position:absolute;left:2px;right:2px}.card-label{display:block;font-size:10px;color:#839583;margin-top:4px}.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,500px);margin-inline:auto;border:2px solid #3d6149}.sudoku-grid button{aspect-ratio:1;padding:0!important;border:1px solid #b7c9b9!important;border-radius:0!important;font-size:clamp(14px,3vw,23px)!important}.sudoku-grid button.given{background:#e2eadf!important;color:#264632!important}.sudoku-grid button.active{background:#f4d6b5!important}.sudoku-grid button.conflict{color:#b94848!important}.sudoku-grid button.box-right{border-right:2px solid #3d6149!important}.sudoku-grid button.box-bottom{border-bottom:2px solid #3d6149!important}.sudoku-keypad{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:14px auto;max-width:500px}.sudoku-keypad button{padding:9px 0!important}.country-shape{height:270px;display:grid;place-items:center;background:#edf1e9;border-radius:8px;margin-bottom:20px}.country-shape svg{width:95%;height:95%;fill:#315e46;stroke:#214d37;stroke-width:1}.guess-form{display:flex;gap:8px}.guess-form input{min-width:0;flex:1;border:1px solid #c2d0c0;padding:11px;border-radius:5px;font:inherit}.guess-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.guess-list span{padding:6px 9px;border-radius:4px;background:#e5ece3;color:#415846;font-size:12px}
@media(max-width:900px){.play-layout{grid-template-columns:1fr}.play-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.play-aside .aside-tip{margin:0}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.collection-hero{padding:58px 0 70px}.collection-hero h1,.game-page-hero h1{font-size:clamp(49px,11vw,68px);letter-spacing:-2.5px}.catalog-section{padding:55px 0}.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:220px}.game-page-hero{padding:30px 0}.play-section{padding:14px 0 50px}.play-surface{padding:14px;min-height:340px}.play-aside{display:block}.play-aside .aside-tip{margin-top:20px}.craft-layout{grid-template-columns:1fr}.craft-library{max-height:220px}.mahjong-board{gap:3px}.mahjong-board .tile{height:42px;font-size:18px}.playing-card{height:58px;font-size:12px;padding:3px}.card-pile{min-height:70px}.card-top,.card-tableau{gap:3px}.sudoku-keypad{grid-template-columns:repeat(5,1fr)}}
.play-aside .aside-tip{color:#3a513d}.play-aside .aside-tip p{color:#3a513d}.craft-search{width:100%;border:1px solid #c9d8c9;border-radius:5px;padding:10px;margin:11px 0}.sudoku-grid button.notes{font-size:10px!important;line-height:1.2;overflow-wrap:anywhere;color:#64806a}.data-credit{font-size:11px;line-height:1.5;color:#7b8c7b;margin-top:18px}.data-credit a{text-decoration:underline}.game-root button:disabled{opacity:.5;cursor:not-allowed}
.game-details{padding-block:74px 10px}.game-details h2{font-family:Georgia,serif;font-size:38px;font-weight:500;letter-spacing:-1.3px;margin:10px 0 26px}.game-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.game-details h3{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:0 0 10px}.game-details p{color:#657168;font-size:14px;line-height:1.8;margin:0}@media(max-width:650px){.game-details{padding-block:55px 0}.game-details h2{font-size:32px}.game-details-grid{grid-template-columns:1fr;gap:27px}}

.home-hero{padding:25px 0 29px}
.home-hero h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-2px;font-weight:500;margin:8px 0 11px}
.home-hero h1 em{color:#a76f4e;font-weight:400}
.home-hero p{font-size:15px;line-height:1.55;color:#657168;max-width:720px;margin:0 0 14px}
.home-hero .primary-link{padding:10px 14px}
.home-hero+.game-section{padding-top:30px}
.home-hero+.game-section .section-intro{display:none}
#hop-hold{min-width:150px;min-height:48px;touch-action:none}
body[data-game="block-hop"] .game-root,
body[data-game="block-hop"] .game-root *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
body[data-game="sidewalk-skater"] .game-canvas{border-color:#557b79;background:#d7ebea}
body[data-game="sidewalk-skater"] .skate-controls{justify-content:center}
body[data-game="sidewalk-skater"] .skate-controls button{min-width:82px;min-height:46px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
body[data-game="sidewalk-skater"] .skate-controls button[aria-pressed="true"]{background:#d4e8e6;color:#1e5958;border-color:#62a6a0}
body[data-game="sidewalk-skater"] .skate-controls #skate-trick,body[data-game="sidewalk-skater"] .skate-controls #skate-grind{background:#284f4b;color:#fff8e8;border-color:#284f4b}
body[data-game="sidewalk-skater"] .skate-controls #skate-trick:hover,body[data-game="sidewalk-skater"] .skate-controls #skate-grind:hover{background:#356b63;color:#fff}
body[data-game="sidewalk-skater"] .skate-balance{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;column-gap:12px;row-gap:5px;margin:-4px 0 11px;font-size:11px;font-weight:800;letter-spacing:.7px;color:#315e50}
body[data-game="sidewalk-skater"] .skate-balance strong{font-variant-numeric:tabular-nums}
body[data-game="sidewalk-skater"] .skate-balance-track{height:12px;border-radius:20px;background:#dce7dc;overflow:hidden;border:1px solid #bfd0c1}
body[data-game="sidewalk-skater"] .skate-balance-track i{display:block;width:100%;height:100%;background:#65ad84;border-radius:20px;transition:width .14s,background .14s}
body[data-game="sidewalk-skater"] #skate-trick-note{grid-column:1/-1;font-size:11px;font-weight:600;letter-spacing:0;color:#617468;min-height:17px}
body[data-game="sidewalk-skater"] .game-stats{gap:6px}
body[data-game="sidewalk-skater"] .game-stats .stat{padding:7px 9px}
body[data-game="sidewalk-skater"] .play-aside{display:block}
body[data-game="sidewalk-skater"] .skate-character-portrait{margin:0 0 24px;background:linear-gradient(145deg,#e2ece6,#d3dfd3);border-radius:8px;overflow:hidden}
body[data-game="sidewalk-skater"] .skate-character-portrait img{display:block;width:100%;height:auto}
#hop-canvas{border-color:#b5c6b9;aspect-ratio:auto}
#hop-canvas:focus-visible{outline:3px solid #c8794f;outline-offset:3px}
@media(max-width:650px){
  .home-hero{padding:15px 0 18px}
  .home-hero h1{font-size:clamp(36px,9vw,48px);letter-spacing:-1.5px}
  .home-hero p{font-size:13px;line-height:1.45;margin-bottom:10px}
  .home-hero .primary-link{padding:8px 12px;font-size:12px}
  .home-hero+.game-section{padding-top:15px}
  .home-hero+.game-section .section-intro{margin-bottom:10px}
  .home-hero+.game-section .section-intro h2{font-size:26px;margin-top:3px}
  .home-hero+.game-section .section-intro p{display:none}
  body[data-game="block-hop"] .game-page-hero{padding:20px 0 19px}
  body[data-game="block-hop"] .game-page-hero .breadcrumb{margin-bottom:17px}
  body[data-game="block-hop"] .game-toolbar{margin-bottom:12px}
}

.intent-section,.decision-section,.hub-guide{padding-block:70px}
.break-guide{padding-block:56px 68px}
.break-guide .section-intro p{max-width:410px;line-height:1.6;color:#657168}
.break-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.break-grid a{display:flex;flex-direction:column;min-height:200px;padding:24px;border:1px solid #d6dfd2;border-radius:10px;background:#fffefa;box-shadow:0 8px 22px #2947350a}
.break-grid a:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 26px #29473516}
.break-grid span{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#a76f4e}
.break-grid strong{font-family:Georgia,serif;font-size:25px;font-weight:500;color:#254936;margin-top:10px}
.break-grid p{font-size:13px;line-height:1.6;color:#657168;margin:10px 0 0}
.break-grid b{font-size:12px;color:#2b6047;margin-top:auto;padding-top:18px}
.related-section .catalog-grid.compact{grid-template-columns:minmax(0,380px)}
.game-next{font-size:13px;line-height:1.6;color:#54705d;margin:8px 0 0}
.game-next a{text-decoration:underline;text-underline-offset:3px;font-weight:700;color:#2b6047}
.release-notes{border-top:1px solid #d9ded3;margin-top:35px;padding-top:26px}
.release-notes h2{margin-bottom:14px}
.release-notes p{font-size:14px;line-height:1.7;color:#657168;margin:8px 0}
.release-notes time{font-weight:750;color:#315640}
.intent-section .section-intro,.decision-section .section-intro{align-items:end}
.intent-section .section-intro p,.decision-section .section-intro p{max-width:440px;line-height:1.7;color:#657168}
.intent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.intent-card{display:flex;flex-direction:column;padding:26px;border:1px solid #d9ded3;border-radius:10px;background:#fffefa;min-height:210px}
.intent-card:hover{text-decoration:none;box-shadow:0 12px 25px #29473512;transform:translateY(-2px)}
.intent-card h3{font-family:Georgia,serif;font-size:25px;letter-spacing:-.5px;font-weight:500;margin:0 0 12px;color:#254936}
.intent-card p{font-size:13px;line-height:1.7;color:#657168;margin:0}
.intent-card strong{font-size:12px;color:#2b6047;margin-top:auto;padding-top:18px}
.decision-section h2,.hub-guide h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(30px,4vw,42px);letter-spacing:-1px;margin:9px 0 20px}
.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}
.decision-grid>div{background:#f1f4ec;border:1px solid #dbe4d7;border-radius:8px;padding:18px 20px}
.decision-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;font-weight:800;color:#a76f4e;margin-bottom:8px}
.decision-grid dd{font-size:15px;line-height:1.55;color:#315340;margin:0}
.decision-note{font-size:14px;line-height:1.7;color:#657168}
.decision-note strong{color:#254936}
.game-preview{margin:30px 0 0}
.game-preview img{display:block;width:min(100%,800px);height:auto;aspect-ratio:40/21;object-fit:cover;border-radius:11px;border:1px solid #d9ded3}
.game-preview figcaption{font-size:11px;color:#718073;margin-top:9px}
.hub-guide{padding-top:25px}
.hub-guide .game-details-grid{gap:18px}
.hub-guide article{border-top:1px solid #d9ded3;padding-top:16px}
.hub-guide h3{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:0 0 10px;color:#254936}
.hub-guide article p{font-size:14px;line-height:1.75;color:#657168;margin:0}
.related-browse{color:#657168;margin-top:25px;font-size:14px}
.related-browse a{color:#2b6047;text-decoration:underline}
@media(max-width:750px){.intent-grid{grid-template-columns:1fr}.intent-card{min-height:0}.decision-grid{grid-template-columns:1fr}.intent-section,.decision-section,.hub-guide{padding-block:50px}}
@media(max-width:750px){.break-guide{padding-block:42px}.break-grid{grid-template-columns:1fr}.break-grid a{min-height:0}}

#snake-canvas{aspect-ratio:1}
.tile-2048.merged{animation:merge-pop .2s ease-out}
@keyframes merge-pop{from{transform:scale(.82)}65%{transform:scale(1.08)}to{transform:scale(1)}}
.craft-recent{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.craft-recent span{background:#e0e9d9;color:#245641;border-radius:20px;padding:5px 9px;font-size:12px;font-weight:700}
.craft-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.craft-quick button{padding:7px 10px!important;background:#fffefa!important}
.sudoku-frame{max-width:100%;overflow:hidden}
.sudoku-frame.zoom{overflow-x:auto;padding-bottom:8px}
.sudoku-frame.zoom .sudoku-grid{width:500px;max-width:none;margin-left:0}
.card-pile.legal-target{outline:3px solid #6d9a71;outline-offset:2px}
.tableau-card[role="button"]:focus-visible{outline:3px solid #c98649;outline-offset:1px;z-index:2}
.solitaire-scroll{max-width:100%;overflow:hidden}
.solitaire-scroll.zoom{overflow-x:auto;padding:4px 4px 10px}
.solitaire-scroll.zoom .card-top,.solitaire-scroll.zoom .card-tableau{width:700px;min-width:700px}
.grid-2048:focus-visible{outline:3px solid #c98649;outline-offset:4px}
.game-canvas:focus-visible{outline:3px solid #c98649;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.tile-2048.merged{animation:none}}
.fruit-chain{display:flex;gap:5px;overflow-x:auto;padding:5px 0 8px;scrollbar-width:thin}
.play-surface{min-width:0}
@media(max-width:900px){.play-layout{grid-template-columns:minmax(0,1fr)}}
.fruit-chain span{flex:none;border:1px solid #dce3d7;border-left:5px solid var(--fruit-color);border-radius:4px;padding:5px 7px;background:#f8f8f3;color:#809083;font-size:11px;font-weight:700}
.fruit-chain span.reached{color:#2a4b38;background:#fffefa;border-color:#aebdab}

