.advent{--fir: #0f2a22;--fir-deep: #0a1f19;--spruce: #163a2f;--spruce-line: #24503f;--brass: #c9a23f;--brass-soft: #e3c77a;--snow: #eef3ee;--snow-muted: #a9c0b4;--ontime: #538d4e;--late: #b59f3b;--missed: #3a4a43;min-height:100vh;background:radial-gradient(1px 1px at 40px 60px,rgba(238,243,238,.35) 50%,transparent 100%),radial-gradient(1px 1px at 170px 20px,rgba(238,243,238,.25) 50%,transparent 100%),radial-gradient(1.4px 1.4px at 260px 140px,rgba(227,199,122,.3) 50%,transparent 100%),var(--fir);background-size:300px 220px,300px 220px,300px 220px,auto;color:var(--snow);font-family:var(--font);outline:none}.advent__inner{max-width:1040px;margin:0 auto;padding:1.25rem 1.25rem 4rem}.advent__back{border:0;background:none;color:var(--snow-muted);font:inherit;font-size:.9rem;padding:.4rem 0;cursor:pointer}.advent__back:hover{color:var(--snow)}.advent button:focus-visible{outline:3px solid var(--brass-soft);outline-offset:3px}.advent__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:end;margin:1.5rem 0 2rem}.advent__title{margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.02;letter-spacing:-.035em;max-width:16ch}.advent__lede{margin:.9rem 0 0;max-width:56ch;color:var(--snow-muted);font-size:1.05rem;line-height:1.55}.advent__facts{display:flex;gap:1.75rem;margin:0}.advent__facts div{min-width:0}.advent__facts dt{color:var(--snow-muted);font-size:.85rem}.advent__facts dd{margin:.2rem 0 0;font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.advent__clock{color:var(--brass-soft)}.advent__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:2rem;align-items:start}.advent__board{display:grid;gap:clamp(5px,1vw,10px);padding:clamp(10px,2vw,22px);border-radius:14px;background:var(--fir-deep);box-shadow:inset 0 0 0 1px var(--spruce-line)}.advent__row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,1vw,10px)}.advent-door{position:relative;aspect-ratio:1;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;perspective:600px}.advent-door__face{position:absolute;inset:0;display:grid;place-items:center;border-radius:6px;backface-visibility:hidden;transition:transform .6s cubic-bezier(.3,.7,.2,1)}.advent-door__face--front{background:var(--spruce);box-shadow:inset 0 0 0 2px var(--spruce-line)}.advent-door__face--back{transform:rotateX(180deg);background:var(--ontime)}.advent-door__day{font-size:clamp(1.1rem,3.4vw,2.1rem);font-weight:800;letter-spacing:-.04em;color:var(--brass);font-variant-numeric:tabular-nums}.advent-door__letter{font-size:clamp(1.4rem,4.4vw,2.7rem);font-weight:800;color:#fff}.advent-door__corner{position:absolute;top:.35em;left:.45em;font-size:clamp(.55rem,1.2vw,.75rem);font-weight:700;color:#ffffffbf}.advent-door--locked .advent-door__day{color:#c9a23f73}.advent-door--locked .advent-door__face--front{background:color-mix(in srgb,var(--spruce) 70%,var(--fir-deep))}.advent-door--today .advent-door__face--front{background:var(--spruce);box-shadow:inset 0 0 0 3px var(--brass),0 0 0 3px #c9a23f2e}.advent-door--today .advent-door__day{color:var(--brass-soft)}.advent-door--missed .advent-door__face--front{background:var(--missed);box-shadow:none}.advent-door--missed .advent-door__day{color:#eef3ee66;text-decoration:line-through;text-decoration-thickness:2px}.advent-door--ontime .advent-door__face--front,.advent-door--late .advent-door__face--front{transform:rotateX(-180deg)}.advent-door--ontime .advent-door__face--back,.advent-door--late .advent-door__face--back{transform:rotateX(0)}.advent-door--late .advent-door__face--back{background:var(--late)}.advent-door--big:after{content:"";position:absolute;top:0;right:0;width:28%;height:28%;border-top-right-radius:6px;background:linear-gradient(225deg,var(--brass) 0 50%,transparent 50%);pointer-events:none}.advent-door--focus .advent-door__face{outline:2px solid var(--snow);outline-offset:3px}.advent__row--done .advent-door__face--back{box-shadow:inset 0 -4px #0000002e}.advent-door--flip .advent-door__face{transition-duration:.85s}.advent__key{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.9rem 0 0;padding:0;list-style:none;color:var(--snow-muted);font-size:.85rem}.advent__key li{display:inline-flex;align-items:center;gap:.45rem}.advent__swatch{width:.85rem;height:.85rem;border-radius:3px}.advent__swatch--ontime{background:var(--ontime)}.advent__swatch--late{background:var(--late)}.advent__swatch--missed{background:var(--missed)}.advent__swatch--big{background:linear-gradient(225deg,var(--brass) 0 50%,var(--spruce) 50%)}.advent-panel{position:sticky;top:1rem;padding:1.25rem;border-radius:14px;background:var(--spruce);box-shadow:inset 0 0 0 1px var(--spruce-line)}.advent-panel__title{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.advent-panel__when{margin:.25rem 0 1rem;color:var(--snow-muted)}.advent-panel__closed p{margin:0 0 .9rem;line-height:1.5}.advent-panel__mystery{display:grid;place-items:center;width:4.5rem;aspect-ratio:1;margin-bottom:1rem;border-radius:6px;background:var(--fir-deep);box-shadow:inset 0 0 0 2px var(--spruce-line);color:var(--brass);font-size:2rem;font-weight:800}.advent-panel__message{margin:1rem 0 0;color:var(--brass-soft);line-height:1.45}.advent-reward__name{margin:0;font-size:1.15rem;font-weight:700}.advent-reward__detail{margin:.4rem 0 1rem;color:var(--snow-muted);line-height:1.5}.advent-reward__preview{margin-bottom:1rem}.advent-reward__preview .style-board-preview,.advent-reward__preview .style-keyboard-preview{border-radius:10px}.advent-sound{display:inline-flex;align-items:center;gap:.5rem;border:0;border-radius:8px;padding:.7rem .9rem;background:var(--fir-deep);color:var(--snow);font:inherit;cursor:pointer}.advent-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:8px;padding:.65rem 1.1rem;background:var(--brass);color:#1d1606;font:inherit;font-weight:700;cursor:pointer}.advent-button:hover:not(:disabled){background:var(--brass-soft)}.advent-button:disabled{opacity:.6;cursor:default}.advent-button--quiet{background:transparent;color:var(--snow);box-shadow:inset 0 0 0 2px var(--spruce-line)}.advent-button--quiet:hover:not(:disabled){background:var(--fir-deep)}.advent__section{margin-top:3.5rem}.advent__section h2{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em}.advent__note{margin:.5rem 0 1.25rem;max-width:62ch;color:var(--snow-muted);line-height:1.55}.advent__section--split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;padding-top:2.5rem;border-top:1px solid var(--spruce-line)}.advent-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1.5rem}.advent-collection__set{display:grid;gap:.45rem;padding:.75rem 0;border-top:3px solid var(--set-colour, var(--spruce-line))}.advent-collection__set--wide{grid-column:1 / -1;border-top-color:var(--spruce-line)}.advent-collection__name{font-weight:700}.advent-collection__pieces{display:flex;flex-wrap:wrap;gap:.35rem}.advent-collection__piece{border-radius:5px;padding:.3rem .55rem;background:var(--fir-deep);color:#eef3ee73;font-size:.85rem}.advent-collection__piece--found{background:var(--ontime);color:#fff}@media(max-width:820px){.advent__header,.advent__layout{grid-template-columns:1fr}.advent-panel{position:static}.advent__section--split{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.advent-door__face{transition:none}}
