:root{--bg: #0d1117;--surface: #161b22;--border: #30363d;--text: #c9d1d9;--text-dim: #8b949e;--accent: #1f6feb;--accent-hover: #388bfd;--cell-hover: #1c2128}.app{display:flex;gap:12px;height:100vh;padding:12px;box-sizing:border-box}.panel-left{display:flex;flex-direction:column;flex:0 0 auto;width:clamp(400px,38vw,620px);min-height:0;min-width:0;overflow-y:auto;padding-right:4px;scrollbar-width:none}.panel-left::-webkit-scrollbar{display:none}.panel-left-content{display:flex;flex-direction:column}.panel-footer{display:flex;justify-content:center;margin-top:auto;padding:20px 0 8px}.repo-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text-dim);font-size:11px;letter-spacing:.04em;text-decoration:none;opacity:.8;transition:color .1s,opacity .1s}.repo-link-icon{flex:0 0 auto}.repo-link:hover{color:var(--text);opacity:1}.panel-right{position:relative;flex:1 1 0;min-width:0;border:1px solid var(--border);background:var(--surface)}.map-top-overlay{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:0 0 6px;background:transparent}.map-top-overlay-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:2px}.map-top-overlay-checkbox{display:inline-flex;align-items:center;gap:8px;padding:4px 7px;border:1px solid var(--border);background:#0d1117e0;backdrop-filter:blur(2px);color:var(--text)}.map-top-overlay-checkbox-label{font-size:12px;color:var(--text);cursor:pointer;user-select:none;white-space:nowrap}.map-top-overlay-checkbox:hover .map-top-overlay-checkbox-label{color:#fff}.map-top-overlay-progress-track{width:100%;min-width:0;height:4px;background:transparent;overflow:visible}.map-top-overlay-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#2f77ef,#5aa2ff 55%,#8dc2ff);transition:width .18s linear}.map-iframe{display:block;width:100%;height:100%;border:none;background:var(--surface)}.title{font-size:22px;font-weight:600;margin:0;color:var(--text)}.title-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.title-actions{display:inline-flex;align-items:center;gap:8px}.map-panel-toggle{padding:4px 10px;background:transparent;color:var(--text-dim);border:1px solid var(--border);font-size:12px;font-family:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:border-color .1s,color .1s,background .1s}.map-panel-toggle:hover{color:var(--text);border-color:var(--accent);background:var(--cell-hover)}.map-panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.id-settings-nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.id-settings-nav{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);color:var(--text-dim);text-decoration:none;font-size:12px;border:1px solid var(--border);padding:5px 9px;transition:border-color .1s,color .1s,background .1s;cursor:pointer;appearance:none;-moz-appearance:none;max-width:100%;box-sizing:border-box}.id-settings-nav:hover{color:var(--text);border-color:var(--accent);background:var(--cell-hover)}.id-settings-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player-id-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--text);max-width:100%}.player-id-checkbox-control{width:16px;height:16px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.player-id-checkbox-indicator{font-size:12px;line-height:1;color:#fff}.player-id-checkbox[data-checked] .player-id-checkbox-control{background:var(--accent);border-color:var(--accent)}.player-id-checkbox-label{font-size:12px;color:var(--text-dim);cursor:pointer;user-select:none;word-break:break-word}.player-id-checkbox:hover .player-id-checkbox-label{color:var(--text)}.settings-dialog-overlay{position:fixed;inset:0;background:#04070bb8;z-index:70;animation:settings-dialog-overlay-in .18s ease-out both}.settings-dialog-overlay[data-closed]{animation:settings-dialog-overlay-out .24s ease-in forwards}.settings-dialog-layer{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:14px}.settings-dialog-content{width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;border:1px solid var(--border);background:#121821;box-shadow:0 20px 48px #00000080;padding:14px;animation:settings-dialog-content-in .2s cubic-bezier(.2,.8,.2,1) both}.settings-dialog-content[data-closed]{animation:settings-dialog-content-out .22s ease-in forwards}.settings-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.settings-dialog-title{font-size:16px;font-weight:700;color:#edf3ff}.settings-dialog-close{padding:6px 10px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:12px;font-family:inherit}.settings-dialog-close:hover{color:var(--text);border-color:var(--accent);background:var(--cell-hover)}@keyframes settings-dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes settings-dialog-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes settings-dialog-content-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes settings-dialog-content-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.99)}}.lang-select{padding:4px 8px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;outline:none;appearance:none;-moz-appearance:none;display:inline-flex;align-items:center;gap:4px}.lang-select:focus-visible{border-color:var(--accent)}.lang-select[data-expanded]{border-color:var(--accent)}.lang-select-icon{font-size:9px;color:var(--text-dim);transition:transform .15s;line-height:1}.lang-select[data-expanded] .lang-select-icon{transform:rotate(180deg)}.lang-select-content{z-index:100;border:1px solid var(--border);background:var(--surface);box-shadow:0 4px 12px #0006;min-width:var(--kb-popper-anchor-width);width:var(--kb-popper-anchor-width);transform-origin:top center;animation:lang-select-content-in .14s ease-out both;user-select:none}.lang-select-content[data-closed]{animation:lang-select-content-out .18s ease-in forwards}.lang-select-listbox{margin:0;padding:0;list-style:none;outline:none}.lang-select-item{padding:6px 14px;font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;color:var(--text);text-align:center;user-select:none}.lang-select-item[data-highlighted]{background:var(--cell-hover);color:var(--text);outline:none}.lang-select-item[data-selected]{background:var(--accent);color:#fff}@keyframes lang-select-content-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lang-select-content-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-2px) scale(.985)}}h2{font-size:16px;font-weight:600;margin:18px 0 8px;color:var(--text)}.url-bar{display:flex;margin-bottom:6px}.toolbar-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.url-input{flex:1;padding:8px 10px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-right:none;border-radius:0;font-size:13px;font-family:Consolas,Monaco,monospace;outline:none}.url-input:focus{border-color:var(--accent)}.url-input::placeholder{color:var(--text-dim)}.url-copy,.url-clear,.url-open{padding:8px 14px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:0;cursor:pointer;font-size:12px;font-family:inherit;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;appearance:none;-moz-appearance:none}.url-copy:hover:not(:disabled),.url-clear:hover:not(:disabled),.url-open:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.url-copy:disabled,.url-clear:disabled{opacity:.4;cursor:not-allowed}.url-clear{background:transparent;color:var(--text);border-color:var(--border);margin-left:auto}.selection-note{margin:0;color:var(--text-dim);font-size:12px}.url-open{border-left:1px solid rgba(255,255,255,.2)}.table-scroll{overflow-x:auto}.resource-group .table-scroll{max-width:100%;padding-bottom:4px}.resource-groups{display:grid;gap:12px}.resource-group{min-width:0}.panel-footer-below-map{display:none}.app.app-sidebar-expanded .panel-left{width:min(100%,700px);margin-inline:auto;padding-inline:clamp(28px,7vw,140px)}.app.app-sidebar-expanded .panel-right{display:none}.resource-group h3{margin:0 0 6px;font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.resource-table,.unique-table{border-collapse:collapse;width:100%;border:1px solid var(--border)}.resource-group .resource-table{--resource-name-col-min: 84.1333px;--resource-tier-col-min: 47px;--resource-table-min-width: 554.1333px;width:max(var(--resource-table-min-width),100%)}.resource-table th,.resource-table td,.unique-table td{border:1px solid var(--border);padding:6px;text-align:center;font-size:12px}.resource-table th{background:var(--surface);font-weight:600;color:var(--text-dim);padding:5px 10px}.name-col{text-align:left!important;white-space:nowrap;font-weight:600;padding-left:10px!important;padding-right:12px!important;background:var(--surface);color:var(--text)}.cell{transition:background .1s,border-color .1s;min-width:34px;height:42px}.resource-table td.cell{padding:0}.cell.has-data{cursor:pointer;color:var(--text-dim)}.cell.has-data:hover{background:var(--cell-hover);color:var(--text)}.cell-marker{display:inline-block;width:12px;height:2px;background:#8b949eb3}.cell.has-data:hover .cell-marker{background:#c9d1d9f2}.cell.selected{background:var(--accent)!important;color:#fff!important;font-weight:700}.cell.selected .cell-marker{background:#fffffff5}.cell.empty{color:var(--border)}.items-col{text-align:left!important;padding:4px 6px!important}.item-btn{display:inline-block;padding:4px 10px;margin:2px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:0;cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;line-height:1.2;transition:background .1s,border-color .1s;appearance:none;-moz-appearance:none}.item-btn:hover{background:var(--cell-hover);border-color:var(--accent);color:var(--text)}.item-btn[data-pressed]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.item-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:transparent;border:none;cursor:pointer;padding:0;appearance:none;-moz-appearance:none}.cell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.player-settings-section{margin-bottom:14px}.player-settings-title{display:inline-flex;align-items:center;gap:7px;margin:4px 0 8px;font-size:15px}.player-search-control{display:flex;align-items:center;border:1px solid var(--border);background:var(--surface);min-height:38px}.player-search-indicator{display:inline-flex;align-items:center;padding-left:10px;color:var(--text-dim)}.player-search-icon{display:inline-flex;align-items:center}.player-search-input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);padding:9px 10px;outline:none;font-size:13px}.player-search-input::placeholder{color:var(--text-dim)}.player-search-content{z-index:120;width:min(520px,calc(100vw - 24px));max-height:320px;overflow:auto;margin-top:6px;border:1px solid var(--border);background:#11161c;box-shadow:0 14px 30px #00000059}.player-search-listbox{margin:0;padding:0;list-style:none}.player-search-item{cursor:pointer;padding:10px 12px;border-bottom:1px solid #232a33}.player-search-item:last-child{border-bottom:none}.player-search-item[data-highlighted],.player-search-item:hover{background:#1a2533}.player-search-item-name{display:block;font-size:17px;line-height:1.25;color:#eef4ff;font-weight:700}.player-search-item-id{display:block;margin-top:2px;font-size:11px;color:var(--text-dim);font-family:Consolas,Monaco,monospace}.player-search-noresult{padding:10px 12px;font-size:12px;color:var(--text-dim)}.player-search-help{margin:6px 0 10px;color:var(--text-dim);font-size:11px}.selected-player-count{margin:0 0 6px;color:var(--text-dim);font-size:11px}.selected-player-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.selected-player-card{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border:1px solid #1c3f70;background:linear-gradient(180deg,#10233b,#0d1c2f);padding:10px 12px}.selected-player-card{--player-card-action-size: 18px}.selected-player-main{min-width:0;flex:1 1 auto}.selected-player-toggle{width:var(--player-card-action-size);height:var(--player-card-action-size);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:2px}.selected-player-toggle-input{position:absolute;inset:0;margin:0;opacity:0}.selected-player-toggle-control{width:100%;height:100%;box-sizing:border-box;border:1px solid #4d79b0;background:#122945;color:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;user-select:none;cursor:pointer}.selected-player-toggle-indicator{color:#fff;font-size:11px;line-height:1}.selected-player-toggle:not([data-checked]) .selected-player-toggle-indicator{visibility:hidden}.selected-player-toggle[data-checked] .selected-player-toggle-control{background:var(--accent);border-color:var(--accent)}.selected-player-toggle:focus-within .selected-player-toggle-control{outline:2px solid var(--accent-hover);outline-offset:1px}.selected-player-name{font-size:22px;line-height:1.2;color:#f5f8ff;font-weight:700}.selected-player-id{margin-top:3px;color:#9fb2cc;font-size:12px;font-family:Consolas,Monaco,monospace;word-break:break-all}.selected-player-remove{width:var(--player-card-action-size);height:var(--player-card-action-size);box-sizing:border-box;border:1px solid #325b8f;background:transparent;color:#dce9ff;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin-top:2px}.selected-player-remove:hover{background:#193255;border-color:#4d79b0}.selected-player-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.player-id-note{margin:0;color:var(--text-dim);font-size:11px}.player-search-limit{margin:8px 0 0;color:#f0c674;font-size:11px}@media(max-width:960px){.app{flex-direction:column;height:auto}.panel-left{width:100%;overflow-y:visible}.panel-right{flex:0 0 auto;width:100%;height:clamp(420px,62vh,760px);min-height:320px}.id-settings-nav-wrap{flex-direction:column;align-items:flex-start}.title-actions{width:100%;justify-content:flex-end}.player-search-content{width:min(96vw,520px)}.panel-left .panel-footer{display:none}.panel-footer-below-map{display:flex;justify-content:center;padding:10px 0 6px}}@media(max-width:420px){.panel-right{height:clamp(260px,58vh,420px);min-height:260px}}.toast-region{position:fixed;bottom:20px;right:20px;z-index:200;pointer-events:none}.toast-list{display:flex;flex-direction:column;align-items:flex-end;gap:8px;outline:none;list-style:none;margin:0;padding:0}.toast{background:var(--surface);border:1px solid var(--border);padding:10px 16px;width:fit-content;max-width:min(560px,calc(100vw - 40px));box-shadow:0 4px 16px #00000073;pointer-events:auto;animation:toast-slide-in .15s ease both;order:1}.toast[data-closed]{animation:toast-fade-out .3s ease forwards}.toast-title{font-size:13px;font-weight:600;color:var(--text)}.lod-warning-toast{display:flex;align-items:center;gap:10px;border-color:#6e4a1e;background:#2d1b00;order:2}.lod-warning-toast-title{color:#f0c674;font-size:12px;line-height:1.45;font-weight:600}.lod-warning-toast-ignore{flex:0 0 auto;border:1px solid #8e6030;background:transparent;color:#ffd99f;font-size:11px;font-family:inherit;font-weight:600;line-height:1.1;padding:5px 8px;cursor:pointer}.lod-warning-toast-ignore:hover{background:#4a2f0a;border-color:#b37a3b}.lod-warning-toast-ignore:focus-visible{outline:2px solid #f0c674;outline-offset:2px}.auto-reload-confirm-toast{display:flex;align-items:center;gap:10px;border-color:#2b5f8f;background:#0d2336;order:2}.auto-reload-confirm-toast-title{color:#cde9ff;font-size:12px;line-height:1.4;font-weight:600}.auto-reload-confirm-toast-continue{flex:0 0 auto;border:1px solid #4c89c0;background:transparent;color:#d8ecff;font-size:11px;font-family:inherit;font-weight:600;line-height:1.1;padding:5px 8px;cursor:pointer}.auto-reload-confirm-toast-continue:hover{background:#17364f;border-color:#63a5e1}.auto-reload-confirm-toast-continue:focus-visible{outline:2px solid #9fd0ff;outline-offset:2px}.auto-reload-stopped-toast{display:flex;align-items:center;gap:10px;border-color:#7b2e39;background:#2a1015;order:2}.auto-reload-stopped-toast-title{color:#ffc9d0;font-size:12px;line-height:1.4;font-weight:600}.auto-reload-stopped-toast-close{flex:0 0 auto;border:1px solid #9f4652;background:transparent;color:#ffd7dc;font-size:11px;font-family:inherit;font-weight:600;line-height:1.1;padding:5px 8px;cursor:pointer}.auto-reload-stopped-toast-close:hover{background:#3f171f;border-color:#bf5f6c}.auto-reload-stopped-toast-close:focus-visible{outline:2px solid #ffb3be;outline-offset:2px}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}
