:root{color-scheme:dark;--bg:#251a30;--cream:#fbf1e1;--gold:#edcca0;--pink:#edb9c6;--ink:#39263a;--muted:#d4c3d7;font-family:Georgia,'Palatino Linotype',Palatino,serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100svh;color:var(--cream);background:radial-gradient(ellipse at 50% 0,#76506066,transparent 70%),var(--bg);overflow-wrap:break-word}body:before,body:after{content:'';position:fixed;inset:0 auto 0 0;width:10vw;background:repeating-linear-gradient(90deg,#9e465522,#29192e33 38%,#b86e7025 64%,transparent);pointer-events:none;z-index:-0}body:after{left:auto;right:0;transform:scaleX(-1)}.masthead,main,footer,.status,.storage-note{position:relative;max-width:700px;margin:auto}.masthead{padding:30px 22px 0;font:10px/1.6 system-ui,sans-serif;letter-spacing:.2em;text-align:center;color:var(--gold)}.masthead>div{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin-top:28px;font-size:10px;letter-spacing:.08em}.pill{border:1px solid #b4a07f66;border-radius:30px;padding:8px 12px;color:#e4d5df;letter-spacing:0}main{padding:22px 20px 16px;min-width:0}h1,h2,h3{font-weight:400;line-height:1.15;margin:16px 0 22px}h1{font-size:clamp(38px,8vw,66px)}h2{font-size:clamp(29px,6vw,42px)}h3{font-size:25px}p{font:16px/1.75 system-ui,sans-serif;color:var(--muted)}.hero{text-align:center;padding-top:22px}.hero h1{max-width:580px;margin:22px auto}.hero h1 em{color:var(--pink)}.eyebrow{font:10px/1.8 system-ui,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--gold)}.ornament{font-size:43px;color:var(--gold);margin:10px 0 24px}.card{border:1px solid #c9ab7855;border-radius:20px;background:#fff8eb08;padding:clamp(22px,5vw,38px);margin:18px 0;box-shadow:0 20px 65px #0002}.small{font:13px/1.7 system-ui,sans-serif;color:var(--muted)}button,input{font:16px/1.3 system-ui,sans-serif}button{min-height:48px;cursor:pointer;border-radius:8px}button:disabled{opacity:.6;cursor:default}.primary{background:var(--gold);border:1px solid var(--gold);color:#302033;font-weight:650;padding:14px 20px}.wide{width:100%}.secondary{color:var(--cream);border:1px solid #d5bb9580;background:#ffffff08;padding:12px 18px}.hint-button{background:transparent;color:var(--gold);border:0;text-decoration:underline;padding:12px 4px;font-size:14px;min-width:44px}.hint{font:14px/1.7 system-ui,sans-serif;color:#e4cedd}.choices{display:grid;gap:10px;margin:24px 0 8px}.choice{min-height:52px;width:100%;padding:15px 16px;text-align:left;color:var(--cream);background:#fff9f208;border:1px solid #c4adbd66}.choice:hover:not(:disabled),.secondary:hover{background:#ffffff14;border-color:var(--gold)}.choice:focus-visible,.primary:focus-visible,input:focus-visible,.hint-button:focus-visible,.secondary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}h1:focus,h2:focus{outline:none}h1:focus-visible,h2:focus-visible{outline:2px solid var(--gold);outline-offset:7px}.steps{display:flex;gap:8px;list-style:none;padding:0;margin:20px 0 28px}.steps li{height:5px;flex:1;border-radius:4px;background:#ffffff20}.steps .done{background:var(--gold)}.letters{display:flex;justify-content:center;gap:8px;margin:22px 0}.letter{width:44px;height:53px;display:grid;place-items:center;border:1px solid #d8b98a80;border-radius:6px;background:#e8bd7310;color:var(--gold);font-size:26px}.letter.empty{color:#c1adca;border-style:dashed;background:none}.letter.new{border-color:var(--pink);box-shadow:0 0 0 2px #efb8ca22}.reward{text-align:center}.board-wrap{margin:26px auto 14px;max-width:340px}.board-label{font:11px/1.6 system-ui,sans-serif;color:#dcc7da;text-align:center;margin:8px 0 10px}.board{width:100%;aspect-ratio:960/1201;position:relative;overflow:hidden;border:1px solid #c6a57088;border-radius:12px;background:#170f21}.board:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,#d8b77433 49.5%,#d8b77433 50%,transparent 50%),linear-gradient(0deg,transparent 33%,#d8b77433 33%,#d8b77433 33.5%,transparent 33.5%,transparent 66%,#d8b77433 66%,#d8b77433 66.5%,transparent 66.5%)}.piece{position:absolute;width:50%;height:33.333333%;transform:translate(var(--sx),var(--sy)) rotate(var(--r));transition:transform 1.25s cubic-bezier(.22,.7,.2,1);outline:1px solid #edcca066;transform-origin:center;overflow:hidden}.piece img{display:block;position:absolute;width:200%;height:300%;max-width:none;pointer-events:none}.p0 img{left:0;top:0}.p1 img{left:-100%;top:0}.p2 img{left:0;top:-100%}.p3 img{left:-100%;top:-100%}.p4 img{left:0;top:-200%}.p5 img{left:-100%;top:-200%}.piece.fresh{animation:land .6s ease-out}.board.assembled .piece{transform:translate(var(--tx),var(--ty)) rotate(0deg)}.board.assembled .piece{outline:none}.word-label{display:block;font:14px/1.5 system-ui,sans-serif;color:var(--muted);margin:22px 0 7px}input{width:100%;min-height:54px;padding:12px;border:1px solid #d4b98f;border-radius:8px;background:#150e20;color:var(--cream);text-transform:uppercase;letter-spacing:.18em;text-align:center;font-size:23px;margin-bottom:16px}.status{font:14px/1.7 system-ui,sans-serif;color:var(--gold);padding:0 22px;min-height:26px}.storage-note{padding:12px 22px;font:13px/1.7 system-ui,sans-serif;color:var(--pink)}.voucher{color:var(--ink);background:var(--cream);border:none;text-align:center}.voucher .eyebrow{color:#795624}.voucher p{color:#675466}.voucher h2{font-size:clamp(30px,6vw,44px);color:var(--ink)}.voucher .ornament{color:#9c7847}.voucher .secondary{color:var(--ink);border-color:#886a4580}.voucher .primary{background:#39263a;color:var(--cream);border-color:#39263a}.voucher .badge{font:11px/1.4 system-ui,sans-serif;color:#71542a;border:1px solid #b6a079;border-radius:30px;padding:7px 12px;display:inline-block}.voucher hr{border:0;border-top:1px dashed #997f5955;margin:24px 0}.unlock-label{font-weight:650!important;color:#52364c!important}.countdown{font:24px/1.7 Georgia,serif;letter-spacing:.025em;font-variant-numeric:tabular-nums;color:#79563c;margin:16px 0}.network{border:1px solid #b6936266;border-radius:10px;padding:15px;margin:16px 0}.network p{font-size:14px}.network button{width:100%}.event-title{font-family:Georgia,serif;font-size:25px!important;color:#54334b!important}.event-line{margin:6px 0}.fine{font-size:11px!important;line-height:1.65!important}.only-screen{}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{text-align:center;color:#c5b1ca;font:11px/1.6 system-ui,sans-serif;padding:24px 22px 40px}@keyframes land{from{opacity:0;filter:brightness(1.7)}to{opacity:1;filter:none}}@media(max-width:380px){.masthead{padding:24px 18px 0}main{padding:18px 16px}.card{padding:22px 18px}.letters{gap:6px}.letter{width:39px;height:49px}.masthead>div{font-size:9px}.pill{padding:8px 10px}.board-wrap{max-width:280px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{@page{size:A4;margin:12mm}html,body{background:white!important;color:black!important}.masthead,footer,.status,.storage-note,.only-screen,.board-wrap,.network,button{display:none!important}main{padding:0;max-width:none}main>:not(#voucher){display:none!important}#voucher{display:block!important;background:white!important;color:black!important;border:1px solid #aaa!important;box-shadow:none!important;padding:12mm;margin:0;break-inside:avoid}#voucher *{color:black!important}body:before,body:after{display:none!important}}
.p0{--sx:100%;--sy:100%;--r:180deg;--tx:0%;--ty:0%}.p1{--sx:0%;--sy:0%;--r:180deg;--tx:100%;--ty:0%}.p2{--sx:100%;--sy:200%;--r:180deg;--tx:0%;--ty:100%}.p3{--sx:0%;--sy:100%;--r:180deg;--tx:100%;--ty:100%}.p4{--sx:100%;--sy:0%;--r:180deg;--tx:0%;--ty:200%}.p5{--sx:0%;--sy:200%;--r:180deg;--tx:100%;--ty:200%}

@media print{#voucher{padding:8mm!important}#voucher .ornament{display:none!important}#voucher h2{font-size:22pt!important;line-height:1.15!important;margin:8pt 0!important}#voucher .eyebrow{font-size:8pt!important}#voucher .badge{font-size:8pt!important;padding:3pt 6pt!important}#voucher p{font-size:10pt!important;line-height:1.4!important;margin:4pt 0!important}#voucher .fine{font-size:8pt!important}#voucher hr{margin:8pt 0!important}#voucher #voucher }

.ticket-invitation{border-top:1px dashed #997f5955;padding-top:24px;margin-top:24px}.ticket-invitation h3{font:500 25px/1.4 Georgia,serif;color:#54334b}.ticket-invitation .reveal-code{display:block;width:min(280px,100%);height:auto;margin:20px auto;background:white}.ticket-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;text-decoration:none}.ticket-link:focus-visible{outline:3px solid #944f68;outline-offset:4px}
