/* The guide sits between the movement controls and the existing music player.
   Photo settings expand only when needed, keeping the scene in view. */
.seoul-experience-toolbar,.seoul-experience-route,.seoul-experience-message{position:absolute;z-index:9;left:50%;transform:translateX(-50%);box-sizing:border-box}
.seoul-experience-toolbar{bottom:calc(var(--bar,28px) + 10px);display:flex;align-items:center;border:1px solid #c9d4df30;background:#080d14dc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#d7e0e9}
.seoul-controls .seoul-experience-toolbar button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:82px;min-height:44px;padding:0 13px;border:0;border-radius:0;background:transparent;font:8px/1.2 Arial,sans-serif;letter-spacing:.12em;touch-action:manipulation}
.seoul-experience-toolbar button+button{border-left:1px solid #c9d4df20!important}
.seoul-experience-toolbar svg,.seoul-experience-dialog svg:not(.seoul-experience-map-drawing>svg),.seoul-photo-panel button svg,.seoul-photo-panel a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}
.seoul-experience-toolbar button:hover,.seoul-experience-toolbar button:focus-visible{background:#cad9e50c;color:#fff}
.seoul-experience-toolbar button:disabled{opacity:.35;cursor:default}
.seoul-experience-toolbar[hidden],.seoul-experience-route[hidden],.seoul-experience-message[hidden],.seoul-experience-dialog [hidden],.seoul-photo-panel[hidden],.seoul-photo-panel [hidden]{display:none!important}
.seoul-off .seoul-experience-toolbar,.seoul-off .seoul-experience-route,.seoul-off .seoul-experience-message,body.vv-open .seoul-experience-toolbar,body.vv-open .seoul-experience-route,body.vv-open .seoul-experience-message{display:none!important}
.seoul-experience-route{bottom:calc(var(--bar,28px) + 170px);display:flex;align-items:center;gap:15px;max-width:calc(100% - 36px);min-height:44px;padding:0 0 0 13px;background:#070c13dc;border:1px solid #c1d1e033;color:#d4dfec;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.seoul-experience-route-copy{display:flex;flex-direction:column;gap:3px;min-width:0;pointer-events:none}
.seoul-experience-route-eyebrow{font:6px/1.2 Arial,sans-serif;letter-spacing:.15em;color:#8091a5}
.seoul-experience-route-title{font:9px/1.35 Arial,sans-serif;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.seoul-controls .seoul-experience-route-stop{min-width:48px;min-height:44px;border-left:1px solid #c1d1e027;border-radius:0;padding:0 12px;font:8px/1.2 Arial,sans-serif;letter-spacing:.1em;color:#e1e9f2;touch-action:manipulation}
.seoul-experience-message{bottom:calc(var(--bar,28px) + 220px);max-width:min(310px,calc(100% - 32px));width:max-content;margin:0;padding:10px 13px;background:#080d15e8;border:1px solid #d3dce22b;font:10px/1.5 Arial,sans-serif;letter-spacing:0;color:#c2cfde;text-align:center;pointer-events:none}
body.seoul-experience-map-open{overflow:hidden}
dialog.seoul-experience-dialog{position:fixed;inset:0;width:min(680px,calc(100vw - 40px));height:fit-content;max-width:calc(100vw - 20px);max-height:calc(100vh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;padding:0;overflow:hidden;border:1px solid #c8d2e333;border-radius:0;background:#090d12;color:#ecf0f5;font:12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;box-sizing:border-box;box-shadow:0 18px 80px #0009;color-scheme:dark;overscroll-behavior:contain}
dialog.seoul-experience-dialog::backdrop{background:#02050bd6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.seoul-experience-dialog *,.seoul-photo-panel *{box-sizing:border-box}
.seoul-experience-sheet{display:flex;flex-direction:column;min-height:0;max-height:inherit;overflow:hidden}
.seoul-experience-dialog button,.seoul-photo-panel button,.seoul-photo-panel a{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;min-width:44px;margin:0;padding:0 12px;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;font:9px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.08em;touch-action:manipulation;user-select:none;-webkit-user-select:none;text-decoration:none}
.seoul-experience-dialog button:focus-visible,.seoul-photo-panel button:focus-visible,.seoul-photo-panel input:focus-visible,.seoul-photo-panel a:focus-visible{outline:2px solid #c8d7e9;outline-offset:3px}
.seoul-experience-dialog button:hover,.seoul-photo-panel button:hover,.seoul-photo-panel a:hover{background:#c8d7e90b}
.seoul-experience-dialog button:disabled,.seoul-photo-panel button:disabled{opacity:.35;cursor:default}
.seoul-experience-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;min-height:76px;padding:15px 22px 13px;border-bottom:1px solid #d1dbe117}
.seoul-experience-eyebrow{margin:0 0 6px;color:#8290a2;font:7px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.18em}
.seoul-experience-header h2,.seoul-photo-header h2{margin:0;color:#edf1f6;font:500 14px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.12em}
.seoul-experience-dialog .seoul-experience-close-places{gap:8px;padding:0 0 0 12px;color:#a5b3c2;font-size:8px}
.seoul-experience-intro{margin:0;padding:12px 22px 0;color:#8392a5;font-size:11px;line-height:1.5;flex-shrink:0}
.seoul-experience-map-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;min-height:160px;height:390px;max-height:49vh;margin:15px 22px;overflow:hidden}
.seoul-experience-map{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:0;margin:0;background:#060a10;border:1px solid #c8d2e312;padding:14px 8px 10px}
.seoul-experience-map-drawing{display:flex;justify-content:center;align-items:center;width:100%;min-height:0;flex:1}
.seoul-experience-map-drawing>svg{display:block;width:100%;height:100%;max-width:100%;overflow:visible}
.seoul-experience-map figcaption{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;padding-top:10px;color:#8190a3;font-size:7px;letter-spacing:.11em;text-align:center}
.seoul-experience-you-dot{width:7px;height:7px;display:block;border:1px solid #cbdbe9;border-radius:50%;box-shadow:inset 0 0 0 2px #0b1118;background:#dce7f1}
.seoul-experience-map-streets .map-walk{fill:#182332;stroke:#324154;stroke-width:.6}
.seoul-experience-map-streets .map-plaza{fill:#1a2634;stroke:#405065;stroke-width:.6}
.seoul-experience-map-streets .map-roof{fill:#252d39;stroke:#637285;stroke-width:.7}
.seoul-experience-map-streets .map-stairs{fill:#1b2837;stroke:#45576b;stroke-width:.6}
.seoul-experience-map-streets .map-building{fill:#080d15;stroke:#526074;stroke-width:.7}
.seoul-experience-map-streets .map-screen{fill:none;stroke:#8d9daf;stroke-width:3}
.seoul-experience-map-streets .map-step{fill:none;stroke:#5d6c80;stroke-width:.7}
.seoul-experience-map-marker circle{fill:#131d2b;stroke:#8093a9;stroke-width:1}
.seoul-experience-map-marker text{font:8px/1 Arial,sans-serif;fill:#bfccda;letter-spacing:-.4px}
.seoul-experience-map-marker[data-selected=true] circle{fill:#d6e0eb;stroke:#eef4fa;stroke-width:1.1}
.seoul-experience-map-marker[data-selected=true] text{fill:#101923}
.seoul-experience-map-marker[data-route=true] circle{stroke:#f3f7ff;stroke-width:2}
.seoul-experience-map-player circle:first-child{fill:#0a1019;stroke:#e6eff7;stroke-width:1.5}
.seoul-experience-map-player circle:last-child{fill:#eef6ff;stroke:none}
.seoul-experience-map-route{fill:none;stroke:#d4e7fa;stroke-width:1.7;stroke-dasharray:4 3;opacity:.65}
.seoul-experience-destinations{min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#40536b #090d12;padding:2px 5px 3px 2px}
.seoul-experience-dialog .seoul-experience-destination{display:flex;justify-content:flex-start;gap:11px;width:100%;min-height:48px;padding:11px 8px;border-bottom:1px solid #c5d3e51c;text-align:left;white-space:normal;line-height:1.4}
.seoul-experience-destination[aria-pressed=true]{background:#cad7e811;color:#edf4fc}
.seoul-experience-destination-number{font:8px/1.3 Arial,sans-serif;color:#6f839a;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.seoul-experience-destination-name{font:9px/1.5 Arial,sans-serif;letter-spacing:.04em;color:#b9c8d9}
.seoul-experience-destination[aria-pressed=true] .seoul-experience-destination-name{color:#e9f1fa}
.seoul-experience-destination-arrow{margin-left:auto;display:flex;align-items:center;flex-shrink:0;color:#667a92}
.seoul-experience-dialog .seoul-experience-destination-arrow svg{width:13px;height:13px}
.seoul-experience-map-footer{flex-shrink:0;padding:14px 22px 12px;border-top:1px solid #cbd7e51b;background:#0b1017}
.seoul-experience-selection h3{margin:0;color:#dfe8f3;font-size:11px;line-height:1.4;font-weight:400;letter-spacing:.06em}
.seoul-experience-selection p{margin:5px 0 12px;min-height:30px;color:#8798ad;font-size:10px;line-height:1.5;max-width:480px}
.seoul-experience-map-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.seoul-experience-dialog .seoul-experience-walk{justify-content:space-between;gap:20px;min-width:160px;flex:1;max-width:320px;min-height:44px;padding:0 14px;background:#d9e4ef;color:#101924;letter-spacing:.1em}
.seoul-experience-dialog .seoul-experience-walk:hover{background:#edf3f8}
.seoul-experience-dialog .seoul-experience-map-music .sound-floating{position:static;display:flex;align-items:center;justify-content:center;gap:7px;width:78px;height:44px;min-width:44px;padding:0;color:#d4e1ef;mix-blend-mode:normal;opacity:.8;background:transparent;transform:none;visibility:visible;pointer-events:auto}
.seoul-experience-map-music .sound-wave{width:27px;height:14px}.seoul-experience-map-music .sound-icon{width:18px;height:18px}
.seoul-experience-dialog .seoul-experience-map-music .sound-icon svg{stroke:none;fill:currentColor}
.seoul-experience-map-hint{margin:10px 0 0;color:#708198;font-size:8px;line-height:1.5;letter-spacing:.02em}

.seoul-photo-panel{position:absolute;inset:0;z-index:12;pointer-events:none;color:#e5edf5;font:11px/1.45 Arial,Helvetica,sans-serif;letter-spacing:0}
.seoul-photo-header{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0;color:#e6eef7;text-shadow:0 1px 6px #000a}
.seoul-photo-header>div{padding:8px 12px;background:#060c14b8;border-left:1px solid #c8d6e246;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.seoul-photo-header h2{font-size:12px;letter-spacing:.12em}
.seoul-photo-header p:last-child{margin:6px 0 0;color:#99a9bc;font-size:9px}
.seoul-photo-panel .seoul-photo-close{pointer-events:auto;background:#060c14d4;border:1px solid #c8d6e230;padding:0 11px;gap:7px;font-size:8px;min-height:44px}
.seoul-photo-frame{position:absolute;pointer-events:none}
.seoul-photo-frame-label{position:absolute;left:0;top:-17px;color:#9dacc0;font:6px/1.2 Arial,sans-serif;letter-spacing:.15em;text-shadow:0 1px 4px #000;white-space:nowrap}
.seoul-photo-guide-corners{position:absolute;inset:0;background:linear-gradient(#d7e5f06b,#d7e5f06b) left top/20px 1px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) left top/1px 20px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) right top/20px 1px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) right top/1px 20px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) left bottom/20px 1px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) left bottom/1px 20px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) right bottom/20px 1px no-repeat,linear-gradient(#d7e5f06b,#d7e5f06b) right bottom/1px 20px no-repeat}
.seoul-photo-result{position:absolute;margin:0;background:#04070c;pointer-events:auto;box-shadow:0 0 0 1px #c7d9eb4a,0 12px 50px #0007}
.seoul-photo-result-image{display:block;width:100%;height:100%;object-fit:contain;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}
.seoul-photo-result-caption{position:absolute;top:-17px;right:0;margin:0;color:#d4e2ef;font:6px/1.2 Arial,sans-serif;letter-spacing:.15em;pointer-events:none;text-shadow:0 1px 4px #000}
.seoul-photo-controls{position:absolute;left:50%;bottom:calc(var(--bar,28px) + 65px);transform:translateX(-50%);width:min(470px,calc(100% - 32px));padding:10px 12px 8px;border:1px solid #cbd9e033;background:#080e17;pointer-events:auto;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 28px #0004}
.seoul-photo-main,.seoul-photo-result-actions{display:flex;align-items:center;gap:10px;min-width:0}
.seoul-photo-panel .seoul-photo-settings-toggle{justify-content:flex-start;gap:10px;flex:1;min-width:0;padding:0 7px;text-align:left;color:#b4c3d6}
.seoul-photo-settings-toggle>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.seoul-photo-settings-toggle>span>span{font-size:8px;letter-spacing:.12em}
.seoul-photo-options-summary{font-size:7px;line-height:1.4;color:#7c91aa;letter-spacing:.08em;white-space:nowrap}
.seoul-photo-panel .seoul-photo-capture,.seoul-photo-panel .seoul-photo-save{min-width:130px;justify-content:center;gap:10px;padding:0 16px;background:#dce6ef;color:#101923;font-size:9px;letter-spacing:.09em}
.seoul-photo-panel .seoul-photo-capture:hover,.seoul-photo-panel .seoul-photo-save:hover{background:#f0f5f9}
.seoul-photo-status{min-height:13px;margin:8px 2px 0;color:#8295ac;font-size:8px;line-height:1.5;letter-spacing:.015em;overflow-wrap:break-word}
.seoul-photo-settings{position:absolute;z-index:2;left:-1px;right:-1px;bottom:calc(100% + 8px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#51637a #080e17;padding:14px;background:#080e17;border:1px solid #cbd9e044;box-shadow:0 10px 35px #0006;color:#d6e3f0}
.seoul-photo-panel fieldset{border:0;margin:0;padding:0;min-width:0}
.seoul-photo-panel legend{display:block;padding:0;margin:0 0 7px;color:#7d91a9;font-size:7px;letter-spacing:.14em}
.seoul-photo-view-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.seoul-photo-panel .seoul-photo-view,.seoul-photo-panel .seoul-photo-format{border:1px solid #d5e1ed24;min-height:44px;padding:0 7px;font-size:8px;letter-spacing:.08em}
.seoul-photo-panel .seoul-photo-view[aria-pressed=true],.seoul-photo-panel .seoul-photo-format[aria-pressed=true]{background:#c7d9eb16;border-color:#ccdfef78;color:#f0f6fd}
.seoul-photo-format-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px}
.seoul-photo-format-buttons{display:flex;gap:5px}
.seoul-photo-panel .seoul-photo-format{min-width:85px}
.seoul-photo-signature{display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer;font-size:7px;letter-spacing:.08em;color:#a9bbcf;touch-action:manipulation}
.seoul-photo-signature input{appearance:auto;-webkit-appearance:checkbox;accent-color:#bacde2;width:18px;height:18px;margin:0;cursor:pointer;flex-shrink:0}
.seoul-photo-panel .seoul-photo-settings-done{margin-top:10px;padding:0 2px;min-height:44px;gap:9px;width:100%;justify-content:flex-end;color:#95a9c1;font-size:8px;border-top:1px solid #c5d6e522}
.seoul-photo-settings-done svg{width:14px!important;height:14px!important}
.seoul-photo-panel .seoul-photo-retake{padding:0 8px;font-size:8px;color:#9baec5;min-width:66px}
.seoul-photo-panel .seoul-photo-save{flex:1;min-width:0;padding:0 12px;white-space:nowrap}
.seoul-photo-panel .seoul-photo-share{min-width:76px;padding:0 8px;color:#bccfe3;font-size:8px}
.seoul-photo-panel[data-capturing=true] .seoul-photo-settings-toggle{pointer-events:none;opacity:.4}
html.seoul-photo-lock{overflow:hidden;overscroll-behavior:none;scroll-behavior:auto}
body.seoul-photo-mode{overflow:hidden;overscroll-behavior:none}
#black-stage.seoul-photo-open{position:fixed;inset:0;overflow:clip;overflow-anchor:none;z-index:20}
.seoul-photo-panel{overflow-anchor:none}
#black-stage.seoul-photo-open .figure,#black-stage.seoul-photo-open .story,#black-stage.seoul-photo-open .hud,#black-stage.seoul-photo-open .seoul-stick,#black-stage.seoul-photo-open .seoul-jump,#black-stage.seoul-photo-open .seoul-place-action,#black-stage.seoul-photo-open .seoul-place-target,#black-stage.seoul-photo-open .seoul-tiger-touch,#black-stage.seoul-photo-open .seoul-interact{opacity:0!important;visibility:hidden;pointer-events:none!important}

@media(max-width:700px){
 .seoul-controls .seoul-experience-toolbar button{min-width:74px;padding:0 10px;gap:7px;font-size:7px}
 .seoul-experience-toolbar svg{width:16px;height:16px}
 .seoul-experience-route{bottom:calc(var(--bar,28px) + 180px);max-width:calc(100% - 28px)}
 .seoul-experience-route-title{font-size:8px;max-width:180px}
 .seoul-experience-message{bottom:calc(var(--bar,28px) + 231px);font-size:9px}
 dialog.seoul-experience-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 16px);max-height:calc(100vh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 .seoul-experience-header{padding:12px 15px 10px;min-height:68px;gap:12px}.seoul-experience-header h2{font-size:12px}.seoul-experience-eyebrow{font-size:6px}
 .seoul-experience-dialog .seoul-experience-close-places{gap:6px;font-size:7px}.seoul-experience-intro{padding:10px 15px 0;font-size:10px}
 .seoul-experience-map-body{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:10px;margin:12px 12px;min-height:130px;height:340px;max-height:calc(100vh - 280px)}
 .seoul-experience-map{padding:8px 3px}.seoul-experience-map figcaption{font-size:5px;letter-spacing:.04em;gap:4px;padding-top:7px}.seoul-experience-you-dot{width:6px;height:6px}
 .seoul-experience-dialog .seoul-experience-destination{min-height:46px;padding:9px 5px;gap:8px}.seoul-experience-destination-number{font-size:7px}.seoul-experience-destination-name{font-size:8px}.seoul-experience-dialog .seoul-experience-destination-arrow svg{width:11px;height:11px}
 .seoul-experience-map-footer{padding:12px 15px 10px}.seoul-experience-selection h3{font-size:10px}.seoul-experience-selection p{font-size:9px;margin:5px 0 10px;min-height:27px}.seoul-experience-map-hint{font-size:7px;margin-top:8px}
 .seoul-experience-dialog .seoul-experience-walk{min-width:140px;font-size:8px;padding:0 12px}.seoul-experience-map-actions{gap:8px}
 .seoul-photo-header{left:12px;right:12px;top:calc(12px + env(safe-area-inset-top,0px));gap:12px}.seoul-photo-header>div{padding:7px 10px}.seoul-photo-header h2{font-size:10px}.seoul-photo-header p:last-child{font-size:8px;margin-top:5px}.seoul-photo-panel .seoul-photo-close{font-size:7px;padding:0 8px;gap:4px}.seoul-photo-close svg{width:16px!important;height:16px!important}
 .seoul-photo-controls{width:calc(100% - 24px);padding:9px 10px 7px}.seoul-photo-main,.seoul-photo-result-actions{gap:8px}
 .seoul-photo-panel .seoul-photo-settings-toggle{gap:8px;padding:0 4px}.seoul-photo-settings-toggle>span>span{font-size:7px}.seoul-photo-options-summary{font-size:6px}
 .seoul-photo-panel .seoul-photo-capture{min-width:112px;padding:0 12px;font-size:8px}.seoul-photo-status{font-size:7px;margin-top:7px}
 .seoul-photo-settings{padding:12px}.seoul-photo-format-row{gap:9px;margin-top:12px}.seoul-photo-panel .seoul-photo-format{min-width:74px;font-size:7px;padding:0 7px}.seoul-photo-signature{font-size:6px;gap:6px;max-width:108px;line-height:1.5}
 .seoul-photo-panel .seoul-photo-retake{min-width:60px;padding:0 5px;font-size:7px}.seoul-photo-panel .seoul-photo-save{gap:7px;padding:0 8px;font-size:8px}.seoul-photo-panel .seoul-photo-share{min-width:66px;padding:0 4px;font-size:7px;gap:5px}
}
@media(max-width:359px){
 .seoul-controls .seoul-experience-toolbar button{min-width:44px;width:44px;padding:0}.seoul-experience-toolbar button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.seoul-experience-toolbar svg{width:18px;height:18px}
 .seoul-experience-map-body{gap:6px;margin-left:10px;margin-right:10px;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr)}.seoul-experience-destination-arrow{display:none}.seoul-experience-dialog .seoul-experience-destination{gap:6px;padding:9px 5px}.seoul-experience-destination-name{font-size:7px}.seoul-experience-map-footer{padding-left:12px;padding-right:12px}
 .seoul-photo-panel .seoul-photo-capture{min-width:105px;padding:0 8px;gap:7px}.seoul-photo-panel .seoul-photo-format{min-width:64px}.seoul-photo-signature{font-size:6px;max-width:90px}.seoul-photo-format-row{gap:7px}.seoul-photo-settings{padding:10px}
}
@media(min-width:601px) and (max-height:600px){
 .seoul-experience-toolbar{bottom:calc(var(--bar,28px) + 8px)}.seoul-experience-route{bottom:calc(var(--bar,28px) + 116px)}.seoul-experience-message{bottom:calc(var(--bar,28px) + 167px)}
 dialog.seoul-experience-dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 .seoul-experience-sheet{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);grid-template-rows:auto auto minmax(0,1fr);max-height:inherit}
 .seoul-experience-header{grid-column:1 / -1;min-height:55px;padding:5px 17px}.seoul-experience-header h2{font-size:11px}.seoul-experience-eyebrow{margin-bottom:3px;font-size:6px}
 .seoul-experience-intro{grid-column:1 / -1;padding:7px 17px 0;font-size:10px}
 .seoul-experience-map-body{grid-column:1;grid-row:3;height:calc(100vh - 117px);max-height:315px;min-height:100px;margin:10px 17px 14px;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:12px}
 .seoul-experience-dialog .seoul-experience-destination{min-height:44px;padding:9px 5px;gap:8px}.seoul-experience-destination-name{font-size:8px}.seoul-experience-map{padding:7px 4px}.seoul-experience-map figcaption{font-size:5px}
 .seoul-experience-map-footer{grid-column:2;grid-row:3;align-self:center;min-width:0;border-top:0;border-left:1px solid #cbd7e51b;margin:10px 17px 14px 0;padding:14px 0 14px 17px;background:transparent}.seoul-experience-selection h3{font-size:10px}.seoul-experience-selection p{font-size:10px;min-height:30px;margin-bottom:18px}.seoul-experience-dialog .seoul-experience-walk{min-width:124px;padding:0 10px;font-size:8px;gap:7px}.seoul-experience-map-actions{gap:6px}.seoul-experience-dialog .seoul-experience-map-music .sound-floating{width:55px;gap:5px}.seoul-experience-map-music .sound-wave{width:20px}.seoul-experience-map-hint{font-size:7px;margin-top:12px}
 .seoul-photo-header{top:10px;left:14px;right:14px}.seoul-photo-header>div{padding:6px 10px}.seoul-photo-header h2{font-size:10px}.seoul-photo-header p:last-child{display:none}
 .seoul-photo-controls{left:auto;right:14px;bottom:calc(var(--bar,28px) + 65px);transform:none;width:278px;padding:9px 10px 7px}.seoul-photo-panel .seoul-photo-capture{min-width:105px;padding:0 10px;font-size:8px}.seoul-photo-panel .seoul-photo-settings-toggle{gap:7px;padding:0 3px}.seoul-photo-settings-toggle>span>span{font-size:7px}.seoul-photo-options-summary{font-size:6px}.seoul-photo-status{font-size:7px;min-height:11px}.seoul-photo-settings{padding:10px}.seoul-photo-panel .seoul-photo-format{min-width:64px;padding:0 6px;font-size:7px}.seoul-photo-signature{font-size:6px;gap:5px;max-width:84px}.seoul-photo-format-row{gap:7px}.seoul-photo-panel .seoul-photo-save{padding:0 8px;font-size:7px;gap:6px}.seoul-photo-panel .seoul-photo-retake{min-width:54px;padding:0 4px;font-size:7px}.seoul-photo-panel .seoul-photo-share{min-width:58px;padding:0 4px;font-size:7px;gap:4px}
}
@supports(height:100dvh){
 dialog.seoul-experience-dialog{max-height:calc(100dvh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 @media(max-width:700px){dialog.seoul-experience-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.seoul-experience-map-body{max-height:calc(100dvh - 280px)}}
 @media(min-width:601px) and (max-height:600px){dialog.seoul-experience-dialog{max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.seoul-experience-map-body{height:calc(100dvh - 117px)}}
}
@media(prefers-reduced-motion:reduce){.seoul-experience-dialog *,.seoul-experience-toolbar *,.seoul-photo-panel *{scroll-behavior:auto;transition:none!important}}
