@font-face{font-family:Pretendard;src:url('../assets/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Pretendard;src:url('../assets/Pretendard-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--paper:#f9f6ef;--ink:#293f34;--muted:#647064;--ease:cubic-bezier(.22,.7,.25,1);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;overflow:hidden}body{background:var(--paper);font-family:Pretendard,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #42694b;outline-offset:4px}[hidden]{display:none!important}
.experience{position:relative;width:100%;height:100svh;overflow:hidden;isolation:isolate}.site-header{position:absolute;z-index:6;top:max(20px,env(safe-area-inset-top));left:40px;right:40px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;min-height:48px;font-size:23px;letter-spacing:-.045em}.brand img{width:32px;height:32px;object-fit:contain}.back-link{display:flex;gap:10px;align-items:center;min-height:48px;padding:0 4px;font-size:17px}.back-link>span{font-size:23px}.room-intro{position:absolute;z-index:4;top:112px;left:44px;pointer-events:none}.room-intro h1{margin:0;font-size:clamp(30px,2.6vw,42px);font-weight:400;line-height:1.2;letter-spacing:-.055em}.room-intro p{margin:14px 0 0;color:var(--muted);font-size:18px;line-height:1.6;letter-spacing:-.025em;max-width:240px}.scene-viewport{position:absolute;inset:62px 0 108px;overflow:hidden}.scene-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;transition:transform .48s var(--ease),opacity .24s ease}.scene-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.hotspots{position:absolute;inset:0}.hotspot{position:absolute;width:56px;height:56px;min-height:44px;transform:translate(-50%,-50%);display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:transparent;color:#293f34;touch-action:manipulation}.hotspot-dot{display:grid;place-items:center;width:28px;height:28px;font-size:20px;line-height:1;border-radius:50%;background:#fffdf6;border:1px solid #3f5e4259;box-shadow:0 2px 9px #29372820,0 0 0 5px #fffffb55;transition:transform .2s,box-shadow .2s,background .2s}.hotspot-dot.is-door{width:30px;height:30px}.hotspot:hover .hotspot-dot,.hotspot:focus-visible .hotspot-dot,.hotspot.is-indicated .hotspot-dot{transform:scale(1.15);background:#293f34;color:#fffdf6;box-shadow:0 2px 9px #29372820,0 0 0 8px #fffffb66}.hotspot-name{position:absolute;left:50%;top:53px;transform:translate(-50%,-3px);padding:7px 12px;white-space:nowrap;border-radius:4px;background:#fffdf6;box-shadow:0 4px 14px #263b2712;font-size:16px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.hotspot:hover .hotspot-name,.hotspot:focus-visible .hotspot-name,.hotspot.is-indicated .hotspot-name{opacity:1;transform:translate(-50%,0)}.is-focusing .hotspots{opacity:0;pointer-events:none}.is-focusing .scene-world{transition-duration:.28s}.room-footer{position:absolute;z-index:5;left:28px;right:28px;bottom:calc(14px + var(--safe-bottom));pointer-events:none}.provenance{font-size:15px;line-height:1.5;margin:12px 0 0;color:#657064;text-align:center;letter-spacing:-.015em}.object-tray{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:500px;max-width:100%;margin:0 auto;padding:5px;border:1px solid #344c3626;border-radius:15px;background:#fbf9f3f5;box-shadow:0 8px 26px #3a4a3010;pointer-events:auto;transition:opacity .18s;backdrop-filter:blur(14px)}.object-tray:focus{outline:none}.object-tray button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:64px;min-width:44px;padding:8px 5px;border:0;border-radius:10px;background:none;color:var(--ink);font-size:16px;line-height:1.15;white-space:nowrap;transition:background .16s,color .16s}.object-tray button:hover,.object-tray button:focus-visible{background:#e8ece2}.object-tray button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.object-tray button:focus-visible{outline-offset:-3px}.object-tray button:last-child{border-left:1px solid #344c3626;border-top-left-radius:0;border-bottom-left-radius:0}.light-transition{position:absolute;z-index:8;inset:0;background:#fffdf4;opacity:0;pointer-events:none;transition:opacity .1s ease}.light-transition.is-visible{opacity:1}
.courtyard{position:absolute;inset:62px 0 108px;background:var(--paper);overflow:visible}.courtyard-home{left:20%;top:32%}.courtyard-caption{position:fixed;z-index:5;left:50%;bottom:calc(48px + var(--safe-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:24px;width:max-content;max-width:calc(100% - 40px);color:var(--ink)}.courtyard-caption>span{font-size:18px}.return-room{min-height:52px;padding:12px 24px;border:1px solid #344c3633;border-radius:10px;background:#fbf9f3f5;color:var(--ink);font-size:18px;box-shadow:0 5px 18px #3a4a3010}.return-room:hover{background:#e8ece2}.return-room span{padding-right:9px}.experience[data-place=courtyard] .scene-viewport{opacity:0;pointer-events:none}.experience[data-place=courtyard] .object-tray{display:none}.skip-link{position:fixed;top:8px;left:8px;z-index:20;padding:14px 18px;background:#fffef4;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.scene-loading{position:absolute;z-index:9;left:50%;top:48%;transform:translate(-50%,-50%);font-size:19px;line-height:1.6;color:#53624f;max-width:calc(100% - 48px);width:360px;text-align:center;pointer-events:none}.experience[data-room-state=loading] #room-world{opacity:0}.experience[data-room-state=loading] .object-tray{opacity:.35;pointer-events:none}.experience[data-room-state=error] .object-tray{opacity:1;pointer-events:auto}.experience[data-room-state=error] #room-hotspots{visibility:hidden}.experience[data-room-state=error] #room-world{opacity:0}.is-traveling .hotspots,.is-traveling .courtyard-home,.is-traveling .object-tray,.is-traveling .courtyard-caption{opacity:0;pointer-events:none}.is-traveling .scene-world{transition-duration:.36s;transition-timing-function:cubic-bezier(.33,.04,.28,1)}.is-traveling[data-travel-phase=arriving] .scene-world{transition-duration:.36s;transition-timing-function:cubic-bezier(.18,.65,.25,1)}.camera-cut .scene-world{transition:none!important}.courtyard-caption,.courtyard-home{transition:opacity .18s ease}
@media(max-width:900px){.room-intro{top:102px;left:28px}.room-intro p{font-size:17px;max-width:none}.room-intro h1{font-size:32px}.site-header{left:28px;right:28px}}
@media(max-width:700px){.site-header{top:max(14px,env(safe-area-inset-top));left:22px;right:22px}.brand{font-size:22px;gap:8px}.brand img{width:29px;height:29px}.back-link{font-size:16px;gap:7px}.room-intro{top:102px;left:26px;right:26px}.room-intro h1{font-size:32px}.room-intro p{margin-top:11px;font-size:17px;line-height:1.5}.scene-viewport,.courtyard{inset:176px 0 calc(164px + var(--safe-bottom));overflow:hidden}.room-footer{left:18px;right:18px;bottom:calc(14px + var(--safe-bottom))}.object-tray{width:100%;border-radius:14px;padding:4px}.object-tray button{min-height:65px;font-size:16px;gap:8px}.object-tray button svg{width:22px;height:22px}.provenance{font-size:16px;line-height:1.5;margin-top:11px;letter-spacing:-.025em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}.hotspot-name{display:none}.hotspot{width:52px;height:52px}.hotspot-dot{width:27px;height:27px}.courtyard-caption{bottom:calc(82px + var(--safe-bottom));gap:20px}.courtyard-caption>span{font-size:17px}.return-room{min-height:54px}.scene-loading{font-size:18px;top:48%}}
@media(max-height:590px){.site-header{top:7px;left:20px;right:20px}.room-intro{top:72px;left:24px}.room-intro h1{font-size:25px}.room-intro p{font-size:15px;margin-top:8px;max-width:190px}.scene-viewport,.courtyard{inset:45px 0 120px}.room-footer{bottom:calc(8px + var(--safe-bottom))}.object-tray{width:390px}.object-tray button{min-height:48px;flex-direction:row;gap:6px;font-size:15px}.object-tray button svg{width:18px;height:18px}.provenance{margin-top:6px;font-size:15px;line-height:1.5}.courtyard-caption{bottom:calc(68px + var(--safe-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;scroll-behavior:auto!important}}

/* Do not offer clickable controls until the camera has arrived. */
.object-tray button:disabled,.hotspot:disabled,.return-room:disabled{cursor:wait}

/* Generic binding owns only room navigation, never content presentation. */
[data-site-template=room] .room-disclosure{font-size:14px;color:var(--muted);max-width:35%;text-align:right}
[data-site-template=room] .object-tray{display:flex;overflow-x:auto;justify-content:flex-start;width:max-content;max-width:100%;scrollbar-width:thin}
[data-site-template=room] .object-tray button{flex:0 0 auto;min-width:94px;max-width:180px;padding:8px 14px;white-space:normal;text-align:center}
[data-site-template=room] .object-tray button:last-child{border:0}
[data-site-template=room] .object-symbol{font-size:23px;line-height:1}
[data-site-template=room] .object-tray>p{padding:6px 18px;margin:0;font-size:18px}
[data-site-template=room] .room-intro h1{max-width:min(540px,85vw);overflow-wrap:anywhere}
[data-site-template=room] .room-intro p{max-width:430px}
[data-site-template=room] .is-unillustrated .scene-world{border-radius:32px;background:linear-gradient(160deg,#e6e5d7 0 62%,#c6d1bb 62%);box-shadow:inset 0 0 0 1px #ced4c6}
[data-site-template=room] .is-unillustrated .scene-viewport{inset:212px 3vw 145px}
[data-site-template=room] .is-unillustrated .hotspot{width:78px;height:78px}
[data-site-template=room] .object-image{position:absolute;inset:0;width:100%;height:100%;border-radius:12px;object-fit:cover;box-shadow:0 10px 20px #293f3430}
[data-site-template=room] .object-image + .hotspot-dot{position:absolute;right:-7px;bottom:-7px}
[data-site-template=room] .is-unillustrated .hotspot-name{opacity:1;top:calc(100% + 8px);max-width:160px;white-space:normal;font-size:15px}
@media(max-width:700px){[data-site-template=room] .object-tray button{min-width:100px;min-height:70px;font-size:16px}[data-site-template=room] .is-unillustrated .scene-viewport{inset:196px 0 155px}[data-site-template=room] .is-unillustrated .hotspot{width:58px;height:58px}[data-site-template=room] .room-disclosure{font-size:11px;max-width:38%}[data-site-template=room] .brand{font-size:19px;max-width:65%}[data-site-template=room] .room-intro h1{font-size:30px}[data-site-template=room] .room-intro p{font-size:16px}}

@font-face{font-family:RoomSerif;src:url('../assets/NanumMyeongjo-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
.room-eyebrow{display:none}
.room-eyebrow:empty{display:none}
.room-index-heading{display:none}
/* Desktop: an illustrated room, a quiet introduction, and an editorial index.
   The artwork carries material/light; the interface does not add fake 3D. */
@media(min-width:961px){
  :root{--paper:#f2efe7;--ink:#244438;--muted:#687264;--room-accent:#9b6046;--ease:cubic-bezier(.22,.72,.20,1)}
  body{background:var(--paper)}
  .experience{background:radial-gradient(ellipse at 72% 48%,#fcfaf140,transparent 64%)}
  .experience .site-header{top:0;left:5vw;right:5vw;height:76px;border-bottom:1px solid #29463517;align-items:center}
  .experience .brand{font-size:17px;gap:11px;letter-spacing:-.025em;max-width:65%}
  .experience .brand img{width:29px;height:29px;filter:brightness(.45);opacity:.8}
  .experience .back-link{font-size:14px;gap:16px}
  .experience .back-link>span{font-size:22px;color:var(--room-accent)}
  .experience .room-disclosure{font-size:12px;color:var(--muted);max-width:35%;line-height:1.6}
  .experience .room-intro{top:145px;left:6vw;right:auto;width:25vw;max-width:360px;transition:opacity .28s,transform .6s var(--ease)}
  .experience .room-intro h1{font-family:RoomSerif,Georgia,serif;font-weight:700;font-size:clamp(40px,3.4vw,52px);line-height:1.36;letter-spacing:-.065em;max-width:100%;word-break:keep-all;overflow-wrap:normal}
  .experience .room-intro .room-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.18em;color:var(--room-accent);margin:0 0 21px;max-width:none}
  .experience .room-intro .room-eyebrow:not(:empty){display:block}
  .experience .room-intro #room-instruction{font-size:20px;line-height:1.8;letter-spacing:-.035em;margin:26px 0 0;max-width:17em;word-break:keep-all}
  .experience .scene-viewport,.experience .courtyard{inset:100px 0 172px 23vw;background:transparent;overflow:hidden}
  .experience .scene-image{mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
  .experience .scene-world{transition:transform .65s var(--ease),opacity .25s ease}
  .experience.is-focusing .scene-world{transition-duration:.52s}
  .experience.is-focusing .room-intro,.experience.is-traveling .room-intro{opacity:0;transform:translateY(-12px)}
  .experience .hotspot{width:58px;height:58px}
  .experience .hotspot-dot{width:29px;height:29px;border:1px solid #f9f3e8d9;border-radius:50%;font-family:Georgia,serif;font-size:12px;line-height:1;color:#fffaf1;background:#8d5842;box-shadow:0 2px 4px #432d202b,0 0 0 5px #fff9ec66}
  .experience .hotspot-dot.is-door{font-family:Pretendard,sans-serif;font-size:18px;background:#f7f4eb;color:var(--ink);border-color:#53654b50}
  .experience .hotspot:hover .hotspot-dot,.experience .hotspot:focus-visible .hotspot-dot,.experience .hotspot.is-indicated .hotspot-dot{background:var(--ink);color:#fffdf5;box-shadow:0 2px 6px #29372826,0 0 0 7px #fffffb77;transform:scale(1.1)}
  .experience .hotspot-name{top:53px;padding:8px 13px;font-size:16px;line-height:1.5;letter-spacing:-.025em;border-radius:1px;background:#fbf8efeF;border:1px solid #ede6d7;box-shadow:0 8px 16px -9px #29372838;color:var(--ink)}
  .experience .room-footer{left:6vw;right:6vw;bottom:21px;transition:opacity .25s}
  .experience .room-index-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 15px;font-size:12px;letter-spacing:.01em;color:var(--muted)}
  .experience .room-index-heading>span:last-child{font-size:11px;letter-spacing:.04em;color:#8a8a78;font-variant-numeric:tabular-nums}
  .experience .room-footer .object-tray{display:flex;justify-content:flex-start;align-items:stretch;width:100%;max-width:100%;gap:0;overflow-x:auto;border:0;border-top:1px solid #36503930;border-radius:0;padding:14px 0 0;margin:0;background:transparent;box-shadow:none;backdrop-filter:none;scrollbar-width:thin;scrollbar-color:#84917d35 transparent}
  .experience .room-footer .object-tray button{position:relative;flex:1 0 auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:13px;min-width:130px;max-width:210px;min-height:53px;padding:6px 22px 6px 0;border:0;border-radius:0;background:none;color:var(--ink);font-size:18px;line-height:1.45;letter-spacing:-.035em;white-space:normal;text-align:left;transition:color .2s,background .2s}
  .experience .room-footer .object-tray button+button{padding-left:22px;border-left:1px solid #36503913}
  .experience .room-footer .object-tray button:last-child{margin-left:auto;max-width:160px}
  .experience .room-footer .object-tray button:hover,.experience .room-footer .object-tray button:focus-visible{color:var(--room-accent);background:#faf6ec70}
  .experience .room-footer .object-tray button:focus-visible{outline-offset:-1px;outline-width:2px}
  .experience .object-symbol{align-self:center;min-width:22px;font-family:Georgia,serif;font-size:13px;line-height:1;color:var(--room-accent);letter-spacing:0}
  .experience .room-footer .object-tray button svg{width:22px;height:22px;flex:none;stroke-width:1.3;color:var(--room-accent)}
  .experience .provenance{font-size:11px;line-height:1.7;letter-spacing:.01em;color:#858777;margin-top:16px;text-align:left}
  .experience.is-focusing .room-footer{opacity:.25}
  .experience .scene-loading{left:62%;top:45%;font-size:20px;color:var(--muted)}
  .experience .courtyard-caption{left:auto;right:6vw;bottom:60px;transform:none;justify-content:flex-end;gap:28px;color:var(--muted)}
  .experience .courtyard-caption>span{font-size:16px}
  .experience .return-room{min-height:46px;padding:8px 0;border:0;border-bottom:1px solid #46604770;border-radius:0;background:none;font-size:18px;color:var(--ink);box-shadow:none}
  .experience .return-room:hover{color:var(--room-accent)}
  .experience .return-room span{color:var(--room-accent);padding-right:14px}
  .experience[data-place=courtyard] .room-index-heading{display:none}
  .experience .light-transition{background:#f8f6ed}
  [data-site-template=room] .experience.is-unillustrated .scene-viewport{inset:124px 4vw 180px 34vw;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#84917d50 transparent;padding:20px}
  /* Without an illustration there are no object coordinates to approach.
     Let complete thumbnail labels determine row height and scroll naturally. */
  [data-site-template=room] .experience.is-unillustrated #room-world{position:relative;width:100%!important;height:auto!important;min-height:100%;transform:none!important;border-radius:2px;background:#e9e6db;box-shadow:inset 0 0 0 1px #d2d5c8}
  [data-site-template=room] .experience.is-unillustrated .hotspots{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));align-items:start;gap:26px 18px;padding:30px 20px}
  [data-site-template=room] .experience.is-unillustrated .hotspot{position:relative;left:auto!important;top:auto!important;transform:none;display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:auto;min-height:150px;max-width:100%;padding:0;border-radius:1px}
  [data-site-template=room] .experience.is-unillustrated .object-image{position:relative;inset:auto;width:112px;height:84px;flex:none;border-radius:1px;border:5px solid #fbf8ee;box-shadow:0 3px 4px #293f341c,0 15px 22px -12px #293f3440}
  [data-site-template=room] .experience.is-unillustrated .hotspot-dot{position:relative;inset:auto;flex:none;margin:29px 0 26px}
  [data-site-template=room] .experience.is-unillustrated .object-image+.hotspot-dot{position:absolute;top:65px;left:calc(50% + 40px);right:auto;bottom:auto;margin:0}
  [data-site-template=room] .experience.is-unillustrated .hotspot-name{position:static;max-width:100%;transform:none;opacity:1;margin:0;padding:14px 8px 0;white-space:normal;overflow-wrap:anywhere;font-size:16px;line-height:1.5;background:none;border:0;box-shadow:none}
}
@media(min-width:961px) and (max-height:760px){
  .experience .room-intro{top:119px}
  .experience .room-intro h1{font-size:40px}
  .experience .room-intro #room-instruction{font-size:20px;line-height:1.65;margin-top:20px}
  .experience .scene-viewport,.experience .courtyard{inset:88px 0 150px 22vw}
  .experience .room-footer{bottom:14px}
  .experience .room-index-heading{margin-bottom:10px}
  .experience .room-footer .object-tray{padding-top:9px}
  .experience .provenance{margin-top:10px}
}

/* Optional private-review entries. No entry is rendered without previewAreas. */
.room-extension-links{position:absolute;z-index:5;left:6vw;top:390px;width:min(24vw,320px);display:grid;gap:5px;transition:opacity .25s}
.room-extension-kicker{font-size:10px;letter-spacing:.06em;color:#777f70;margin-bottom:8px}
.room-extension-links button{display:flex;align-items:center;gap:13px;min-height:65px;padding:11px 0;border:0;border-top:1px solid #29463525;background:transparent;text-align:left;color:var(--ink)}
.room-extension-links button>span:first-child{font-size:23px;color:#9b6046}
.room-extension-links strong{display:block;font-size:18px;font-weight:400;letter-spacing:-.025em}
.room-extension-links small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.room-extension-links em{font-size:10px;font-style:normal;border:1px solid #9b604640;padding:3px 5px;margin-left:auto;color:#9b6046;white-space:nowrap}
.room-extension-links button:hover strong{color:#9b6046}.room-extension-links button:disabled{cursor:wait}
.is-traveling .room-extension-links,.is-focusing .room-extension-links{opacity:0;pointer-events:none}
.experience[data-place=courtyard] .room-extension-links{display:none}
.reception-object{position:absolute;left:51%;top:57%;transform:translate(-50%,-50%);width:23%;min-width:115px;padding:0;border:0;background:none;color:#294635;filter:drop-shadow(0 10px 10px #3a38261a)}
.reception-object svg{width:100%;display:block;transition:transform .3s}
.reception-object>span{display:block;position:absolute;top:73%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;background:#fff9ed;border:1px solid #967c5533;padding:7px 10px;box-shadow:0 5px 12px #423b2820}
.reception-object>span b{font-weight:400;padding-left:6px}
.reception-object:hover svg{transform:translateY(-4px)}
.reception-read{min-height:46px;padding:8px 16px;border:1px solid #29463540;background:#fff9ed;color:#294635;font-size:18px}
.reception-read:hover{background:#e9ecdf}
.is-traveling .reception-object{opacity:0;pointer-events:none}
@media(min-width:961px) and (max-height:800px){.has-preview-areas .room-intro{top:110px}.has-preview-areas .room-intro h1{font-size:36px}.has-preview-areas .room-intro #room-instruction{font-size:17px;margin-top:16px}.has-preview-areas .room-intro .room-eyebrow{margin-bottom:12px}.room-extension-links{top:320px}.room-extension-links button{min-height:59px}}
@media(max-width:960px){.room-extension-links{left:auto;right:26px;top:105px;width:220px}.room-extension-kicker{display:none}.room-extension-links button{min-height:51px}.room-extension-links strong{font-size:15px}.room-extension-links small{font-size:11px}.room-extension-links em{display:none}.room-extension-links button>span:first-child{font-size:17px}}
@media(max-width:700px){.has-preview-areas .room-intro{right:26px}.has-preview-areas .scene-viewport,.has-preview-areas .courtyard{top:270px}.room-extension-links{left:26px;right:26px;top:200px;width:auto;grid-template-columns:1fr 1fr;gap:16px}.room-extension-links small{display:none}.room-extension-links button{min-height:44px}.has-preview-areas .courtyard-caption{flex-wrap:wrap;gap:12px}.has-preview-areas .courtyard-caption>span{display:none}.reception-read{font-size:16px}.reception-object>span{font-size:11px}}

/* Compact desktop: reserve real rows for the introduction and new entrances.
   They must not float over the illustration when width or height is limited. */
@media(min-width:701px) and (max-width:960px),(min-width:961px) and (max-height:620px){
  .experience.has-preview-areas{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr);grid-template-rows:64px auto minmax(200px,1fr) auto;grid-template-areas:"header header" "intro entries" "scene scene" "footer footer";column-gap:28px;padding:0 24px 12px;overflow-x:hidden;overflow-y:auto}
  .experience.has-preview-areas .site-header{position:relative;inset:auto;grid-area:header;height:64px;min-width:0;border-bottom:1px solid #29463517}
  .experience.has-preview-areas .room-intro{position:relative;inset:auto;grid-area:intro;width:auto;max-width:none;padding:16px 0 10px}
  .experience.has-preview-areas .room-intro h1{max-width:none;font-size:28px;line-height:1.3}
  .experience.has-preview-areas .room-intro .room-eyebrow{margin:0 0 6px;font-size:9px}
  .experience.has-preview-areas .room-intro #room-instruction{max-width:none;margin-top:8px;font-size:15px;line-height:1.55}
  .experience.has-preview-areas .room-extension-links{position:relative;inset:auto;grid-area:entries;width:auto;margin:14px 0 8px;align-self:start;gap:0}
  .experience.has-preview-areas .room-extension-kicker{display:none}
  .experience.has-preview-areas .room-extension-links button{min-height:48px;padding:9px 0;gap:10px}
  .experience.has-preview-areas .room-extension-links strong{font-size:15px}
  .experience.has-preview-areas .room-extension-links small{font-size:11px;margin-top:4px}
  .experience.has-preview-areas .scene-viewport,.experience.has-preview-areas .courtyard{position:relative;inset:auto;grid-area:scene;min-width:0;min-height:200px;margin:0 -24px;overflow:hidden}
  .experience.has-preview-areas .room-footer{position:relative;inset:auto;grid-area:footer;min-width:0;margin-top:10px}
  .experience.has-preview-areas .room-footer .object-tray{width:100%;max-width:100%}
  .experience.has-preview-areas .provenance{font-size:11px;line-height:1.6;margin-top:8px}
  .experience.has-preview-areas[data-place=courtyard] .room-intro{grid-column:1/-1}
  .experience.has-preview-areas .courtyard-caption{position:absolute;left:50%;right:auto;bottom:12px;transform:translateX(-50%);gap:20px;max-width:calc(100% - 48px)}
}

/* 공유 범위 표시. 번호 색만 바꾸는 합성 시연이며 접근 제한이 아니다. */
.experience .hotspot-dot.is-public{background:#3f6b4a;color:#f6fbf4;border-color:#eaf3e6cc}
.experience .hotspot-dot.is-family{background:#a8453a;color:#fdf3f0;border-color:#f7e6e1cc}
.experience .hotspot:hover .hotspot-dot.is-public,.experience .hotspot:focus-visible .hotspot-dot.is-public,.experience .hotspot.is-indicated .hotspot-dot.is-public{background:#2e5038;color:#f6fbf4}
.experience .hotspot:hover .hotspot-dot.is-family,.experience .hotspot:focus-visible .hotspot-dot.is-family,.experience .hotspot.is-indicated .hotspot-dot.is-family{background:#82322a;color:#fdf3f0}
.object-tray button .object-symbol.is-public{color:#3f6b4a}
.object-tray button .object-symbol.is-family{color:#a8453a}
.share-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 20px;margin:0 0 13px;pointer-events:none;font-size:12px;line-height:1.6;color:var(--muted)}
.share-legend b{display:inline-flex;align-items:center;gap:7px;font-weight:400;letter-spacing:-.01em}
.share-legend i{width:10px;height:10px;border-radius:50%;flex:none}
.share-legend .is-public i{background:#3f6b4a}
.share-legend .is-family i{background:#a8453a}
.share-legend em{font-style:normal;font-size:11px;color:#8d8d7b;letter-spacing:-.01em}
@media(max-width:700px){.share-legend{gap:5px 14px;margin-bottom:10px;font-size:11px}.share-legend em{flex:1 0 100%;text-align:center}}
