/* PSS-WORLD-01.DESKTOP-HALLOWEEN-06 — an open stage for the desktop festival. */
.desktop-only{display:none}
.restore-interface{position:absolute;z-index:12;right:24px;top:20px;min-height:40px;padding:10px 15px;border-radius:9px}
.restore-interface kbd{margin-left:9px}
.desktop-more{position:absolute;right:0;top:52px;width:320px;border-radius:13px;padding:14px}
.desktop-more-actions{display:flex;flex-wrap:wrap;gap:7px}
.desktop-more .spook-control{position:static;display:flex;flex-wrap:wrap;max-width:none;margin:12px 0 0;padding:11px 0 0;border-top:1px solid #d8bced30;gap:8px;border-radius:0}
.desktop-more .spook-control label{flex:1;min-width:82px}
.desktop-more .spook-control select{max-width:165px}
.desktop-more .spook-control button{border-left:0;border-top:1px solid #d8bced20;width:100%;padding:8px 0;text-align:left}
kbd{font:500 9px/1.2 var(--sans);display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:18px;border:1px solid #e8cee54a;border-radius:4px;color:#f7e4c8;background:#ffffff0b}
.intro-dismissed .invitation{display:none!important}
.immersive-ui .masthead,.immersive-ui .quest-card,.immersive-ui .mode-switch,.immersive-ui .world-tools,
.immersive-ui .invitation,.immersive-ui .scene-bottom,.immersive-ui .scene-credits,.immersive-ui .scenic-views,
.immersive-ui .district-badge,.immersive-ui .walk-hint,.immersive-ui .desktop-guide,.immersive-ui .mobile-toolbar,
.immersive-ui .mobile-panel,.immersive-ui .art-tools{display:none!important}
.immersive-ui .vignette{background:linear-gradient(0deg,#09061918,transparent 12%,transparent 90%,#09061912)}
.immersive-ui .restore-interface{opacity:.72;transition:opacity .2s}
.immersive-ui .restore-interface:hover,.immersive-ui .restore-interface:focus-visible{opacity:1}

@media(min-width:900px){
  html,body{height:100%;overflow:hidden}
  #world,body:not(.exploring):not(.walking):not(.flying):not(.touring) #world{height:100dvh;min-height:0!important}
  .desktop-only{display:flex}
  .glass{background:linear-gradient(135deg,#1b1834cf,#1a152bbb);border:1px solid #dac0e536;box-shadow:0 5px 24px #09061226;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .vignette{background:linear-gradient(0deg,#100c21b8 0,transparent 20%,transparent 85%,#100c2187),linear-gradient(90deg,#10091d48,transparent 37%)}
  .masthead{height:66px;padding:0 26px;gap:24px;border-bottom:1px solid #f0d6aa24;background:linear-gradient(#141126ad,#14112600);pointer-events:none}
  .masthead>*{pointer-events:auto}
  .brand{font-size:24px;gap:10px;letter-spacing:-.7px}
  .brand-mark{font-size:26px;color:#ffd49b;text-shadow:0 0 22px #ffa85c50}
  .brand small{font-size:8px;letter-spacing:.7px;margin-top:2px;color:#d9cadc}
  .place{display:flex;margin-left:auto;font-size:9px;letter-spacing:1.5px;gap:8px}
  .place small{font-size:10px;letter-spacing:.1px;margin-top:4px}
  .live-dot{width:5px;height:5px;box-shadow:0 0 12px #ffbd7e73;background:#ffc38e}
  .masthead>.button{min-height:36px;padding:8px 13px;font-size:11px;gap:9px;border-radius:8px;margin-left:2px}
  .masthead .counter{font-size:10px;min-width:18px;height:18px}

  .quest-card{top:83px;left:26px;gap:10px;min-height:0;padding:10px 9px 10px 13px;border-radius:11px;background:linear-gradient(135deg,#1c1833b8,#1c162c78)}
  .quest-icon{font-size:25px;color:#ffce93}
  .quest-card .micro{font-size:8px;letter-spacing:1.5px}
  .quest-card p{font-size:10px;margin:3px 0 6px}
  .quest-card strong{font-size:11px}
  .quest-dots{gap:4px}
  .quest-dots i{width:14px;height:2px}
  .quest-card .icon-button{margin-left:6px;height:30px;min-width:28px;width:28px;font-size:16px}

  .world-tools{right:26px;top:83px;display:flex;flex-direction:row;align-items:center;gap:7px;z-index:5}
  .world-tools>.button{font-size:10px;min-height:37px;min-width:0;padding:9px 12px;gap:8px;border-radius:8px;font-weight:500}
  .world-tools .desktop-more .button{font-size:10px;min-height:36px;min-width:0;padding:8px 10px}
  #desktop-more-toggle[aria-expanded=true]{background:#5b3a62d4;border-color:#eac1f28a}
  .desktop-more{background:#1a142ceb;box-shadow:0 14px 44px #08051155}
  .desktop-more .spook-control{background:transparent}

  .invitation{left:30px;right:auto;bottom:147px;max-width:390px;padding:0;z-index:2}
  .invitation::before{content:'';position:absolute;z-index:-1;inset:-35px -50px -25px -30px;pointer-events:none;background:radial-gradient(ellipse at 25% 60%,#140c2070,transparent 72%)}
  .invitation .eyebrow{font-size:8px;letter-spacing:2px;gap:9px;margin:0 0 12px;color:#f6d3a5}
  .invitation .eyebrow span{width:19px;height:1px;background:#ffc185}
  .invitation h1{font:400 clamp(39px,3.55vw,58px)/1.02 var(--serif);letter-spacing:-1.4px;text-shadow:0 2px 22px #11092375;color:#fff1e3}
  .invitation em{font-weight:400;color:#ffd4a5}
  .intro-copy{font-size:11px;line-height:1.7;color:#eadfe9;margin:14px 0 17px;max-width:330px}
  .intro-actions{gap:9px}
  .invitation .intro-actions .button{font-size:10px;padding:11px 14px;min-height:42px;min-width:0;border-radius:8px;gap:10px}
  .gold{background:linear-gradient(135deg,#ffe0ac,#efa963);color:#302033;box-shadow:0 3px 18px #de8d3f25}
  .invitation .intro-actions .gold:hover{background:#ffe0b0}
  .crystal-preview-link{font-size:10px;min-height:29px;margin-top:7px;padding:5px 0;color:#edc6f4}
  .scene-label{font-size:8px;color:#c6b6ce;margin-top:5px;letter-spacing:.3px;opacity:.8}

  .scene-bottom{left:26px;right:26px;bottom:43px;gap:15px;pointer-events:none}
  .scene-bottom>*{pointer-events:auto}
  .time-control{border-radius:9px;min-height:40px;padding:8px 12px;gap:10px;font-size:15px}
  .time-control input{width:94px;height:18px}
  .time-control #time-label{display:inline;font-size:9px;min-width:80px;padding-left:0}
  .bottom-actions{gap:7px}
  .bottom-actions .button{min-height:40px;padding:9px 13px;font-size:10px;gap:8px;border-radius:9px}
  .bottom-actions .icon-button{width:38px;min-width:38px;height:40px;font-size:15px;border-radius:9px}
  .mode-switch{top:auto;bottom:43px;left:50%;right:auto;transform:translateX(-50%);padding:4px;gap:2px;border-radius:10px;z-index:4}
  .mode-switch button{min-height:32px;padding:7px 12px;font-size:10px;gap:6px;border-radius:6px}
  .mode-switch button span{font-size:13px}
  .mode-switch button[aria-pressed=true]{background:#f2c795;color:#2b1b36;box-shadow:0 1px 8px #0002}
  .mode-switch #town-map{padding-inline:11px;border-left:1px solid #cbb1e03b;border-radius:0 6px 6px 0;margin-left:3px}

  .scenic-views{position:absolute;right:26px;bottom:99px;z-index:3;border-radius:9px;align-items:center;gap:2px;padding:5px;background:linear-gradient(135deg,#211a35b8,#211a3580)}
  .scenic-view-label{font-size:7px;letter-spacing:1.6px;padding:0 9px 0 7px;color:#cfb8d9}
  .scenic-views button{background:transparent;color:#eddae9;min-height:30px;padding:6px 9px;font-size:9px;letter-spacing:.1px;border-radius:5px}
  .scenic-views button[aria-pressed=true]{background:#eac8f020;color:#ffe2b7}
  .scenic-views button:disabled{opacity:.45;cursor:wait}
  .desktop-guide{position:absolute;z-index:3;left:28px;bottom:101px;margin:0;font-size:9px;line-height:1.7;gap:7px;align-items:center;color:#e1cee4;text-shadow:0 1px 4px #10071c}
  .desktop-guide span{color:#b89bc5}
  .desktop-guide kbd{height:16px;min-width:16px;font-size:8px}
  .scene-credits{left:28px;right:28px;bottom:15px;font-size:8px;line-height:1.4;color:#bdadc8}
  .scene-credits a{font-size:8px;color:#e6c7a7}
  .district-badge{max-width:200px;min-height:38px;padding:8px 10px;font-size:9px;gap:7px;background:#20162d8c;border-color:#e0b3cc29;opacity:.82;z-index:2}
  .district-badge>span:first-child{font-size:17px}
  .district-badge small{font-size:8px;margin-top:2px}
  .walk-hint{bottom:101px;left:28px;right:auto;transform:none;max-width:460px;padding:4px 9px;font-size:9px;gap:11px;min-height:28px;white-space:normal}
  .walk-hint button{font-size:9px;min-height:28px;padding:4px 6px}
  .walking .desktop-guide,.flying .desktop-guide{display:none}
  .walking .vignette,.flying .vignette{background:linear-gradient(0deg,#110c216b,transparent 16%,transparent 88%,#110c215f)}
  .move-pad,.look-pad,.touch-controls,.fly-controls{display:none!important}
  .loading{font-size:12px;padding:18px 23px;border-radius:12px;background:#20172ce3}
  .loading small{font-size:10px}
  .drawer{background:linear-gradient(145deg,#23192fee,#191328fa);border-color:#d4b1e14a}
  .drawer h2{color:#ffe0b9}
  .toast{bottom:154px;padding:11px 19px;font-size:11px;background:#f3d9b6;color:#302039;box-shadow:0 7px 24px #10071936}
  .render-fallback .scenic-views{display:none}
  .render-fallback .desktop-guide{display:none}
}
@media(min-width:900px) and (max-width:1170px){
  .masthead{padding-inline:20px}.brand{font-size:22px}.place{font-size:8px;letter-spacing:1px}
  .quest-card{left:20px}.world-tools{right:20px}.world-tools>.button{padding:9px 10px;font-size:9px}
  .invitation{left:24px;max-width:350px}.invitation h1{font-size:43px}
  .scene-bottom{left:20px;right:20px}.time-control{gap:8px}.time-control input{width:80px}.time-control #time-label{display:none}
  .mode-switch button{padding:7px 10px;font-size:9px}.bottom-actions .button{padding:9px 10px;font-size:9px}
  .scenic-views{right:20px}.scenic-view-label{display:none}.desktop-guide{left:24px;font-size:8px;gap:5px}
}
@media(min-width:900px) and (max-height:700px){
  .invitation{bottom:139px;max-width:330px}.invitation h1{font-size:39px}.intro-copy{margin:10px 0 12px;font-size:10px}.crystal-preview-link{display:none}
  .quest-card{top:79px;padding:7px 8px 7px 11px}.world-tools{top:79px}
}
