.archive-main{max-width:1000px;margin:24px auto 64px;padding:0 24px}.archive-main h1{font-size:clamp(36px,5vw,50px);margin:16px 0}.archive-lead{color:#4d6659;line-height:1.7}.archive-calendar-card{background:#fff;border:1px solid #e1e6dd;border-radius:24px;padding:30px;margin-top:28px}.archive-filters{display:flex;align-items:end;gap:24px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid #e1e6dd}.archive-filters label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.archive-filters select,.month-selects select{font:inherit;color:#183e35;background:#f7f8f2;border:1px solid #b9c9bc;border-radius:10px;min-height:44px;padding:8px 12px}.archive-levels{display:flex;gap:4px;background:#e9eee2;padding:4px;border-radius:12px}.archive-levels button{font:600 14px 'DM Sans',Arial;border:0;min-height:40px;padding:10px 20px;border-radius:9px;color:#183e35;background:transparent}.archive-levels [aria-pressed=true]{background:#183e35;color:#fff}.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 16px}.month-navigation h2{font:800 25px Manrope,Arial;margin:0;text-align:center}.month-navigation button{width:46px;height:46px;border:1px solid #b9c9bc;border-radius:12px;background:#e9eee2;font-size:23px;color:#183e35}.month-navigation button:disabled{opacity:.35;cursor:default}.month-selects{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.calendar-week,.archive-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week{font-size:12px;text-align:center;font-weight:700;color:#4d6659;margin-bottom:10px}.archive-day{position:relative;min-height:88px;padding:15px 12px;border:1px solid #e1e6dd;border-radius:12px;background:#f7f8f2;display:flex;flex-direction:column;gap:5px}.archive-day strong{font-size:21px}.archive-day:hover{background:#e9eee2;border-color:#62846b}.archive-day.future{opacity:.35}.archive-day.future:hover{background:#f7f8f2;border-color:#e1e6dd}.archive-day.today{border:2px solid #62846b}.archive-day small{font-size:11px;color:#4d6659}.progress-mark{position:absolute;right:10px;top:12px;color:#62846b;font-weight:800}.archive-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:13px;color:#4d6659}.archive-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:24px;font-size:14px}.archive-bottom a{text-decoration:underline}.archive-bottom button{border:0;background:transparent;color:#183e35;font:inherit;text-decoration:underline;min-height:44px}.archive-coming{background:#e9eee2;border-radius:12px;padding:16px;color:#4d6659;font-size:14px;line-height:1.7}.archive-hint a{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.archive-main{padding:0 18px}.archive-calendar-card{padding:20px 14px}.archive-filters{gap:16px}.archive-filters>div{width:100%}.archive-filters select{width:100%}.archive-levels button{flex:1;padding:10px 12px}.archive-days,.calendar-week{gap:4px}.archive-day{min-height:66px;padding:10px 6px;border-radius:8px}.archive-day strong{font-size:17px}.archive-day small{font-size:9px}.progress-mark{right:4px;top:6px;font-size:12px}.month-navigation h2{font-size:21px}.calendar-week{font-size:10px}.month-selects select{max-width:155px}}

.archive-puzzle-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px}.archive-puzzle-tile{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px solid #d9e2d5;border-radius:14px;background:#fff;color:#183e35;font-size:13px;font-weight:700;transition:background .15s,border-color .15s}.archive-puzzle-tile svg{width:28px;height:28px;flex-shrink:0}.tile-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.tile-copy small{font-size:10px;color:#5b7262;font-weight:500}.archive-puzzle-tile:hover{background:#e9eee2;border-color:#62846b}.archive-puzzle-tile[aria-current=page]{background:#183e35;color:#fff;border-color:#183e35}.archive-puzzle-tile[aria-current=page] small{color:#d3e1cf}.archive-calendar-card{margin-top:20px}.archive-puzzle-tiles a:focus-visible{outline:3px solid #ee805c;outline-offset:3px}@media(max-width:850px){.archive-puzzle-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:500px){.archive-puzzle-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.archive-puzzle-tile{min-height:70px;padding:12px;gap:10px}.archive-puzzle-tile svg{width:25px;height:25px}}

.archive-filters #current-month{padding:10px 16px;border:1px solid #b9c9bc;border-radius:10px;background:#e9eee2;font-weight:600;text-decoration:none;cursor:pointer}.archive-filters #current-month[hidden]{display:none}

.archive-filters #current-month{margin-left:auto;min-height:44px;font:600 13px 'DM Sans',Arial;align-self:flex-end}.archive-filters #current-month:hover{background:#dfe9d7}@media(max-width:600px){.archive-filters #current-month{margin-left:0}}

/* The selected difficulty still controls the compact calendar. */
.archive-levels button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:96px;min-height:56px}
.archive-level-progress{font-size:11px;font-weight:500;line-height:1.2;color:#53675a;white-space:nowrap}
.archive-levels [aria-pressed=true] .archive-level-progress{color:#e3eedc}
.archive-levels .month-completed:not([aria-pressed=true]){background:#dbe8d1;box-shadow:inset 0 0 0 1px #88aa83}
.archive-day.is-completed{background:#dbe8d1;border-color:#88aa83;color:#294d40}
.archive-day.is-completed:hover{background:#cddfbf;border-color:#426d46}
.progress-mark.completed{display:grid;place-items:center;width:24px;height:24px;top:10px;right:8px;border-radius:50%;background:#426d46;color:#fff;font-size:15px;line-height:1}
.archive-day.is-started{border-color:#b2c1a7}
.progress-mark.started{font-size:23px;line-height:1}
@media(max-width:600px){.archive-levels button{min-width:0;padding:8px 5px}.archive-level-progress{font-size:10px}.archive-day.is-completed .progress-mark{width:16px;height:16px;top:auto;bottom:5px;right:3px;font-size:11px}.archive-day.today.is-completed small{visibility:hidden}}
