/* Shared, identical archive UI on all three pages */
#archiveDialog{--ink:#100522;--green:#22e339;--green-shadow:#0b702d;--gold:#e1b24f;--cyan:#2bc4d5;--pink:#ef4d7d;--muted:#526779;color-scheme:light;position:fixed;inset:0;margin:auto;width:min(720px,94vw);max-height:90vh;overflow:auto;padding:28px 34px 32px;background:#fffaf0;color:#100522;border:5px solid #100522;box-shadow:10px 10px 0 #e1b24f;font:900 13px 'Courier New',monospace;letter-spacing:.015em;z-index:10000}
#archiveDialog::backdrop{background:rgba(4,17,30,.76)}
#archiveDialog .dialog-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:3px solid #100522;background:#17354c;color:#fff;cursor:pointer;font-size:20px}
#archiveDialog .dialog-kicker{font-size:10px;letter-spacing:.25em;color:#14859b}
#archiveDialog h2{letter-spacing:.08em;font-size:24px;margin:20px 0;color:#100522;text-shadow:none;border:0;padding:0;line-height:1.3}
#archiveDialog button{font-family:inherit;font-weight:900}
#archiveDialog .archive-month-title{display:flex;align-items:baseline;justify-content:center;gap:12px;text-transform:uppercase}
#archiveDialog .archive-month-title strong{font-size:20px}
#archiveDialog .archive-month-title span{font-size:14px;color:#526779}
.archive-dialog{width:min(720px,94vw);padding:28px 34px 32px}
.archive-controls{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:15px;margin:20px 0 18px}
.archive-nav{width:46px;height:46px;border:3px solid var(--ink);background:#fff;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;box-shadow:3px 3px 0 var(--cyan)}
.archive-weekdays,.archive-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.archive-weekdays{border-bottom:3px solid var(--ink);padding-bottom:9px;margin-bottom:9px;text-align:center;font-size:10px}.archive-day{aspect-ratio:1;min-height:54px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:inherit;font-weight:900;color:var(--ink)}button.archive-day{cursor:pointer;border:3px solid var(--ink);background:#fff;box-shadow:3px 3px 0 #7ca4b9}.archive-day.available:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 #7ca4b9}.archive-day.solved-daily{background:#e8ffdf;box-shadow:3px 3px 0 var(--green)}.archive-day.solved-daily:before{content:"★";color:var(--green-shadow);font-size:17px;line-height:1}.archive-day.solved-daily .archive-date{font-size:9px}.archive-day.solved-archive{background:#fff4c7;box-shadow:3px 3px 0 var(--gold)}.archive-day.solved-archive:before{content:"★";color:#b17b00;font-size:17px;line-height:1}.archive-day.solved-archive .archive-date{font-size:9px}.archive-day.unavailable{opacity:.25}.archive-day.today{outline:3px solid var(--pink);outline-offset:-6px}.archive-date{font-size:13px}.archive-legend{display:flex;justify-content:center;gap:22px;margin-top:20px;font-size:8px;color:var(--muted)}.archive-legend span{display:flex;align-items:center;gap:6px}.archive-dot{width:12px;height:12px;border:2px solid var(--ink);background:#fff}.archive-dot.solved-daily{background:var(--green)}.archive-dot.solved-archive{background:var(--gold)}
#archiveDialog .archive-day.solved-daily::before,#archiveDialog .archive-day.solved-archive::before{content:'★';font-size:17px;line-height:1}
#archiveDialog .archive-day.solved-daily .archive-date,#archiveDialog .archive-day.solved-archive .archive-date{font-size:9px}
#archiveDialog .archive-nav{cursor:pointer}
@media(max-width:650px){#archiveDialog{padding:24px 15px}#archiveDialog .archive-weekdays,#archiveDialog .archive-calendar{gap:4px}#archiveDialog .archive-day{min-height:43px}#archiveDialog .archive-controls{grid-template-columns:42px 1fr 42px}#archiveDialog .archive-nav{width:40px;height:40px}}

/* Override page-global button and heading rules identically across all routes. */
#archiveDialog .archive-nav{display:grid;place-items:center;min-width:0;min-height:0;padding:0;background:#fff;color:#100522;border:3px solid #100522;box-shadow:3px 3px 0 #2bc4d5;border-radius:0;font:900 30px/1 'Courier New',monospace;transform:none;filter:none}
#archiveDialog .archive-nav:hover{background:#fff;color:#100522;box-shadow:2px 2px 0 #2bc4d5;transform:translate(1px,1px);filter:none}
#archiveDialog .dialog-close{display:grid;place-items:center;min-width:0;min-height:0;padding:0;background:#17354c;color:#fff;border:3px solid #7ca4b9;box-shadow:3px 3px 0 #100522;border-radius:0;font:900 20px/1 'Courier New',monospace;transform:none;filter:none}
#archiveDialog .dialog-close:hover{background:#17354c;color:#fff;box-shadow:3px 3px 0 #100522;transform:none;filter:none}
#archiveDialog .archive-day{color:#100522;min-width:0;padding:0;margin:0;font:900 13px/1.3 'Courier New',monospace;box-shadow:none;transform:none;filter:none}
#archiveDialog button.archive-day{border:3px solid #100522;background:#fff;box-shadow:3px 3px 0 #7ca4b9}
#archiveDialog button.archive-day.solved-daily{background:#e8ffdf;box-shadow:3px 3px 0 #22e339}
#archiveDialog button.archive-day.solved-archive{background:#fff4c7;box-shadow:3px 3px 0 #e1b24f}
#archiveDialog button.archive-day:hover{filter:none;transform:translate(1px,1px)}

/* A saved daily win remains visible while official eligibility is unresolved. */
#archiveDialog button.archive-day.solved-pending{background:#e6f4ff;box-shadow:3px 3px 0 #7ca4b9}
#archiveDialog .archive-day.solved-pending::before{content:'?';color:#315c7a;font-size:17px;line-height:1}
#archiveDialog .archive-day.solved-pending .archive-date{font-size:9px}
#archiveDialog .archive-dot.solved-pending{background:#b8dcf6}
#archiveDialog .archive-legend{flex-wrap:wrap;gap:12px}

/* Shared mode selector; it changes only the calendar being viewed. */
#archiveDialog .archive-mode-toggle{display:flex;justify-content:center;gap:0;margin:16px auto 5px;}
#archiveDialog .archive-mode-button{padding:10px 18px;border:3px solid #100522;background:#17354c;color:#fffaf0;cursor:pointer;font:900 11px 'Courier New',monospace;box-shadow:3px 3px 0 #e1b24f;}
#archiveDialog .archive-mode-button[aria-pressed="true"]{background:#ef4d7d;color:#100522;}
#archiveDialog .archive-mode-button:focus-visible{outline:3px solid #2bc4d5;outline-offset:3px;}

/* Consistent Archive selector despite route-specific global button styles. */
#archiveDialog button.archive-mode-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0;margin:0;padding:10px 18px;border:3px solid #100522;border-radius:0;background:#17354c;color:#fffaf0;font:900 11px/1.2 'Courier New',monospace;letter-spacing:.015em;box-shadow:3px 3px 0 #e1b24f;transform:none;filter:none;text-shadow:none;}
#archiveDialog button.archive-mode-button[aria-pressed="true"]{background:#ef4d7d;color:#100522;}
#archiveDialog button.archive-mode-button:hover{filter:none;transform:translate(1px,1px);box-shadow:2px 2px 0 #e1b24f;}
