/* Shared loading surface; the same screen is used in Device and Cloud. */
#s-loading{position:fixed;inset:0;z-index:700;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .45s ease}
#s-loading.out{opacity:0;pointer-events:none}

/* ══ WORLD ══════════════════════════════════════════════ */
#s-world{background:var(--night);overflow:hidden}
#three-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;touch-action:manipulation}
#world-ui{position:absolute;inset:0;pointer-events:none;z-index:10}
#w-prompt{position:absolute;top:6%;left:50%;transform:translateX(-50%);text-align:center}
#w-prompt h2{font-family:'Cinzel Decorative',serif;font-size:clamp(1rem,2.4vw,1.65rem);letter-spacing:.24em;color:rgba(195,168,88,.7);text-shadow:0 0 50px rgba(190,155,50,.45)}
#w-prompt p{font-family:'Cinzel',serif;font-size:.65rem;color:rgba(138,138,170,.36);letter-spacing:.4em;margin-top:7px}
#w-prompt h2,#w-prompt p{transition:opacity .4s ease,transform .4s ease}
#w-prompt.swap h2,#w-prompt.swap p{opacity:0;transform:translateY(-6px)}
.obj-label{position:absolute;transform:translate(-50%,-50%);font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.38em;white-space:nowrap;pointer-events:auto;opacity:0;transition:opacity .35s ease;text-shadow:0 0 16px currentColor,0 0 32px currentColor}
#moon-msg{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.38em;color:rgba(210,220,255,.55);text-shadow:0 0 20px rgba(180,200,255,.4);pointer-events:none;opacity:0;transition:opacity .9s ease;white-space:nowrap;text-align:center}
#moon-msg.show{opacity:1}
#moon-msg span{display:block;font-size:.56rem;color:rgba(180,190,230,.35);letter-spacing:.3em;margin-top:6px}
#moon-hint{position:absolute;pointer-events:none;opacity:0;transition:opacity .3s;font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.28em;color:rgba(220,230,255,.5);transform:translate(-50%,-140%);white-space:nowrap}
#moon-hint.show{opacity:1}

.world-paths{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);display:flex;align-items:stretch;gap:7px;width:min(760px,calc(100vw - 150px));pointer-events:auto}
.world-path-choice{--pc:190,190,220;min-width:0;flex:1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;padding:8px 11px;border:1px solid rgba(var(--pc),.13);border-radius:11px;background:rgba(3,5,12,.45);color:rgba(var(--pc),.62);font-family:'Cinzel',serif;text-align:left;cursor:pointer;backdrop-filter:blur(8px);transition:color .2s,border-color .2s,background .2s,transform .2s}
.world-path-choice>span{grid-row:1/3;font-size:1rem;color:rgba(var(--pc),.8)}
.world-path-choice strong{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.world-path-choice small{font-size:.48rem;line-height:1.35;color:rgba(var(--pc),.38);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.world-path-choice.path-friend{--pc:110,207,179}
.world-path-choice.path-viewer{--pc:184,152,212}
.world-path-choice.path-personal{--pc:208,96,96}
.world-path-choice.path-recruiter{--pc:255,215,0}
.world-path-choice:focus-visible{color:rgb(var(--pc));border-color:rgba(var(--pc),.55);background:rgba(var(--pc),.1);transform:translateY(-2px);outline:none}
.world-path-choice.uses-fallback::after{content:'simplified model';grid-column:2;font:500 .42rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.06em;color:rgba(var(--pc),.58)}

#world-skip{position:absolute;right:18px;top:66px;display:none;pointer-events:auto;padding:7px 12px;border:1px solid rgba(190,195,230,.22);border-radius:999px;background:rgba(2,4,10,.52);color:rgba(205,210,240,.62);font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
#world-skip.show{display:block}
#world-skip:hover,#world-skip:focus-visible{color:#fff;border-color:rgba(220,225,255,.55);outline:none}
#world-fallback-note{display:none;max-width:560px;color:rgba(225,225,240,.7);font:400 .78rem/1.7 'Inter',sans-serif;text-align:center;pointer-events:none}
#s-world.world-paused #three-canvas{visibility:hidden}

#s-world.no-webgl{background:radial-gradient(ellipse at 50% 28%,#172138 0%,#070b15 54%,#020309 100%)}
#s-world.no-webgl #world-ui{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}
#s-world.no-webgl #w-prompt{position:static;transform:none;margin-bottom:20px}
#s-world.no-webgl #world-fallback-note{display:block;margin-bottom:24px}
#s-world.no-webgl .world-paths{position:static;transform:none;width:min(620px,100%);display:grid;grid-template-columns:1fr 1fr}
#s-world.no-webgl .world-path-choice{min-height:74px;background:rgba(3,5,12,.72)}
#s-world.no-webgl #world-skip{display:none}

@media(hover:hover){
  .world-path-choice:hover{color:rgb(var(--pc));border-color:rgba(var(--pc),.55);background:rgba(var(--pc),.1);transform:translateY(-2px)}
}

@media(max-width:760px){
  #w-prompt{top:5%;width:90vw}
  #w-prompt h2{font-size:clamp(.88rem,4.4vw,1.2rem);letter-spacing:.15em}
  #w-prompt p{font-size:.55rem;letter-spacing:.24em}
  .world-paths{bottom:42px;width:calc(100vw - 28px);display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .world-path-choice{padding:7px 9px}
  .world-path-choice small{display:none}
  #world-skip{right:12px;top:54px}
  .obj-label{font-size:.5rem;letter-spacing:.22em}
}

@media(max-height:600px) and (min-width:700px){
  .world-paths{bottom:14px}
  .world-path-choice small{display:none}
  #w-prompt{top:3%}
}

@media(prefers-reduced-motion:reduce){
  #world-skip{display:none!important}
  .world-path-choice{transition:none}
  #w-prompt h2,#w-prompt p{transition:none}
}
