:root{color-scheme:dark;--ink:#141021;--black:#100c18;--paper:#f5f0ff;--muted:#c9bddb;--lime:#cbff46;--pink:#ff46ad;--violet:#ad92ff;--line:#3c304a;font-family:"Geist","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--black);color:var(--paper);line-height:1.65}
a{color:inherit;text-underline-offset:.22em}
a:focus-visible,input:focus-visible{outline:3px solid var(--violet);outline-offset:5px}
img{display:block;width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
.wrap{width:min(100% - 3rem,1230px);margin-inline:auto}
.mast{border-bottom:1px solid var(--line)}
.mast .wrap,.site-foot .wrap{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.logo{font-weight:950;text-decoration:none;font-size:1.3rem;letter-spacing:.035em}
.logo::before{content:"";display:inline-block;background:var(--lime);width:.63em;height:.63em;transform:rotate(-14deg);margin-right:.45em;border-radius:2px}
nav{display:flex;flex-wrap:wrap;gap:clamp(.7rem,2.5vw,2rem)}
nav a{font-size:.9rem;font-weight:700;text-decoration:none}
nav a:hover{text-decoration:underline}
.skip{position:absolute;left:1rem;top:1rem;z-index:4;padding:.5rem 1rem;background:var(--lime);color:var(--ink);transform:translateY(-200%)}
.skip:focus{transform:none}
.poster{isolation:isolate;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-block:clamp(2rem,5vw,5rem) 2.5rem}
.poster-copy{grid-column:1/8;grid-row:1;position:relative;z-index:1;padding:clamp(1rem,3vw,2rem) 0}
.poster-art{grid-column:6/-1;grid-row:1;position:relative;overflow:hidden;border-radius:6px 48px 6px 48px;background:#241034;outline:1px solid #6a4269;outline-offset:4px}
.poster-art img{aspect-ratio:4/3;object-fit:cover;animation:land 850ms cubic-bezier(.18,.8,.24,1) both}
.poster-art::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#160d20,transparent 32%)}
@keyframes land{from{transform:scale(1.065);filter:saturate(.72)}to{transform:scale(1);filter:saturate(1)}}
.eyebrow{display:inline-flex;align-items:center;gap:.55em;font-size:.85rem;font-weight:800;color:var(--violet);letter-spacing:.08em}
.eyebrow::before{content:"";width:.8em;height:.2em;background:var(--pink)}
.poster h1{font-weight:950;line-height:.99;font-size:clamp(3rem,6.4vw,6.3rem);letter-spacing:-.085em;margin:.15em 0 .25em;text-shadow:0 4px 30px #0d0719}
.poster h1 span{display:block;color:var(--lime)}
.poster p{font-size:clamp(.95rem,1.65vw,1.16rem);max-width:28ch;color:var(--paper)}
.button{display:inline-flex;align-items:center;gap:1em;margin-top:1.2rem;background:var(--lime);color:var(--ink);font-weight:850;padding:.72em 1.15em;text-decoration:none;border-radius:2px 22px 22px 2px;transition:background-color 180ms,transform 180ms}
.button:hover{background:#e3ff90;transform:translateX(3px)}
.button::after{content:"";display:inline-block;width:.45em;height:.45em;border-top:2px solid;border-right:2px solid;transform:rotate(45deg)}
.checkout{scroll-margin-top:1rem;display:grid;grid-template-columns:1fr 1.65fr;margin-block:1rem 3.5rem;background:var(--paper);color:var(--ink);border-radius:24px 5px 24px 5px;overflow:hidden}
.checkout-intro{padding:clamp(1.5rem,4vw,3rem);background:var(--lime)}
.checkout h2,.split h2,.guides h2{font-size:clamp(1.6rem,3.4vw,3.1rem);line-height:1.12;letter-spacing:-.055em;margin-bottom:.55em}
.checkout-intro p{max-width:22rem}
.ticket{border:0;padding:1rem clamp(1rem,4vw,2.6rem);margin:0;min-width:0}
.ticket legend{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.ticket label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.65rem 1rem;padding:.8rem .1rem;cursor:pointer;border-bottom:1px dashed #9b87b6}
.ticket label:last-child{border-bottom:0}
.ticket label span{display:block;font-weight:820;line-height:1.4}
.ticket label small{display:block;color:#4c3b60;font-weight:500;font-size:.88rem}
.ticket input{appearance:none;width:1.3rem;height:1.3rem;border:2px solid #69577b;border-radius:5px;display:grid;place-content:center;margin:0;color:var(--ink);cursor:pointer}
.ticket input:checked{background:var(--lime);border-color:var(--ink)}
.ticket input:checked::after{content:"";width:.57rem;height:.32rem;border-left:2px solid;border-bottom:2px solid;transform:translateY(-.05em) rotate(-45deg)}
.split{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin-bottom:3.5rem}
.split section{padding:clamp(1.25rem,4vw,3rem)}
.split section:first-child{background:#261538}
.split section:last-child{background:#331529}
.split h2{font-size:clamp(1.5rem,2.6vw,2.4rem);color:#e4d7ff}
.split section:last-child h2{color:#ff9ed0}
.split p{color:var(--muted);margin-bottom:.8rem;max-width:32ch}
.split a,.guide-card a,.receipt-prose a{font-weight:750}
.guides{margin-bottom:3.5rem}
.guide-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.guide-card{border:1px solid var(--line);padding:1.1rem 1.3rem;border-radius:5px 20px 5px 20px}
.guide-card p{margin-top:.28rem;color:var(--muted)}
.site-foot{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.site-foot .wrap{padding-block:1rem}
.receipt-main{max-width:850px;padding-block:2rem 4rem}
.breadcrumbs{margin-bottom:1.5rem;color:var(--muted);gap:.85rem}
.receipt-article,.sheet{border-radius:6px 24px 6px 24px;background:var(--paper);color:var(--ink);padding:clamp(1.1rem,4.8vw,3.5rem)}
.receipt-main h1{line-height:1.15;font-size:clamp(1.85rem,5.4vw,3.65rem);letter-spacing:-.055em;margin-bottom:.3em}
.receipt-main h2{font-size:clamp(1.15rem,3vw,1.62rem);line-height:1.3;margin:1.45em 0 .45em}
.receipt-main time{font-size:.85rem;color:#5e4c74}
.receipt-prose{margin-top:1.5rem;border-top:1px dashed #a18ebc;padding-top:1.25rem}
.receipt-prose p+p,.sheet p+p{margin-top:.85rem}
.answer{padding:.9rem 1rem;background:#e8dbff;border-left:4px solid #8250c6;font-weight:780;margin-bottom:1rem}
.example{padding:1rem;background:#eaffbb;border-radius:4px 16px 4px 16px;margin-top:1rem}
.detail-rows{margin:.8rem 0}
.detail-rows div{padding:.7rem 0;border-bottom:1px dashed #b7a7c8}
.detail-rows dd{margin:0}
.detail-rows dt{font-weight:800}
.more{margin-top:1.5rem;border-top:1px dashed #a18ebc;padding-top:1rem}
@media(max-width:750px){
 .wrap{width:calc(100% - 2rem)}
 .mast .wrap{min-height:58px}
 .poster{display:flex;flex-direction:column;align-items:stretch;gap:1.1rem;padding-top:1.4rem;padding-bottom:1.6rem}
 .poster-copy{padding:0}
 .poster h1{font-size:clamp(2.75rem,10.8vw,4.65rem)}
 .poster p{max-width:none}
 .poster-art{border-radius:5px 28px 5px 28px}
 .poster-art::after{display:none}
 .checkout,.split{grid-template-columns:1fr;margin-bottom:2rem}
 .checkout{margin-top:.25rem}
 .guide-shelf{grid-template-columns:1fr}
 .guides{margin-bottom:2rem}
 .site-foot .wrap{align-items:flex-start;flex-direction:column;gap:.55rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.checkout-intro .button{background:var(--ink);color:var(--paper)}
.checkout-intro .button:hover{background:#372049}
.ticket label{transition:background-color 160ms}
.ticket label:hover,.ticket label:has(input:checked){background:#eae2fa}
.receipt-prose a{display:inline-block}
