/* Mobile-only object inspection. The room itself remains image-led and unchanged. */
.academy-turntable {
  width:min(470px,calc(100vw - 28px)); max-width:none; max-height:min(760px,calc(100dvh - 24px));
  margin:auto; padding:20px; overflow:auto; color:#f4efe7;
  border:1px solid rgb(197 171 127 / .48); border-radius:23px;
  background:linear-gradient(145deg,rgb(8 31 40 / .98),rgb(5 17 25 / .99));
  box-shadow:0 28px 90px #000c,inset 0 1px rgb(255 255 255 / .12);
}
.academy-turntable::backdrop { background:rgb(1 9 15 / .72); backdrop-filter:blur(5px); }
.academy-turntable[open] { display:block; }
.turntable-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.turntable-kicker { color:#d6ba81; font-size:.67rem; letter-spacing:.19em; text-transform:uppercase; }
.turntable-head h2 { margin:3px 0 0; font-size:clamp(1.12rem,5vw,1.45rem); line-height:1.3; }
.turntable-close,.turntable-controls button {
  display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0;
  border:1px solid rgb(184 206 209 / .28); border-radius:14px;
  background:rgb(255 255 255 / .055); color:#e3e6e4; font:inherit; cursor:pointer;
}
.turntable-close { font-size:1.6rem; line-height:1; }
.turntable-stage {
  display:grid; place-items:center; position:relative; height:min(45svh,350px); min-height:235px;
  margin:12px 0 8px; overflow:hidden; border-radius:18px;
  background:radial-gradient(ellipse at 50% 65%,rgb(62 112 118 / .22),transparent 56%),
             linear-gradient(180deg,rgb(8 29 39 / .52),rgb(2 12 20 / .28));
}
.turntable-stage::after {
  content:""; position:absolute; bottom:18px; left:18%; right:18%; height:20px;
  border-radius:50%; background:#0009; filter:blur(13px); pointer-events:none;
}
.turntable-sprite {
  z-index:1; width:min(78vw,330px); height:min(78vw,330px); max-height:100%;
  background-repeat:no-repeat; background-position:0 0; background-size:400% 200%;
  filter:drop-shadow(0 18px 11px rgb(0 0 0 / .55));
  cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none;
}
.turntable-sprite:active { cursor:grabbing; }
.turntable-sprite.is-loading { background-position:center; background-size:contain; cursor:wait; }
.turntable-hint { display:flex; justify-content:space-between; gap:14px; margin:0 2px 10px; color:#acbec2; font-size:.8rem; }
.turntable-hint output { color:#b8f2e7; font-variant-numeric:tabular-nums; font-weight:700; }
.turntable-controls { display:flex; align-items:center; gap:13px; }
.turntable-controls button { font-size:1.35rem; }
.turntable-controls button:disabled,.turntable-controls input:disabled { opacity:.5; cursor:wait; }
.turntable-controls input { flex:1; min-width:0; height:44px; accent-color:#68d6c7; cursor:pointer; }
.turntable-status { min-height:1.3em; margin:7px 2px 10px; color:#a5b9bc; font-size:.72rem; }
.turntable-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.turntable-apply,.turntable-visit {
  display:grid; place-items:center; min-height:46px; padding:9px 12px;
  border:1px solid rgb(111 219 199 / .55); border-radius:13px;
  background:linear-gradient(120deg,#2eab95,#146d65); color:#f4fffa;
  font-family:inherit; font-size:.86rem; font-weight:700; line-height:1.25;
  text-align:center; text-decoration:none; cursor:pointer;
}
.turntable-visit { border-color:rgb(217 184 130 / .48); background:rgb(12 28 35 / .7); color:#ecd6ad; }
.turntable-apply:disabled { opacity:.5; cursor:wait; }
.turntable-close:focus-visible,.turntable-controls button:focus-visible,.turntable-controls input:focus-visible,
.turntable-apply:focus-visible,.turntable-visit:focus-visible { outline:2px solid #a5f2e5; outline-offset:3px; }
body.turntable-open { overflow:hidden; }
@media(max-width:680px) {
  .academy-turntable {
    position:fixed; inset:auto 0 0; width:100%; max-height:calc(100dvh - 20px);
    margin:0; padding:18px 17px max(19px,env(safe-area-inset-bottom));
    border-radius:23px 23px 0 0; border-bottom:0;
  }
  .academy-destination.turntable-aligned .destination-spark {
    background-image:var(--turntable-image); background-size:400% 200%;
    background-position:var(--turntable-position); animation:none; transform:none;
  }
  .academy-destination.turntable-aligned .destination-spark svg { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .academy-turntable,.turntable-sprite { scroll-behavior:auto; transition:none; animation:none; }
}
