/* Warm paper, leaf greens and a compact place to sit and play. */
:root{--paper:#fbf8ef;--ink:#293d32;--green:#466b42;--blue:#466b42;--line:#dcdccc}
body{background:var(--paper);color:var(--ink)}
.button.primary{background:#466b42;border-color:#466b42}.button.primary:hover{background:#355334}
.masthead{background:#fbf8eff5}.masthead .wordmark{color:#304831}.site-nav a{font-size:17px}
#top-path,.menu-toggle{display:none}.menu-toggle{width:44px;height:44px;min-height:44px;padding:0;border:1px solid #d1d8c5;background:#f0f2e4;border-radius:50%;font-size:22px;color:#355b36}
#site-drawer{border:1px solid #ccd6be;border-radius:24px;background:#fbf8ef;color:#293d32;width:min(460px,calc(100% - 24px));padding:24px;max-height:calc(100dvh - 50px);overflow:auto;box-shadow:0 20px 80px #29423333}
#site-drawer::backdrop{background:#233a2e70;backdrop-filter:blur(3px)}.drawer-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.drawer-heading h2{font:normal 30px var(--serif);margin:0}.drawer-heading button{width:44px;flex:none}
#site-drawer nav{display:grid;margin-top:20px}#site-drawer nav a{display:block;padding:18px 0;border-top:1px solid #dedfcd;text-decoration:none;font:normal 26px var(--serif)}#site-drawer nav span{display:block;font:17px/1.4 var(--font);margin-top:5px;color:#60715a}
.library-intro{border-bottom:1px solid #dde1cc;padding-bottom:20px;position:relative}.library-intro:after{content:'❧';position:absolute;right:12px;top:-8px;color:#a5b591;font-size:65px;transform:rotate(-20deg)}.library-intro h1{padding-right:65px}
.library-card{background:#fffdf6;border-color:#dedfce;box-shadow:0 4px 0 #e8e8d980}.library-card .card-picture{background-image:radial-gradient(ellipse at 15% 0,#fffaf480,transparent)}
.library-card-copy{padding:19px 22px}.library-pace{background:#fffdf3}.library-type{background:#fffdf580}.library-card h2{color:#304932}
.garden-intro{margin:14px 0 30px}.garden-intro h1,.pack-intro h1{font:normal clamp(34px,4vw,48px)/1.1 var(--serif);margin:10px 0 16px;letter-spacing:-1px}.garden-intro>p:last-child,.pack-intro p{font-size:19px;line-height:1.55;color:#5f705b;max-width:650px}
.pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pack-card{border:1px solid #d7dfc9;border-radius:22px;overflow:hidden;text-decoration:none;background:#fffdf6;box-shadow:0 5px 0 #e5e8d780}.pack-card:hover{border-color:#6c885b}.pack-scene{min-height:176px;display:flex;align-items:center;justify-content:center;gap:22px;padding:20px;background:radial-gradient(ellipse at 10% 0,#fffdf4aa,transparent),var(--pack-color)}.pack-scene>span{max-width:105px;color:#486343;font-size:18px}.garden-badge{display:block;width:112px;height:123px;flex:none}.pack-card>div:last-child{padding:22px}.pack-card h2{font:normal 29px/1.14 var(--serif);margin:0 0 14px}.pack-card p{font-size:18px;color:#5d6d57;line-height:1.5;min-height:54px}.pack-card strong{font-size:18px;color:#42673f;display:block}.pack-card progress{display:block;width:100%;height:8px;accent-color:#638755;margin:16px 0 20px}.garden-note{font-size:18px;color:#637257;margin:28px 0}.garden-back{display:inline-block;margin:12px 0 24px;font-size:18px}
.pack-intro{display:flex;gap:36px;align-items:center;background:radial-gradient(ellipse at 100% 0,#fffdf2aa,transparent),var(--pack-color);border:1px solid #d5dec5;padding:32px;border-radius:24px;margin-bottom:30px}.pack-intro>.garden-badge{width:145px;height:160px}.pack-intro .button{display:inline-block;text-decoration:none;font-size:18px}
.pack-stops{max-width:850px;margin:auto}.pack-stop{display:flex;align-items:center;gap:22px;padding:23px 10px;border-bottom:1px solid #d5deca;text-decoration:none}.pack-stop-number{width:36px;height:36px;border:1px solid #879b6c;border-radius:50%;display:grid;place-items:center;flex:none;font-size:18px}.pack-stop.collected .pack-stop-number{background:#507646;color:white}.pack-puzzle-art{width:88px;height:88px;display:grid;place-items:center;flex:none;background:#eef0df;border-radius:12px;transform:rotate(-3deg)}.pack-puzzle-art svg{width:74px;height:74px}.pack-puzzle-art .letter-display{display:flex;gap:2px}.pack-puzzle-art .letter-display span{font-size:17px;width:14px;height:26px}.pack-stop strong{display:block;font:normal 28px/1.2 var(--serif)}.pack-stop small{display:block;font-size:18px;color:#4d7045;margin-top:8px}
.passport-hero{background:radial-gradient(ellipse at 100% 0,#f9e9b6aa,transparent),#edf0df;border:1px solid #d6ddc5;border-radius:25px;padding:30px}.passport-hero h1{font-size:clamp(34px,4vw,48px)}.passport-subtitle{font-size:18px;color:#5d7057;margin:8px 0 16px}.passport-wallet{background:#fbf9e9;border-radius:60px 60px 20px 20px}.passport-stats{border:0;background:transparent}.mission-card{background:#fffdf5;border-color:#d9dec9;border-radius:20px}.mission-top{color:#617b4f}.badge-shelf{margin:35px 0}.badge-shelf .section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}.badge-shelf .section-heading a{font-size:18px}.badge-collection{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.badge-keep{padding:18px 10px;text-align:center;text-decoration:none;border:1px dashed #c4cfb6;border-radius:20px;background:#f5f3e8}.badge-keep.collected{background:#edf1d8;border-style:solid}.badge-keep .garden-badge{margin:0 auto 14px;width:90px;height:99px}.badge-keep:not(.collected) .garden-badge{opacity:.65;filter:saturate(.6)}.badge-keep strong{display:block;font:normal 23px/1.15 var(--serif)}.badge-keep>span{display:block;font-size:16px;color:#5b7052;margin-top:10px}.stamp-families article{border-radius:20px;background:#fffdf5}.puzzle-stamp.collected{background:#e1eacb}.pack-win>.garden-badge{margin:auto;width:125px;height:138px}
.game-heading h1{color:#304b34}.game-heading{position:relative}.game-play{background:#fffdf7;border:1px solid #dadfca;border-radius:20px;padding:24px;box-shadow:0 6px 0 #e7e7d870}.game-play:has(.journey-complete){background:transparent;border:0;box-shadow:none;padding:0}.game-top{justify-content:space-between}.quiet-tools{display:none!important}.status:empty{display:none}.play-tools{position:relative;flex:none;margin-left:auto;z-index:10}.play-tools>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;letter-spacing:2px;font-size:16px;background:#edf0df;border:1px solid #c5d1b7;border-radius:50%}.play-tools>summary::-webkit-details-marker{display:none}.play-tools>div{position:absolute;right:0;top:51px;width:235px;padding:12px;display:grid;gap:8px;background:#fffdf5;border:1px solid #b8c8a8;border-radius:14px;box-shadow:0 12px 35px #25402022}.play-tools button{font-size:17px;min-height:44px;text-align:left;margin:0}.all-clues summary{font-size:18px;min-height:44px;padding:10px;cursor:pointer;color:#476d43}.all-clues .clue-columns{display:block}.all-clues .clue{font-size:18px}.side-note{background:#f3f2e4;border-radius:16px}.ad-preview{margin:10px 0}.ad-anchor{background:#fbfcf6}.game-choice select{border-color:#b7c4aa;background:#fbf9ee}
@media(max-width:1050px){.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.site-nav{gap:16px}}
@media(max-width:759px){
 body .masthead{padding:5px 10px!important;min-height:56px!important;height:56px;display:flex;flex-wrap:nowrap!important;gap:4px;box-sizing:border-box;border-bottom:1px solid #d6ddc8}
 body .masthead .site-nav,body .masthead .wordmark,body .masthead .save-note{display:none!important}.menu-toggle{display:block;order:3;margin-left:auto;flex:none}
 #top-path{display:flex;align-items:center;gap:4px;flex:1;min-width:0}#top-path>div{display:flex;align-items:center}.top-path-label{font-size:16px;margin-right:4px;text-decoration:none;color:#537349;min-width:35px}.top-stop{display:grid;place-items:center;width:40px;height:44px;text-decoration:none;position:relative}.top-stop:before{content:'';position:absolute;left:0;right:0;top:21px;border-top:2px solid #d9e0c7}.top-stop>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #9eaf89;background:#f4f4e6;border-radius:50%;font-size:15px;z-index:1}.top-stop.finished>span{color:white;background:#557a49;border-color:#557a49}.top-stop.current>span{outline:3px solid #d0dcba;outline-offset:2px}
 body main,body[data-view=collection] main{padding:16px 12px 28px}.library-intro{padding-bottom:12px;margin-bottom:14px}.library-intro h1{font-size:31px;margin:0}.library-intro:after{font-size:50px;top:-8px;right:4px}.library-types{margin-bottom:13px}.library-type{font-size:16px;padding:8px 13px;min-height:42px}.library-card h2{font-size:25px}.library-card-copy{padding:16px 13px}
 .garden-intro{margin:6px 0 22px}.garden-intro h1{font-size:35px}.garden-intro>p:last-child{font-size:18px}.pack-grid{grid-template-columns:1fr;gap:22px}.pack-card{display:grid;grid-template-columns:110px 1fr}.pack-scene{display:flex;flex-direction:column;padding:15px 9px;gap:12px;min-height:0}.pack-scene .garden-badge{width:88px;height:97px}.pack-scene>span{text-align:center;font-size:16px}.pack-card>div:last-child{padding:20px 16px}.pack-card h2{font-size:27px}.pack-card p{font-size:17px;min-height:0;margin:10px 0}.pack-card progress{margin:15px 0}.pack-card strong{font-size:17px}
 .pack-intro{gap:18px;padding:22px 17px;align-items:flex-start}.pack-intro>.garden-badge{width:72px;height:80px}.pack-intro h1{font-size:31px}.pack-intro p{font-size:17px}.pack-intro .eyebrow{font-size:12px}.pack-stop{padding:18px 2px;gap:12px}.pack-puzzle-art{width:62px;height:62px}.pack-puzzle-art svg{width:50px;height:50px}.pack-stop-number{width:28px;height:28px;font-size:16px}.pack-stop strong{font-size:23px}.pack-stop small{font-size:16px}.garden-back{margin:2px 0 20px;font-size:17px}
 .passport-hero{grid-template-columns:1fr;padding:22px 18px;gap:18px}.passport-hero h1{font-size:33px}.passport-subtitle{font-size:17px}.passport-heading{display:none}.passport-hero .level-medal{display:none}.passport-stats{font-size:16px;gap:10px}.badge-shelf{margin:24px 0}.badge-shelf h2{font-size:28px}.badge-collection{gap:9px}.badge-keep{padding:14px 6px}.badge-keep .garden-badge{width:72px;height:79px}.badge-keep strong{font-size:20px}.badge-keep>span{font-size:15px}.mission-card{padding:20px}.mission-card h3{font-size:27px}
 body:is([data-view=cross],[data-view=sudoku],[data-view=search],[data-view=scramble],[data-view=maze]) main{padding:5px 10px 22px}.game-top{display:none}.ad-above{margin:4px 0 7px;gap:3px}.ad-above .ad-space{height:50px;width:320px}.ad-label{font-size:10px}.game-heading{display:flex;align-items:center;gap:8px;margin:8px 0}.game-heading h1,body[data-view=search] .game-heading h1{font-size:26px;margin:0;line-height:1.2}.game-title-full{display:none}.game-title-short{display:inline}.game-heading .game-choice{margin-left:auto;max-width:53%}.game-choice select{font-size:15px;max-width:100%;min-height:40px;padding:7px}.game-heading .play-tools{margin-left:0}.subtitle{display:none}.status{font-size:16px;padding:8px;margin:5px 0}.game-play{padding:10px 7px;border-radius:16px;box-shadow:0 3px 0 #e7e7d870}.play-layout{display:block!important}.side-note,.board-caption{display:none!important}.ad-below{display:none}.puzzle-finished .ad-below{display:flex}.board-wrap{max-width:100%!important}.sudoku-grid{width:100%;max-width:min(100%,calc(100svh - 400px));margin:0 auto}.sudoku-cell{font-size:clamp(22px,6vw,29px)}.sudoku-tools{margin:6px auto;gap:6px}.sudoku-tools .button{font-size:16px;min-height:40px;padding:6px 10px}.number-pad{margin:4px auto 0;gap:3px;max-width:390px}.number-pad button{font-size:22px;min-height:42px;padding:5px 0}.sudoku-notes span{font-size:10px}
 .cross-entry{margin:0 0 8px;padding:0;border:0}.current-clue{font-size:17px;min-height:0;line-height:1.35;margin:0 0 6px}.cross-entry label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cross-entry input{font-size:22px;min-height:42px;padding:7px}.cross-entry-nav{gap:5px;margin:4px 0}.cross-entry-nav .button{min-height:38px;font-size:15px;padding:5px 8px}.cross-grid{max-width:min(100%,calc(100svh - 375px));margin:auto}.cross-cell input{font-size:18px}.cross-cell small{font-size:8px}.all-clues{margin-top:8px}.all-clues summary{font-size:16px;min-height:36px;padding:6px}
 .search-live{min-height:24px;margin:0 0 6px;font-size:16px}.search-grid{max-width:min(100%,calc(100svh - 310px))!important;margin:auto}.search-cell,body[data-view=search] .search-cell{font-size:clamp(16px,4.8vw,21px)}.board-wrap>.word-list{margin:3px 0 7px;padding-bottom:3px;gap:5px}.board-wrap>.word-list li{font-size:16px;min-height:29px;padding:4px 7px}.search-board-scroll.large .search-grid{max-width:none!important}
 .maze-viewport{height:min(340px,max(210px,calc(100svh - 425px)))}.maze-layout .board-wrap{max-width:400px!important;margin:auto}.maze-layout .maze-pad{margin:8px auto 0}.maze-help{margin:6px auto 0}.maze-help .button{font-size:16px;min-height:40px}.scramble-wrap{padding:12px 6px!important}.scramble-wrap .scramble-letters{gap:6px;margin:18px 0}.scramble-wrap .scramble-letters button{width:40px;min-height:45px}.scramble-wrap .scramble-clue{font-size:23px}.journey-complete{margin:10px auto 0;padding:22px 15px}
}
@media(max-width:350px){.top-stop{width:36px}.top-path-label{font-size:15px;min-width:31px;margin-right:0}.pack-card{grid-template-columns:95px 1fr}.pack-scene .garden-badge{width:76px;height:84px}.pack-card h2{font-size:25px}.badge-keep .garden-badge{width:63px;height:69px}.badge-keep strong{font-size:19px}.game-heading h1{font-size:23px}.game-choice select{font-size:14px;padding:7px 3px}.game-heading{gap:5px}.sudoku-tools .button{font-size:15px;padding:6px 8px}.cross-cell input{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.pack-difficulty{display:block;font-size:17px;color:#5f7655;padding:8px 0}.sudoku-tools #erase{display:inline-flex!important}

.search-grid{grid-template-rows:repeat(var(--search-size,12),minmax(0,1fr))}.search-cell{line-height:1}
@media(max-width:699px){
 .journey-hero{display:flex;flex-direction:column;gap:12px}
 .journey-hero .journey-illustration{position:static;order:-1;width:min(270px,100%);height:auto;z-index:auto;overflow:visible}
 .journey-hero .journey-illustration img{width:100%;height:auto;object-fit:contain}
 .journey-hero .journey-welcome{width:100%;text-align:center}
 .journey-hero .journey-welcome h1,.journey-hero .journey-welcome>p:not(.eyebrow){max-width:none}
 .journey-hero .browse-link{margin-left:auto;margin-right:auto}
}
.search-keepsakes{display:flex;align-items:center;gap:8px;margin:5px 0 9px;min-width:0;color:#365a3b}
.sa-icon{display:inline-block;width:22px;height:22px;vertical-align:middle;flex:none}
.path-reward{display:inline-flex;align-items:center;gap:7px}
.boost-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.reward-value,.win-stars,.pack-win-stars{display:inline-flex;align-items:center;gap:5px}
.mission-emblem .sa-icon{width:32px;height:32px}
.finish-mark .sa-icon{width:40px;height:40px}
.boost-art .sa-icon{width:28px;height:28px}
.garden-badge{display:block;width:100px;height:110px;flex:none}
.pack-scene .garden-badge{width:105px;height:116px}
.badge-keep .garden-badge{margin:0 auto 12px;width:88px;height:97px}
.pack-intro>.garden-badge{width:135px;height:149px}
.pack-win>.garden-badge{margin:auto}
.search-keepsakes[hidden]{display:none}
.search-keepsakes-label{flex:none;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.search-keepsakes-words{display:flex;gap:5px;overflow-x:auto;min-width:0;padding:2px 2px 4px;scrollbar-width:thin}
.search-keepsake{flex:none;padding:3px 7px;border:1px solid #b9cdaa;border-radius:99px;background:#e9f0dc;font-size:13px;line-height:1.35;white-space:nowrap}
.search-keepsake.just-found{animation:search-keepsake-arrive .4s ease-out}
@keyframes search-keepsake-arrive{from{opacity:.4;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.search-keepsake.just-found{animation:none}}

.newsletter-invitation{margin:28px auto 0;padding:24px;border:1px solid #d2ddbf;border-radius:22px;background:#f2f0de;max-width:580px;text-align:center}.newsletter-invitation>span{font-size:38px;color:#78915b}.newsletter-invitation h3{font:normal 27px/1.2 var(--serif);margin:6px 0 12px}.newsletter-invitation p{font-size:18px;line-height:1.5}.newsletter-invitation>div{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:16px 0}.newsletter-invitation small{display:block;font-size:15px;color:#5c6c54}.newsletter-settings{display:block;width:fit-content;margin-top:24px}

.stamp-families summary{font-size:17px;min-height:44px;padding:9px 0;color:#4b7147;cursor:pointer}
