/* Twenty-four release-owned paper doors; no additional raster pack is required. */
.reward-calendar-dialog{width:min(920px,calc(100% - 24px))}
.reward-calendar-dialog .winter-panel-body{padding:0;background:#f4f0e4}
dialog.winter-panel.reward-calendar-dialog[open]{max-height:calc(min(var(--winter-ui-viewport-height,100dvh),100dvh) - 24px);min-height:0;overflow:hidden}
dialog.winter-panel.reward-calendar-dialog>.winter-panel-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:0;overscroll-behavior:contain}
.reward-calendar{padding:16px;color:#234943;font:15px/1.5 system-ui;min-width:0}
.reward-calendar [hidden]{display:none!important}
.reward-calendar *{box-sizing:border-box}
.reward-calendar button,.reward-calendar input,.reward-calendar select,.reward-calendar summary{min-height:48px}
.reward-calendar button:focus-visible,.reward-calendar input:focus-visible,.reward-calendar select:focus-visible,.reward-calendar summary:focus-visible{outline:3px solid #b27c2d;outline-offset:3px}
.reward-calendar button{touch-action:manipulation}
.reward-calendar-hero{position:relative;overflow:hidden;isolation:isolate;border-radius:18px;padding:22px 20px;background:linear-gradient(90deg,#173d45f2,#173d45c9 68%,#244f5a80),url('assets/journey-map-v64.webp') 50% 38%/cover;color:#fff5d8;box-shadow:inset 0 0 0 1px #d3dfc255}
.reward-calendar-hero::after{content:'✦';position:absolute;right:16px;top:8px;font:80px/1 Georgia,serif;color:#e7c87b45;z-index:-1}
.reward-calendar-eyebrow{font:700 11px/1.4 system-ui;letter-spacing:.12em;margin:0 0 7px}
.reward-calendar-hero h2{font:700 clamp(25px,4.8vw,38px)/1.12 Georgia,serif;color:inherit;margin:0 0 10px;max-width:15em}
.reward-calendar-hero p:last-child{font-size:14px;line-height:1.5;max-width:46em;margin:0}
.reward-calendar-top{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0}
.reward-calendar-top label{margin:0;min-width:120px;flex:0 1 160px;font-size:12px;font-weight:700}
.reward-calendar-top select{padding:8px 10px}
.reward-calendar-top button{margin-left:auto;white-space:nowrap}
.reward-calendar-today{flex:1 1 180px;font-size:12px;margin:0 0 5px;color:#547064}
.reward-calendar-progress{font-size:14px;font-weight:750;padding:9px 12px;border-radius:12px;background:#e4ecd8;margin:10px 0}
.reward-calendar-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.reward-calendar-pack{padding:9px 10px;border:1px solid #d8dfcf;border-radius:12px;background:#fffaf0;min-width:0}
.reward-calendar-pack h3{font:700 13px/1.35 system-ui;margin:0 0 3px;overflow-wrap:anywhere}
.reward-calendar-pack p{font-size:11px;line-height:1.4;margin:0 0 5px;color:#607467}
.reward-calendar-pack progress{display:block;width:100%;height:6px;accent-color:#597c64}
.reward-calendar-pack.is-earned{background:#e5edda;border-color:#b8c9a9}
.reward-calendar-explain{margin:10px 0;border:1px solid #d8dfcf;border-radius:12px;background:#faf8ee;padding:0 10px}
.reward-calendar-explain summary,.reward-calendar-test summary{display:list-item;align-content:center;padding:11px 0;cursor:pointer;font-weight:700;font-size:13px}
.reward-calendar-explain p{font-size:13px;line-height:1.5;margin:0 0 10px}
.reward-calendar-legend{font-size:11px;color:#637a6c;text-align:center;margin:12px 0 7px}
.reward-calendar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.reward-calendar .reward-calendar-door{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;gap:4px;min-height:108px;min-width:48px;width:100%;padding:9px 5px;border-radius:12px;border:1px solid #d5dacb;box-shadow:0 3px 0 #bccbb061;background:#ebe9dc;color:#66796b;white-space:normal;overflow:hidden;text-align:center;transition:transform .16s ease,box-shadow .16s ease}
.reward-calendar-door::before{content:'';position:absolute;inset:6px;border:1px dashed #c1c9b68c;border-radius:8px;pointer-events:none;z-index:-1}
.reward-calendar-number{font:700 25px/1 Georgia,serif}
.reward-calendar-seal{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid currentColor;font:700 18px/1 Georgia,serif;opacity:.65}
.reward-calendar-door-state{font:650 10px/1.2 system-ui;max-width:100%;overflow-wrap:anywhere}
.reward-calendar .reward-calendar-door[data-rc-status=waiting]{background:#eff0e4;border-color:#c8d2be;color:#567358}
.reward-calendar .reward-calendar-door[data-rc-status=ready]{background:linear-gradient(145deg,#285f59,#17423e);border-color:#e0c683;color:#fff3c7;box-shadow:0 3px 0 #133e3670}
.reward-calendar-door[data-rc-status=ready]::before{border-color:#e2cd8a99}
.reward-calendar-door[data-rc-status=ready] .reward-calendar-seal{opacity:1;background:#f1d88c;color:#28544a;border-color:#f1d88c}
.reward-calendar .reward-calendar-door[data-rc-status=opened]{background:linear-gradient(145deg,#fff9e6,#ede3c8);border-color:#d4c6a0;color:#725d35;box-shadow:inset 0 0 0 3px #fffdf680}
.reward-calendar-door[data-rc-status=opened]::before{border-style:solid;border-color:#d9c99d;transform:rotate(-3deg)}
.reward-calendar-door[data-rc-status=opened] .reward-calendar-seal{border:0;color:#4d7257;opacity:1}
.reward-calendar .reward-calendar-door:disabled{opacity:.65;cursor:wait}
.reward-calendar-door:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 9px #2a4e3b25}
.reward-calendar-test{margin-top:16px;border:1px solid #cfb978;border-radius:12px;background:#fff7dc;padding:0 12px}
.reward-calendar-test p{font-size:12px;line-height:1.5;margin:0 0 10px}
.reward-calendar-test label{font-size:13px;margin:10px 0}
.reward-calendar-test input{max-width:240px}
.reward-calendar-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.reward-calendar-message{position:sticky;bottom:0;margin:12px 0 0;padding:10px 12px;border:1px solid #c8d6bd;border-radius:12px;background:#edf3e3;color:#2d543e;font-size:13px;box-shadow:0 -3px 10px #34524412}
.reward-calendar-message.is-error{border-color:#d8b580;background:#fff0d5;color:#794b25}
.reward-calendar-disabled{padding:16px;background:#fff9e9;border-radius:12px}
.reward-calendar-surprise>h2{font:700 clamp(24px,4vw,34px)/1.2 Georgia,serif;margin:8px 0 14px;color:#244b42;overflow-wrap:anywhere}
.reward-calendar-surprise>.reward-calendar-eyebrow{margin-top:18px;color:#7b6841}
.reward-calendar-image{display:block;width:100%;max-height:260px;object-fit:contain;margin:0 auto 16px;border-radius:14px;background:#e8ecdf}
.reward-calendar-prose{font:17px/1.75 Georgia,serif;color:#304b40;overflow-wrap:anywhere}
.reward-calendar-prose h3{font-size:24px;line-height:1.25;margin:22px 0 8px}
.reward-calendar-prose p{margin:0 0 15px;white-space:pre-line}
.reward-calendar-prose .reward-calendar-byline{font:12px/1.45 system-ui;color:#6a7b68}
.reward-calendar-audio{margin:16px 0;padding:12px;border:1px solid #c8d4bc;border-radius:14px;background:#e9efdf}
.reward-calendar-audio>p{margin:0 0 7px;font-size:13px}
.reward-calendar-audio .reward-calendar-audio-status{font-size:12px;margin:8px 0 0;min-height:0}
.reward-calendar-credits{font:11px/1.5 system-ui;color:#6b7866;overflow-wrap:anywhere;margin-top:16px}
.reward-calendar-credits p{margin:0 0 5px}.reward-calendar-credits a{display:inline-block;margin:0 12px 6px 0;color:#3d6353;text-decoration:underline;min-height:32px}
@media(max-width:600px){.reward-calendar{padding:12px}.reward-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.reward-calendar-packs{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-calendar-hero{padding:17px 14px}.reward-calendar .reward-calendar-door{min-height:95px}.reward-calendar-top{gap:7px}.reward-calendar-top label{flex-basis:130px}.reward-calendar-today{flex-basis:150px}.reward-calendar-top button{margin-left:0}}
@media(max-width:360px){.reward-calendar{padding:9px}.reward-calendar-grid{gap:6px}.reward-calendar .reward-calendar-door{min-height:89px;padding-inline:3px}.reward-calendar-number{font-size:23px}.reward-calendar-door-state{font-size:9px}.reward-calendar-hero h2{font-size:26px}.reward-calendar-pack{padding:8px}.reward-calendar-top label{flex-basis:115px}.reward-calendar-top button{padding-inline:9px}}
@media(max-height:430px){.reward-calendar-hero{padding:12px 16px}.reward-calendar-hero h2{font-size:27px}.reward-calendar-hero p:last-child{font-size:12px}.reward-calendar-image{max-height:180px}.reward-calendar-message{position:static}.reward-calendar-prose{font-size:16px}}
@media(prefers-reduced-motion:reduce){.reward-calendar *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reward-calendar-door:not(:disabled):hover{transform:none}}
