@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080c10;--surface:#0d1117;--border:#ffffff0f;--gold:#c9a84c;--gold-dim:#c9a84c59;--teal:#2dd4bf;--teal-dark:#0f4f49;--crimson:#e05252;--crimson-dark:#4a1010;--text:#ffffffe0;--text-dim:#ffffff61}html.quest-board-page,body.quest-board-page{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:Inter,system-ui,sans-serif;overflow:hidden}header{border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c10f2;align-items:center;gap:14px;height:50px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.logo{color:var(--gold);white-space:nowrap;align-items:center;gap:7px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600;text-decoration:none;display:flex}.logo-dot{background:var(--gold);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulseDot}.header-stats{gap:16px;margin-left:10px;display:flex}.hstat{color:var(--text-dim);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.hstat-val{color:var(--text);font-weight:500}.hstat-dot{border-radius:50%;width:5px;height:5px}.hstat-dot.quest{background:var(--teal)}.hstat-dot.horde{background:var(--crimson)}.hstat-dot.ess{background:var(--gold)}.header-right{align-items:center;gap:8px;margin-left:auto;display:flex}.header-nav a{color:var(--text-dim);margin-right:10px;font-size:11px;text-decoration:none}.header-nav a:hover{color:var(--gold)}.filter-btn{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.06em;cursor:pointer;text-transform:uppercase;background:0 0;border-radius:4px;padding:4px 11px;font-family:inherit;font-size:10px;transition:all .18s}.filter-btn:hover,.filter-btn.active{border-color:var(--gold-dim);color:var(--gold);background:#c9a84c0d}.filter-btn.horde-active{color:var(--crimson)!important;background:#e052520d!important;border-color:#e0525259!important}.view-toggle{border:1px solid var(--border);border-radius:5px;display:flex;overflow:hidden}.view-btn{color:var(--text-dim);letter-spacing:.04em;cursor:pointer;border:none;border-right:1px solid var(--border);white-space:nowrap;background:0 0;padding:4px 12px;font-family:inherit;font-size:11px;transition:all .18s}.view-btn:last-child{border-right:none}.view-btn.active{color:var(--gold);background:#c9a84c17}.view-btn:hover:not(.active){color:var(--text);background:#ffffff08}.view-btn:disabled{opacity:.3;cursor:not-allowed}.view{display:none;position:fixed;inset:50px 0 32px}.view.active{display:block}#view-tiles{background:var(--bg);overflow:hidden}#treemap-container{flex-wrap:wrap;align-content:flex-start;gap:3px;display:flex;position:absolute;inset:8px}.tile{cursor:pointer;text-align:center;border:1px solid #0000004d;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;padding:8px;transition:filter .15s,transform .15s;display:flex;position:relative;overflow:hidden}.tile:hover{filter:brightness(1.15);z-index:10;transform:scale(1.01)}.tile.quest-tile{background:#0f3d35}.tile.quest-tile.featured{background:#1a5045}.tile.horde-tile{background:#3d1010}.tile.horde-tile.featured{background:#5a1515}.tile-region{letter-spacing:.15em;text-transform:uppercase;color:#fff6;margin-bottom:3px;font-size:9px;line-height:1}.tile-item{color:#ffffffeb;text-overflow:ellipsis;white-space:nowrap;width:100%;font-weight:600;line-height:1.1;overflow:hidden}.tile-location{color:#ffffff80;text-overflow:ellipsis;white-space:nowrap;width:100%;margin-top:3px;font-size:10px;overflow:hidden}.tile-reward{color:#2dd4bf;white-space:nowrap;margin-top:4px;font-weight:600}.tile.horde-tile .tile-reward{color:#f08080}.tile-owner{color:#c9a84cb3;margin-top:3px;font-size:9px}.tile-badge{letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:1px 5px;font-size:8px;position:absolute;top:5px;right:6px}.tile.quest-tile .tile-badge{color:var(--teal);background:#2dd4bf26}.tile.horde-tile .tile-badge{color:var(--crimson);background:#e0525226}#view-map{background:var(--bg)}#map-canvas{width:100%;height:100%;display:block}.map-controls{z-index:10;flex-direction:column;gap:5px;display:flex;position:absolute;bottom:14px;left:14px}.map-ctrl-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:#0d1117eb;border-radius:4px;justify-content:center;align-items:center;font-family:inherit;font-size:15px;transition:all .15s;display:flex}.map-ctrl-btn:hover{border-color:var(--gold-dim);color:var(--gold)}#view-globe{background:var(--bg)}#globe-canvas{width:100%;height:100%;display:block}.globe-hint{color:var(--text-dim);letter-spacing:.08em;pointer-events:none;opacity:0;font-size:11px;animation:4s 1.5s forwards fadeHint;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.side-panel{z-index:50;scrollbar-width:none;flex-direction:column;gap:7px;width:258px;max-height:calc(100vh - 96px);display:flex;position:fixed;top:62px;right:16px;overflow-y:auto}.side-panel::-webkit-scrollbar{display:none}.panel-label{letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);padding:0 3px;font-size:9px}.quest-card{border:1px solid var(--border);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#0d1117e6;border-radius:7px;padding:10px 12px;transition:all .18s;animation:.35s forwards slideIn}.quest-card:hover{border-color:#c9a84c38;transform:translate(-2px)}.quest-card.horde{border-left:2px solid var(--crimson)}.quest-card.quest-type{border-left:2px solid var(--teal)}.card-top{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.card-location{color:var(--text);font-size:12px;font-weight:500;line-height:1.3}.card-reward{color:var(--gold);white-space:nowrap;margin-left:6px;font-size:11px;font-weight:500}.card-meta{align-items:center;gap:6px;margin-top:3px;display:flex}.card-type-badge{letter-spacing:.12em;text-transform:uppercase;border-radius:3px;padding:2px 5px;font-size:8px;font-weight:500}.badge-quest{color:var(--teal);background:#2dd4bf1a;border:1px solid #2dd4bf2e}.badge-horde{color:var(--crimson);background:#e052521a;border:1px solid #e052522e}.card-item{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:11px;overflow:hidden}.card-owner{color:#c9a84c99;white-space:nowrap;margin-left:auto;font-size:10px}.tooltip{pointer-events:none;z-index:300;opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c10f7;border:1px solid #c9a84c47;border-radius:7px;min-width:185px;padding:10px 14px;transition:all .13s;position:fixed;transform:translateY(5px)}.tooltip.visible{opacity:1;transform:translateY(0)}.tt-title{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:500}.tt-location{color:var(--text-dim);margin-bottom:7px;font-size:11px}.tt-row{justify-content:space-between;margin-bottom:2px;font-size:11px;display:flex}.tt-label{color:var(--text-dim)}.tt-val{color:var(--text);font-weight:500}.tt-val.gold{color:var(--gold)}.tt-val.teal{color:var(--teal)}.ticker{border-top:1px solid var(--border);z-index:100;background:#080c10f0;align-items:center;height:32px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.ticker-label{letter-spacing:.18em;color:var(--gold);text-transform:uppercase;border-right:1px solid var(--border);white-space:nowrap;align-items:center;height:100%;padding:0 13px;font-size:10px;display:flex}.ticker-track{gap:36px;padding-left:28px;animation:38s linear infinite tickerScroll;display:flex}.ticker-item{color:var(--text-dim);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.ticker-item span{color:var(--text)}.tgold{color:var(--gold)}.tteal{color:var(--teal)}.tcrim{color:var(--crimson)}.legend{z-index:50;flex-direction:column;gap:5px;display:flex;position:fixed;bottom:40px;left:14px}.legend-item{color:var(--text-dim);align-items:center;gap:7px;font-size:10px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}@keyframes slideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes tickerScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fadeHint{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}
