:root{color-scheme:dark;--ink:#e8e6d9;--muted:#a8b9b6;--gold:#e6c395;--deep:#122b2c;--edge:rgba(222,235,217,.18);font-family:'Segoe UI',Inter,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}
.app{height:100dvh;min-height:570px;position:relative;overflow:hidden;background:#355960;color:var(--ink)}#world{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}#world:active{cursor:grabbing}.atmosphere{inset:0;position:absolute;pointer-events:none;background:linear-gradient(90deg,rgba(7,21,23,.58) 0%,rgba(10,25,25,.36) 24%,transparent 47%),linear-gradient(0deg,rgba(7,22,24,.55) 0%,transparent 26%);mix-blend-mode:multiply}
.brand{position:absolute;z-index:6;top:34px;left:46px;display:flex;align-items:center;gap:16px;pointer-events:none}.brand-icon{color:var(--gold);width:49px;height:49px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center}.brand-icon svg{width:37px}.brand-word{display:flex;flex-direction:column;gap:3px;letter-spacing:.15em}.brand-overline{font-size:9px;font-weight:800;letter-spacing:.29em;color:#d0dfd4}.brand-overline i{font-style:normal;color:var(--gold);margin:0 4px}.brand-title{font-weight:750;font-size:21px;letter-spacing:.04em}.brand-title b{font-weight:400;color:var(--gold)}.edition{border-left:1px solid rgba(255,255,255,.3);margin-left:23px;padding-left:22px;font-size:9px;letter-spacing:.17em;color:#d8e4da}
.hero{z-index:3;position:absolute;left:48px;top:18.5%;width:390px;max-width:40vw;text-shadow:0 2px 20px rgba(15,27,28,.25);pointer-events:none}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.22em;color:#fbdfae;display:flex;align-items:center;gap:13px}.eyebrow .line{height:1px;width:28px;background:var(--gold)}h1{font-size:clamp(44px,4.3vw,75px);line-height:.99;letter-spacing:-.057em;font-weight:420;margin:21px 0 17px;font-family:Georgia,'Times New Roman',serif}h1 em{font-weight:400;color:#f4d9ab} .hero p{font-size:14px;line-height:1.7;max-width:300px;color:#f0efdf;margin:0 0 29px}.hero-tags{display:flex;flex-wrap:wrap;gap:10px}.hero-tags span{font-size:9px;font-weight:750;letter-spacing:.105em;border:1px solid rgba(255,255,255,.26);background:rgba(10,35,36,.26);border-radius:4px;padding:10px 13px;white-space:nowrap;backdrop-filter:blur(8px)}.status-dot{display:inline-block;width:5px;height:5px;background:#a6e6b6;box-shadow:0 0 8px #a6e6b6;border-radius:50%;margin-right:7px}
.panel{position:absolute;z-index:7;top:17px;right:17px;bottom:67px;width:330px;border:1px solid var(--edge);background:rgba(13,34,37,.84);border-radius:13px;box-shadow:0 20px 80px rgba(5,18,24,.3);backdrop-filter:blur(23px);display:flex;flex-direction:column;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 23px 20px;border-bottom:1px solid rgba(255,255,255,.11)}.overline{font-size:9px;color:#ddb889;font-weight:800;letter-spacing:.22em}.panel h2{font-family:Georgia,serif;font-size:24px;letter-spacing:-.035em;font-weight:400;margin:7px 0 0}.icon-button{width:30px;height:30px;border:1px solid var(--edge);border-radius:6px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:#edf3e6}.icon-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}.panel-body{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3c6260 transparent;padding:19px 23px 22px}.section-eyebrow{font-size:10px;color:#dcb88b;font-weight:800;letter-spacing:.17em;margin-bottom:22px;display:flex;gap:9px}.section-eyebrow span{color:#d5dbd2}.section-eyebrow.second{margin-top:25px;padding-top:23px;border-top:1px solid rgba(255,255,255,.11)}.field{margin-bottom:21px}.field-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#e8ede4;margin-bottom:13px}.field-heading output{color:#f4cd91;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.field-caption{font-size:10px;color:#8fa4a5}.field input[type=range]{width:100%;height:3px;accent-color:#e5ba83;cursor:pointer;margin:6px 0}.range-ends{font-size:9px;color:#809995;letter-spacing:.06em;display:flex;justify-content:space-between;margin-top:8px}.segments{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:rgba(4,16,17,.4);border:1px solid rgba(255,255,255,.12);border-radius:7px}.segments button{padding:9px 3px;font-size:11px;color:#a9b8b4;border:0;background:none;border-radius:5px;transition:background .2s}.segments button.selected{background:rgba(222,230,213,.16);color:#fff}.mini-note{display:flex;gap:11px;background:rgba(222,190,136,.065);border:1px solid rgba(222,190,136,.18);padding:13px;border-radius:6px;margin-top:6px}.mini-note-glyph{color:#e3c096;font-size:21px}.mini-note strong{display:block;font-size:11px;font-weight:650;color:#eedabd;margin-bottom:5px}.mini-note small{display:block;font-size:10px;color:#a3b9b2;line-height:1.5}.actions{display:grid;grid-template-columns:1fr 41px;gap:8px;margin-top:12px}.action-primary{border:1px solid #b6af8b;background:#d8b88d;color:#1a302e;font-size:11px;font-weight:800;letter-spacing:.04em;border-radius:6px;padding:12px}.action-primary span:first-child{font-size:10px;margin-right:8px}.action-secondary{background:rgba(255,255,255,.06);border:1px solid var(--edge);border-radius:6px;color:white}.action-secondary svg,.bottom-actions svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.locations{display:grid;gap:4px}.location{width:100%;border:1px solid transparent;padding:11px 9px;display:flex;align-items:center;text-align:left;border-radius:5px;background:transparent;color:#c8d5d0;gap:13px;font-size:12px}.location:hover,.location.active{background:rgba(226,220,193,.09);border-color:rgba(235,215,180,.16)}.loc-index{font-family:Georgia,serif;color:#deb98c;font-size:13px}.loc-title{flex:1}.loc-arrow{font-size:15px;color:#9ab3ab}.panel-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:22px;border-top:1px solid rgba(255,255,255,.11);padding-top:18px}.checkline{font-size:11px;color:#becbc4;display:flex;align-items:center;gap:7px;cursor:pointer}.checkline input{accent-color:#d3b78d}.link-btn{border:0;background:none;color:#d8bb91;font-size:10px}.link-btn span{font-size:14px;margin-left:4px}.panel-collapsed .panel{bottom:auto;height:78px}.panel-collapsed .panel-body{display:none}.panel-collapsed #toggle-panel svg{transform:rotate(180deg)}
.hotspots{position:absolute;inset:0;pointer-events:none;z-index:4}.hotspot{position:absolute;transform:translate(-50%,-50%);border:0;background:none;color:white;display:flex;align-items:center;gap:8px;pointer-events:auto;padding:7px 10px;text-shadow:0 2px 6px #1d2524;white-space:nowrap}.pin-dot{width:9px;height:9px;background:#f2d59f;border:2px solid white;border-radius:50%;box-shadow:0 0 0 5px rgba(242,213,159,.20)}.pin-pulse{position:absolute;left:9px;top:5px;width:23px;height:23px;border-radius:50%;border:1px solid rgba(248,221,168,.7);animation:pulse 3s ease-out infinite}.pin-label{padding:8px 11px;background:rgba(18,42,43,.66);border:1px solid rgba(255,255,255,.26);border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.03em;backdrop-filter:blur(8px)}.hotspot:hover .pin-label,.hotspot.active .pin-label{background:rgba(117,84,47,.85)}@keyframes pulse{0%{transform:scale(.7);opacity:.8}80%,100%{transform:scale(1.6);opacity:0}}
.guide-card{position:absolute;left:48px;bottom:92px;width:385px;z-index:5;background:rgba(13,34,37,.81);border:1px solid rgba(233,229,206,.25);border-radius:8px;padding:18px 19px 16px;backdrop-filter:blur(18px);box-shadow:0 12px 45px #16292a40}.guide-number{display:flex;justify-content:space-between;font-size:9px;color:#e0bd8f;font-weight:800;letter-spacing:.15em;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.14)}.guide-number span{color:#94aaa5}.guide-text>span{display:block;margin-top:15px;font-size:9px;color:#c2d2c8;font-weight:700;letter-spacing:.16em}.guide-text h3{font:normal 25px/1.15 Georgia,serif;margin:7px 0 8px;color:#f2e4cd}.guide-text p{color:#bfcec5;font-size:11px;line-height:1.62;min-height:55px;margin:0 0 11px}.guide-controls{display:flex;justify-content:flex-end;gap:6px}.guide-controls button{width:31px;height:28px;border-radius:4px;background:rgba(255,255,255,.06);border:1px solid var(--edge);color:#f3e6c9}.guide-controls button:hover{background:rgba(255,255,255,.15)}
.bottom-bar{position:absolute;bottom:0;left:0;right:0;z-index:8;min-height:59px;background:rgba(8,28,31,.86);border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 34px 0 48px;backdrop-filter:blur(17px)}.drag-hint,.bottom-actions{display:flex;align-items:center;gap:14px}.drag-hint{color:#b3c5be;font-size:10px;letter-spacing:.06em}.drag-hint strong{font-size:10px;color:#e7e0ce}.mouse-icon{border:1.5px solid #b9c8be;border-radius:10px;width:15px;height:22px;position:relative}.mouse-icon:before{content:'';height:6px;width:1px;position:absolute;top:4px;left:6px;background:#d3c3a9}.built-badge{font-size:9px;letter-spacing:.15em;color:#849e9b}.bottom-actions button{border:0;background:none;color:#e9d4af;font-size:10px;letter-spacing:.13em}.bottom-actions button span{font-size:14px}.bottom-actions #fullscreen{padding:4px}.loading,.error{position:absolute;z-index:12;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 23px;background:rgba(17,40,41,.92);color:#f7dfb7;border:1px solid rgba(248,224,187,.35);border-radius:9px;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;gap:14px;box-shadow:0 15px 45px #0005}.spinner{border:2px solid #abbfb5;border-top-color:#f5dfb9;width:18px;height:18px;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{max-width:540px;line-height:1.6;color:#ffd2b6}
.modal-scrim{position:absolute;inset:0;background:rgba(3,16,20,.76);z-index:20;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.modal{position:relative;max-height:91vh;overflow:auto;width:680px;max-width:100%;padding:36px 39px 28px;border:1px solid #41565a;border-radius:12px;background:#193438;box-shadow:0 22px 100px #0008}.modal h2{font:normal 34px/1.08 Georgia,serif;letter-spacing:-.03em;color:#f2ddbf;margin:16px 0}.modal p{font-size:13px;color:#bacac4;line-height:1.7}.modal strong{color:#efe5d1}.close-modal{position:absolute;top:18px;right:21px;font-size:25px;background:none;border:0;color:white}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 25px;border-top:1px solid #456063;border-bottom:1px solid #456063;padding:20px 0}.help-grid strong{font-size:12px}.help-grid p{margin:7px 0;font-size:11px}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:19px}.modal-footer span{font-size:9px;letter-spacing:.13em;color:#a6c3b8}.modal-footer button{background:#dec398;color:#17312d;border:0;border-radius:5px;padding:13px 16px;font-weight:700;font-size:11px}kbd{padding:2px 6px;border:1px solid #80948e;border-radius:3px;font-family:inherit}
body[data-weather=storm] .atmosphere{background:linear-gradient(90deg,rgba(5,17,22,.58),rgba(12,29,33,.28) 60%,transparent),linear-gradient(0deg,rgba(6,17,23,.64),transparent 30%)}
@media(max-width:1120px){.edition{display:none}.hero{top:17%;max-width:39vw}.hero h1{font-size:clamp(39px,4.3vw,56px)}.guide-card{width:330px;bottom:80px}.panel{width:304px}.guide-text p{min-height:40px}}
@media(max-width:760px){.app{min-height:0}.brand{top:15px;left:17px;gap:9px}.brand-icon{width:38px;height:38px}.brand-icon svg{width:29px}.brand-overline{font-size:7px}.brand-title{font-size:17px}.hero{top:80px;left:19px;max-width:calc(100% - 38px);width:320px}.hero h1{font-size:clamp(39px,8vw,60px);margin:13px 0}.hero p{font-size:12px;width:225px;line-height:1.5;margin-bottom:12px}.hero-tags span{padding:6px 8px;font-size:7px}.eyebrow{font-size:8px}.panel{top:auto;bottom:48px;right:10px;width:min(300px,calc(100% - 20px));max-height:57%;border-radius:9px}.panel-heading{padding:12px 15px}.panel h2{font-size:17px}.panel-body{padding:12px 15px}.section-eyebrow.second{margin-top:14px;padding-top:13px}.section-eyebrow{margin-bottom:13px}.field{margin-bottom:12px}.guide-card{bottom:66px;left:11px;width:min(270px,calc(100vw - 32px));padding:10px 12px}.guide-text h3{font-size:19px}.guide-text p{font-size:10px;line-height:1.4;min-height:0;max-height:42px;overflow:hidden}.guide-number,.guide-text>span{font-size:8px}.guide-controls button{height:23px}.bottom-bar{min-height:47px;padding:0 10px}.bottom-actions{gap:6px}.drag-hint{font-size:8px;gap:6px}.built-badge{display:none}.bottom-actions button{font-size:8px}.hotspot .pin-label{font-size:9px}.modal{padding:26px 19px}.help-grid{grid-template-columns:1fr}.modal h2{font-size:28px}.modal-footer{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.hero{top:69px}.hero h1{font-size:38px}.hero p{width:195px}.panel{max-height:46%;width:calc(100% - 20px)}.guide-card{left:10px;bottom:calc(46% + 60px);width:min(260px,calc(100vw - 20px))}.hotspot .pin-label{display:none}.hotspot{padding:6px}.brand-overline{letter-spacing:.1em}}
@media(max-height:720px) and (min-width:761px){.hero{top:110px}.hero h1{font-size:52px}.hero p{margin-bottom:11px}.guide-card{bottom:68px;padding:12px 15px;width:355px}.guide-text h3{font-size:21px}.guide-text p{min-height:0;font-size:10px;line-height:1.5;margin-bottom:4px}.panel{bottom:65px}}
@media(prefers-reduced-motion:reduce){.pin-pulse,.spinner{animation:none}*{scroll-behavior:auto!important}}
@media(max-width:760px){.panel-collapsed .panel{top:auto;bottom:54px;height:65px}.panel-collapsed .guide-card{bottom:135px}}
@media(max-width:520px){.panel-collapsed .guide-card{bottom:128px}}
