/* Cave presentation only. Map coordinates and combat rules live in their existing modules. */#view-cave-path .cave-ui{--cu-bg:#101211;--cu-line:#30332e;--cu-text:#eee9df;--cu-muted:#a4aaa4;--cu-gold:#d5b775;position:relative;display:flex;flex-direction:column;flex:0 0 auto;height:var(--cave-ui-height,75dvh);min-height:380px;width:100%;margin:0;overflow:hidden;background:var(--cu-bg);color:var(--cu-text);font:400 14px/1.6 Cairo,sans-serif;letter-spacing:0;border-bottom:1px solid var(--cu-line)}.cave-ui *,.cave-ui *::before,.cave-ui *::after{box-sizing:border-box;letter-spacing:0}.cave-ui button,.cave-ui input{font-family:inherit}.cave-ui button{cursor:pointer}.cave-ui button:disabled{cursor:not-allowed;opacity:.45}.cave-server-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 20px;background:#191b19;border-bottom:1px solid #30332e;flex-shrink:0}.cave-server-status button{background:#252723;border:1px solid #53584a;color:#eee9df;padding:6px 10px}.cave-ui button:focus-visible,.cave-ui summary:focus-visible,.cave-ui input:focus-visible{outline:2px solid #e3c991;outline-offset:3px}.cave-ui-header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;gap:18px;padding:12px 22px;border-bottom:1px solid var(--cu-line);background:#141714}.cave-ui-heading{min-width:0}.cave-ui-heading>span{display:block;font-size:11px;color:var(--cu-gold)}.cave-ui-heading h2{margin:0;font-size:22px;line-height:1.5;color:var(--cu-text)}.cave-ui-heading p{margin:0;font-size:12px;color:var(--cu-muted)}.cave-ui-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cave-ui-counter{font-size:12px;color:var(--cu-muted);text-align:center;padding-inline:14px}.cave-ui-counter b{display:block;direction:ltr;color:var(--cu-gold);font-size:20px;line-height:1.3}.cave-ui-secondary,.cave-ui-danger,.cave-ui-primary{min-height:40px;padding:8px 14px;font-size:13px;font-weight:700;border:1px solid #4a4e44;border-radius:3px;color:var(--cu-text);background:#20241f;transition:background .16s,border-color .16s}.cave-ui-secondary:hover{background:#2b3028;border-color:#898e7f}.cave-ui-danger{border-color:#70453f;color:#ebada5;background:#271915}.cave-ui-danger:hover{background:#49231d}.cave-ui-primary{width:100%;min-height:46px;background:#742f27;border-color:#a25143;color:#fff0da;font-size:15px}.cave-ui-primary:hover:not(:disabled){background:#8d3d32;border-color:#d38b65}.cave-ui-body{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-areas:"rail map";flex:1;min-height:0;min-width:0}.cave-ui-rail{grid-area:rail;min-height:0;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--cu-line);background:#151815}.cave-ui-rail-scroll{padding:18px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#515746 #151815}.cave-ui-rail h3{font-size:19px;line-height:1.55;margin:0 0 5px;color:var(--cu-text);overflow-wrap:anywhere}.cave-ui-muted{color:var(--cu-muted);font-size:12px;margin:0 0 14px;line-height:1.7}.cave-ui-region-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;gap:12px}.cave-ui-region-title>b{font-size:30px;line-height:1;color:#7e847a;font-weight:400}.cave-ui-region-title>span{font-size:11px;color:#a4aaa4}.cave-ui-region-title>.is-available{color:#a9c7a4}.cave-ui-region-preview{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;margin:12px 0}.cave-ui-facts{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 0;gap:0;border-block:1px solid var(--cu-line)}.cave-ui-facts>div{padding:10px 4px}.cave-ui-facts dt{font-size:11px;color:var(--cu-muted)}.cave-ui-facts dd{margin:1px 0 0;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cu-text)}.cave-ui-boss-preview{display:flex;gap:10px;align-items:center;margin-top:10px}.cave-ui-boss-preview>div{width:80px;height:94px;flex:none}.cave-ui-boss-preview .cave-monster-sprite{width:100%;height:100%;object-fit:contain;filter:none;animation:none}.cave-ui-boss-preview section{min-width:0}.cave-ui-boss-preview small{display:block;color:var(--cu-muted);font-size:11px}.cave-ui-boss-preview strong{display:block;color:var(--cu-gold);font-size:14px}.cave-ui-rail-action{padding:12px 18px;border-top:1px solid var(--cu-line);background:#171b16;flex:none}.cave-ui-rail-action>small{display:block;text-align:center;color:var(--cu-muted);font-size:11px;margin-top:6px}.cave-ui-map-stage{grid-area:map;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:0 16px;background:#0b0e0d}.cave-ui-map-caption,.cave-ui-map-legend{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:39px;padding:7px 0;color:var(--cu-muted);font-size:11px}.cave-ui-map-caption{border-bottom:1px solid #282d26}.cave-ui-map-caption span:first-child{color:#cbcbbf}.cave-ui-map-legend{flex-wrap:wrap}.cave-ui-map-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d8b66b;margin-left:5px;box-shadow:0 0 7px #a28d52}.cave-ui-map-space{display:grid;place-items:center;container-type:size;min-height:0;min-width:0}#view-cave-path .cave-ui .cave-path-map,#view-cave-path .cave-ui .cave-ui-scene{position:relative;width:min(100cqw,calc(100cqh * 1672 / 941),1672px);max-width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:1672/941;margin:0;flex:none;border:0;outline:1px solid #3c4137;overflow:hidden;background:#050807;box-shadow:none}#view-cave-path .cave-ui .cave-path-map>img,.cave-ui-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none}#view-cave-path .cave-ui .travel-city-node{min-width:26px!important;min-height:26px!important;font-size:12px}.cave-ui .travel-city-node.is-active-city::after{animation-duration:3.6s}.cave-ui .travel-city-node.is-selected{filter:none;color:#fff0bb;border-color:#ffe5a2;background:#44351b}.cave-ui-regions{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:0;flex:none;border-top:1px solid var(--cu-line);background:#171b16;padding:0 8px}.cave-ui-region{min-width:0;display:flex;align-items:center;gap:8px;text-align:right;background:transparent;border:0;border-bottom:2px solid transparent;color:#aab0a7;border-radius:0;padding:11px 8px}.cave-ui-region>b{flex:none;align-self:flex-start;margin-top:3px;font-size:13px;color:#737d6d}.cave-ui-region>span{min-width:0;font-size:11px;line-height:1.65}.cave-ui-region small{display:block;color:#808a79;font-size:10px}.cave-ui-region:hover{background:#242a20;color:#e8e9de}.cave-ui-region.is-selected{border-bottom-color:var(--cu-gold);background:#2d3024;color:#f0d49b}.cave-ui-region.is-selected>b{color:var(--cu-gold)}.cave-ui-region.is-cleared small{color:#9bbe8f}.cave-ui-difficulties{border:0;padding:0;margin:13px 0;display:grid;gap:8px}.cave-ui-difficulty-option{display:flex;gap:10px;align-items:center;cursor:pointer;border:1px solid #3b4336;padding:12px 9px;background:#11150f;border-radius:3px}.cave-ui-difficulty-option.is-selected{border-color:#b29d67;background:#292e20}.cave-ui-difficulty-option input{accent-color:#d9bc7b;margin:0;flex:none;width:15px;height:15px}.cave-ui-difficulty-option>span{flex:1}.cave-ui-difficulty-option strong{font-size:15px}.cave-ui-difficulty-option small{display:block;font-size:10px;color:var(--cu-muted)}.cave-ui-difficulty-option>b{text-align:center;font-size:14px;color:var(--cu-gold)}.cave-ui-terms{margin-top:16px;color:#b4b9ad;font-size:12px}.cave-ui-terms p{margin:8px 0;padding-right:10px;border-right:2px solid #545c43}.cave-ui-entry-cost{display:flex;justify-content:space-between;gap:8px;margin-bottom:9px;font-size:12px;color:var(--cu-muted)}.cave-ui-entry-cost strong{color:var(--cu-gold);font-size:15px}.cave-ui-clock{text-align:center;padding-inline:10px;min-width:94px;font-variant-numeric:tabular-nums}.cave-ui-clock small{display:block;font-size:10px;color:var(--cu-muted)}.cave-ui-clock b{display:block;font-size:22px;line-height:1.3;color:var(--cu-gold);direction:ltr}.cave-ui-target-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--cu-muted)}.cave-ui-target-head b{color:#d6b481;font-size:11px;font-weight:400}.cave-ui-portrait{height:140px;display:grid;place-items:center;margin:8px 0}.cave-ui-portrait .cave-monster-sprite{width:140px;height:140px;object-fit:contain;animation:none;filter:drop-shadow(0 10px 12px #000)}.cave-ui-target-name{text-align:center}.cave-ui-loot{border-block:1px solid var(--cu-line);padding:12px 0;margin:14px 0}.cave-ui h4{font-size:13px;margin:0 0 7px;color:#d3d5c9}.cave-ui-loot dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:6px}.cave-ui-loot dt{font-size:10px;color:var(--cu-muted)}.cave-ui-loot dd{font-size:17px;font-weight:700;margin:0;color:var(--cu-gold);overflow-wrap:anywhere}.cave-ui-loot>small{display:block;font-size:10px;color:#979f90;margin-top:8px}.cave-ui-curses h4{display:flex;justify-content:space-between}.cave-ui-curses h4 span{color:#c49b90}.cave-ui details{font-size:12px;border-bottom:1px solid var(--cu-line)}.cave-ui summary{cursor:pointer;color:#d2b5a1;padding:7px 0}.cave-ui details p{font-size:12px;color:#b4bcad;line-height:1.75;margin:0 0 10px}.cave-ui-environment{margin-top:8px}.cave-ui-track{display:flex;align-items:center;gap:22px;padding:10px 22px;flex:none;background:#171b16;border-top:1px solid var(--cu-line)}.cave-ui-track>strong{font-size:12px;font-weight:400;color:var(--cu-muted);white-space:nowrap}.cave-ui-track ol{list-style:none;display:flex;flex:1;justify-content:space-between;margin:0;padding:0;gap:0}.cave-ui-track li{position:relative;flex:1;text-align:center;font-size:11px;color:#828c7b}.cave-ui-track li::after{content:"";position:absolute;height:1px;background:#3b4335;top:14px;width:100%;right:50%}.cave-ui-track li:last-child::after{display:none}.cave-ui-track li>span{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;margin:auto;border:1px solid #555e49;border-radius:50%;background:#171b16}.cave-ui-track small{display:block;font-size:10px;margin-top:4px}.cave-ui-track .is-current>span{color:#fff0bd;border-color:#d8b267;background:#4d432b;box-shadow:0 0 0 3px #d8b26720}.cave-ui-track .is-current{color:#dbc28c}.cave-ui-track .is-cleared>span{color:#b3dca1;border-color:#778b66;background:#293621}.cave-ui-track.is-final .is-current>span{border-color:#cb837c;background:#532522;color:#ffe0db}.cave-ui .cave-encounter-node{display:flex;flex-direction:column;align-items:center}.cave-ui .cave-encounter-node>*{flex-shrink:0}.cave-ui .cave-encounter-node .node-name{width:max-content;font-size:11px;white-space:normal;max-width:145px;line-height:1.4;opacity:0;transition:opacity .15s}.cave-ui .cave-encounter-node .node-status{font-size:10px;white-space:nowrap}.cave-ui .cave-encounter-node.is-current .node-name,.cave-ui .cave-encounter-node:hover .node-name,.cave-ui .cave-encounter-node:focus-visible .node-name,.cave-ui .cpt-map-editing .node-name{opacity:1}.cave-ui .cave-shop-panel{top:92px;left:18px;width:390px;max-width:calc(100% - 36px);padding:18px;background:#171c17;border-color:#77745a}.cave-ui .cave-shop-panel header h3{font-size:18px}.cave-ui .cave-shop-panel header small{font-size:11px}.cave-ui .cave-shop-panel article{grid-template-columns:82px 1fr;gap:15px}.cave-ui .cave-shop-panel article img{width:82px;height:96px;object-fit:contain;border:0;background:transparent}.cave-ui .cave-shop-panel article h4{font-size:16px}.cave-ui .cave-shop-panel article p,.cave-ui .cave-shop-panel article span{font-size:12px}.cave-ui .cave-shop-panel article>button{grid-column:1/-1;min-height:42px;font-size:14px;border-radius:3px}.cave-ui-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(min-width:901px) and (max-height:850px){.cave-ui-header{padding-block:7px}.cave-ui-heading h2{font-size:20px}.cave-ui-heading p{display:none}.cave-ui-rail-scroll{padding:12px 16px}.cave-ui-region-preview{max-height:104px;margin-block:8px}.cave-ui-facts>div{padding-block:5px}.cave-ui-portrait{height:98px;margin:4px}.cave-ui-portrait .cave-monster-sprite{width:98px;height:98px}.cave-ui-boss-preview>div{height:64px;width:62px}.cave-ui-region{padding-block:7px}.cave-ui-track{padding-block:7px}}@media(min-width:901px) and (max-width:1500px){.cave-ui-body{grid-template-columns:270px minmax(0,1fr)}.cave-ui-region>b{display:none}.cave-ui-region>span{font-size:10px}.cave-ui-regions{padding:0}.cave-ui-region{padding-inline:6px}.cave-ui-header{padding-inline:16px}.cave-ui-secondary,.cave-ui-danger{padding-inline:10px;font-size:12px}}@media(max-width:900px){#view-cave-path .cave-ui{height:auto;min-height:0;overflow:visible}.cave-ui-header{padding:12px;flex-wrap:wrap;gap:12px}.cave-ui-heading h2{font-size:20px}.cave-ui-heading p{font-size:11px}.cave-ui-actions{gap:6px;justify-content:flex-start}.cave-ui-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "rail"}.cave-ui-map-stage{padding-inline:10px}.cave-ui-map-space{container-type:inline-size;padding-block:8px}#view-cave-path .cave-ui .cave-path-map,#view-cave-path .cave-ui .cave-ui-scene{width:100%;max-width:100%;min-width:0;aspect-ratio:1672/941}.cave-ui-map-legend{font-size:10px;gap:4px}.cave-ui-map-caption{font-size:10px}.cave-ui-rail{border-left:0;border-top:1px solid var(--cu-line)}.cave-ui-rail-scroll{overflow:visible}.cave-ui-expedition .cave-ui-rail-action{order:-1}.cave-ui-travel .cave-ui-region-preview{float:left;width:42%;margin:0 12px 8px 0}.cave-ui-travel .cave-ui-facts{clear:both;grid-template-columns:repeat(4,minmax(0,1fr))}.cave-ui-regions{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.cave-ui-region{flex:0 0 135px}.cave-ui-track{gap:10px;padding:10px;flex-wrap:wrap}.cave-ui-track>strong{width:100%}.cave-ui-track ol{min-width:0}.cave-ui-track li>span{width:24px;height:24px}.cave-ui-track li::after{top:12px}.cave-ui-track small{font-size:9px}.cave-ui .cave-encounter-node .node-name{font-size:9px;max-width:90px}.cave-ui .cave-encounter-node .node-status{font-size:8px;padding:0 3px}.cave-ui .cave-shop-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-height:85dvh;overflow-y:auto;z-index:61000}.cave-ui .cave-shop-panel.is-open{transform:translate(-50%,-50%)}}.cave-server-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;flex-shrink:0}.cave-server-status>span{flex:1 1 200px;min-width:0}.cave-server-status button{min-height:40px;white-space:normal}.cave-reward-preview{min-width:0;line-height:1.6}.cave-reward-preview section{border-bottom:1px solid #555441;padding:8px 0}.cave-reward-preview h4{font-size:14px;color:#ddc18a;margin:0 0 6px}.cave-reward-preview dl{margin:0}.cave-reward-preview dl>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.cave-reward-preview dt{font-size:13px;color:#b9c1b0}.cave-reward-preview dd{font-size:14px;margin:0;color:#eee}.cave-reward-preview p{font-size:12px;color:#b5bbab}.cave-rarity-range{color:#dcc196;font-size:13px}.cave-run-guide p{margin:0 0 14px}#game-modal-box:has(.cave-reward-preview,.cave-run-guide){display:flex;flex-direction:column;width:620px!important;max-height:90dvh!important;overflow:hidden!important;direction:inherit!important;text-align:start!important}#game-modal-box:has(.cave-reward-preview,.cave-run-guide)>div{flex-shrink:0}#game-modal-box:has(.cave-reward-preview,.cave-run-guide) #game-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}#game-modal-box:has(.cave-reward-preview,.cave-run-guide) #game-modal-footer{padding-top:12px!important;border-top:1px solid #555441}#game-modal-box:has(.cave-reward-preview,.cave-run-guide) #game-modal-title{letter-spacing:0!important}#game-modal-box:has(.cave-reward-preview,.cave-run-guide) #game-modal-footer button{min-height:44px;letter-spacing:0!important;white-space:normal}.cave-charge{color:#f0ce7d;font-weight:700}.cave-ui-difficulty-option:has(input:disabled){opacity:.6;cursor:not-allowed}@media(max-width:900px){.cave-ui-difficulty .cave-ui-body{grid-template-areas:"rail" "map"}.cave-ui-difficulty .cave-ui-rail-action{position:sticky;bottom:0;z-index:2;background:#171c17}}@media(prefers-reduced-motion:reduce){.cave-ui *,.cave-ui *::before,.cave-ui *::after{animation:none!important;transition:none!important}}