@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#eeeae0;background:#050b13;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{font:inherit;color:inherit;font-size:14px}button{cursor:pointer;border:1px solid #ffffff35;background:#222b27e8;padding:12px 18px;border-radius:3px}button:hover{background:#445047}button:focus-visible,a:focus-visible{outline:2px solid #ebc787;outline-offset:4px}button.active{background:#e6dcc6;color:#222c26;border-color:#e6dcc6}#worldStage{position:fixed;inset:0;touch-action:none;outline:0}canvas{display:block}header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:28px 34px;pointer-events:none;background:linear-gradient(#17231d94,transparent)}header>div,header nav{pointer-events:auto}header small,.eyebrow{font-size:12px;letter-spacing:.18em;color:#dbd9c6}h1{font-size:30px;font-weight:500;letter-spacing:.02em;margin:6px 0}header p{font-size:14px;margin:0;color:#e0e3d9}nav{display:flex;gap:8px}.buildingCard{position:fixed;left:34px;top:174px;width:265px;background:#1e2923e8;padding:20px 22px;border-top:2px solid #d5bc85;backdrop-filter:blur(14px)}.buildingCard h2{font-size:24px;font-weight:500;margin:11px 0 6px}.buildingCard p{font-size:14px;line-height:1.8;color:#d2d9ce;margin:7px 0 16px}.buildingCard button{width:100%;background:#d9c49a;border:0;color:#202b24}.buildingCard small{display:block;font-size:12px;line-height:1.7;color:#c4cbbf;margin-top:12px}#worldLocation{position:fixed;bottom:30px;left:34px;font-size:14px;color:#f0edde;text-shadow:0 2px 10px #000}#walkControls{position:fixed;left:32px;bottom:82px;text-align:center}#walkControls button{width:44px;height:44px;padding:0;margin:2px;font-size:22px;touch-action:none;user-select:none}#worldMap{position:fixed;bottom:28px;right:32px;width:224px;background:#1c2922ec;border:1px solid #ffffff30;padding:12px 14px}#worldMap summary{font-size:14px;cursor:pointer}#worldMap svg{width:100%;height:174px;display:block;margin-top:10px}#worldMap p{font-size:12px;color:#dfd1ac;margin:7px 0 0}#entranceAction{position:fixed;bottom:36px;left:50%;transform:translateX(-50%);background:#e7c68a;color:#263027;border:0;box-shadow:0 4px 30px #0004}#worldHint{position:fixed;bottom:38px;left:50%;transform:translateX(-50%);color:#fff;background:#17241fc9;padding:9px 16px;font-size:14px;border-radius:3px;pointer-events:none;max-width:45vw;text-align:center}#worldLoading,#transition{position:fixed;inset:0;display:grid;place-items:center;background:#1b2520;color:#e5dfce;font-size:16px;z-index:20}#transition{opacity:0;pointer-events:none;transition:opacity .35s}body.leaving #transition{opacity:1;pointer-events:auto}dialog{width:min(520px,calc(100vw - 32px));background:#253128;color:#eee8da;border:1px solid #84907b;padding:28px;line-height:1.9}dialog::backdrop{background:#1020169c}dialog h2{font-size:24px}dialog p{font-size:16px}dialog button{width:100%}[hidden]{display:none!important}body[data-mode=walk] .buildingCard{display:none}body[data-mode=overview] #walkControls{display:none}
@media(max-width:700px){header{padding:20px;gap:10px}h1{font-size:24px}header small{font-size:11px}header p{font-size:12px}nav{max-width:190px;flex-wrap:wrap;justify-content:flex-end;gap:5px}nav button{padding:9px 11px;font-size:13px}.buildingCard{left:20px;top:158px;width:220px;padding:16px}.buildingCard h2{font-size:21px}#worldMap{right:18px;bottom:22px;width:170px;padding:10px}#worldMap svg{height:130px}#worldLocation{left:20px;bottom:20px;max-width:45%;font-size:12px}#walkControls{left:16px;bottom:64px}#worldHint{bottom:220px;max-width:85vw;width:max-content;font-size:13px}#entranceAction{bottom:220px;width:max-content;max-width:90vw}#worldMap summary{font-size:13px}}
@media(max-height:540px){.buildingCard{top:135px;width:220px;padding:12px 16px}.buildingCard small{display:none}.buildingCard p{margin:4px 0 8px}.buildingCard h2{margin:5px 0}#worldMap svg{height:95px}#worldMap{width:165px}#worldHint,#entranceAction{bottom:24px}#worldLocation{bottom:12px}}
@media(prefers-reduced-motion:reduce){#transition{transition:none}}
nav .modeSwitch{display:inline-flex;align-items:center;justify-content:center;font-size:14px;padding:12px 18px;border:1px solid #d6c396;background:#e6dcc6;color:#222c26;border-radius:3px;text-decoration:none;white-space:nowrap}nav .modeSwitch:hover{background:#f5ecd5}@media(max-width:700px){nav .modeSwitch{padding:9px 11px;font-size:13px}}

/* Mobile controls leave the walking surface clear, including on narrow phones. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,nav a,#worldMap summary{min-height:44px}
#worldMap summary{display:list-item;align-content:center}
@media(max-width:900px){
 header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-top:calc(12px + env(safe-area-inset-top))}
 #worldMap{right:max(12px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100vw - 172px - env(safe-area-inset-left) - env(safe-area-inset-right))}
 #walkControls{left:max(10px,env(safe-area-inset-left));bottom:calc(68px + env(safe-area-inset-bottom))}
 #worldLocation{left:max(12px,env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 202px);font-size:11px}
 dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
 #closeHelp{position:sticky;bottom:0;background:#253128}
}
@media(max-width:700px){
 header{display:block}header small,header p{display:none}header h1{font-size:20px;margin:0 0 10px;white-space:nowrap}
 header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:4px;width:100%}
 header nav button,header nav .modeSwitch{padding:8px 4px;font-size:11px;white-space:nowrap;min-height:44px}
 #worldMap{padding:5px 9px;width:180px}#worldMap summary{font-size:11px}#worldMap p{font-size:11px}
 #worldHint,#entranceAction{bottom:calc(172px + env(safe-area-inset-bottom));font-size:12px;max-width:calc(100vw - 24px)}
 .buildingCard{top:calc(116px + env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));max-width:calc(100vw - 24px);padding:14px 18px}
}
@media(max-height:540px){#worldHint,#entranceAction{bottom:calc(18px + env(safe-area-inset-bottom))}}

#exhibitorDirectory{max-height:calc(100dvh - 32px);overflow:auto}.exhibitor-card{border-top:1px solid #ffffff30;margin:20px 0 26px;padding-top:12px}.exhibitor-card h3{margin:4px 0;font-size:24px;font-weight:500}.exhibitor-card p{color:#c4cbbf}.exhibitor-card>div{display:flex;flex-wrap:wrap;gap:12px}.exhibitor-card a{padding:10px 0;text-underline-offset:6px}

/* Visitor interface refinement · 2026-09-19 */
header{padding:20px 24px;align-items:center;gap:20px;background:linear-gradient(#0c1618c9,transparent)}header small{font-size:9px;letter-spacing:.22em}header h1{font-size:21px;margin:3px 0 0}header p{display:none}header nav{gap:5px;padding:5px;background:#15201ee8;border:1px solid #ffffff26;border-radius:12px}header nav button{font-size:12px;border-color:transparent;background:transparent;border-radius:7px;padding:10px 16px}header nav button:hover{background:#ffffff18}header nav button.active{background:#e6dcc6;color:#222c26}
#worldLocation{top:99px;bottom:auto;left:24px;max-width:70vw;padding:8px 12px;background:#14201de8;border:1px solid #ffffff20;border-radius:7px;font-size:12px}#walkControls{left:22px;bottom:24px}#walkControls button{border-radius:9px;background:#15201ee8}#worldMap{right:24px;bottom:24px;border-radius:10px;padding:4px 14px;width:220px;box-shadow:0 8px 28px #0002}#worldMap summary{font-size:12px}#worldMap[open]{padding-bottom:12px}#worldHint{bottom:24px;font-size:12px;border:1px solid #ffffff20;border-radius:8px;max-width:42vw;line-height:1.8}#entranceAction{bottom:24px;border-radius:9px}.buildingCard{top:151px;left:24px;border-radius:10px}.buildingCard h2{font-size:22px}dialog{border-color:#ffffff30;border-radius:14px;background:#18241f;box-shadow:0 24px 90px #0007}dialog::backdrop{background:#06110e99;backdrop-filter:blur(5px)}dialog h2{font-size:22px;font-weight:500}dialog p{font-size:14px}dialog button{border-radius:7px}.exhibitor-card>button{background:#e6dcc6;color:#222c26;margin-bottom:12px}.exhibitor-card a{font-size:13px}summary:focus-visible{outline:2px solid #ebc787;outline-offset:3px}
@media(max-width:700px){header{display:block;padding:12px}header h1{font-size:17px;margin:0 0 10px}header nav{display:grid;width:100%;max-width:none;padding:3px;gap:2px}header nav button{font-size:12px;padding:8px 3px}#worldLocation{top:112px;left:12px;font-size:11px;max-width:calc(100vw - 24px)}#walkControls{left:10px;bottom:calc(16px + env(safe-area-inset-bottom))}#worldMap{right:12px;bottom:calc(16px + env(safe-area-inset-bottom));width:170px;padding:4px 10px}#worldHint,#entranceAction{bottom:calc(132px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);font-size:11px}.buildingCard{top:158px;left:12px;width:230px}.buildingCard small{display:none}}
@media(max-height:540px){#worldLocation{top:85px}.buildingCard{top:130px}#worldHint{display:none}#worldMap svg{height:95px}}
