:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#182334;background:#f4f6fa;font-size:14px;--blue:#0052d9;--line:#e5e9f0;--muted:#758196}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;border-radius:2px}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a,select,input[type=checkbox],input[type=range]{cursor:pointer}button{border:1px solid #d9dfe8;background:#fff;color:#3c485c;min-height:36px;padding:0 14px;transition:background .16s,border-color .16s,box-shadow .16s}button:hover{background:#f0f6ff;border-color:#9abdf5}button:active{transform:translateY(1px)}button.primary{background:var(--blue);border-color:var(--blue);color:#fff}button.primary:hover{background:#1768e9}button:disabled{cursor:wait;opacity:.65}a{color:var(--blue);text-decoration:none}input:not([type=checkbox]):not([type=range]),select{width:100%;min-height:40px;border:1px solid #d4dbe5;background:#fff;color:#243248;padding:8px 10px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #4389ed;outline-offset:3px}input[type=checkbox]{appearance:none;flex:none;width:15px;height:15px;border:1px solid #aab6c8;border-radius:1px;margin:0;display:grid;place-content:center;background:white}input[type=checkbox]:checked{background:var(--blue);border-color:var(--blue)}input[type=checkbox]:checked:after{content:"";width:7px;height:4px;border:solid white;border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}input[type=range]{appearance:none;width:100%;height:4px;background:#dfe7f3;accent-color:var(--blue);margin:14px 0 8px;border-radius:0}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:18px;background:var(--blue);border:2px solid #fff;border-radius:1px;box-shadow:0 0 0 1px var(--blue)}input[type=range]::-moz-range-thumb{width:10px;height:16px;background:var(--blue);border:1px solid #fff;border-radius:0}.site-header{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:40px;padding:0 4.2%;position:relative;z-index:600}.brand{color:#172943;font-size:21px;font-weight:750;letter-spacing:-.5px;display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{display:block;width:26px;height:29px;background:linear-gradient(135deg,#0063ec,#31b3ed);clip-path:polygon(50% 0,100% 100%,66% 100%,50% 65%,34% 100%,0 100%)}.nav-label{height:100%;display:flex;align-items:center;border-bottom:3px solid var(--blue);color:var(--blue);font-size:14px}.header-note{margin-left:auto;font-size:12px;color:#7b8799;letter-spacing:1px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--blue);font-weight:650}.lobby-hero{min-height:520px;display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center;padding:62px max(7%,calc((100vw - 1200px)/2));background:linear-gradient(108deg,#f4faff 0%,#eaf4ff 47%,#dceaff 100%);position:relative;overflow:hidden}.lobby-hero:before,.lobby-hero:after{content:"";position:absolute;width:520px;height:520px;right:13%;top:-300px;transform:rotate(33deg);border:1px solid #fff9;background:linear-gradient(150deg,#ffffff70,#b4d5ff05);pointer-events:none}.lobby-hero:after{width:420px;height:420px;right:34%;top:330px;transform:rotate(33deg);background:linear-gradient(150deg,#ffffff90,#b4d5ff10)}.hero-copy,.join-card{position:relative;z-index:1}.hero-copy h1{font-size:52px;font-weight:600;letter-spacing:-2px;margin:22px 0 20px;line-height:1.22}.hero-copy p{font-size:17px;line-height:1.9;color:#5f718b;max-width:390px;margin:0 0 30px}.hero-tag{display:inline-block;border-left:2px solid var(--blue);padding-left:12px;color:#4a6382;font-size:13px}.join-card{background:#fff;border:1px solid #fff;box-shadow:0 12px 44px #5474a61a;padding:34px 32px;border-radius:3px}.join-card h2{font-size:22px;margin:0 0 9px;font-weight:600}.join-card p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 28px}.room-label{display:block;font-size:13px;margin-bottom:10px}.join-card #room{font:500 28px Consolas,monospace;height:60px;letter-spacing:12px;padding-left:19px}.join-card #room::placeholder{font:14px "Microsoft YaHei",sans-serif;letter-spacing:1px}.join-card button{width:100%;height:46px;margin-top:18px;text-align:left;display:flex;align-items:center;justify-content:space-between}.form-error{color:#c64040;font-size:12px;min-height:19px;margin-top:10px;line-height:1.6}.join-foot{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;font-size:12px;color:#8a96a7;line-height:1.8}.lobby-features{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);padding:46px 20px;gap:44px}.feature{display:flex;gap:19px}.feature-no{font:28px Consolas,monospace;color:#b6c9e5}.feature h3{font-size:16px;font-weight:600;margin:0 0 10px}.feature p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.lobby-footer{border-top:1px solid var(--line);padding:22px;text-align:center;font-size:12px;color:#8f9aab;background:#fff}.console{height:100dvh;overflow:hidden}.console .site-header{padding:0 24px;gap:32px;height:60px}.room-badge{display:flex;align-items:center;gap:10px;font-size:12px;color:#8a95a5;border-left:1px solid var(--line);padding-left:24px;margin-left:auto}.room-badge strong{font:600 19px Consolas,monospace;letter-spacing:2px;color:#2c4160}.room-badge button{min-height:30px;padding:0 9px;font-size:12px}.connection{font-size:12px;display:flex;align-items:center;gap:7px;color:#73839a;white-space:nowrap}.signal{width:6px;height:6px;background:#a8b4c4;display:inline-block}.connection.live{color:#14966e}.connection.live .signal{background:#15b48a;box-shadow:0 0 0 3px #15b48a16}.workspace{height:calc(100dvh - 60px);display:flex}.sidebar{width:262px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:550;overflow:auto}.panel-title{font-size:15px;font-weight:650;margin:0 0 17px;display:flex;align-items:center;justify-content:space-between}.panel-title small{font-size:10px;letter-spacing:1px;color:#8da0b9;font-weight:400}.section{padding:21px 22px;border-bottom:1px solid var(--line)}.field-label{display:block;color:#697991;font-size:12px;margin-bottom:8px}.inline-help{font-size:11px;color:#96a1b2;margin-top:9px;line-height:1.7}.filter-row{display:flex;align-items:center;gap:9px;padding:9px 0;color:#4b5970;font-size:13px}.filter-row .count{margin-left:auto;font:12px Consolas,monospace;background:#f3f6fa;min-width:24px;padding:3px;text-align:center;color:#8390a5}.swatch{display:inline-block;width:7px;height:7px;flex:none;background:var(--c)}.filter-row .swatch{margin-left:auto}.filter-row .swatch+.count{margin-left:0}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.setting-grid .filter-row{font-size:12px}.scale-label{font-size:12px;color:#77869c;margin-top:14px;display:flex;justify-content:space-between}.scale-label output{color:var(--blue);font-family:Consolas,monospace}.follow-button{width:100%;font-size:13px;margin-top:15px}.follow-button[aria-pressed=true]{background:#eef5ff;border-color:#bad2f5;color:var(--blue)}.sidebar-footer{padding:18px 22px;font-size:11px;color:#a1acbb;margin-top:auto;line-height:1.8}.map-workspace{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;background:#edf1f5}.map-heading{height:66px;background:white;display:flex;align-items:center;padding:0 24px;gap:14px;border-bottom:1px solid var(--line);z-index:450;flex:none}.map-heading h1{font-size:17px;margin:0;font-weight:650}.map-heading .mode-tag{font-size:10px;color:var(--blue);background:#edf4ff;padding:4px 7px;border:1px solid #d8e8ff}.map-subtitle{font-size:12px;color:#8290a4;margin-left:auto}.map-stage{flex:1;position:relative;min-height:0}.map-canvas{position:absolute;inset:0;background:#d9e3ed!important}.map-tools{position:absolute;right:20px;top:20px;z-index:450;display:grid;gap:7px}.map-tools button{height:38px;min-width:40px;padding:0 11px;box-shadow:0 2px 10px #172c4d14;font-size:12px}.map-tools .zoom{font-size:22px}.map-status{position:absolute;left:20px;top:20px;background:#ffffffed;border:1px solid #fff;padding:11px 15px;z-index:450;box-shadow:0 4px 16px #0a234a0a;font-size:12px;color:#75849a;max-width:calc(100% - 125px);line-height:1.7;pointer-events:none}.map-status strong{display:block;font-size:13px;color:#344b67;font-weight:600;margin-bottom:2px}.map-legend{position:absolute;bottom:18px;left:20px;z-index:450;background:#fffffff2;border:1px solid white;display:flex;gap:19px;padding:10px 14px;font-size:11px;color:#63758f;box-shadow:0 4px 16px #0a234a0a}.map-legend span{display:flex;align-items:center;gap:7px}.map-foot{height:32px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:10px;color:#8d9aaf;z-index:450;flex:none}.map-foot a{color:#8d9aaf}.entity-icon{background:transparent;border:0}.marker-body{position:relative;width:100%;height:100%;display:grid;place-items:center;--marker:#e05050}.marker-shape{width:11px;height:11px;background:var(--marker);border:2px solid #fff;box-shadow:0 1px 4px #12274366;transform:rotate(45deg)}.marker-body.loot .marker-shape,.marker-body.box .marker-shape{width:8px;height:8px;transform:none;border-width:1px}.marker-arrow{position:absolute;left:calc(50% - 3px);top:-5px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:6px solid var(--marker);transform-origin:3px 15px;filter:drop-shadow(0 0 1px #fff)}.marker-label{position:absolute;left:50%;top:20px;transform:translateX(-50%);white-space:nowrap;text-align:center;pointer-events:none;font-size:11px;line-height:1.5;color:#fff;text-shadow:0 1px 3px #000,1px 0 2px #000,-1px 0 2px #000}.marker-name{font-weight:600}.marker-distance{font-size:10px;color:#e1e9f5}.marker-health{height:3px;max-width:46px;margin:3px auto 0;background:#172336aa;overflow:hidden}.marker-health span{display:block;height:100%;background:#5cdea5}.leaflet-container{font-family:inherit}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:2px}.leaflet-popup-content{font-size:12px;line-height:1.9;margin:16px 20px;min-width:130px}.leaflet-popup-close-button{border-radius:0}.entity-detail b{font-size:14px}.entity-detail p{color:#78869a;margin:4px 0 0}.mobile-only{display:none}.sidebar-backdrop{display:none}.map-stage:fullscreen{width:100vw;height:100dvh}.map-stage:fullscreen .map-canvas{height:100%}.toast{position:fixed;bottom:54px;left:50%;transform:translate(-50%,15px);background:#172a43eb;color:#fff;padding:11px 18px;z-index:900;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:12px;border-radius:2px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1600px){.sidebar{width:290px}.section{padding:24px 27px}}@media(max-width:1000px){.lobby-hero{gap:30px;padding:48px 5%;grid-template-columns:1fr 380px}.hero-copy h1{font-size:42px}.console .site-header{gap:20px}.console .nav-label{display:none}}@media(max-width:720px){.site-header{padding:0 20px;gap:20px;height:60px}.brand{font-size:19px}.nav-label{font-size:12px}.header-note{display:none}.lobby-hero{display:block;padding:38px 22px 32px;min-height:auto}.hero-copy h1{font-size:35px;margin:13px 0}.hero-copy p{font-size:14px;line-height:1.8;margin:0 0 22px}.hero-tag{display:none}.join-card{margin-top:28px;padding:26px 24px}.join-card h2{font-size:19px}.join-card p{margin-bottom:20px}.lobby-features{padding:30px 24px;gap:26px;grid-template-columns:1fr}.feature-no{font-size:23px}.feature h3{font-size:14px}.feature p{font-size:12px}.console .site-header{height:56px;padding:0 14px;gap:12px}.console .brand{font-size:16px;gap:7px}.console .brand-mark{width:20px;height:23px}.room-badge{border:0;padding:0;margin-left:auto;gap:7px}.room-badge>span{display:none}.room-badge strong{font-size:17px;letter-spacing:1px}.room-badge button{font-size:11px;min-height:27px;padding:0 6px}.connection{font-size:10px}.workspace{height:calc(100dvh - 56px)}.sidebar{position:absolute;left:0;top:56px;bottom:0;transform:translateX(-100%);visibility:hidden;transition:transform .2s;width:265px;box-shadow:7px 0 24px #18365720}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar-backdrop.open{display:block;position:fixed;inset:56px 0 0;background:#14233d55;z-index:500}.mobile-only{display:block}.map-heading{height:57px;padding:0 14px;gap:9px}.map-heading h1{font-size:14px}.map-heading .mode-tag{font-size:9px;padding:3px 5px}.map-subtitle{display:none}.map-tools{right:12px;top:13px;gap:6px}.map-tools button{height:36px;min-width:37px;font-size:11px;padding:0 8px}.map-tools .zoom{font-size:20px}.map-status{left:12px;top:13px;padding:9px 12px;font-size:10px;max-width:calc(100% - 100px)}.map-status strong{font-size:12px}.map-legend{left:12px;bottom:13px;gap:12px;padding:9px 11px;font-size:10px}.map-foot{padding:0 12px;font-size:9px}.map-foot .copyright{display:none}.mobile-menu{font-size:12px;padding:0 10px;min-height:30px;margin-left:auto}.section{padding:18px 22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-height:500px) and (min-width:721px) and (max-width:1000px){.console .site-header{height:56px}.workspace{height:calc(100dvh - 56px)}.sidebar{position:absolute;left:0;top:56px;bottom:0;transform:translateX(-100%);visibility:hidden;transition:transform .2s;width:265px;box-shadow:7px 0 24px #18365720}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar-backdrop.open{display:block;position:fixed;inset:56px 0 0;background:#14233d55;z-index:500}.mobile-only{display:block}.map-heading{height:48px;padding:0 16px}.map-heading h1{font-size:15px}.map-heading .mode-tag{font-size:9px}.map-subtitle{display:none}.map-tools{top:auto;bottom:12px;right:14px;grid-auto-flow:column;gap:5px}.map-tools button{height:32px;min-height:32px;min-width:34px;padding:0 10px;font-size:11px}.map-tools .zoom{font-size:18px}.map-status{top:12px;left:14px;padding:9px 12px;font-size:11px}.map-legend{left:14px;bottom:12px;font-size:10px;padding:9px 12px}.mobile-menu{margin-left:auto;min-height:30px;font-size:12px}}
