.spin-open{margin:0 0 0 10px;vertical-align:top;cursor:pointer;font-family:inherit}
.spin-open[hidden]{display:none}
.spin-dialog{width:min(1180px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff1f;border-radius:22px;background:radial-gradient(ellipse at 50% 58%,#1f2a2d 0%,#0d1214 62%,#090d0f 100%);color:var(--ink,#f4f5f0);box-shadow:0 30px 90px #000a,inset 0 1px #ffffff14;overflow:hidden}
.spin-dialog::backdrop{background:#05080acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.spin-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 0 28px}
.spin-top .eyebrow{margin:0 0 4px;font-size:.62rem}
.spin-title{margin:0;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:500;letter-spacing:-.03em}
.spin-close{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 16px;border:1px solid #ffffff2e;border-radius:999px;background:#ffffff12;color:inherit;font:inherit;font-size:.85rem;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.spin-close:hover{background:#ffffff1f}
.spin-stage{position:relative;aspect-ratio:16/9;max-height:calc(100dvh - 210px);margin-inline:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;outline:none}
.spin-stage:active{cursor:grabbing}
.spin-stage:focus-visible{box-shadow:inset 0 0 0 2px var(--accent,#ddbd8d);border-radius:12px}
.spin-view{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .45s;pointer-events:none}
.spin-stage.is-ready .spin-view{opacity:1}
.spin-progress{position:absolute;left:50%;bottom:18px;width:min(220px,40%);height:3px;translate:-50% 0;border-radius:3px;background:#ffffff1a;overflow:hidden}
.spin-progress::before{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--loaded,0));background:var(--accent,#ddbd8d);transition:transform .2s}
.spin-progress[hidden]{display:none}
.spin-hint{position:absolute;left:50%;top:50%;translate:-50% -50%;display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:#0b1012b3;border:1px solid #ffffff24;font-size:.8rem;letter-spacing:.04em;color:#e6eaeb;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;animation:spin-hint 4.5s .9s ease forwards}
.spin-hint[hidden]{display:none}
.spin-tilt{position:absolute;right:18px;top:50%;width:4px;height:min(42%,180px);translate:0 -50%;border-radius:4px;background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff10;pointer-events:none}
.spin-tilt[hidden]{display:none}
.spin-tilt span{position:absolute;left:50%;top:calc((1 - var(--tilt,.25)) * 100%);width:12px;height:12px;translate:-50% -50%;border-radius:50%;background:linear-gradient(145deg,#edd2a9,#cfac7b);box-shadow:0 0 0 3px #0b101299,0 2px 8px #0006;transition:top .25s ease}
@keyframes spin-hint{0%,100%{opacity:0}12%,75%{opacity:1}}
.spin-bottom{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;padding:4px 22px 24px}
.spin-states{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#ffffff0f;border:1px solid #ffffff1f;box-shadow:inset 0 1px #ffffff0d}
.spin-states button{min-height:38px;padding:8px 18px;border:0;border-radius:999px;background:transparent;color:#c7cfd0;font:inherit;font-size:.85rem;cursor:pointer;transition:background .2s,color .2s}
.spin-states button:hover{color:#fff}
.spin-states button[aria-checked=true]{background:linear-gradient(145deg,#edd2a9,#cfac7b);color:#202820;font-weight:600;box-shadow:inset 0 1px #fff8,0 3px 12px #0004}
.spin-note{margin:0;font-size:.72rem;color:var(--muted,#adb5ad)}
@media(max-width:760px){.landmark-copy .spin-open{margin:10px 0 0}.spin-dialog{width:calc(100vw - 16px);border-radius:18px}.spin-stage{aspect-ratio:4/3}.spin-view{object-fit:cover}.spin-top{padding:16px 14px 0 18px}.spin-close{min-height:36px;padding:6px 12px}.spin-states{width:100%}.spin-states button{flex:1;padding:8px 6px;font-size:.78rem}.spin-bottom{padding:6px 12px 18px}.spin-note{text-align:center}}
@media(prefers-reduced-motion:reduce){.spin-hint{animation:none;opacity:1}.spin-view{transition:none}}
