: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}
@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}
}
