*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#000;color:#d9e2ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.search-panel,.browse-panel,.settings-menu{scrollbar-color:#607187 #101821;scrollbar-width:thin}.search-panel ::-webkit-scrollbar,.browse-panel ::-webkit-scrollbar,.settings-menu::-webkit-scrollbar{width:10px;height:10px}.search-panel ::-webkit-scrollbar-track,.browse-panel ::-webkit-scrollbar-track,.settings-menu::-webkit-scrollbar-track{background:#101821}.search-panel ::-webkit-scrollbar-thumb,.browse-panel ::-webkit-scrollbar-thumb,.settings-menu::-webkit-scrollbar-thumb{border:2px solid #101821;border-radius:999px;background:#607187}.search-panel ::-webkit-scrollbar-corner,.browse-panel ::-webkit-scrollbar-corner,.settings-menu::-webkit-scrollbar-corner{background:#101821}.native-scrollbar-hidden{scrollbar-width:none}.native-scrollbar-hidden::-webkit-scrollbar{display:none;width:0;height:0}.custom-scrollbar{position:absolute;z-index:2;width:10px;border-radius:999px;background:#060c1294;pointer-events:auto}.custom-scrollbar[hidden]{display:none}.custom-scrollbar-thumb{position:absolute;top:0;right:2px;left:2px;min-height:24px;border-radius:999px;background:#64758b}.custom-scrollbar:hover .custom-scrollbar-thumb{background:#8aa1b8}#app{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr)}.toolbar{position:relative;z-index:2;display:flex;gap:8px;align-items:center;min-width:0;min-height:48px;padding:6px 10px;border-bottom:1px solid #26313d;background:#161d25}.brand{color:#fff;font-size:14px;font-weight:700;white-space:nowrap}button,select,input{height:32px;min-width:0}button,select{border:1px solid #334252;border-radius:6px;background:#202a35;color:#eaf0f6}button{display:grid;place-items:center;width:36px;min-width:36px;cursor:pointer}button:hover{background:#283545}select{min-width:0;padding:0 8px}#mapSelect,#markSelect{flex:0 1 auto}#mapSelect{width:clamp(82px,9vw,120px)}#mapSelect[hidden]{display:none}#markSelect{width:clamp(150px,24vw,260px)}.search-box{position:relative;z-index:5;flex:0 1 260px;min-width:140px}.map-search{width:100%;padding:0 10px;border:1px solid #334252;border-radius:6px;color:#eaf0f6;background:#101821}.map-search:focus{border-color:#5ea1ff;outline:none}#zoomRange{flex:0 1 180px;width:clamp(96px,16vw,180px)}.status{flex:1 1 auto;min-width:0;overflow:hidden;color:#9fb0c2;font-size:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}#stage{position:relative;z-index:0;grid-row:2;grid-column:1;min-width:0;min-height:0;overflow:hidden;background:#000;cursor:grab;touch-action:none}.floating-ui-layer{position:relative;z-index:3;grid-row:2;grid-column:1;min-width:0;min-height:0;overflow:hidden;pointer-events:none}#stage.dragging{cursor:grabbing}.map-overlay-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none}.map-render-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:12px;place-items:center;align-content:center;color:#b8c7d7;background:#101419;font-size:14px}.loading.error{padding:24px;color:#ffd2d2;background:#2a1518;text-align:center}.loading-title{color:#fff;font-size:15px;font-weight:700}.loading-detail{max-width:520px;color:#f0c8c8;line-height:1.45}.loading.error button{width:auto;padding:0 14px}.network-notice{position:absolute;z-index:5;right:12px;bottom:12px;max-width:min(420px,calc(100% - 24px));padding:9px 12px;border:1px solid #5c3c1f;border-radius:6px;color:#ffe8c2;background:#241810;box-shadow:0 12px 28px #0000004d;font-size:13px}.network-notice[hidden]{display:none}.settings-menu{position:absolute;z-index:4;top:12px;left:12px;display:grid;gap:8px;width:min(260px,calc(100% - 24px));padding:10px;border:1px solid #2d3a47;border-radius:8px;background:#141b23;box-shadow:0 16px 40px #00000059;cursor:default;pointer-events:auto}.settings-menu[hidden]{display:none}.search-panel{position:absolute;z-index:6;top:8px;left:10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(430px,calc(100vw - 20px));max-height:min(560px,calc(100vh - 20px));overflow:hidden;border:1px solid #2a3948;border-radius:8px;color:#dce7f2;background:#101821;box-shadow:0 16px 40px #00000057;cursor:default;isolation:isolate;pointer-events:auto}.search-panel.is-active-panel,.browse-panel.is-active-panel{border-color:#3c5a76;box-shadow:0 0 0 1px #5ea1ff2e,0 18px 44px #0000006b}.search-panel[hidden]{display:none}.search-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border-bottom:1px solid #26313d;background:#121c26;cursor:move;-webkit-user-select:none;user-select:none}.search-panel-title{color:#fff;font-size:14px;font-weight:700}.search-panel-close{width:30px;height:30px;min-width:30px;border:1px solid #334252;border-radius:6px;color:#eaf0f6;background:#202a35;font-size:20px;line-height:1}.search-panel-close:hover{background:#283545}.search-panel-body{display:grid;align-content:start;gap:10px;min-height:0;max-height:var(--panel-body-max-height, min(506px, calc(100vh - 74px) ));overflow:auto;overscroll-behavior:contain;padding:10px 22px 18px 10px;scroll-padding:10px 22px 22px 8px}.search-section{display:grid;align-content:start;gap:7px}.search-section-title{color:#94a8bc;font-size:11px;font-weight:700;text-transform:uppercase}.search-result{display:grid;gap:7px;padding:9px;border:1px solid #263544;border-radius:6px;background:#151f2a}.npc-search-result{background:linear-gradient(180deg,#152331,#121d28)}.search-result-head,.search-result-button{display:flex;align-items:center;gap:8px;min-height:0;text-align:left}.search-result-button{width:100%;height:auto;min-width:0;padding:0;border:0;background:transparent;cursor:pointer}.search-result-button:hover{background:transparent}.search-result-text{display:grid;gap:2px;min-width:0;flex:1 1 auto}.search-result .field-icon{flex:0 0 auto}.search-result-title{display:flex;align-items:center;min-width:0;gap:6px;color:#f4f8fc;font-size:13px;font-weight:700}.search-kind-badge{padding:1px 5px;border:1px solid #405469;border-radius:4px;color:#a9c8e8;background:#1a2b3c;font-size:10px;font-weight:700;text-transform:uppercase}.search-info-button{width:auto;height:26px;min-width:0;padding:0 9px;border-color:#36506a;color:#dceeff;background:#172638;font-size:12px;font-weight:650;white-space:nowrap}.search-info-button:hover{border-color:#4f789f;background:#1d3147}.search-result-actions{display:flex;flex-wrap:wrap;gap:6px;padding-left:40px}.search-result-meta{color:#93a6ba;font-size:12px}.search-result-detail[hidden]{display:none}.search-detail-grid{display:grid;gap:8px}.search-detail-title{margin-bottom:5px;color:#c7d4e1;font-size:12px;font-weight:700}.search-position-list{display:flex;flex-wrap:wrap;gap:5px}.search-groups{display:grid;gap:7px}.search-groups summary{color:#c2d2e3;font-size:12px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.search-group-list{max-height:156px;padding-top:2px;overflow:auto}.search-location-list{max-height:210px;padding-top:2px;overflow:auto}.search-position-button{width:auto;height:26px;min-width:0;padding:0 8px;border-color:#36506a;border-radius:5px;color:#dceeff;background:#172638;font-size:12px}.search-drop-list{display:grid;gap:3px;color:#b8c8d8;font-size:12px}.npc-trade-list{display:grid;gap:8px}.item-drop-card-list,.npc-trade-card-list{display:grid;gap:6px;padding-top:6px}.item-drop-card,.npc-trade-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:7px;border:1px solid #263544;border-radius:6px;background:#111b26}.npc-trade-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.setting-row{display:flex;align-items:center;gap:8px;min-height:30px;color:#e8eef5;font-size:13px}.setting-row input{width:16px;height:16px;accent-color:#5ea1ff}.setting-row label{cursor:pointer}.browse-panel{position:absolute;z-index:3;top:12px;right:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(380px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:hidden;border:1px solid #2a3948;border-radius:8px;color:#dce7f2;background:#101821;box-shadow:0 16px 40px #00000057;cursor:default;isolation:isolate;pointer-events:auto}.creature-panel,.npc-panel{width:min(420px,calc(100% - 24px))}.npc-panel{top:56px;right:24px;width:min(440px,calc(100% - 24px))}.browse-panel[hidden]{display:none}.browse-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border-bottom:1px solid #26313d;background:#121c26;cursor:move;-webkit-user-select:none;user-select:none}.browse-title{color:#fff;font-size:14px;font-weight:700}.browse-coords{margin-top:2px;color:#8fa2b6;font-size:12px}.icon-button{width:30px;height:30px;font-size:20px;line-height:1;cursor:pointer}.browse-body{min-height:0;max-height:var(--panel-body-max-height, calc(100vh - 138px) );overflow:auto;overscroll-behavior:contain;padding:10px 22px 18px 10px;scroll-padding:10px 22px 22px 8px}.panel-resize-handle{position:relative;height:14px;border-top:1px solid rgb(255 255 255 / 5%);background:#101821;cursor:ns-resize;touch-action:none}.panel-resize-handle:before,.panel-resize-handle:after{position:absolute;left:50%;content:"";transform:translate(-50%)}.panel-resize-handle:before{top:4px;width:34px;height:4px;border-top:1px solid #60778d;border-bottom:1px solid #60778d}.panel-resize-handle:after{top:7px;width:22px;border-top:1px solid #60778d}.browse-panel .panel-resize-handle{background:#101821}.panel-resize-handle:hover{background:#1a2a3a}.panel-resize-handle:hover:before,.panel-resize-handle:hover:after{border-color:#8db7dd}.browse-empty,.browse-note{color:#9fb0c2;font-size:13px}.creature-detail{display:grid;gap:12px}.creature-detail-summary{display:flex;align-items:center;gap:10px}.creature-detail-name{color:#fff;font-size:15px;font-weight:700}.compact-list{gap:5px}.raid-list,.raid-body{display:grid;gap:7px}.raid-card{padding:8px;border:1px solid #263544;border-radius:6px;background:#151f2a}.raid-card summary{color:#e7f0f8;font-size:12px;font-weight:700;cursor:pointer}.raid-body{padding-top:7px}.raid-spawn{display:grid;gap:5px;padding:7px;border:1px solid #2b3c4d;border-radius:5px;background:#111a24}.field-list{display:grid;gap:8px}.search-group-list,.search-location-list{padding-right:18px}.field-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:start;min-width:0;padding:7px;border:1px solid #26313d;border-radius:6px;background:#101820}.field-item.depth-1,.field-item.depth-2,.field-item.depth-3,.field-item.depth-4{margin-left:12px}.field-icon{width:32px;height:32px;image-rendering:pixelated}.field-icon.fallback{display:grid;place-items:center;color:#101820;background:#556270;font-size:10px;font-weight:700}.field-icon.fallback.subtle{color:#b9c7d6;background:#202a35}.field-main{min-width:0}.field-name{overflow-wrap:anywhere;color:#f4f7fb;font-size:13px;font-weight:650}.field-meta{margin-top:2px;color:#93a7ba;font-size:12px;line-height:1.35}.house-info-card{grid-template-columns:40px minmax(0,1fr)}.house-description{margin-top:7px;color:#dce6f0}.field-text{margin-top:7px;max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #2b3642;border-radius:5px;padding:8px 20px 8px 8px;color:#efe6c8;background:#1b1710;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.35}.field-content{display:grid;gap:6px;margin-top:7px}.info-section{display:grid;gap:8px}.info-section+.info-section{margin-top:12px}.info-heading{color:#fff;font-size:13px;font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.info-stat{min-width:0;padding:7px;border:1px solid #26313d;border-radius:6px;background:#101820}.info-stat-label{color:#8fa2b6;font-size:11px}.info-stat-value{margin-top:2px;overflow-wrap:anywhere;color:#f4f7fb;font-size:13px;font-weight:650}.quote-list,.offer-list{display:grid;gap:6px}.quote-line,.offer-line{padding:7px;border:1px solid #26313d;border-radius:6px;color:#dce6f0;background:#101820;font-size:12px;line-height:1.35}.moveuse-list{display:grid;gap:8px}.moveuse-card{min-width:0;padding:8px;border:1px solid #32414f;border-radius:6px;background:#111a21}.npc-card{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:9px;border-color:#31475a;background:#101821}.npc-card>.field-icon{width:42px;height:42px}.npc-header{display:grid;gap:5px;min-width:0}.npc-summary{display:flex;flex-wrap:wrap;gap:5px}.summary-pill{max-width:100%;padding:3px 6px;border:1px solid #36516a;border-radius:999px;overflow:hidden;color:#cfe3f5;background:#132333;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.npc-block{display:grid;gap:7px;margin-top:10px}.moveuse-card{border-color:#3f4e38;background:#111b17}.moveuse-section summary.info-heading{cursor:pointer;list-style:none}.moveuse-section summary.info-heading::-webkit-details-marker{display:none}.moveuse-section summary.info-heading:before{content:"▸";display:inline-block;width:12px;color:#9db6a6}.moveuse-section[open] summary.info-heading:before{content:"▾"}.quest-title{overflow-wrap:anywhere;color:#f5f0dc;font-size:13px;font-weight:700}.quest-subheading{margin-top:10px;color:#aebfd0;font-size:11px;font-weight:700;text-transform:uppercase}.quest-chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.quest-chip-row.compact{margin-top:0}.quest-link-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.moveuse-step-list{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.moveuse-step{min-width:0;padding-left:10px;border-left:2px solid #52684a;overflow-wrap:anywhere;color:#c6d4c6;font-size:11px;line-height:1.35}.moveuse-raw{margin-top:10px}.moveuse-raw summary{cursor:pointer;color:#8fa2b6;font-size:11px;font-weight:700}.quest-link-button{display:inline-flex;align-items:center;width:auto;min-width:0;max-width:100%;height:26px;padding:0 8px;overflow:hidden;border-color:#405264;border-radius:6px;color:#e7f0f8;background:#182532;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.quest-link-button:hover{background:#223447}.quest-chip{max-width:100%;padding:3px 6px;border:1px solid #4c4b2a;border-radius:999px;color:#f2e7af;background:#211f13;font-size:11px;line-height:1.2}.dialogue-meta{margin-top:4px;overflow-wrap:anywhere;color:#9fb0c2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.35}.info-details{display:grid;gap:8px;min-width:0;scroll-margin:10px}.info-details summary.info-heading{cursor:pointer;list-style:none}.info-details summary.info-heading::-webkit-details-marker{display:none}.info-details summary.info-heading:before{content:"▸";display:inline-block;width:12px;color:#93a7bc}.info-details[open] summary.info-heading:before{content:"▾"}.info-details[open]>.offer-list{max-height:min(52vh,460px);overflow:auto;overscroll-behavior:contain;padding-right:18px}.loot-line{grid-template-columns:32px minmax(0,1fr) auto;align-items:center}@media(max-width:720px){body{overscroll-behavior:none}.toolbar{display:grid;grid-template-columns:minmax(74px,.7fr) minmax(0,1.3fr) 40px;grid-template-areas:"map mark settings" "up zoom down";gap:7px;align-items:center;padding:calc(7px + env(safe-area-inset-top)) 8px 8px}.brand,.status{display:none}button{width:40px;min-width:40px}button,select,input{height:38px}select{width:100%;font-size:13px}#mapSelect{grid-area:map;width:100%}#markSelect{grid-area:mark;width:100%}#floorUp{grid-area:up}#floorDown{grid-area:down;justify-self:end}#settingsToggle{grid-area:settings;justify-self:end}#zoomRange{grid-area:zoom;width:100%;min-width:0}.settings-menu{top:auto;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;width:auto;max-height:min(72%,440px);overflow:auto;padding:12px}.setting-row{min-height:40px;font-size:14px}.setting-row input{width:20px;height:20px}.browse-panel{top:auto;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;width:auto;max-height:min(64%,520px)}.browse-head{padding:10px 12px}.browse-body{padding:9px 21px 9px 9px}.icon-button{width:38px;height:38px}}@media(max-width:520px){#mapSelect{grid-column:1 / 2}.toolbar{grid-template-columns:72px minmax(0,1fr) 40px}.field-item{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:6px}.field-icon{width:30px;height:30px}.info-grid{grid-template-columns:1fr}.loot-line{grid-template-columns:30px minmax(0,1fr)}.loot-line .field-meta{grid-column:2}}
