.explore-panel{border:1px solid #2c382d;background:#0c110e;padding:clamp(20px,4vw,46px);margin-top:34px}
.explore-panel h3{font-weight:400;font-size:clamp(21px,3vw,30px);margin:0 0 16px}
.explore-panel .body-copy{margin:0}
.explore-panel .mono{color:#a0b594}
.explore-choice{color:#c5cec2;background:#111813;border:1px solid #354437;min-height:45px;padding:9px 12px;font-size:12px;line-height:1.5;word-break:keep-all}
.explore-choice[aria-pressed=true]{border-color:#a8ff49b0;background:#171f14;color:#e4f5d7;box-shadow:0 0 12px #a8ff4925,inset 0 0 10px #a8ff4908}
.explore-choice:hover{border-color:#a8ff4980}
.relationship-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,72px)}
.relationship-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,56px);gap:18px;position:relative;isolation:isolate}
.relationship-map::before,.relationship-map::after,.relationship-ray{content:'';position:absolute;z-index:-1;background:#324437;pointer-events:none}
.relationship-map::before{width:67%;height:1px;top:50%;left:16.5%}
.relationship-map::after{height:67%;width:1px;left:50%;top:16.5%}
.relationship-ray{background:var(--neon);box-shadow:0 0 8px #a8ff49ad}
.relationship-map[data-active=user] .relationship-ray{width:1px;height:33%;left:50%;top:17%}
.relationship-map[data-active=taegeon] .relationship-ray{height:1px;width:33%;left:17%;top:50%}
.relationship-map[data-active=iseo] .relationship-ray{height:1px;width:33%;left:50%;top:50%}
.relationship-map[data-active=jaeyun] .relationship-ray{width:1px;height:33%;left:50%;top:50%}
.relationship-map [data-relation=user]{grid-area:1/2}
.relationship-map [data-relation=taegeon]{grid-area:2/1}
.relationship-map [data-relation=iseo]{grid-area:2/3}
.relationship-map [data-relation=jaeyun]{grid-area:3/2}
.relationship-center{grid-area:2/2;display:grid;place-items:center;background:#1d2c21;color:#e0edda;border:1px solid #4d6451;font-size:13px;font-weight:500}
.relationship-result{min-height:155px;padding:20px 0 20px 25px;border-left:1px solid #3c5140}
.floor-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:start}
.floor-switch,.scene-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.floor-switch .explore-choice,.scene-switch .explore-choice{min-width:62px}
.floor-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,minmax(48px,auto));gap:4px;background:#26332a;border:4px solid #26332a}
.floor-map[hidden]{display:none}
.floor-map .explore-choice{width:100%;height:100%;min-width:0;border-color:#243529;padding:6px;font-size:11px}
.floor-map .explore-choice[aria-pressed=true]{border-color:#a8ff49a0}
.floor-map [data-room=entry]{grid-area:3/1/4/3}
.floor-map [data-room=living]{grid-area:1/1/3/4}
.floor-map [data-room=kitchen]{grid-area:1/4/3/6}
.floor-map [data-room=pantry]{grid-area:1/6/3/7}
.floor-map [data-room=parents]{grid-area:3/3/4/6}
.floor-map [data-room=stairs]{grid-area:3/6/4/7}
.floor-map [data-room=do-gyeong]{grid-area:1/1/3/3}
.floor-map [data-room=tae-geon]{grid-area:1/3/3/6}
.floor-map [data-room=bath]{grid-area:1/6/3/7}
.floor-map [data-room=hall]{grid-area:3/1/4/5}
.floor-map [data-room=terrace]{grid-area:3/5/4/7}
.room-result{min-height:170px;padding-top:18px}
.scene-frame{min-height:280px;padding:clamp(23px,6vw,60px);position:relative;overflow:hidden;border:1px solid #2e3b32;background:radial-gradient(ellipse at 85% 0%,#15372a80,transparent 72%),#0a100e}
.scene-frame[data-scene=kitchen]{background:radial-gradient(ellipse at 85% 0%,#3d332280,transparent 72%),#100e0b}
.scene-frame[data-scene=car]{background:radial-gradient(ellipse at 85% 0%,#202c4480,transparent 72%),#0b0e13}
.scene-frame h3{margin:24px 0 17px;font-weight:400;font-size:clamp(21px,3.3vw,35px)}
.scene-frame .body-copy{max-width:44em;white-space:pre-line;color:#c1ccc2}
.route-note{margin-top:35px;border-top:1px solid #344337;padding-top:24px;max-width:850px}
.route-note .explore-choice{padding-inline:16px}
.route-note .body-copy{margin:0 0 12px}
.note-copy-status{color:#c2eea3;font-size:12px;margin-inline-start:12px}
.note-fallback{display:block;background:#121915;color:#e0eadc;border:1px solid #465b48;padding:14px;margin-top:16px;width:100%;font:inherit;font-size:13px;line-height:1.7}
.note-fallback[hidden]{display:none}
.bgm-player{position:fixed;z-index:20;right:max(22px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;background:#0d1510f2;color:#e0e9dd;border:1px solid #5c7959;box-shadow:0 4px 24px #0009;min-height:48px;padding:8px 13px}
.bgm-player[aria-pressed=true]{border-color:#a8ff49a0;box-shadow:0 0 12px #a8ff4928,0 4px 24px #0009}
.bgm-label{display:grid;gap:2px;text-align:left}
.bgm-label strong{font-size:11px;font-weight:500}
.bgm-label small{font:8px monospace;color:#a1bc96}
.bgm-wave{display:flex;align-items:center;gap:2px;width:17px;height:17px}
.bgm-wave i{width:2px;height:5px;background:#a8ff49;box-shadow:0 0 5px #a8ff4970}
.bgm-wave i:nth-child(2){height:11px;animation-delay:-.35s}
.bgm-wave i:nth-child(3){height:8px;animation-delay:-.65s}
.bgm-wave i:nth-child(4){height:4px;animation-delay:-.18s}
.bgm-player[aria-pressed=true] .bgm-wave i{animation-name:wave-bar;animation-duration:.9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes wave-bar{from{transform:scaleY(.45)}to{transform:scaleY(1.38)}}
.pool .reflection{position:absolute;inset:-35% -65%;opacity:.48;background:linear-gradient(113deg,transparent 39%,#92ff5115 46%,#b6ff6b25 48%,#74ffa020 49%,transparent 54%);filter:blur(16px);transform:translateX(-13%) rotate(-9deg);animation:reflect-water 18s ease-in-out infinite alternate}
@keyframes reflect-water{from{transform:translate(-15%,-5%) rotate(-9deg)}to{transform:translate(21%,8%) rotate(3deg)}}
footer{padding-bottom:85px}
@media(max-width:700px){
  .relationship-layout,.floor-layout{grid-template-columns:1fr;gap:22px}
  .relationship-map{gap:9px;grid-template-rows:repeat(3,47px)}
  .relationship-result{padding:15px 0 0;border-left:0;border-top:1px solid #3c5140;min-height:126px}
  .floor-map .explore-choice{font-size:10px}
  .room-result{padding-top:0;min-height:120px}
  .bgm-player{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:7px 10px}
  .scene-frame{min-height:290px}
}
@media(prefers-reduced-motion:reduce){
  .pool .reflection,.bgm-player[aria-pressed=true] .bgm-wave i{animation:none}
}
.explore-links{display:flex;flex-wrap:wrap;gap:0 25px;padding-block:12px;border-bottom:1px solid var(--line);font-family:inherit;letter-spacing:0}
.explore-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px;color:#c0cec0;white-space:nowrap}
.explore-links a span{color:var(--neon)}
@media(max-width:700px){
  .explore-links{gap:0 14px}
  .explore-links a{font-size:11px}
}

.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.inner-trigger{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:9px 14px;background:#080c09b5;border:1px solid #3e5a3c;color:#d2e5c9;font-size:12px}
.inner-trigger span{width:5px;height:5px;border-radius:50%;background:var(--neon);box-shadow:0 0 9px #a8ff49a0}
.inner-trigger:hover{border-color:var(--neon);box-shadow:0 0 13px #a8ff492c}
html:has(.inner-dialog[open]){overflow:hidden}
.inner-dialog{width:min(calc(100% - 32px),580px);max-height:calc(100dvh - 40px);padding:0;border:1px solid #55724b;background:#08110e;color:var(--white);box-shadow:0 0 36px #9af54f1c,0 24px 100px #000b}
.inner-dialog::backdrop{background:#020605de;backdrop-filter:blur(7px)}
.inner-dialog[open]{animation:inner-emerge .32s ease-out}
@keyframes inner-emerge{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.inner-content{position:relative;padding:clamp(24px,7vw,55px);background:radial-gradient(ellipse at 100% 0%,#25452b70,transparent 55%)}
.inner-close{position:absolute;right:15px;top:15px;display:grid;place-items:center;width:44px;height:44px;background:#0a110d;border:1px solid #3c553d;color:#d6e9cc;font-size:23px;line-height:1}
.inner-name{margin:0 0 11px;color:#adcd9a;font-size:12px;letter-spacing:2px}
.inner-dialog h2{margin:0 30px 28px 0;font-family:'Nanum Myeongjo','Noto Sans KR',serif;font-size:clamp(26px,6vw,38px);font-weight:400;line-height:1.4}
.inner-dialog blockquote{margin:0 0 30px;padding-left:18px;border-left:1px solid #a8ff4975;color:#c9d5ca;font-size:clamp(13px,3.2vw,15px);line-height:2.05;word-break:keep-all}
.inner-dialog blockquote p{margin:0 0 17px}
.inner-dialog blockquote p:last-child{margin-bottom:0}
.inner-last{color:#d8edcd}
.inner-music{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;background:#111c13;color:#dbead7;border:1px solid #577753}
.inner-music[aria-pressed=true]{border-color:#a8ff4980;box-shadow:0 0 10px #a8ff4929}
.inner-music[aria-pressed=true] .bgm-wave i{animation:wave-bar .9s ease-in-out infinite alternate}
.inner-music[aria-pressed=true] .bgm-wave i:nth-child(2){animation-delay:-.35s}
.inner-music[aria-pressed=true] .bgm-wave i:nth-child(3){animation-delay:-.65s}
.inner-music[aria-pressed=true] .bgm-wave i:nth-child(4){animation-delay:-.18s}
@media(max-width:700px){.hero-actions{gap:9px}.inner-trigger{padding-inline:10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.inner-dialog[open],.inner-music[aria-pressed=true] .bgm-wave i{animation:none}}

.profile-portrait{display:block;min-height:380px}
.profile-portrait::before,.profile-portrait::after{content:none}
.profile-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%}
.person-portrait{display:block;width:100%;height:auto;aspect-ratio:1216/832;object-fit:cover;border:1px solid #2d3c30;margin-bottom:24px}
@media(max-width:700px){
  .profile-portrait{min-height:0;aspect-ratio:1216/832}
}
