:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#173f35;background:#f8f5eb;font-synthesis:none;line-height:1.6;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,.button{display:inline-block;cursor:pointer;background:#173f35;color:#fff;border:1px solid transparent;border-radius:.8rem;padding:.8rem 1.2rem;font-weight:650;text-decoration:none;max-width:100%;text-align:center}button:disabled{cursor:not-allowed;opacity:.55}.secondary{background:transparent;color:#173f35;border-color:#adc0b5}button:hover:not(:disabled),.button:hover{filter:brightness(1.15)}:focus-visible{outline:3px solid #ce652c;outline-offset:4px}header,main,footer{max-width:1056px;margin:auto;padding:1.5rem}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}nav{display:flex;gap:1.2rem;flex-wrap:wrap}.brand{font-size:1.4rem;font-weight:800;text-decoration:none}.brand small{font-size:.8rem;font-weight:500;margin-left:.5rem}.mode-banner{background:#ffdf9a;border-block:1px solid #dba148;text-align:center;padding:.7rem 1.5rem;display:flex;flex-direction:column;color:#4b360f}.mode-banner small{font-size:.8rem}.hero{padding:2.5rem 0 1rem;max-width:760px}h1{font-family:Georgia,serif;font-weight:500;line-height:1.1;letter-spacing:-.025em;font-size:clamp(2.2rem,6vw,4rem);margin:.7rem 0 1.2rem}h2{font-family:Georgia,serif;font-size:1.7rem;line-height:1.25;margin-top:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}.card{padding:clamp(1rem,3vw,2rem);border:1px solid #d7ddcd;border-radius:1.3rem;margin:1.5rem 0;background:#fffdf7;box-shadow:0 12px 35px #173f3506}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:600;min-width:0}input,textarea,select{display:block;width:100%;min-width:0;padding:.75rem;border:1px solid #a0b4a7;border-radius:.6rem;background:#fff;color:#173f35}textarea{min-height:100px;resize:vertical}.columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}form button{justify-self:start}.subtle,footer{font-size:.88rem;color:#526b5b}code,.words{overflow-wrap:anywhere;word-break:break-word}.words{background:#f6e7bd;border:1px solid #c59942;padding:1.2rem;border-radius:.5rem;font:1.15rem ui-monospace,monospace;line-height:1.8}.gift-list{padding-left:1.2rem}.gift-list li{padding:.4rem 0}details{margin-top:1.2rem}summary{cursor:pointer;font-weight:650}details form{padding-top:1rem}.wallet{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.wallet span,.wallet strong{display:block}.wallet strong{font-size:1.8rem}.wallet small{font-size:.8rem}.doors{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}.door{min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.4rem;padding:.5rem;background:#1d5143;border:1px solid #d5bc70}.door b{font:2.4rem Georgia,serif}.door span{overflow-wrap:anywhere;font-size:.7rem}.door:disabled{opacity:1;background:#e6e7dc;color:#637064;border-color:#c5cbbd}.door.collected{background:#eedbaa;color:#173f35}.door-content{max-width:750px;margin-inline:auto}.door-content img{display:block;width:100%;border-radius:.7rem;aspect-ratio:16/9;object-fit:cover}.greeting{font-family:Georgia,serif;font-size:1.4rem}#v2-notice:not(:empty){position:sticky;bottom:1rem;margin:1rem auto;padding:1rem 1.5rem;max-width:1000px;background:#173f35;color:#fff;border-radius:.8rem;box-shadow:0 4px 25px #0003;z-index:5}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:#fff;padding:1rem;z-index:9}[hidden]{display:none!important}@media(max-width:640px){header,main,footer{padding:1rem}.columns{grid-template-columns:1fr}.doors{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.door b{font-size:2rem}.brand small{display:block;margin:0}.wallet strong{font-size:1.5rem}.card{border-radius:1rem}button,.button{white-space:normal}#v2-notice:not(:empty){margin:1rem}.hero{padding-top:1.5rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(forced-colors:active){.card,.door,.mode-banner{border:1px solid CanvasText}button{border:2px solid ButtonText}}
