:root { color-scheme:dark; --bg:#090f15;--panel:#111c27;--panel2:#162330;--text:#e8f1f4;--muted:#81929e;--line:#2b3b4b;--cyan:#62d9c6;--gold:#f0c37a;--green:#70cc8a;--purple:#c29aff; }
*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}#app{display:flex;width:100%;height:100%;min-height:550px;overflow:hidden}
.sidebar{width:330px;flex:none;border-right:1px solid var(--line);background:linear-gradient(145deg,#15212b 0,#0e1720 60%,#101a24 100%);display:flex;flex-direction:column;z-index:5;box-shadow:5px 0 32px #03070866}.side-scroll{overflow-y:auto;padding:22px 19px 24px;scrollbar-color:#3c5058 transparent;scrollbar-width:thin}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:23px}.logo{width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,#1f5963,#223b47);display:grid;grid-template-columns:repeat(2,9px);grid-template-rows:repeat(2,9px);gap:3px;align-content:center;justify-content:center;border:1px solid #4b8584}.logo i{display:block;background:#b4e5bd;border-radius:1px}.logo i:nth-child(2){background:#70b7ad}.logo i:nth-child(3){background:#6da18a}.logo i:nth-child(4){background:#d0e9c1}.brand strong{font-size:14px;letter-spacing:.14em;display:block}.brand small{color:#a1b3b9;font-size:10px;letter-spacing:.15em;text-transform:uppercase;display:block;margin-top:5px}
.world-panel{padding:18px;background:radial-gradient(ellipse at 100% 0,#2a55507a,transparent 65%),linear-gradient(150deg,#203b3a,#19303a 60%,#14232f);border:1px solid #41625b;border-radius:15px;box-shadow:0 13px 34px #06101850}.eyebrow{color:#a5bbb8;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:750}.world-title{font-size:25px;font-weight:780;letter-spacing:-.04em;margin:6px 0 5px}.world-meta{font-size:12px;color:#b3c7c5}.world-stats{display:flex;gap:14px;border-top:1px solid #658b8138;padding-top:14px;margin-top:16px}.stat{flex:1}.stat strong{display:block;font-size:17px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat span{font-size:10px;color:#b5c7c5;display:block;margin-top:3px}
.section{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{font-size:11px;text-transform:uppercase;color:#8da2ae;letter-spacing:.16em;font-weight:800}.section-sub{color:#7d919e;font-size:10px}
.segment{display:grid;grid-template-columns:repeat(3,1fr);background:#0b141e;border:1px solid #2a3a46;padding:4px;border-radius:11px;gap:3px}.segment button{border:0;border-radius:8px;background:transparent;color:#8ba1ae;min-height:33px;font-size:11px;font-weight:700}.segment button.active{background:#2b4c4c;color:#ccfff0;box-shadow:inset 0 0 0 1px #4c847b}
.switch-row{display:flex;align-items:center;justify-content:space-between;min-height:37px;gap:12px;font-size:12px;color:#cad9df;cursor:pointer}.switch-row .left{display:flex;gap:9px;align-items:center}.tiny-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.switch{width:35px;height:19px;border:1px solid #344956;background:#253440;border-radius:18px;position:relative;flex:none;transition:.2s}.switch:before{content:"";position:absolute;width:13px;height:13px;background:#8a9ca8;border-radius:50%;left:2px;top:2px;transition:.2s}.switch-row.on .switch{background:#285f56;border-color:#55ad9d}.switch-row.on .switch:before{left:18px;background:#a5ffdf}
.ore-select{width:100%;height:39px;background:#0c1722;border:1px solid #344759;border-radius:9px;padding:0 12px;color:#dce9ee;font-size:12px}.minicard{border:1px solid #344650;background:#142530b9;border-radius:11px;padding:13px;margin-top:12px}.minicard .kicker{font-size:10px;color:#8fa4b0;text-transform:uppercase;letter-spacing:.1em}.minicard .big{font-size:19px;line-height:1.4;font-weight:750;display:flex;align-items:center;gap:8px}.minicard .note{font-size:11px;color:#89a1ae;margin-top:5px;line-height:1.5}.minicard .btn-text{font-size:11px;color:#9ae9d6;border:0;background:transparent;padding:10px 0 0;text-align:left}
.place-list{display:flex;flex-direction:column;gap:6px}.place-item{border:1px solid #283b47;background:#1725308c;border-radius:10px;display:flex;align-items:center;gap:10px;padding:10px;width:100%;text-align:left;color:var(--text)}.place-item:hover{background:#203746;border-color:#416677}.place-item .pin{width:30px;height:30px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:9px;font-size:15px}.place-item .desc{min-width:0;flex:1}.place-item strong{font-size:12px;display:block}.place-item small{font-size:10px;display:block;color:#8e9fa9;margin-top:3px}.place-item .go{color:#819ca9;font-size:17px}.notice{font-size:10px;line-height:1.6;color:#8397a3;background:#0e1922;border-left:2px solid #4d686e;margin-top:18px;padding:10px 12px}
.map-area{position:relative;min-width:0;flex:1;overflow:hidden;background:radial-gradient(ellipse at 52% 40%,#1c2f35,#0b1520 70%)}#map{position:absolute;width:100%;height:100%;left:0;top:0;touch-action:none;cursor:grab}#map.dragging{cursor:grabbing}
.map-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 110px #06101790}.topbar{pointer-events:none;position:absolute;top:22px;left:22px;right:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;z-index:2}.floating{pointer-events:auto;background:#101d27e8;border:1px solid #4a5d6380;box-shadow:0 12px 30px #040b126b;backdrop-filter:blur(18px);border-radius:12px}.toolbar{padding:8px;display:flex;align-items:center;gap:7px}.toolbar .divider{width:1px;height:25px;background:#40535c;margin:0 4px}.coordinate-box{width:82px;display:flex;gap:4px;align-items:center;background:#0a141d;border:1px solid #30424d;border-radius:7px;padding:5px 7px;color:#81a1aa;font-size:11px}.coordinate-box input{min-width:0;width:100%;color:#f1f6f8;border:none;background:transparent;font-size:12px;outline:none}.button{color:#d6e6e8;border:1px solid #365260;background:#233947;padding:8px 11px;border-radius:8px;font-size:11px;font-weight:700}.button:hover{background:#325261}.button.accent{background:#2d655a;color:#d3fff1;border-color:#4b9a87}.icon-button{height:35px;min-width:35px;display:inline-flex;align-items:center;justify-content:center;background:#1d303d;border:1px solid #3b5360;border-radius:8px;color:#b8cbd2;font-size:18px}.icon-button:hover{background:#345266}.top-right{display:flex;gap:7px;padding:7px}
.map-head{position:absolute;top:85px;left:29px;z-index:2;pointer-events:none;max-width:75%}.map-head h1{font-size:35px;font-weight:750;letter-spacing:-.045em;margin:0;text-shadow:0 3px 18px #041116}.map-head p{font-size:12px;color:#c3dbde;letter-spacing:.025em;margin:5px 0}
.compass{position:absolute;right:25px;top:94px;z-index:2;border-radius:50%;width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:#0c1821b8;border:1px solid #56716f;color:#e0e8e6;box-shadow:0 5px 23px #0005}.compass:before{content:"";height:33px;position:absolute;width:1px;background:#566f70}.compass span{position:absolute;top:3px;font-size:11px;color:#ffdc95;font-weight:800}.compass .needle{margin-top:5px;color:#e6c78e;font-size:18px}
.coords-bottom{position:absolute;bottom:19px;left:22px;right:22px;display:flex;gap:12px;align-items:flex-end;justify-content:space-between;z-index:2;pointer-events:none}.bottom-chip{pointer-events:auto;background:#0c1820dd;border:1px solid #4e6769a0;border-radius:10px;backdrop-filter:blur(15px);padding:11px 14px;color:#b7cbd1;box-shadow:0 10px 35px #02070b80}.bottom-chip strong{color:#ecf4f4;font-weight:700}.scale-line{display:flex;align-items:center;gap:6px;font-size:10px}.scale-line i{width:65px;height:8px;border-bottom:2px solid #b1c9cc;border-left:2px solid #b1c9cc;border-right:2px solid #b1c9cc}.tip{position:absolute;top:155px;right:22px;z-index:3;min-width:210px;max-width:260px;display:none;pointer-events:none;background:#10242cef;border:1px solid #49737b;border-radius:10px;padding:11px 13px;box-shadow:0 18px 50px #0008}.tip strong{display:block;font-size:12px}.tip span{display:block;color:#afc2c8;font-size:11px;margin-top:6px;line-height:1.4}
.detail{display:none;position:absolute;right:24px;bottom:75px;width:290px;z-index:3;padding:17px 17px 15px;background:#12212bed;border:1px solid #557078b0;border-radius:15px;box-shadow:0 24px 55px #0009;backdrop-filter:blur(18px)}.detail .close{position:absolute;top:12px;right:13px;border:0;background:#253b46;color:#c6d5d9;border-radius:6px;width:25px;height:25px}.detail .badge{display:inline-flex;align-items:center;font-size:10px;letter-spacing:.08em;color:#9fdcca;text-transform:uppercase}.detail h3{font-size:20px;margin:7px 0 6px;line-height:1.2}.detail p{font-size:12px;color:#a5bbc4;line-height:1.55}.detail .actionrow{display:flex;gap:7px;margin-top:14px}.detail .actionrow button{flex:1}.crosshair{position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);pointer-events:none;z-index:1;opacity:.22}.crosshair:before,.crosshair:after{content:"";position:absolute;background:white}.crosshair:before{left:5px;top:0;width:1px;height:12px}.crosshair:after{top:5px;left:0;height:1px;width:12px}
@media(max-width:850px){.sidebar{width:274px}.side-scroll{padding:16px 14px}.topbar{top:12px;left:12px;right:12px}.topbar .toolbar{flex-wrap:wrap;max-width:280px}.map-head{top:124px;left:15px}.map-head h1{font-size:27px}.compass{top:144px;right:15px}.coords-bottom{bottom:12px;left:12px;right:12px}.detail{right:10px;bottom:70px;width:260px}}@media(max-width:610px){#app{flex-direction:column}.sidebar{width:100%;height:260px;border-bottom:1px solid #3a515e;border-right:0}.side-scroll{padding:13px}.brand{margin-bottom:10px}.world-panel{padding:12px}.section{margin-top:14px}.map-area{min-height:360px}.toolbar{flex-wrap:wrap}.map-head{top:110px}.map-head h1{font-size:22px}.tip{display:none!important}.coords-bottom{flex-direction:column;align-items:flex-start}}


/* Atlas 2.1: readable controls, subtler map heading, small-screen fixes. */
.map-head {
  top: 85px;
  left: 22px;
  max-width: min(380px, calc(100% - 44px));
  padding: 11px 15px 12px;
  background: rgba(10, 25, 34, .84);
  border: 1px solid rgba(118, 174, 167, .28);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(1, 10, 17, .35);
  backdrop-filter: blur(12px);
}
.map-head h1 {font-size: 21px; line-height: 1.2; text-shadow: none;}
.map-head p {font-size: 10px; line-height: 1.5; margin: 5px 0 0; color: #bed5db;}
.compass {top: 98px;}
.place-item:focus-visible, .switch-row:focus-visible {outline: 2px solid var(--cyan); outline-offset: 2px;}
@media(max-width:850px) {
  .map-head {top: 124px; left: 12px; padding: 10px 12px; max-width: min(320px, calc(100% - 24px));}
  .map-head h1 {font-size: 18px;}
  .map-head p {font-size: 9px;}
  .compass {top: 153px;}
}
@media(max-width:610px) {
  #app {min-height: 0; height: 100dvh;}
  .sidebar {height: 235px; min-height: 0;}
  .map-area {min-height: 0;}
  .map-head {top: 106px; padding: 8px 10px; max-width: 260px;}
  .map-head h1 {font-size: 16px;}
  .map-head p {display: none;}
  .compass {top: 143px; width: 42px; height: 42px; right: 12px;}
  .topbar .toolbar {gap: 5px; padding: 6px; max-width: 248px;}
  .coordinate-box {width: 67px;}
  .toolbar .divider {display: none;}
  .coords-bottom {gap: 5px;}
  .bottom-chip {padding: 7px 9px;}
  .detail {max-height: 53vh; overflow-y: auto;}
}


/* Manual atlas import */
.atlas-update-section{margin-top:17px}
.atlas-update-cta{background:linear-gradient(120deg,#24584f,#254a55);border:1px solid #4a9b8b;border-radius:12px;width:100%;padding:12px;display:flex;align-items:center;text-align:left;gap:11px;color:#ebfff9;transition:background .2s}
.atlas-update-cta:hover{background:linear-gradient(120deg,#307569,#2e6470)}
.atlas-update-icon{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;background:#418275;color:#fff;font-size:23px}
.atlas-update-cta strong{display:block;font-size:13px}
.atlas-update-cta small{display:block;color:#b5d2d0;margin-top:3px;font-size:10px;line-height:1.45}
.atlas-update-chevron{margin-left:auto;font-size:20px}
.atlas-source-status{font-size:10px;color:#9fb3b7;line-height:1.5;margin-top:7px}
.atlas-modal[hidden],.atlas-file-summary[hidden]{display:none!important}
.atlas-modal{position:fixed;inset:0;z-index:99;display:grid;place-items:center;padding:16px}
.atlas-modal-open{overflow:hidden}
.atlas-modal-shade{position:absolute;inset:0;background:rgba(1,8,13,.8);backdrop-filter:blur(9px)}
.atlas-modal-box{position:relative;width:min(100%,520px);max-height:min(90vh,850px);overflow-y:auto;padding:25px;border:1px solid #42635e;border-radius:19px;background:linear-gradient(160deg,#192f35,#0f1b28 75%);box-shadow:0 24px 90px #000a}
.atlas-modal-close{position:absolute;right:15px;top:11px;border:0;background:transparent;color:#a5b5bd;font-size:27px}
.atlas-modal-kicker{font-size:10px;letter-spacing:.13em;color:#83dcca;font-weight:800}
.atlas-modal-box h2{font-size:23px;margin:6px 0 8px}
.atlas-modal-intro{font-size:13px;color:#b5c5cc;line-height:1.6;margin:0 0 18px}
.atlas-modal-box code{color:#a5f3df;word-break:break-word}
.atlas-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 13px;border:1px dashed #6baca3;background:#14343a;border-radius:12px;text-align:center;cursor:pointer}
.atlas-drop.dragging,.atlas-drop:hover{background:#1c4850;border-color:#9ef8df}
.atlas-drop-icon{font-size:29px;color:#a8f4df}
.atlas-drop strong{font-size:13px}
.atlas-drop small{font-size:11px;line-height:1.5;color:#bdd0d5}
.atlas-info{display:flex;flex-direction:column;gap:5px;font-size:11px;padding:12px 0;color:#a5b6c1}
.atlas-info b{color:#e3eeee}
.atlas-info small{font-size:11px;line-height:1.6}
.atlas-file-summary{border:1px solid #43765e;padding:9px;border-radius:9px;color:#c8f8de;background:#214b3a55;font-size:11px;line-height:1.6;margin:3px 0 8px}
.atlas-feedback{color:#a9c6cf;font-size:12px;line-height:1.5;min-height:21px;margin:6px 0 11px}
.atlas-feedback.error{color:#ffb1a7}
.atlas-primary,.atlas-secondary{width:100%;font-size:12px;font-weight:750;border-radius:10px;min-height:42px;border:1px solid #548f85}
.atlas-primary{background:#68d9c6;color:#12312d}.atlas-primary:hover{background:#9aecd6}
.atlas-secondary{background:#1c3843;color:#e4f0f2}.atlas-secondary:hover{background:#284e58}
.atlas-primary:disabled,.atlas-secondary:disabled{opacity:.5;cursor:not-allowed}
.atlas-cloud{border-top:1px solid #334d55;margin-top:19px;padding-top:17px}
.atlas-cloud strong{font-size:12px}
.atlas-cloud p{font-size:11px;line-height:1.5;color:#a9b9c0;margin:6px 0 10px}
.atlas-cloud label{display:block;font-size:10px;color:#9fb6bf;margin-bottom:5px}
.atlas-cloud input{width:100%;height:39px;background:#0a1c25;border:1px solid #3a5863;border-radius:9px;padding:0 11px;color:#edf6f7;margin-bottom:9px}
.atlas-modal-foot{display:flex;flex-direction:column;gap:9px;margin-top:17px;color:#8da2ab;font-size:10px;line-height:1.5}
.atlas-modal-foot button{width:fit-content;background:none;border:none;padding:0;color:#e2bc9a;text-align:left;font-size:11px}
@media(max-width:610px){.atlas-modal-box{padding:18px;max-height:92vh}.atlas-modal-box h2{font-size:20px}.atlas-drop{padding:17px 10px}}
