#party-app .pc-private-location{display:flex;flex-direction:column;align-items:stretch;max-width:none;width:100%;margin:18px 0 0;gap:16px}
#party-app .pc-private-location .location-text{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.2fr) minmax(240px,.8fr);align-items:center;gap:32px;min-height:0;padding:24px 32px;border:1px solid #c18be848;border-radius:16px;background:linear-gradient(110deg,#21132be8,#100c19ed);box-shadow:none}
#party-app .pc-location-heading .eyebrow{font-size:11px;line-height:1.7;letter-spacing:1px;color:#d5a4ed}
#party-app .pc-private-location .location-text h2{font-family:Outfit,Arial,sans-serif;font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.8px;margin:10px 0 0;max-width:330px}
#party-app .pc-private-location .location-text h2 em{color:#ffb47c;text-shadow:0 0 20px #ff8d3d33}
#party-app .pc-location-explanation p{font-size:16px;line-height:1.7;margin:0;color:#dbccdf}
#party-app .pc-location-date{font-size:11px;letter-spacing:1px;line-height:1.8;color:#e0b8e9;margin-top:12px}
#party-app .pc-location-actions{display:flex;flex-direction:column;gap:8px}
#party-app .pc-location-controls{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
#party-app .pc-private-location .pc-location-controls .primary{font-size:15px;gap:20px;padding:13px 18px;margin:0;min-height:46px;flex:1 0 180px;justify-content:space-between;background:linear-gradient(105deg,#aa54d4,#eb9452);border:1px solid #ffcd9a69;box-shadow:0 5px 24px #d67c4820}
#party-app .pc-lock-reset{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;border:1px solid #b788d64d;border-radius:9px;background:#a66ada0e;color:#e1c2ed;font-size:13px;transition:background .2s,border-color .2s}
#party-app .pc-lock-reset svg{width:16px;height:16px;flex-shrink:0}
#party-app .pc-lock-reset>span{font-size:9px;letter-spacing:1px;color:#ffc298;border:1px solid #e6ab783d;border-radius:4px;padding:2px 4px}
#party-app .pc-lock-reset:hover{background:#a66ada24;border-color:#d4a4ee9c}
#party-app .pc-location-other{color:#d4b9df;font-size:13px;min-height:36px;padding:5px 8px;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}
#party-app .pc-lock-reset:focus-visible,#party-app .pc-location-other:focus-visible{outline:2px solid #ffbc84;outline-offset:4px}
#party-app .pc-location-verified{font-size:12px;color:#bdedc8;text-align:center}
#party-app .pc-lock-panel{order:-1;position:relative;min-height:360px;padding:40px 8%;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(360px,1.15fr);gap:6%;align-items:center;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 30% 50%,#683e763d,transparent 58%),linear-gradient(140deg,#231329f2,#120f1de8);border:1px solid #c886ea6b;box-shadow:inset 0 1px #efd1ff16,0 18px 50px #08040c40;isolation:isolate}
#party-app .pc-lock-panel::before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(#bc7fea0b 1px,transparent 1px),linear-gradient(90deg,#bc7fea0b 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse at center,#000,transparent 85%);pointer-events:none;z-index:-1}
#party-app .pc-lock-scene{position:relative;width:100%;height:240px;color:#e5bbff;perspective:600px}
#party-app .pc-lock-aura{position:absolute;top:50%;left:50%;width:164px;height:164px;margin:-82px 0 0 -82px;border:1px solid #e2aeff40;border-radius:50%;background:radial-gradient(circle,#b85cdd25,transparent 70%);box-shadow:0 0 42px #bf64e524,inset 0 0 30px #b85cdd10;animation:vault-breathe 3.4s ease-in-out infinite}
#party-app .pc-map-lock{position:absolute;left:50%;top:calc(50% - 75px);transform:translateX(-50%);width:108px;height:119px;filter:drop-shadow(0 0 5px #c97fff9c) drop-shadow(0 0 23px #a847d846);stroke-linecap:round;stroke-linejoin:round}
#party-app .pc-lock-body{fill:#281731;stroke:#dfb1ff}
#party-app .pc-lock-shackle{transform-origin:71px 49px}
#party-app .pc-lock-orbit{position:absolute;left:50%;top:50%;width:204px;height:204px;margin:-102px 0 0 -102px;border:1px solid #c283df24;border-radius:50%;pointer-events:none}
#party-app .orbit-one{border-top-color:#d9a0f8bb;border-bottom-color:#f5a57270;animation:vault-orbit 18s linear infinite}
#party-app .orbit-two{width:226px;height:226px;margin:-113px 0 0 -113px;border-style:dashed;border-color:#cb97e326;animation:vault-orbit 40s linear infinite reverse}
#party-app .pc-lock-spark{position:absolute;left:calc(50% - 3px);top:50%;width:4px;height:4px;border-radius:50%;background:#edb6ff;box-shadow:0 0 12px #dc8cff;opacity:.6;pointer-events:none}
#party-app .spark-one{transform:translate(-134px,-28px)}
#party-app .spark-two{transform:translate(133px,38px);background:#ffb677;box-shadow:0 0 12px #ff9a4e}
#party-app .spark-three{transform:translate(110px,-84px);width:3px;height:3px;opacity:.4}
#party-app .pc-map-key{position:absolute;left:calc(50% - 72px);top:calc(50% - 22px);width:80px;height:40px;color:#ffc183;opacity:0;transform-origin:90% 50%;filter:drop-shadow(0 0 5px #ffbd8099) drop-shadow(0 0 18px #f89d6166)}
#party-app .pc-lock-timer{width:100%;max-width:680px;padding:25px 15px 25px 12%;margin:0;border-left:1px solid #d39aee30}
#party-app .pc-lock-timer .deadline-clock{margin:0}
#party-app .pc-lock-timer .deadline-units>div{padding:0 12px}
#party-app .pc-lock-timer .deadline-units strong{font-size:clamp(40px,4vw,76px)}
#party-app .pc-unlocked-map{width:100%;transition:opacity .4s ease,transform .4s ease}
#party-app .pc-lock-panel.revealed{display:flex;justify-content:center}
#party-app .pc-location-result{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:15px 0}
#party-app .clue-result{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
#party-app .pc-clue-copy,#party-app .pc-clue-deadline{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
#party-app .pc-clue-deadline .pc-lock-timer{padding:18px 0;border:0}
#party-app .pc-location-kicker{font-size:11px;letter-spacing:1.8px;color:#dab3ed;line-height:1.7}
#party-app .pc-clue-coordinates{font-family:Orbitron,monospace;font-size:clamp(20px,2.1vw,34px);color:#ffbd86;text-shadow:0 0 18px #ff913c55;line-height:1.7;overflow-wrap:anywhere;padding:14px 25px;border:1px solid #f5ae6d3a;border-radius:12px;background:linear-gradient(100deg,#ffac6b0c,#b97be50b);letter-spacing:1px}
#party-app .pc-clue-caption{font-size:15px;color:#d7c1df}
#party-app .pc-map-demo-note{font-size:12px;color:#ccb1d5;line-height:1.7;text-align:center}
#party-app .pc-location-result h3{font-family:Outfit,Arial,sans-serif;font-size:27px;line-height:1.5;color:#ffccaa;max-width:640px;margin:0;overflow-wrap:anywhere}
#party-app .pc-location-pin{font-size:62px;line-height:1;color:#edb4ff;text-shadow:0 0 22px #b66bea77}
#party-app .pc-location-result .primary{font-size:15px;padding:14px 20px}
#party-app .pc-lock-panel.is-unlocking .pc-lock-scene{position:absolute;inset:0;width:100%;height:100%;z-index:2;background:radial-gradient(ellipse at center,#492450,#17101f 75%);animation:unlock-scene-out .45s ease 2.65s forwards}
#party-app .pc-lock-panel.is-unlocking .pc-unlocked-map{opacity:0;transform:scale(.97)}
#party-app .is-unlocking .pc-map-key{animation:key-rise-turn 2.65s cubic-bezier(.3,.75,.3,1) forwards}
#party-app .is-unlocking .pc-lock-shackle{animation:shackle-open .7s cubic-bezier(.2,.8,.2,1) 1.65s forwards}
#party-app .is-unlocking .pc-lock-body{animation:vault-body-warm 2.65s ease forwards}
#party-app .is-unlocking .pc-lock-aura{animation:vault-open-aura 2.65s ease-out forwards}
#party-app .is-unlocking .pc-unlock-flash{position:absolute;left:50%;top:50%;width:140px;height:140px;margin:-70px 0 0 -70px;border:1px solid #ffc082;border-radius:50%;opacity:0;animation:unlock-flash .9s ease-out 1.7s forwards}
#party-app .access-tabs[hidden]{display:none!important}
@keyframes key-rise-turn{0%{opacity:0;transform:translate(-125px,110px) rotate(-25deg) scale(.7)}18%{opacity:1;transform:translate(-40px,70px) rotate(-65deg) scale(1)}36%{opacity:1;transform:translate(0,38px) rotate(-90deg)}49%{opacity:1;transform:translate(0,0) rotate(-90deg)}62%{opacity:1;transform:translate(0,0) rotate(-90deg) rotateX(70deg)}74%{opacity:1;transform:translate(0,0) rotate(-90deg) rotateX(0)}87%{opacity:.9;transform:translate(0,32px) rotate(-90deg)}100%{opacity:0;transform:translate(25px,80px) rotate(-55deg) scale(.8)}}
@keyframes shackle-open{0%{transform:translateY(0) rotate(0)}45%{transform:translateY(-12px) rotate(0)}100%{transform:translateY(-12px) rotate(-35deg)}}
@keyframes vault-body-warm{0%,48%{stroke:#dfb1ff}65%,85%{stroke:#ffc38d;filter:drop-shadow(0 0 7px #ffac6b88)}100%{stroke:#dfb1ff}}
@keyframes unlock-scene-out{to{opacity:0;transform:scale(1.035)}}
@keyframes unlock-flash{15%{opacity:.7}100%{opacity:0;transform:scale(2.5)}}
@keyframes vault-orbit{to{transform:rotate(360deg)}}
@keyframes vault-breathe{50%{box-shadow:0 0 48px #bb60df38,inset 0 0 36px #b85cdd18;border-color:#e2aeff68}}
@keyframes vault-open-aura{0%,45%{border-color:#d9a0f850;box-shadow:0 0 40px #bb60df22}70%{border-color:#ffc38dcc;box-shadow:0 0 65px #ffae6852}100%{border-color:#ffc38d00;box-shadow:0 0 90px #ffae6800}}
/* One connected composition. Coordinates become the focal point after unlock. */
#party-app .pc-clue-copy{container-type:inline-size}
#party-app .pc-coordinate-row{display:flex;align-items:center;justify-content:center;gap:22px;max-width:100%;width:100%}
#party-app .pc-coordinate-copy{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:46px;padding:11px 15px;border:1px solid #d4a0ed65;border-radius:11px;background:linear-gradient(125deg,#b76ee327,#fa9a5620);color:#f5d8ff;font-size:14px;font-weight:600;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
#party-app .pc-coordinate-copy svg{width:19px;height:19px}
#party-app .pc-coordinate-copy:hover{background:#ad68d536;border-color:#e5b4ffb3;box-shadow:0 0 22px #ad68d51f}
#party-app .pc-coordinate-copy:active{transform:scale(.96)}
#party-app .pc-coordinate-copy:focus-visible{outline:2px solid #ffc28a;outline-offset:4px}
#party-app .pc-coordinate-copy.is-copied{color:#c4f5d4;border-color:#8ac5a4aa;background:#5bac7e1c}
#party-app .pc-coordinate-manual{width:min(100%,430px);font-size:16px;text-align:center}
#party-app .pc-coordinate-manual[hidden]{display:none!important}
#party-app .pc-location-result.exact-result{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:36px;align-items:center;padding:0;text-align:left}
#party-app .pc-venue-photo{position:relative;overflow:hidden;border-radius:14px;border:1px solid #ce9bec40;width:100%;height:clamp(280px,35vh,460px);background:#170f20}
#party-app .pc-venue-photo img{width:100%;height:100%;object-fit:cover;display:block}
#party-app .pc-venue-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#12091be6);pointer-events:none}
#party-app .pc-venue-photo-label{position:absolute;bottom:20px;left:22px;right:20px;z-index:1;font-size:11px;letter-spacing:2px;color:#ffe0bd;line-height:1.7}
#party-app .pc-venue-address{display:flex;flex-direction:column;align-items:flex-start;gap:25px;min-width:0}
#party-app .pc-venue-address h3{font-size:clamp(24px,2.5vw,40px);line-height:1.3;text-align:left}
#party-app .pc-venue-address .pc-map-demo-note{text-align:left;font-size:14px}
@media(max-width:760px){#party-app .pc-location-result.exact-result{display:flex;flex-direction:column;gap:22px;align-items:stretch}#party-app .pc-venue-photo{height:240px}#party-app .pc-venue-address{gap:18px}}
body[data-page-view="location"] #main{display:flex;flex-direction:column}
#party-app .pc-private-location{flex:1;gap:0;margin:14px 0 0;min-height:calc(100svh - 190px);border:1px solid #c886ea65;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#5e2e6c38,transparent 60%),linear-gradient(140deg,#211428ee,#100c1ae8);box-shadow:0 20px 65px #08030e4d,inset 0 1px #ffe3ff12}
#party-app .pc-private-location .pc-lock-panel{flex:1;min-height:340px;padding:32px 5%;border:0;border-radius:0;background:transparent;box-shadow:none}
#party-app .pc-private-location .location-text{flex:none;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.4fr) minmax(230px,.75fr);gap:30px;margin:0;padding:23px 32px;border:0;border-top:1px solid #d39aee28;border-radius:0;background:#130d1abf}
#party-app .pc-private-location .location-text h2{font-size:25px;max-width:310px;margin-top:8px}
#party-app .pc-location-explanation p{font-size:15px;line-height:1.7}
#party-app .pc-location-heading .eyebrow{font-size:10px;letter-spacing:1.5px}
#party-app .pc-location-date{margin-top:9px}
#party-app .pc-private-location .pc-lock-panel.revealed{min-height:400px;padding-block:25px}
#party-app .pc-location-result.clue-result{display:flex;flex-direction:column;gap:25px;padding:16px 0 20px}
#party-app .pc-clue-copy{gap:16px;width:100%}
#party-app .pc-clue-copy .pc-location-kicker{font-size:11px;letter-spacing:2.5px;color:#dab6ee}
#party-app .pc-clue-coordinates{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;min-width:0;max-width:100%;padding:25px 30px;border:0;border-radius:14px;font-size:clamp(22px,3.8cqw,68px);font-weight:600;line-height:1.3;letter-spacing:0;background:radial-gradient(ellipse,#ffb16b09,transparent 75%);text-shadow:0 0 8px #ffb06b55,0 0 32px #ff86252b}
#party-app .pc-clue-coordinates:before,#party-app .pc-clue-coordinates:after{content:"";position:absolute;width:24px;height:32px;pointer-events:none}
#party-app .pc-clue-coordinates:before{left:0;top:50%;transform:translateY(-50%);border:2px solid #ffbb8870;border-right:0;border-radius:5px 0 0 5px}
#party-app .pc-clue-coordinates:after{right:0;top:50%;transform:translateY(-50%);border:2px solid #dba0ff70;border-left:0;border-radius:0 5px 5px 0}
#party-app .pc-coordinate-value{white-space:nowrap;color:#ffbd87}
#party-app .pc-coordinate-value:last-child:not(:first-child){color:#dfb4ff;text-shadow:0 0 8px #cf96ff55,0 0 32px #9c45e53b}
#party-app .pc-coordinate-divider{font-size:.48em;color:#ae76b8;font-weight:400;opacity:.6;text-shadow:none}
#party-app .pc-clue-deadline{width:min(100%,640px);gap:12px;padding-top:18px;position:relative}
#party-app .pc-clue-deadline:before{content:"";position:absolute;left:10%;right:10%;top:0;height:1px;background:linear-gradient(90deg,transparent,#c18be854,transparent)}
#party-app .pc-clue-deadline .pc-lock-timer{padding:5px 0 0;max-width:560px}
#party-app .pc-clue-deadline .deadline-units strong{font-size:clamp(34px,3vw,54px)}
#party-app .pc-clue-deadline .deadline-units span{font-size:11px;letter-spacing:2px}
#party-app .pc-clue-caption{font-size:14px;color:#d2bddb}
#party-app .pc-map-demo-note{font-size:11px;color:#aa93b4}
@media(min-width:1600px){#party-app .pc-private-location .location-text{padding:25px 45px}#party-app .pc-private-location .location-text h2{max-width:none}}
@media(max-width:760px){#party-app .pc-coordinate-row{gap:13px}#party-app .pc-coordinate-row .pc-clue-coordinates{flex-direction:column;gap:8px;padding:17px 20px;font-size:clamp(17px,4.7vw,25px)}#party-app .pc-coordinate-divider{display:none}#party-app .pc-coordinate-copy{min-width:44px;width:44px;padding:10px;min-height:44px}#party-app .pc-coordinate-copy [data-copy-label]{display:none}}
@media(max-width:1050px){#party-app .pc-private-location .location-text{grid-template-columns:1fr 1fr;gap:18px}#party-app .pc-location-actions{grid-column:1/-1}#party-app .pc-private-location{min-height:calc(100svh - 190px)}}
@media(max-width:760px){#party-app .pc-private-location{min-height:0;border-radius:16px;margin-top:10px}#party-app .pc-private-location .pc-lock-panel{min-height:360px;padding:22px 18px}#party-app .pc-private-location .pc-lock-panel.revealed{min-height:390px}#party-app .pc-private-location .location-text{display:flex;padding:20px;gap:16px}#party-app .pc-clue-coordinates{gap:10px;padding:20px 15px;font-size:clamp(16px,4.6vw,30px);letter-spacing:0}#party-app .pc-clue-coordinates:before,#party-app .pc-clue-coordinates:after{width:9px;height:24px}#party-app .pc-clue-copy .pc-location-kicker{font-size:9px;letter-spacing:1.5px}#party-app .pc-clue-deadline .deadline-units strong{font-size:34px}#party-app .pc-clue-deadline .pc-lock-timer{padding-top:4px;border:0}#party-app .pc-location-result.clue-result{gap:25px}}
@media(max-width:1050px){#party-app .pc-private-location .location-text{grid-template-columns:1fr 1fr;gap:20px}#party-app .pc-location-actions{grid-column:1/-1;max-width:640px;width:100%;justify-self:center}#party-app .pc-location-controls{flex-wrap:nowrap}#party-app .pc-lock-reset{width:auto;flex:1;padding:0 15px}#party-app .pc-lock-panel{padding:30px 5%;gap:3%;grid-template-columns:minmax(200px,.8fr) minmax(300px,1.2fr)}}
@media(max-width:760px){#party-app .pc-private-location{margin-top:10px;gap:12px}#party-app .pc-lock-panel{display:flex;flex-direction:column;min-height:360px;padding:20px;gap:5px}#party-app .pc-lock-scene{height:210px}#party-app .pc-lock-timer{padding:20px 0 5px;border-left:0;border-top:1px solid #d39aee22;max-width:420px}#party-app .pc-lock-timer .deadline-units strong{font-size:36px}#party-app .pc-private-location .location-text{display:flex;flex-direction:column;align-items:stretch;padding:22px;gap:18px}#party-app .pc-private-location .location-text h2{font-size:28px;max-width:none}#party-app .pc-location-controls{flex-wrap:wrap}#party-app .pc-lock-reset{flex-basis:100%}#party-app .clue-result{display:flex;gap:24px}#party-app .pc-clue-coordinates{font-size:19px;padding:12px 15px}#party-app .pc-clue-deadline{width:100%}}
