@charset "UTF-8";
/* Spatial interface: the world occupies the screen; controls stay at its edges. */
.arrival-art{position:absolute;inset:0;z-index:2;overflow:hidden;background:#14232b}.arrival-art img{width:100%;height:100%;object-fit:cover}.arrival-art:after{content:"";position:absolute;inset:0;background:#0b182557}.metaverse-world .intro-overlay{z-index:6}.metaverse-world .intro-skip{z-index:7}
.music-toggle{position:relative}.music-toggle[data-state=playing]{color:#f0d8a4;border-color:#d7bd8077!important}.music-toggle[data-state=playing]:after{content:"";position:absolute;bottom:6px;right:7px;width:4px;height:4px;border-radius:50%;background:#e6c68b}.music-toggle[data-state=ready]{color:#cbbd9c}.music-toggle[data-state=error]{opacity:.55}
@media(max-width:760px){body[data-view=scene] .header .brand small{letter-spacing:.12em}body[data-view=scene] .header nav{gap:0}body[data-view=scene] .nav{padding:5px 4px}body[data-view=scene] .utilities{gap:4px}}
@media(max-width:760px){body[data-view=scene] .header nav [data-view=help]{display:none}body[data-view=scene] .header .utilities button{min-width:44px;min-height:44px;padding:10px}body[data-view=scene] .header .nav{min-height:44px}body[data-view=scene] .header{gap:6px}.metaverse-common button{min-height:44px}}
body{min-width:280px}
@media(max-width:360px){body[data-view=scene] .header{padding:0 12px;gap:5px}body[data-view=scene] .header nav{display:none}body[data-view=scene] .brand>span:last-child{font-size:.77rem}body[data-view=scene] .brand small{font-size:.31rem}body[data-view=scene] .brand-mark{width:16px}body[data-view=scene] .utilities{margin-left:auto;gap:3px}body[data-view=scene] .utilities button{min-width:42px;min-height:44px;padding:9px}.metaverse-actions{left:8px;right:8px}.metaverse-actions .action-list strong{font-size:10px}.large-text .metaverse-actions .action-list strong{font-size:11px}}
body[data-view=scene] .header{height:90px;left:0;right:0;padding:0 28px;gap:18px;background:linear-gradient(#10191c9e,transparent);pointer-events:none}
body[data-view=scene] .header>*{pointer-events:auto}
body[data-view=scene] .brand>span:last-child{font-size:1.06rem}
body[data-view=scene] .brand-mark{width:24px;height:35px}
body[data-view=scene] .brand small{font-size:.45rem;letter-spacing:.18em}
body[data-view=scene] .header nav{gap:10px}
body[data-view=scene] .nav{font-size:.76rem;color:#f1eadd;min-height:44px}
body[data-view=scene] .utilities button{background:#17232970;border-color:#ffffff36;min-width:42px;min-height:42px}
.metaverse-world{height:100dvh!important;min-height:0!important;isolation:isolate;background:#344744}
.metaverse-world .landscape,.metaverse-world .world{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;margin:0;overflow:hidden;background:transparent;z-index:0}
.metaverse-world .world canvas{width:100%;height:100%;display:block}
.metaverse-world .scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0e181b22,transparent 24%,transparent 75%,#0e181b50);z-index:1}
.metaverse-location{position:absolute;top:20px;left:260px;z-index:13;display:flex;align-items:center;gap:12px}
.location-control{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#f5efdf;background:#1b2c318f;border:1px solid #e9e3cc40;backdrop-filter:blur(14px);border-radius:28px;min-height:53px;text-align:left}
.location-control .icon{width:17px;height:17px;color:#ded0ae}
.location-control strong{display:block;font-size:.86rem;font-weight:400;letter-spacing:.015em}
.location-control small{display:block;font:10px/1.6 Georgia,serif;color:#d1cdbf;margin-top:2px}
.location-control:hover{background:#22373dd9;border-color:#ece1bd8f}
.metaverse-preview{font-size:11px;color:#f0dfb4;background:#1c2b33c9;padding:8px 12px;border-radius:20px}
.metaverse-hint{position:absolute;top:108px;left:50%;transform:translateX(-50%);z-index:5;text-align:center;white-space:nowrap;font-size:.7rem;color:#f1eadd;text-shadow:0 2px 7px #000a;pointer-events:none;opacity:.8}
.metaverse-hint small{display:block;font-size:.54rem;color:#e3ddcc;margin-top:4px;letter-spacing:.02em}
.metaverse-common{position:absolute;right:28px;bottom:35px;display:flex;gap:1px;z-index:9;border:1px solid #e1dbc239;border-radius:24px;background:#1b2a30a8;backdrop-filter:blur(15px);padding:5px}
.metaverse-common button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:59px;min-height:46px;padding:5px 9px;color:#e8e1ce;border-radius:20px;font-size:.66rem}
.metaverse-common button:hover{background:#e0cda321}
.metaverse-common .icon{width:17px;height:17px}
.metaverse-common small{display:block;color:#bbb8a9;font:9px/1.5 Georgia,serif}
.metaverse-actions{position:absolute;bottom:31px;left:50%;transform:translateX(-50%);z-index:8;width:min(650px,58vw);border:1px solid #f0e7c94d;border-radius:40px;padding:7px 10px;background:#1c2b31b8;backdrop-filter:blur(18px);box-shadow:0 9px 40px #00000017}
.metaverse-actions .action-list{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none}
.metaverse-actions .action-list li+li{border-left:1px solid #e6dcc62b}
.metaverse-actions .action-list button,.metaverse-actions .action-list button.done{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:9px 11px;background:transparent;border:0;border-radius:28px;box-shadow:none;color:#f7eedb;text-align:left}
.metaverse-actions .action-list button:hover{background:#dfd2b51c}
.metaverse-actions .action-list strong{font-size:.76rem;font-weight:400;line-height:1.55;display:block}
.metaverse-actions .action-list small{font:10px/1.6 Georgia,serif;color:#c2c1b2;margin:3px 0 0;display:block}
.metaverse-actions .action-number{display:grid;place-items:center;flex:none;width:27px;height:27px;border:1px solid #cec4aa60;border-radius:50%;color:#e3d2a8;font-size:.7rem;font-family:Georgia,serif}
.metaverse-actions .action-number .icon{width:15px;height:15px}
.metaverse-actions .done .action-number{color:#293735;background:#d2bf94;border-color:transparent}
.metaverse-progress{position:absolute;left:30px;bottom:46px;z-index:8;display:flex;align-items:center;gap:9px;color:#c1bea6}
.metaverse-progress>span{opacity:.4;display:block}.metaverse-progress>span.on{opacity:1;color:#ead1a0}
.metaverse-progress .icon{width:18px;height:24px}.metaverse-progress small{font-size:10px;color:#d5ccba;margin-left:4px}
.metaverse-world .world .hotspot{position:absolute;display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid #f6e9c599;background:#203637b8;color:#f2e3bb;box-shadow:0 0 0 6px #e0cd9e12;backdrop-filter:blur(6px);transform:translate(-50%,-50%);font-size:.75rem;z-index:3}
.metaverse-world .world .hotspot.complete{background:#b9a87dcd;color:#162c2c}
.world-hotspot-label{position:absolute;left:50%;bottom:49px;transform:translateX(-50%);font-size:.7rem;white-space:nowrap;display:none;background:#1a2a30e6;border:1px solid #c6b58c4d;padding:8px 12px;border-radius:5px;color:#f4e8cc}
.hotspot:hover .world-hotspot-label,.hotspot:focus-visible .world-hotspot-label{display:block}
.metaverse-world:has(.intro-overlay) .metaverse-hint,.metaverse-world:has(.intro-overlay) .metaverse-common{visibility:hidden}
.metaverse-world .intro-overlay{top:50%;width:min(560px,80%);padding:30px;max-height:60vh;overflow:auto;background:#14262cdb;border:1px solid #e6d5aa39;border-radius:12px;backdrop-filter:blur(14px)}
.metaverse-world .intro-overlay h2{font-size:1.8rem}.metaverse-world .intro-overlay p{font-size:.9rem;line-height:1.9}.metaverse-world .intro-skip{right:32px;bottom:130px}
/* Destination selection is an intentional game menu, separate from the live space. */
.destination-menu .voyage-backdrop{opacity:.3}.destination-menu .voyage-shade{background:#101922aa}
.destination-menu .chapter-label{display:none}
.destination-menu[data-mode=landscape] .voyage-place{top:194px;right:6%;left:auto;bottom:95px;width:310px;max-width:32%;padding-left:30px;border-left:1px solid #c1b49533}
.destination-menu[data-mode=landscape] .selection-title{font-size:2.35rem;line-height:1.4}
.destination-menu .selection-moments,.destination-menu .selection-save{display:none}
.destination-menu[data-mode=landscape] .selection-story{font-size:.8rem;line-height:1.9}
.destination-menu[data-mode=landscape] .selection-enter{width:100%;min-height:55px}
.destination-menu .voyage-navigation{top:150px;bottom:auto;left:5%;right:calc(6% + 360px);border-top:0;padding:0}
.destination-menu .voyage-navigation-heading{display:block;margin-bottom:25px}
.destination-menu .voyage-navigation-heading h2{font-size:2.1rem;margin-bottom:13px}
.destination-menu .voyage-navigation-heading>span{font-size:.76rem}
.destination-menu .voyage-phases{position:absolute;top:39px;right:0}
.destination-menu .voyage-destinations{grid-template-columns:repeat(5,minmax(100px,1fr));gap:12px;overflow:visible}
.destination-menu .journey-tile{height:158px;min-width:0;border-radius:7px;opacity:.85}
.destination-menu .tile-name{font-size:.76rem;bottom:14px;left:12px;right:12px}
.destination-menu .tile-order{font-size:.85rem}.destination-menu .tile-state{top:12px;right:12px}
.destination-menu .voyage-top-controls{top:118px;right:6%}
.destination-menu[data-mode=map] .voyage-navigation{top:auto;bottom:27px;right:5%}.destination-menu[data-mode=map] .voyage-navigation-heading{display:none}.destination-menu[data-mode=map] .voyage-destinations{grid-template-columns:repeat(10,minmax(100px,1fr));overflow:auto}.destination-menu[data-mode=map] .journey-tile{height:90px}
@media(max-width:1100px){.metaverse-location{left:225px}.metaverse-actions{width:61vw;bottom:25px}.metaverse-common{right:19px;bottom:122px}.metaverse-progress{left:22px;bottom:128px}.destination-menu .voyage-navigation{right:370px}.destination-menu .voyage-destinations{grid-template-columns:repeat(3,minmax(100px,1fr))}.destination-menu .journey-tile{height:128px}.destination-menu .voyage-phases{position:static;margin:15px 0 0}.destination-menu .voyage-place{max-width:none!important;width:280px!important;right:4%!important}}
@media(max-width:760px){
 body[data-view=scene] .header{height:73px;padding:0 17px;gap:7px}body[data-view=scene] .brand>span:last-child{font-size:.87rem}body[data-view=scene] .brand small{font-size:.36rem}body[data-view=scene] .header nav{gap:1px}body[data-view=scene] .nav{font-size:.62rem;padding:6px}body[data-view=scene] .utilities{gap:5px}body[data-view=scene] .utilities button{min-width:34px;min-height:34px;padding:7px}body[data-view=scene] .brand-mark{width:19px;height:28px}
 .metaverse-location{top:88px;left:16px;right:16px;justify-content:flex-start;gap:8px}.location-control{padding:8px 13px;gap:10px;min-height:49px;max-width:100%}.location-control strong{font-size:.77rem}.location-control small{font-size:10px}.location-control .icon{width:16px;height:16px}
 .metaverse-hint{top:158px;font-size:10px;width:100%;opacity:.75}.metaverse-hint small{font-size:9px}
 .metaverse-actions{left:12px;right:12px;bottom:23px;transform:none;width:auto;padding:6px 3px;border-radius:24px}.metaverse-actions .action-list{grid-template-columns:repeat(3,minmax(0,1fr))}.metaverse-actions .action-list button,.metaverse-actions .action-list button.done{min-height:88px;flex-direction:column;gap:6px;padding:4px 6px;text-align:center;border-radius:20px}.metaverse-actions .action-list strong{font-size:11px;line-height:1.45}.metaverse-actions .action-list small{font-size:8px;line-height:1.4;margin-top:3px}.metaverse-actions .action-number{width:23px;height:23px;font-size:10px}.metaverse-actions .action-number .icon{width:13px;height:13px}
 .metaverse-common{right:15px;bottom:137px;padding:4px;border-radius:24px;gap:0}.metaverse-common button{min-width:48px;min-height:40px;padding:4px 7px;font-size:10px;gap:5px}.metaverse-common small{font-size:8px}.metaverse-common .icon{width:15px;height:15px}
 .metaverse-progress{left:19px;bottom:147px;gap:7px}.metaverse-progress .icon{width:15px;height:22px}.metaverse-progress small{font-size:9px}
 .metaverse-world .world .hotspot{width:36px;height:36px;min-width:36px;min-height:36px;font-size:11px}.world-hotspot-label{font-size:10px;bottom:43px}
 .metaverse-world .intro-overlay{width:88%;padding:23px;top:45%;max-height:52vh}.metaverse-world .intro-overlay h2{font-size:1.4rem}.metaverse-world .intro-overlay p{font-size:.8rem}.metaverse-world .intro-skip{right:20px;bottom:210px}
 .destination-menu .voyage-navigation{left:20px;right:20px;top:100px;bottom:230px;overflow:auto;padding-bottom:12px}.destination-menu .voyage-navigation-heading{margin-bottom:15px}.destination-menu .voyage-navigation-heading h2{font-size:1.6rem;margin-bottom:7px}.destination-menu .voyage-navigation-heading>span{display:none}.destination-menu .voyage-phases{margin-top:8px;display:flex;gap:2px}.destination-menu .voyage-phases button{padding:5px 9px;font-size:10px}
 .destination-menu .voyage-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:2px}.destination-menu .journey-tile{height:112px}.destination-menu .tile-name{font-size:11px;bottom:9px;left:10px}
 .destination-menu[data-mode=landscape] .voyage-place{position:absolute;top:auto;bottom:20px;left:20px!important;right:20px!important;width:auto!important;max-width:none;max-height:196px;border:0;border-top:1px solid #b6a68144;padding:17px 0 0;background:#121b23ed;overflow:auto;display:block}.destination-menu .selection-state{margin-bottom:7px;font-size:10px}.destination-menu[data-mode=landscape] .selection-title{font-size:1.5rem;padding-right:0;margin:0 0 5px}.destination-menu .selection-english{font-size:12px;margin-bottom:7px}.destination-menu .selection-reference,.destination-menu .selection-story{display:none}.destination-menu[data-mode=landscape] .selection-enter{min-height:48px;margin-top:12px;padding:9px 15px;font-size:12px}
 .destination-menu .voyage-top-controls{top:105px;right:20px}.destination-menu .voyage-top-controls .text-link{min-height:37px;padding:6px 9px;font-size:10px}.destination-menu .voyage-top-controls small{display:none}.destination-menu .voyage-image-note{display:none}
 .destination-menu[data-mode=map] .voyage-navigation{display:none}.destination-menu[data-mode=map] .voyage-place{bottom:20px;top:auto;left:20px!important;right:20px!important;width:auto!important;max-height:175px;padding:15px}.destination-menu[data-mode=map] .selection-title{font-size:1.5rem;padding:0}
}
.large-text .metaverse-actions .action-list strong{font-size:.86rem}.large-text .location-control strong{font-size:1rem}.large-text .metaverse-common button{font-size:.8rem}
@media(max-width:760px){.large-text .metaverse-actions .action-list strong{font-size:12px}.large-text .metaverse-actions .action-list small{font-size:9px}.large-text .location-control strong{font-size:14px}.large-text .metaverse-common button{font-size:11px}.large-text .destination-menu .voyage-place{max-height:205px}.large-text .destination-menu .voyage-navigation{bottom:240px}}
@media(max-height:650px){.metaverse-hint{display:none}.metaverse-location{top:80px}.metaverse-world .intro-overlay{max-height:42vh}.metaverse-actions{bottom:15px}}
.metaverse-progress>span.skipped{opacity:.72;color:#b8cad0;filter:grayscale(.4)}
.metaverse-actions .action-list button.skipped{border-color:#98adb0;color:#c7d4d2}
.destination-menu .voyage-resume{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin-top:16px;padding:8px 16px;border:1px solid #e4c9879c;border-radius:8px;background:#d7bd87;color:#182923;font-size:.84rem;font-weight:600;box-shadow:0 8px 24px #060f1699}
.destination-menu .voyage-resume:hover{background:#ead5a7}
.destination-menu .voyage-resume .bilingual small{display:block;font-family:Verdana,sans-serif;font-size:.59rem;font-weight:400;margin-top:3px}
.destination-menu .voyage-resume .icon{width:18px;height:18px}
@media(max-width:760px){.destination-menu .voyage-resume{min-height:44px;margin-top:10px;padding:7px 12px;font-size:.74rem}.destination-menu .voyage-resume .bilingual small{font-size:.54rem}}
.metaverse-actions .action-list button.skipped::after{content:'건너뜀 · Skipped';font-size:.62rem;color:#b5c6c7;white-space:nowrap}
.hotspot.skipped{border-color:#9fb7ba;color:#c6d3d2;background:#1a2d36c9}
.narration-skip,.action-skip{border-color:#b5aa8e!important;color:#e8dcc4!important;background:#17242bd9!important}
.mission-ceremony{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;pointer-events:none;background:radial-gradient(ellipse at center,#1d3346dc 0%,#0b121aca 62%,#080d14e8 100%);color:#f6e6c2;animation:ceremony-veil 2.7s ease both}
.mission-ceremony .ceremony-glow{width:76px;height:76px;display:grid;place-items:center;color:#f0d297;filter:drop-shadow(0 0 16px #e7be70);animation:ceremony-rise 2.7s ease-out both}
.mission-ceremony .ceremony-glow .icon{width:54px;height:65px}
.mission-ceremony strong{font-size:clamp(1.8rem,5vw,3.6rem);font-weight:500;letter-spacing:.045em;line-height:1.5;text-shadow:0 4px 30px #000;animation:ceremony-rise 2.7s ease-out both}
.mission-ceremony strong small{display:block;font-size:.43em;letter-spacing:.18em;margin-top:5px;color:#e4d1ad}
.mission-ceremony>small{font-size:.75rem;color:#dac9ac;animation:ceremony-rise 2.7s ease-out both}
.ceremony-stamp{animation:stamp-imprint .65s cubic-bezier(.2,.8,.25,1.15) both}
.stamp.passed .seal{border-color:#9fb2b5;color:#c5d5d4}
@keyframes ceremony-veil{0%{opacity:0}14%{opacity:1}82%{opacity:1}100%{opacity:0}}
@keyframes ceremony-rise{0%{opacity:0;transform:translateY(42px) scale(.93)}18%{opacity:0;transform:translateY(30px) scale(.96)}66%{opacity:1;transform:translateY(-6px) scale(1)}100%{opacity:0;transform:translateY(-32px) scale(1.03)}}
@keyframes stamp-imprint{0%{opacity:0;transform:scale(1.24) rotate(-9deg)}65%{opacity:1;transform:scale(.95) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.mission-ceremony,.mission-ceremony *,.ceremony-stamp{animation:none!important}.mission-ceremony{opacity:1}}
