/* 全屏山河：同一投影下的地景、实时星落与可访问标记。 */
#sandbox {display:block;position:relative;height:calc(100svh - var(--head-h));min-height:620px;overflow:hidden;background:#252923;isolation:isolate;scroll-margin-top:var(--head-h);color:#eee4cc}
#sandbox .sand-world {position:absolute;inset:0 auto auto 0;width:100%;height:100%;transform:translate3d(var(--sand-x,0px),var(--sand-y,0px),0);will-change:transform}
#sandbox .sand-landscape {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;max-width:none}
#sandbox .hex3d {display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#sandbox .hex3d.is-ready {display:block}
#sandbox:after {content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(13,22,20,.26),transparent 35%,transparent 65%,rgba(13,22,20,.86))}
#sandbox .sand-text {position:absolute;z-index:2;left:6%;top:14%;width:auto;padding:0;border:0;text-align:left;pointer-events:none;text-shadow:0 2px 12px #172018}
#sandbox .sand-eyebrow {color:#c4b286;font-size:12px;letter-spacing:.3em;margin:0 0 18px}
#sandbox h2 {font-family:var(--kai);font-size:clamp(32px,3.1vw,54px);font-weight:400;letter-spacing:.1em;color:#f1e7ce;margin:0 0 18px}
#sandbox .sand-sub {font-size:14px;color:#ddd1b7;letter-spacing:.12em;margin:0}
.sand-ui {position:absolute;z-index:3;bottom:32px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);text-align:center}
.sand-controls {display:flex;border:1px solid #9e8655;background:rgba(22,32,29,.94);padding:5px}
.sand-controls button {font:16px var(--serif);letter-spacing:.14em;border:0;border-right:1px solid #695e43;background:transparent;color:#c7bfa9;padding:16px 35px;cursor:pointer}
.sand-controls button:last-child {border-right:0}
.sand-controls button[aria-pressed=true] {color:#ffe3a0;background:#514831}
.sand-caption {color:#ded7c5;font-size:12px;letter-spacing:.08em;margin:13px 0 7px}
.sand-note {display:block;color:#b1b2a3;font-size:10px;letter-spacing:.12em}
.sand-motion {position:absolute;z-index:3;right:28px;top:28px;border:1px solid #877b5d;background:#1e2b25cc;color:#ece2c7;padding:10px 16px;font:12px var(--serif);cursor:pointer}
.sand-place {display:none;position:absolute;transform:translate(-50%,-100%);z-index:2;border:1px solid #a38b5a;background:#26332bea;color:#f3dfb0;font:13px var(--serif);padding:9px 15px;min-height:44px;white-space:nowrap;cursor:pointer;box-shadow:0 4px 20px #1118}
#sandbox.is-enhanced .sand-place[data-place=capital],#sandbox.is-enhanced[data-mode=members] .sand-place,#sandbox.is-enhanced[data-mode=cities] .sand-place {display:block}
.sand-detail {position:absolute;z-index:4;right:5%;bottom:190px;width:280px;max-width:calc(100% - 32px);padding:22px;border:1px solid #9e8655;background:#1d2b26f5;box-shadow:0 12px 40px #0005}
.sand-detail strong {font:20px var(--serif);color:#f1dfb5}.sand-detail p {font-size:13px;line-height:1.8;color:#d1c9b6;margin:12px 0}.sand-detail button {background:transparent;border:1px solid #9e8655;padding:7px 16px;color:#f1dfb5;cursor:pointer}
#sandbox button:focus-visible {outline:3px solid #fff1c8;outline-offset:4px}
#sandbox [hidden] {display:none!important}
#sandbox:not(.is-enhanced) .sand-controls {display:none}
@media(max-width:700px){
 #sandbox {min-height:590px;height:calc(100svh - var(--head-h))}
 #sandbox .sand-text {top:9%;left:24px;right:20px}
 #sandbox h2 {font-size:30px;letter-spacing:.035em}
 #sandbox .sand-sub {font-size:12px;letter-spacing:.04em}
 #sandbox .sand-eyebrow {margin-bottom:14px}
 .sand-motion {top:16px;right:16px;padding:7px 10px}
 .sand-ui {bottom:25px;width:calc(100% - 32px)}
 .sand-controls button {flex:1;font-size:13px;padding:14px 6px;letter-spacing:.04em}
 .sand-caption {font-size:11px;letter-spacing:0}
 .sand-detail {right:16px;bottom:175px}
}
