:root{font-family:Arial,Helvetica Neue,sans-serif;font-size:16px;color-scheme:dark;--bg:#121320;--panel:#1b1d30;--raised:#25283f;--highlight:#313350;--text:#edf0ff;--muted:#bec4e2;--accent:#b2a3ff;--border:#424867;--input:#131625;--shadow:#0006;color:var(--text);background:var(--bg);font-synthesis:none}:root[data-theme=light]{color-scheme:light;--bg:#eeedf5;--panel:#fbfaff;--raised:#fff;--highlight:#ede8ff;--text:#292840;--muted:#5f617d;--accent:#6151b7;--border:#c7c4db;--input:#fff;--shadow:#26204025}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:hover,a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}button svg{flex-shrink:0}*{scrollbar-width:thin;scrollbar-color:var(--border) var(--panel)}.app{height:100dvh;min-height:540px;display:flex;flex-direction:column;background:var(--bg)}.topbar{height:58px;flex-shrink:0;display:flex;align-items:center;gap:18px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--border);position:relative;z-index:10}.brand{font-size:25px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:9px;flex-shrink:0;color:var(--text)}.brand-light,.brand-dot{color:#ff8792}.brand-mark{height:33px;width:33px;display:grid;place-items:center;border-radius:7px;background:#c93440;color:#fff4f5;border:1px solid #e85260}.brand-mark svg{height:23px;width:23px}.edition{font-size:14px;line-height:1.3;font-weight:600;margin:0;white-space:nowrap;color:var(--muted)}.edition span{font-size:13px;font-weight:400}.help-button{display:flex;align-items:center;gap:7px;margin-left:auto;border:1px solid var(--border);border-radius:5px;padding:8px 10px;white-space:nowrap;font-size:14px;color:var(--muted);background:var(--raised)}.help-button.active,.help-button:hover{background:var(--highlight);color:var(--accent)}.theme-toggle{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--border);border-radius:6px;background:var(--raised);color:var(--accent)}.theme-toggle:hover{background:var(--highlight)}.sidebar{width:400px;flex-shrink:0;position:relative;z-index:20}.search-wrap{height:40px;background:var(--input);border:1px solid var(--border);border-radius:5px;padding:0 11px;display:flex;align-items:center;gap:9px}.search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.search-wrap>svg{flex-shrink:0;color:var(--muted);width:19px;height:19px}.search-wrap input{font-size:16px;min-width:0;flex:1;width:100%;border:0;background:none;outline:none;color:var(--text)}.search-wrap input::placeholder{color:var(--muted);opacity:1}.search-wrap button{padding:2px;display:flex;color:var(--muted)}.search-wrap kbd{font:14px Arial,sans-serif;padding:1px 5px;border:1px solid var(--border);border-radius:3px;color:var(--muted)}.filters{display:flex;position:absolute;left:0;top:48px;width:100%;gap:4px;padding:10px;background:var(--panel);border:1px solid var(--border);border-bottom:0;border-radius:6px 6px 0 0;z-index:2}.filters button{font-size:14px;border:1px solid transparent;border-radius:4px;padding:7px 8px;color:var(--muted)}.filters button.active{background:var(--highlight);border-color:var(--border);color:var(--accent)}.sidebar-scroll{position:absolute;left:0;top:101px;width:100%;max-height:min(710px,calc(100dvh - 180px));overflow:auto;padding:7px 12px 12px;background:var(--panel);border:1px solid var(--border);border-top:0;border-radius:0 0 6px 6px;box-shadow:0 9px 22px var(--shadow)}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;letter-spacing:.4px;color:var(--muted);margin:0 0 10px}.section-label>span:last-child{font-weight:400}.results{display:flex;flex-direction:column;gap:5px}.result{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:10px;border:1px solid transparent;border-radius:5px}.result:hover,.result.selected{background:var(--highlight);border-color:var(--border);color:var(--text)}.result-copy{flex:1;min-width:0}.result-copy strong{display:block;font-size:16px;line-height:1.35;font-weight:600;color:var(--text)}.result-copy>span{display:block;font-size:14px;line-height:1.45;margin-top:4px;color:var(--muted)}.result>svg{color:var(--muted);flex-shrink:0;width:16px;height:16px}.empty{text-align:center;padding:24px 10px;color:var(--muted)}.empty h3{font-size:18px;font-weight:600;margin:14px 0 8px;color:var(--text)}.empty p{font-size:15px;line-height:1.5}.item-detail{border-top:1px solid var(--border);padding-top:16px;margin-top:15px}.drop-monster{padding:7px 0}.drop-monster+.drop-monster{border-top:1px solid var(--border);margin-top:7px;padding-top:12px}.drop-monster strong{font-size:16px;font-weight:600;color:var(--text)}.drop-monster small{font-size:14px;color:var(--muted);margin-left:9px}.drop-evidence{margin-top:8px}.drop-evidence a{display:block;font-size:14px;line-height:1.45;margin-top:5px;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.unsure-badge{display:inline-block;font-size:13px;line-height:1.5;color:var(--accent);background:var(--highlight);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.drop-note{display:flex;align-items:flex-start;gap:8px;padding:10px;margin:14px 0 0;border:1px solid var(--border);border-radius:5px;color:var(--muted);background:var(--raised)}.drop-note svg{flex-shrink:0;margin-top:2px;width:16px;height:16px}.drop-note p{margin:0;font-size:14px;line-height:1.5}.workspace{flex:1;min-height:0;position:relative}.main{height:100%;position:relative}.map-stage{height:100%;position:relative;overflow:hidden;background:var(--bg);touch-action:none}.map-positioner{position:absolute;top:10px;right:12px;bottom:45px;left:12px;display:flex;align-items:center;justify-content:center;pointer-events:none;container-type:size}.world-map{position:relative;flex-shrink:0;pointer-events:auto;-webkit-user-select:none;user-select:none}.map-art{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:none;opacity:1}.map-coordinates{display:none}.map-spot{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;padding:0;display:grid;place-items:center;z-index:2;border-radius:50%;background:transparent}.map-spot>span{display:block;width:13px;height:13px;border-radius:50%;border:2px solid #fff;background:#7754d6;box-shadow:0 0 0 2px #171827,0 2px 4px #0009}.map-spot:hover,.map-spot.chosen{z-index:3}.map-spot:hover>span,.map-spot.chosen>span{transform:scale(1.2);background:#ad91ff;box-shadow:0 0 0 2px #171827,0 0 0 5px #d7caffaa}.map-spot:focus-visible{outline:3px solid #fff;outline-offset:1px;box-shadow:0 0 0 3px #171827}.map-spot.match>span{width:16px;height:16px;background:#62e5ff;border-color:#17273c;box-shadow:0 0 0 2px #fff,0 0 0 5px #52d5ff77}.map-spot.dimmed{opacity:.65}.map-bottom{position:absolute;left:16px;right:14px;bottom:8px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:4}.map-legend{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:13px}.map-legend>span{display:flex;align-items:center;gap:7px}.legend-dot{display:block;width:7px;height:7px;border-radius:50%;background:#7754d6;border:1px solid #fff;box-shadow:0 0 0 1px #171827}.match-dot{background:#62e5ff}.zoom-controls{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:5px;background:var(--panel);box-shadow:0 2px 5px var(--shadow);pointer-events:auto}.zoom-controls button{height:30px;width:31px;display:grid;place-items:center;color:var(--text);border-radius:3px}.zoom-controls button:hover{background:var(--highlight);color:var(--accent)}.zoom-controls span{font-size:14px;min-width:47px;text-align:center;color:var(--muted)}.zoom-controls i{height:22px;border-left:1px solid var(--border);margin:0 4px}.discovery{position:absolute;width:284px;max-width:calc(100% - 20px);max-height:360px;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 22px var(--shadow);z-index:6;display:flex;flex-direction:column}.discovery-top{display:flex;align-items:flex-start;gap:8px;padding:11px 10px 10px 13px;background:var(--highlight);border-bottom:1px solid var(--border);border-radius:5px 5px 0 0}.discovery-top>strong{font-size:16px;line-height:1.35;font-weight:600;color:var(--text);flex:1;min-width:0}.discovery-top>div{display:flex;gap:4px;flex-shrink:0}.discovery-top button{display:flex;align-items:center;justify-content:center;width:23px;height:23px;padding:2px;color:var(--muted);border-radius:3px}.discovery-top button svg{width:16px;height:16px}.discovery-top button:hover,.discovery-top button.is-pinned{color:var(--accent);background:var(--raised)}.discovery-scroll{overflow:auto;padding:0 13px 13px;min-height:0}.popup-label{font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}.monster-rows{display:flex;flex-direction:column;gap:8px}.monster-rows>div{display:flex;align-items:baseline;gap:9px;justify-content:space-between}.monster-rows>div>span{font-size:15px;line-height:1.4;color:var(--text)}.monster-rows small{font-size:14px;color:var(--muted);flex-shrink:0}.npc-names{display:flex;flex-wrap:wrap;gap:6px 8px}.npc-names>span{font-size:15px;color:var(--text);line-height:1.45}.npc-names>span:not(:last-child):after{content:"·";margin-left:8px;color:var(--muted)}.quiet-empty{font-size:14px;color:var(--muted);line-height:1.5;margin:0}.coverage-note,.entrance-note{font-size:13px;color:var(--muted);line-height:1.45;margin:10px 0 0}.help-panel{position:absolute;right:12px;top:10px;width:min(610px,calc(100% - 24px));max-height:calc(100% - 20px);overflow:auto;display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 7px 25px var(--shadow);z-index:8}.help-panel>svg{flex-shrink:0;color:var(--accent);margin-top:3px}.help-panel p{font-size:16px;line-height:1.55;margin:0;color:var(--text)}.help-panel strong{font-weight:600}.help-panel button{margin-left:auto;padding:2px;display:flex;color:var(--muted)}.source-detail{display:block;font-size:14px;line-height:1.6;color:var(--muted);margin-top:12px}.source-detail a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted)}.loading h3{font-size:24px;font-weight:600}.loading p{font-size:16px}.loading-icon{animation:turn 8s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}@media(max-width:1300px){.edition span{display:none}.sidebar{width:360px}.topbar{gap:15px;padding:0 13px}.brand{font-size:24px}}@media(max-width:1120px){.topbar{gap:12px}.sidebar{width:350px}.edition{font-size:13px}.help-button{font-size:14px;padding:8px}.brand{font-size:23px}.map-positioner{top:9px;right:10px;bottom:44px;left:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root[data-theme=light] .brand-light,:root[data-theme=light] .brand-dot{color:#b52b3b}body{cursor:url(/assets/cursors/normal.png) 0 3,default}button,a{cursor:url(/assets/cursors/interactive.png) 3 6,pointer}button:disabled{cursor:url(/assets/cursors/normal.png) 0 3,default}input{cursor:text}.map-stage.dragging,.map-stage.dragging *{cursor:grabbing!important}.selection-feedback{position:absolute;top:12px;left:16px;z-index:5;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:10px 10px 10px 14px;border:1px solid var(--border);border-left:3px solid #62e5ff;border-radius:6px;background:var(--panel);box-shadow:0 4px 14px var(--shadow)}.selection-feedback [role=status]{font-size:15px;line-height:1.4;color:var(--text)}.selection-feedback strong{font-weight:600}.selection-feedback [role=status]>span{font-size:14px;color:var(--muted)}.selection-feedback button{flex-shrink:0;color:var(--accent);border-radius:3px}.selection-feedback .edit-selection{font-size:14px;padding:4px;text-decoration:underline;text-underline-offset:3px}.selection-feedback .clear-selection{display:grid;place-items:center;width:28px;height:28px;padding:3px}.search-selected .map-spot.dimmed{opacity:.24}.search-selected .map-spot.dimmed:hover,.search-selected .map-spot.dimmed:focus-visible{opacity:1}.search-selected .map-spot.match>span{width:18px;height:18px;animation:highlight-reveal .7s ease-out 2}@keyframes highlight-reveal{0%,to{box-shadow:0 0 0 2px #fff,0 0 0 5px #52d5ff77}50%{box-shadow:0 0 0 2px #fff,0 0 0 11px #52d5ff44}}@media(prefers-reduced-motion:reduce){.search-selected .map-spot.match>span{animation:none}}
