
@font-face{font-family:'Pricedown';src:url('../assets/pricedown.otf') format('opentype');font-display:swap;}
@font-face{font-family:'Rage';src:url('../assets/rage.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'SF';src:url('../assets/sf-heavy.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'SFOb';src:url('../assets/sf-heavy-oblique.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'SFMedium';src:url('../assets/sf-medium.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'SFMediumOb';src:url('../assets/sf-medium-oblique.ttf') format('truetype');font-display:swap;}
:root{--pink:#ff93cf;--pink2:#e982c5;--blue:#62b6ff;--green:#19d79b;--yellow:#f8d85a;--ink:#07090d;--ink2:#10131a;--panel:#1d2031;--white:#f5f3f6;--shadow:#000;}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:#05050a;color:var(--white);font-family:'SF',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%}.screen{display:none;min-height:100vh}.screen.active{display:flex}.front{align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;position:relative;overflow:hidden;background:#06060b}.crt::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 1px, transparent 1px 4px);mix-blend-mode:soft-light;pointer-events:none;opacity:.55}.hidden{display:none !important}
.entry-gate{background:radial-gradient(circle at 50% 65%, rgba(255,0,175,.14), transparent 28%), #040409}.entry-gate::after{content:'';position:absolute;inset:-20%;background:radial-gradient(circle at 50% 45%, rgba(255,117,217,.12), transparent 28%);animation:lightPulse 4.8s ease-in-out infinite;pointer-events:none}@keyframes lightPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}
.entry-float{position:relative;border:0;background:transparent;padding:0;max-width:min(84vw,820px);width:100%;aspect-ratio:16/10;display:grid;place-items:center}.entry-float img{width:100%;height:100%;object-fit:contain;animation:cardFloat 4s ease-in-out infinite;filter:drop-shadow(0 0 22px rgba(255,94,220,.7)) drop-shadow(0 0 54px rgba(255,94,220,.32))}@keyframes cardFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(-2deg)}}
.entry-prompt{margin-top:6px;font:normal clamp(30px,4vw,60px) 'Rage',cursive;color:var(--pink);text-shadow:3px 3px #120711}.system-caption{font-size:15px;letter-spacing:.8px;color:#ddd4e2;text-transform:uppercase}
.present{font-family:'SF';font-size:clamp(24px,3vw,42px);color:var(--blue);letter-spacing:1px;text-transform:uppercase}.script{font-family:'Rage',cursive;font-style:normal;color:var(--pink);text-shadow:3px 3px #130714}.front .script{font-size:clamp(38px,5vw,82px);line-height:.95}.mega{font-family:'Pricedown', Impact, sans-serif;font-size:clamp(64px,10vw,180px);line-height:.8;text-transform:uppercase;color:#fff;-webkit-text-stroke:3px #090909;paint-order:stroke fill;text-shadow:4px 4px #000,8px 8px rgba(0,0,0,.85)}.subtitle{font-size:clamp(46px,6vw,92px)}.enter{border:0;background:transparent;color:var(--pink);font-family:'Rage';font-size:clamp(32px,4vw,56px);margin-top:26px;text-shadow:3px 3px #000}.enter:hover{color:#fff}.blink{animation:blink 1.25s step-end infinite}@keyframes blink{50%{opacity:.35}}
.boot-caption{font-family:'SF';font-size:12px;letter-spacing:1px;color:#e4d2e4;text-transform:uppercase}
.panel-intro{max-width:980px;width:94%;background:#2228a0;border:22px solid #8a7de0;padding:44px 48px;color:#e7d8ff;box-shadow:0 0 60px rgba(40,50,165,.35);font-family:monospace;text-transform:uppercase;letter-spacing:1px}.panel-intro h2{margin:0 0 20px;font-size:clamp(18px,2.4vw,28px);letter-spacing:3px}.panel-intro p{font-size:clamp(14px,1.45vw,21px);line-height:1.9;margin:16px 0}
.frame{display:none;min-height:100vh;background:#090a10;flex-direction:column}.frame.active{display:flex}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 18px;background:#080810ee;box-shadow:0 6px 18px rgba(0,0,0,.35)}.brand{font-family:'Pricedown';font-size:clamp(24px,2.6vw,34px);line-height:.9;-webkit-text-stroke:2px #090909;paint-order:stroke fill}.brand em{display:block;margin-top:4px;font-family:'Rage';font-style:normal;color:var(--pink);font-size:28px;-webkit-text-stroke:0;text-shadow:2px 2px #140913}.topcontrols{display:flex;flex-wrap:wrap;gap:8px}.smallbutton{background:#2a2d3d;border:1px solid #646a78;color:#fff;padding:9px 12px;font-family:'SF';font-size:12px;letter-spacing:.7px;text-transform:uppercase}.smallbutton:hover,.smallbutton.selected{background:#0d8a63}
.main{position:relative;flex:1;padding:clamp(18px,3vw,42px);background-size:cover;background-position:center}.main::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(5,6,11,.92) 0%, rgba(8,10,18,.83) 42%, rgba(8,10,18,.58) 100%);pointer-events:none}.content{position:relative;z-index:2;max-width:1180px;margin:0 auto}.eyebrow{font:12px/1 'SF';letter-spacing:3px;color:var(--green);text-transform:uppercase}.heading{font-family:'Pricedown';font-size:clamp(42px,6vw,92px);line-height:.9;margin:4px 0 10px;color:#fff;-webkit-text-stroke:3px #090909;paint-order:stroke fill;text-shadow:4px 4px #000}.heading.scriptlike{font-family:'Rage'}.info{font:15px/1.6 'SF',Arial,sans-serif;max-width:780px;color:#e1e4ea}.notice{border-left:5px solid var(--pink);background:#222536;padding:12px 14px;color:#f0eff2;font:14px/1.55 'SF'}.window{background:#11131ddd;border:2px solid #556173;padding:18px;box-shadow:8px 8px rgba(0,0,0,.4)}.window h3{margin:0 0 12px;color:var(--pink);font-family:'Pricedown';font-size:28px;-webkit-text-stroke:1px #090909}.layout2{display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(280px,.85fr);gap:24px}.layout3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.action{background:#303447;border:1px solid #6e7a8d;color:white;padding:10px 14px;font-family:'SF';font-size:15px;text-transform:uppercase}.action:hover{background:#0a8a61}.caption{font:12px/1.55 'SF';color:#acb3c0}.badge{display:inline-block;background:var(--pink);color:#111;padding:4px 7px;font:12px 'SF';text-transform:uppercase}
.menu{display:grid;gap:8px;max-width:620px;margin:28px 0;padding:18px 24px;background:linear-gradient(130deg,#4f5260,#74717b 35%,#3c3e4d);clip-path:polygon(0 2%, 100% 0, 98% 100%, 1% 98%);box-shadow:9px 12px rgba(0,0,0,.5)}.menu button{border:0;background:transparent;text-align:left;color:#f5a1d3;font-family:'SF';font-size:clamp(24px,3vw,38px);padding:4px 6px;text-transform:uppercase;text-shadow:2px 2px #261223}.menu button:hover{background:#0b7a53;color:#fff}.menu button:hover::before{content:'▶ ';font-size:.75em}
.floor-tabs,.campus-controls,.npc-tools,.card-actions,.map-switch{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.floor-tabs button{background:#303447;border:1px solid #6e7a8d;color:#fff;padding:10px 14px;font-family:'SF';text-transform:uppercase}.floor-tabs button.active{background:#0a8a61}.mapimage{width:100%;max-height:640px;display:block;object-fit:contain;background:#000}.game-map{background:#656772;min-height:300px;border:3px solid #000;overflow:hidden}.game-map svg{width:100%;display:block}.game-map text{paint-order:stroke fill;stroke:#000;stroke-width:3px;font:bold 15px 'SF';fill:white;letter-spacing:1px}.game-map .building{stroke:#21232b;stroke-width:3}.game-map .zone{cursor:pointer}.game-map .zone:hover .building{fill:#f39bd5}.game-map .grass{fill:#087e39}.game-map .road{fill:#151618;stroke:#fff;stroke-width:5}.game-map .marker{fill:#e22;stroke:#000;stroke-width:2}
.locationButtons{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.locationButtons button{background:#173338;border:1px solid #40a98a;color:#fff;padding:8px 10px;font:12px 'SF';text-transform:uppercase}.locationButtons button:hover{background:#2b6c63}
.cardform{display:flex;flex-direction:column;gap:12px}.cardform label{display:flex;flex-direction:column;gap:6px;font:12px 'SF';letter-spacing:.5px;color:#97f0cf;text-transform:uppercase}.cardform input,.cardform select{padding:10px;background:#1a2430;border:1px solid #687c90;color:#fff;font:16px 'SF'}#cardCanvas{width:100%;max-width:680px;height:auto;border:1px solid #555;background:#0b0f1f}
.npc-cast{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.cast-card{display:flex;gap:12px;align-items:flex-start;background:#232330;border:2px solid #464653;padding:10px;color:#fff;min-height:152px;text-align:left}.cast-card:hover{border-color:#ed96d2;background:#333042}.cast-card img{width:90px;height:104px;object-fit:cover;border:3px solid #ee9ad3}.cast-card b{display:block;color:#ff9fd2;font-family:'SF';font-size:20px;line-height:1.05;text-transform:uppercase}.cast-card small{display:block;color:#d4dae3;font:13px/1.35 'SF';margin-top:7px}.npc-meta{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.npc-pill{padding:4px 8px;border:1px solid #6c7c8c;font:11px 'SF';text-transform:uppercase}
.inventory{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:18px}.item{background:#1e202a;border:2px solid #4c5163;padding:12px;text-align:left;color:white;min-height:220px}.item:hover{border-color:#ee9ad3;background:#282a37}.item .thumb{width:100%;aspect-ratio:1.25;object-fit:cover;border:2px solid #d985c0;background:#111}.item strong{display:block;margin:10px 0 6px;font-size:22px;font-family:'SF';text-transform:uppercase}.item p{font:13px/1.4 'SF';color:#d0d6de;margin:0}
.poster-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.poster-wall .poster{background:#111;padding:7px;border:1px solid #555;box-shadow:4px 5px rgba(0,0,0,.4)}.poster-wall .poster img{width:100%;aspect-ratio:5/7;object-fit:cover;display:block}.poster-wall .poster span{display:block;margin-top:6px;font:11px 'SF';color:#d5d5d8;text-transform:uppercase}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;z-index:100}.modal-card{max-width:min(760px,92vw);max-height:88vh;overflow:auto;background:#11141d;border:2px solid #556075;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.5)}.modal-card h3{margin:0 0 10px;font-family:'Pricedown';font-size:34px;color:#fff;-webkit-text-stroke:2px #090909}.closebtn{float:right;border:0;background:#3a4251;color:#fff;padding:8px 10px}
.archiveimg{width:100%;height:auto;max-height:560px;object-fit:contain;border:1px solid #333;background:#000}.bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:35px;border-top:1px solid #404050;padding:12px 0;font:11px 'SF';color:#aab1bd}
.campus-shell{position:relative;background:#6b9ead;border:5px solid #0a080d;box-shadow:8px 9px rgba(0,0,0,.55);overflow:hidden;aspect-ratio:1100/650}.campus-shell canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none;image-rendering:pixelated}.campus-shell canvas:active{cursor:grabbing}.campus-hud{position:absolute;z-index:3;top:14px;right:16px;display:flex;gap:12px;align-items:flex-start;pointer-events:none}.campus-hud .stats{font:34px/.95 'Pricedown';text-align:right;color:var(--blue);-webkit-text-stroke:2px #090909;paint-order:stroke fill;text-shadow:2px 3px #000}.campus-hud .stats b{display:block;color:#20dda2;font-weight:normal}.campus-hud .stats em{display:block;color:var(--pink);font-style:normal}.campus-hud .tag{display:block;font:12px 'SF';color:#fff;margin-top:8px;text-transform:uppercase}.hud-player{width:58px;height:58px;border-radius:12px;border:4px solid #e093d2;background:#8a5ac0;display:grid;place-items:center;box-shadow:0 0 0 3px #12111a}.hud-player img{width:72%;height:72%;object-fit:contain;image-rendering:pixelated}
.hudmini{position:absolute;left:14px;bottom:14px;width:150px;height:150px;z-index:4;background:#d9dde1;border:6px solid #e884cb;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #151019,4px 4px 0 #000}.hudmini canvas{width:100%;height:100%;display:block}.hudmini .north{position:absolute;top:3px;left:50%;transform:translateX(-50%);background:#000;color:#fff;border-radius:50%;font:12px 'SF';padding:1px 6px}
.campus-location{position:absolute;bottom:26px;right:24px;z-index:4;color:#f8dc4e;font-family:'Rage';font-size:clamp(28px,4vw,56px);text-shadow:2px 2px #000,-1px -1px #000;pointer-events:none}.campus-prompt{position:absolute;bottom:14%;left:15%;right:12%;z-index:4;text-align:center;color:#ff9ad5;font:24px 'Rage';text-shadow:2px 2px #000,-1px -1px #000;pointer-events:none}.dialogue{position:absolute;left:14px;right:14px;bottom:14px;z-index:5;display:flex;align-items:flex-end;gap:14px;pointer-events:none}.dialogue .box{background:#06070cde;color:#fff;padding:10px 12px;font:17px/1.35 'SF';min-height:56px;flex:1;box-shadow:0 0 0 1px rgba(255,255,255,.07)}.dialogue .portrait{width:74px;height:74px;background:#8f5bc4;border:4px solid #e884cb;display:grid;place-items:center;box-shadow:0 0 0 3px #12111a}.dialogue .portrait img{width:80%;height:80%;object-fit:contain;image-rendering:pixelated}
.event-flash{position:fixed;top:41%;left:5%;right:5%;text-align:center;z-index:100;pointer-events:none;font:normal clamp(38px,6vw,90px)/.9 'Pricedown';color:#f9a2d9;-webkit-text-stroke:2px #090609;paint-order:stroke fill;text-shadow:3px 3px #090609;animation:flashOut 2.4s ease forwards}.event-flash.blue{color:#69baf5}.event-flash.yellow{color:#ffe35b;font-family:'Rage';-webkit-text-stroke:1px #090609}@keyframes flashOut{0%{opacity:0;transform:scale(1.12)}15%,72%{opacity:1}100%{opacity:0}}
.mission-fail{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:120;display:grid;place-items:center;text-align:center;padding:20px}.mission-fail h2{margin:0;color:#f59fd7;font:normal clamp(42px,6vw,92px) 'Pricedown';-webkit-text-stroke:2px #090909}.mission-fail p{margin:8px 0 0;color:#fff;font:20px 'SF'}
.room-view{position:relative;background:#0a0f18;border:4px solid #0a080d;box-shadow:8px 9px rgba(0,0,0,.55);overflow:hidden}.room-view img{width:100%;display:block;image-rendering:pixelated;filter:saturate(.9) contrast(1.06) brightness(.98)}.room-label{position:absolute;top:14px;left:14px;background:rgba(8,8,12,.86);color:#fff;padding:10px 12px;font:22px 'Pricedown';-webkit-text-stroke:1px #090909}.room-sub{position:absolute;right:16px;bottom:16px;color:var(--yellow);font:44px 'Rage';text-shadow:2px 2px #000}
@media(max-width:860px){.layout2{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.campus-hud .stats{font-size:23px}.hudmini{width:105px;height:105px}.dialogue .portrait{width:58px;height:58px}.dialogue .box{font-size:14px}.campus-location{font-size:30px}.campus-prompt{left:7%;right:7%;font-size:20px}}

/* V05 corrections */
.entry-gate{background:#030305!important;isolation:isolate}.entry-gate::after{display:none}.entry-float{width:min(62vw,680px);height:auto;aspect-ratio:1.65;z-index:3;filter:drop-shadow(0 0 14px #ef65cc)}.entry-float img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 25px #f45bca);animation:cardFloat 5s ease-in-out infinite}.light-shaft{position:absolute;top:8%;left:50%;width:min(54vw,500px);height:78%;transform:translateX(-50%);background:linear-gradient(90deg,transparent 0%,rgba(255,82,215,.11) 20%,rgba(255,144,229,.35) 50%,rgba(255,82,215,.11) 80%,transparent 100%);clip-path:polygon(40% 0,60% 0,96% 100%,4% 100%);filter:blur(12px);animation:shimmer 5.5s ease-in-out infinite;z-index:1}.light-shaft:after{content:'';position:absolute;bottom:0;left:8%;right:8%;height:14%;border-radius:50%;box-shadow:0 0 55px 24px #fa4ccc;background:rgba(255,119,217,.45)}@keyframes shimmer{0%,100%{opacity:.55;transform:translateX(-50%) scaleX(.93)}50%{opacity:1;transform:translateX(-50%) scaleX(1.07)}}.entry-prompt{z-index:4;font-family:'Rage'}.menu button{font-family:'Pricedown'!important;-webkit-text-stroke:1px #111;letter-spacing:1px;font-size:clamp(30px,3.8vw,52px)}.panel-intro{background:#2a29a2;border:26px solid #8d83e0;box-shadow:none;max-width:900px;text-align:left;image-rendering:pixelated}.panel-intro p{font:clamp(13px,1.4vw,17px)/1.7 'SF';letter-spacing:1px}.panel-intro h2{font:24px 'SF';letter-spacing:3px}.heading,.brand{font-family:'Pricedown'}.cardform,.cardform label,.smallbutton,.info,.caption,.system-caption{font-family:'SF'!important}.cardform input,.cardform select{font-family:'SF'!important}.poster-wall{position:relative;min-height:540px;background:repeating-linear-gradient(90deg,#49413d 0 5px,#5c5047 5px 10px);overflow:hidden;border:6px solid #25282c}.poster-wall .poster{position:absolute;cursor:grab;width:160px;touch-action:none}.poster-wall .poster:active{cursor:grabbing}.room-view img{image-rendering:auto;filter:none}.dialogue{bottom:80px;left:12px;right:auto;width:min(57%,550px)}.campus-location{bottom:20px;right:20px;z-index:4;font-size:clamp(24px,4vw,50px);color:#ffe555;text-shadow:2px 2px #000,0 0 3px #000}.hudmini{z-index:6}.dvd-view{margin-top:20px;display:grid;justify-items:center;gap:14px;background:#6d6d6d;padding:20px;overflow:hidden}.dvd-view img{width:min(100%,680px);transition:transform .6s;transform:perspective(700px) rotateY(-10deg) rotateX(10deg);box-shadow:10px 20px 25px #0008}

/* Version 06: the three supplied fonts are the only UI fonts */
body,button,input,select,textarea,.panel-intro{font-family:'SF',sans-serif}
.entry-gate{background:#000!important}
.entry-float{width:min(64vw,620px);aspect-ratio:1.7;filter:none!important}
.entry-float img{filter:drop-shadow(0 0 16px rgba(255,74,210,.8))!important;object-fit:contain}
.entry-prompt{font-family:'SF'!important;font-size:clamp(19px,2.1vw,31px)!important;letter-spacing:1.5px;text-transform:uppercase}
.present{font-family:'Pricedown'!important;font-size:clamp(40px,5.5vw,72px)!important;line-height:.9!important}
#boot{background-position:center!important;background-size:cover!important}
#boot::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#0008,#0006)}
#boot>*{position:relative;z-index:2}
.campus-prompt{top:14px;left:14px;right:auto;bottom:auto;text-align:left;width:min(44%,550px);background:#07070bdd;padding:10px 16px;font-family:'Rage';font-size:clamp(18px,2.2vw,29px)}
.room-view img{image-rendering:auto;filter:none}
.inventory .thumb{object-fit:contain;background:linear-gradient(145deg,#ebbc49,#bf62be 55%,#477ba1);image-rendering:auto;padding:10px}
.inventory .item{background:#15131c;min-height:195px}
.inventory .item strong{font-family:'Pricedown';font-size:26px;letter-spacing:1px}
.npc-cast .cast-card b{font-family:'Pricedown';font-size:24px}
.window h3{font-family:'Pricedown'}
.dvd-scene{perspective:1000px;width:min(100%,760px);height:430px;display:grid;place-items:center;margin:0 auto;overflow:visible}
.dvd-case{width:480px;height:315px;position:relative;transform-style:preserve-3d;transition:transform .7s;transform:rotateY(-24deg) rotateX(9deg)}
.dvd-face{position:absolute;inset:0;border:12px solid #1248bb;border-radius:10px;backface-visibility:hidden;overflow:hidden;background:#071741;box-shadow:inset 0 0 0 3px #2864e8}
.dvd-face img{width:100%;height:100%;object-fit:cover;display:block}
.dvd-back{transform:rotateY(180deg)}
.dvd-spine{position:absolute;left:0;top:0;width:20px;height:100%;background:#2169df;transform:translateX(-10px) rotateY(90deg)}
.dvd-scene .dvd-case{filter:drop-shadow(13px 22px 8px #0007)}
.enrol-transition{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:200;color:#57b6ff;font:clamp(40px,7vw,90px)/.9 'Pricedown';text-align:center;text-shadow:4px 4px #111;animation:enrolFade 2.6s forwards}
@keyframes enrolFade{0%{opacity:0}18%,70%{opacity:1}100%{opacity:0}}
.light-shaft{z-index:1;pointer-events:none}
.entry-float{z-index:3}
.entry-gate .system-caption{display:none}
@media(max-width:700px){.dvd-case{width:310px;height:220px}.dvd-scene{height:300px}.campus-prompt{width:60%}}

/* Release candidate: menu texture only; original geometry and spacing retained. */
.menu{background-image:url('../assets/menu_camo.png'),linear-gradient(130deg,#4f5260,#74717b 35%,#3c3e4d);background-repeat:repeat;background-size:340px 340px;}
.menu button{font-family:'Pricedown'!important;color:#f5a1d3;text-shadow:2px 2px #19131e;-webkit-text-stroke:1px #18101a;}
/* Strict three-family hierarchy */
.script,.brand em,.campus-location,.room-sub,.entry-italic{font-family:'Rage'!important}
.present,.brand,.heading,.menu button,.item strong,.window h3,.card-title{font-family:'Pricedown'!important}
.panel-intro,.info,.caption,.notice,.dialogue .box,.cardform,.boot-caption{font-family:'SF'!important}
.room-view img{filter:none!important;image-rendering:auto!important}

/* Release candidate 02 corrections */
.campus-prompt{display:none!important}
.game-dialogue{position:absolute!important;top:20px!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%) translateY(-10px);width:min(76%,680px)!important;display:block!important;opacity:0;visibility:hidden;transition:opacity .55s,transform .55s,visibility .55s;z-index:50!important;pointer-events:none!important}
.game-dialogue.visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.game-dialogue .portrait{display:none!important}
.game-dialogue .box{background:rgba(8,9,13,.85)!important;text-align:center!important;font-family:'SF'!important;font-size:18px!important;min-height:0!important;padding:14px 20px!important}
.poster-wall{min-height:1040px!important}
.poster-wall .poster{width:clamp(92px,11%,160px)!important}
.poster-wall .poster img{object-fit:contain!important;background:#13131a}
.inventory .thumb{width:100%;aspect-ratio:1.2;object-fit:contain!important;background:transparent!important;padding:0!important;border:0!important}
/* Final type assignment and entry lighting */
.present{font-family:'Pricedown'!important;letter-spacing:.02em!important;line-height:.95!important}
.entry-gate{background:#000!important}
.entry-gate::before{content:'';position:absolute;inset:9% 21%;background:radial-gradient(ellipse at center,rgba(255,18,202,.18),transparent 68%);filter:blur(28px);animation:shimmer 6s ease-in-out infinite;pointer-events:none}
.entry-prompt{font-family:'SF'!important;color:#f0a1d5!important;text-shadow:2px 2px #090006,0 0 12px #fa45bc!important;font-weight:normal!important;position:relative;z-index:5}
.room-view img{filter:none!important;image-rendering:auto!important}

/* RC03: guaranteed provided font families, no serif type anywhere */
html,body,button,input,select,textarea{font-family:'SF',sans-serif!important}
.panel-intro,.panel-intro *{font-family:'SF',sans-serif!important;text-align:center!important}
.panel-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center!important}
.panel-intro p{max-width:750px;margin:12px auto!important;line-height:1.6!important}
.panel-intro h2{font-family:'SF'!important;color:#e6baff}
.panel-intro p:last-child{color:#f8a6de;font-size:1.15em!important}
.menu button,.present,.mega,.heading,.brand,.window h3,.item strong,.card-title{font-family:'Pricedown',sans-serif!important}
.script,.subtitle,.brand em,.campus-location,.room-sub{font-family:'Rage',cursive!important}
.entry-prompt{font-family:'SF',sans-serif!important;color:#ff9fdd!important;opacity:1!important}
.entry-float{background:transparent!important;border:0!important;box-shadow:none!important;outline-offset:10px;animation:cardFloat 5s ease-in-out infinite;transform-origin:center}
.entry-float img{animation:none!important}
.entry-gate .light-shaft{top:5%;height:74%;filter:blur(6px);opacity:.9}
/* No extraneous top-left informational text on room/campus views */
.campus-prompt,.room-view .instruction-overlay,.location-warning,.location-brief{display:none!important}

.entry-float{width:min(85vw,1050px)!important;aspect-ratio:auto!important;height:auto!important;max-height:80vh!important;animation:none!important;filter:none!important;padding:0!important}
.entry-float img{display:block;width:100%!important;height:auto!important;filter:none!important;animation:cardFloat 5.6s ease-in-out infinite!important}
.entry-gate .light-shaft{display:none!important}
.entry-prompt{margin-top:0!important;font-family:'SF',sans-serif!important;font-size:clamp(18px,2.7vw,36px)!important}

/* Release Candidate 04: final two title/briefing typography adjustments */
#enquiry > button.enter{font-family:'Pricedown',sans-serif!important;font-size:clamp(28px,3.4vw,46px);font-style:normal;text-transform:uppercase;-webkit-text-stroke:1px #080408;paint-order:stroke fill;}
#boot > button.enter{font-family:'Rage',cursive!important;font-size:clamp(22px,2.5vw,34px)!important;}

/* RC05 — authoritative entry sizing, safe spacing and font rules */
#access.entry-gate{display:none;justify-content:center;align-items:center;gap:0;padding:clamp(20px,5vh,52px) 16px;min-height:100vh;}
#access.entry-gate.active{display:flex;}
#access .entry-float{position:relative!important;width:min(67vw,690px,calc(72vh * 1.32))!important;max-width:690px!important;max-height:65vh!important;flex:none;aspect-ratio:auto!important;margin:0 auto!important;padding:0!important;animation:cardFloat 5.6s ease-in-out infinite!important;}
#access .entry-float img{width:100%!important;height:auto!important;max-height:65vh!important;object-fit:contain!important;animation:none!important;}
#access .entry-prompt{position:relative!important;display:block;flex:none;max-width:94vw;margin:clamp(22px,4vh,44px) auto 0!important;font-family:'SF'!important;font-size:clamp(18px,2.4vw,30px)!important;line-height:1.25!important;z-index:6!important;}
#boot > button.enter{font-family:'SF'!important;font-size:clamp(17px,2vw,26px)!important;font-style:normal!important;text-transform:none!important;}
#enquiry > button.enter{font-family:'Pricedown'!important;}
.cardform label,.cardform input,.cardform select{font-family:'SF'!important;}
#cardCanvas{font-family:'Pricedown'!important;}
.room-view.reception-crop{aspect-ratio:16/9;}
.room-view.reception-crop>img{height:100%;position:absolute;inset:0;object-fit:cover;object-position:58% 48%;transform:scale(1.23);transform-origin:54% 50%;}
.room-view.reception-crop .room-label,.room-view.reception-crop .room-sub,.room-view.reception-crop .hudmini{z-index:2;}

.info,.caption,.notice,.dialogue .box,.cardform input{ text-transform:none!important; }

/* RC06: three independent landing layers. Keep all original typefaces unchanged. */
#access.entry-gate{background:#000!important;display:none;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;padding:24px 16px 36px;gap:0}
#access.entry-gate.active{display:flex}
#access.entry-gate::before,#access.entry-gate::after{display:none!important}
#access .access-stage{position:relative;isolation:isolate;width:min(86vw,740px,calc(66vh * 1.12));height:min(66vh,610px);min-height:220px;flex:none;display:flex;align-items:center;justify-content:center}
#access .access-light{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}
#access .access-light-halo{position:absolute;inset:10% 15% 5%;background:radial-gradient(ellipse at 50% 55%,rgba(255,60,202,.37),rgba(227,0,148,.12) 43%,transparent 74%);filter:blur(28px);animation:accessGlimmer 4.8s ease-in-out infinite}
#access .access-light-beam{position:absolute;top:10%;bottom:10%;left:21%;right:21%;background:repeating-linear-gradient(90deg,rgba(255,65,210,.02) 0 13px,rgba(255,99,224,.095) 16px 28px,rgba(255,32,173,.04) 33px 46px),linear-gradient(90deg,transparent,rgba(250,21,195,.22) 22%,rgba(255,112,222,.34) 50%,rgba(250,21,195,.22) 78%,transparent);clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);filter:blur(10px);animation:accessGlimmer 5.5s ease-in-out infinite reverse}
#access .access-light-rim{position:absolute;left:23%;width:54%;height:10%;border:2px solid rgba(255,45,207,.65);border-radius:50%;box-shadow:0 0 13px rgba(255,9,202,.72),inset 0 0 12px rgba(255,9,202,.25);animation:accessRim 6s ease-in-out infinite}
#access .access-light-rim.top{top:8%}
#access .access-light-rim.middle{top:18%;opacity:.7}
#access .access-light-rim.bottom{bottom:7%;border-color:#ff39d1;box-shadow:0 0 22px 7px rgba(255,15,210,.6),inset 0 0 25px rgba(255,15,210,.3)}
#access .entry-float{position:relative!important;z-index:3!important;display:block!important;width:min(77%,540px)!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important;margin:0!important;flex:none!important;animation:accessCardHover 5s ease-in-out infinite!important;background:none!important;filter:drop-shadow(0 0 10px #ff47cb) drop-shadow(0 0 23px #ff21c0)!important;transform-origin:center}
#access .entry-float img{display:block;width:100%!important;max-height:none!important;height:auto!important;object-fit:contain!important;animation:none!important;filter:none!important}
#access .entry-prompt{z-index:5!important;display:block!important;position:relative!important;flex:none!important;margin:12px 0 0!important;text-align:center!important;font-family:'SF'!important;font-size:clamp(18px,2.4vw,30px)!important;letter-spacing:1.5px!important;color:#ff9fdd!important;line-height:1.3!important;text-shadow:0 2px #090006,0 0 12px #f543b9!important;animation:none!important}
@keyframes accessGlimmer{0%,100%{opacity:.72}45%{opacity:1}70%{opacity:.82}}
@keyframes accessRim{0%,100%{opacity:.62}45%{opacity:.95}70%{opacity:.7}}
@keyframes accessCardHover{0%,100%{transform:translateY(3px) rotate(-2deg)}50%{transform:translateY(-11px) rotate(-.6deg)}}
@media(max-height:560px){#access .access-stage{height:65vh;min-height:0}#access .entry-float{width:min(68%,460px)!important}#access .entry-prompt{margin-top:4px!important}}
/* RC07: floating access pass INSIDE a stationary glimmering neon bubble.
   Three independent layers: light / card / caption. */
#access.entry-gate{min-height:100svh!important;box-sizing:border-box!important;padding:clamp(18px,3vh,30px) 18px clamp(30px,5vh,62px)!important}
#access .access-stage{width:min(82vw,700px)!important;height:min(66svh,560px)!important;min-height:0!important;flex-shrink:1!important}
#access .access-light{position:absolute;inset:0!important;overflow:visible!important;transform:none!important;animation:none!important}
#access .access-light::before{content:"";position:absolute;left:17%;right:17%;top:13%;bottom:9%;border-left:2px solid rgba(255,38,199,.50);border-right:2px solid rgba(255,38,199,.50);border-radius:46% / 12%;box-shadow:0 0 22px rgba(255,22,203,.42),inset 0 0 34px rgba(255,22,203,.20);animation:accessGlimmer 5.3s ease-in-out infinite;pointer-events:none}
#access .access-light-halo{inset:13% 13% 8%!important;filter:blur(35px)!important;background:radial-gradient(ellipse at 50% 54%,rgba(255,39,187,.40) 0%,rgba(230,18,173,.23) 45%,transparent 77%)!important}
#access .access-light-beam{left:19%!important;right:19%!important;top:15%!important;bottom:11%!important;clip-path:none!important;border-radius:42% / 10%;filter:blur(14px)!important;background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(255,73,210,.16) 18px 23px,transparent 28px 37px),linear-gradient(90deg,transparent,rgba(244,25,186,.18),rgba(255,103,223,.24),rgba(244,25,186,.18),transparent)!important}
#access .access-light-rim{left:19%!important;width:62%!important;height:12%!important}
#access .access-light-rim.top{top:8%!important}
#access .access-light-rim.middle{top:20%!important}
#access .access-light-rim.bottom{bottom:5%!important}
#access .entry-float{width:min(72%,490px)!important;max-width:490px!important;position:relative!important;align-self:center!important;z-index:3!important;flex:none!important}
#access .entry-float img{width:100%!important;height:auto!important;display:block!important}
#access .entry-prompt{position:relative!important;flex:none!important;z-index:5!important;margin:clamp(24px,5vh,55px) 0 0!important;padding:0 12px!important;font-family:'SF'!important;font-size:clamp(17px,2.1vw,27px)!important;line-height:1.3!important;text-align:center!important;white-space:normal!important;animation:none!important}
@media(max-width:600px){#access .access-stage{width:94vw!important;height:min(58svh,460px)!important}#access .entry-float{width:78%!important}#access .entry-prompt{margin-top:32px!important}}
@media(max-height:580px){#access .access-stage{height:55svh!important}#access .entry-float{width:min(58%,350px)!important}#access .entry-prompt{margin-top:16px!important}}
@media(prefers-reduced-motion:reduce){#access .entry-float,#access .access-light *{animation:none!important}}

/* Redesigned access landing only — exact customer-provided art, independent planes */
#access.entry-gate{display:none!important;background:#000!important;min-height:100svh!important;box-sizing:border-box!important;overflow:hidden!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:clamp(24px,5vh,56px) 16px!important;gap:0!important}
#access.entry-gate.active{display:flex!important}
#access.entry-gate::before,#access.entry-gate::after{display:none!important}
#access .redesigned-landing-stage{position:relative!important;display:grid!important;place-items:center!important;width:min(76vw,720px)!important;height:min(65vh,570px)!important;min-height:0!important;flex:0 1 auto!important;isolation:isolate!important}
#access .landing-bubble-layer{position:absolute!important;left:50%!important;top:50%!important;width:min(100%,610px)!important;height:min(100%,550px)!important;object-fit:contain!important;transform:translate(-50%,-50%)!important;z-index:1!important;pointer-events:none!important;animation:landingBubbleShimmer 5.5s ease-in-out infinite!important;filter:none!important}
#access .landing-card-layer{position:relative!important;display:block!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;width:min(60%,420px)!important;max-width:100%!important;z-index:2!important;cursor:pointer!important;animation:landingNewCardFloat 5s ease-in-out infinite!important;filter:none!important;transform-origin:center center!important}
#access .landing-card-layer img{display:block!important;width:100%!important;height:auto!important;max-height:min(49vh,425px)!important;object-fit:contain!important;filter:none!important;animation:none!important}
#access .landing-caption{position:relative!important;display:block!important;flex:none!important;margin:clamp(20px,3vh,38px) 0 0!important;padding:0 12px!important;font-family:'SF',sans-serif!important;font-weight:normal!important;font-size:clamp(18px,2.5vw,32px)!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important;color:#fba3d8!important;text-shadow:1px 2px 0 #28051e,0 0 13px #e52aa3!important;z-index:3!important;white-space:nowrap!important;animation:none!important}
@keyframes landingBubbleShimmer{0%,100%{opacity:.85;filter:brightness(.92) saturate(1)}30%{opacity:1;filter:brightness(1.12) saturate(1.06)}65%{opacity:.89;filter:brightness(1.02) saturate(1)}}
@keyframes landingNewCardFloat{0%,100%{transform:translateY(6px)}50%{transform:translateY(-13px)}}
@media(max-width:650px){#access .redesigned-landing-stage{width:94vw!important;height:min(56vh,420px)!important}#access .landing-card-layer{width:63%!important}#access .landing-caption{font-size:clamp(18px,4vw,25px)!important;margin-top:23px!important}}
@media(max-height:560px){#access .redesigned-landing-stage{height:52vh!important}#access .landing-card-layer img{max-height:42vh!important}#access .landing-caption{margin-top:13px!important}}
@media(prefers-reduced-motion:reduce){#access .landing-bubble-layer,#access .landing-card-layer{animation:none!important}}

/* RC10: supplied card and bubble are ONE image and float as one unit.
   Scope exclusively to the access landing; nothing else changes. */
#access .redesigned-landing-stage{
  width:min(82vw,600px)!important;
  height:min(65svh,580px)!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex:0 1 auto!important;
}
#access .landing-combined-layer{
  display:block!important;
  position:relative!important;
  width:min(100%,560px)!important;
  max-height:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  animation:landingTogetherFloat 5.2s ease-in-out infinite!important;
}
#access .landing-combined-layer img{
  display:block!important;
  width:100%!important;
  max-height:min(65svh,580px)!important;
  object-fit:contain!important;
}
#access .landing-caption{
  margin:clamp(18px,3vh,34px) 0 0!important;
}
@keyframes landingTogetherFloat{
  0%,100%{transform:translateY(5px)}
  50%{transform:translateY(-10px)}
}
@media(max-width:650px){
  #access .redesigned-landing-stage{width:min(94vw,480px)!important;height:min(57svh,450px)!important}
  #access .landing-combined-layer img{max-height:57svh!important}
}
@media(max-height:560px){
  #access .redesigned-landing-stage{height:56svh!important}
  #access .landing-combined-layer img{max-height:56svh!important}
}
@media(prefers-reduced-motion:reduce){#access .landing-combined-layer{animation:none!important}}
