:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f7fbff;--arkoma-navy:#001528;--arkoma-navy-deep:#00103a;--arkoma-blue:#00509b;--arkoma-blue-deep:#00296b;--arkoma-orange:#f75432;--arkoma-yellow:#fdc500;--panel:#001528f0;--panel-soft:#00296bc7;--line:#ffffff2e;--accent:#f75432;--accent-strong:#ff755a;--danger:#ff8d86;background:#001528;font-family:Poppins,Segoe UI Variable,Segoe UI,system-ui,sans-serif}@font-face{font-family:Poppins;src:url(../fonts/Poppins-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(../fonts/Poppins-Medium.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url(../fonts/Poppins-SemiBold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(../fonts/Poppins-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}*{box-sizing:border-box}html,body,#app,#view{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 52% 35%,#315f78 0,#133d55 42%,#001528 100%)}#view{position:absolute;inset:0}#view canvas{outline:none;display:block}.terrain-contour-labels{z-index:6;pointer-events:none;position:fixed;inset:0;overflow:hidden}.terrain-contour-label{color:#f7fbff;white-space:nowrap;transform-origin:50%;text-shadow:0 1px 1px #001528;background:#001528d1;border:1px solid #e6f1f780;border-radius:3px;padding:1px 4px;font-size:10px;font-weight:500;line-height:1.15;display:inline-block;position:fixed;box-shadow:0 1px 3px #00000057}.topbar{z-index:10;border-bottom:2px solid var(--arkoma-orange);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#00103afa,#001528ed);align-items:center;gap:16px;min-height:86px;padding:8px 16px 10px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 5px 24px #00103a47}.brand{flex:1;align-items:center;gap:12px;min-width:350px;display:flex}.logo-panel{background:#fff;border-radius:8px;flex:0 0 185px;justify-content:center;align-items:center;width:185px;height:70px;padding:2px 6px;display:flex;overflow:hidden;box-shadow:0 2px 9px #0003}.arkoma-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-divider{background:var(--arkoma-orange);border-radius:2px;flex:0 0 2px;width:2px;height:54px}.project-copy{min-width:0}.title{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.subtitle{color:#c8d9eb;letter-spacing:.015em;margin-top:1px;font-size:10.5px}.modes{gap:6px;display:flex}button{appearance:none;border:1px solid var(--line);color:#f5f9fc;font:inherit;cursor:pointer;background:#00509b52;border-radius:7px;padding:7px 12px;font-size:13px}button:hover{background:#00509b8f;border-color:#f75432c7}button.active{color:#fff;background:var(--arkoma-orange);border-color:var(--accent-strong);font-weight:600;box-shadow:0 2px 9px #f754323d}button:disabled{opacity:.42;cursor:default}.toolbar{gap:6px;display:flex}.icon-button{min-width:38px;padding:7px 9px}.quality-control{color:#c8d9eb;align-items:center;gap:6px;font-size:11px;display:flex}.quality-control select{appearance:none;border:1px solid var(--line);color:#f5f9fc;min-width:92px;font:inherit;cursor:pointer;background-color:#00296bb8;background-image:linear-gradient(45deg,#0000 50%,#c8d9eb 50%),linear-gradient(135deg,#c8d9eb 50%,#0000 50%);background-position:calc(100% - 12px),calc(100% - 8px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:7px;padding:7px 24px 7px 9px;font-size:12px}.quality-control select:focus{outline:1px solid var(--arkoma-orange)}.status-card{z-index:9;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;max-width:min(430px,100vw - 28px);padding:10px 12px;font-size:12px;line-height:1.4;position:absolute;bottom:14px;left:14px;box-shadow:0 6px 26px #0000003d}.status-card.hidden{display:none}.status-line{justify-content:space-between;gap:18px;display:flex}.status-label{color:#9fb1ba}.progress{background:#ffffff21;border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.progress>div{background:linear-gradient(90deg, var(--arkoma-blue), var(--arkoma-orange));width:3%;height:100%;transition:width .2s}.error{z-index:20;background:#1e1212f7;border:1px solid #ff8d868c;border-radius:10px;width:min(640px,100vw - 40px);padding:22px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 18px 60px #00000080}.error h2{color:var(--danger);margin:0 0 8px;font-size:19px}.error p{color:#f1d9d7;white-space:pre-wrap;margin:0;line-height:1.5}.help{z-index:15;border:1px solid var(--line);background:var(--panel);border-radius:9px;width:310px;padding:14px;font-size:12px;line-height:1.45;position:absolute;top:72px;right:14px;box-shadow:0 12px 42px #00000057}.help.hidden{display:none}.help h3{margin:0 0 8px;font-size:15px}.help p{color:#c8d5db;margin:6px 0}.help-provider{border-top:1px solid var(--line);padding-top:10px;font-weight:500;color:#ff9a82!important;margin-top:13px!important}.viewer-notice{z-index:1000;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:radial-gradient(circle at 50% 28%,#00509b57,#0000 46%),#000d20eb;place-items:center;padding:24px;transition:opacity .2s,visibility .2s;display:grid;position:fixed;inset:0}.viewer-notice.accepted{opacity:0;visibility:hidden;pointer-events:none}.notice-card{background:linear-gradient(155deg,#00296bfa,#001528fc 65%);border:1px solid #fff3;border-radius:14px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:28px 34px 30px;position:relative;overflow-y:auto;box-shadow:0 28px 100px #0000009e}.notice-accent{background:linear-gradient(90deg, var(--arkoma-orange), var(--arkoma-yellow), var(--arkoma-blue));border-radius:14px 14px 0 0;height:6px;position:absolute;inset:0 0 auto}.notice-logo{object-fit:contain;background:#fff;border-radius:9px;width:min(300px,76%);height:88px;margin:0 auto 19px;padding:8px 16px;display:block}.notice-card h2{text-align:center;letter-spacing:.01em;margin:0 0 15px;font-size:24px}.notice-card p{color:#dce9f6;margin:11px 0;font-size:13.5px;line-height:1.62}.notice-accept{background:var(--arkoma-orange);color:#fff;border-color:#ff8c73;width:min(360px,100%);margin:22px auto 0;padding:12px 18px;font-weight:600;display:block;box-shadow:0 8px 24px #f7543247}.notice-accept:hover{background:#ff6848;border-color:#ffc0b1}.control-panel{z-index:18;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:11px;width:min(390px,100vw - 28px);max-height:calc(100vh - 116px);position:absolute;top:98px;right:70px;overflow:hidden;box-shadow:0 16px 54px #0000006b}.control-panel.hidden{display:none}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 14px 10px;display:flex}.panel-heading strong{font-size:15px;display:block}.panel-heading span{color:#aebfd0;margin-top:1px;font-size:10.5px;display:block}.panel-close{width:31px;height:31px;padding:0;font-size:21px;line-height:1}.panel-tabs{grid-template-columns:repeat(2,1fr);gap:5px;padding:8px 10px 0;display:grid}.panel-tab{padding:7px 5px;font-size:11.5px}.panel-section{max-height:calc(100vh - 210px);padding:12px 14px 15px;overflow-y:auto}.panel-section.hidden{display:none}.panel-help{color:#c5d5e3;margin:0 0 11px;font-size:11px;line-height:1.45}.panel-note{border-top:1px solid var(--line);color:#96abc0;margin:11px 0 0;padding-top:9px;font-size:10.5px;line-height:1.45}.measure-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.measure-grid button{min-height:40px}.panel-actions{gap:7px;margin-top:9px;display:flex}.panel-actions button{flex:1}.secondary{background:#ffffff0f}.wide-button{width:100%;margin-top:10px}.control-row{color:#d9e6f0;border-bottom:1px solid #ffffff14;grid-template-columns:minmax(110px,1fr) minmax(112px,1.15fr);align-items:center;gap:10px;min-height:39px;font-size:11.5px;display:grid}.control-row select,.control-row input[type=color]{border:1px solid var(--line);color:#fff;background:#00296bb8;border-radius:6px;width:100%;min-height:29px}.control-row input[type=color]{cursor:pointer;padding:2px}.range-row{grid-template-columns:minmax(105px,.9fr) 1.2fr 48px}.range-row input[type=range]{width:100%;accent-color:var(--arkoma-orange)}.range-row output{color:#ff9d87;text-align:right;font-size:10.5px}.checkbox-row input{width:18px;height:18px;accent-color:var(--arkoma-orange);justify-self:end}.measure-toolbar{z-index:19;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:11px;flex-direction:column;gap:6px;padding:7px;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%);box-shadow:0 12px 38px #00000061}.measure-toolbar button{place-items:center;width:42px;height:42px;padding:8px;display:grid}.measure-toolbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;overflow:visible}.measure-toolbar svg circle{fill:var(--panel)}.measure-toolbar button.active{background:var(--arkoma-orange);color:#fff}.measure-toolbar-divider{background:var(--line);height:1px;margin:2px 4px;display:block}.measure-disclaimer{z-index:24;color:#fff;background:#480507f5;border:2px solid #ff4b43;border-radius:8px;width:min(500px,100vw - 28px);padding:10px 12px;font-size:10.5px;line-height:1.42;position:absolute;bottom:14px;right:14px;box-shadow:0 10px 34px #0000006b}.measure-disclaimer.hidden{display:none}.measure-disclaimer strong{color:#ff9c96;letter-spacing:.025em;font-size:11px;display:block}.measure-disclaimer p{margin:5px 0 0}@media (max-width:980px){.topbar{flex-wrap:wrap;height:auto}.brand{flex-basis:100%}.modes{flex:1;overflow-x:auto}.quality-control span{display:none}button{white-space:nowrap}}@media (max-width:620px){.logo-panel{flex-basis:136px;width:136px;height:54px}.subtitle{display:none}.topbar{padding-inline:9px}.notice-card{padding:23px 20px 24px}.notice-card h2{font-size:20px}.control-panel{top:132px}}
