@font-face{font-family:Poppins;src:url('/g/heart/assets/fonts/Poppins-500.woff2') format('woff2');font-weight:400 500;font-display:swap}@font-face{font-family:Poppins;src:url('/g/heart/assets/fonts/Poppins-600.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url('/g/heart/assets/fonts/Poppins-800.woff2') format('woff2');font-weight:700 900;font-display:swap}@font-face{font-family:Fraunces;src:url('/g/heart/assets/fonts/Fraunces-Italic-Variable.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{--paper:#FBF4E8;--surface:#FFFDF7;--ink:#382B2D;--muted:#776362;--pink:#CE3C65;--line:#DCC6B9;--green:#27644F;--gold:#9C681C;--rose-soft:#F6DED6;--shadow:0 18px 52px #4A262019;--gmy-bar-space:0px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px;overflow-x:clip;width:100%}body{margin:0;background:var(--paper);color:var(--ink);font:500 14px/1.6 Poppins,Arial,sans-serif;padding-bottom:var(--gmy-bar-space);overflow-x:clip}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pink);outline-offset:4px}button{color:inherit}a{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}h1,h2,h3,p{margin:0}em{font-family:Fraunces,Georgia,serif;font-weight:500}img{max-width:100%;display:block}fieldset{min-width:0}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.paper-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.38' d='M0 0h120v120H0z'/%3E%3C/svg%3E")}
.topbar{max-width:1480px;margin:auto;padding:22px 4%;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{object-fit:contain;width:116px;height:42px}.brand span{font-family:Fraunces,Georgia,serif;font-style:italic;color:var(--muted);font-size:15px}.event-chip{font-size:11px;letter-spacing:.12em;display:flex;align-items:center;gap:9px}.event-chip i{width:7px;height:7px;border-radius:50%;background:var(--pink)}.tools{display:flex;gap:6px;align-items:center}.tools button{display:grid;place-items:center;min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:50%;background:transparent}.tools button:hover{background:var(--rose-soft)}.admin-link{font-size:11px;text-decoration:none;padding:12px}.parade{max-width:1400px;margin:auto;padding:40px 4% 0;display:grid;grid-template-columns:.8fr 1.5fr;column-gap:4%}.intro{padding-top:20px;align-self:center}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:600;line-height:1.6}.intro .eyebrow{display:flex;gap:10px;align-items:center}.tiny-flower{font-size:30px;color:var(--pink)}h1{position:relative;font-size:clamp(56px,6.6vw,100px);font-weight:800;line-height:.95;letter-spacing:-.067em;margin:18px 0 25px}h1 em{color:var(--pink);font-size:1.18em;letter-spacing:-.07em;line-height:1.1}.title-star{position:absolute;font-size:75px;color:var(--pink);right:10%;top:22%;font-weight:400;animation:starTurn 14s linear infinite}.intro-text{font-size:15px;line-height:1.8;color:var(--muted)}.mini-bipys{display:flex;align-items:end;gap:4px;margin:26px 0 14px}.mini-bipys img{width:57px;height:91px;object-fit:contain;transition:transform .25s}.mini-bipys img:hover{transform:translateY(-8px) rotate(-5deg)}.mini-bipys span{font:italic 14px/1.3 Fraunces,Georgia,serif;margin:0 0 14px 12px}.text-link{font-size:12px;display:inline-flex;gap:30px;min-height:44px;align-items:center;text-underline-offset:5px}.casting-caption{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.08em;margin-bottom:14px}.casting-caption small{color:var(--muted);font-size:9px}.host-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.host-card{border:1px solid var(--line);position:relative;background:#DCE6D6;border-radius:140px 140px 10px 10px;isolation:isolate;height:clamp(370px,41vw,580px);padding:0;overflow:hidden;transition:box-shadow .25s,transform .25s,border-color .25s;text-align:center}.host-card.gold{background:#F3DC9D}.host-card:before{content:'';position:absolute;inset:15px 12px 110px;border:1px solid #FFFFFF90;border-radius:150px 150px 0 0;z-index:-1}.host-card.selected{box-shadow:0 0 0 3px var(--green),0 15px 40px #27573D15;border-color:transparent;transform:translateY(-3px)}.host-card.gold.selected{box-shadow:0 0 0 3px var(--gold),0 15px 40px #9C681C15}.arch{position:absolute;width:80%;aspect-ratio:1;top:21%;left:10%;border:1px solid #78897455;border-radius:50%;z-index:-1}.host-art{position:absolute;inset:8px 0 120px;width:100%;height:calc(100% - 128px);object-fit:contain;object-position:center bottom;transition:transform .5s;filter:drop-shadow(0 9px 12px #19342622)}.host-card:hover .host-art{transform:scale(1.025)}.host-number{position:absolute;top:53px;left:19px;z-index:2;font:italic 20px Fraunces,Georgia,serif;opacity:.6}.host-check{position:absolute;right:15px;top:53px;border-radius:50%;background:var(--green);color:#fff;width:25px;height:25px;z-index:3;opacity:0}.selected .host-check{opacity:1}.gold .host-check{background:var(--gold)}.host-flower{position:absolute;left:-17px;top:30%;font-size:150px;color:#739B6D3A;z-index:-1}.gold .host-flower{color:#B98A233A;top:45%;left:auto;right:-10px}.host-name{position:absolute;bottom:0;left:0;right:0;display:grid;padding:15px 12px 17px;background:#EDF0E3EB;color:#243F2F;border-top:1px solid #BAC6AC}.gold .host-name{background:#FAE7BCEB;color:#61401A;border-color:#D6B977}.host-name b{font:italic 46px/1.05 Fraunces,Georgia,serif;letter-spacing:-.06em}.host-name small{font-size:8px;letter-spacing:.14em}.host-availability{font-size:9px;letter-spacing:.05em;margin-top:7px}.quote-row{display:flex;justify-content:center;align-items:center;gap:10px;padding:17px 4px;min-height:64px}.quote-row>span:first-child{font:italic 40px/1 Fraunces,serif;color:var(--pink)}.quote-row p{font:italic 16px/1.5 Fraunces,serif}.quote-row>span:last-child{font-size:10px;white-space:nowrap;color:var(--muted)}
.invitation{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 22px;padding:20px 26px;position:relative;box-shadow:var(--shadow);margin-top:10px}.invitation:before,.invitation:after{content:'';position:absolute;top:50%;width:20px;height:20px;background:var(--paper);border:1px solid var(--line);border-radius:50%;transform:translateY(-50%)}.invitation:before{left:-11px;border-left-color:transparent}.invitation:after{right:-11px;border-right-color:transparent}.mode-tag{font-size:9px;letter-spacing:.13em;color:var(--pink);font-weight:800}.invitation-info p{font-size:12px;color:var(--muted);margin-top:4px}.primary,.secondary{border-radius:7px;min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:12px;text-decoration:none;font-weight:600;font-size:13px;padding:13px 22px;transition:transform .18s,background .18s}.primary{border:1px solid var(--pink);background:var(--pink);color:#fff;box-shadow:0 5px 0 #922B49}.primary:hover:not(:disabled){background:#B82D56;transform:translateY(-2px)}.primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #922B49}.secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.secondary:hover{background:var(--rose-soft)}.invitation-foot{grid-column:1/-1;font-size:9px;color:var(--muted)}.full{width:100%}
.moments{max-width:1400px;margin:70px auto 0;padding:0 4%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:25px}.section-heading h2,.keepsakes h2{font-size:26px;letter-spacing:-.04em;line-height:1.3}.section-heading h2 em,.keepsakes h2 em{color:var(--pink);font-size:1.15em}.section-heading>p{color:var(--muted);font-size:11px}.section-heading .eyebrow{margin-bottom:8px}.moment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.moment{padding:21px 19px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:flex;flex-direction:column;align-items:start;min-height:205px;position:relative;transition:transform .25s}.moment:hover{transform:translateY(-4px)}.moment-num{position:absolute;right:17px;top:16px;color:var(--muted);font-size:10px}.moment-symbol{color:var(--pink);background:var(--rose-soft);border:1px solid var(--line);border-radius:50%;width:47px;height:47px;display:grid;place-items:center;margin-bottom:17px}.moment h3{font-size:14px;font-weight:600;letter-spacing:-.025em}.moment p{color:var(--muted);font-size:11px;margin-top:7px;line-height:1.6}.moment small{font-size:9px;margin-top:auto;padding-top:13px;color:var(--pink)}.moment.note-tile{background:#E2EADC;color:#234D3D;display:grid;place-content:center;text-align:center;align-items:center}.note-tile img{width:62px;height:84px;object-fit:contain;margin:auto}.note-tile p{color:#466E5A}.keepsakes{max-width:1290px;margin:30px auto;display:grid;grid-template-columns:auto 1fr 1fr;gap:20px;align-items:center;padding:26px 30px;border-block:1px dashed var(--line)}.keepsakes>img{height:105px;width:74px;object-fit:contain}.keepsakes p:not(.eyebrow){font-size:11px;color:var(--muted);margin-top:8px}.stamp-album{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.stamp{border:1px dashed var(--line);height:39px;display:grid;place-items:center;opacity:.35;border-radius:7px}.stamp.owned{opacity:1;color:var(--pink);background:var(--rose-soft);border-style:solid}.stamp.owned.gold{color:var(--gold);background:#F8E7B3}.stamp svg{width:21px;height:21px}.comfort-note{max-width:1130px;padding:0 4%;margin:30px auto;display:flex;gap:15px;align-items:center;color:var(--muted);font-size:11px}.comfort-note>span{color:var(--pink);flex:none}.comfort-note svg{width:36px;height:36px}.comfort-note b{color:var(--ink)}footer{max-width:1400px;margin:40px auto 0;padding:24px 4%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.05em}footer i{font-family:Fraunces,serif;font-size:13px}footer a{min-height:32px}
dialog{overscroll-behavior:contain;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px #20101850;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#24191ACC;backdrop-filter:blur(5px)}#prepForm{padding:34px;position:relative}dialog h2{font-size:32px;line-height:1.12;letter-spacing:-.045em}dialog h2 em{font-size:1.15em;color:var(--pink)}.close-dialog{position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:var(--rose-soft);font-size:25px}.muted{color:var(--muted);font-size:12px;margin-top:13px}.comfort-options{margin:22px 0 16px;border:0;padding:0}.comfort-options legend{font-size:12px;margin-bottom:10px}.comfort-options label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:13px 12px;border-radius:8px;margin-top:8px;cursor:pointer}.comfort-options label:has(input:checked){border-color:var(--pink);background:var(--rose-soft)}.comfort-options label>span:nth-child(2){flex:1}.comfort-options b,.comfort-options small{display:block}.comfort-options b{font-size:12px}.comfort-options small{font-size:10px;color:var(--muted)}input[type=checkbox],input[type=radio]{width:19px;height:19px;accent-color:var(--pink);flex:none;margin:0}.optional-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional-fields label{font-size:10px}.optional-fields label>span{color:var(--muted)}input:not([type=checkbox],[type=radio]),select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:11px 10px;min-height:45px;font-size:12px;margin-top:5px}select{padding-right:20px}.check-row{display:flex;align-items:start;gap:10px;font-size:10px;line-height:1.6;margin:17px 0;cursor:pointer}.check-row input{margin-top:2px}.consent{padding:14px 0;border-block:1px dashed var(--line)}.fine-print{font-size:9px;color:var(--muted);line-height:1.6;margin-top:14px}.form-error{background:#FFE4E8;color:#8B1539;padding:11px 13px;border-radius:7px;font-size:11px;margin:12px 0}
.draw-stage{max-width:1200px;margin:32px auto;padding:0 4%;display:grid;grid-template-columns:1fr 1.2fr;gap:30px;min-height:580px;align-items:center}.draw-character{position:relative;border-radius:200px 200px 10px 10px;background:#DAE6D1;height:560px;border:1px solid var(--line);overflow:hidden}.draw-character>img:first-child{width:100%;height:100%;object-fit:contain;padding:12px}.draw-bipy{position:absolute;right:2%;bottom:4%;height:170px;width:110px;object-fit:contain;filter:drop-shadow(0 10px 15px #24401D33)}body[data-host=sanji] .draw-character{background:#F3DBA1}.draw-machine{text-align:center;min-width:0}.draw-machine h2{font-size:32px;letter-spacing:-.045em;line-height:1.2;margin:12px 0}.draw-machine h2 em{color:var(--pink)}.carousel{position:relative;width:min(100%,450px);aspect-ratio:1;margin:10px auto}.orbit{position:absolute;inset:10%;border:1px dashed var(--line);border-radius:50%}.orbit-ticket{position:absolute;top:50%;left:50%;width:56px;height:70px;border:1px solid #C9A07D;background:var(--surface);border-radius:25px 25px 5px 5px;display:grid;place-items:center;color:var(--pink);transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-150px) rotate(calc(-1 * var(--angle)));box-shadow:0 5px 10px #4A262019}.orbit-ticket svg{width:30px;height:30px}.heart-capsule{position:absolute;inset:27%;border:3px solid #FFD4BE;background:radial-gradient(circle at 33% 22%,#FFD9DD,#E6778D 46%,#B5244F);border-radius:50%;box-shadow:inset -8px -13px 0 #79263C35,0 20px 35px #BF396632;display:grid;place-items:center;transform:rotate(-10deg);overflow:hidden}.heart-capsule:after{content:'';position:absolute;inset:50% 0 0;border-top:2px solid #FFE3C7A0;background:#9E1D4130}.heart-capsule>span{z-index:1;color:#FFE9D4}.heart-capsule svg{width:70px;height:70px;fill:#FFDDC7;stroke:#A5454E;stroke-width:1}.heart-capsule i{position:absolute;top:13%;left:15%;width:30%;height:18%;background:#FFFFFF6B;border-radius:50%;transform:rotate(-30deg)}.capsule-shadow{position:absolute;bottom:15%;left:29%;width:42%;height:7%;border-radius:50%;background:#481D1920;filter:blur(9px)}.drawing .orbit{animation:orbitSpin 3s cubic-bezier(.4,0,.5,1) infinite}.drawing .heart-capsule{animation:heartShake .7s ease-in-out infinite}.drawing .draw-bipy{animation:bipyBounce 1.1s ease-in-out infinite}.draw-status{font-size:12px;color:var(--muted);min-height:24px}.progress-track{height:4px;border-radius:8px;overflow:hidden;background:var(--line);max-width:300px;margin:18px auto}.progress-track i{height:100%;background:var(--pink);display:block;width:0}.draw-machine .secondary{font-size:10px;min-height:40px;padding:8px 15px}
#resultDialog{width:min(860px,calc(100vw - 28px));overflow:auto}.result-card{display:grid;grid-template-columns:.8fr 1.2fr}.result-portrait{background:#DFE9D8;min-height:545px;position:relative;overflow:hidden;isolation:isolate}.result-portrait:before{content:'';position:absolute;inset:28px 20px 45px;border:1px solid #FFFFFFAA;border-radius:160px 160px 0 0;z-index:-1}.result-portrait>img:first-of-type{width:100%;height:calc(100% - 45px);object-fit:contain;position:absolute;inset:12px 0 45px}.result-flower{position:absolute;font-size:200px;color:#688D7133;left:-50px;top:20%;z-index:-1}.portrait-caption{position:absolute;bottom:15px;left:23px;font:italic 56px/1 Fraunces,Georgia,serif;color:#345041;letter-spacing:-.07em}.result-bipy{position:absolute;bottom:12px;right:12px;width:75px;height:116px;object-fit:contain}.result-content{padding:34px;display:flex;flex-direction:column;align-items:start}.result-symbol{color:var(--pink);width:59px;height:59px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--rose-soft);margin:25px 0 17px}.result-symbol svg{width:31px;height:31px}.result-content h2{font:italic 44px/1.05 Fraunces,Georgia,serif;letter-spacing:-.04em}.result-subtitle{font-size:12px;color:var(--pink);margin:10px 0 15px}.result-content>p:not([class]){font-size:11px;color:var(--muted)}.comfort-pill{font-size:10px;padding:7px 10px;margin-top:16px;background:var(--rose-soft);border-radius:4px;color:var(--pink)}.ticket{width:100%;margin-top:20px;padding:15px 0;border-block:1px dashed var(--line);display:grid;gap:5px}.ticket>span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.ticket strong{font-size:20px;letter-spacing:.055em}.ticket small{font-size:10px;color:var(--muted)}.result-actions{display:flex;gap:9px;margin-top:auto;padding-top:23px;align-self:stretch}.result-actions>*{flex:1;padding:11px 10px;font-size:11px}.result-actions svg{width:18px;height:18px}body[data-host=sanji] .result-portrait{background:#F7DFA7}body[data-host=sanji] .portrait-caption{color:#6D4C21}.toast{position:fixed;left:50%;bottom:calc(24px + var(--gmy-bar-space));transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:13px 20px;border-radius:8px;font-size:12px;max-width:90vw;z-index:120;text-align:center}.connection{position:fixed;left:15px;right:15px;bottom:calc(12px + var(--gmy-bar-space));z-index:125;background:#FFF0C8;color:#583900;border:1px solid #B99335;border-radius:10px;padding:10px 14px;display:flex;justify-content:center;align-items:center;gap:15px;font-size:12px}.connection button{min-height:44px;border:1px solid #B99335;border-radius:7px;background:#fff6e2;padding:5px 12px;white-space:nowrap}
@keyframes starTurn{to{transform:rotate(360deg)}}@keyframes orbitSpin{to{transform:rotate(720deg)}}@keyframes heartShake{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-12px) rotate(9deg)}}@keyframes bipyBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
html[data-theme=dark]{--paper:#241B24;--surface:#322632;--ink:#FFF0E5;--muted:#C7B0B6;--line:#68505D;--pink:#F786A6;--rose-soft:#51323F;--shadow:0 18px 52px #0003;color-scheme:dark}html[data-theme=dark] .primary{background:#AF315B;color:white;border-color:#D46C8C}html[data-theme=dark] .primary:hover{background:#C23C68}html[data-theme=dark] .brand img{filter:brightness(0) invert(1)}html[data-theme=dark] .moment.note-tile{background:#243D32;color:#DFEBDD}html[data-theme=dark] .note-tile p{color:#B3CFBA}
@media(min-width:1500px){.parade{padding-top:50px}.host-card{height:610px}.intro{padding-top:0}}
@media(max-width:1050px){.parade{grid-template-columns:.75fr 1.35fr;gap:20px}.intro h1{font-size:66px}.title-star{right:0;font-size:50px}.host-card{height:435px}.host-name b{font-size:36px}.mini-bipys img{width:45px;height:72px}.mini-bipys span{font-size:12px;margin-left:4px}.intro-text{font-size:12px}.casting-caption small{display:none}.quote-row p{font-size:14px}.moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.keepsakes{margin-inline:4%;grid-template-columns:auto 1fr}.stamp-album{grid-column:1/-1;max-width:460px;width:100%;margin:auto}.draw-character{height:490px}.draw-stage{min-height:510px;gap:16px}.orbit-ticket{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-125px) rotate(calc(-1 * var(--angle)));width:48px;height:60px}}
@media(max-width:700px){.topbar{padding:14px 5%;gap:8px}.brand img{width:87px;height:33px}.brand span{display:none}.event-chip{font-size:8px;letter-spacing:.06em}.event-chip>span{display:none}.tools{gap:4px}.tools button{width:40px;height:40px;min-width:40px;min-height:40px}.tools svg{width:20px;height:20px}.admin-link{font-size:9px;padding:10px 5px}.parade{display:flex;flex-direction:column;padding:25px 5% 0;gap:19px}.intro{padding:0;position:relative;width:100%}.intro .eyebrow{font-size:8px;letter-spacing:.1em}.tiny-flower{font-size:20px}h1,.intro h1{font-size:54px;line-height:1;letter-spacing:-.065em;max-width:270px;margin:10px 0 14px}h1 br:first-of-type{display:none}h1 br:last-of-type{display:block}h1 em{margin-inline:7px;font-size:1.12em}h1 .title-star{font-size:37px;right:4px;top:38px}.intro-text{font-size:11px;max-width:250px}.mini-bipys{position:absolute;right:0;bottom:-1px;margin:0;gap:0;align-items:end}.mini-bipys img{width:35px;height:58px}.mini-bipys img:nth-child(2){height:68px}.mini-bipys span{display:none}.text-link{font-size:10px;min-height:36px;margin-top:8px}.casting-caption{font-size:8px;margin-bottom:10px}.host-grid{gap:12px;padding:3px}.host-card{height:365px;border-radius:100px 100px 9px 9px}.host-art{inset:7px 0 90px;height:calc(100% - 97px)}.host-name{padding:10px 5px 12px}.host-name b{font-size:34px}.host-name small{font-size:6px;letter-spacing:.07em}.host-availability{font-size:8px;margin-top:5px}.host-number{top:35px;left:12px;font-size:16px}.host-check{top:36px;right:11px;width:22px;height:22px;font-size:12px;line-height:22px}.host-flower{font-size:100px}.quote-row{padding:14px 0 0;min-height:48px;gap:5px;align-items:start}.quote-row p{font-size:12px;line-height:1.5}.quote-row>span:first-child{font-size:29px}.quote-row>span:last-child{font-size:8px;margin-top:4px}.invitation{display:flex;flex-direction:column;padding:16px 18px;margin-top:0;gap:9px;width:100%;align-items:stretch}.invitation-info{display:flex;align-items:center;justify-content:space-between;gap:10px}.mode-tag{font-size:8px;white-space:nowrap}.invitation-info p{font-size:9px;text-align:right;margin:0}.invitation .primary{width:100%;min-height:51px}.invitation-foot{text-align:center;font-size:8px}.moments{margin-top:43px;padding-inline:5%}.section-heading{display:block;margin-bottom:18px}.section-heading h2,.keepsakes h2{font-size:25px;max-width:320px}.section-heading>p{margin-top:10px;font-size:10px}.moment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.moment{min-height:198px;padding:16px 13px}.moment-symbol{width:41px;height:41px;margin-bottom:14px}.moment h3{font-size:12px}.moment p{font-size:10px}.moment small{font-size:8px}.keepsakes{padding:23px 0;gap:15px}.keepsakes>img{height:95px;width:62px}.keepsakes .eyebrow{font-size:8px}.keepsakes h2{font-size:22px}.comfort-note{font-size:10px;align-items:start}.comfort-note svg{width:28px;height:28px}footer{font-size:8px;gap:12px;margin-top:25px}footer>span:nth-child(2){display:none}#prepForm{padding:29px 22px 25px}dialog h2{font-size:29px}.draw-stage{grid-template-columns:.7fr 1fr;gap:10px;min-height:430px;margin-block:22px;padding-inline:4%}.draw-character{height:350px;border-radius:90px 90px 9px 9px}.draw-bipy{height:95px;width:60px}.draw-machine .eyebrow{font-size:7px}.draw-machine h2{font-size:23px}.carousel{max-width:235px;margin:18px auto}.orbit-ticket{width:32px;height:42px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-78px) rotate(calc(-1 * var(--angle)))}.orbit-ticket svg{width:18px;height:18px}.heart-capsule{inset:24%}.heart-capsule svg{width:40px;height:40px}.draw-status{font-size:10px}.result-card{grid-template-columns:.7fr 1fr}.result-portrait{min-height:530px}.result-content{padding:24px 19px}.result-content h2{font-size:34px}.result-content .eyebrow{font-size:8px}.result-symbol{width:46px;height:46px;margin:18px 0 12px}.result-subtitle{font-size:10px}.result-content>p:not([class]){font-size:10px}.portrait-caption{font-size:39px;bottom:18px;left:12px}.result-bipy{width:58px;height:90px;bottom:64px;right:5px}.result-actions{flex-direction:column;padding-top:17px}.result-actions>*{min-height:43px}.ticket strong{font-size:16px}.ticket small{font-size:9px}.ticket{margin-top:15px}.connection{font-size:10px;gap:8px}.connection button{font-size:10px}}
@media(max-width:380px){.event-chip{display:none}.host-card{height:305px}.host-name b{font-size:29px}.intro h1{font-size:44px;max-width:270px}.mini-bipys img{width:28px;height:49px}.mini-bipys img:nth-child(2){height:57px}.intro-text{font-size:10px}.result-card{grid-template-columns:1fr}.result-portrait{height:235px;min-height:0}.result-portrait>img:first-of-type{height:225px;inset:5px 0;width:100%;object-position:center}.portrait-caption{bottom:22px;left:18px}.result-bipy{right:15px;bottom:15px;width:64px;height:96px}.result-content{padding:21px}.result-symbol{display:none}.result-content h2{margin-top:13px}.result-actions{flex-direction:row}.optional-fields{grid-template-columns:1fr}.draw-stage{display:flex;flex-direction:column;min-height:0}.draw-character{width:140px;height:205px}.draw-bipy{height:70px;width:42px}.draw-machine{width:100%}.carousel{width:250px}.orbit-ticket{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-82px) rotate(calc(-1 * var(--angle)))}.draw-machine h2{font-size:23px}.draw-machine .eyebrow{margin-top:10px}}
@media(max-height:520px) and (min-width:701px){.parade{padding-top:20px}.intro h1{font-size:58px}.host-card{height:350px}.draw-stage{min-height:320px;margin:12px auto}.draw-character{height:330px}.carousel{max-width:250px}.orbit-ticket{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-84px) rotate(calc(-1 * var(--angle)));width:34px;height:44px}.draw-machine h2{font-size:23px}.result-portrait{min-height:480px}.draw-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* The invitation deck uses the same poster language as the downloadable keepsake. */
.customer-offer{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;margin:19px 0 8px;color:var(--pink)}.customer-offer>b{font-size:23px;font-weight:800;letter-spacing:-.04em}.customer-offer>span{font-size:12px}.customer-offer>small{grid-column:1/-1;font-size:10px;color:var(--muted)}
.host-card{border-radius:4px;background:#E5DEC8;border:2px solid #9E8266;padding-top:46px;box-shadow:5px 6px 0 #9C795B22}.host-card.gold{background:#F1E0B5}.host-card:before{border-radius:0;inset:53px 12px 115px;border-color:#B59B77}.host-number{top:8px;left:0;right:0;font:800 25px/1.4 Poppins,serif;letter-spacing:.16em;color:#59432D;opacity:1}.host-check{top:12px;right:12px}.host-art{top:52px;height:calc(100% - 168px);filter:drop-shadow(0 9px 12px #19342622)}.host-name{background:#EEE5CE;color:#4E3C2B;border-top:1px solid #B59B77;padding:12px 10px}.gold .host-name{background:#F5E6C3;border-color:#B59B77}.host-name b{font:800 31px/1.3 Poppins,sans-serif;letter-spacing:.015em;text-transform:uppercase}.host-name small{font-size:8px}.host-card.selected{transform:translateY(-3px)}.arch{border-radius:0;transform:rotate(45deg);opacity:.3}.host-flower{opacity:.6}
.invitation{grid-template-columns:1fr auto;gap:15px 24px;margin-top:17px;padding:22px 25px;border-radius:4px}.invitation-info{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px}.invitation-info p{margin:0}.invitation-foot{font-size:11px}.play-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.mode-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;min-height:69px;display:flex;text-align:left;gap:13px;align-items:center;padding:12px 15px}.mode-button.selected{border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink);background:var(--rose-soft)}.mode-button svg{flex:none;color:var(--pink)}.mode-button b,.mode-button small{display:block}.mode-button b{font-size:15px}.mode-button small{font-size:10px;color:var(--muted)}.invitation>.primary{min-width:240px}.prep-selection{font-size:12px;padding:12px 14px;margin-top:16px;border:1px dashed var(--line);color:var(--pink);background:var(--rose-soft)}.optional-fields{grid-template-columns:1fr}.check-row{font-size:12px;min-height:44px;align-items:center}.comfort-options b{font-size:13px}.comfort-options small{font-size:11px}.fine-print{font-size:10px}.comfort-options label{min-height:68px}.form-error{font-size:12px}
.moment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.moment.collectible{padding:8px;border:1px solid #B49B7C;border-radius:3px;background:#FAF0DC;min-height:0;display:block;box-shadow:4px 5px 0 #84634215;color:#533D31;overflow:hidden}.moment.collectible.chosen{outline:3px solid var(--pink);outline-offset:3px}.moment.collectible.unavailable .card-art{filter:grayscale(.8)}.card-art{height:300px;position:relative;overflow:hidden;background:var(--card-paper,#E9DFCD);border:1px solid #B59B7744;padding-top:40px}.card-wanted{position:absolute;top:7px;left:0;right:0;text-align:center;font-weight:800;letter-spacing:.2em;font-size:19px;z-index:1}.collectible .moment-num{font-size:8px;color:#705843;top:auto;bottom:7px;right:8px;z-index:2}.card-art>img{width:100%;height:100%;object-fit:contain;object-position:center bottom;position:relative;z-index:1;padding:0 9px 5px;transition:transform .3s}.collectible:hover .card-art>img{transform:scale(1.025)}.card-art-motif{position:absolute;left:-16px;top:35%;opacity:.16;color:#866B47;transform:rotate(-18deg)}.card-art-motif svg{width:150px;height:150px;stroke-width:1}.card-copy{padding:14px 8px 7px}.card-host{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;margin-bottom:7px}.card-host svg{width:18px;height:18px;color:#AA4960}.collectible h3{font:italic 25px/1.12 Fraunces,Georgia,serif;min-height:56px}.collectible .card-romance{font-size:10px;color:#795849;line-height:1.65;min-height:50px;margin:4px 0 12px}.card-value{border-block:1px dashed #B49B7C;padding:10px 0;display:grid;gap:2px}.card-value>small{padding:0;font-size:8px;color:#795849;margin:0}.card-value>del{font-size:13px;color:#795849;text-decoration-thickness:2px}.card-value>b{font-size:15px;color:#A43B58;display:block}.card-value>b>span{font-size:9px;font-weight:600;display:block;letter-spacing:0}.collectible .card-alternative{font-size:9px;line-height:1.65;min-height:48px;color:#705B4C;margin:12px 0}.card-choice{min-height:46px;width:100%;border:1px solid #A43B58;background:transparent;color:#A43B58;border-radius:3px;font-size:11px;font-weight:600;padding:10px 6px}.card-choice:hover:not(:disabled),.card-choice[aria-pressed=true]{background:#A43B58;color:#fff}.card-choice:disabled{opacity:.65}.collectible:hover{transform:translateY(-3px)}
.motif-cinderella{--card-paper:#DFE9E8;--motif-color:#6AA7A1}.motif-twirl{--card-paper:#ECDADC;--motif-color:#BF708C}.motif-whisper{--card-paper:#E6E8CE;--motif-color:#8EAA70}.motif-offering{--card-paper:#F2D4CB;--motif-color:#D67872}.motif-vow{--card-paper:#E5DFCF;--motif-color:#B89A57}.motif-hug{--card-paper:#F1D7DF;--motif-color:#C85F88}.motif-pat{--card-paper:#E6DDED;--motif-color:#9B84B7}
.motif-twirl .card-art{background-image:repeating-linear-gradient(35deg,transparent 0 36px,#BF708C12 37px 39px)}.motif-whisper .card-art{background-image:radial-gradient(ellipse at 20% 30%,#FFF9 0 5px,transparent 6px);background-size:43px 55px}.motif-offering .card-art{background-image:radial-gradient(circle,#D6787222 0 4px,transparent 5px);background-size:34px 34px}.motif-vow .card-art{background-image:repeating-linear-gradient(90deg,transparent 0 55px,#B89A5717 56px 58px)}.motif-hug .card-art{background-image:radial-gradient(ellipse at 50% 55%,#FFF9,transparent 70%)}.motif-pat .card-art{background-image:radial-gradient(circle,#FFF9 0 2px,transparent 3px);background-size:29px 29px}.motif-cinderella .card-art{background-image:repeating-linear-gradient(-40deg,transparent 0 58px,#6AA7A11A 59px 61px)}
.stamp{height:56px;overflow:hidden}.stamp img{height:100%;width:100%;object-fit:contain}.stamp.owned{background:var(--surface)}
.draw-stage{min-height:570px}.carousel{width:min(100%,430px);aspect-ratio:1}.orbit{inset:0;border:0}.orbit-ticket{width:115px;height:165px;top:49%;left:50%;border:2px solid #A6785E;border-radius:4px;background:#F7E5CD;color:#A43B58;transform:translate(calc(-50% + (var(--index) - 3)*22px),-50%) rotate(calc((var(--index) - 3)*8deg));box-shadow:0 10px 24px #4A262025;overflow:hidden}.card-back{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;border:5px double #A6785E;background:repeating-linear-gradient(45deg,#F7E5CD 0 12px,#EDCFB44D 12px 24px)}.card-back b{font-size:10px;letter-spacing:.12em}.orbit-ticket svg{width:37px;height:37px}.heart-capsule{inset:25% 32%;border:4px double #A6785E;border-radius:4px;background:#F7E5CD;box-shadow:0 20px 35px #60392730;display:flex;flex-direction:column;justify-content:center;gap:13px;transform:rotate(-7deg);color:#A43B58;z-index:2}.heart-capsule:after{display:none}.heart-capsule>span{color:#A43B58}.heart-capsule svg{fill:none;stroke:currentColor;stroke-width:1.5;width:54px;height:54px}.heart-capsule>b{font-size:16px;letter-spacing:.05em;line-height:1.4}.heart-capsule i{display:none}.capsule-shadow{bottom:18%;filter:blur(10px)}.drawing .orbit{animation:none}.drawing .orbit-ticket{animation:cardShuffle 1.1s ease-in-out infinite;animation-delay:calc(var(--index)*-.12s)}.drawing .heart-capsule{animation:cardPulse 1.1s ease-in-out infinite}.revealing .orbit-ticket{animation:none;opacity:.25}.revealing .heart-capsule{animation:cardReveal .7s ease both}.reveal-motif{position:absolute;inset:0;z-index:3;pointer-events:none}.reveal-motif>span{position:absolute;left:50%;top:50%;color:var(--motif-color,var(--pink));opacity:0;transform:translate(-50%,-50%)}.reveal-motif svg{width:37px;height:37px}.revealing .reveal-motif>span{animation:motifBloom 1.2s ease-out both;animation-delay:calc(var(--i)*.035s)}.motif-twirl.revealing .reveal-motif>span{animation-name:motifTwirl}.motif-whisper.revealing .reveal-motif>span,.motif-offering.revealing .reveal-motif>span{animation-name:petalDrift}.motif-vow.revealing .reveal-motif>span,.motif-pat.revealing .reveal-motif>span{animation-name:starRise}.motif-hug.revealing .reveal-motif>span{animation-name:heartBloom}.draw-machine .secondary{min-height:44px;font-size:11px}
.result-portrait{background:var(--card-paper,#E5DEC8)!important;min-height:690px;border-right:1px solid #B59B77}.result-portrait:before{inset:55px 15px 60px;border-radius:0;border-color:#B59B7780}.poster-heading{position:absolute;top:15px;left:0;right:0;text-align:center;font-size:28px;font-weight:800;letter-spacing:.15em;color:#533D31;z-index:2}.result-portrait>img:first-of-type{inset:68px 0 67px;height:calc(100% - 135px);padding:0 8px;object-position:center bottom}.portrait-caption{font:800 30px/1.3 Poppins,sans-serif;left:18px;bottom:18px;text-transform:uppercase;letter-spacing:.02em;color:#533D31!important}.result-bipy{width:66px;height:100px;bottom:57px;right:7px;background:#FDF8F5AA;border-radius:50%}.result-content{padding:27px;gap:0}.result-content h2{font-size:39px}.result-symbol{width:44px;height:44px;margin:16px 0 12px}.result-symbol svg{width:26px;height:26px}.result-subtitle{margin:8px 0;font-size:11px}.result-content blockquote{margin:8px 0 15px;font:italic 19px/1.45 Fraunces,Georgia,serif;color:var(--pink)}.bounty-offer{width:100%;display:grid;gap:2px;padding:12px 0;margin-bottom:17px;border-block:1px dashed var(--line)}.bounty-offer>small{font-size:9px;color:var(--muted)}.bounty-offer>del{font-size:16px;color:var(--muted);text-decoration-thickness:2px}.bounty-offer>b{font-size:23px;color:var(--pink);line-height:1.3}.bounty-offer>b>span{display:block;font-size:11px;font-weight:500}.result-content>p:not([class]){font-size:12px;line-height:1.7}.comfort-pill{font-size:11px}.ticket{padding-block:12px;margin-top:16px}.result-actions{padding-top:17px}.result-actions>*{min-height:46px;font-size:12px}.result-card{animation:resultUnfold .45s ease-out}.tools button{min-height:44px;min-width:44px}.admin-link,footer a{min-height:44px;display:inline-flex;align-items:center}.connection button{flex:none}
@keyframes cardShuffle{0%,100%{transform:translate(calc(-50% + (var(--index) - 3)*22px),-50%) rotate(calc((var(--index) - 3)*8deg))}50%{transform:translate(calc(-50% + (3 - var(--index))*26px),calc(-50% - 30px)) rotate(calc((3 - var(--index))*13deg))}}
@keyframes cardPulse{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(5deg) translateY(-9px)}}@keyframes cardReveal{0%{transform:rotate(-7deg) scale(1)}50%{transform:rotateY(90deg) scale(1.1)}100%{transform:rotate(0) scale(1.1)}}
@keyframes motifBloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}35%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + (var(--i) - 3.5)*43px),calc(-50% + (var(--i) - 4)*22px)) scale(1.4)}}
@keyframes motifTwirl{0%{opacity:0;transform:rotate(0) translateX(0)}35%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--i)*65deg + 180deg)) translateX(150px) rotate(-180deg)}}
@keyframes petalDrift{0%{opacity:0;transform:translate(calc((var(--i) - 4)*30px),-110px) rotate(0)}35%{opacity:1}100%{opacity:0;transform:translate(calc((var(--i) - 4)*38px),125px) rotate(130deg)}}
@keyframes starRise{0%{opacity:0;transform:translate(calc((var(--i) - 4)*35px),75px) scale(.2)}45%{opacity:1}100%{opacity:0;transform:translate(calc((var(--i) - 4)*40px),-160px) scale(1.2)}}
@keyframes heartBloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}45%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + (var(--i) - 3.5)*45px),calc(-100% - (var(--i) - 3.5)*10px)) scale(1.8)}}
@keyframes resultUnfold{from{opacity:.35;transform:translateY(15px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
html[data-theme=dark] .customer-offer{color:var(--pink)}html[data-theme=dark] .moment.collectible{background:#382D27;border-color:#91795F;color:#F8E9D1}html[data-theme=dark] .collectible .card-romance,html[data-theme=dark] .collectible .card-alternative,html[data-theme=dark] .card-value>small,html[data-theme=dark] .card-value>del{color:#D8C3AA}html[data-theme=dark] .card-value>b,html[data-theme=dark] .card-choice{color:#FFA1BA}html[data-theme=dark] .card-choice{border-color:#FFA1BA}html[data-theme=dark] .card-choice:hover:not(:disabled),html[data-theme=dark] .card-choice[aria-pressed=true]{background:#A43B58;color:white}html[data-theme=dark] .card-host svg{color:#FFA1BA}
@media(max-width:1100px){.moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-art{height:310px}.invitation>.primary{min-width:210px}.mode-button{padding:10px;gap:9px}.mode-button small{font-size:9px}.result-portrait{min-height:730px}}
@media(max-width:700px){.parade{gap:22px}.host-card{height:375px;border-radius:3px}.host-number{top:7px;font-size:18px}.host-check{top:11px;right:9px}.host-art{top:43px;height:calc(100% - 141px)}.host-card:before{inset:43px 8px 95px}.host-name{padding:10px 5px}.host-name b{font-size:24px}.host-name small{font-size:6px}.customer-offer{margin-block:14px}.customer-offer>b{font-size:21px}.customer-offer>span{font-size:11px}.mini-bipys{bottom:62px}.intro h1{max-width:336px}.invitation{display:flex;padding:17px 16px}.play-modes{width:100%}.mode-button{min-height:70px;padding:10px;gap:8px}.mode-button b{font-size:14px}.mode-button svg{width:20px;height:20px}.mode-button small{font-size:9px;line-height:1.5}.invitation-foot{font-size:10px}.moment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.moment.collectible{padding:5px}.card-art{height:255px;padding-top:32px}.card-wanted{font-size:14px;top:5px;letter-spacing:.14em}.card-art>img{padding-inline:3px}.card-copy{padding:11px 5px 6px}.collectible h3{font-size:23px;min-height:52px}.card-host{font-size:8px}.collectible .card-romance{font-size:9px;min-height:60px}.card-value>del{font-size:11px}.card-value>b{font-size:14px}.card-value>b>span{font-size:8px}.collectible .card-alternative{font-size:9px;min-height:64px}.card-choice{font-size:10px;min-height:47px}.section-heading>p{font-size:11px}.result-card{grid-template-columns:1fr}.result-portrait{height:350px;min-height:0;border-right:0;border-bottom:1px solid #B59B77}.result-portrait>img:first-of-type{inset:53px 0 35px;height:calc(100% - 88px)}.poster-heading{font-size:24px;top:8px}.portrait-caption{font-size:27px;left:15px;bottom:11px}.result-bipy{bottom:11px;right:14px;height:90px;width:61px}.result-content{padding:24px}.result-symbol{display:none}.result-content h2{margin-top:14px;font-size:39px}.result-actions{flex-direction:row}.result-content blockquote{font-size:19px}.result-portrait:before{inset:50px 13px 39px}.tools{gap:3px}.tools button{width:44px;height:44px}.admin-link{font-size:9px;padding:8px}.draw-stage{grid-template-columns:.7fr 1fr;min-height:440px}.carousel{min-width:0}.orbit-ticket{width:65px;height:96px;transform:translate(calc(-50% + (var(--index) - 3)*12px),-50%) rotate(calc((var(--index) - 3)*6deg))}.card-back{gap:7px;border-width:3px}.card-back svg{width:23px;height:23px}.card-back b{font-size:7px}.heart-capsule{inset:23% 30%;gap:5px}.heart-capsule svg{width:32px;height:32px}.heart-capsule>b{font-size:10px}.reveal-motif svg{width:24px;height:24px}.stamp{height:49px}.connection{align-items:center}}
@media(max-width:380px){.host-card{height:325px}.host-name b{font-size:21px}.mini-bipys{bottom:61px}.intro h1{font-size:46px}.card-art{height:207px}.collectible h3{font-size:20px;min-height:49px}.card-copy{padding-inline:3px}.collectible .card-romance{min-height:67px}.card-value>del{font-size:10px}.card-value>b{font-size:13px}.collectible .card-alternative{min-height:80px}.card-choice{font-size:9px}.card-host svg{width:16px;height:16px}.draw-stage{display:flex;flex-direction:column}.carousel{width:265px}.result-portrait{height:300px}.result-content{padding:21px}.result-content h2{font-size:35px}.bounty-offer>b{font-size:21px}.mode-button svg{display:none}.mode-button{justify-content:center;text-align:center}.tools{gap:2px}.brand img{width:77px}.topbar{padding-inline:4%}.draw-machine .secondary{min-height:44px}.invitation-info p{font-size:9px}}
@media(min-width:1500px){.card-art{height:330px}.host-card{height:610px}.moment-grid{gap:24px}}
@media(max-height:520px) and (min-width:701px){.result-portrait{min-height:640px}.draw-stage{min-height:320px}.host-card{height:350px}}
.trailer-panel{max-width:1290px;margin:45px auto;display:grid;grid-template-columns:1.3fr 1fr;gap:35px;align-items:center;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:5px}.trailer-screen{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);background:#EAD9BD}.trailer-screen video{width:100%;height:100%;object-fit:contain;display:block}.trailer-copy h2{font-size:32px;line-height:1.2;margin:10px 0 16px;letter-spacing:-.045em}.trailer-copy em{color:var(--pink)}.trailer-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:360px}.trailer-copy>small{font-size:9px;color:var(--muted);display:block;margin-top:17px}
.text-link{min-height:44px}
.result-flower svg{width:200px;height:200px;stroke-width:1;color:var(--motif-color);opacity:.24}.motif-offering.revealing .reveal-motif>span{animation-name:roseDelivery}.motif-vow.revealing .reveal-motif>span{animation-name:knightGlimmer}
@keyframes roseDelivery{0%{opacity:0;transform:translate(-150px,calc((var(--i) - 4)*18px)) rotate(-35deg) scale(.5)}40%{opacity:1}100%{opacity:0;transform:translate(100px,calc((var(--i) - 4)*27px)) rotate(15deg) scale(1.5)}}
@keyframes knightGlimmer{0%{opacity:0;transform:rotate(calc(var(--i)*45deg)) translateY(-45px) scale(.2)}50%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--i)*45deg)) translateY(-170px) scale(1.2)}}
@media(max-width:1350px){.trailer-panel{margin-inline:4%}}@media(max-width:700px){.trailer-panel{grid-template-columns:1fr;gap:22px;margin:32px 5%;padding:14px}.trailer-copy{padding:0 5px 7px}.trailer-copy h2{font-size:28px}.trailer-copy .eyebrow{font-size:8px}}

/* BP06 TCG table and reveal UI */
:root{--night:#171014;--night-2:#21171b;--wine:#39242b;--foil:#f4cf88;--rose:#e49aae;--jade:#82a88f;--gold:#d8b66b;--white:#fff9f1}
body{background:#171014;color:#f8eee4;overflow-x:hidden}
.table-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.08;background-image:radial-gradient(#f7e9dc 0.5px,transparent .7px);background-size:7px 7px}
.topbar{max-width:1500px;padding:14px clamp(18px,4vw,64px);border-color:#ffffff18;color:#fff9f1}
.brand{min-width:0}.brand img{object-fit:contain}.brand .logo-light{display:none}.brand span{color:#d1bdad}
html[data-theme=light] body{background:#f4eee6;color:#2b2023}
html[data-theme=light] .topbar{border-color:#382b2d20;color:#2b2023}
html[data-theme=light] .brand .logo-dark{display:none}.brand .logo-light{display:none}html[data-theme=light] .brand .logo-light{display:block}html[data-theme=light] .brand span{color:#6f5c5b}
.tools{gap:8px}.mode-tag{color:#efb1bf}.mode-tag.live{color:#9bd2a9}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff25;border-radius:50%;background:#ffffff09;color:inherit}.icon-button:hover{background:#ffffff19}.icon-button svg{width:20px;height:20px}.admin-link{color:inherit;text-decoration:none;border:1px solid #ffffff30;border-radius:999px;padding:9px 15px}.admin-link:hover{background:#ffffff12}
html[data-theme=light] .icon-button,html[data-theme=light] .admin-link{border-color:#382b2d30}
.hero{width:min(1440px,100%);margin:0 auto;padding:clamp(28px,5vw,72px) clamp(18px,4vw,64px) 34px;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(24px,5vw,76px);align-items:center;overflow:hidden}
.hero-copy{max-width:560px}.event-chip{font-size:10px;line-height:1.6;letter-spacing:.13em;color:#d4b9ad;display:flex;align-items:center;gap:9px}.event-chip .dot{width:7px;height:7px;border-radius:50%;background:#e889a4;box-shadow:0 0 0 4px #e889a426;flex:none}
.hero h1{font-size:clamp(46px,6vw,88px);line-height:.91;letter-spacing:-.075em;margin:20px 0 12px;display:grid}.hero h1 .t-kicker{font:italic 500 .42em/1 Fraunces,Georgia,serif;letter-spacing:-.035em;color:#e9bf7c}.hero h1 .t-main{max-width:8ch}.t-sub{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#e9a9bb}.hero-lead{max-width:48ch;margin-top:24px;color:#d8c8c1;font-size:14px;line-height:1.85}.hero-lead b{color:#fff2df}.ribbon{display:flex;align-items:center;gap:13px;margin-top:24px;padding:13px 16px;border:1px solid #ffffff20;border-radius:10px;background:#ffffff08}.ribbon-ico{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e5b86d18;color:#e9bf7c;flex:none}.ribbon-ico svg{width:19px;height:19px}.ribbon p{display:grid;gap:2px;min-width:0}.ribbon small{font-size:8px;letter-spacing:.14em;color:#e9bf7c}.ribbon p>span{font-size:10px;line-height:1.55;color:#e4d7cd}.session-note{min-height:1.5em;margin-top:12px;color:#b5a49c;font-size:10px}
.table{position:relative;min-width:0;isolation:isolate;padding:22px clamp(12px,3vw,42px) 72px;border:1px solid #d8b66b36;border-radius:20px;background:radial-gradient(ellipse at 50% 38%,#4b3035 0,#271b20 48%,#1e151a 100%);box-shadow:0 24px 70px #0007,inset 0 1px #fff2;overflow:hidden}.table:before{content:"";position:absolute;inset:16px;border:1px solid #e7c9851f;border-radius:13px;pointer-events:none}.leaders{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,28px);align-items:center;perspective:1000px}
.leader-slot{position:relative;min-width:0;aspect-ratio:63/88;max-height:490px;transform-style:preserve-3d}.leader-slot .tcg{position:absolute;inset:0;width:100%;height:100%;transition:filter .25s,transform .35s}.leader-slot.selected .tcg{transform:translateY(-7px) rotateY(-3deg);filter:drop-shadow(0 18px 22px #e9bf7c30)}.leader-slot.off .tcg{filter:grayscale(.75) brightness(.7)}.leader-slot .host-card{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:14px;background:transparent;box-shadow:none;color:transparent;z-index:5}.leader-slot .host-card:before{display:none}.leader-slot .host-card:hover{transform:none;box-shadow:inset 0 0 0 2px #ffffff70}.leader-slot .host-card.selected{box-shadow:inset 0 0 0 3px #e9bf7c}.leader-slot .leader-state{position:absolute;left:50%;bottom:-35px;transform:translateX(-50%);width:max-content;max-width:100%;padding:5px 11px;border:1px solid #e9bf7c70;border-radius:999px;background:#21171b;color:#f3d79c;font-size:9px;letter-spacing:.04em;white-space:nowrap}
.sticker{position:absolute;z-index:3;width:clamp(52px,8vw,104px);height:clamp(90px,14vw,176px);object-fit:contain;pointer-events:none;filter:drop-shadow(0 10px 12px #0007)}.s-jade{left:-2%;top:19%;transform:rotate(-12deg)}.s-pink{right:-1%;top:7%;transform:rotate(9deg)}.s-gold{right:4%;bottom:3%;transform:rotate(12deg)}.quote{position:absolute;z-index:4;left:50%;bottom:15px;transform:translateX(-50%);width:min(76%,440px);margin:0;padding:12px 16px;border:1px solid #e9bf7c54;border-radius:9px;background:#1b1216eF;text-align:center;box-shadow:0 8px 22px #0005}.quote blockquote{font:italic 15px/1.4 Fraunces,Georgia,serif;color:#f6e1c0}.quote figcaption{margin-top:5px;color:#bca69a;font-size:8px;letter-spacing:.08em}
.deck,.parade,.binder{width:min(1440px,100%);margin:0 auto;padding:36px clamp(18px,4vw,64px)}.deck{padding-top:38px}.deck-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:19px;border-bottom:1px solid #ffffff1b}.eyebrow{font-size:9px;letter-spacing:.17em;color:#d9b977;font-weight:700}.deck-head h2,.section-head h2{margin-top:5px;font-size:clamp(23px,3vw,36px);line-height:1.13;letter-spacing:-.045em}.deck-head h2 em,.section-head h2 em{color:#e6a1b5}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;max-width:530px}.mode-button{min-width:0;min-height:64px;display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid #ffffff23;border-radius:9px;background:#ffffff08;color:#f8eee4;text-align:left}.mode-button[aria-pressed=true]{border-color:#d8b66b;background:#d8b66b18;box-shadow:inset 0 0 0 1px #d8b66b45}.mode-button:disabled{opacity:.5}.mode-button>span:first-child{color:#e9bf7c;flex:none}.mode-button svg{width:20px;height:20px}.mode-button b,.mode-button small{display:block}.mode-button b{font-size:11px}.mode-button small{margin-top:3px;color:#beada5;font-size:9px;line-height:1.4}
.deck-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);gap:clamp(20px,4vw,54px);padding-top:24px;align-items:start}.deck-stage{min-width:0;position:relative}.fan{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1vw,14px);align-items:start;padding:30px 2px 10px;perspective:1000px}.deck-card{position:relative;min-width:0;aspect-ratio:63/88;transform:rotate(calc(var(--o)*1.5deg)) translateY(calc(var(--o2)*1px));transition:transform .25s,filter .25s;filter:drop-shadow(0 9px 10px #0006)}.deck-card .tcg{width:100%;height:100%}.deck-card:hover,.deck-card.previewing{z-index:3;transform:translateY(-11px) rotate(0) scale(1.05);filter:drop-shadow(0 16px 14px #0008)}.deck-card.chosen{z-index:2;transform:translateY(-8px) rotate(0);filter:drop-shadow(0 0 9px #f2c97999)}.card-choice{position:absolute;inset:0;z-index:4;width:100%;height:100%;padding:0;border:0;border-radius:8px;background:transparent;color:transparent;box-shadow:none}.card-choice:hover,.card-choice[aria-pressed=true]{background:#e9bf7c10;box-shadow:inset 0 0 0 2px #e9bf7c}.card-choice:focus-visible{outline:3px solid #f7db9e;outline-offset:4px}.deck-off{position:absolute;z-index:5;left:4px;right:4px;bottom:5px;padding:4px;border-radius:4px;background:#130d0edc;color:#f4d7d0;font-size:8px;text-align:center}.deck-cta{display:flex;align-items:center;gap:15px;margin-top:17px;padding:15px;border:1px solid #ffffff20;border-radius:12px;background:#21171b}.deck-cta .primary{min-width:190px}.deck-hint{color:#c7b7ae;font-size:10px;line-height:1.6}.poster-panel{position:sticky;top:18px;min-width:0;padding:15px;border:1px solid #d8b66b52;border-radius:12px;background:linear-gradient(145deg,#34252a,#21171b);box-shadow:0 14px 35px #0004}.poster-panel h2{margin:0}.poster-preview{width:min(100%,205px);margin:13px auto}.poster-caption{font-size:9px;line-height:1.55;color:#cfbcb1;text-align:center}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}.section-head>p{max-width:42ch;color:#c5b3a8;font-size:11px;line-height:1.65}.parade{padding-top:45px;padding-bottom:38px;border-top:1px solid #ffffff12}.parade-track{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.parade-list{display:flex;width:max-content;gap:22px;margin:0;padding:12px 0 18px;list-style:none;animation:paradeScroll 42s linear infinite}.parade-track:hover .parade-list{animation-play-state:paused}.parade-bipy{width:100px;display:grid;justify-items:center;align-content:end;gap:8px}.parade-bipy img{width:74px;height:130px;object-fit:contain;filter:drop-shadow(0 9px 12px #0005)}.parade-bipy span{font-size:8px;color:#d2c0b5;white-space:nowrap}.parade-bipy[aria-hidden=true]{pointer-events:none}
.binder{border-top:1px solid #ffffff12;padding-top:38px;padding-bottom:46px}.binder-progress{display:grid;grid-template-columns:auto minmax(90px,180px);align-items:center;gap:7px 12px;min-width:min(360px,45%)}.binder-progress>b{color:#f2d493;font-size:18px}.binder-progress .bar{height:7px;border-radius:999px;background:#ffffff1d;overflow:hidden}.binder-progress .bar i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#d7ad61,#e994af);border-radius:inherit;transition:transform .35s}.binder-progress small{grid-column:1/-1;color:#bba9a0;font-size:9px}.binder-grid{display:grid;gap:13px}.binder-row{display:grid;grid-template-columns:70px repeat(7,minmax(0,1fr));gap:10px;align-items:center;padding:13px;border:1px solid #ffffff1c;border-radius:12px;background:#ffffff06}.binder-label{color:#edc67d;font:italic 16px Fraunces,Georgia,serif}.slot{position:relative;width:100%;max-width:105px;aspect-ratio:63/88;overflow:hidden;border:1px dashed #ffffff2b;border-radius:7px;background:#ffffff05}.slot .tcg{width:100%;height:100%}.slot-empty{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#21171b}.slot-empty img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.17}.slot-empty b,.slot-empty small{z-index:1}.slot-empty b{font:italic 32px Fraunces,serif;color:#e2c581}.slot-empty small{align-self:end;margin-bottom:7px;max-width:90%;color:#d4c4b9;font-size:7px;text-align:center}.slot.owned{border-style:solid;border-color:#d8b66b;box-shadow:0 0 0 1px #d8b66b45}
.trailer{width:min(1360px,calc(100% - 2*clamp(18px,4vw,64px)));margin:10px auto 46px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(16px,2.5vw,30px);border:1px solid #ffffff20;border-radius:16px;background:linear-gradient(135deg,#302127,#20171b);box-shadow:0 20px 50px #0004}.trailer-screen{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #d8b66b50;border-radius:10px;background:#140d10}.trailer-screen video{display:block;width:100%;height:100%;object-fit:cover}.trailer-copy h2{margin-top:7px;font-size:clamp(25px,3vw,40px);line-height:1.1;letter-spacing:-.05em}.trailer-copy h2 em{color:#e6a1b5}.trailer-copy>p:not(.eyebrow){margin-top:12px;color:#c9b8af;font-size:11px;line-height:1.7}.comfort-note{display:flex;align-items:flex-start;gap:10px;margin-top:19px;padding-top:16px;border-top:1px solid #ffffff1b;color:#bdaaa0;font-size:9px;line-height:1.65}.comfort-note>span{flex:none;color:#e9bf7c}.comfort-note svg{width:21px;height:21px}.comfort-note b{color:#f2e2d2}.footer{width:min(1440px,100%);margin:0 auto;padding:18px clamp(18px,4vw,64px) calc(22px + var(--gmy-bar-space));border-top:1px solid #ffffff18;color:#ad9c94;font-size:9px}.footer a{color:#ead2b0}
/* Shared card face, used by the leader table, deck, binder and result stage. */
.tcg{--frame:#cb3b5d;--edge:#f2cd79;position:relative;display:block;width:100%;aspect-ratio:63/88;min-width:0;overflow:hidden;border-radius:clamp(7px,1.3vw,15px);padding:clamp(3px,.65vw,8px);background:linear-gradient(135deg,#fff0ba 0%,var(--frame) 22%,#190f13 49%,var(--edge) 72%,var(--frame));box-shadow:0 18px 35px #0008;isolation:isolate;transform-style:preserve-3d}
.tcg.host-zoro{--frame:#488368;--edge:#bbd1a1}.tcg.host-sanji{--frame:#b78a3b;--edge:#ffe3a1}.tcg.rar-sr{--edge:#e8c86e}.tcg.rar-sec{--frame:#e9a5c0;--edge:#fff1c5}
.tcg-in{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid #fff9;border-radius:inherit;background:#171014;isolation:isolate}.tcg-scene{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 28%,#e4bd8d 0,#788476 46%,#25342e 100%);opacity:.82}.tcg.host-sanji .tcg-scene{background:radial-gradient(ellipse at 50% 28%,#f4db9e 0,#a17b46 47%,#32231e 100%)}.tcg-in>.card-art{position:absolute;inset:9% 5% 19%;z-index:1;display:block;overflow:hidden;background:transparent;border:0;padding:0}.tcg-in>.card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;padding:0;filter:drop-shadow(0 5px 8px #0008)}.tcg-video{position:absolute;inset:10% 0 18%;width:100%;height:72%;object-fit:cover;mix-blend-mode:screen;opacity:.15;pointer-events:none}.tcg-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#100a0a24 20%,transparent 40%,#100a0a30 60%,#10090df2 100%);pointer-events:none}.tcg-holo{position:absolute;z-index:4;inset:-40%;pointer-events:none;opacity:calc(var(--glare,0)*.2);background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#ffffff9c,transparent 27%),linear-gradient(115deg,transparent 36%,#ffffff24 48%,#ffdf9c30 53%,transparent 62%);mix-blend-mode:screen}.tcg-cost,.tcg-power,.tcg-counter,.tcg-attr{position:absolute;z-index:5;color:#fff8e9;text-shadow:0 2px 4px #000;background:#160f11b8;border:1px solid #f5d88c8c;box-shadow:0 2px 8px #0005}.tcg-cost{left:5%;top:5%;width:12%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:clamp(8px,1.2vw,16px)}.tcg-cost b{font-size:inherit}.tcg-power{right:5%;top:5%;display:grid;justify-items:center;min-width:22%;padding:3px 5px;border-radius:5px}.tcg-power small,.tcg-counter small{font-size:clamp(5px,.55vw,7px);letter-spacing:.12em}.tcg-power b,.tcg-counter b{font-size:clamp(8px,1.05vw,14px)}.tcg-attr{left:5%;top:18%;display:flex;align-items:center;gap:3px;padding:3px 5px;border-radius:999px;font-size:clamp(6px,.65vw,8px)}.tcg-attr svg{width:11px;height:11px}.tcg-counter{right:5%;top:18%;display:grid;justify-items:center;padding:3px 5px;border-radius:5px}.tcg-bottom{position:absolute;z-index:5;left:5%;right:5%;bottom:4%;display:grid;gap:4px;color:#fff7e8}.tcg-effect{max-height:16%;overflow:hidden;font-size:clamp(5px,.56vw,8px);line-height:1.35;color:#f2e4d1}.kw{color:#f7d881;font-weight:800}.tcg-plate{display:grid;gap:2px;padding:6px 7px;border:1px solid #ecd3949e;border-radius:5px;background:#120c0dee;box-shadow:0 3px 12px #0008}.tcg-plate>small{font-size:clamp(5px,.55vw,7px);letter-spacing:.1em;color:#edc981}.tcg-name{display:block;overflow-wrap:anywhere;font:italic 600 clamp(11px,1.45vw,18px)/1.04 Fraunces,Georgia,serif;color:#fff8ea}.tcg-type{font-size:clamp(5px,.6vw,8px);color:#d9c5b3}.tcg-foot{display:flex;justify-content:space-between;align-items:center;gap:4px;min-width:0;color:#e6d7c8;font-size:clamp(5px,.5vw,7px);letter-spacing:.07em}.tcg-foot img{width:32%;height:auto;max-height:12px;object-fit:contain}.tcg-frame{position:absolute;z-index:6;inset:2px;border:1px solid #fff6;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 14px #fff2}.tcg.rar-sec .tcg-frame{border:2px solid #fff1c5;box-shadow:inset 0 0 22px #ffe89d6b,0 0 20px #e5b75e55}
.tcg-leader .tcg-in>.card-art{inset:5% 2% 17%}.tcg-leader .tcg-bottom{bottom:4%}.tcg-leader .tcg-name{font-size:clamp(14px,2vw,24px)}.leader-tag{display:inline-block;width:max-content;padding:2px 6px;border-radius:999px;background:#d8b66b;color:#271a15!important;font-weight:800}.size-mini .tcg-effect{display:none}.size-mini .tcg-name{font-size:clamp(8px,1vw,13px)}.size-mini .tcg-attr small{display:none}
/* Booster and bounty poster generated by cards.js. */
.booster{position:relative;display:block;width:100%;aspect-ratio:2/3;overflow:hidden;filter:drop-shadow(0 20px 20px #0008)}.booster.tearable{width:100%;height:100%;aspect-ratio:auto;filter:none}.pack-part,.pack-clip,.pack-face{position:absolute;inset:0;display:block;overflow:hidden}.pack-face{border:1px solid #f5d89b;border-radius:5px;background:linear-gradient(140deg,#29745d,#122d27 48%,#171014 100%);color:#fff5e2;isolation:isolate}.pack-face.host-sanji{background:linear-gradient(145deg,#dfb44e,#56361d 48%,#171014)}.pack-foil,.pack-shine{position:absolute;inset:0;z-index:1;background:linear-gradient(118deg,transparent 22%,#fff3 38%,#f2d68142 45%,transparent 58%);pointer-events:none}.pack-scene{opacity:.3}.pack-art{position:absolute;z-index:1;inset:8% 2% 0;width:100%;height:92%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 8px #0008)}.pack-top-band,.pack-title,.pack-count{position:absolute;z-index:3;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between}.pack-top-band{top:5%;gap:4px;padding-bottom:4%;border-bottom:1px solid #f4d89380}.pack-top-band img{width:38%;height:auto}.pack-top-band small{font-size:clamp(5px,.55vw,8px);letter-spacing:.08em;text-align:right}.pack-title{top:16%;display:grid;text-align:center;text-shadow:0 2px 5px #000}.pack-title small{font-size:clamp(5px,.5vw,7px);letter-spacing:.12em;color:#f4d893}.pack-title b{font:italic 700 clamp(18px,2.6vw,34px)/1 Fraunces,Georgia,serif}.pack-title em{font-size:clamp(7px,.75vw,10px);color:#f5d999}.pack-count{bottom:5%;justify-content:center;padding:4px;border:1px solid #fff8;border-radius:999px;background:#130d0dcc;font-size:clamp(7px,.7vw,10px);letter-spacing:.14em}.booster-button{position:relative;display:block;width:clamp(90px,11vw,150px);aspect-ratio:2/3;margin:0 auto;padding:0;border:0;border-radius:9px;background:transparent;transition:transform .25s,filter .25s}.booster-button:hover:not(:disabled){transform:translateY(-6px) rotate(2deg);filter:drop-shadow(0 0 16px #e8bf7855)}.booster-button:disabled{opacity:.45}.booster-hint{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);width:max-content;color:#e8d8c8;font-size:8px}.deck-stage:has(.booster-button:not(:disabled)) .fan{padding-top:42px}.deck-stage:has(.booster-button:disabled) .booster-button{opacity:.35}
.poster{--paper:#f1dfb8;position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;padding:3.2%;border:1px solid #d7bb77;background:linear-gradient(135deg,#faedcf,#d9c192);color:#3c281f;box-shadow:0 10px 22px #0006;isolation:isolate}.poster-paper{position:absolute;inset:2%;border:1px solid #7958336e;pointer-events:none}.poster-in{position:absolute;inset:5%;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #79583370;padding:4%;overflow:hidden}.poster-wanted{font:900 clamp(17px,3vw,36px)/1 Poppins,Arial,sans-serif;letter-spacing:.15em;color:#4d261d}.poster-photo{position:relative;display:block;width:75%;height:38%;min-height:0;margin:3% auto 1%;overflow:hidden;border:3px solid #745035;background:#d6c49f}.poster-photo .tcg-scene{opacity:.35}.poster-photo>img:not(.poster-bipy){position:relative;width:100%;height:100%;object-fit:cover;object-position:center 25%;z-index:1}.poster-photo .poster-bipy{position:absolute;z-index:2;right:0;bottom:0;width:30%;height:72%;object-fit:contain;object-position:right bottom}.poster-dead{font-size:clamp(6px,.65vw,9px);letter-spacing:.2em;font-weight:800}.poster-name{max-width:100%;margin:2% 0;font:italic 800 clamp(14px,2vw,24px)/1 Fraunces,Georgia,serif;overflow-wrap:anywhere}.poster-price{display:grid;justify-items:center;gap:1px;font-size:clamp(6px,.55vw,8px)}.poster-price small{color:#624c3e}.poster-amount{position:relative;font-weight:800;font-size:clamp(11px,1.2vw,16px)}.poster-strike{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.poster-strike path{fill:none;stroke:#a32737;stroke-width:6;stroke-linecap:round}.poster-strike .s2{stroke-width:3}.poster-stamp{display:grid;gap:1px;margin:2% auto;padding:3% 8%;border:2px solid #a5363b;color:#9e2537;transform:rotate(-5deg);text-transform:uppercase}.poster-stamp b{font-size:clamp(11px,1.3vw,17px);line-height:1}.poster-stamp small{font-size:clamp(5px,.52vw,7px)}.poster-fine{margin-top:auto;font-size:clamp(5px,.48vw,7px);line-height:1.3}.poster-foot{width:100%;display:flex;justify-content:space-between;align-items:end;gap:4px;padding-top:2%;border-top:1px solid #76553280;font-size:clamp(5px,.46vw,7px);line-height:1.2}.poster-foot img{width:23%;height:auto;max-height:18px;object-fit:contain}.poster.is-stamped .poster-stamp{animation:posterStamp .4s cubic-bezier(.2,.8,.3,1) both}.poster.stamping .poster-stamp{animation:posterStamp .65s cubic-bezier(.2,.8,.3,1) both}
/* Prep sheet */
#prepDialog{width:min(900px,calc(100vw - 32px));max-height:min(90dvh,780px);border-color:#9b7756;border-radius:16px;background:#21171b;color:#f8eee4;overflow:auto}#prepDialog::backdrop,#resultDialog::backdrop{background:#0c080bdc;backdrop-filter:blur(8px)}#prepForm{position:relative;display:grid;grid-template-columns:minmax(200px,.78fr) minmax(0,1.22fr);gap:0;padding:0;min-height:570px}.close-dialog{z-index:5;color:#fff;background:#38262b;border:1px solid #ffffff28}.prep-preview{position:relative;display:grid;place-items:center;min-height:100%;padding:32px;background:radial-gradient(ellipse at center,#60433c,#291d21 70%);overflow:hidden}.prep-preview .tcg,.prep-preview .poster{width:min(100%,250px)}.prep-fields{padding:clamp(22px,4vw,42px);overflow:auto}.prep-fields .eyebrow{margin-top:8px}.prep-fields h2{margin-top:8px;color:#fff6e9;font-size:clamp(25px,3vw,36px)}.prep-fields h2 em{color:#e8a4b8}.prep-selection{margin-top:13px;padding:10px 12px;border:1px solid #d8b66b50;border-radius:7px;background:#d8b66b11;color:#f0d696;font-size:10px}.comfort-options{margin:20px 0 15px}.comfort-options legend{color:#e7d7ca;font-size:11px}.comfort-options label{border-color:#ffffff25;background:#ffffff06;color:#f8eee4}.comfort-options label:has(input:checked){border-color:#e8bd73;background:#e8bd7314}.comfort-options small{color:#c4b2a7}.comfort-options label>span:last-child{color:#e8bf78}.optional-fields{grid-template-columns:1fr 1fr;gap:10px}.optional-fields label{color:#dfcfc3}.optional-fields input,.optional-fields select{border-color:#ffffff30!important;background:#170f13!important;color:#fff7ed!important}.check-row{color:#d9c9bf}.consent{border-color:#ffffff20}.staff-verify{padding:11px;border:1px solid #d8b66b50;border-radius:7px;background:#d8b66b10}.prep-fields .primary{width:100%}.prep-fields .fine-print{color:#bba9a0}
/* Reveal dialog states are driven by game.js data attributes and animation classes. */
#resultDialog{width:min(1160px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;scroll-behavior:auto;border:1px solid #d8b66b66;border-radius:18px;background:#171014;color:#f8eee4;box-shadow:0 32px 110px #000b;scrollbar-color:#80615c #21171b}
.play-shell{--rarity:#d6b66e;position:relative;min-height:620px;background:radial-gradient(ellipse at 28% 42%,#40282f 0,#21171b 52%,#171014 100%);overflow:hidden}.play-shell[data-host=sanji]{--rarity:#ebc56d;background:radial-gradient(ellipse at 28% 42%,#493821 0,#241c1a 53%,#171014 100%)}.play-shell[data-rarity=sr]{--rarity:#e7b9d2}.play-shell[data-rarity=sec]{--rarity:#ffe89d}
.play-top{position:relative;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:62px;padding:9px clamp(14px,2.5vw,28px);border-bottom:1px solid #ffffff20;background:#140e12d9}.play-brand{display:flex;align-items:center;gap:10px;min-width:0}.play-brand img{width:67px;height:26px;object-fit:contain}.play-brand>span{font-size:8px;letter-spacing:.13em;color:#e2c995;white-space:nowrap}.play-status{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;color:#e8d8ca;font-size:10px}.play-top .ghost{min-height:40px;padding:8px 12px;border:1px solid #ffffff30;border-radius:999px;background:#ffffff09;color:#f8eee4;font-size:9px}.play-top .ghost:hover{background:#ffffff19}
.play-body{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);min-height:558px}.play-stage{position:relative;isolation:isolate;min-width:0;min-height:558px;display:grid;place-items:center;padding:44px 20px 76px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#563941 0,#30232a 48%,#21181e 100%)}.play-stage:before{content:"";position:absolute;width:min(75%,500px);aspect-ratio:1;border:1px solid #f2d7932b;border-radius:50%;box-shadow:0 0 0 22px #f2d79308,0 0 0 54px #f2d79306;pointer-events:none}.play-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff08,transparent 38%,#0002);pointer-events:none}.showcase{position:relative;z-index:2;width:min(70%,330px);aspect-ratio:63/88;perspective:1200px;transform-style:preserve-3d;filter:drop-shadow(0 22px 24px #0009)}.tilt{position:absolute;inset:0;transform-style:preserve-3d}.face{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;backface-visibility:hidden;transform:rotateY(0deg);transform-style:preserve-3d}.face.on{visibility:visible;opacity:1}.face-card>.tcg,.face-back>.tcg-back,.face-poster>.poster{width:100%;height:100%}.face-card .tcg{font-size:initial}.tcg-back{position:relative;width:100%;height:100%;aspect-ratio:63/88;padding:8px;border:1px solid #f2d58d;border-radius:15px;background:linear-gradient(145deg,#d5a94e,#523a27 37%,#151014 85%);box-shadow:0 20px 45px #0009;overflow:hidden}.back-in{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border:1px solid #ffe7a5a6;background:radial-gradient(circle at center,#3f2a32,#130d10 70%)}.back-lattice{position:absolute;inset:0;opacity:.2;background:repeating-linear-gradient(45deg,transparent 0 13px,#e2bf7140 14px 15px)}.back-ring{position:absolute;width:83%;height:auto;overflow:visible;fill:none;stroke:#eacb7c;color:#eacb7c}.back-ring .r1{stroke-width:1}.back-ring .r2{stroke-width:2;stroke-dasharray:3 4}.back-ring text{fill:#f1d997;stroke:none;font-size:8px;letter-spacing:2px}.back-heart{fill:#d95479;stroke:#ffe5a2;stroke-width:3}.back-bipy{position:absolute;bottom:8%;width:43%;height:48%;object-fit:contain;filter:drop-shadow(0 8px 8px #0008)}.back-mark{position:absolute;bottom:4%;width:36%;height:auto;object-fit:contain}
.face-poster .poster{max-width:100%;max-height:100%;box-shadow:0 20px 35px #0008}.booster-stage{position:absolute;z-index:5;left:50%;top:49%;transform:translate(-50%,-50%);width:min(42%,190px);height:min(62%,300px);padding:0;border:0;border-radius:8px;background:transparent;opacity:0;visibility:hidden;pointer-events:none}.booster-stage.on{opacity:1;visibility:visible;pointer-events:auto}.booster-stage.ready{cursor:grab;filter:drop-shadow(0 0 17px #f5d48175)}.booster-stage:focus-visible{outline:3px solid #f5d481;outline-offset:6px}.booster-stage .booster{height:100%;width:100%;aspect-ratio:auto}.booster-stage .pack-top{z-index:4}.booster-stage .pack-body{z-index:2}.rays{position:absolute;z-index:1;inset:-80%;opacity:0;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,#ffe49720 0 5deg,transparent 5deg 15deg);transform:scale(.4) rotate(0);transition:opacity .35s}.play-shell.rays-on .rays{opacity:.8;animation:raysTurn 28s linear infinite}.flash{position:absolute;z-index:7;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at center,#fff6cc,transparent 58%)}.fx{position:absolute;z-index:8;inset:0;width:100%;height:100%;pointer-events:none}.view-toggle{position:absolute;z-index:9;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:5px;max-width:calc(100% - 24px);padding:4px;border:1px solid #ffffff26;border-radius:999px;background:#160f13dd;box-shadow:0 8px 20px #0005}.view-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:#d5c6bc;font-size:9px;white-space:nowrap}.view-toggle button[aria-pressed=true]{border-color:#e6c77b80;background:#e6c77b20;color:#ffe5a1}.view-toggle svg{width:16px;height:16px}
.play-details{position:relative;z-index:2;min-width:0;padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;align-items:flex-start;overflow-wrap:anywhere;background:linear-gradient(150deg,#251b20,#191216)}.result-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#bda9a0;font-size:8px;letter-spacing:.09em;text-transform:uppercase}.result-kicker>span:not(.rarity-chip){padding:5px 8px;border:1px solid #ffffff1b;border-radius:999px;background:#ffffff08}.rarity-chip{display:inline-grid;place-items:center;min-width:30px;height:26px;padding:0 7px;border:1px solid var(--rarity);border-radius:999px;background:color-mix(in srgb,var(--rarity) 14%,transparent);color:var(--rarity);font-size:10px;font-weight:800}.play-details h2{max-width:17ch;margin-top:15px;color:#fff6e8;font:italic 600 clamp(31px,4vw,48px)/.98 Fraunces,Georgia,serif;letter-spacing:-.045em}.result-host{margin-top:8px;color:#c9b7ac;font-size:10px}.result-host b{color:#f2d89e}.result-host span{color:#9e8d86}.play-details blockquote{margin:19px 0 15px;padding-left:13px;border-left:2px solid var(--rarity);color:#f0d9cf;font:italic 16px/1.5 Fraunces,Georgia,serif}.play-details .result-bipy{position:relative;inset:auto;width:100%;height:auto;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #ffffff18;border-radius:10px;background:#ffffff07}.play-details .result-bipy img{width:42px;height:58px;object-fit:contain;flex:none}.play-details .result-bipy p{display:grid;gap:2px}.play-details .result-bipy b{color:#eecb83;font-size:10px}.play-details .result-bipy small{color:#bba9a0;font-size:8px}.play-details .comfort-pill{width:100%;display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:10px 11px;border:1px solid #91bba04a;border-radius:8px;background:#52755d21;color:#a8d0ad}.play-details .comfort-pill svg{width:19px;height:19px;flex:none}.play-details .comfort-pill p{display:grid;gap:3px}.play-details .comfort-pill b{font-size:9px}.play-details .comfort-pill span{color:#c3b9ad;font-size:8px;line-height:1.5}.ticket{width:100%;min-width:0;margin-top:12px;padding:11px 0;border-block:1px dashed #ffffff2c;display:grid;gap:5px}.ticket>span{font-size:7px;letter-spacing:.14em;color:#e2bf79}.ticket strong{max-width:100%;overflow-wrap:anywhere;color:#fff2dc;font-size:clamp(13px,1.5vw,18px);letter-spacing:.04em}.ticket dl{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.ticket dl>div{display:grid;gap:2px;padding:6px 8px;border-radius:6px;background:#ffffff08}.ticket dt{color:#ad9c94;font-size:7px}.ticket dd{margin:0;color:#efdbb2;font-size:9px}.ticket small{color:#bbaaa0;font-size:8px;line-height:1.5}.ticket.demo{border-color:#e2bf7960}.play-details>.fine-print{color:#b7a69e;font-size:8px;line-height:1.55;margin-top:10px}.play-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:17px}.play-actions>*{min-width:0;min-height:46px;padding:9px 10px;font-size:9px}.play-actions #finishButton{grid-column:1/-1}.play-actions svg{width:16px;height:16px}.play-actions [aria-busy=true]{cursor:progress;opacity:.7}.play-details .form-error{width:100%;color:#ffdce1;background:#81293d;margin-top:10px}
.play-shell[data-phase=reveal] .play-details{animation:detailsArrive .45s ease both}.play-shell[data-phase=result] .play-details{animation:detailsSettle .5s cubic-bezier(.2,.8,.2,1) both}.play-shell[data-phase=reveal] .showcase{animation:showcaseArrive .6s cubic-bezier(.15,.85,.25,1) both}.play-shell[data-method=gacha][data-phase=reveal] .play-stage:after{opacity:.55}.play-shell[data-phase=result] .play-stage:after{opacity:.16}
@keyframes paradeScroll{to{transform:translateX(-50%)}}@keyframes posterStamp{0%{transform:rotate(-5deg) scale(2);opacity:0}65%{transform:rotate(-5deg) scale(.92);opacity:1}100%{transform:rotate(-5deg) scale(1);opacity:1}}@keyframes raysTurn{to{transform:scale(.4) rotate(360deg)}}@keyframes showcaseArrive{from{opacity:.35;transform:translateY(18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes detailsArrive{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@keyframes detailsSettle{from{opacity:.78;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:24px}.hero h1{font-size:clamp(44px,6vw,68px)}.leader-slot{max-height:420px}.deck-body{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.fan{gap:6px}.binder-row{grid-template-columns:58px repeat(7,minmax(0,1fr));gap:7px;padding:9px}.play-body{grid-template-columns:minmax(0,1fr) minmax(300px,.95fr)}.play-details{padding:23px}.play-stage{min-height:520px}.showcase{width:min(76%,300px)}}
@media(max-width:760px){.topbar{padding:10px 16px}.brand img{width:84px;height:31px}.brand span{display:none}.mode-tag{font-size:7px;letter-spacing:.06em}.tools{gap:5px}.icon-button{width:40px;height:40px;min-height:40px;min-width:40px}.admin-link{font-size:9px;padding:8px 11px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:28px 17px 25px;gap:20px}.hero-copy{max-width:unset}.hero h1{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:clamp(42px,11vw,65px);margin:11px 0 7px}.hero h1 .t-main{max-width:none}.hero-lead{font-size:12px;margin-top:13px}.ribbon{margin-top:15px;padding:10px 12px}.session-note{margin-top:7px;font-size:9px}.table{padding:15px 22px 72px;border-radius:14px}.table:before{inset:9px}.leaders{gap:13px}.leader-slot{max-height:330px}.leader-slot .leader-state{bottom:-30px;font-size:8px;padding:4px 8px}.sticker{width:54px;height:96px}.s-jade{left:-4%;top:18%}.s-pink{right:-4%;top:5%}.s-gold{right:-1%;bottom:2%}.quote{bottom:10px;width:84%;padding:9px}.quote blockquote{font-size:13px}.quote figcaption{font-size:7px}.deck,.parade,.binder{padding:28px 16px}.deck-head{display:grid;align-items:start;gap:15px}.mode-switch{width:100%;max-width:none;grid-template-columns:1fr 1fr}.mode-button{min-height:59px;padding:8px}.mode-button b{font-size:9px}.mode-button small{font-size:8px}.deck-body{grid-template-columns:1fr;gap:20px;padding-top:14px}.fan{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:18px 5px 10px}.deck-card{width:min(100%,150px);justify-self:center;transform:rotate(calc(var(--o)*.8deg)) translateY(0)}.deck-card:nth-child(n+5){margin-top:6px}.deck-cta{align-items:stretch;flex-direction:column;padding:12px;gap:8px}.deck-cta .primary{width:100%;min-width:0}.deck-hint{text-align:center}.poster-panel{position:relative;top:auto;display:grid;grid-template-columns:minmax(80px,.45fr) minmax(120px,.55fr);gap:4px 14px;align-items:center;padding:12px}.poster-panel>.eyebrow{grid-column:1/-1}.poster-panel h2{display:none}.poster-preview{grid-column:1;width:min(100%,155px);margin:0 auto}.poster-caption{grid-column:2;text-align:left;font-size:9px}.section-head{display:block}.section-head>p{margin-top:10px}.parade{padding-top:30px}.parade-bipy{width:76px}.parade-bipy img{width:58px;height:104px}.parade-list{gap:12px;animation-duration:34s}.binder-head{display:flex;align-items:center;gap:12px}.binder-progress{min-width:130px;max-width:44%;grid-template-columns:auto minmax(30px,1fr);gap:4px 7px}.binder-progress>b{font-size:14px}.binder-progress small{font-size:7px}.binder-row{grid-template-columns:44px repeat(7,minmax(0,1fr));gap:4px;padding:6px}.binder-label{font-size:11px}.slot{border-radius:4px}.slot-empty b{font-size:19px}.slot-empty small{font-size:5px;margin-bottom:3px}.trailer{width:calc(100% - 32px);grid-template-columns:1fr;gap:15px;margin:5px auto 28px;padding:12px;border-radius:12px}.trailer-copy h2{font-size:28px}.trailer-copy>p:not(.eyebrow){font-size:10px}.comfort-note{margin-top:13px;padding-top:11px}.footer{padding-inline:16px;gap:7px}.footer>span:nth-child(2){display:none}
#prepDialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}#prepForm{grid-template-columns:1fr;min-height:0}.prep-preview{min-height:190px;padding:14px}.prep-preview .tcg,.prep-preview .poster{width:105px}.prep-fields{padding:18px 17px 20px}.prep-fields h2{font-size:26px}.comfort-options{margin:12px 0}.comfort-options label{padding:9px;min-height:56px}.optional-fields{grid-template-columns:1fr}.check-row{margin:10px 0;font-size:9px}.consent{padding:10px 0}.play{width:calc(100vw - 14px)!important;max-height:calc(100dvh - 14px)!important;border-radius:13px!important}.play-shell{min-height:0}.play-top{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;min-height:54px;padding:7px 9px}.play-brand{gap:5px}.play-brand img{width:43px;height:20px}.play-brand>span{font-size:6px;letter-spacing:.05em}.play-status{font-size:8px}.play-top .ghost{min-height:36px;padding:6px 8px;font-size:7px}.play-body{display:block;min-height:0}.play-stage{min-height:clamp(340px,52dvh,510px);padding:22px 14px 66px}.showcase{width:min(56vw,250px);max-height:calc(52dvh - 90px)}.booster-stage{width:min(40vw,145px);height:min(48dvh,230px)}.view-toggle{bottom:10px}.view-toggle button{min-height:38px;padding:6px 10px;font-size:8px}.play-details{padding:17px 18px 18px}.play-details h2{font-size:34px;margin-top:9px}.play-details blockquote{margin:12px 0 10px;font-size:15px}.play-details .result-bipy{padding:7px 9px}.play-details .result-bipy img{width:34px;height:48px}.ticket{margin-top:9px;padding:9px 0}.play-actions{grid-template-columns:1fr 1fr;margin-top:0;padding-top:12px}.play-actions>*{min-height:44px}.play-actions #finishButton{grid-column:1/-1}
}
@media(max-width:420px){.topbar{padding-inline:11px}.tools{gap:3px}.mode-tag{max-width:89px;line-height:1.2;text-align:center}.admin-link{padding:7px 8px;font-size:8px}.hero{padding-inline:13px}.event-chip{font-size:8px;letter-spacing:.08em}.hero h1{font-size:clamp(38px,10.6vw,48px)}.hero-lead{font-size:11px}.table{padding-inline:16px}.leader-slot{max-height:270px}.sticker{width:42px;height:75px}.quote{width:92%}.quote blockquote{font-size:12px}.deck,.parade,.binder{padding-inline:12px}.deck-head h2,.section-head h2{font-size:24px}.mode-button{gap:6px}.mode-button svg{width:16px;height:16px}.fan{gap:6px;padding-inline:0}.deck-card{width:100%}.deck-body{gap:14px}.poster-panel{grid-template-columns:100px 1fr;gap:5px 10px}.poster-preview{width:100px}.poster-caption{font-size:8px}.binder-row{grid-template-columns:35px repeat(7,minmax(0,1fr));gap:3px;padding:4px}.binder-label{font-size:9px}.slot-empty small{display:none}.trailer{width:calc(100% - 24px)}.play-top{grid-template-columns:minmax(0,1fr) auto;row-gap:0}.play-brand{grid-column:1}.play-status{grid-row:2;grid-column:1/-1;text-align:left;padding:0 3px 2px;font-size:7px}.play-top .ghost{grid-column:2;grid-row:1/3}.play-stage{min-height:clamp(315px,48dvh,400px)}.showcase{width:min(60vw,210px);max-height:calc(48dvh - 80px)}.view-toggle button{gap:4px;padding-inline:8px;font-size:7px}.play-details{padding:14px}.play-details h2{font-size:30px}.play-actions{gap:6px}.play-actions>*{padding-inline:6px;font-size:8px}}
@media(max-width:320px){.tools .mode-tag{display:none}.icon-button{width:36px;height:36px;min-width:36px;min-height:36px}.hero h1{font-size:37px}.table{padding-inline:11px}.leader-slot{max-height:225px}.quote{padding:7px}.quote blockquote{font-size:11px}.mode-switch{gap:5px}.mode-button{padding:7px 5px}.mode-button small{font-size:7px}.fan{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.deck-card:nth-child(n+5){margin-top:0}.binder-head{display:grid}.binder-progress{max-width:100%;min-width:0}.play-stage{min-height:300px}.showcase{width:min(62vw,185px)}.view-toggle button{padding-inline:6px}.play-details{padding:12px}.play-actions>*{font-size:7px}}
@media(min-width:761px) and (max-height:760px){.play-shell{min-height:0}.play-body{min-height:0}.play-stage{min-height:calc(100dvh - 120px);padding-block:30px 66px}.showcase{width:min(62%,300px)}.play-details{padding-block:20px}}
@media(prefers-reduced-motion:reduce){.parade-list{animation:none}.deck-card,.leader-slot .tcg,.play-details,.showcase,.poster-stamp{animation:none!important;transition:none!important}}
html[data-motion=reduce] .parade-list,html[data-motion=reduce] .deck-card,html[data-motion=reduce] .leader-slot .tcg,html[data-motion=reduce] .play-details,html[data-motion=reduce] .showcase,html[data-motion=reduce] .poster-stamp{animation:none!important;transition:none!important}

/* Grand Line Desire: the trailer and session controls live in the opening area. */
.hero{align-items:start;overflow:visible;gap:clamp(24px,4vw,58px);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.hero h1{font-size:clamp(42px,5.2vw,76px);line-height:1;letter-spacing:-.055em}
.hero h1 .t-main{max-width:11ch;overflow-wrap:normal}
.t-sub{font-size:10px;letter-spacing:.12em;line-height:1.7}
.hero-trailer{width:100%;margin:20px 0 0;padding:0;display:block;border:0;border-radius:0;background:transparent;box-shadow:none}
.hero-trailer .trailer-screen{aspect-ratio:16/9;width:100%}
.hero-trailer .trailer-copy{padding:11px 0 0}
.hero-trailer .trailer-copy .eyebrow{font-size:8px}
.hero-trailer .trailer-copy h2{margin-top:3px;font-size:22px;line-height:1.2}
.hero-lead{margin-top:17px;font-size:12px;line-height:1.75}
.session-controls,.theme-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:15px}
.theme-controls{margin-top:9px}
.control-label{width:80px;color:#cdb9ad;font-size:8px;letter-spacing:.12em}
.segmented-control{display:flex;gap:4px;padding:4px;border:1px solid #ffffff27;border-radius:999px;background:#ffffff06}
.segmented-control button{min-width:74px;min-height:40px;padding:7px 15px;border:1px solid transparent;border-radius:999px;background:transparent;color:#d9c9bf;font-size:10px}
.segmented-control button[aria-pressed=true]{border-color:#dfbd76;background:#dfbd761d;color:#ffe0a1}
.segmented-control button:hover{background:#ffffff12}

/* Cards, mascots and quotation each have a dedicated row. */
.table{display:grid;gap:18px;padding:clamp(18px,3vw,30px);overflow:visible}
.leaders{width:100%;max-width:570px;margin:0 auto;padding-top:4px;align-items:start;gap:clamp(10px,1.8vw,24px)}
.leader-slot{max-height:none;margin-bottom:34px}
.leader-slot.selected .tcg{transform:none;filter:drop-shadow(0 10px 14px #e9bf7c25)}
.leader-slot .host-card,.leader-slot .host-card.selected{transform:none}
.leader-slot .leader-state{bottom:-32px;font-size:8px;padding:4px 8px;max-width:100%;white-space:normal;text-align:center;line-height:1.4}
.table-bipys{position:relative;display:flex;align-items:end;justify-content:center;gap:clamp(18px,4vw,46px);padding-top:4px}
.table-bipys .sticker{position:static;inset:auto;display:block;width:clamp(54px,7.5vw,92px);height:clamp(98px,13vw,166px);transform:none;object-fit:contain;object-position:center bottom}
.table .quote{position:relative;inset:auto;transform:none;width:100%;max-width:480px;margin:0 auto;padding:12px;box-shadow:none}
.quote blockquote{margin:0;font-size:16px;line-height:1.5}
.booth-comfort{width:min(1312px,calc(100% - 2*clamp(18px,4vw,64px)));margin:0 auto 28px;padding-top:18px;font-size:10px}

/* The full illustration and companion fit side by side within the bounty photo. */
.poster{container-type:inline-size}
.poster-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.28fr);align-items:end;width:88%;height:39%;min-height:39%;flex:0 0 39%;margin:3% auto 1%;padding:2%;gap:2%;border-width:2px}
.poster-photo>img:not(.poster-bipy){position:relative;inset:auto;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.poster-photo .poster-bipy{position:relative;inset:auto;align-self:end;width:100%;height:78%;object-fit:contain;object-position:center bottom}
.poster-wanted{font-size:clamp(10px,12cqw,36px);letter-spacing:.12em}
.poster-dead{font-size:clamp(4px,2.8cqw,9px)}
.poster-name{font-size:clamp(8px,7.5cqw,24px);line-height:1.08}
.poster-price{font-size:clamp(4px,2.5cqw,8px)}
.poster-amount{font-size:clamp(7px,5cqw,16px)}
.poster-stamp b{font-size:clamp(7px,5.3cqw,17px)}
.poster-stamp small{font-size:clamp(3.5px,2.2cqw,7px)}
.poster-fine,.poster-foot{font-size:clamp(3.5px,2.1cqw,7px)}
.showcase[data-view=poster]{aspect-ratio:2/3}
.face-poster>.poster{height:auto;aspect-ratio:2/3}

.staff-mode-dialog{width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #d8b66b66;border-radius:16px;background:#21171b;color:#fff3e8;box-shadow:0 24px 80px #0008;overflow:auto}
.staff-mode-dialog::backdrop{background:#0c080bdc;backdrop-filter:blur(8px)}
.staff-mode-form{display:grid;gap:13px;padding:clamp(20px,4vw,32px)}
.staff-mode-form h2{font-size:25px;line-height:1.2;letter-spacing:-.04em}
.staff-mode-form>p:not(.eyebrow):not(.form-error){font-size:11px;color:#cfbcb1}
.staff-mode-form label{font-size:11px;font-weight:600}
.staff-mode-form input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #ffffff40;border-radius:8px;background:#160f13;color:#fff3e8;font-size:20px;letter-spacing:.22em}
.staff-mode-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin-top:5px}
.staff-mode-actions button{min-width:0;min-height:46px;padding:10px;font-size:11px}

/* Light mode covers every reading surface, including the result and staff dialog. */
html[data-theme=light]{color-scheme:light}
html[data-theme=light] .table-grain{opacity:.06;background-image:radial-gradient(#493033 .5px,transparent .7px)}
html[data-theme=light] :is(.table,.poster-panel,.deck-cta,.trailer,.binder-row,.staff-mode-dialog){background:#fffaf3;color:#382b2d;border-color:#ad8b684d;box-shadow:0 10px 30px #4930220c}
html[data-theme=light] :is(.table:before,.deck-head,.parade,.binder,.footer,.comfort-note){border-color:#62443b25}
html[data-theme=light] :is(.event-chip,.hero-lead,.session-note,.control-label,.poster-caption,.deck-hint,.parade-bipy span,.binder-progress small,.section-head>p,.comfort-note,.footer,.trailer-copy>p:not(.eyebrow)){color:#76615b}
html[data-theme=light] :is(.hero-lead b,.comfort-note b){color:#382b2d}
html[data-theme=light] :is(.eyebrow,.ribbon small,.ribbon-ico,.binder-label,.binder-progress>b,.hero h1 .t-kicker){color:#895f20}
html[data-theme=light] :is(.t-sub,.hero-trailer h2 em,.deck-head h2 em,.section-head h2 em){color:#ab3d5b}
html[data-theme=light] :is(.ribbon,.segmented-control){background:#f6ece0;border-color:#ad8b684d}
html[data-theme=light] .ribbon p>span{color:#6c554e}
html[data-theme=light] :is(.segmented-control button,.mode-button){color:#382b2d;background:transparent;border-color:#ad8b684d}
html[data-theme=light] :is(.segmented-control button[aria-pressed=true],.mode-button[aria-pressed=true]){color:#674518;background:#e8d4ac;border-color:#a77c36}
html[data-theme=light] .segmented-control button:hover{background:#eadccc}
html[data-theme=light] .mode-button small{color:#76615b}
html[data-theme=light] .mode-button>span:first-child{color:#895f20}
html[data-theme=light] .mode-tag{color:#9d3d56}
html[data-theme=light] .mode-tag.live{color:#27644f}
html[data-theme=light] .table .quote{background:#f6ece0;border-color:#b3905755}
html[data-theme=light] .quote blockquote{color:#654733}
html[data-theme=light] .quote figcaption{color:#786357}
html[data-theme=light] .leader-state{background:#fff8ee;color:#785424;border-color:#b3905780}
html[data-theme=light] .booster-hint{color:#76615b}
html[data-theme=light] .binder-progress .bar{background:#d8c7b6}
html[data-theme=light] .slot{border-color:#a8896870}
html[data-theme=light] .slot-empty{background:#ecdccd}
html[data-theme=light] .slot-empty b{color:#906324}
html[data-theme=light] .slot-empty small{color:#705c50}
html[data-theme=light] .hero-trailer{background:transparent;box-shadow:none}
html[data-theme=light] .footer a{color:#785424}
html[data-theme=light] .staff-mode-form>p:not(.eyebrow):not(.form-error){color:#76615b}
html[data-theme=light] .staff-mode-form input{background:#fff;color:#382b2d;border-color:#ad8b6866}
html[data-theme=light] #resultDialog{background:#fffaf3;color:#382b2d;border-color:#ad8b685c;scrollbar-color:#b39057 #f4eee6}
html[data-theme=light] .play-shell,html[data-theme=light] .play-shell[data-host=sanji]{--rarity:#8a6121;background:#f4e9db}
html[data-theme=light] .play-shell[data-rarity=sr]{--rarity:#a54571}
html[data-theme=light] .play-shell[data-rarity=sec]{--rarity:#936b19}
html[data-theme=light] .play-top{background:#f2e4d4;border-color:#ad8b6833}
html[data-theme=light] .play-stage{background:radial-gradient(ellipse at 50% 45%,#fffaf1,#eee0ce 65%,#e2ceb7)}
html[data-theme=light] .play-details{background:#fffaf3}
html[data-theme=light] :is(.play-status,.play-details h2,.play-details blockquote,.play-details .result-bipy b,.ticket strong){color:#4c342b}
html[data-theme=light] :is(.result-host,.result-host span,.result-kicker,.play-details .result-bipy small,.ticket small,.ticket dt,.play-details>.fine-print){color:#76615b}
html[data-theme=light] :is(.result-host b,.ticket>span,.ticket dd,.play-brand>span){color:#785424}
html[data-theme=light] :is(.play-details .result-bipy,.result-kicker>span:not(.rarity-chip),.ticket dl>div){background:#f4e9db;border-color:#ad8b6833}
html[data-theme=light] .ticket{border-color:#ad8b685c}
html[data-theme=light] .play-details .comfort-pill{background:#eaf0e4;color:#27644f;border-color:#91a57f60}
html[data-theme=light] .play-details .comfort-pill span{color:#617154}
html[data-theme=light] .play-top .ghost{background:#fff8ee;color:#5c4337;border-color:#ad8b6860}
html[data-theme=light] .view-toggle{background:#fff8eeeF;border-color:#ad8b6860}
html[data-theme=light] .view-toggle button{color:#76615b}
html[data-theme=light] .view-toggle button[aria-pressed=true]{color:#674518;background:#e8d4ac;border-color:#a77c36}

@media(max-width:1100px) and (min-width:761px){.hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px}.hero h1{font-size:clamp(40px,5.5vw,60px)}.hero-trailer .trailer-copy h2{font-size:19px}.table-bipys .sticker{width:65px;height:119px}}
@media(max-width:760px){.hero{display:grid;grid-template-columns:1fr;padding-top:24px;gap:24px}.hero h1{display:grid;font-size:clamp(43px,10vw,66px);gap:4px}.hero h1 .t-main{max-width:12ch}.hero-trailer{margin-top:16px}.hero-trailer .trailer-copy h2{font-size:22px}.table{padding:18px;gap:14px}.table-bipys .sticker{width:64px;height:116px}.table .quote{padding:10px}.quote blockquote{font-size:15px}.booth-comfort{width:calc(100% - 32px)}.showcase{width:min(56vw,250px,calc((52dvh - 90px)*.71))}.showcase[data-view=poster]{width:min(56vw,250px,calc((52dvh - 90px)*.66))}}
@media(max-width:420px){.hero h1{font-size:clamp(39px,10vw,46px)}.t-sub{font-size:8px;letter-spacing:.08em}.table{padding:14px;gap:13px}.table-bipys{gap:24px}.table-bipys .sticker{width:50px;height:92px}.leader-slot .leader-state{font-size:7px}.quote blockquote{font-size:14px}.hero-trailer .trailer-copy h2{font-size:20px}.showcase{width:min(60vw,210px,calc((48dvh - 80px)*.71))}.showcase[data-view=poster]{width:min(60vw,210px,calc((48dvh - 80px)*.66))}}
@media(max-width:320px){.hero h1{font-size:36px}.table{padding:11px}.table-bipys{gap:19px}.table-bipys .sticker{width:43px;height:79px}.quote blockquote{font-size:13px}.control-label{width:70px;font-size:7px}.segmented-control button{min-width:65px;padding-inline:11px}}

/* Persistent controls stay visible in the header instead of hiding below the hero. */
.topbar{flex-wrap:wrap}
.topbar .tools{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.topbar .topbar-control{display:block;margin:0}
.topbar .control-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.topbar .segmented-control{padding:3px;gap:2px}
.topbar .segmented-control button{display:block;width:auto;height:auto;min-width:58px;min-height:36px;padding:6px 10px;border-radius:999px;font-size:9px;line-height:1.15}
.topbar #liveModeButton{min-width:94px}
@media(max-width:760px){.topbar .tools{width:100%;margin-left:0;justify-content:center}.topbar .segmented-control button{width:auto;height:auto;min-width:56px;min-height:38px}.topbar #liveModeButton{min-width:92px}}
@media(max-width:420px){.topbar .tools{row-gap:6px}.topbar .segmented-control button{padding-inline:8px;font-size:8px}.topbar #liveModeButton{min-width:84px}.topbar .mode-tag{order:3}.topbar .icon-button,.topbar .admin-link{order:4}}
.topbar .segmented-control button{min-height:44px}
.tcg{container-type:inline-size}
.size-mini .tcg-name{font-size:clamp(9px,7.5cqw,16px)}
.size-mini .tcg-plate>small{font-size:clamp(6px,4.8cqw,8px)}
.size-mini .tcg-type{font-size:clamp(6px,4.6cqw,8px)}
@media(max-width:1100px){.fan{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.deck-card{width:100%;transform:none}.deck-card:nth-child(n+5){margin-top:0}}
@media(max-width:760px){.fan{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 5px 12px}.deck-card{width:min(100%,210px)}}
@media(max-width:320px){.fan{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline:0}}

/* Transform-only character movement keeps the card table and its labels still. */
.tcg-in>.card-art{height:auto;min-height:0}
.tcg-in>.card-art img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain;object-position:center bottom}
.table-bipys{padding-block:8px 4px}
.table-bipys .sticker{transform-origin:50% 88%;animation:bipyTableIdle 5.8s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-1.3s;--bipy-sway:1.1deg}
.table-bipys .s-pink{animation-duration:6.6s;animation-delay:-3.4s;--bipy-sway:-.9deg}
.table-bipys .s-gold{animation-duration:6.2s;animation-delay:-4.9s;--bipy-sway:1deg}
.table:has(.host-card:focus-visible) .table-bipys .sticker{animation-play-state:paused}
.leader-slot .leader-state{transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.parade-bipy img{transform-origin:50% 88%;animation:bipyParadeIdle 5.4s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-1s}
.parade-bipy:nth-child(3n+2) img{animation-delay:-2.9s;animation-duration:6.1s}
.parade-bipy:nth-child(3n) img{animation-delay:-4.2s;animation-duration:5.8s}
.parade-track:focus-within .parade-list{animation-play-state:paused}
.play-shell[data-phase=result] .result-bipy img{transform-origin:50% 90%;animation:bipyResultBreathe 6s ease-in-out infinite}
.mode-button,.segmented-control button,.view-toggle button{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}
@keyframes bipyTableIdle{0%,100%{transform:translateY(0) rotate(calc(var(--bipy-sway)*-.6)) scale(1)}50%{transform:translateY(-3px) rotate(var(--bipy-sway)) scale(1.012)}}
@keyframes bipyParadeIdle{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-3px) rotate(.7deg)}}
@keyframes bipyResultBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.015)}}
@media(hover:hover) and (pointer:fine){
 .table-bipys:hover .sticker,.parade-bipy:hover img{animation-play-state:paused}
 .parade-bipy:hover span{color:#f2d493}
 html[data-theme=light] .parade-bipy:hover span{color:#895f20}
}
html[data-motion=reduce] :is(.table-bipys .sticker,.parade-bipy img,.result-bipy img){animation:none!important;transform:none!important}
html[data-motion=reduce] :is(.leader-slot .tcg,.leader-state,.mode-button,.segmented-control button,.view-toggle button,.booster-button){transition:none!important}
html[data-motion=reduce] .booster-button:hover:not(:disabled){transform:none!important}
@media(prefers-reduced-motion:reduce){
 .table-bipys .sticker,.parade-bipy img,.result-bipy img{animation:none!important;transform:none!important}
 .leader-slot .tcg,.leader-state,.mode-button,.segmented-control button,.view-toggle button,.booster-button{transition:none!important}
 .booster-button:hover:not(:disabled){transform:none!important}
}
