:root{font-family:Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:#f5ecd6;background:#d5dacb;font-synthesis:none;--ink: #303A3D;--forest: #345C4D;--paper: #F0E2BF;--gold: #D1A24A;--line: #d9ccab40}*{box-sizing:border-box}body{margin:0;overflow:hidden}#world{display:block;width:100vw;height:100dvh;touch-action:none}button,select{font:inherit}button{min-height:44px;padding:11px 17px;border:1px solid #d7c9a450;border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;font-size:13px;font-weight:600;touch-action:manipulation;transition:background .15s,border-color .15s}button:hover{background:#e9dbba;border-color:#b19b6f}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}header{position:fixed;inset:0 0 auto;padding:24px 32px 45px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(#172e27e8,#203c3080 55%,transparent);pointer-events:none}header button{pointer-events:auto}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.seal{font:30px serif;color:#e1bd8b;border:1px solid #dfb87a90;padding:1px 6px;transform:rotate(-4deg)}.brand small{font-size:9px;letter-spacing:.17em;color:#d9c99d}h1{margin:4px 0 0;font:500 29px serif;letter-spacing:.03em}h1 em{font: 10px sans-serif;color:#c5d0b8;margin-left:6px}.tools{display:flex;gap:7px}.tools button{color:#f4e9d0;background:#203d32c9;font-size:12px;border-color:var(--line)}.tools button:hover{background:#3c5c47}.location{position:fixed;left:32px;top:139px;width:258px;pointer-events:none;text-shadow:0 1px 5px #1d382f}.location>small{color:#f1ddb2;font-size:10px;letter-spacing:.08em;padding:7px 11px;border-radius:20px;border:1px solid var(--line);background:#203b30dc}h2{font:500 30px serif;margin:15px 0 10px;line-height:1.3}.location h2{margin-top:23px}.location p{background:#203c30e6;border-left:2px solid #c5a368;padding:12px 14px;border-radius:0 7px 7px 0;font-size:12px;line-height:1.85;color:#eee7d1}.tag{display:inline-block;font-size:10px;color:#f4e4c1;background:#203c30ce;padding:6px 10px;border-radius:5px}.compass{position:fixed;right:34px;top:139px;display:grid;place-items:center;color:#f8edd1;text-shadow:0 1px 5px #1c382d;pointer-events:none;font-size:10px}.compass span{font:33px serif}footer{position:fixed;inset:auto 0 0;min-height:94px;padding:16px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 24px;border-top:1px solid var(--line);background:#20382ff2;box-shadow:0 -8px 35px #18352b15}.travel-note{display:flex;gap:8px;align-items:center;font-size:12px;line-height:1.6}.status-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#d5af70}.actions{grid-column:2;grid-row:1 / span 2;display:flex;gap:8px}.actions button{min-width:126px}.actions .primary{min-width:210px;background:var(--gold);color:#27392d;border-color:#e2c690}.actions .primary:hover{background:#e4c48c}.primary span{margin-left:22px}.key-guide{grid-column:1;color:#c4cbb6;font-size:10px;letter-spacing:.02em}#joystick{display:none;position:fixed;left:20px;bottom:116px;width:88px;height:88px;border-radius:50%;background:#365d4d50;border:1px solid #fff5db90;touch-action:none}#stick{position:absolute;left:26px;top:26px;width:36px;height:36px;background:#f6ecd0c9;border-radius:50%;pointer-events:none}dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px 30px;border:1px solid #c9bc99;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #10251866}dialog::backdrop{background:#172e27a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #a9a98b55;margin-bottom:20px;padding-bottom:10px;font-size:10px;color:#69735e;letter-spacing:.06em}.dialog-top button{border:0;background:transparent;font-size:20px;padding:6px 13px}dialog h2{margin-top:8px;font-size:30px}dialog p{color:#606e58;font-size:13px;line-height:1.9}dialog>small{font-size:11px;line-height:1.7;color:#6a775e;display:block}.eyebrow{font-size:10px;color:#967343;letter-spacing:.1em}.map-art{height:145px;position:relative;overflow:hidden;margin:20px 0;border:1px solid #a2ac89;border-radius:6px;background:repeating-linear-gradient(0deg,transparent 0 24px,#7e997819 25px 26px),repeating-linear-gradient(90deg,#d8ddbf 0 24px,#7e997819 25px 26px)}.map-art i{position:absolute;width:110%;height:100px;border:20px solid #88abaa88;border-radius:50%;transform:rotate(-18deg);left:20%;top:50px}.map-art span,.map-art b{position:absolute;z-index:1;padding:5px 9px;border:1px solid #9caa89;background:#f4efde;color:#435b46;font-size:11px}.map-art span:nth-of-type(1){left:10%;top:20%}.map-art span:nth-of-type(2){right:12%;top:50%}.map-art span:nth-of-type(3){right:17%;top:12%}.map-art b{left:32%;bottom:15%;background:#466956;color:#fff2d9;font-weight:400}.destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.destinations button{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:17px 14px;text-align:left;background:#e7e2ce;border-color:#bcc2a0;border-top-width:3px;min-height:158px}.destinations button:nth-child(1){border-top-color:#78895b}.destinations button:nth-child(2){border-top-color:#5c8d8a}.destinations button:nth-child(3){border-top-color:#a27c57}.destinations button:hover{background:#dbddc4}.destinations small{font-size:9px;font-weight:400;color:#69765b;line-height:1.6}.destinations strong{font:500 20px serif;line-height:1.4}.destinations span{color:#68725c;font-weight:400;font-size:11px;line-height:1.7}.back{width:100%;margin-top:14px;color:#f6e6c8;background:#365d4d;border-color:#365d4d}.back:hover{color:#f6e6c8;background:#456d56}.guide-look{padding:13px 17px;margin:22px 0;background:#e6e1cc;border-left:3px solid #aa8151;border-radius:0 7px 7px 0}.guide-look small{color:#8f6b3e;font-size:10px}.guide-look p{margin:8px 0 0}label{display:flex;flex-direction:column;gap:10px;margin:22px 0;font-size:14px}select{width:100%;padding:12px;background:#fff6e4;color:var(--ink);border:1px solid #b8bda4;border-radius:6px}.check{flex-direction:row;align-items:center}input[type=checkbox]{width:20px;height:20px;accent-color:#426447}#fatal{position:fixed;inset:0;padding:15vh 10vw;background:var(--forest);z-index:20}body:has(dialog[open]) :is(footer,#joystick,.location,.compass){visibility:hidden}[hidden]{display:none!important}@media(pointer:coarse){#joystick{display:block}.key-guide{display:none}}@media(max-width:700px){header{padding:calc(14px + env(safe-area-inset-top)) 16px 32px;align-items:flex-start;gap:9px}.brand{gap:8px}.seal{font-size:24px;padding-inline:4px}.brand small{font-size:7px;letter-spacing:.05em}h1{font-size:22px}h1 em{font-size:9px;margin-left:3px}.tools{gap:5px}.tools button{font-size:11px;min-height:44px;padding:8px 10px}.location{left:16px;top:calc(104px + env(safe-area-inset-top));width:200px}.location h2{margin-top:19px;font-size:25px}.location p{display:none}.tag{font-size:9px}.compass{top:111px;right:18px}footer{min-height:104px;padding:11px 14px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:9px;align-items:stretch}.travel-note{font-size:11px}.actions{width:100%;gap:7px}.actions button,.actions .primary{min-width:0;flex:1;font-size:13px}.actions .primary{flex:1.65}.primary span{margin-left:12px}.key-guide{display:none}#joystick{left:16px;bottom:calc(122px + env(safe-area-inset-bottom))}dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:19px 20px}dialog h2{font-size:26px}.dialog-top{margin-bottom:15px}.map-art{height:106px;margin:14px 0}.destinations{grid-template-columns:1fr;gap:7px}.destinations button{min-height:0;gap:6px;padding:11px 13px;border-top-width:1px;border-left-width:3px}.destinations button:nth-child(1){border-left-color:#78895b}.destinations button:nth-child(2){border-left-color:#5c8d8a}.destinations button:nth-child(3){border-left-color:#a27c57}.destinations strong{font-size:20px}.destinations span{font-size:10px}}@media(max-width:440px){header{flex-wrap:wrap}.tools{width:100%;justify-content:flex-end;margin-top:-1px}.tools button{background:#203d32eb}.location{top:147px;width:235px}.location h2{font-size:24px;margin-bottom:7px}.location>small{font-size:9px}.compass{top:154px}}@media(max-height:500px)and (orientation:landscape){header{padding:10px 16px 22px}h1{font-size:23px}.brand small{font-size:8px}.location{top:89px;left:16px;width:200px}.location p,.tag,.compass{display:none}.location h2{font-size:24px}footer{inset:auto 10px 10px auto;width:min(500px,calc(100vw - 120px));min-height:65px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:5px}.actions button{min-height:44px;padding:8px}.key-guide,.travel-note{display:none}#joystick{left:14px;bottom:14px;width:76px;height:76px}#stick{left:20px;top:20px}.map-art{display:none}.destinations{grid-template-columns:repeat(3,minmax(0,1fr))}.destinations button{min-height:110px}dialog{max-height:calc(100dvh - 20px)}}:root{--print-red:#B94C37;--region-accent:#345C4D}body[data-world=yujin]{--region-accent:#846244}body[data-world=heungcheon]{--region-accent:#427c7b}body[data-world=sinyang]{--region-accent:#a35437}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.location{top:104px;left:32px;width:auto;max-width:calc(100vw - 96px);padding:9px 13px;display:flex;align-items:center;gap:10px;border:1px solid #e0cd9b80;border-left:4px solid var(--region-accent);border-radius:6px;background:#263d33ed;text-shadow:none}.location>small{padding:0;background:none;border:0;border-radius:0;font-size:10px;color:#e3cb94;white-space:nowrap}.location h2{margin:0;font:700 18px Malgun Gothic,sans-serif;line-height:1.4}.location p,.compass{display:none}header{padding-bottom:24px}.tools #map-open{background:#345c4d;border-color:#a3b392}footer{inset:auto 20px 20px auto;min-height:0;width:auto;padding:0;display:block;border:0;box-shadow:none;background:none}#home{min-height:44px;padding:10px 15px;background:#304d40ed;color:#f6e9cb}#joystick{bottom:20px;left:20px}#context-action{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:2}#interact{min-height:48px;background:#345c4df5;color:#fff0ca;border:1px solid #dab568;box-shadow:0 4px 18px #18352744}kbd{display:inline-block;margin-right:7px;padding:2px 7px;background:#f0e2bf;color:#303a3d;border-radius:4px;font:600 12px sans-serif}body:has(dialog[open]) #context-action{visibility:hidden}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button{min-height:52px}.guide-look{border-left-color:var(--region-accent)}.illustrated-map{position:relative;width:100%;height:350px;margin:16px 0;border:6px solid #99865a;outline:1px solid #cab780;border-radius:3px;overflow:hidden;background:#ddd5aa;box-shadow:inset 0 0 30px #705b3226}.illustrated-map>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.illustrated-map .destinations{display:block;position:absolute;inset:0}.illustrated-map .map-region{position:absolute;min-height:0;width:205px;max-width:32%;display:flex;gap:6px;padding:11px 13px;border:1px solid #7c815e;border-top:4px solid var(--region-accent);border-radius:4px;background:#f3e8c9f5;box-shadow:2px 4px #596b4933}.illustrated-map .region-yujin{left:4%;top:12%;border-top-color:#846244}.illustrated-map .region-port{left:36%;top:43%;border-top-color:#427c7b}.illustrated-map .region-city{right:3%;top:12%;border-top-color:#a35437}.illustrated-map .map-region small{font-size:10px}.illustrated-map .map-region strong{font:700 21px Malgun Gothic,sans-serif}.illustrated-map .map-region span{font-size:11px}.hub-mark{position:absolute;left:4%;bottom:6%;padding:8px 12px;background:#345c4d;color:#f6eccd;border-radius:3px;font-size:11px;pointer-events:none}.map-note{font-size:11px;line-height:1.65}.dialog-top{position:sticky;top:-28px;z-index:3;background:var(--paper)}@media(max-width:700px){.desktop-tool{display:none}header{flex-wrap:nowrap;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 14px 20px;gap:8px}.brand{gap:6px}.brand small{font-size:6px}.brand h1{font-size:19px}.brand h1 em{display:none}.seal{font-size:21px}.tools{width:auto;flex-shrink:0;justify-content:flex-end;margin:0;gap:5px}.tools button{font-size:12px;padding:8px 10px;min-height:44px}.location{top:calc(79px + env(safe-area-inset-top));left:14px;padding:7px 10px;max-width:calc(100vw - 28px);gap:8px;width:auto}.location h2{font-size:16px;margin:0}.location>small{font-size:9px}footer{inset:auto 14px calc(80px + env(safe-area-inset-bottom)) auto;min-height:0;width:auto;padding:0;display:block}#home{font-size:12px}#joystick{bottom:calc(20px + env(safe-area-inset-bottom));left:16px}#context-action{left:auto;right:14px;bottom:calc(20px + env(safe-area-inset-bottom));transform:none;max-width:calc(100vw - 125px)}#interact{font-size:13px;min-height:48px;padding:10px 13px}#interact kbd{display:none}.illustrated-map{height:430px;border-width:4px}.illustrated-map .map-region{max-width:68%;width:210px;padding:10px 12px;gap:5px;border-left-width:1px}.illustrated-map .region-yujin{left:4%;top:5%}.illustrated-map .region-port{left:17%;top:36%}.illustrated-map .region-city{left:auto;right:4%;top:67%}.illustrated-map .map-region strong{font-size:20px}.hub-mark{font-size:9px;left:3%;bottom:2%;padding:5px 8px}.dialog-top{top:-19px}}@media(max-height:500px)and (orientation:landscape){header{flex-wrap:nowrap}.location{top:78px;max-width:calc(100vw - 28px)}footer{inset:auto 14px 78px auto;width:auto;padding:0;border:0;background:none;min-height:0}#context-action{left:auto;right:14px;bottom:16px;transform:none}#joystick{bottom:16px}.illustrated-map{height:280px}.illustrated-map .map-region{max-width:30%;width:205px;min-height:0}.illustrated-map .region-yujin{left:3%;top:10%}.illustrated-map .region-port{left:35%;top:43%}.illustrated-map .region-city{left:auto;right:3%;top:10%}}#music-dock{position:fixed;right:24px;top:108px;display:flex;gap:6px;z-index:3}#music-dock button{background:#345c4de8;color:#f6e7c4;font-size:12px;min-height:44px}#music-panel{position:fixed;right:24px;top:162px;width:min(350px,calc(100vw - 28px));max-height:calc(100dvh - 270px);overflow:auto;padding:16px;border:1px solid #c3aa78;border-radius:9px;background:#f0e2bff7;color:#303a3d;box-shadow:0 10px 40px #152e2740;z-index:4}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #9a9b7a60;padding-bottom:7px}.panel-heading strong{font:700 17px serif}.panel-heading span{display:block;font:8px sans-serif;letter-spacing:.22em;color:#98713e;margin-top:4px}.panel-heading button{background:none;border:0;font-size:22px;padding:4px 10px;min-width:44px}#music-current{font-size:13px;font-weight:700;line-height:1.7;margin:13px 0 6px}#music-status{font-size:11px;color:#576650;line-height:1.7;min-height:2em;margin:4px 0 12px}.music-transport{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.music-transport button{padding:8px 4px;font-size:12px;min-height:44px}#music-play{background:#345c4d;color:#fff1ce}#music-panel label{font-size:12px;margin:10px 0;gap:6px}#music-panel select{font-size:12px;min-height:44px;padding:8px;min-width:0}#music-panel input[type=range]{width:100%;min-height:44px;accent-color:#345c4d}#music-volume-value{float:right;font-size:11px}#music-panel>small{font-size:10px;color:#65715a;line-height:1.7}body:has(dialog[open]) :is(#music-dock,#music-panel){visibility:hidden}@media(max-width:700px){#music-dock{right:14px;top:128px;gap:5px}#music-dock button{font-size:11px;padding:8px 10px}#music-panel{right:14px;top:180px;width:min(320px,calc(100vw - 28px));max-height:calc(100dvh - 310px);padding:12px}.panel-heading strong{font-size:16px}}@media(max-height:500px)and (orientation:landscape){#music-dock{top:70px;right:14px}#music-panel{top:120px;max-height:calc(100dvh - 250px);right:14px;width:330px}.music-transport button{min-height:44px}}#tour-caption{position:fixed;left:50%;bottom:90px;transform:translate(-50%);max-width:min(600px,calc(100vw - 28px));padding:13px 18px;background:#253d33ef;color:#fff0cc;border:1px solid #d9b879;border-radius:8px;font-size:14px;line-height:1.8;pointer-events:none;z-index:3}.station-list{display:grid;gap:10px}.station-list button{text-align:left;min-height:70px}.station-list small{display:block;margin-top:8px;font-size:12px;font-weight:400}.guide-badge{display:inline-block;padding:6px 12px;background:#477994;color:#fff7dc;border-radius:4px;font-size:12px}.guide-speech{padding:18px;background:#e1e4d0;border-left:4px solid #5b8ca9;border-radius:0 7px 7px 0;font-size:16px!important}.tour-primary{width:100%;background:#345c4d;color:#fff1cb}.tour-note{font-size:11px!important;color:#67715b;line-height:1.7}#tour-pamphlet{width:min(1000px,calc(100vw - 28px))}.pamphlet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.pamphlet-toolbar h2{margin:0;font-weight:700}.pamphlet-toolbar button{font-size:12px}.pamphlet-folds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;filter:drop-shadow(0 6px 8px #5a503c22)}.pamphlet-sheet{min-width:0;padding:22px 18px;border:1px solid #b4a375;border-right-style:dashed;background:#ead8a9}.pamphlet-sheet:nth-child(2){background:#f0e2bf}.pamphlet-sheet:nth-child(3){background:#e8d6a6}.pamphlet-sheet>small{font-size:10px;color:#98703f}.pamphlet-sheet h3{font:700 24px serif;color:#a34431;margin:13px 0}.pamphlet-sheet p{font-size:13px}.pamphlet-sheet button{width:100%;font-size:12px}#pamphlet-map svg{width:100%;height:140px;border:3px solid #99865a}.pamphlet-sketch{padding:22px 8px;text-align:center;font-size:35px;color:#786944;background:#bac19866}#tour-pamphlet[data-folded=true] .pamphlet-folds{display:block;max-width:310px;margin-inline:auto}#tour-pamphlet[data-folded=true] .pamphlet-sheet:not(:first-child){display:none}.snack-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.snack-catalog section{padding:9px;background:#e3d5ad;border:1px solid #b4a47f;border-radius:6px;display:grid;align-content:start;gap:6px}.snack-catalog small{font-size:10px;color:#6c735c}.snack-catalog button{padding:9px 5px;font-size:11px}.snack-name{font-size:13px!important;background:none;border:0}.snack-catalog button:disabled,.snack-buttons button:disabled{opacity:.5;cursor:default}.snack-order{padding:15px;margin-top:18px;border:1px solid #acaa8d;background:#ece3cb;border-radius:8px}.snack-order h3{margin:0 0 8px}.snack-order>small{font-size:11px}.snack-buttons{display:flex;gap:8px}.snack-buttons button{flex:1}.snack-tray{display:flex;align-items:center;justify-content:center;gap:16px;height:110px;margin:12px 0;background:linear-gradient(#b7baaf,#dbddd2);border:5px solid #969c92;border-radius:50%;box-shadow:inset 0 0 0 2px #e8e9db}.egg-shape{display:block;width:40px;height:57px;background:#f5edda;border-radius:48% 48% 44% 44%;box-shadow:inset -7px -5px 8px #cfc3ab}.opened .egg-shape:first-child{background:linear-gradient(30deg,#f7f3e7 45%,#aa9e84 47%,#fffdf0 51%)}.salt-packet{background:#e9d5a4;border:1px solid #afa17d;padding:6px;font-size:10px}.soda-bottle{position:relative;display:block;width:32px;height:68px;border-radius:7px 7px 9px 9px;background:#588d6a;border:2px solid #3f7155}.soda-bottle:before{content:"";position:absolute;width:16px;height:21px;top:-20px;left:6px;background:#639c75;border-top:4px solid #9b4936}.opened .soda-bottle:before{border-top-color:#d2d3ba}.soda-bottle i{position:absolute;top:23px;left:0;right:0;height:25px;background:#e2d5a3}.empty .soda-bottle{background:#a8c6ae}.snack-packet{padding:15px 18px;border:2px dashed #b68d4f;background:#deb35d;color:#6b4e31;font-size:15px}.empty .snack-packet{opacity:.3}#snack-receipt{font-size:13px;line-height:1.8}#snack-receipt[data-ok=false]{color:#a74d36}@media(max-width:700px){.pamphlet-folds{grid-template-columns:1fr}.pamphlet-sheet{border-right-style:solid;border-bottom-style:dashed;padding:18px}.pamphlet-sheet h3{font-size:23px}.pamphlet-toolbar{align-items:flex-start;flex-direction:column}.snack-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.snack-buttons{flex-wrap:wrap}.snack-buttons button{min-width:110px;font-size:12px}#tour-caption{font-size:12px;bottom:85px;width:calc(100vw - 28px)}}@media(prefers-reduced-motion:no-preference){.pamphlet-sheet{animation:paper-unfold .2s ease-out}@keyframes paper-unfold{0%{opacity:.6;transform:scaleX(.97)}to{opacity:1;transform:scaleX(1)}}}
