.archive-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e1e6dd;border-radius:15px;padding:18px 20px;margin-bottom:24px}.archive-bar strong{display:block;font:700 16px Manrope,Arial;color:#183e35}.archive-bar #archive-date-label{display:block;font-size:12px;color:#718079;margin-top:5px}.archive-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.archive-controls button,.date-picker,#back-today{border:1px solid #dce5d3;background:#f7f9f2;color:#496545;padding:9px 11px;border-radius:8px;font:500 12px system-ui}.archive-controls button:disabled{opacity:.35;cursor:default}.date-picker{display:flex;gap:10px;align-items:center}.date-picker input{border:0;background:transparent;color:#496545;font:inherit;max-width:135px}#back-today[hidden]{display:none}@media(max-width:720px){.archive-bar{align-items:flex-start;flex-direction:column;gap:14px;padding:16px}.archive-controls{gap:6px}.date-picker{padding:9px}.archive-controls button{padding:9px}}

.puzzle-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 24px;padding:24px 26px;border-radius:20px;background:linear-gradient(115deg,#fff 40%,#f3f6ec);box-shadow:0 4px 18px #183e3505}.puzzle-toolbar .puzzle-day strong{display:inline-block;font:700 10px Manrope,Arial;letter-spacing:1px;text-transform:uppercase;color:#53704b;background:#e9f0df;padding:6px 10px;border-radius:6px}.puzzle-toolbar #archive-date-label{font:800 clamp(20px,2.3vw,28px) Manrope,Arial;color:#183e35;letter-spacing:-.7px;margin-top:10px;line-height:1.35}.puzzle-toolbar .archive-controls{justify-content:flex-end}.puzzle-toolbar .archive-controls button{width:40px;height:40px;font-size:18px;padding:0;cursor:pointer}.puzzle-toolbar .archive-controls button:disabled{cursor:default}.puzzle-toolbar .date-picker{min-height:40px;box-sizing:border-box;background:#fff}.difficulty-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding-top:18px;border-top:1px solid #dfe7d6}.difficulty-label{font-size:12px;font-weight:600;color:#718079}.puzzle-toolbar .level-nav{width:auto}.puzzle-toolbar .level-nav a:hover{background:#dce6d2}.puzzle-toolbar a:focus-visible,.puzzle-toolbar button:focus-visible,.puzzle-toolbar input:focus-visible{outline:2px solid #53704b;outline-offset:3px}@media(max-width:850px){.puzzle-toolbar{grid-template-columns:1fr}.puzzle-toolbar .archive-controls{justify-content:flex-start}}@media(max-width:600px){.puzzle-toolbar{padding:20px 16px;gap:16px}.difficulty-row{flex-direction:column;align-items:stretch;gap:10px;padding-top:16px}.puzzle-toolbar .level-nav{width:100%;box-sizing:border-box}.puzzle-toolbar .archive-controls{gap:6px}.puzzle-toolbar .date-picker{gap:6px;padding:9px 8px}.puzzle-toolbar #back-today{flex-basis:auto}}

.puzzle-toolbar .date-trigger{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:0;margin-top:10px;color:#183e35;text-align:left;cursor:pointer;max-width:100%;border-radius:6px}.puzzle-toolbar .date-trigger #archive-date-label{margin:0}.date-trigger svg{width:23px;height:23px;flex-shrink:0;color:#6d865d}.date-trigger:hover #archive-date-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.archive-hint{display:block;margin-top:7px;font-size:12px;color:#718079}#archive-calendar{border:1px solid #dfe7d6;border-radius:20px;padding:26px;width:min(360px,calc(100vw - 80px));color:#183e35;background:#fbfcf8;box-shadow:0 20px 80px #183e3533}#archive-calendar::backdrop{background:#183e3555}.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.calendar-top h2{font:800 20px Manrope,Arial;margin:0;letter-spacing:-.5px}.calendar-close{border:0;background:#e9eee2;border-radius:8px;width:34px;height:34px;font-size:23px;color:#183e35;cursor:pointer;flex-shrink:0}#archive-calendar p{font-size:13px;line-height:1.6;color:#718079;margin:12px 0 22px}.calendar-input{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.calendar-input input{font:500 16px Manrope,Arial;padding:12px;border:1px solid #dce5d3;border-radius:9px;background:white;color:#183e35;min-width:0}.calendar-done{display:block;width:100%;margin-top:20px;padding:12px;background:#183e35;color:white;border:0;border-radius:9px;font:600 13px Manrope,Arial;cursor:pointer}#archive-calendar button:focus-visible,#archive-calendar input:focus-visible{outline:2px solid #53704b;outline-offset:3px}

.puzzle-toolbar{grid-template-columns:minmax(0,1fr) auto}.date-navigation{display:flex;align-items:center;gap:16px;margin-top:13px}.puzzle-toolbar .date-navigation .date-trigger{margin:0}.date-navigation>button:not(.date-trigger){display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:1px solid #dce5d3;border-radius:13px;background:#edf2e5;color:#183e35;font-size:26px;cursor:pointer;transition:background .15s}.date-navigation>button:not(.date-trigger):hover:not(:disabled){background:#dce8ce}.date-navigation>button:disabled{opacity:.3;cursor:default}.puzzle-toolbar .archive-hint{margin-left:64px}.puzzle-toolbar .archive-controls{align-self:center}.puzzle-toolbar .archive-controls:has(#back-today[hidden]){display:none}@media(max-width:850px){.puzzle-toolbar{grid-template-columns:1fr}.puzzle-toolbar .archive-controls{justify-content:flex-start}}@media(max-width:600px){.date-navigation{gap:8px}.date-navigation>button:not(.date-trigger){width:38px;height:44px;font-size:23px;border-radius:10px}.puzzle-toolbar .date-trigger{flex:1;gap:7px}.puzzle-toolbar .date-trigger #archive-date-label{font-size:20px;letter-spacing:-.5px}.date-trigger svg{width:18px;height:18px}.puzzle-toolbar .archive-hint{margin-left:46px}}

.difficulty a.puzzle-completed{background:#e9eee2;color:#315c32;border-color:#62846b}

/* Completion is visible at a glance without changing button size or position. */
.home-page .difficulty a{display:flex;align-items:center;justify-content:center;gap:5px;color:#53675a;min-height:38px}
.home-page .difficulty a.puzzle-completed{background:#dbe8d1;color:#294d40;font-weight:800;box-shadow:inset 0 0 0 1.5px #88aa83}
.home-page .difficulty .completion-check{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;line-height:1;border-radius:50%;background:#426d46;color:#fff;font-size:11px;visibility:hidden}
.home-page .difficulty .puzzle-completed .completion-check{visibility:visible}
.home-page .difficulty a.puzzle-completed:hover{background:#cddfbf}

.puzzle-browser-intro{max-width:1176px;margin:22px auto 24px}
.puzzle-browser-intro h1{font-size:clamp(32px,4vw,46px);margin:0 0 12px;letter-spacing:-1.5px}
.puzzle-browser-intro p{margin:0;max-width:680px;color:#4d6659;font-size:15px;line-height:1.7}
.puzzle-browser-page .games-section{margin-top:0}
@media(max-width:1259px){.puzzle-browser-intro{margin-inline:42px}}
@media(max-width:720px){.puzzle-browser-intro{margin:18px 24px 20px}}
@media(max-width:420px){.puzzle-browser-intro{margin-inline:18px}}

.home-page .card[id]{scroll-margin-top:24px}
@media(max-width:360px){
 .home-page .difficulty a{min-width:0;flex-direction:column;gap:4px;padding:7px 2px;font-size:10px}
 .home-page .difficulty .completion-check{width:14px;height:14px;flex-basis:14px;font-size:10px}
}

/* One browsing page: the date is the centred anchor for the game collection. */
.home-page #games{scroll-margin-top:24px}
.home-page .puzzle-toolbar{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:12px}
.home-page .puzzle-toolbar .puzzle-day{width:100%;min-width:0}
.home-page .puzzle-toolbar .date-navigation{justify-content:center}
.home-page .puzzle-toolbar .date-trigger{flex:0 1 auto;justify-content:center;text-align:center;min-width:0}
.home-page .puzzle-toolbar .archive-controls{justify-content:center;justify-self:center}
.home-page .puzzle-toolbar #archive-date-label{font-size:clamp(22px,2.6vw,30px)}
@media(max-width:600px){.home-page .puzzle-toolbar #archive-date-label{font-size:22px}.home-page .puzzle-toolbar .date-trigger{gap:6px}}
@media(max-width:360px){.home-page .puzzle-toolbar{padding-inline:12px}.home-page .puzzle-toolbar #archive-date-label{font-size:20px}}
