/* V4 – three worlds; party accent is a rich midnight plum and electric orchid. */
body.party-world{--accent:#ff89bb;--gold:#eab6f7;background:radial-gradient(ellipse at 70% 8%,#3c1546 0,transparent 42%),#100a1c;color:#fff4fb}
body.party-world .topbar,body.party-world .panel{border-color:#a76c9c45}
.v4-party-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;padding:100px 28px 76px;min-height:410px;text-align:center;background:radial-gradient(circle at 48% 20%,#9c427f64,transparent 40%),linear-gradient(135deg,#21102c,#120f26 55%,#40213b);border:1px solid #ffb6e53e;box-shadow:0 35px 110px #08000999}
.v4-party-hero:before{content:'';position:absolute;inset:-70%;z-index:-1;background:conic-gradient(from 45deg,transparent 0 25%,#f466b016 26% 34%,transparent 35% 65%,#b05fff15 70% 80%,transparent 82%);animation:party-lights 22s linear infinite}
.v4-party-hero h1{font-size:clamp(3.5rem,9vw,7rem);letter-spacing:-.055em;line-height:1.02;margin:20px auto 10px;font-style:italic}
.v4-party-hero p{margin:12px auto 22px;max-width:600px;color:#e7cbdc}
.v4-party-hero .eyebrow{color:#ffc0dd}
.v4-party-hero .v4-kicker{display:inline-flex;gap:8px;align-items:center;border:1px solid #eeb7ce70;padding:8px 16px;border-radius:50px;letter-spacing:.14em;font-size:.7rem}
@keyframes party-lights{to{transform:rotate(360deg)}}
.v4-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}
.v4-tile{cursor:pointer;position:relative;background:linear-gradient(145deg,#37223c,#261c34);color:#fff0fa;border:1px solid #eeb1d830;box-shadow:0 14px 40px #10061636;border-radius:24px;padding:24px;min-height:173px;text-align:left;transition:transform .35s,border-color .35s,box-shadow .35s;overflow:hidden}
.v4-tile:hover{transform:translateY(-6px) rotate(-.3deg);border-color:#ff95c3;box-shadow:0 23px 60px #ff48a428}
.v4-tile .v4-symbol{font-size:1.9rem;margin-bottom:16px;display:block}.v4-tile strong{display:block;font-size:1.25rem}.v4-tile span:last-child{display:block;color:#e4bbd8;font-size:.85rem;margin-top:7px;line-height:1.5}
.v4-panel{background:linear-gradient(145deg,#27172f,#1c1629);border:1px solid #e8b9d730;border-radius:24px;padding:24px;margin-bottom:20px;overflow:hidden}
.v4-panel h2{font-size:clamp(1.5rem,3vw,2.4rem);margin:8px 0 14px}.v4-panel h3{margin:0 0 7px;font-size:1.2rem}
.v4-muted{color:#c9adca;line-height:1.6}.v4-eyebrow{color:#f5a9ce;font-size:.71rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700}
.v4-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;margin:3px;border:1px solid #cf9eba56;border-radius:100px;background:#ffffff0b;color:#ffe1ee;font-size:.72rem}
.v4-item{padding:18px;border-radius:19px;background:#ffffff0b;border:1px solid #ffffff18;display:flex;flex-direction:column;gap:10px;min-height:175px;transition:transform .25s}.v4-item:hover{transform:translateY(-3px)}
.v4-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}.v4-action{border:1px solid #ffc1df55;border-radius:22px;padding:9px 14px;color:#f9d4e7;background:#ffffff0b;cursor:pointer;font-size:.79rem;transition:background .2s}.v4-action:hover,.v4-action.on{background:#ed9bc63d;border-color:#f9bbd7}.v4-action.on{color:#fff}
.v4-action.primary{color:#20131e;background:#fbb3d6;border:0;font-weight:700}.v4-action.primary:hover{background:#ffe0ef}.v4-section-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:30px 0 16px}
.v4-status{font-size:.72rem;color:#efbdcf}.v4-divider{border:none;border-top:1px solid #ffffff1b;margin:25px 0}
.v4-spotify{width:100%;height:158px;border:0;border-radius:18px;margin:12px 0}
.v4-flipbook{display:grid;grid-template-columns:1fr 1fr;min-height:305px;background:#f1e3da;color:#342631;border-radius:22px;overflow:hidden;box-shadow:inset 0 0 45px #623c2547,0 20px 50px #0004}
.v4-flipbook>div{padding:24px;background:linear-gradient(90deg,#f2e6dd,#fff6ef);border-right:1px solid #c7b6a9;min-width:0}.v4-flipbook>div+div{background:linear-gradient(90deg,#e4d5c7,#f7e8df);border:0}.v4-flipbook .v4-muted{color:#5e5057}.v4-flipbook h3{font-family:Georgia,serif;font-size:1.7rem}.v4-flipbook p,.v4-flipbook li{font-size:.88rem;line-height:1.65}
.v4-flipbook .v4-action{color:#56364c;border-color:#bfa3ab;background:#ffffff80}.v4-bookmark{font-size:2.3rem;margin:7px 0}
.v4-globe{height:435px;min-height:350px;border-radius:25px;background:radial-gradient(ellipse at center,#182d50 0,#0b1025 70%);position:relative;overflow:hidden;border:1px solid #b0d6eb36}
.v4-globe canvas{display:block}.v4-globe-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:25px;color:#ccddf8}.v4-globe-note{position:absolute;left:16px;bottom:16px;background:#0e1839cb;color:#d7e4fa;padding:8px 12px;border-radius:20px;font-size:.72rem;z-index:2}
.v4-travel-spark{background:linear-gradient(130deg,#1e324b,#17394b 60%,#4d4c6b);border:1px solid #e6c6a94b;border-radius:28px;padding:24px;color:#fef5e9;position:relative;overflow:hidden}
.v4-travel-spark::before{content:'✧';position:absolute;right:16px;top:-40px;font-size:11rem;opacity:.08;pointer-events:none}.v4-travel-spark h2{font-size:2rem;color:#fff1e0}
.v4-roulette{border-radius:30px;min-height:220px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,#eeafbc24 0,transparent 60%),#13213b;border:1px dashed #dda9b980}
.v4-roulette .wheel{font-size:4rem;animation:float-wheel 4s ease-in-out infinite}@keyframes float-wheel{50%{transform:translateY(-12px) rotate(15deg)}}
.v4-compat{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.v4-compat .v4-score{background:#ffffff0c;padding:16px;border-radius:17px}.v4-compat .v4-score strong{font-size:1.7rem;display:block;margin:6px 0;color:#ffbddd}.v4-compat progress{display:block;width:100%;height:7px;accent-color:#d984af}
.v4-warning{font-size:.77rem;color:#bdabba;padding:12px;border-left:2px solid #d98ab0;background:#ffffff09;border-radius:7px}
.v4-private-pill{display:inline-block;background:#a7556c35;border:1px solid #eea2c46e;border-radius:30px;padding:7px 12px;color:#f1bbce;font-size:.75rem}
@media(max-width:700px){.v4-party-hero{padding:76px 19px 60px;min-height:360px}.v4-flipbook{grid-template-columns:1fr}.v4-flipbook>div{border:0;border-bottom:1px solid #d0bdb4}.v4-globe{height:340px}.v4-compat{grid-template-columns:1fr}.v4-panel{padding:17px}}
@media(prefers-reduced-motion:reduce){.v4-party-hero:before,.v4-roulette .wheel{animation:none}.v4-tile,.v4-item{transition:none}}
