@import url('data:text/css,');
:root{--bg:#111a1c;--glass:rgba(12,22,26,.90);--panel:rgba(15,25,29,.96);--line:rgba(201,212,208,.15);--line2:rgba(198,211,203,.09);--text:#e7e8de;--dim:#9aaba8;--muted:#647572;--amber:#f3ac65;--red:#cc684d;--green:#95d0aa}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:#14191c;color:var(--text);font-family:'Segoe UI',Inter,Arial,sans-serif;font-size:12px;overflow:hidden}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
#app{position:relative;width:100vw;height:100dvh;min-height:480px;overflow:hidden}#world{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;background:#9f7b58;outline:0}.grain{position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:url('../../assets/textures/noise_overlay.png');mix-blend-mode:soft-light;z-index:2}.topbar{position:absolute;inset:0 0 auto 0;height:72px;z-index:12;display:flex;align-items:center;justify-content:space-between;padding:0 27px;border-bottom:1px solid rgba(240,236,215,.12);background:linear-gradient(180deg,rgba(8,18,22,.89),rgba(8,18,22,.49));backdrop-filter:blur(22px)}
.brand{display:flex;align-items:center;gap:13px;min-width:350px}.brand img{width:33px;height:38px}.brand-text{display:flex;flex-direction:column;gap:4px}.logotype{font-size:17px;font-weight:850;letter-spacing:1.6px}.brand-accent{color:#efb177;font-weight:500}.brand-text small{font-size:9px;letter-spacing:2.4px;color:#9dada8;font-weight:700}.dot{color:var(--red);padding:0 5px}.top-centre{display:flex;align-items:center;gap:13px;letter-spacing:1.8px;font-size:10px;font-weight:750;color:#c4d5cb}.top-sep{height:16px;width:1px;background:#7f8885;opacity:.4}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(142,235,176,.8);flex-shrink:0}.top-actions{display:flex;align-items:center;gap:9px}.icon-button{height:35px;min-width:35px;padding:0 8px;border:1px solid rgba(222,226,215,.2);border-radius:2px;color:#d9ded7;background:rgba(11,22,23,.42);font-size:17px}.icon-button:hover{color:var(--amber);border-color:var(--amber)}.website{padding-left:16px;text-decoration:none;color:#e4b482;font-size:10px;font-weight:800;letter-spacing:1.5px}
.sidebar{z-index:10;position:absolute;top:94px;bottom:69px;left:21px;width:318px;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid rgba(217,217,197,.15);box-shadow:0 30px 80px #07101199;backdrop-filter:blur(26px)}.sidebar-heading{padding:22px 20px 20px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line)}.eyebrow{font-size:8px;font-weight:700;letter-spacing:1.8px;color:var(--amber)}.sidebar h1{font-size:21px;letter-spacing:.9px;margin:7px 0 0;line-height:1}.sidebar-serial{font-size:29px;font-weight:800;line-height:1;color:#d6d5c8}.serial-sub{font-size:11px;color:var(--amber);font-weight:450}.tabs{display:flex;border-bottom:1px solid var(--line)}.tab{color:var(--dim);width:33.333%;padding:16px 0;background:none;border:0;border-bottom:2px solid transparent;font-size:9px;font-weight:750;letter-spacing:1.4px}.tab:hover,.tab.active{color:var(--amber)}.tab.active{border-bottom-color:var(--amber)}.tab-panel{display:none;padding:20px 18px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#47565a transparent}.tab-panel.active{display:block}.panel-section-title{font-size:10px;color:#dce6db;letter-spacing:1.1px;font-weight:800;display:flex;gap:8px;align-items:center;margin-bottom:15px}.panel-section-title>span:first-child{color:var(--amber)}.small-kicker{margin-left:auto;font-size:8px;letter-spacing:1.0px;color:var(--muted)}.section-gap{margin-top:25px}.toggle-list{display:flex;flex-direction:column}.switch-row{display:flex;align-items:center;width:100%;gap:12px;text-align:left;background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line2);padding:9px 2px}.switch-row:hover{background:rgba(191,207,193,.06)}.switch-icon{font-size:17px;width:23px;color:#d99c64;text-align:center}.switch-name{display:flex;flex-direction:column;gap:3px;font-size:10px;letter-spacing:.8px;font-weight:800;flex:1}.switch-name small{letter-spacing:.2px;font-size:10px;font-weight:400;color:var(--muted)}.toggle{height:17px;width:31px;flex-shrink:0;border:1px solid #5d696a;border-radius:99px;background:#313f40;position:relative;transition:background .15s}.toggle:after{content:'';position:absolute;width:11px;height:11px;background:#85918f;border-radius:50%;top:2px;left:2px;transition:transform .15s}.toggle.on{background:#527b66;border-color:#87af91}.toggle.on:after{background:#b9e6c2;transform:translateX(14px)}.range-group{padding:0 2px 15px}.range-group label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.9px;font-weight:750;color:#cfd6ce}.range-group output{color:var(--amber)}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:3px;margin:15px 0 9px;background:linear-gradient(90deg,#d88b50,#4b5b5c);accent-color:var(--amber)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#eeb77b;border:3px solid #26312f;box-shadow:0 0 0 1px #eeb77b;cursor:pointer}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:1px}.quality-row{padding:5px 2px 9px}.quality-row label{display:block;color:#b8c6bf;font-size:10px;font-weight:800;letter-spacing:.8px;margin-bottom:11px}.quality-row select{width:100%;height:34px;background:#1e2a2d;color:#f1d1ab;border:1px solid #425256;padding:0 8px;font-size:10px;letter-spacing:1px}.sidebar-footer{padding:12px 17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-footer button{border:1px solid #536563;background:#253335;color:#e5e3d7;font-size:9px;font-weight:750;letter-spacing:.9px;padding:9px 8px}.sidebar-footer button:hover{border-color:var(--amber)}.sidebar-footer button span{padding-right:4px;color:var(--amber)}.sidebar-footer>span{color:var(--muted);font-size:8px;white-space:nowrap}
.panel-copy{color:#a3aea7;line-height:1.6;font-size:11px;margin-top:-5px;margin-bottom:18px}.facility-list{display:flex;flex-direction:column;gap:4px}.facility-item{display:flex;gap:11px;padding:11px 10px;border:1px solid var(--line2);background:#1a282a;align-items:center;text-align:left;color:#edeae0}.facility-item:hover{border-color:#d29e65}.facility-item .icon{width:23px;height:23px;text-align:center;font-size:16px;color:var(--amber)}.facility-item span:last-child{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:750;letter-spacing:.6px}.facility-item small{color:#9caeaa;font-size:9px;font-weight:400;letter-spacing:.1px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-button{color:#c7d3cf;border:1px solid #4a5b5b;padding:12px 7px;background:#1c2c2f;font-weight:800;font-size:9px;letter-spacing:.6px}.action-button:hover,.action-button.active{border-color:var(--amber);color:var(--amber)}.telemetry-head{display:flex;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:.5px;color:var(--muted)}.telemetry-head strong{color:var(--green)}.large-readout{padding:22px 0 18px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--line)}.large-readout strong{font-family:Consolas,'Segoe UI',monospace;font-size:35px;font-weight:550;color:#f3bf84}.large-readout span{color:#aab9b2;letter-spacing:1.3px;font-size:9px}.telemetry-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 0}.telemetry-cards>div{padding:12px;background:#1c2a2c;border:1px solid #354747}.telemetry-cards small{display:block;color:#9caba8;font-size:9px;letter-spacing:.9px;margin-bottom:8px}.telemetry-cards strong{color:#eecb9b;font-size:15px;font-family:Consolas,monospace;font-weight:500}.event-log{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#a0b0ad}.event-log>div{line-height:1.6;padding:8px;border-left:2px solid #a87050;background:#1c2a2c}.event-log>div span{color:var(--amber);margin-right:8px}
.scene-label{position:absolute;left:380px;bottom:109px;z-index:3;pointer-events:none;text-shadow:0 2px 15px #0009}.chapter-tag{font-size:10px;font-weight:800;color:#f5cc8a;letter-spacing:2.6px}.scene-label strong{font-size:clamp(26px,3.6vw,52px);font-weight:800;line-height:1.00;letter-spacing:-1px;display:block;margin:15px 0}.scene-label strong span{color:#e89a58}.scene-label p{color:#dcd5c4;letter-spacing:1.9px;font-size:10px;line-height:1.8;font-weight:600}.right-stat{position:absolute;right:23px;top:97px;z-index:4;min-width:232px;background:rgba(12,23,26,.84);border:1px solid rgba(237,231,215,.16);box-shadow:0 8px 40px #0b0c1170}.right-top{padding:15px 15px 13px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.3px;font-weight:800;color:#d8ddd3}.red-dot{display:inline-block;width:6px;height:6px;background:#f58e57;border-radius:50%;margin-right:8px}.right-top-note{float:right;color:#8ba79e}.right-readouts{display:flex;flex-direction:column;padding:5px 15px}.right-readouts>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line2);padding:11px 0}.right-readouts>div:last-child{border:0}.right-readouts small{color:#94a59f;font-size:9px;letter-spacing:.8px;max-width:80px;line-height:1.4}.right-readouts strong{font-family:Consolas,'Segoe UI',monospace;color:#f1c38c;font-size:24px;font-weight:450}.right-readouts strong span{font-size:10px;color:#9eac9e;margin-left:4px}
.bottom-hud{position:absolute;bottom:0;left:0;right:0;height:51px;z-index:8;background:rgba(11,21,23,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 29px;color:#aab7b0;font-size:10px;letter-spacing:.9px}.compass{display:flex;gap:22px;position:relative;padding-bottom:9px;color:#adb7b0;font-size:9px}.compass span:nth-child(3){color:#f6ba7c}.compass-line{position:absolute;bottom:2px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#7d8c87,transparent)}.bottom-center{display:flex;gap:22px;align-items:center}.bottom-center .coordinate{color:#dcb58a;font-family:Consolas,monospace}.status{display:flex;align-items:center;gap:8px}.slash{color:#637674}.mini-map-wrap{position:absolute;right:22px;bottom:73px;z-index:4;background:rgba(12,24,26,.87);border:1px solid var(--line);box-shadow:0 14px 40px #07171d66;padding:7px 7px 9px}.mini-map-wrap canvas{width:230px;height:180px;display:block}.minimap-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;color:#dfc198;font-weight:700;padding:4px 5px 0}
.marker-layer{position:absolute;inset:0;z-index:5;pointer-events:none}.marker{position:absolute;background:rgba(16,33,35,.80);border:1px solid rgba(247,184,115,.85);padding:0;transform:translate(-50%,-50%);width:23px;height:23px;color:#ffd09a;font-size:12px;border-radius:50%;pointer-events:auto;box-shadow:0 0 0 5px #081b2030,0 0 14px #e7a36366}.marker:hover{transform:translate(-50%,-50%) scale(1.3);background:#995b37}.marker::after{content:'';position:absolute;top:22px;left:10px;height:12px;width:1px;background:rgba(250,198,146,.5)}.marker .marker-tooltip{opacity:0;pointer-events:none;position:absolute;bottom:29px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#121d20;color:#f8d0a0;font-size:9px;letter-spacing:.6px;padding:7px 9px;border:1px solid #c69a69}.marker:hover .marker-tooltip{opacity:1}.inspect-card{z-index:9;position:absolute;right:22px;bottom:289px;width:265px;padding:15px 18px;background:rgba(11,23,26,.95);border:1px solid #ba8656}.inspect-head{font-size:9px;letter-spacing:1.1px;color:var(--amber);font-weight:800}.inspect-head span{font-size:16px;margin-right:6px}.inspect-head button{float:right;background:transparent;border:0;color:#e3c9b1;font-size:20px;margin-top:-7px}.inspect-card h2{font-size:19px;letter-spacing:.3px;margin:15px 0 8px}.inspect-card p{color:#b2c2b5;line-height:1.65;font-size:11px}.inspect-card>button{width:100%;padding:12px;background:#a8673c;border:0;color:white;font-size:10px;font-weight:800;letter-spacing:1px;margin-top:8px}
.toast{position:absolute;top:90px;left:50%;transform:translateX(-50%);z-index:30;background:#15282a;border:1px solid #c99163;color:#eed9ba;box-shadow:0 12px 40px #08191fa3;padding:14px 25px;font-weight:750;letter-spacing:.8px;font-size:11px}.toast-dot{color:#edb56e;margin-right:9px}.hidden{display:none!important}
.intro{position:absolute;left:50%;top:50%;transform:translate(-26%,-50%);z-index:7;width:min(550px,50vw);pointer-events:none;transition:opacity .4s,transform .4s}.intro.done{opacity:0;transform:translate(-24%,-45%)}.intro-inner{pointer-events:auto;padding:32px 38px;background:linear-gradient(110deg,rgba(12,25,29,.91),rgba(17,28,30,.64));border-left:3px solid var(--amber);box-shadow:0 25px 100px #080f13a5;backdrop-filter:blur(11px)}.intro-label{font-size:9px;letter-spacing:2.3px;color:#f0b985;font-weight:800}.intro h2{font-size:clamp(30px,3.5vw,52px);letter-spacing:-1.3px;line-height:.95;margin:19px 0 16px;font-weight:850}.intro h2 em{font-weight:350;font-style:normal;color:#ecae6f}.intro p{color:#c6d0c5;line-height:1.6;font-size:12px;max-width:350px}.intro button{margin:17px 0 20px;background:#c07b49;color:#101819;border:none;padding:14px 19px;font-size:10px;letter-spacing:1.4px;font-weight:850}.intro button span{padding-left:27px}.intro button:hover{background:#f2b477}.intro small{display:block;letter-spacing:1px;color:#a8b9ae;font-size:9px}.error{position:absolute;z-index:100;inset:20px;background:#160f0f;color:#f9ded1;padding:35px;white-space:pre-wrap;font-family:Consolas,monospace}
@media(max-width:1080px){.top-centre{display:none}.sidebar{width:275px}.scene-label{left:320px}.scene-label strong{font-size:33px}.right-stat{min-width:185px}.mini-map-wrap canvas{width:190px;height:160px}.mini-map-wrap{bottom:72px}.bottom-center{gap:7px}}
@media(max-width:750px){.topbar{padding:0 13px;height:58px}.brand{min-width:0}.brand img{width:27px}.logotype{font-size:13px}.brand-text small{font-size:7px;letter-spacing:1px}.top-actions .website{display:none}.top-actions{gap:4px}.icon-button{min-width:29px;width:29px;height:30px}.sidebar{top:70px;left:8px;bottom:63px;width:240px;max-height:calc(100% - 160px)}.sidebar-heading{padding:13px}.sidebar h1{font-size:16px}.sidebar-serial{font-size:23px}.tab-panel{padding:13px}.switch-row{padding:7px 0}.scene-label{display:none}.right-stat{display:none}.mini-map-wrap{right:8px;bottom:64px}.mini-map-wrap canvas{width:145px;height:128px}.intro{width:calc(100vw - 270px);left:auto;right:10px;transform:translateY(-50%)}.intro-inner{padding:19px 14px}.intro h2{font-size:25px}.intro p{font-size:10px}.intro small{display:none}.bottom-hud{padding:0 10px;height:52px}.bottom-center,.compass{display:none}.marker{width:19px;height:19px}.inspect-card{right:8px;bottom:225px;width:210px}.website{display:none}}
