/* A named journey, with the same meaning at every screen size. */
.masthead .wordmark img{width:310px;height:auto}.drawer-brand img{width:260px;height:auto}
.mobile-brand img{object-fit:contain}
.masthead .wordmark{justify-content:center}
body.in-puzzle-journey .masthead{flex-wrap:wrap;row-gap:4px;padding-top:12px;padding-bottom:8px}
body.in-puzzle-journey main{padding-top:14px}
body.in-puzzle-journey #top-path{display:flex;order:10;flex:1 0 100%;align-items:center;justify-content:center;gap:22px;border-top:1px solid var(--line);padding:8px 0 2px}
#top-path .top-path-label{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;margin:0;font:500 16px/1.25 var(--font);text-decoration:none;color:var(--ink)}
.top-path-name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:350px}
.top-path-position{font-size:14px;color:var(--muted);white-space:nowrap}
#top-path .top-path-stops{display:flex;align-items:center;justify-content:center;gap:1px}
#top-path .top-stop{display:grid;place-items:center;position:relative;width:42px;min-height:44px;text-decoration:none}
#top-path .top-stop:before{content:'';position:absolute;left:-2px;right:-2px;top:50%;height:1px;background:#bfcfb3}
#top-path .top-stop:first-child:before{left:50%}#top-path .top-stop:last-child:before{right:50%}
#top-path .top-stop>span{display:grid;place-items:center;border:1px solid #adc19c;border-radius:50%;width:29px;height:29px;background:#fbf8ef;font-size:15px;z-index:1;color:var(--ink)}
#top-path .top-stop.current>span{outline:2px solid #d8ad42;outline-offset:2px;background:#fff4cc}
#top-path .top-stop.finished>span{background:#315f49;color:white}
.pack-families{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}.pack-families a{padding:10px 16px;border:1px solid var(--line);border-radius:22px;text-decoration:none;min-height:44px;display:flex;align-items:center;font-size:17px}.pack-families a[aria-current]{background:#234b3d;color:#fff;border-color:#234b3d}
.pack-pace{display:flex;align-items:center;gap:12px;margin:0 0 24px}.pack-pace select{min-height:44px;font-size:17px}.more-packs{margin:26px 0}.more-packs summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:18px}.more-packs[open] summary{margin-bottom:18px}
.badge-keep small{display:block;margin-top:9px;font-size:15px;color:#315f49}.favorite-badges-title{font:500 25px var(--serif);margin:32px 0 18px}
.pack-passport-link{display:block;width:fit-content;margin-top:14px;font-size:17px}.pack-stop>span:last-child{min-width:0}
.pack-win .next-picture .letter-display{gap:3px}.pack-win .next-picture .letter-display span{width:20px;height:32px;font-size:19px}
.pack-finish-progress{display:block;width:min(100%,310px);height:8px;accent-color:#557a49;margin:14px auto}.pack-win-stars{display:flex;justify-content:center;align-items:center;gap:7px;color:#73531c}.pack-win-stars svg{width:23px;height:23px}.pack-win .next-label strong{font:500 24px var(--serif)}.pack-win .next-label small{display:block;font-size:16px;line-height:1.4;margin-top:8px}.pack-win .completion-options{flex-wrap:wrap}
@media(max-width:759px){
 body:not(.in-puzzle-journey) .masthead{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;gap:0!important}
 body:not(.in-puzzle-journey) .masthead .wordmark{display:flex!important;grid-column:2;grid-row:1;justify-content:center;margin:0;min-width:0}
 body:not(.in-puzzle-journey) .masthead .wordmark img{width:min(100%,230px);height:auto}
 body:not(.in-puzzle-journey) #top-path,body:not(.in-puzzle-journey) .mobile-brand{display:none!important}
 body:not(.in-puzzle-journey) .masthead .menu-toggle{grid-column:3;grid-row:1;margin:0}
 body.in-puzzle-journey .masthead{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;height:76px!important;min-height:76px!important;gap:0!important;padding:4px 8px!important}
 body.in-puzzle-journey .masthead .mobile-brand{grid-column:1;grid-row:1;order:0}
 body.in-puzzle-journey .masthead .menu-toggle{grid-column:3;grid-row:1;order:2;margin:0}
 body.in-puzzle-journey #top-path{grid-column:2;grid-row:1;order:1;display:flex!important;flex-direction:column;gap:0;padding:0;border:0;min-width:0;width:100%}
 #top-path .top-path-label{font-size:14px;line-height:18px;gap:6px;width:100%;min-width:0}
 #top-path .top-path-name{max-width:calc(100% - 52px)}#top-path .top-path-position{font-size:12px}
 #top-path .top-path-stops{gap:0;width:100%}#top-path .top-stop{width:36px;min-height:44px;flex:0 1 36px}#top-path .top-stop>span{width:26px;height:26px;font-size:14px}
 .pack-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pack-families a{justify-content:center;text-align:center;font-size:16px;padding:10px 8px}.pack-win .next-label strong{font-size:23px}
 .pack-puzzle-art .letter-display{gap:1px}.pack-puzzle-art .letter-display span{width:10px;height:20px;font-size:13px}
}

/* The trail and the controls share one quiet, touch-friendly language. */
#top-path .top-path-label{min-height:44px;padding:4px 10px;border-radius:12px}
#top-path .top-path-label:hover{background:#eaf0dc}
#top-path .top-path-label>*{pointer-events:none}
#top-path .top-stop:before{pointer-events:none}
.landing-resume-game{display:grid;grid-template-columns:64px minmax(0,1fr);gap:15px;text-decoration:none;align-items:center}
.landing-resume-game>span:last-child,.resume-item>span{min-width:0}
.landing-resume-game .resume-picture{width:64px;height:64px;min-width:0;display:grid;place-items:center}
.resume-picture .letter-display{display:flex;gap:2px;width:100%;max-width:64px;transform:rotate(-4deg)}
.resume-picture .letter-display span{flex:1 1 0;min-width:0;width:auto;height:27px;font-size:16px;border-radius:3px}
.scramble-wrap .scramble-letters,.scramble-wrap .scramble-letters:has(button:nth-child(6)),.scramble-wrap .scramble-letters:has(button:nth-child(7)){flex-wrap:nowrap;max-width:100%;width:100%;gap:5px}
.scramble-wrap .scramble-letters button{flex:0 1 54px;min-width:0;width:auto;min-height:48px;padding:0;font-size:clamp(19px,5vw,32px)}
.level-puzzle{text-decoration:none}
.journey-finish .finish-mark{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 22px;border-radius:50%;background:#f8dda0;color:#89621e;position:relative;box-shadow:0 0 0 12px #fbefcb80}
.journey-finish .finish-mark .sa-icon{width:53px;height:53px;stroke-width:1.5}
.sun-awake .finish-mark{animation:sun-wake 1.5s ease-out both}
.sun-awake .finish-mark svg{animation:sun-turn 2.2s ease-out both}
@keyframes sun-wake{from{transform:scale(.7);box-shadow:0 0 0 0 #fbefcb00}to{transform:scale(1);box-shadow:0 0 0 12px #fbefcb80}}
@keyframes sun-turn{from{transform:rotate(-40deg)}to{transform:rotate(0)}}
body[data-view=search] .board-wrap>.word-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;flex-wrap:wrap;gap:5px;padding:0;margin:4px 0}
body[data-view=search] .board-wrap>.word-list li{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:15px;text-align:center;padding:4px 3px;line-height:1.4;min-height:29px}
body[data-view=search] .board-wrap>.word-list li.bank-extra{display:none}
.word-bank-toggle{display:block;margin:0 0 4px auto;min-height:36px;font-size:15px!important;text-decoration:underline;text-underline-offset:3px}
.library-types{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;padding-bottom:0}
.library-summary{display:block;margin:16px 0}.library-summary .collection-progress{margin-top:16px}
.library-discovery{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.library-refine>summary{min-height:44px;padding:10px 0}
.game-heading .play-tools>summary{display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:84px;height:44px;min-height:44px;border-radius:12px;font-size:16px;padding:7px 10px;list-style:none}
.game-heading .play-tools[hidden]{display:none}
.maze-view-controls,.cross-visible-tools,.search-visible-tools{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:7px 0;font-size:16px}
.maze-view-controls{justify-content:space-between;margin:0 0 8px}
.maze-view-controls .button,.cross-visible-tools .button,.search-visible-tools .button{min-height:44px;font-size:16px;padding:7px 12px}
.cross-entry{margin:8px 0 0}.board-wrap>.current-clue{font-size:18px;line-height:1.35;padding:9px 12px;margin-bottom:8px;min-height:0}
.maze-help{flex-wrap:wrap}
@media(max-width:759px){
 body:not(.in-puzzle-journey) .masthead .wordmark{width:100%;margin:0!important;justify-self:stretch;justify-content:center}
 body:not(.in-puzzle-journey) .masthead{column-gap:6px!important}
 body.in-puzzle-journey .masthead{height:90px!important;min-height:90px!important}
 #top-path .top-path-label{padding:2px 0;min-height:36px}
 .library-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:7px}
 .library-type{display:flex;justify-content:center;align-items:center;gap:6px;min-width:0;white-space:normal;padding:8px 6px;min-height:44px;font-size:16px}
 .library-type span{font-size:13px}.library-discovery{display:block}.library-refine{margin-top:8px}
 .landing-resume-game{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:15px 12px}.landing-resume-game .resume-picture{width:56px;height:56px}
 .landing-resume-game strong{font-size:23px}.landing-resume-game .resume-picture svg{max-width:100%;height:auto}
 .game-heading{gap:6px;flex-wrap:wrap}.game-heading h1,body[data-view=search] .game-heading h1{font-size:25px;flex:1}
 .game-heading .game-choice{max-width:45%;margin-left:auto}.game-heading .game-choice .pack-difficulty{font-size:15px}
 .game-heading .play-tools>summary{min-width:77px;padding:7px;font-size:15px}
 .game-heading .boost-chip{margin-left:0}
 .scramble-wrap .scramble-letters button{flex:1 1 0;max-width:48px;min-height:48px}
 .board-wrap>.current-clue{font-size:17px;padding:8px;line-height:1.3}
 .cross-entry{margin-top:7px;padding:0;background:transparent}.cross-entry input{font-size:21px;min-height:42px}
 .cross-entry-nav{margin-bottom:0}.cross-visible-tools{margin:3px 0 0}.cross-visible-tools .button{font-size:15px}
 .cross-grid{max-width:min(100%,max(275px,calc(100svh - 560px)))}
 body[data-view=search] .search-grid{max-width:min(100%,max(275px,calc(100svh - 540px)))!important}
 .journey-stop,.journey-stop:nth-of-type(even){height:335px;min-height:335px}
 .stop-info,.journey-stop:nth-of-type(even) .stop-info{width:min(205px,62%)}
}
@media(prefers-reduced-motion:reduce){.sun-awake .finish-mark,.sun-awake .finish-mark svg{animation:none}}
