:root{--ink:#142226;--deep:#0e191d;--panel:#17282d;--panel2:#20353a;--cream:#f7f1e6;--muted:#a7b7b5;--lime:#d3f36b;--orange:#ef9c68;--line:rgba(255,255,255,.12);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cream);background:var(--deep)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--deep)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.hidden{display:none!important}.screen{min-height:100vh}.landing{padding:24px clamp(18px,5vw,76px) 18px;overflow:hidden;background:radial-gradient(ellipse at 76% 38%,#334d48 0,#182b2d 40%,#101b20 76%)}.topline,footer{font-size:10px;letter-spacing:.16em;font-weight:800;color:#c4d1c7}.dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:8px}.topright{float:right;color:#8fa19d}.hero{display:grid;grid-template-columns: .9fr 1.1fr;align-items:center;max-width:1250px;margin:5vh auto 3vh;min-height:72vh;gap:4vw}.hero-copy{position:relative;z-index:2;padding:12px 0}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--lime)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(64px,10vw,140px);line-height:.82;letter-spacing:-.09em;margin:24px 0 16px;font-weight:950}.hero h1 em{font-style:normal;color:var(--lime)}.tagline{font-size:clamp(19px,2vw,27px);font-weight:750;margin-bottom:14px}.intro{max-width:370px;color:#b7c7c0;line-height:1.65;font-size:14px}.landing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:30px}.primary,.secondary,.ghost{border:0;border-radius:12px;padding:15px 20px;font-weight:800;transition:transform .18s,filter .18s}.primary{background:var(--lime);color:#17221d;box-shadow:0 9px 25px #0002}.primary:hover,.secondary:hover{transform:translateY(-2px);filter:brightness(1.04)}.primary span{margin-left:35px}.secondary{background:#ffffff0e;color:var(--cream);border:1px solid var(--line)}.landing-foot{display:flex;gap:24px;margin-top:36px;color:#90a29c;font-size:11px}.hero-art{height:min(67vh,640px);min-height:380px;position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(#efad72 0%,#c97560 37%,#374c4a 38%,#1a3032 100%);box-shadow:0 30px 80px #0004}.sun{position:absolute;width:130px;height:130px;border-radius:50%;background:#ffe2a2;top:10%;right:20%;box-shadow:0 0 75px #ffd79a99}.tower{position:absolute;bottom:28%;background:#263d3c;border-top:6px solid #d18b65;box-shadow:inset 8px 0 #ffffff0b}.tower:after{content:"";position:absolute;inset:18px 12px;background:repeating-linear-gradient(90deg,transparent 0 12px,#f5c38d66 12px 16px),repeating-linear-gradient(0deg,transparent 0 22px,#f5c38d66 22px 25px)}.tower1{height:37%;width:15%;left:5%}.tower2{height:55%;width:17%;left:21%;background:#314948}.tower3{height:28%;width:16%;left:41%}.tower4{height:45%;width:17%;left:59%;background:#223937}.tower5{height:32%;width:15%;right:5%}.palm{position:absolute;z-index:2;color:#182d2a;font-size:65px;bottom:23%}.palm1{left:5%}.palm2{right:10%;font-size:52px}.road{position:absolute;bottom:0;left:0;right:0;height:26%;background:#172326;transform:perspective(100px) rotateX(2deg)}.road:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px dashed #d8c4a0}.car{position:absolute;z-index:3;bottom:13%;width:100px;height:27px;background:#dce3c2;border-radius:9px 20px 5px 5px;box-shadow:0 7px 0 #1118}.car:before{content:"";position:absolute;left:22px;top:-13px;width:48px;height:15px;background:#dce3c2;border-radius:10px 14px 0 0}.car:after{content:"●     ●";position:absolute;top:19px;left:12px;letter-spacing:34px;color:#111;font-size:14px}.car1{left:23%}.car2{right:17%;bottom:7%;transform:scale(.7);background:#e59b5f}.car2:before{background:#e59b5f}.streetlight{position:absolute;bottom:25%;right:28%;height:130px;border-left:4px solid #152b29}.streetlight:before{content:"";position:absolute;top:0;left:-3px;width:30px;border-top:4px solid #152b29;transform:rotate(-20deg)}.art-caption{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;font-weight:800}.landing>footer{max-width:1250px;margin:auto}.landing>footer span,.game-footer span{color:var(--lime);margin:0 8px}.auth-screen{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#284541,#0e191d 60%)}.auth-card{width:min(100%,440px);background:#182a2f;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 30px 90px #0004}.back,.linkbtn{border:0;background:none;color:var(--lime);padding:4px 0}.mini-brand{font-size:12px;font-weight:950;letter-spacing:.13em;margin:28px 0 12px}.mini-brand span{color:var(--lime)}.auth-card h2{font-size:30px;letter-spacing:-.04em;margin-bottom:8px}.auth-card>p{color:var(--muted);font-size:13px}.field{margin:18px 0}.field label{display:block;font-size:12px;font-weight:750;color:#d8e0d8;margin-bottom:8px}.field input,.field select,.control{width:100%;background:#0e1b1f;color:var(--cream);border:1px solid var(--line);border-radius:10px;padding:14px}.full{width:100%;margin-top:6px}.msg{font-size:12px;color:#ffb8a8;line-height:1.5;margin:12px 0 0}.msg.ok{color:var(--lime)}.linkbtn{margin-top:18px;font-size:12px}.game{min-height:100vh;background:#0e191d}.game-header{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,4vw,60px);border-bottom:1px solid var(--line);background:#111f23;position:sticky;top:0;z-index:10}.brand-small,.header-right{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--lime);color:#17221d;font-weight:950;font-size:22px}.brand-small b,.brand-small small,.cash small,.cash b{display:block}.brand-small b{font-size:11px;letter-spacing:.1em}.brand-small small,.cash small{font-size:9px;letter-spacing:.1em;color:var(--muted);margin-top:4px}.cash{text-align:right}.cash b{font-size:14px;color:var(--lime);margin-top:4px}.logout{border:1px solid var(--line);background:#ffffff08;color:var(--cream);width:38px;height:38px;border-radius:11px}.game-main{max-width:1150px;margin:auto;padding:28px clamp(14px,3vw,34px) 20px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.welcome-row h1{font-size:clamp(25px,4vw,39px);letter-spacing:-.06em;margin:8px 0}.welcome-row p{font-size:13px;color:var(--muted);margin-bottom:0}.level-chip{min-width:82px;border:1px solid var(--line);background:#17282d;border-radius:13px;padding:12px;text-align:center}.level-chip span,.level-chip small{display:block;color:var(--muted);font-size:9px;letter-spacing:.1em}.level-chip b{display:block;font-size:24px;color:var(--lime)}.level-chip small{margin-top:3px}.city-scene{height:220px;border-radius:18px;overflow:hidden;position:relative;background:linear-gradient(180deg,#d99a72 0%,#a76b5c 48%,#344946 49%,#263b39 100%);margin-bottom:18px}.scene-sun{position:absolute;width:75px;height:75px;right:16%;top:20px;background:#ffe3a1;border-radius:50%;box-shadow:0 0 40px #ffe3a166}.scene-buildings{position:absolute;bottom:55px;left:5%;right:5%;height:105px;display:flex;align-items:flex-end;gap:8px}.scene-buildings i{display:block;flex:1;height:56%;background:#253c39;border-top:4px solid #d88c62;position:relative}.scene-buildings i:nth-child(2){height:92%}.scene-buildings i:nth-child(3){height:72%}.scene-buildings i:nth-child(4){height:100%;background:#294541}.scene-buildings i:nth-child(5){height:60%}.scene-buildings i:nth-child(6){height:82%}.scene-buildings i:after{content:"";position:absolute;inset:10px 8px;background:repeating-linear-gradient(90deg,transparent 0 14px,#f7d5a866 14px 18px),repeating-linear-gradient(0deg,transparent 0 17px,#f7d5a866 17px 20px)}.scene-road{position:absolute;bottom:0;left:0;right:0;height:58px;background:#172426}.roadline{position:absolute;left:0;right:0;top:27px;border-top:2px dashed #d6c5a1}.scene-car{position:absolute;left:24%;top:10px;width:75px;height:19px;background:#d9e2c5;border-radius:7px 13px 3px 3px;box-shadow:0 5px #1115}.scene-car:before{content:"";position:absolute;width:32px;height:11px;top:-9px;left:18px;background:inherit;border-radius:7px 9px 0 0}.scene-player{position:absolute;bottom:35px;left:55%;width:30px;height:54px;z-index:3}.player-head{margin:auto;width:17px;height:17px;background:#7d4735;border-radius:50%;border:3px solid #211f1a}.player-body{height:32px;background:#d3f36b;border-radius:8px 8px 4px 4px;margin-top:2px;box-shadow:inset -7px 0 #abc54e}.scene-palm{position:absolute;bottom:46px;right:6%;font-size:57px;color:#1d3731}.scene-location{position:absolute;left:16px;top:15px;display:grid;grid-template-columns:auto 1fr;align-items:center;background:#17282ddd;padding:9px 11px;border-radius:10px;font-size:10px;font-weight:850;letter-spacing:.1em}.scene-location small{grid-column:2;color:#a8b8b0;font-size:8px;margin-top:4px;letter-spacing:.12em}.live-dot{width:6px;height:6px;margin-right:0}.tabs{display:flex;gap:6px;overflow-x:auto;padding:5px 0 13px;scrollbar-width:thin}.tab{flex:0 0 auto;border:1px solid transparent;border-radius:10px;background:transparent;color:#a9b9b5;padding:10px 14px;font-size:12px;font-weight:750}.tab span{margin-right:7px;font-size:15px}.tab.active{background:var(--lime);color:#17221d}.panel{background:#142428;border:1px solid var(--line);border-radius:17px;padding:clamp(16px,3vw,27px);min-height:245px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.panel h2{font-size:23px;letter-spacing:-.04em;margin:0 0 6px}.panel .sub{color:var(--muted);font-size:12px;line-height:1.55;margin:0}.section-label{font-size:9px;color:var(--lime);letter-spacing:.15em;font-weight:850;margin-bottom:8px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature-card,.item-card,.stat-card{border:1px solid var(--line);border-radius:13px;padding:16px;background:#1a2e32;min-width:0}.feature-card{cursor:pointer;transition:transform .15s,border-color .15s}.feature-card:hover{transform:translateY(-2px);border-color:#d3f36b66}.feature-icon{font-size:24px;margin-bottom:18px}.feature-card h3,.item-card h3{font-size:14px;margin:0 0 7px}.feature-card p,.item-card p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 14px}.card-link{color:var(--lime);font-size:10px;font-weight:850;letter-spacing:.05em}.item-card{display:flex;flex-direction:column;gap:8px}.item-card .price{color:var(--lime);font-size:14px;font-weight:850;margin-top:auto}.item-card button,.action-btn{border:1px solid #d3f36b55;background:#d3f36b12;color:var(--lime);border-radius:9px;padding:10px;font-size:11px;font-weight:800}.item-card button:disabled{opacity:.5;cursor:not-allowed}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stat-card .label{font-size:10px;color:var(--muted)}.stat-card strong{display:block;font-size:21px;color:var(--lime);margin-top:9px}.empty,.loading{padding:26px 12px;text-align:center;color:var(--muted);font-size:12px}.field-inline{display:flex;gap:9px;align-items:center;margin:12px 0}.field-inline>*{flex:1;min-width:0}.field-inline input,.field-inline select{background:#0e1b1f;color:var(--cream);border:1px solid var(--line);border-radius:9px;padding:12px;width:100%}.tx-list{display:grid;gap:8px}.tx{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.tx:last-child{border-bottom:0}.tx small{display:block;color:var(--muted);margin-top:5px}.positive{color:var(--lime)}.negative{color:#ffb39f}.pill{display:inline-block;border-radius:99px;padding:5px 8px;font-size:9px;background:#d3f36b14;color:var(--lime);margin-bottom:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;background:#e8f5cf;color:#15231d;border-radius:11px;padding:12px 16px;font-size:12px;font-weight:750;box-shadow:0 8px 35px #0005;max-width:calc(100vw - 30px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.game-footer{font-size:9px;letter-spacing:.13em;color:#738782;padding:20px 2px 0}.game-footer #footerStatus{float:right;color:var(--lime)}@media(max-width:760px){.landing{padding:20px 20px 18px}.hero{grid-template-columns:1fr;gap:26px;margin:7vh auto 5vh}.hero-copy{padding:0}.hero h1{font-size:clamp(70px,20vw,112px);margin-top:18px}.hero-art{height:330px;min-height:330px}.hero-art .tower{bottom:28%}.landing-foot{margin-top:26px}.hero-art .sun{width:90px;height:90px}.game-header{padding:13px 15px}.game-main{padding:22px 14px 18px}.city-scene{height:190px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.item-card{padding:12px}.item-card button{padding:11px 6px}.tab{padding:10px 12px}.panel{padding:16px}.two-col{grid-template-columns:1fr}.welcome-row h1{font-size:27px}.welcome-row p{font-size:11px}.level-chip{min-width:68px;padding:9px}.panel h2{font-size:21px}.panel-head{margin-bottom:15px}}@media(max-width:380px){.grid{grid-template-columns:1fr}.hero-art{height:280px;min-height:280px}.cash b{font-size:12px}.brand-small b{font-size:10px}.welcome-row h1{font-size:24px}}

/* Hiring confirmation modal */
.hire-modal-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(5,12,14,.78);backdrop-filter:blur(7px)}.hire-modal{width:min(100%,430px);padding:30px 25px 25px;text-align:center;background:#17282d;border:1px solid #d3f36b55;border-radius:22px;box-shadow:0 30px 100px #0009;animation:hirePop .22s ease-out}.hire-modal-check{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:50%;background:var(--lime);color:#142226;font-size:30px;font-weight:950}.hire-modal .section-label{margin-bottom:10px}.hire-modal h2{font-size:25px;line-height:1.2;letter-spacing:-.04em;margin:0 0 12px}.hire-modal p{font-size:14px;line-height:1.55;color:var(--cream);margin:0 0 10px}.hire-modal p strong{color:var(--lime)}.hire-modal .hire-modal-sub{font-size:12px;color:var(--muted)}.hire-modal-salary{margin:18px 0;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--lime);font-weight:850;font-size:18px}.hire-modal-salary small{display:block;margin-top:4px;font-size:10px;color:var(--muted);font-weight:600}.hire-modal .primary{margin-top:8px}@keyframes hirePop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.notification-count{display:none;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff8d72;color:#182327;font-size:10px;line-height:18px;text-align:center;margin-left:4px}.notification-count.has-count{display:inline-block}.notification-row.unread{background:#d3f36b0c;border-radius:10px;padding:14px 10px;border-left:3px solid var(--lime)}.message-compose{margin-bottom:20px}.message-compose textarea{resize:vertical;font:inherit;line-height:1.5}.settings-toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.settings-toggle input{width:20px;height:20px;accent-color:var(--lime);flex:0 0 auto;margin-top:2px}.settings-toggle b,.settings-toggle small{display:block}.settings-toggle b{font-size:13px}.settings-toggle small{font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}.danger-btn{border-color:#ffb39f66;color:#ffb39f;background:#ffb39f0c}
.apartment-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.apartment-room,.guest-room-preview{height:235px;position:relative;overflow:hidden;border:1px solid #d7b58b55;border-radius:14px;background:linear-gradient(180deg,#d9bba0 0 68%,#765746 68% 100%);box-shadow:inset 0 0 0 8px #2b211b33}.apartment-room:before,.guest-room-preview:before{content:"";position:absolute;inset:0 0 32% 0;background:linear-gradient(90deg,#b88d71 0 4%,transparent 4% 96%,#b88d71 96%);opacity:.45}.room-window{position:absolute;left:10%;top:13%;width:92px;height:72px;display:flex;gap:4px;padding:5px;background:#6d5143;border:4px solid #f0d8b7;box-shadow:0 6px 0 #49352e}.room-window span{flex:1;background:linear-gradient(145deg,#b6d8d2,#7ba8a7);border:2px solid #ead5b6}.room-wall-art{position:absolute;right:12%;top:15%;width:75px;height:62px;display:grid;place-content:center;text-align:center;background:#243a35;border:5px solid #dfbd91;color:#d5f36b;font-size:11px;font-weight:900;letter-spacing:.12em;transform:rotate(2deg)}.room-wall-art small{font-size:7px}.room-floor{position:absolute;left:0;right:0;bottom:0;height:32%;background:repeating-linear-gradient(90deg,#795c48 0 44px,#8e6b52 44px 47px);border-top:5px solid #b18a68}.room-sofa{position:absolute;left:34%;bottom:24px;font-size:50px;filter:drop-shadow(0 5px 2px #39261f88)}.room-plant{position:absolute;right:7%;bottom:22px;font-size:36px}.room-piece{position:absolute;z-index:2;font-size:27px;filter:drop-shadow(0 4px 2px #35261e66)}.room-label{position:absolute;bottom:10px;left:12px;z-index:3;background:#142428e8;border:1px solid #ffffff22;border-radius:9px;padding:8px 11px}.room-label b,.room-label small{display:block}.room-label b{font-size:11px}.room-label small{font-size:9px;color:var(--muted);margin-top:4px}.room-inventory{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.invite-actions{display:flex;gap:6px;flex-wrap:wrap}.invite-actions .action-btn{padding:8px}.apartment-visit-modal{width:min(92vw,540px)}.guest-room-preview{margin:18px 0}.guest-room-preview .room-sofa{bottom:22px}.guest-room-preview .room-plant{bottom:22px}


/* V15: visible flight journey animation */
.flight-overlay{z-index:300;background:rgba(5,12,14,.86);backdrop-filter:blur(6px)}
.flight-modal{width:min(100%,760px);padding:clamp(18px,4vw,30px);background:#f5f0e6;color:#17272a;border-radius:20px;box-shadow:0 25px 90px #0008;overflow:hidden}
.flight-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.flight-topline .section-label{margin:0;color:#536a5e}.flight-class{border-radius:99px;padding:7px 10px;background:#e4e9d0;font-size:11px;font-weight:800}
.flight-modal h2{font-size:clamp(23px,4vw,34px);letter-spacing:-.04em;margin:12px 0 4px}.flight-modal h2 span{color:#698d62}.flight-subtitle{font-size:13px;color:#5d6c69;margin:0 0 15px}
.flight-scene{height:245px;position:relative;overflow:hidden;border-radius:15px;background:linear-gradient(180deg,#86c3d8 0%,#d5e8df 75%,#b6c7a6 100%);border:1px solid #7d9f9b55;isolation:isolate}
.flight-sun{position:absolute;right:13%;top:14%;width:45px;height:45px;border-radius:50%;background:#fff0b0;box-shadow:0 0 35px #fff0b066}
.flight-cloud{position:absolute;color:#fff;font-size:64px;line-height:1;opacity:.82;text-shadow:0 4px 0 #fff3;white-space:nowrap}.cloud-one{left:12%;top:26%;animation:cloudDrift 12s linear infinite}.cloud-two{left:48%;top:13%;font-size:48px;animation:cloudDrift 16s linear infinite reverse}.cloud-three{left:73%;top:48%;font-size:55px;animation:cloudDrift 14s linear infinite}
.flight-route-line{position:absolute;left:8%;right:8%;top:53%;border-top:2px dashed #fff9}
.flight-plane{position:absolute;z-index:3;left:-18%;top:63%;width:clamp(112px,24vw,154px);height:auto;filter:drop-shadow(0 8px 5px #203c4544);transform:rotate(0deg) scale(.72);transform-origin:center;animation:aircraftJourney 18s cubic-bezier(.32,.03,.24,1) forwards;will-change:left,top,transform}.flight-plane svg{display:block;width:100%;height:auto;overflow:visible}.jet-gear{opacity:1;transition:opacity .25s}.flight-scene:not(.landed) .flight-plane{animation-fill-mode:forwards}.flight-plane .jet-wing-back{opacity:.95}
.flight-airport{position:absolute;z-index:2;bottom:16px;display:flex;flex-direction:column;gap:3px;color:#fff;background:#17383dd9;border-radius:9px;padding:8px 10px;box-shadow:0 4px 14px #17383d22}.flight-airport b{font-size:13px;letter-spacing:.08em}.flight-airport small{font-size:8px;letter-spacing:.12em}.from-airport{left:12px}.to-airport{right:12px;text-align:right}.flight-runway{position:absolute;bottom:0;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,#6e8b6d 0 35px,#8da586 35px 70px)}
.flight-progress{height:7px;border-radius:99px;background:#d7dfd5;overflow:hidden;margin:15px 0 12px}.flight-progress span{display:block;width:0;height:100%;background:#6f985d;border-radius:99px;transition:width .12s linear}
.flight-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 0;border-top:1px solid #d7ded5;border-bottom:1px solid #d7ded5}.flight-details small,.flight-details b{display:block}.flight-details small{font-size:8px;letter-spacing:.1em;color:#687975;margin-bottom:5px}.flight-details b{font-size:12px;overflow-wrap:anywhere}.flight-note{font-size:12px;color:#536660;line-height:1.45;min-height:18px;margin:12px 0}.flight-modal .primary{background:#d3f36b;color:#17221d;border:0}.flight-modal .primary:disabled{opacity:.7;cursor:default}.flight-skip{display:block;margin:9px auto 0;border:0;background:transparent;color:#63736d;text-decoration:underline;font-size:11px;padding:8px}
.flight-scene.landed{background:linear-gradient(180deg,#f0bd8c 0%,#d7e1ce 70%,#9bb49a 100%)}.flight-scene.landed .flight-plane{animation:none;left:75%;top:64%;transform:rotate(0deg) scale(.62);filter:drop-shadow(0 3px 2px #203c4533)}.flight-scene.landed .flight-plane .jet-gear{opacity:1}
@keyframes aircraftJourney{
  0%{left:-18%;top:63%;transform:rotate(0deg) scale(.72)}
  8%{left:0%;top:63%;transform:rotate(0deg) scale(.74)}
  15%{left:10%;top:57%;transform:rotate(-7deg) scale(.78)}
  24%{left:19%;top:42%;transform:rotate(-10deg) scale(.84)}
  35%{left:31%;top:25%;transform:rotate(-5deg) scale(.94)}
  48%{left:44%;top:20%;transform:rotate(0deg) scale(1)}
  62%{left:57%;top:23%;transform:rotate(2deg) scale(.98)}
  73%{left:66%;top:33%;transform:rotate(6deg) scale(.9)}
  84%{left:72%;top:47%;transform:rotate(8deg) scale(.8)}
  93%{left:75%;top:59%;transform:rotate(4deg) scale(.7)}
  100%{left:75%;top:64%;transform:rotate(0deg) scale(.62)}
}
@keyframes cloudDrift{from{translate:-20px 0}to{translate:30px 0}}
@media(max-width:540px){.flight-scene{height:205px}.flight-details{gap:6px}.flight-details small{font-size:7px}.flight-details b{font-size:10px}.flight-plane{width:110px}.flight-modal{padding:17px}}
@media(prefers-reduced-motion:reduce){.flight-cloud{animation:none}.flight-plane{animation-duration:18s;animation-timing-function:linear}}


/* V17: interactive Accra city map and destination cards */
.map-current-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#d3f36b12;color:var(--lime);padding:9px 11px;border-radius:999px;font-size:10px;font-weight:800;max-width:170px}
.accra-map-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#17282b;margin:18px 0 26px}
.map-top-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;background:#203638;border-bottom:1px solid #ffffff10}.map-top-label b{font-size:13px;letter-spacing:.15em;color:var(--lime)}.map-top-label span{font-size:9px;letter-spacing:.12em;color:#a4b9ae}
.accra-map-art{height:360px;position:relative;overflow:hidden;isolation:isolate;background-color:#263d37;background-image:radial-gradient(ellipse at 30% 20%,#547363 0 8%,transparent 9%),radial-gradient(ellipse at 70% 48%,#405e4e 0 11%,transparent 12%),radial-gradient(ellipse at 28% 74%,#3e5a49 0 12%,transparent 13%),linear-gradient(135deg,#263d37,#1c302d 68%,#304b3e)}
.map-water{position:absolute;right:-5%;bottom:-18%;width:47%;height:40%;background:linear-gradient(135deg,#2e7980,#1f5e69);border-radius:60% 0 0 0;transform:rotate(-9deg);opacity:.92;border-top:5px solid #83b6a477}
.map-road{position:absolute;height:12px;background:#d5c8a54d;border:2px solid #d8d0b42c;border-left:0;border-right:0;border-radius:100%;z-index:1;transform-origin:center}
.road-a{left:-10%;top:37%;width:125%;transform:rotate(-14deg)}.road-b{left:-8%;top:63%;width:125%;transform:rotate(18deg)}.road-c{left:17%;top:48%;width:95%;transform:rotate(65deg)}.road-d{left:43%;top:36%;width:75%;transform:rotate(-48deg)}
.map-district{position:absolute;color:#c9ddc8a6;font-size:9px;font-weight:900;letter-spacing:.2em;z-index:1;pointer-events:none}.district-one{left:51%;top:8%}.district-two{right:8%;top:17%}.district-three{left:30%;top:68%}.district-four{right:20%;bottom:8%}
.map-pin{position:absolute;z-index:3;transform:translate(-50%,-50%);border:0;background:transparent;color:#f5f1e6;display:flex;align-items:center;flex-direction:column;gap:4px;cursor:pointer;padding:0;max-width:125px}.map-pin span{width:38px;height:38px;border-radius:50% 50% 50% 10px;transform:none;display:grid;place-items:center;background:var(--lime);color:#1c2b25;border:3px solid #f8f5e8;box-shadow:0 4px 15px #0008;font-size:17px}.map-pin span::first-letter{transform:rotate(45deg)}.map-pin small{background:#11211feF;border:1px solid #d3f36b66;border-radius:6px;padding:4px 6px;font-size:9px;line-height:1.2;font-weight:800;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.map-pin.is-current span{background:#ffb77a;animation:pinPulse 1.8s infinite}.map-pin:hover span,.map-pin:focus-visible span{scale:1.1}.map-compass{position:absolute;right:13px;top:13px;z-index:2;width:35px;height:43px;display:grid;place-content:center;text-align:center;border-radius:8px;background:#11211fcf;color:#e8f3df;font-size:11px;font-weight:900;line-height:1.3}
.map-legend{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;font-size:10px;color:var(--muted);background:#132326}.map-legend span:first-child{display:flex;align-items:center;gap:7px}.map-legend i{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%}.map-place-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:13px}.map-place-heading h3{font-size:19px;margin:4px 0 0}.map-count{font-size:10px;color:var(--muted)}.map-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-place-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#17282b;min-width:0}.map-photo-button{width:100%;height:130px;position:relative;display:block;overflow:hidden;border:0;padding:0;background:linear-gradient(135deg,#355b4d,#b5a47c);cursor:pointer}.map-photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.map-photo-button:hover img{transform:scale(1.04)}.map-photo-icon{position:absolute;left:10px;top:10px;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#11211fd9;border:1px solid #ffffff3b;font-size:17px}.map-kind{position:absolute;right:8px;bottom:8px;padding:5px 7px;border-radius:99px;background:#11211fe8;color:var(--lime);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.map-place-copy{padding:12px}.map-place-copy h4{font-size:13px;margin:0 0 5px;line-height:1.3}.map-place-copy p{font-size:10px;color:var(--muted);margin:0 0 11px}.map-place-copy .action-btn{width:100%;padding:9px 7px;font-size:10px}.map-disclaimer{font-size:10px;line-height:1.5;color:var(--muted);margin:14px 0 0}.place-detail-modal{position:relative;width:min(100%,470px);text-align:left;padding:18px}.place-close{position:absolute;right:15px;top:15px;z-index:4;width:34px;height:34px;border:1px solid #ffffff66;border-radius:50%;background:#11211fe8;color:white;font-size:25px;line-height:1;cursor:pointer}.place-detail-image{display:block;width:100%;height:180px;object-fit:cover;border-radius:13px;margin-bottom:18px;background:#2b453e}.place-detail-modal .section-label{margin-bottom:7px}.place-detail-modal h2{font-size:24px;line-height:1.2;margin:0 0 10px}.place-detail-modal>p{font-size:13px;line-height:1.55;color:#e0e8dd}.place-activities{display:grid;gap:9px;margin:17px 0 20px;padding:14px;border:1px solid #ffffff19;border-radius:12px;background:#ffffff06}.place-activities b{font-size:9px;letter-spacing:.13em;color:var(--lime);margin-bottom:3px}.place-activities span{font-size:12px;color:#e4e8df}.place-detail-modal .primary{background:var(--lime);color:#18241d;border:0}.place-detail-modal .hire-modal-sub{font-size:10px;text-align:center;margin:12px 0 0;color:var(--muted)}
@keyframes pinPulse{0%,100%{box-shadow:0 4px 15px #0008}50%{box-shadow:0 0 0 7px #ffb77a35,0 4px 15px #0008}}
@media(max-width:540px){.accra-map-art{height:320px}.map-pin span{width:32px;height:32px;font-size:14px}.map-pin small{font-size:8px;max-width:100px}.map-place-grid{gap:9px}.map-photo-button{height:112px}.map-place-copy{padding:10px}.map-place-copy h4{font-size:12px}.map-top-label{padding:12px}.map-top-label span{font-size:8px}.place-detail-image{height:150px}}

/* V17 social venues: arriving opens an explorable place, not just a map pin. */
.venue-scene{position:relative;min-height:245px;border-radius:16px;overflow:hidden;background:#263b36;margin:6px 0 24px}.venue-scene>img{position:absolute;inset:0;width:100%;height:100%;min-height:245px;object-fit:cover}.venue-scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,20,.88),rgba(8,20,20,.15)),linear-gradient(0deg,rgba(8,20,20,.7),transparent 70%)}.venue-scene-caption{position:relative;z-index:1;max-width:520px;padding:25px 20px;min-height:245px;display:flex;flex-direction:column;justify-content:flex-end}.venue-live-pill{display:inline-block;align-self:flex-start;border:1px solid #ffffff55;background:#10201dcc;color:#eaf4dc;padding:7px 9px;border-radius:99px;font-size:9px;letter-spacing:.08em;font-weight:800}.venue-scene-caption h3{font-size:27px;margin:14px 0 7px;letter-spacing:-.04em}.venue-scene-caption p{font-size:12px;line-height:1.5;color:#e4e9e1;margin:0}.venue-activities{margin-bottom:25px}.venue-activities h3,.venue-crowd h3{font-size:17px;margin:0 0 6px}.venue-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.venue-activity{min-height:48px;text-align:left;border:1px solid var(--line);background:#1a2e32;color:var(--cream);border-radius:11px;padding:12px;font-size:11px;font-weight:750}.venue-activity:hover{border-color:#d3f36b77;background:#d3f36b0c}.venue-crowd{border-top:1px solid var(--line);padding-top:20px}.venue-crowd-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.venue-count{white-space:nowrap;border-radius:99px;background:#d3f36b14;color:var(--lime);font-size:10px;padding:7px 9px}.venue-people-list{display:grid;gap:9px}.venue-person{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#192c30;min-width:0}.venue-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:#d3f36b;color:#17221d;font-weight:900;font-size:17px}.venue-person-copy{min-width:0;flex:1}.venue-person-copy b{display:block;font-size:12px;overflow-wrap:anywhere}.venue-person-copy small{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin-top:3px}.venue-live-dot{display:inline-block;width:6px;height:6px;background:#d3f36b;border-radius:50%;margin-right:4px}.venue-person-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.venue-person-actions .action-btn{padding:8px;font-size:10px}.venue-empty{padding:22px 14px;text-align:center;border:1px dashed #ffffff2a;border-radius:13px;background:#ffffff04}.venue-empty>div{font-size:27px;margin-bottom:7px}.venue-empty>b{font-size:13px}.venue-empty p{max-width:400px;margin:8px auto 13px;font-size:11px;line-height:1.6;color:var(--muted)}@media(max-width:540px){.venue-scene,.venue-scene>img,.venue-scene-caption{min-height:220px}.venue-scene-caption{padding:18px 15px}.venue-scene-caption h3{font-size:23px}.venue-person{align-items:flex-start;flex-wrap:wrap}.venue-person-copy{padding-top:4px}.venue-person-actions{width:100%;padding-left:53px;justify-content:flex-start}.venue-activity-grid{grid-template-columns:1fr}.venue-crowd-head{align-items:flex-start;flex-direction:column}}

/* Player-controlled furniture placement and resale controls */
.room-piece{position:absolute;z-index:4;font:inherit;line-height:1;background:transparent;border:1px solid transparent;border-radius:8px;padding:2px 4px;cursor:grab;touch-action:none;user-select:none;transform:translate(-50%,0);font-size:30px;filter:drop-shadow(0 4px 2px #35261e66);}
.room-piece:hover,.room-piece:focus-visible{background:#ffffff44;border-color:#ffffff88;outline:2px solid #d5f36b;}
.room-piece.is-dragging{cursor:grabbing;z-index:8;transform:translate(-50%,-3px) scale(1.12);background:#ffffff55;}
.owned-furniture-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:12px;}
.mini-action{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:8px;padding:6px 9px;font-size:11px;white-space:nowrap;cursor:pointer;}
.mini-action:hover{border-color:var(--accent);}

/* V20: city activities and player-organised house parties */
.house-party-section{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.house-party-section>h3{font-size:21px;margin:6px 0}.house-party-section>.sub{max-width:620px;line-height:1.55;margin-bottom:16px}.party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.party-card,.party-create-box{min-width:0;border:1px solid var(--line);border-radius:15px;background:#17282b;padding:15px}.party-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.party-card .pill{margin:0}.party-attendee-count{font-size:10px;color:var(--lime)}.party-card h4{font-size:16px;line-height:1.3;margin:13px 0 8px}.party-card p{font-size:11px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere;margin:0 0 8px}.party-card .party-time{color:var(--cream)}.party-card button{margin-top:8px;width:100%;min-height:42px}.party-card .primary{background:var(--lime);color:#17221d;border:0;border-radius:9px;font-weight:850}.party-empty{grid-column:1/-1;padding:20px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);font-size:12px;line-height:1.6}.party-create-box{margin-top:15px;background:#1b3031}.party-create-box h4{font-size:16px;margin:0 0 14px}.party-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.party-form-grid .field{min-width:0}.party-form-grid .control{width:100%;min-width:0}.party-description-field{grid-column:1/-1}.party-create-box>.primary{margin-top:14px;min-height:44px;background:var(--lime);color:#17221d;border:0;border-radius:9px;font-weight:850}.party-create-box>.action-btn{margin-top:8px}@media(max-width:540px){.party-grid,.party-form-grid{grid-template-columns:1fr}.party-description-field{grid-column:auto}.party-card{padding:13px}}

/* V21: visible character actions, activity timers and XP rewards */
.venue-activity{display:flex;align-items:center;gap:10px;min-width:0;min-height:66px}.venue-activity-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:11px;background:#d3f36b16;font-size:23px}.venue-activity>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}.venue-activity small{display:block;color:var(--muted);font-size:9px;font-weight:600}.venue-activity-arrow{margin-left:auto;color:var(--lime);font-size:17px}.activity-stage{display:flex;align-items:center;gap:16px;margin-top:15px;padding:17px;border:1px solid #d3f36b55;border-radius:15px;background:linear-gradient(135deg,#1b3434,#19282b);min-width:0}.activity-avatar{width:78px;height:78px;flex:0 0 78px;display:grid;place-items:center;border-radius:20px;background:#d3f36b18;border:1px solid #d3f36b55;font-size:42px}.activity-moving{animation:activityCharacter 1.15s ease-in-out infinite alternate}.activity-copy{min-width:0;flex:1}.activity-copy h3{font-size:18px;margin:5px 0 6px}.activity-copy p{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 11px}.activity-reward{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0;color:var(--lime);font-size:10px;font-weight:800}.activity-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.activity-actions .primary{min-height:43px;padding:11px 14px;background:var(--lime);color:#17221d;border:0;border-radius:9px;font-weight:850}.activity-note{font-size:9px;color:var(--muted);line-height:1.5}.activity-progress{height:8px;border-radius:99px;overflow:hidden;background:#ffffff17;margin:13px 0 5px}.activity-progress span{display:block;height:100%;background:var(--lime);border-radius:99px;transition:width .8s linear}.activity-running{border-color:#d3f36b99}.activity-complete{border-color:#78cba788;background:linear-gradient(135deg,#183b31,#19282b)}@keyframes activityCharacter{0%{transform:translateY(0) rotate(-4deg) scale(.98)}50%{transform:translateY(-5px) rotate(3deg) scale(1.04)}100%{transform:translateY(0) rotate(-2deg) scale(1)}}@media(max-width:540px){.activity-stage{align-items:flex-start;gap:12px;padding:13px}.activity-avatar{width:56px;height:56px;flex-basis:56px;font-size:30px;border-radius:14px}.activity-copy h3{font-size:16px}.activity-actions{align-items:stretch;flex-direction:column}.activity-actions .primary{width:100%}}

/* V22: actual 2D character scenes for churches, clubs, campuses and house parties */
.venue-scene.venue-live-scene,.venue-scene.venue-party-scene{min-height:330px;background:#17292b;isolation:isolate}
.venue-scene.venue-live-scene>img,.venue-scene.venue-party-scene>img{min-height:330px;filter:saturate(.72);opacity:.48}
.venue-live-scene>.venue-scene-shade,.venue-party-scene>.venue-scene-shade{background:linear-gradient(180deg,rgba(6,14,17,.48),rgba(6,14,17,.08) 36%,rgba(6,14,17,.65))}
.venue-live-scene .venue-scene-caption,.venue-party-scene .venue-scene-caption{z-index:4;min-height:0;position:relative;justify-content:flex-start;max-width:100%;padding:15px 17px 14px;background:linear-gradient(90deg,rgba(6,14,17,.75),transparent);pointer-events:none}
.venue-live-scene .venue-scene-caption h3,.venue-party-scene .venue-scene-caption h3{font-size:22px;margin:8px 0 4px}
.venue-live-scene .venue-scene-caption p,.venue-party-scene .venue-scene-caption p{max-width:480px;font-size:10px}
.live-game-world{position:absolute;z-index:2;inset:0;overflow:hidden;background:linear-gradient(180deg,#243f44,#3b5149 72%,#6a7557);isolation:isolate}
.live-game-world:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(8,18,16,.45)),radial-gradient(ellipse at 50% 105%,#879276 0,transparent 56%);pointer-events:none}
.world-set-dressing{position:absolute;inset:0;overflow:hidden}
.world-character-stage{position:absolute;z-index:3;left:3%;right:3%;bottom:25px;height:180px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(0px,2vw,20px);padding:0 8px}
.world-character{position:relative;flex:0 1 78px;width:78px;min-width:34px;height:145px;display:flex;align-items:flex-end;justify-content:center;animation:worldBob 2.1s ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:50% 100%;filter:drop-shadow(0 4px 2px #07110d55)}
.world-character:nth-child(2n){animation-duration:2.5s}.world-character:nth-child(3n){animation-duration:1.8s}
.character-drawing{width:100%;height:100%;overflow:visible;position:relative;z-index:1}
.world-nameplate{position:absolute;z-index:4;bottom:calc(100% - 2px);left:50%;transform:translateX(-50%);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#101c20ed;border:1px solid #ffffff36;border-radius:7px;padding:4px 6px;color:#f6f3e9;font-size:9px;font-weight:850;box-shadow:0 2px 8px #0005}
.world-character.is-self .world-nameplate{background:#d3f36b;color:#14211d;border-color:#efffc0}
.world-character-state{position:absolute;z-index:2;bottom:2px;left:50%;transform:translateX(-50%);font-size:8px;white-space:nowrap;color:#f7f4e7;text-shadow:0 1px 3px #000;background:#14211db8;padding:2px 5px;border-radius:5px}
.world-character.is-self .character-drawing{filter:drop-shadow(0 0 6px #d3f36b75)}
.world-character.sprite-dance{animation:worldDance .75s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.world-character.sprite-worship .sprite-arm.arm-a{transform-origin:22px 44px;animation:worldRaise .9s ease-in-out infinite alternate}
.world-character.sprite-worship .sprite-arm.arm-b{transform-origin:46px 44px;animation:worldRaise .9s ease-in-out infinite alternate-reverse}
.world-character.sprite-workout .sprite-arm{animation:worldPump .65s ease-in-out infinite alternate;transform-origin:35px 48px}
.world-scene-label{position:absolute;z-index:5;left:12px;bottom:9px;border:1px solid #ffffff35;border-radius:7px;background:#0c171bd9;padding:5px 7px;font-size:8px;letter-spacing:.07em;font-weight:900;color:#eaf3dc}
.world-scene-label span{color:#d3f36b;padding:0 3px}
.world-church{background:linear-gradient(180deg,#344955 0,#667a77 62%,#856f59 63%,#3e3029 100%)}
.world-church .world-window{position:absolute;top:24px;width:48px;height:92px;border:5px solid #c6b89b;background:linear-gradient(135deg,#85d5e6,#e8e6c2 45%,#7cabc4);border-radius:25px 25px 3px 3px;box-shadow:0 0 0 2px #382d2b}.world-church .win-a{left:13%}.world-church .win-b{right:13%}
.world-altar{position:absolute;top:38px;left:50%;transform:translateX(-50%);width:66px;height:72px;display:grid;place-items:center;background:#6e4e37;border:4px solid #b99769;color:#f4e4a6;font-size:32px;box-shadow:0 8px 0 #3d2e29}.world-altar small{position:absolute;bottom:2px;font-size:6px;letter-spacing:.15em;color:#fff0c4}
.world-pew{position:absolute;left:5%;right:5%;height:12px;border-radius:3px;background:#68462e;border-bottom:4px solid #2f2724;box-shadow:0 -3px 0 #9d704a}.world-church .pew-a{bottom:45px}.world-church .pew-b{bottom:25px;left:18%;right:18%}
.world-club{background:radial-gradient(ellipse at 50% 15%,#8a368f 0,transparent 40%),linear-gradient(180deg,#11142b,#2b1742 60%,#141722)}.world-club:before{background:repeating-linear-gradient(110deg,transparent 0 38px,#7d4fff19 39px 42px),linear-gradient(180deg,transparent 42%,#0b0d1a 70%,#10111a)}
.club-beam{position:absolute;top:-15px;width:30%;height:230px;filter:blur(8px);opacity:.52;transform-origin:top center}.beam-a{left:23%;background:linear-gradient(#e25cdd,transparent);transform:rotate(24deg)}.beam-b{right:18%;background:linear-gradient(#42c4ff,transparent);transform:rotate(-26deg)}.club-dj{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:72px;height:46px;display:grid;place-items:center;background:#171624;border:2px solid #b46de6;border-radius:8px;color:#e6c9ff;font-size:27px;box-shadow:0 0 22px #a54cff77}.club-dj small{position:absolute;bottom:1px;font-size:6px;letter-spacing:.2em}.club-floor{position:absolute;left:0;right:0;bottom:0;height:40%;background:repeating-linear-gradient(90deg,#ffffff08 0 2px,transparent 2px 35px),linear-gradient(180deg,#9a55ad20,#b65ad63b);border-top:2px solid #d781ff55}
.world-gym{background:linear-gradient(180deg,#263e48,#49636a 64%,#39474b 65%,#212b2d)}.gym-mirror{position:absolute;left:10%;right:10%;top:24px;height:98px;border:5px solid #33474a;background:linear-gradient(120deg,#9ebfc0aa,#425d6a99);box-shadow:inset 0 0 0 2px #ffffff2c}.gym-rack{position:absolute;right:9%;top:36px;color:#1b2629;font-size:26px;letter-spacing:7px;writing-mode:vertical-rl;text-shadow:0 0 2px #a7c0c0}
.world-beach{background:linear-gradient(180deg,#7bc6e2 0,#d9dca7 55%,#dfc38c 56%,#ba9669 100%)}.beach-sun{position:absolute;right:15%;top:20px;width:38px;height:38px;border-radius:50%;background:#ffe9a2;box-shadow:0 0 30px #fff4c1}.beach-wave{position:absolute;left:-10%;right:-10%;height:22px;border-radius:50%;background:#6bc0d6aa}.wave-a{top:52%}.wave-b{top:60%;left:8%;background:#a2e1df99}
.world-campus{background:linear-gradient(180deg,#7bb3c4,#cad8bd 55%,#6c865c 56%,#435c42)}.world-campus:before{background:linear-gradient(180deg,transparent 45%,#38543933)}.world-campus .world-window{position:absolute;top:30px;left:14%;right:14%;height:70px;background:#d4c7a4;border:8px solid #826c50;box-shadow:inset 0 0 0 4px #d9e7d4}.world-campus .world-window:after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:4px solid #826c50}
.world-cinema{background:linear-gradient(180deg,#171d30,#323249 60%,#191923)}.cinema-screen{position:absolute;left:25%;right:25%;top:18px;height:75px;display:grid;place-items:center;background:linear-gradient(135deg,#7da9c6,#f2c5a1);border:5px solid #222331;box-shadow:0 0 18px #8ec6ed55;color:#26343a;font-size:8px;font-weight:900;letter-spacing:.15em}.cinema-seat{position:absolute;bottom:45px;width:25%;height:23px;border-radius:7px 7px 2px 2px;background:#743e4a;border-bottom:6px solid #41272f}.seat-a{left:8%}.seat-b{right:8%}
.world-lounge,.world-party{background:linear-gradient(180deg,#394a4d,#6e7565 58%,#755a43 59%,#362c2a)}.world-lamp{position:absolute;top:12px;right:18%;height:58px;width:5px;background:#d2b28a}.world-lamp:before{content:"";position:absolute;top:-3px;left:-17px;width:39px;height:19px;border-radius:50% 50% 4px 4px;background:#ffe4a5;box-shadow:0 0 22px #ffe4a588}.world-lounge .world-window{position:absolute;top:24px;left:12%;width:66px;height:75px;background:linear-gradient(135deg,#87b9c6,#c7d9c0);border:5px solid #574a3b}.world-sofa{position:absolute;bottom:40px;right:8%;width:100px;height:28px;background:#5b7564;border-radius:8px 8px 2px 2px;border-bottom:8px solid #34473e}.world-party{background:radial-gradient(ellipse at 50% 15%,#a96083 0,transparent 38%),linear-gradient(180deg,#39444a,#715c5b 59%,#6d5140 60%,#342b2b)}.party-bunting{position:absolute;top:22px;left:8%;right:8%;color:#ffe0a0;font-size:18px;letter-spacing:4px;text-align:center}.party-speaker{position:absolute;left:8%;bottom:45px;width:36px;height:50px;border:3px solid #2d2529;border-radius:4px;background:#1d242b;color:#d3f36b;display:grid;place-items:center;font-size:22px}
@keyframes worldBob{0%,100%{translate:0 0}50%{translate:0 -3px}}
@keyframes worldDance{0%{transform:rotate(-7deg) translateY(0)}100%{transform:rotate(7deg) translateY(-7px)}}
@keyframes worldRaise{0%{rotate:0deg}100%{rotate:-62deg}}
@keyframes worldPump{0%{rotate:-22deg}100%{rotate:28deg}}
@media(max-width:540px){.venue-scene.venue-live-scene,.venue-scene.venue-party-scene,.venue-scene.venue-live-scene>img,.venue-scene.venue-party-scene>img{min-height:310px}.world-character-stage{left:0;right:0;bottom:25px;height:150px;gap:0;padding:0 3px}.world-character{flex-basis:62px;height:126px;min-width:28px}.world-nameplate{font-size:7px;max-width:70px;padding:3px 4px}.world-character-state{font-size:7px}.world-scene-label{font-size:7px;left:7px;bottom:7px}.world-church .world-window{height:62px;width:31px;top:26px}.world-altar{top:43px;width:50px;height:54px}.club-dj{top:38px}.world-lounge .world-window{width:44px;height:59px}.world-sofa{width:67px;height:23px}}

/* V23: playable character movement, populated venues and a real-looking UPSA lecture room */
.world-character-stage{display:block!important;left:0!important;right:0!important;bottom:22px!important;height:178px!important;padding:0!important;overflow:visible!important}
.world-character{position:absolute!important;flex:none!important;width:70px!important;min-width:0!important;height:138px!important;margin-left:-35px!important;z-index:3;cursor:default;transition:left .22s ease,bottom .22s ease}
.world-character.is-self{z-index:5}
.world-character.is-npc{filter:drop-shadow(0 3px 2px #07110d66)}
.world-character.is-seated{height:112px!important;animation:none!important}
.world-character.is-seated .sprite-leg{transform-origin:35px 78px;transform:rotate(62deg) translate(2px,-2px)}
.world-character.is-seated .sprite-arm.arm-a{transform:rotate(-26deg) translate(7px,4px);transform-origin:22px 44px}
.world-character.is-seated .sprite-arm.arm-b{transform:rotate(26deg) translate(-7px,4px);transform-origin:46px 44px}
.world-character.is-seated .world-character-state{bottom:-4px}
.world-nameplate{max-width:118px;font-size:8px}
.world-character.is-npc .world-nameplate{background:#172b32e8;border-color:#ffffff45}
.world-character.is-self .world-nameplate{background:#d3f36b;color:#14211d}
.world-classroom{background:linear-gradient(180deg,#c4d0d1 0,#d9ded6 53%,#8b9a83 54%,#63755d 100%)}
.world-classroom:before{background:linear-gradient(180deg,transparent 0 42%,#20372b15 43% 100%),linear-gradient(90deg,#23362a13 1px,transparent 1px);background-size:auto,42px 100%}
.classroom-board{position:absolute;left:22%;right:22%;top:13px;height:68px;background:#23483d;border:8px solid #9a7b57;box-shadow:0 4px 0 #6c543d,inset 0 0 0 1px #d7c7a0;color:#f0f3dc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}
.classroom-board b{font-size:16px;letter-spacing:.14em;color:#d3f36b}
.classroom-board span{font-size:7px;font-weight:900;letter-spacing:.15em}
.classroom-board small{font-size:8px;color:#dce6d5}
.classroom-teacher{position:absolute;top:83px;left:50%;width:50px;height:72px;transform:translateX(-50%);z-index:2;display:flex;align-items:center;flex-direction:column}
.teacher-head{width:21px;height:22px;border-radius:50%;background:#8d5539;border:2px solid #4a3028;position:relative;z-index:2}
.teacher-head:before{content:"";position:absolute;left:-1px;top:-4px;width:21px;height:10px;border-radius:12px 12px 4px 4px;background:#211813}
.teacher-body{width:34px;height:42px;background:#e9eee9;border:2px solid #51615a;border-radius:9px 9px 3px 3px;margin-top:-1px}
.classroom-teacher b{position:absolute;top:64px;font-size:6px;letter-spacing:.08em;background:#14251e;color:#fff;padding:3px 4px;border-radius:4px;white-space:nowrap}
.classroom-desk{position:absolute;z-index:2;height:11px;width:17%;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#c79a66,#98683f);border:2px solid #725035;box-shadow:0 7px 0 -2px #4a5147,0 10px 0 -4px #303e36}
.desk-a{left:8%;bottom:14%}.desk-b{left:25%;bottom:14%}.desk-c{left:42%;bottom:14%}.desk-d{left:59%;bottom:14%}.desk-e{left:76%;bottom:14%}.desk-f{left:17%;bottom:37%;width:16%}
.classroom-door{position:absolute;right:3%;bottom:0;width:44px;height:94px;border:5px solid #806348;border-bottom:0;background:linear-gradient(90deg,#7b6048,#b68d61);display:flex;align-items:flex-start;justify-content:center;padding-top:5px;color:#f4e9ce;font-size:7px;font-weight:900;letter-spacing:.1em}
.world-classroom .world-scene-label{background:#17251fdc}
.world-play-controls{margin:-8px 0 24px;padding:16px;border:1px solid #ffffff20;border-radius:15px;background:linear-gradient(135deg,#1b3032,#182629)}
.world-controls-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.world-controls-title h3{font-size:16px;margin:4px 0 5px}
.world-controls-title p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.world-control-hint{font-size:9px;font-weight:800;white-space:nowrap;border:1px solid #ffffff22;border-radius:99px;padding:7px 9px;color:#d3f36b}
.world-controls-row{display:flex;gap:18px;align-items:center;margin-top:15px}
.world-dpad{width:112px;flex:0 0 112px;display:flex;flex-direction:column;align-items:center;gap:5px}
.world-dpad>button,.world-dpad>div button{width:34px;height:34px;border-radius:9px;border:1px solid #ffffff28;background:#263c3e;color:#f7f1e6;font-weight:900;font-size:15px;touch-action:manipulation}
.world-dpad>div{display:flex;gap:5px}
.world-dpad button:active{background:#d3f36b;color:#15231d}
.world-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;flex:1;min-width:0}
.world-actions .action-btn{min-height:38px;padding:8px 10px;font-size:10px;text-align:center}
.world-control-footnote{font-size:9px;line-height:1.55;color:var(--muted);margin:12px 0 0}
.world-control-footnote b{color:#d3f36b}
@media(max-width:540px){.world-character-stage{bottom:20px!important;height:150px!important}.world-character{width:55px!important;height:116px!important;margin-left:-27px!important}.world-character.is-seated{height:98px!important}.world-nameplate{max-width:80px;font-size:7px;padding:3px 4px}.world-character-state{font-size:7px;max-width:75px;overflow:hidden;text-overflow:ellipsis}.classroom-board{left:15%;right:15%;height:56px;top:12px}.classroom-board b{font-size:13px}.classroom-teacher{top:72px;transform:translateX(-50%) scale(.82);transform-origin:top center}.classroom-desk{width:18%;height:8px}.desk-a{left:3%}.desk-b{left:22%}.desk-c{left:41%}.desk-d{left:60%}.desk-e{left:79%}.desk-f{left:12%;bottom:37%}.classroom-door{width:30px;height:65px}.world-play-controls{padding:12px}.world-controls-row{gap:10px;align-items:flex-start}.world-dpad{width:104px;flex-basis:104px}.world-actions{grid-template-columns:1fr}.world-actions .action-btn{min-height:36px;font-size:9px;padding:8px 5px}.world-controls-title{gap:7px}.world-controls-title h3{font-size:14px}.world-control-hint{font-size:8px;padding:6px 7px}}
.world-character.sprite-walk .sprite-leg.leg-a{transform-origin:30px 80px;animation:worldWalkLeg .24s ease-in-out infinite alternate}
.world-character.sprite-walk .sprite-leg.leg-b{transform-origin:40px 80px;animation:worldWalkLeg .24s ease-in-out infinite alternate-reverse}
.world-character.sprite-walk .sprite-arm.arm-a{animation:worldWalkArm .24s ease-in-out infinite alternate;transform-origin:22px 44px}
.world-character.sprite-walk .sprite-arm.arm-b{animation:worldWalkArm .24s ease-in-out infinite alternate-reverse;transform-origin:46px 44px}
@keyframes worldWalkLeg{from{rotate:-20deg}to{rotate:22deg}}
@keyframes worldWalkArm{from{rotate:-16deg}to{rotate:16deg}}

/* V24: make class posture and studying readable at phone size */
.world-character.is-seated .character-drawing{transform:translateY(8px) scaleY(.9);transform-origin:50% 100%}
.world-character.is-seated .sprite-leg.leg-a{transform:rotate(72deg) translate(5px,-3px)}
.world-character.is-seated .sprite-leg.leg-b{transform:rotate(70deg) translate(-2px,-1px)}
.world-character.sprite-study .sprite-arm.arm-a{transform-origin:22px 44px;animation:studentWrite .48s ease-in-out infinite alternate}
.world-character.sprite-study .sprite-arm.arm-b{transform-origin:46px 44px;animation:studentWrite .65s ease-in-out infinite alternate-reverse}
.world-character.sprite-study .sprite-leg{animation:none}
@keyframes studentWrite{from{rotate:-3deg;translate:0 0}to{rotate:16deg;translate:2px 2px}}
.classroom-desk{z-index:2}
.desk-g{left:32%;bottom:37%;width:17%}.desk-h{left:66%;bottom:37%;width:17%}
.classroom-room-sign{position:absolute;left:10px;top:10px;z-index:2;background:#f7f0d7d9;color:#3d4b3e;border:1px solid #7c8b75;border-radius:5px;padding:5px 7px;font-size:7px;font-weight:900;letter-spacing:.08em}
.world-character.is-npc[role="button"]{cursor:pointer}
.world-character.is-npc[role="button"]:focus-visible{outline:2px solid #d3f36b;outline-offset:3px;border-radius:9px}
.world-character.is-self.is-seated .world-character-state{background:#243b2d;color:#e8ffc0}
@media(max-width:540px){.classroom-room-sign{top:6px;left:6px;font-size:6px;padding:4px 5px}.world-character.is-seated .character-drawing{transform:translateY(6px) scaleY(.9)}}

/* V25: Enzo Lounge shared song-request queue and music player */
.club-music-panel{margin:22px 0 26px;padding:clamp(15px,3vw,24px);border:1px solid #b78aff4a;border-radius:18px;background:linear-gradient(145deg,#211d32,#171e2a 70%,#18252b);box-shadow:0 18px 50px #0002;color:#f8f4ff}.club-music-heading,.club-queue-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.club-music-heading h3{font-size:23px;margin:5px 0 7px;letter-spacing:-.04em}.club-music-heading .sub{max-width:520px;line-height:1.5}.club-live-badge{font-size:9px;font-weight:900;letter-spacing:.1em;color:#d3f36b;border:1px solid #d3f36b55;border-radius:99px;padding:7px 9px;white-space:nowrap}.club-song-form{padding:16px;margin:18px 0;border-radius:13px;background:#ffffff08;border:1px solid #ffffff12}.club-song-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.club-song-fields .field{margin-bottom:11px}.club-song-fields label{display:block;font-size:10px;color:#c5c1d5;margin-bottom:7px}.club-song-fields .control{width:100%;box-sizing:border-box;background:#111722;border-color:#ffffff24;color:#fff}.club-song-link{grid-column:1/-1}.club-request-button{width:100%;background:#d3f36b;color:#18211d;border-color:transparent;font-weight:900}.club-music-note{font-size:10px;line-height:1.55;color:#a9a9be;margin:10px 0 0}.club-now-playing{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid #d3f36b45;background:#d3f36b0b;border-radius:13px}.club-now-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#d3f36b;color:#17211d;font-size:24px}.club-now-playing small,.club-now-playing b,.club-now-playing span{display:block}.club-now-playing small{font-size:8px;font-weight:900;letter-spacing:.14em;color:#d3f36b}.club-now-playing b{font-size:14px;margin:4px 0;overflow-wrap:anywhere}.club-now-playing span{font-size:10px;color:#bcb9cc}.club-song-player{margin-top:10px}.club-player-placeholder{padding:16px;border:1px dashed #ffffff26;border-radius:12px;text-align:center;font-size:11px;line-height:1.6;color:#bcb9cc}.club-video-card{border:1px solid #ffffff1a;border-radius:13px;overflow:hidden;background:#10151e}.club-video-meta{padding:12px;display:flex;flex-direction:column;gap:5px}.club-video-meta b{font-size:12px}.club-video-meta span,.club-video-footer{font-size:10px;color:#a9a9be;line-height:1.45}.club-video-frame{aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#4e356f,#10151e 70%);position:relative}.club-video-frame iframe{width:100%;height:100%;position:absolute;inset:0;border:0}.club-play-song{border:1px solid #d3f36b77;border-radius:99px;background:#d3f36b;color:#19231e;font-weight:900;padding:13px 19px;cursor:pointer}.club-audio-help{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;font-size:11px;line-height:1.5;color:#e4e1ef;background:#ffffff08}.club-open-youtube{display:inline-flex;margin:0 12px 12px;padding:10px 13px;border-radius:10px;background:#d3f36b;color:#18211d;font-size:11px;font-weight:900;text-decoration:none}.club-video-footer{padding:9px 12px}.club-queue-heading{align-items:center;margin:20px 0 9px}.club-queue-heading h4{font-size:14px;margin:0}.club-queue-heading .action-btn{font-size:10px;padding:7px 10px}.club-song-queue{display:flex;flex-direction:column;gap:8px}.club-queue-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #ffffff15;background:#ffffff06;border-radius:12px;min-width:0}.club-queue-number{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ffffff12;font-weight:900;font-size:11px;flex:0 0 auto}.club-queue-copy{flex:1;min-width:0}.club-queue-copy b,.club-queue-copy span,.club-queue-copy small{display:block;overflow-wrap:anywhere}.club-queue-copy b{font-size:12px}.club-queue-copy span{font-size:10px;color:#c1bfd0;margin-top:3px}.club-queue-copy small{font-size:9px;color:#9294a9;margin-top:4px}.club-play-next{background:#ffffff10;border-color:#d3f36b66;color:#eaffc0;font-size:10px;flex:0 0 auto;padding:9px}.club-music-panel .field{min-width:0}
@media(max-width:560px){.club-song-fields{grid-template-columns:1fr;gap:0}.club-song-link{grid-column:auto}.club-music-heading h3{font-size:20px}.club-live-badge{font-size:8px;padding:6px}.club-queue-row{align-items:flex-start;flex-wrap:wrap}.club-queue-copy{flex-basis:calc(100% - 42px)}.club-play-next{margin-left:38px}.club-song-form{padding:12px}.club-now-playing b{font-size:12px}}


/* Games link added to V27 navigation */
.tabs .games-tab{text-decoration:none;color:inherit;}

/* V33 launch safety: hide known Netlify badge elements if injected into the page DOM. Dashboard-level badge settings must still be checked in Netlify. */
.netlify-badge, #netlify-badge, [data-netlify-badge] { display: none !important; visibility: hidden !important; pointer-events: none !important; }


/* V35 premium Ghana-first landing, property cards and Enzo Lounge */
.premium-landing{position:relative;isolation:isolate;display:flex!important;flex-direction:column;align-items:center;min-height:100svh;padding:24px 16px 18px;box-sizing:border-box;overflow:hidden;color:#18372a;background:linear-gradient(155deg,#fff8dc 0%,#f7f4df 48%,#e8f5e9 100%)}
.premium-landing:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.055;background-image:repeating-linear-gradient(45deg,transparent 0 14px,#b68a27 14px 16px,transparent 16px 29px),repeating-linear-gradient(-45deg,transparent 0 22px,#bd3232 22px 24px,transparent 24px 42px);mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 90%,transparent)}
.premium-site-label{font-size:11px;letter-spacing:.16em;color:#85877e;margin:2px 0 15px}.premium-brandline{display:flex;align-items:center;gap:7px;position:relative}.premium-brandline h1{margin:0;font-size:clamp(37px,8vw,57px);line-height:1;font-weight:950;letter-spacing:-.065em}.brand-accra{color:#b22222}.brand-life{color:#daa520}.ghana-flag{font-size:27px}.brand-stars{color:#daa520;font-size:12px;letter-spacing:2px;align-self:flex-start;margin-top:0}.premium-tagline{margin:11px 0 8px;font-size:16px;font-weight:750;color:#0f6d3a;letter-spacing:.01em}
.premium-apartment-scene{position:relative;width:min(100%,540px);height:clamp(270px,43vh,420px);min-height:270px;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,#f9e9bd,#f4e7c6 60%,#d4dfb7);box-shadow:0 22px 48px #6b5b2520;border:1px solid #ffffffa8}.skyline-blur{position:absolute;inset:0 0 25%;display:flex;align-items:flex-end;justify-content:space-evenly;filter:blur(2px);opacity:.4}.skyline-blur i{display:block;width:11%;height:55%;background:linear-gradient(90deg,#b5c4b6,#718f8b);border-radius:4px 4px 0 0}.skyline-blur i:nth-child(2){height:78%;width:8%}.skyline-blur i:nth-child(3){height:63%;width:14%}.skyline-blur i:nth-child(4){height:90%;width:9%}.skyline-blur i:nth-child(5){height:47%;width:12%}.premium-sun{position:absolute;right:11%;top:12%;width:50px;height:50px;border-radius:50%;background:#fff0b1;box-shadow:0 0 38px #fff2ba}.apartment-illustration{position:absolute;left:14%;right:12%;bottom:15%;height:67%;filter:drop-shadow(0 17px 12px #4d4d3330);transform:skewY(-1deg)}.apartment-roof{position:absolute;top:0;left:0;width:83%;height:13%;background:#fdfdf8;clip-path:polygon(9% 0,100% 0,88% 100%,0 100%);border-top:6px solid #a8aaa3}.apartment-upper{position:absolute;left:5%;top:10%;width:78%;height:37%;background:linear-gradient(100deg,#fff,#e4e8e2);border:2px solid #c7cbc4}.glass-door{position:absolute;left:9%;top:13%;width:56%;height:75%;background:linear-gradient(100deg,#9ec4c5aa,#e6f6edcc 42%,#6b999c99);border:5px solid #fdfdf8;box-shadow:inset 0 0 0 2px #849a94}.balcony{position:absolute;left:5%;right:-7%;bottom:1%;height:28%;border:3px solid #272f2c;border-bottom:0;display:flex;justify-content:space-around}.balcony i{width:3px;height:100%;background:#343a37}.balcony:after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#242c29}.balcony-chair{position:absolute;bottom:3%;width:12%;height:18%;border:3px solid #4b504b;border-bottom:5px solid #4b504b}.chair-a{left:12%}.chair-b{left:29%}.hanging-plant{position:absolute;top:-4%;font-size:22px}.plant-a{left:72%}.plant-b{left:86%}.apartment-lower{position:absolute;left:0;top:46%;width:85%;height:49%;background:linear-gradient(100deg,#fdfdf9,#e5e7df);border:2px solid #c3c8be}.living-window{position:absolute;left:6%;top:12%;width:33%;height:48%;border:5px solid #fafbf6;background:linear-gradient(90deg,#b6d2c9,#e8f3df)}.living-room{position:absolute;left:40%;right:5%;top:12%;height:80%;background:#d7d1c1}.kente-rug{position:absolute;left:6%;right:2%;bottom:3%;height:28%;background:repeating-linear-gradient(90deg,#c8342c 0 12px,#e6b42d 12px 23px,#0f6d3a 23px 35px);border:3px solid #f1d36b}.sofa{position:absolute;left:10%;bottom:28%;width:59%;height:33%;background:#8e9290;border-radius:10px 10px 4px 4px;box-shadow:inset 0 -6px #6e7371}.sofa i{position:relative;display:inline-block;width:29%;height:67%;margin:2% 0 0 2%;background:#aeb2ad;border-radius:4px}.kente-pillow{position:absolute;left:40%;bottom:39%;width:15%;height:19%;background:repeating-linear-gradient(45deg,#d9ac22 0 5px,#b22222 5px 10px,#0f6d3a 10px 15px);transform:rotate(-6deg)}.wood-table{position:absolute;right:9%;bottom:20%;width:22%;height:10%;background:#95633e;border-radius:50%;box-shadow:0 13px 0 -5px #64462d}.room-plant{position:absolute;right:-3%;bottom:20%;font-size:26px}.apartment-side{position:absolute;right:0;top:10%;height:86%;width:18%;background:linear-gradient(90deg,#d4d9d0,#b8c0b7);clip-path:polygon(0 0,100% 8%,100% 100%,0 92%)}.scene-steps{position:absolute;bottom:-5%;left:6%;width:89%;height:12%;background:#b8b4a1;clip-path:polygon(0 0,100% 0,91% 100%,9% 100%)}.scene-ground{position:absolute;bottom:0;left:0;right:0;height:17%;background:linear-gradient(180deg,#cbd8ad,#b2c39b)}.scene-location-tag{position:absolute;left:15px;bottom:13px;padding:8px 11px;border-radius:999px;background:#ffffffd9;color:#24523a;font-size:9px;font-weight:900;letter-spacing:.08em}
.premium-save-card{width:min(100%,540px);display:grid;grid-template-columns:60px 1fr;gap:11px;align-items:center;margin-top:14px;padding:15px;border:1px solid #e9e5d7;border-radius:22px;background:#fff;box-shadow:0 14px 36px #42502a15;box-sizing:border-box}.hajia-avatar{position:relative;display:grid;place-items:center;width:56px;height:56px;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#f2cbb1,#f7e5c8);border:3px solid #f6d775}.avatar-face{font-size:35px;position:absolute;bottom:-5px}.headwrap{position:absolute;top:5px;width:37px;height:19px;border-radius:50% 50% 25% 25%;background:#b22222;z-index:1}.premium-save-copy{min-width:0}.premium-save-copy b,.premium-save-copy span,.premium-save-copy small{display:block}.premium-save-copy b{font-size:17px;color:#142b21}.premium-save-copy span{font-size:12px;color:#606c62;margin:3px 0}.premium-save-copy small{font-size:9px;color:#8a9188}.premium-card-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:2px}.premium-card-actions button{min-height:48px;border-radius:12px;font-size:15px;font-weight:800;padding:13px 16px;cursor:pointer}.premium-continue{background:#0f6d3a;color:white;border:1px solid #0f6d3a}.premium-new-life{background:white;color:#17442d;border:1px solid #cfd7cf}.premium-footer{margin-top:auto;padding:18px 0 3px;font-size:10px;color:#66776a}.premium-footer span{padding:0 8px;color:#daa520}
.asset-wallet-pill{display:flex;align-items:center;gap:7px;padding:10px 13px;border-radius:15px;background:#f5ecd6;color:#956b14;font-weight:900;white-space:nowrap}.asset-wallet-pill span{font-size:9px;color:#7f8278;display:none}.asset-wallet-pill b{font-size:11px;color:#3a3424}.asset-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 0 13px}.asset-section-heading h3{margin:0;font-size:23px;color:#1c2721;letter-spacing:-.04em}.asset-section-heading p{margin:5px 0 0;color:#81857f;font-size:12px}.asset-section-heading>span{font-size:9px;letter-spacing:.12em;font-weight:900;color:#b38a2a}.premium-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.premium-property-card{overflow:hidden;border:1px solid #e4d4a4;border-radius:15px;background:#fff;box-shadow:0 8px 24px #1e392008;min-width:0}.premium-property-photo{height:140px;position:relative;background:#e6e9df}.premium-property-photo img{width:100%;height:100%;object-fit:cover;display:block}.property-type-tag{position:absolute;top:9px;left:9px;border-radius:999px;background:#fffdf1e8;padding:6px 8px;color:#755c1f;font-size:8px;font-weight:900;text-transform:uppercase}.premium-property-body{padding:12px}.premium-property-body h4{font-size:14px;line-height:1.3;margin:0 0 7px;color:#1e2922}.property-location{font-size:10px;color:#85887e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:13px;flex-wrap:wrap}.property-card-bottom>b{font-size:14px;color:#b58a21}.premium-buy-button{background:#0f6d3a;color:#fff;border:0;border-radius:9px;padding:9px 10px;font-size:10px;font-weight:850;cursor:pointer}.vehicles-heading{margin-top:28px}.premium-vehicle-list{display:grid;gap:11px}.premium-vehicle-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #e5d6ad;border-radius:15px;background:white}.premium-vehicle-card>img{width:110px;height:92px;object-fit:cover;border-radius:10px;background:#e6e9df}.premium-vehicle-body{min-width:0}.vehicle-availability{font-size:8px;letter-spacing:.06em;color:#0f6d3a;font-weight:900}.premium-vehicle-body h4{font-size:13px;margin:6px 0;line-height:1.3}.premium-vehicle-body p{font-size:9px;color:#83877e;margin:0 0 7px}.premium-vehicle-body>b{font-size:14px;color:#b58a21}.premium-vehicle-action .premium-buy-button{white-space:nowrap}
.enzo-premium-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:20px;border-radius:18px;background:#0a0a14;color:#fff;border:1px solid #d4a72c66}.enzo-premium-header h2{font-size:clamp(22px,4vw,31px);margin:7px 0;color:#e6bd52;letter-spacing:-.04em}.enzo-premium-header p{font-size:11px;color:#bca8ef;margin:0}.enzo-header-actions{display:flex;gap:7px}.enzo-header-actions button{color:#d6b4ff;border-color:#8e66be;background:#ffffff08;font-size:20px;min-width:39px}.enzo-nightclub-scene{height:clamp(220px,37vw,350px);min-height:220px;position:relative;overflow:hidden;border-radius:18px;margin:14px 0;background:#171025}.enzo-nightclub-scene>img{width:100%;height:100%;object-fit:cover;display:block;opacity:.82}.enzo-scene-overlay{position:absolute;inset:0;padding:15px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#0a081022,#0a0810aa)}.enzo-crowd-pill{align-self:flex-end;padding:8px 11px;border:1px solid #d7b65377;border-radius:999px;background:#0b0914c9;color:#f0d77c;font-size:10px;font-weight:850}.enzo-scene-overlay>div span{font-size:9px;letter-spacing:.2em;color:#d5b6ff;font-weight:900}.enzo-scene-overlay h3{font-size:clamp(27px,6vw,43px);margin:5px 0;color:#ffdb7a;text-shadow:0 0 20px #db9f30aa;letter-spacing:.08em}.enzo-scene-overlay p{margin:0;color:#fff;font-size:11px}.club-music-premium{background:linear-gradient(145deg,#171323,#0a0a14)!important;border-color:#d5a83b80!important;box-shadow:0 18px 45px #0003!important;color:#f8f5ff!important}.club-music-premium .section-label,.club-music-premium .club-now-playing small{color:#bd9af2}.club-music-premium .club-music-heading h3{color:#f5d36e}.club-music-premium .club-live-badge{color:#f5d36e;border-color:#f5d36e66}.club-music-premium .club-request-button{background:#d7b24a;color:#17120a}.club-music-premium .club-song-form,.club-music-premium .club-now-playing,.club-music-premium .club-queue-row{background:#ffffff08;border-color:#b18aeb38}.club-approved-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.club-approved-video .club-open-youtube{margin-top:10px}.club-music-premium .club-play-next{color:#f4d77d;border-color:#d6ad3d}
@media(max-width:520px){.premium-landing{padding:18px 12px 14px}.premium-apartment-scene{height:300px;min-height:260px}.premium-save-card{grid-template-columns:52px 1fr;padding:12px}.hajia-avatar{width:48px;height:48px}.premium-save-copy b{font-size:15px}.premium-property-grid{gap:9px}.premium-property-photo{height:112px}.premium-property-body{padding:9px}.premium-property-body h4{font-size:12px}.property-card-bottom>b{font-size:12px}.premium-buy-button{padding:8px;font-size:9px}.premium-vehicle-card{grid-template-columns:83px minmax(0,1fr);gap:9px}.premium-vehicle-card>img{width:83px;height:84px}.premium-vehicle-action{grid-column:2}.premium-vehicle-action button{width:100%}.asset-wallet-pill{padding:8px}.asset-wallet-pill b{font-size:9px}.enzo-premium-header{padding:15px}.enzo-premium-header h2{font-size:22px}.enzo-nightclub-scene{min-height:225px}.club-music-premium .club-song-fields{grid-template-columns:1fr}}

/* V38 master-brief upgrades */
.auth-email-note{margin:0 0 12px;font-size:12px;line-height:1.45;color:#68736b}
.phone-shell{max-width:520px;margin:18px auto 0;padding:18px 16px 12px;border-radius:30px;border:1px solid #d9d5ce;background:linear-gradient(160deg,#fffdf8,#f2f4ed);color:#18372a;box-shadow:0 18px 50px #10291b20}
.phone-status{display:flex;justify-content:space-between;font-size:12px;font-weight:800;padding:0 3px 18px}
.phone-greeting{display:flex;align-items:center;justify-content:space-between;margin:0 2px 18px}.phone-greeting small{font-size:9px;letter-spacing:1.4px;color:#7d897e;font-weight:800}.phone-greeting h3{margin:5px 0 0;font-size:23px;letter-spacing:-.5px}.phone-weather{padding:9px 11px;border-radius:14px;background:#fff;border:1px solid #e8e3d8;font-size:12px;font-weight:800}
.phone-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 7px;padding:10px 0 20px}.phone-app{display:flex;align-items:center;flex-direction:column;gap:7px;border:0;background:transparent;color:#263c30;font-size:10px;font-weight:700;min-width:0;cursor:pointer}.phone-app>span:last-child{text-align:center;overflow-wrap:anywhere}.phone-app-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:25px;color:#fff;background:linear-gradient(145deg,#f59e0b,#8b5cf6);box-shadow:0 5px 11px #34215a20}.phone-app-icon-1{background:linear-gradient(145deg,#ff8a3d,#ec4899)}.phone-app-icon-2{background:linear-gradient(145deg,#6366f1,#a855f7)}.phone-app-icon-3{background:linear-gradient(145deg,#10b981,#0f766e)}.phone-app-icon-4{background:linear-gradient(145deg,#f97316,#dc2626)}.phone-app-icon-5{background:linear-gradient(145deg,#0ea5e9,#6366f1)}.phone-app-icon-6{background:linear-gradient(145deg,#eab308,#ea580c)}.phone-app-icon-7{background:linear-gradient(145deg,#64748b,#334155)}
.phone-dock{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 7px 3px;border-top:1px solid #e5e4dc}.phone-dock button{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;color:#355340;font-size:19px;font-weight:800}.phone-dock small{font-size:9px;font-weight:700}
@media(max-width:420px){.phone-shell{padding:15px 10px 10px;border-radius:25px}.phone-app-grid{gap:14px 4px}.phone-app-icon{width:47px;height:47px;border-radius:14px;font-size:23px}.phone-app{font-size:9px}}

.send-money-card{max-width:620px;margin:18px auto;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:0 12px 32px #17271b0c}.send-money-note{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:14px;background:linear-gradient(110deg,#edf7ed,#fff7e6);color:#1e5937}.send-money-note b{font-size:14px}.send-money-note span{font-size:12px;color:#637466}.send-quick-amounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0 16px}.send-quick-amounts button{padding:10px 4px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:800;color:var(--text);font-size:12px}.send-money-breakdown{padding:13px 14px;border-radius:14px;background:var(--surface,#f5f6f2);margin:14px 0}.send-money-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.send-money-breakdown span{color:var(--muted,#6b756c)}.send-money-breakdown b{font-variant-numeric:tabular-nums}.send-money-breakdown .send-total{border-top:1px solid var(--line);margin-top:5px;padding-top:12px;font-size:15px;font-weight:800}.send-money-breakdown .send-total b{color:#0f6d3a}@media(max-width:420px){.send-money-card{padding:14px}.send-quick-amounts{gap:5px}.send-quick-amounts button{font-size:10px}}

/* V39: one combined Sign In / Create Account screen */
.auth-card{width:min(100%,460px);padding:clamp(20px,5vw,30px)}.auth-card .mini-brand{margin:22px 0 12px}.auth-intro{color:var(--muted);font-size:13px;line-height:1.55;margin-bottom:20px}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#0e1b1f;margin:18px 0 22px}.auth-mode-tab{border:0;border-radius:9px;padding:12px 8px;color:#a7b7b5;background:transparent;font-weight:850;font-size:13px}.auth-mode-tab.active{background:var(--lime);color:#17221d;box-shadow:0 4px 12px #0002}.auth-mode-tab:focus-visible{outline:2px solid var(--cream);outline-offset:2px}.auth-email-note{color:#b8c7bd;font-size:11px;line-height:1.5;margin:12px 0}.forgot-password{display:block;margin:0 0 12px auto;border:0;background:transparent;color:var(--lime);font-size:12px;padding:4px 0}.auth-switch-copy{font-size:12px;color:var(--muted);text-align:center;margin:17px 0 0}.auth-switch-copy .linkbtn{margin:0 0 0 4px;font-weight:850}.auth-security-note{text-align:center;font-size:10px;color:#91a59d;margin:22px 0 0}.auth-card #authForm .field{margin:15px 0}.auth-card #authForm .full{min-height:48px}.auth-card .back{font-size:12px}.auth-card .msg{overflow-wrap:anywhere}

/* V41: compact landing and life-path chooser */
.premium-landing{min-height:100svh;min-height:100dvh;padding:clamp(10px,2vh,18px) 12px 10px;gap:0;overflow:hidden}
.premium-site-label{margin-bottom:2px;font-size:9px}
.premium-brandline{margin-top:0}
.premium-tagline{margin:3px 0 9px;font-size:13px}
.premium-apartment-scene{height:clamp(185px,34vh,300px);min-height:185px;width:min(100%,540px);flex:0 1 auto}
.premium-save-card{margin-top:9px;padding:10px 12px;gap:8px}
.premium-card-actions{margin-top:0}
.premium-card-actions button{min-height:43px;padding:10px 12px}
.premium-footer{padding:9px 0 0}
.owned-home-button{border:1px solid #d1d5d2;background:#e7e9e7;color:#6b746d;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:850;cursor:not-allowed;opacity:1}
.property-card-bottom{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.property-card-bottom>b{margin-right:auto}
.life-path-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:#07120fe8;overflow:auto}
.life-path-dialog{position:relative;width:min(1100px,100%);max-height:94dvh;overflow:auto;background:#f8f6ed;color:#1c3026;border:1px solid #e2d7b8;border-radius:22px;padding:clamp(18px,3vw,30px);box-shadow:0 30px 90px #0008}
.life-path-close{position:absolute;right:15px;top:12px;width:36px;height:36px;border:1px solid #d7ded5;border-radius:50%;background:white;color:#22372a;font-size:25px;line-height:1}
.life-path-dialog h2{font-size:clamp(24px,4vw,36px);letter-spacing:-.04em;margin:4px 42px 8px 0}
.life-path-intro{font-size:13px;line-height:1.55;color:#5d6b60;max-width:700px;margin-bottom:18px}
.life-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.life-path-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;min-width:0;padding:18px;border:1px solid #dce1d6;border-radius:17px;background:#fff;color:#1c3026;cursor:pointer;box-shadow:0 7px 18px #1a35200b}
.life-path-card:hover,.life-path-card:focus-visible{border-color:#0f6d3a;transform:translateY(-2px)}
.life-path-card.recommended{border:2px solid #0f6d3a;background:linear-gradient(155deg,#fff,#eef8e9)}
.life-path-icon{font-size:32px;line-height:1.2}
.life-path-card>b{font-size:18px;letter-spacing:.02em}
.life-path-card>small{font-size:9px;letter-spacing:.08em;font-weight:850;color:#6d7c6f}
.life-path-card>strong{font-size:25px;color:#0f6d3a;margin:4px 0}
.life-path-card>p{font-size:12px;line-height:1.55;color:#58685b;margin:0;min-height:57px}
.life-path-story{font-size:11px;font-style:italic;color:#6b6250}
.life-path-choose{display:block;width:100%;margin-top:auto;padding:11px 8px;border-radius:10px;text-align:center;background:#0f6d3a;color:white;font-size:12px;font-weight:850}
.nepo-locked{background:#f2f1eb;cursor:pointer}
.nepo-locked .life-path-choose{background:#68736b;color:white}
.life-path-badge{position:absolute;right:10px;top:10px;padding:5px 7px;border-radius:999px;background:#0f6d3a;color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em}
.life-path-note{margin:15px 0 0;font-size:10px;line-height:1.5;color:#7b6c4f}
@media(max-width:720px){.life-path-grid{grid-template-columns:1fr}.life-path-card{display:grid;grid-template-columns:44px 1fr;column-gap:10px;padding:13px}.life-path-icon{grid-row:1/4;align-self:center}.life-path-card>b,.life-path-card>small,.life-path-card>strong,.life-path-card>p,.life-path-story,.life-path-choose{grid-column:2}.life-path-card>strong{font-size:21px;margin:0}.life-path-card>p{min-height:0}.life-path-choose{margin-top:4px}.life-path-dialog{max-height:95dvh}.premium-apartment-scene{height:clamp(180px,31vh,270px);min-height:180px}.premium-landing{padding:10px 10px 8px}.premium-footer{padding-top:7px}}
@media(max-height:740px) and (min-width:521px){.premium-apartment-scene{height:30vh;min-height:170px}.premium-save-card{padding:8px 12px}.premium-footer{padding-top:6px}}
.family-allowance-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 17px;margin:0 0 15px;border:1px solid #b8d5a8;border-radius:14px;background:linear-gradient(115deg,#e9f6e4,#fffdf5);color:#20392a}
.family-allowance-card>div{flex:1;min-width:180px}.family-allowance-card b{font-size:14px}.family-allowance-card p{font-size:12px;color:#617262;margin:5px 0 0;line-height:1.45}.family-allowance-card button{min-width:150px}.family-allowance-card small{width:100%;font-size:11px;color:#526b53;overflow-wrap:anywhere}


/* V42 visual corrections: black, gold and Kente; no lime header. */
:root{--ink:#0E0E0E;--deep:#0E0E0E;--panel:#171717;--panel2:#222;--cream:#f8f3e8;--muted:#b9b1a2;--lime:#D4AF37;--gold:#D4AF37;--line:rgba(212,175,55,.25)}
body,.game{background:#0E0E0E}
.game-header{background:#0E0E0E;border-bottom:0;position:sticky}
.game-header:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:repeating-linear-gradient(90deg,#c92e2e 0 12px,#f2c230 12px 24px,#167447 24px 36px,#111 36px 48px,#f2c230 48px 60px,#fff 60px 64px);pointer-events:none}
.brand-mark{background:#D4AF37;color:#0E0E0E;border-radius:9px}
.cash b,.level-chip b,.eyebrow,.section-label{color:#D4AF37}
.primary,.tab.active{background:#D4AF37;color:#0E0E0E}
.tab{color:#d0c8b7}.tab-icon{display:inline-flex;vertical-align:middle;width:17px;height:17px;margin-right:7px!important;color:#D4AF37}.tab-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.active .tab-icon{color:#0E0E0E}
.online-pill{display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #D4AF3766;border-radius:999px;background:#17130a;color:#f7f1e6;white-space:nowrap}.online-pill b{font-size:12px;color:#D4AF37}.online-pill small{font-size:8px;letter-spacing:.1em;color:#d8cfba}.online-dot{width:7px;height:7px;border-radius:50%;background:#36d67a;box-shadow:0 0 8px #36d67a88}
.city-scene.photo-city-scene{background-image:linear-gradient(90deg,#0e0e0e99,#0e0e0e00 65%),url('https://commons.wikimedia.org/wiki/Special:FilePath/Trotro_Accra.jpg?width=1800');background-position:center,center 52%;background-size:cover;background-repeat:no-repeat;animation:accraPhotoRotation 32s steps(1,end) infinite;isolation:isolate}
@keyframes accraPhotoRotation{0%,24.9%{background-image:linear-gradient(90deg,#0e0e0e99,#0e0e0e00 65%),url('https://commons.wikimedia.org/wiki/Special:FilePath/Trotro_Accra.jpg?width=1800')}25%,49.9%{background-image:linear-gradient(90deg,#0e0e0e99,#0e0e0e00 65%),url('https://commons.wikimedia.org/wiki/Special:FilePath/Sunset_at_Labadi_Beach_Accra.jpg?width=1800')}50%,74.9%{background-image:linear-gradient(90deg,#0e0e0e99,#0e0e0e00 65%),url('https://commons.wikimedia.org/wiki/Special:FilePath/Food_0011.jpg?width=1800')}75%,100%{background-image:linear-gradient(90deg,#0e0e0e99,#0e0e0e00 65%),url('https://images.unsplash.com/photo-1519501025264-65ba15a82390?auto=format&fit=crop&w=1800&q=85')}}
.photo-city-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0e0e0eaa,transparent 65%);z-index:-1}
.scene-photo-caption{position:absolute;left:16px;top:16px;display:grid;gap:4px;padding:10px 12px;border-radius:10px;background:#0e0e0edb;border:1px solid #D4AF3755;color:#fff;letter-spacing:.12em;font-size:10px}.scene-photo-caption span{color:#D4AF37;font-size:8px}
.photo-city-scene .scene-road{background:linear-gradient(0deg,#111d 0%,#1118 100%)}
.premium-landing{background:#0E0E0E}.premium-site-label,.premium-tagline{color:#D4AF37}.premium-brandline .brand-life{color:#D4AF37}.premium-apartment-scene{background:linear-gradient(#0004,#0005),url('https://commons.wikimedia.org/wiki/Special:FilePath/Sunset_at_Labadi_Beach_Accra.jpg?width=1400'),url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1400&q=85') center/cover no-repeat;border:1px solid #D4AF3755}.premium-apartment-scene .apartment-illustration,.premium-apartment-scene .skyline-blur,.premium-apartment-scene .premium-sun,.premium-apartment-scene .scene-ground{display:none}.scene-location-tag{background:#0E0E0Edd;color:#D4AF37}
.apartment-room{perspective:1000px;transform-style:preserve-3d;transition:transform .35s ease,filter .35s ease;touch-action:pan-y}.apartment-room.view-3d{transform:rotateX(7deg) rotateY(-8deg);box-shadow:0 24px 40px #0008,inset 0 0 0 8px #2b211b33}.apartment-room.view-3d .room-floor{transform:perspective(300px) rotateX(18deg);transform-origin:bottom;filter:brightness(.82)}.apartment-room.view-3d .room-piece{filter:drop-shadow(0 8px 3px #0009);font-size:34px}.house-view-controls{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.house-view-controls button{border:1px solid #D4AF3770;border-radius:9px;background:#17130a;color:#D4AF37;padding:9px 12px;font-weight:800;font-size:11px}.house-view-controls button[aria-pressed="true"]{background:#D4AF37;color:#0E0E0E}
@media(max-width:600px){.online-pill{padding:6px 7px;gap:4px}.online-pill small{font-size:7px}.header-right{gap:7px}.city-scene.photo-city-scene{height:190px}.game-header{padding-bottom:18px}}


/* V43: Boutique, tier filters and draggable garage */
.shop-note{padding:10px 13px;border:1px solid rgba(212,175,55,.35);border-radius:10px;background:rgba(212,175,55,.08);color:var(--muted);font-size:12px;margin:10px 0 14px}
.shop-filter-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 9px;margin-bottom:5px;scrollbar-width:thin}
.shop-filter-chip{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);color:var(--text);font-size:12px;font-weight:700;cursor:pointer}
.shop-filter-chip.active{background:#D4AF37;color:#0E0E0E;border-color:#D4AF37}
.shop-tier-row .shop-filter-chip{font-size:11px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:13px;margin-top:10px}
.shop-product-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card);min-width:0;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.shop-product-image{height:145px;position:relative;background:#d6d0c7;overflow:hidden}
.shop-product-image img{width:100%;height:100%;object-fit:cover;display:block}
.shop-product-image span{position:absolute;left:9px;top:9px;padding:5px 8px;border-radius:999px;background:rgba(14,14,14,.88);color:#D4AF37;font-size:10px;font-weight:800}
.shop-product-body{padding:12px;display:flex;flex-direction:column;gap:7px}
.shop-product-body h3{font-size:14px;line-height:1.3;margin:0;color:var(--text)}
.shop-product-body p{font-size:11px;color:var(--muted);margin:0;min-height:15px}
.shop-product-body strong{font-size:15px;color:var(--text);margin-top:2px}
.gold-buy-button{width:100%;border:0;border-radius:9px;padding:10px 9px;background:#D4AF37;color:#0E0E0E;font-weight:800;cursor:pointer}
.gold-buy-button:disabled{opacity:.65;cursor:default}
.owned-count{font-size:11px;color:var(--muted)}
.shop-footnote{margin-top:15px;line-height:1.6}
.shop-section-title{font-size:17px;margin:24px 0 8px}
.garage-room{height:330px;position:relative;overflow:hidden;border:2px solid rgba(212,175,55,.6);border-radius:15px;background:linear-gradient(180deg,#2a2a2b 0%,#202021 55%,#39393a 56%,#29292a 100%);margin:12px 0 10px;touch-action:pan-y}
.garage-wall-sign{position:absolute;top:13px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:3px;color:#D4AF37;font-weight:900;text-align:center;z-index:1;white-space:nowrap}
.garage-wall-sign small{display:block;font-size:8px;letter-spacing:2px;color:#ddd;margin-top:4px}
.garage-floor-lines{position:absolute;left:0;right:0;bottom:0;height:43%;background:repeating-linear-gradient(90deg,transparent 0,transparent 23%,rgba(255,255,255,.08) 23.2%,transparent 23.8%),linear-gradient(180deg,transparent,rgba(0,0,0,.24));border-top:2px solid rgba(212,175,55,.32)}
.garage-parked-vehicle{position:absolute;z-index:2;width:16%;min-width:65px;max-width:130px;transform:translate(-50%,-50%);padding:4px 4px 6px;border:1px solid rgba(212,175,55,.7);border-radius:9px;background:#0e0e0e;color:#fff;touch-action:none;cursor:grab;box-shadow:0 5px 14px #0006}
.garage-parked-vehicle img{display:block;width:100%;height:48px;object-fit:cover;border-radius:5px}
.garage-parked-vehicle span{display:block;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.garage-parked-vehicle.is-dragging{z-index:9;cursor:grabbing;transform:translate(-50%,-50%) scale(1.08)}
.garage-empty-copy{position:absolute;z-index:2;top:48%;left:50%;width:85%;transform:translate(-50%,-50%);text-align:center;color:#ddd;font-size:13px;line-height:1.7}
@media(max-width:560px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shop-product-image{height:118px}.shop-product-body{padding:9px}.shop-product-body h3{font-size:12px}.shop-product-body strong{font-size:13px}.gold-buy-button{font-size:11px;padding:9px 5px}.garage-room{height:280px}.garage-parked-vehicle{width:22%;min-width:58px}.garage-parked-vehicle img{height:38px}}

.room-avatars{position:absolute;right:14px;top:50px;z-index:4;display:flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid rgba(212,175,55,.6);border-radius:999px;background:rgba(14,14,14,.82);font-size:21px;box-shadow:0 4px 16px #0004}.room-avatars small{font-size:8px;font-weight:800;letter-spacing:.5px;color:#D4AF37;margin-left:4px}


/* V44: Ghanaian garage and WhatsApp-style call UI */
.social-call-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}
.call-action{min-width:42px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;border-radius:12px}
.accra-call-overlay{z-index:100500;background:rgba(4,8,10,.94);backdrop-filter:blur(14px);padding:12px}
.accra-call-screen{width:min(620px,100%);min-height:min(780px,94dvh);max-height:94dvh;overflow:auto;background:linear-gradient(160deg,#171717,#080808);border:1px solid rgba(212,175,55,.45);border-radius:28px;color:#fff;padding:clamp(16px,4vw,28px);display:flex;flex-direction:column;align-items:center;box-shadow:0 24px 100px #0009}
.call-screen-top{width:100%;display:flex;justify-content:space-between;align-items:center}
.call-close{width:38px;height:38px;border-radius:50%;border:1px solid #555;background:#222;color:#fff;font-size:17px}
.call-person-avatar{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#302a1c,#161616);border:2px solid #d4af37;font-size:45px;margin:30px 0 12px}
.accra-call-screen h2{margin:0;font-size:27px;text-align:center}
.call-subline{color:#c8c8c8;margin:7px 0 14px;text-align:center}
.call-live-title{font-weight:700;color:#d4af37;text-align:center;font-variant-numeric:tabular-nums}
.call-video-stage{position:relative;width:100%;height:clamp(160px,34dvh,300px);margin:20px 0 14px;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at center,#303030,#101010);border:1px solid #333}
.call-remote-video{position:absolute;inset:0;display:grid;place-items:center;color:#bbb;text-align:center}
.call-remote-video span{padding:16px}
.call-local-video{position:absolute;right:10px;top:10px;width:27%;height:34%;overflow:hidden;border-radius:12px;border:1px solid #d4af37;background:#222;z-index:2}
.call-controls{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;margin:12px 0}
.call-control{border:1px solid #454545;background:#252525;color:#fff;border-radius:16px;min-width:68px;min-height:66px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:19px}
.call-control small{font-size:10px;color:#ddd}
.call-control.call-end{background:#b4232d;border-color:#e54d58}
.call-incoming-actions{display:flex;gap:18px;width:100%;justify-content:center;margin:10px 0}
.call-incoming-actions button{border:0;border-radius:28px;padding:13px 25px;font-weight:800;color:white;min-width:120px}
.call-decline{background:#c62836}.call-accept{background:#1f9d55}
.call-disclaimer{color:#aaa;font-size:11px;line-height:1.5;text-align:center;max-width:450px;margin:10px auto 0}
@media(max-width:480px){.accra-call-screen{border-radius:20px;padding:16px;min-height:90dvh}.call-person-avatar{margin-top:22px}.call-control{min-width:62px;min-height:62px}.social-call-actions{gap:5px}}
