.seoul-world{position:relative;isolation:isolate;width:100%;height:100%;min-height:560px;overflow:hidden;background:#b7c8bf;color:#fff5dd;font-family:inherit;border-radius:inherit}.seoul-world>div:first-child:not([class]){position:absolute!important;inset:0}.seoul-world canvas{display:block;touch-action:none;outline:none}.seoul-world canvas:focus-visible{outline:2px solid #e8c77f;outline-offset:-4px}.seoul-world__scene-tag{position:absolute;left:22px;top:22px;display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #ffffff36;border-radius:30px;background:#143b34cf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:11px;letter-spacing:.02em;pointer-events:none}.seoul-world__live-dot{width:6px;height:6px;border-radius:50%;background:#d0dfac;box-shadow:0 0 8px #b2ce8e66}.seoul-world__divider{opacity:.4}.seoul-world__map{position:absolute;top:22px;right:22px;width:112px;height:148px;border:1px solid #ffffff38;border-radius:14px;background:#183d36d9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 20px #122c231c;pointer-events:none}.seoul-world__map-label{position:absolute;top:11px;width:100%;font-size:8px;font-weight:700;letter-spacing:.12em;text-align:center}.seoul-world__map-road{position:absolute;inset:28px 24px 20px;background:#b6c4a81a;border-left:1px solid #f5efd31e;border-right:1px solid #f5efd31e}.seoul-world__map-road:after{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed #f5efd333}.seoul-world__map-resident{position:absolute;width:6px;height:6px;border:1px solid #f4e8b9;border-radius:50%;background:#b8d1ab;transform:translate(-50%,-50%)}.seoul-world__map-resident.is-active{background:#f4c767;box-shadow:0 0 6px #f6d892}.seoul-world__map-player{position:absolute;display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:11px solid #fff2ca;transform-origin:center}.seoul-world__map-coords{position:absolute;bottom:7px;width:100%;font-size:8px;letter-spacing:.04em;text-align:center;opacity:.65;font-variant-numeric:tabular-nums}.seoul-world__reticle{position:absolute;top:50%;left:50%;width:4px;height:4px;border:1px solid #fff8d5a6;border-radius:50%;box-shadow:0 0 4px #132e25;pointer-events:none}.seoul-world__bottom{position:absolute;bottom:39px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;pointer-events:none}.seoul-world__controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:310px;padding:12px 14px;border:1px solid #fff4d529;border-radius:12px;background:#173a33d6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:10px;color:#f9f0d1;pointer-events:auto}.seoul-world__controls>span{display:flex;align-items:center;gap:3px;white-space:nowrap}.seoul-world kbd{font-family:inherit;font-size:9px;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:18px;padding:0 4px;border:1px solid #eee7ce4d;border-radius:4px;background:#ffffff0c}.seoul-world button{font:inherit;cursor:pointer;touch-action:manipulation}.seoul-world button:focus-visible{outline:2px solid #f0d18a;outline-offset:4px}.seoul-world button:disabled{cursor:wait;opacity:.5}.seoul-world__controls button{padding:0;color:#f1dba7;border:0;background:none;font-size:10px;text-decoration:underline;text-underline-offset:3px}.seoul-world__encounter{display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:auto}.seoul-world__nearby{font-size:9px;letter-spacing:.09em;font-weight:700;text-shadow:0 1px 6px #173a33,0 1px 4px #173a33}.seoul-world__encounter>button{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:183px;padding:14px 17px;background:#f0dfb1;color:#1c4034;border:1px solid #fff4d4a6;border-radius:10px;font-size:13px;font-weight:700;box-shadow:0 4px 18px #122f2736}.seoul-world__encounter>button:hover{background:#fff0c7;transform:translateY(-1px)}.seoul-world__encounter kbd{border-color:#38513b4d;background:#33462a0b}.seoul-world__explore-hint{font-size:11px;text-shadow:0 1px 5px #16372d}.seoul-world__inspiration{position:absolute;bottom:14px;left:22px;font-size:8px;letter-spacing:.03em;color:#fff6dfc2;text-shadow:0 1px 4px #173a33;pointer-events:none}.seoul-world__notice{position:absolute;top:80px;left:22px;max-width:min(360px,calc(100% - 160px));display:flex;align-items:center;gap:12px;padding:13px 15px;background:#f0e3c6f2;border:1px solid #fff7e1;border-radius:10px;color:#294538;font-size:11px;line-height:1.55}.seoul-world__notice button{margin-left:auto;padding:0 4px;border:0;background:none;font-size:20px;color:inherit}.seoul-world__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:13px 18px;background:#173c34ed;color:#fff0cd;border:1px solid #fff3d33b;border-radius:12px;font-size:12px;pointer-events:none;white-space:nowrap}.seoul-world__spinner{width:13px;height:13px;border:2px solid #fff4d34a;border-top-color:#fff4d3;border-radius:50%;animation:seoul-world-spin 1s linear infinite}@keyframes seoul-world-spin{to{transform:rotate(360deg)}}.seoul-world__failure{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:50px;background:#234a3e;color:#fff1d1;text-align:center;line-height:1.6}.seoul-world__failure strong{font-size:22px;font-weight:500}.seoul-world__failure p{max-width:370px;font-size:13px;margin:0}.seoul-world__failure button{padding:12px 18px;border:1px solid #dfc996;background:#efdfb7;border-radius:8px;color:#254535}.seoul-world__touch{position:absolute;bottom:115px;left:22px;display:none;grid-template-columns:repeat(3,38px);gap:5px}.seoul-world__touch button{height:38px;border:1px solid #fff3d550;border-radius:8px;background:#1b4238d9;color:#fff1d0;font-size:17px;touch-action:none;-webkit-user-select:none;user-select:none}.seoul-world__touch button:first-child{grid-column:2}.seoul-world__touch button:nth-child(2){grid-column:1}.seoul-world__touch button:active{background:#53725b}@media(pointer:coarse){.seoul-world__touch{display:grid}.seoul-world__controls{max-width:180px}.seoul-world__controls>span:nth-child(2){display:none}}@media(max-width:700px){.seoul-world{min-height:500px}.seoul-world__map{width:86px;height:123px;top:14px;right:14px}.seoul-world__scene-tag{top:14px;left:14px;max-width:calc(100% - 124px);font-size:9px;padding:9px 11px;flex-wrap:wrap;gap:5px}.seoul-world__bottom{left:14px;right:14px;bottom:38px;gap:9px}.seoul-world__controls{padding:10px;max-width:160px;gap:8px;font-size:9px}.seoul-world__controls>span:nth-child(2){display:none}.seoul-world__nearby{max-width:185px;text-align:right;font-size:8px}.seoul-world__encounter>button{min-width:150px;font-size:12px;padding:12px}.seoul-world__explore-hint{font-size:10px;max-width:160px;text-align:right}.seoul-world__inspiration{left:14px;font-size:7px}.seoul-world__notice{left:14px;max-width:calc(100% - 125px);font-size:10px}}@media(prefers-reduced-motion:reduce){.seoul-world__spinner{animation:none}.seoul-world__encounter>button:hover{transform:none}}.seoul-world__immersion{position:absolute;top:184px;right:22px;z-index:3;width:min(260px,calc(100% - 44px));font-size:11px}.seoul-world__display-actions{display:flex;justify-content:flex-end;gap:6px}.seoul-world__display-actions button{border:1px solid #ffffff50;border-radius:8px;background:#163f37ed;color:#fff2d5;padding:9px 10px;font:inherit;cursor:pointer}.seoul-world__display-actions button:hover:not(:disabled){background:#28564a;color:#fff2d5}.seoul-world__display-actions button:disabled{opacity:.65;cursor:default}.seoul-world__display-actions button:focus-visible,.seoul-world__xr-help summary:focus-visible{outline:2px solid #e8c77f;outline-offset:3px}.seoul-world__xr-help{margin-top:7px;text-align:right}.seoul-world__xr-help summary{display:inline-block;padding:6px 9px;border-radius:6px;background:#163f37ed;cursor:pointer;color:#fff2d5;list-style:none}.seoul-world__xr-help[open]{padding:10px;max-height:270px;overflow:auto;background:#163f37f5;border:1px solid #ffffff42;border-radius:10px;text-align:left;line-height:1.6}.seoul-world__xr-help[open] summary{padding:0;font-weight:700}.seoul-world__xr-help p{margin:9px 0 0}.seoul-world__xr-status{padding:8px 10px;margin:7px 0 0;border-radius:8px;background:#163f37ed;color:#fff2d5;line-height:1.5}.korean-app:fullscreen{overflow:auto;background:#f5f2e9;min-height:100vh}.seoul-world:fullscreen{height:100vh;border-radius:0}.korean-app:xr-overlay .world-panel,.korean-app:xr-overlay .world-viewport{background:transparent}.korean-app:xr-overlay .seoul-world{background:transparent}.korean-app:xr-overlay .seoul-world canvas{visibility:hidden}@media(max-width:700px){.seoul-world__immersion{top:148px;right:14px;width:min(245px,calc(100% - 28px));font-size:10px}.seoul-world__display-actions button{padding:8px}.seoul-world__xr-help[open]{max-height:230px}}.fine-print.seoul-world__voice-help{font-size:12px;line-height:1.6;color:#48604f;padding:0 4px;overflow-wrap:anywhere}:root{font-family:Inter,Noto Sans KR,Malgun Gothic,system-ui,sans-serif;color:#213b32;background:#f2efe7;font-synthesis:none;line-height:1.6;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b47b2b;outline-offset:3px}button{border:1px solid #c8cec3;border-radius:8px;background:#faf8f0;color:#244d40;padding:8px 12px}button:hover:not(:disabled){background:#e7eadf}input,select,textarea{border:1px solid #c4ccbf;border-radius:7px;background:#fffdf7;color:#234638;padding:9px;min-width:0;width:100%}label{display:flex;flex-direction:column;gap:4px;font-size:12px}h1,h2,p{margin:0}h1{font-size:30px;letter-spacing:-.04em;font-weight:600}h2{font-size:17px;font-weight:650}h2 small{display:block;font-size:11px;font-weight:400;color:#687c6f}.masthead{height:90px;display:flex;align-items:center;gap:38px;max-width:1580px;margin:auto;padding:0 38px;border-bottom:1px solid #ccd2c4}.brand{display:flex;align-items:baseline;gap:10px;font-size:29px;font-weight:750;letter-spacing:-.08em;text-decoration:none;color:#224f40}.brand span{font-size:23px;font-weight:400;letter-spacing:-.04em}.eyebrow{font-size:10px;letter-spacing:.13em;color:#657969}.session-badge{margin-left:auto;border:1px solid #b8c5b4;border-radius:20px;background:#e5eadd;color:#496147;font-size:10px;padding:5px 11px;letter-spacing:.05em}.districts{max-width:1580px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);padding:14px 38px;gap:8px}.districts button{display:grid;grid-template-columns:25px 1fr;text-align:left;padding:10px 14px;border:1px solid transparent;background:none;border-radius:8px}.districts button small{grid-row:span 2;color:#748573;font-size:10px}.districts button span{font-size:16px;font-weight:650}.districts button em{font-size:10px;font-style:normal;color:#73816e}.districts button[aria-current]{background:#244e40;color:#fff1d1;border-color:#244e40}.districts button[aria-current] small,.districts button[aria-current] em{color:#c6d0b8}.social-layout{max-width:1580px;margin:auto;padding:6px 38px 38px;display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:24px;align-items:start}.street-panel{min-width:0;position:sticky;top:0}.street-heading{padding:9px 0 18px;display:flex;justify-content:space-between;gap:18px;align-items:end}.street-heading p{font-size:12px;color:#6b7d70;max-width:260px}.seoul-world{height:calc(100vh - 275px);min-height:510px;border-radius:16px;overflow:hidden;position:relative;background:#214c3e}.seoul-world canvas{touch-action:none}.street-tag{position:absolute;top:18px;left:18px;display:grid;grid-template-columns:8px 1fr;gap:0 9px;border-radius:10px;padding:10px 14px;background:#193e34ed;color:#fff0cf;font-size:16px;pointer-events:none}.street-tag small{grid-column:2;font-size:10px;color:#d1d6bc}.live-dot{background:#b8d29a;width:6px;height:6px;border-radius:50%;margin-top:10px}.walk-help{position:absolute;bottom:38px;left:18px;padding:10px 14px;background:#193e34e8;color:#f7e9c6;border:1px solid #f4e3bf3b;border-radius:10px;font-size:11px;max-width:300px}.walk-help label{font-size:10px;margin-top:7px;flex-direction:row;align-items:center;gap:8px}.walk-help select{font-size:10px;max-width:180px;background:#2a5143;color:#fff2d2;padding:5px;border-color:#ffffff50}.seoul-world__immersion{top:18px;right:18px;width:210px}.seoul-world__touch{display:grid;bottom:170px;left:18px;grid-template-columns:repeat(3,36px)}.world-footnote{font-size:10px;color:#71806f;padding:12px 4px}.social-panel{display:flex;flex-direction:column;gap:14px;min-width:0}.social-panel>section{background:#faf8f0;border:1px solid #d0d7c8;border-radius:14px;padding:17px}.social-panel h2{margin-bottom:12px}.room-card form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{background:#29533f;border-color:#29533f;color:#fff2d6}.primary:hover:not(:disabled){background:#38674f}.fine-print{font-size:10px;color:#6c7d6a;line-height:1.7;margin-top:10px}.connection-status{font-size:11px;margin-top:11px;color:#48694f}.card-title{display:flex;justify-content:space-between;align-items:start;gap:10px}.card-title button{font-size:10px;padding:4px 8px}.chat-history{height:180px;overflow:auto;overscroll-behavior:contain;background:#eef0e5;border-radius:9px;padding:10px}.chat-history p{padding:8px;border-bottom:1px solid #dce2d3;overflow-wrap:anywhere;white-space:pre-wrap}.chat-history p strong{display:block;font-size:10px;color:#64795e}.chat-history p span{display:block;font-size:14px;color:#254b3b}.chat-history .own-message{background:#e2e8d7;border-radius:8px}.empty-chat{color:#708266;padding:26px 6px!important;font-size:14px;text-align:center}.empty-chat small{display:block;font-size:11px;margin-top:9px}.composer{display:flex;gap:7px;margin-top:10px;align-items:stretch}.composer textarea{resize:vertical;min-height:58px;max-height:140px;line-height:1.6}.composer button{padding:8px 10px}.phrase-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.phrase-chips button{font-size:11px;padding:4px 7px}.voice-actions{display:flex;flex-wrap:wrap;gap:7px}.voice-actions+button{margin-top:7px}.voice-actions button:first-child{touch-action:none;-webkit-user-select:none;user-select:none;background:#e4e8d8}.voice-actions button.talking{background:#477859;color:#fff}.people-card ul{list-style:none;padding:0;margin:0}.people-card li{padding:9px 0;border-top:1px solid #dfe3d7;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.people-card li small{display:block;font-size:10px;color:#788370}.people-card li>div{display:flex;gap:3px}.people-card button{font-size:9px;padding:4px 5px}.notice{background:#e9dfbd;border:1px solid #cbbd90;border-radius:10px;padding:13px;font-size:12px;display:flex;gap:8px;align-items:center}.notice button{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.korean-app:fullscreen{overflow:auto;background:#f2efe7}.korean-app:xr-overlay{background:transparent;overflow:auto}.korean-app:xr-overlay .street-panel{display:none}.korean-app:xr-overlay .social-layout{display:block}.korean-app:xr-overlay .social-panel{max-width:360px;margin-left:auto}.korean-app:xr-overlay .masthead,.korean-app:xr-overlay .districts{display:none}@media(max-width:1100px){.masthead{padding:0 20px;gap:20px}.districts{padding:12px 20px}.social-layout{padding:6px 20px 30px;gap:16px;grid-template-columns:minmax(0,1fr) 320px}.street-heading{display:block}.street-heading p{max-width:none;margin-top:7px}.street-tag{font-size:13px;max-width:160px}.seoul-world__immersion{width:175px}.seoul-world{min-height:530px}.masthead>.eyebrow{display:none}}@media(max-width:800px){.masthead{height:72px;padding:0 16px}.brand{font-size:25px}.brand span{font-size:20px}.session-badge{font-size:8px;padding:4px 7px}.districts{padding:10px 12px;grid-template-columns:repeat(3,1fr);gap:4px}.districts button{padding:7px 8px}.districts button span{font-size:14px}.social-layout{display:flex;flex-direction:column;padding:0 12px 24px;gap:12px}.street-panel{position:static;width:100%}.street-heading{padding:7px 4px 12px}.street-heading h1{font-size:25px}.street-heading p{font-size:11px}.seoul-world{height:57svh;min-height:410px}.social-panel{width:100%}.walk-help{font-size:10px;left:12px;bottom:35px;padding:8px 10px}.walk-help label{font-size:9px}.walk-help select{max-width:168px}.street-tag{left:12px;top:12px;font-size:12px;padding:8px;max-width:145px}.street-tag small{font-size:8px}.seoul-world__immersion{top:12px;right:12px;width:160px;font-size:9px}.seoul-world__display-actions button{font-size:9px;padding:7px}.seoul-world__touch{left:12px;bottom:145px}.seoul-world__inspiration{font-size:7px}.social-panel>section{padding:15px}.chat-history{height:220px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.xr-hud-preview-toggle{position:absolute;top:174px;right:18px;z-index:3;background:#183e34ed;color:#f8efd7;font-size:11px;border:1px solid #e0e6d950;padding:9px 12px}.xr-hud-preview-toggle[aria-pressed=true]{background:#d7dcbf;color:#203e32}.xr-hud-preview-toggle:hover:not(:disabled){background:#355d49;color:#fff3d3}.seoul-world[data-hud-preview=true] .street-tag,.seoul-world[data-hud-preview=true] .seoul-world__immersion,.seoul-world[data-hud-preview=true] .walk-help,.seoul-world[data-hud-preview=true] .seoul-world__touch,.seoul-world[data-hud-preview=true] .seoul-world__inspiration{display:none}.korean-app:xr-overlay{overflow:hidden;pointer-events:none;background:transparent}.korean-app:xr-overlay .social-layout{display:block;padding:0}.korean-app:xr-overlay .street-panel{display:block;position:static}.korean-app:xr-overlay .social-panel,.korean-app:xr-overlay .masthead,.korean-app:xr-overlay .districts,.korean-app:xr-overlay .street-heading,.korean-app:xr-overlay .world-footnote,.korean-app:xr-overlay .seoul-world__voice-help,.korean-app:xr-overlay .street-tag,.korean-app:xr-overlay .seoul-world__immersion,.korean-app:xr-overlay .walk-help,.korean-app:xr-overlay .seoul-world__touch,.korean-app:xr-overlay .seoul-world__inspiration,.korean-app:xr-overlay .xr-hud-preview-toggle{display:none}.korean-app:xr-overlay .seoul-world{height:100vh;background:transparent}@media(max-width:800px){.xr-hud-preview-toggle{top:152px;right:12px;max-width:160px;font-size:10px}}.avatar-preview{border:1px solid #ccd2c2;border-radius:10px;overflow:hidden;background:#e8e7db;margin:3px 0}.preview-heading{display:flex;align-items:center;gap:8px;padding:10px 12px 0}.preview-heading span{font-size:8px;letter-spacing:.13em;color:#61715d}.preview-heading strong{font-size:13px;font-weight:600}.preview-heading small{margin-left:auto;font-size:9px;color:#71816a}.preview-stage{height:235px;touch-action:pan-y}.preview-stage canvas{touch-action:none}.preview-actions{display:flex;justify-content:center;gap:6px;padding:0 12px}.preview-actions button{font-size:10px;padding:5px 14px;border-radius:20px}.preview-actions button[aria-pressed=true]{background:#29533f;border-color:#29533f;color:#fff2d6}.preview-caption{font-size:9px;line-height:1.6;text-align:center;padding:9px 14px 12px;color:#63745e}.preview-fallback{padding:30px 16px;text-align:center;font-size:12px;color:#52694f}.korean-app:xr-overlay .avatar-preview{display:none}.social-layout{display:block}.street-panel{position:static}.seoul-world{min-height:620px;overflow:clip}.scene-social{position:absolute;top:94px;left:18px;bottom:110px;width:min(350px,calc(100% - 36px));display:flex;flex-direction:column;align-items:flex-start;gap:8px;z-index:4;pointer-events:none}.scene-social-toggle{flex:none;pointer-events:auto;background:#173e34ed;color:#fff0cf;border-color:#ffffff50;font-size:12px!important;box-shadow:0 4px 18px #132d2526}.scene-social .social-panel{color:#213b32;pointer-events:auto;width:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;gap:9px;border:1px solid #ffffff65;border-radius:12px;background:#173e34e8;padding:8px;box-shadow:0 8px 24px #122d2530;scroll-padding-top:55px;scrollbar-width:thin;scrollbar-color:#b7c5a6 #173e34}.scene-social .social-panel[hidden]{display:none}.scene-social .social-panel>section,.scene-social .notice{flex-shrink:0}.scene-social .social-panel>section{padding:14px;background:#faf8f0f5}.scene-social-nav{position:sticky;top:-8px;z-index:2;display:flex;gap:5px;margin:-8px -8px 0;padding:8px;background:#173e34;flex:none}.scene-social-nav button{flex:1;font-size:11px!important;padding:7px 4px;background:#2b5346;color:#fff0cf;border-color:#ffffff40}.scene-social-nav button:hover:not(:disabled),.scene-social-toggle:hover:not(:disabled){background:#416c54;color:#fff0cf}.scene-social .chat-history{height:145px}.scene-social .preview-stage{height:170px}.scene-social section{scroll-margin-top:0}.seoul-world[data-hud-preview=true] .scene-social,.korean-app:xr-overlay .scene-social{display:none}@media(max-width:800px){.social-layout{display:block}.seoul-world{min-height:540px;height:70svh}.scene-social{left:12px;top:82px;bottom:115px;width:min(340px,calc(100% - 24px))}.scene-social .social-panel>section{padding:12px}.scene-social .chat-history{height:120px}}
