.explore-page { width:100%; min-width:0; max-width:1120px; margin:auto; padding:8px 0 20px; }
.explore-page .challenge-value { color:#7ee0d0; font-size:1.17em; }
.explore-workspace { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(180px,.7fr); align-items:center; gap:18px; }
.explore-workspace.is-choices { display:block; }.explore-board { min-width:0; }
.explore-bank { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; min-width:0; }
.explore-bank-title { font-size:17px; grid-column:1 / -1; text-align:center; }
.explore-choice { position:relative; font:inherit; font-weight:700; padding:10px; min-width:44px; min-height:50px; border:2px solid #617c8b; border-radius:14px; background:#fff7e7; color:#29475b; cursor:pointer; touch-action:manipulation; }
.explore-choice[aria-pressed="true"] { outline:3px solid #55d6be; border-color:#55d6be; }
.explore-choice:disabled { opacity:.45; cursor:default; }.explore-choice:disabled::after { content:'✓'; position:absolute; top:3px; right:3px; }
.position-stage { position:relative; aspect-ratio:3 / 2; width:100%; max-width:675px; margin:auto; overflow:hidden; border:1px solid #8e9e9d; border-radius:20px; background:#fff7e7; isolation:isolate; }
.position-furniture { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }.position-furniture.is-front { z-index:3; }
.position-object { position:absolute; z-index:2; width:22%; height:31%; object-fit:contain; transform:translate(-50%,-50%); pointer-events:none; }
.position-place { position:absolute; z-index:4; transform:translate(-50%,-50%); width:60px; height:60px; border:2px dashed #427a80; border-radius:16px; background:#bce5dd20; color:#295864; font-size:27px; font-weight:700; cursor:pointer; touch-action:manipulation; }
.position-place:disabled { background:transparent; border-color:transparent; cursor:default; }
.is-hinted { outline:3px solid #eab74d!important; outline-offset:2px; }
.position-source { grid-column:1 / -1; width:100%; max-width:190px; margin:auto; font:inherit; font-weight:700; display:flex; flex-direction:column; align-items:center; gap:7px; padding:12px; min-height:60px; border:2px solid #617c8b; border-radius:18px; background:#fff7e7; color:#29475b; cursor:grab; touch-action:none; }
.position-source img { width:110px; height:110px; object-fit:contain; pointer-events:none; }.position-source span { pointer-events:none; }
.position-source[aria-pressed="true"] { outline:3px solid #55d6be; border-color:#55d6be; }
.position-source:disabled { opacity:.45; cursor:default; }
.position-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:960px; margin:auto; }
.position-option { display:block; min-width:44px; min-height:44px; border:2px solid #617c8b; border-radius:18px; padding:5px; background:#20324a; color:#f5f7fb; font:inherit; cursor:pointer; touch-action:manipulation; }
.position-option > * { pointer-events:none; }.position-option-name { display:block; padding:7px; font-weight:700; }.position-option:disabled { opacity:1; cursor:default; }
.position-option .position-stage { border-radius:12px; }.explore-ghost { position:fixed; width:90px; height:90px; object-fit:contain; padding:5px; border:2px solid #55d6be; background:#fff7e7; border-radius:14px; pointer-events:none; transform:translate(-50%,-50%); z-index:1000; }
body[data-explore="body"] .explore-workspace { grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr); max-width:1000px; margin:auto; }
body[data-explore="body"] .explore-workspace.is-point { display:block; }
.body-figure { position:relative; height:440px; aspect-ratio:2 / 3; margin:auto; background:#fff7e7; border:1px solid #6b8291; border-radius:20px; }
.body-figure > img { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; border-radius:19px; }
.body-zone { position:absolute; transform:translate(-50%,-50%); min-width:44px; min-height:44px; width:48px; height:48px; border:2px dashed #3e7a89; border-radius:50%; background:#e2f5f51a; cursor:pointer; touch-action:manipulation; }
.body-zone[data-body-part="head"],.body-zone[data-body-part="trunk"] { width:54px; height:54px; }.body-zone.is-done { background:#55d6be30; border-color:#34796b; }.body-zone:disabled { cursor:default; }
.body-part-card { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; }
.part-thumb { width:65px; height:62px; display:block; pointer-events:none; }.body-part-card span { pointer-events:none; }
@media(min-width:1000px) {
 body.game-screen .explore-page { max-width:min(100%,var(--play-width)); }
 .position-stage { max-width:min(calc(660px * var(--play-scale)),max(330px,calc((100svh - 400px) * 1.5))); }
 .position-options { max-width:min(100%,calc(max(250px,100svh - 430px) * 3)); }
 .body-figure { height:min(calc(480px * var(--play-scale)),max(340px,calc(100svh - 350px))); }
 .explore-choice { font-size:calc(16px * var(--play-scale)); }.body-part-card { min-height:85px; }.part-thumb { height:70px; }
}
@media(max-width:759px) {
 .explore-workspace { grid-template-columns:1fr; gap:8px; }
 .explore-bank { gap:7px; }.explore-bank-title { display:none; }
 .position-source { flex-direction:row; justify-content:center; max-width:none; padding:5px; min-height:62px; }
 .position-source img { width:50px; height:50px; }.position-place { width:56px; height:56px; }
 .position-options { gap:8px; }.position-option { padding:3px; border-radius:14px; }.position-option-name { padding:5px; font-size:13px; }
 .body-controls.social-controls { grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,.8fr) 44px; gap:6px; }
 body[data-explore="body"] .explore-workspace { grid-template-columns:minmax(0,1fr) 76px; gap:8px; align-items:center; }
 .body-figure { height:auto; width:100%; max-height:430px; max-width:286px; }
 .body-part-card { padding:4px 2px; font-size:11px; min-height:50px; gap:2px; }.part-thumb { width:32px; height:29px; }
 body[data-explore="body"] .explore-bank { grid-template-columns:1fr; gap:5px; }
 body[data-explore="body"] .explore-workspace.is-point .body-figure { height:340px; width:auto; }
 .body-zone { width:44px; height:44px; }.body-zone[data-body-part="head"],.body-zone[data-body-part="trunk"] { width:48px; height:48px; }
}
@media(max-width:359px) {
 body[data-explore="body"] .explore-workspace { grid-template-columns:minmax(0,1fr) 56px; gap:6px; }
 .body-figure { height:320px; width:auto; }
 body[data-explore="body"] .explore-workspace.is-point .body-figure { height:320px; }
 .body-part-card { font-size:10px; }.part-thumb { width:28px; height:25px; }
}
