:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#eee6d7;background:#111817}*{box-sizing:border-box}body{margin:0;overflow:hidden}#map{position:fixed;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#map:active{cursor:grabbing}header,nav,aside,footer{position:fixed;background:#111b1eea;border:1px solid #8d79554d;box-shadow:0 6px 30px #0005;backdrop-filter:blur(12px);border-radius:12px}header{top:16px;left:16px;display:flex;align-items:center;gap:24px;padding:14px 20px;max-width:calc(100% - 32px)}small{font-size:10px;letter-spacing:2px;color:#cbb680}h1{font-size:20px;margin:4px 0 0;font-weight:600}label{display:grid;gap:5px;font-size:11px;color:#bdb9af}select,button{font:inherit;color:#eee6d7;border:1px solid #66716e;background:#23302e;border-radius:7px;padding:9px;cursor:pointer}select{max-width:210px}button:hover{background:#3b4842}button:disabled,select:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #e9cc83;outline-offset:3px}nav{bottom:76px;left:16px;display:flex;align-items:center;gap:8px;padding:9px}nav button{min-width:40px}output{min-width:50px;text-align:center;font-size:13px}aside{bottom:76px;right:16px;padding:5px}#mini{display:block;width:150px;height:150px;cursor:crosshair}footer{bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:12px;color:#c2c7bd}#status{color:#e5d4a6}@media(max-width:700px){header{gap:12px;flex-wrap:wrap;padding:12px;right:12px;left:12px;top:12px;max-width:none}header>div{width:100%}h1{font-size:17px}label{flex:1;min-width:0}select{width:100%;max-width:none;font-size:12px}aside{bottom:120px;right:12px}#mini{width:100px;height:100px}nav{bottom:64px;left:12px;gap:5px}nav button{font-size:12px}footer{left:12px;right:12px;bottom:12px;padding:10px}footer span:last-child{display:none}}

header small a{color:inherit;text-decoration:none}header small a:hover{text-decoration:underline}

#studio-tools,#layers{position:fixed;background:#242424f5;border:1px solid #414149;color:#eee;box-shadow:0 4px 20px #0004;font-size:12px}
#studio-tools{top:110px;left:16px;right:16px;display:flex;align-items:center;gap:12px;padding:7px 10px;flex-wrap:wrap}
#studio-tools label,#layers label{display:flex;align-items:center;gap:4px;font-size:12px;color:#eee}
#studio-tools select,#studio-tools button{padding:3px 7px;border-radius:3px;background:#303034}
#layers{top:170px;left:16px;width:268px;max-height:calc(100vh - 330px);overflow:auto;padding:10px}
#layer-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:-10px -10px 12px}
#layer-tabs button{border:0;border-radius:0;background:transparent;padding:8px 3px;font-size:12px;border-bottom:2px solid transparent}
#layer-tabs button[aria-selected="true"]{background:#303035;color:#33caff;border-bottom-color:#33caff}
#layers h2{font:600 13px system-ui;color:#33caff;margin:12px 0 6px}#layers p{font-size:12px;overflow-wrap:anywhere}#layers .hint{color:#aaa;font-size:11px}#layers hr{border:0;border-top:1px solid #444}input{accent-color:#33caff}
@media(max-width:700px){#studio-tools{top:166px;left:12px;right:12px;gap:7px}#layers{top:280px;left:12px;width:220px;max-height:calc(100vh - 420px)}}

#map-plan{color:#eee6d7;background:#18211c;border:1px solid #82734f;border-radius:12px;width:min(1000px,96vw);max-width:96vw;max-height:92vh;padding:22px;box-shadow:0 12px 70px #0008}#map-plan::backdrop{background:#050b08cf;backdrop-filter:blur(4px)}.plan-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.plan-heading h2{font-size:21px;margin:0}.plan-heading p{font-size:13px;color:#d8c38f;margin:10px 0 18px}#plan-filters{display:flex;gap:16px;margin-bottom:18px}#plan-filters label:first-child{flex:1}#plan-filters input{font:inherit;padding:10px;border:1px solid #66716e;border-radius:7px;background:#142019;color:#eee6d7;min-width:0}#plan-scroll{max-height:55vh;overflow:auto;border:1px solid #3b4b3f;border-radius:7px}#map-plan table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}#map-plan th{position:sticky;top:0;background:#28362c;z-index:1;padding:12px}#map-plan td{padding:11px 12px;border-top:1px solid #344137;vertical-align:middle}#map-plan td:first-child{font-variant-numeric:tabular-nums;color:#b6bfaf}#map-plan td:last-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}#map-plan td a{color:#d8c38f;text-decoration:none;white-space:nowrap}#map-plan td a:hover{text-decoration:underline}#map-plan td button{font-size:11px;padding:6px 8px}.plan-badge{display:inline-block;white-space:nowrap;border-radius:20px;padding:4px 9px;font-size:11px}.plan-badge.complete{background:#244a35;color:#a5e3bb;border:1px solid #4c815e}.plan-badge.working{background:#473d25;color:#e8cf88;border:1px solid #806b3b}.plan-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:18px 0 12px}.plan-pagination span{font-size:12px;color:#c0c8bb}.plan-note{font-size:11px;color:#a5b19f;line-height:1.6;margin:0}#plan-empty{text-align:center;padding:25px;color:#b5bfad}#open-map-plan{border-color:#9b8653!important;color:#ebd49c!important}@media(max-width:700px){#map-plan{padding:14px}.plan-heading h2{font-size:17px}#plan-filters{gap:10px}#map-plan th,#map-plan td{padding:10px 7px;font-size:12px}.plan-badge{padding:4px 6px;font-size:10px}#plan-scroll{max-height:51vh}.plan-pagination{gap:10px}.plan-pagination button{font-size:11px}.plan-pagination span{font-size:10px}}

#map-plan .plan-map-name{padding:0;border:0;border-radius:2px;background:none;color:#eee6d7;text-align:left;font:inherit;text-decoration:underline;text-decoration-color:#d4bd8266;text-underline-offset:4px;cursor:help}#map-plan .plan-map-name:hover,#map-plan .plan-map-name:focus-visible{color:#f0d79c;text-decoration-color:currentColor}#plan-hover-preview{position:fixed;z-index:5;pointer-events:none;width:min(600px,calc(100vw - 24px));padding:10px;border:1px solid #a58e57;border-radius:9px;background:#0e1710;box-shadow:0 12px 38px #000a}#plan-hover-preview[hidden]{display:none}#plan-hover-image{display:block;width:100%;height:360px;max-height:55vh;object-fit:contain;background:#080e09}#plan-hover-caption{margin:8px 0 0;font-size:12px;color:#ead49e;line-height:1.4}#plan-hover-status{position:absolute;top:45%;left:0;right:0;text-align:center;font-size:12px;color:#b7c0af}

#landmark-tools{border-bottom:1px solid #444;padding-bottom:10px;margin-bottom:10px}#landmark-tools summary{cursor:pointer;color:#e9cc83;margin-bottom:9px}#landmark-tools label{margin:7px 0}#landmark-tools select{width:100%;min-width:0}#landmark-tools>label:has(select){display:grid}.landmark-coordinates{display:flex;gap:8px}.landmark-coordinates label{flex:1;min-width:0}.landmark-coordinates input{width:100%;min-width:0;padding:6px;background:#18211c;color:#eee;border:1px solid #66716e;border-radius:4px}.landmark-actions{display:flex;gap:6px}.landmark-actions button{font-size:11px;padding:7px}#landmark-status{color:#e9cc83}

#walk-tools{border-bottom:1px solid #444;padding:10px 0}#walk-tools summary{color:#e9cc83;cursor:pointer}#walk-tools label{margin:7px 0}#walk-status{color:#e9cc83}

[hidden]{display:none!important}#map-admin-bar:not([hidden]){display:contents}

/* Keep the map identity and tools together; the layer panel follows their actual height. */
#map-topbar{position:fixed;top:16px;left:16px;right:16px;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:12px;z-index:2}
#map-topbar header{position:static;max-width:none;min-width:0;gap:16px;padding:12px 16px}
#map-topbar header>div{max-width:430px}
#map-topbar header select{max-width:190px}
#map-topbar #studio-tools{position:static;min-width:0;gap:8px;margin:0;border-radius:10px;padding:10px;align-content:start}
#map-topbar #studio-tools label,#map-topbar #studio-tools button{flex:none;white-space:nowrap}
#map-admin-status{flex-basis:100%;font-size:11px;color:#d8c38f}
#layers{top:var(--map-panels-top,190px);max-height:calc(100vh - var(--map-panels-top,190px) - 160px)}
@media(max-width:1400px){#map-topbar{grid-template-columns:minmax(0,1fr);gap:8px;max-height:45vh;overflow:auto}#map-topbar header>div{max-width:none}#layers{top:var(--map-panels-top,270px);max-height:calc(100vh - var(--map-panels-top,270px) - 160px)}}
@media(max-width:700px){#map-topbar{top:12px;left:12px;right:12px}#map-topbar header{flex-wrap:wrap;padding:10px;gap:10px}#map-topbar header>div{width:100%}#map-topbar header select{max-width:none}#map-topbar #studio-tools{gap:7px;padding:8px}}

#landmark-tools input[type="number"],#landmark-tools input[type="text"]{min-width:0;width:100%;padding:6px;background:#18211c;color:#eee;border:1px solid #66716e;border-radius:4px}#landmark-tools .landmark-actions>label{min-width:0;flex:1}#landmark-tools>label:has(#landmark-name){display:grid}

#landmark-tools>label:has(#landmark-radius),#landmark-tools .landmark-coordinates:has(#landmark-loot) label{display:grid;gap:4px}

#layer-tabs [data-layer="general"]{grid-column:1/-1}

#play-now{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 10px;border:1px solid #79bd82;border-radius:5px;background:#285c36;color:#f0fff2;font-size:12px;font-weight:600;text-decoration:none}#play-now:hover{background:#367647}#play-now:focus-visible{outline:2px solid #e9cc83;outline-offset:3px}
