:root{color:#e5eefc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#081521;font-family:Inter,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,select,input{font:inherit}h1,p{margin:0}.card{background:#0a1420e6;border:1px solid #91b5ff33;border-radius:12px;box-shadow:0 18px 40px #02071242}.app-shell{flex-direction:column;gap:10px;height:100dvh;padding:10px;display:flex}.topbar{flex:none;align-items:center;gap:16px;display:flex}.top-toolbar{z-index:5;background:#0a1420e6;border:1px solid #91b5ff33;border-radius:12px;flex-direction:column;flex:none;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 18px 40px #02071242}.top-toolbar-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.toolbar-field{flex-direction:column;gap:4px;min-width:90px;display:flex}.toolbar-field label{color:#9db8de;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:600}.toolbar-field input,.toolbar-field select{color:#ebf3ff;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;width:100%;padding:6px 8px;font-size:.8rem}.toolbar-field input:disabled{opacity:.6}.toolbar-stepper{align-items:center;gap:4px;display:flex}.toolbar-stepper input{text-align:center}.toolbar-stepper button{color:#ebf3ff;cursor:pointer;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;flex:none;width:26px;height:30px;font-size:1rem}.toolbar-search{flex:220px;min-width:200px;position:relative}.toolbar-search-status{color:#9db8de;font-size:.68rem;position:absolute;top:30px;right:8px}.toolbar-search-results{z-index:6;background:#0a1420fa;border:1px solid #92b5ff47;border-radius:8px;max-height:220px;margin-top:2px;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.toolbar-search-results button{text-align:left;color:#ebf3ff;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:6px 8px;font-size:.78rem;display:block}.toolbar-search-results button:hover{background:#7cc7ff26}.toolbar-toggle{color:#ebf3ff;cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.topbar h1{letter-spacing:-.03em;white-space:nowrap;font-size:1.2rem;font-weight:800}.loading-indicator{color:#7cc7ff;font-size:.75rem}.loading-indicator.area-warning{color:#f0b429;font-weight:600}.layer-settings{color:#b9cbe6;flex-direction:column;gap:6px;padding:8px 8px 10px 26px;font-size:.74rem;display:flex}.layer-setting-row{cursor:default;align-items:center;gap:8px;display:flex}.layer-setting-row>span{color:#8fa9cc;flex:0 0 84px}.layer-setting-row input[type=range]{accent-color:#7cc7ff;flex:auto;min-width:0}.layer-setting-row input[type=color]{background:0 0;border:1px solid #92b5ff47;border-radius:4px;width:28px;height:20px;padding:0}.layer-setting-row select{color:#ebf3ff;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:6px;flex:auto;padding:2px 4px;font-size:.74rem}.layer-setting-row em{text-align:right;color:#8fa9cc;flex:0 0 34px;font-style:normal}.layer-setting-reset{color:#9db8de;cursor:pointer;background:0 0;border:1px solid #92b5ff47;border-radius:6px;align-self:flex-start;padding:2px 8px;font-size:.7rem}.layer-setting-reset:hover{color:#ebf3ff;border-color:#92b5ff8c}.error-banner{color:#ffd2d2;border-color:#ff787866;padding:10px 14px}.mode-panel{background:#0d1a26bf;border:1px solid #92b5ff2e;border-radius:10px;gap:4px;padding:3px;display:flex}.mode-button{color:#9db8de;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:.8rem;font-weight:600}.mode-button:hover{color:#ebf3ff}.mode-button.active{color:#7cc7ff;background:#7cc7ff2e}.workspace{flex:auto;grid-template-columns:260px 1fr 280px;gap:10px;min-height:0;display:grid}.map-canvas-wrap{border-radius:12px;min-width:0;min-height:0;position:relative;overflow:hidden}.map-canvas-container{width:100%;height:100%}.map-canvas-container svg{touch-action:none;display:block}.layers-panel{flex-direction:column;gap:8px;min-height:0;padding:12px;display:flex}.layers-panel-header{flex:none;justify-content:space-between;align-items:center;display:flex}.erase-tool-button{color:#ebf3ff;cursor:pointer;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;padding:5px 10px;font-size:.75rem}.erase-tool-button.active{color:#fecaca;background:#ef444440;border-color:#ef44448c}.layers-panel-body{flex:auto;min-height:0;overflow-y:auto}.layer-group+.layer-group{margin-top:12px}.layer-group-label{text-transform:uppercase;letter-spacing:.06em;color:#6f8bb3;margin-bottom:4px;font-size:.68rem}.layer-row-wrap{border-radius:6px}.layer-row-wrap:has(.layer-settings){background:#7cc7ff0f}.layer-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:.8rem;display:flex}.layer-row:hover{background:#7cc7ff1a}.layer-row-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.layer-settings-btn{color:#6f8bb3;cursor:pointer;opacity:.55;background:0 0;border:none;flex:none;padding:2px 4px;font-size:.82rem;line-height:1;transition:opacity .12s,color .12s}.layer-row:hover .layer-settings-btn{opacity:1}.layer-settings-btn.active,.layer-settings-btn.customised{opacity:1;color:#7cc7ff}.layer-row input{accent-color:#7cc7ff;flex:none}.layer-swatch{border-radius:3px;flex:none;width:10px;height:10px}.layer-swatch-label{width:auto;height:auto;font-size:.6rem;font-weight:800;line-height:1}.legend-widget{z-index:500;max-width:220px;max-height:40%;padding:10px 12px;position:absolute;bottom:10px;left:10px;overflow-y:auto}.legend-widget strong{font-size:.8rem}.legend-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.legend-row{color:#cfe3ff;align-items:center;gap:6px;font-size:.72rem;display:flex}.legend-swatch{border-radius:2px;flex:none;width:9px;height:9px}.legend-swatch-label{width:auto;height:auto;font-size:.6rem;font-weight:800;line-height:1}.legend-line{border-radius:2px;flex:none;width:14px;height:3px}.export-panel{flex-direction:column;gap:10px;padding:12px;display:flex;overflow-y:auto}.export-flow-header{flex-direction:column;gap:6px;display:flex}.export-step-pills{color:#6f8fb8;flex-wrap:wrap;align-items:center;gap:6px;font-size:.68rem;display:flex}.export-step-pills span.active{color:#7cc7ff;font-weight:700}.export-step-arrow{opacity:.55}.export-step-link{color:#6f8fb8;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:.68rem}.export-step-link:hover{color:#7cc7ff;text-decoration:underline}.export-field{flex-direction:column;gap:4px;display:flex}.export-field label{color:#9db8de;font-size:.72rem;font-weight:600}.export-field select,.export-field input{color:#ebf3ff;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;padding:6px 8px;font-size:.8rem}.export-field-row{align-items:center;gap:6px;display:flex}.export-field-row input{color:#ebf3ff;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;width:70px;padding:6px 8px}.segmented-mini{gap:4px;display:flex}.segmented-mini button{color:#9db8de;cursor:pointer;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;flex:auto;padding:6px 8px;font-size:.75rem}.segmented-mini button.active{color:#7cc7ff;background:#7cc7ff2e;border-color:#7cc7ff80}.hint-text{color:#8aa9d4;font-size:.68rem;line-height:1.4}.format-detail{background:#0d1a2673;border:1px solid #92b5ff2e;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.format-detail-title{color:#ebf3ff;margin:0;font-size:.8rem;font-weight:700}.license-cards{flex-direction:column;gap:6px;display:flex}.license-card{text-align:left;color:#ebf3ff;cursor:pointer;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;display:grid}.license-card-title{font-size:.78rem;font-weight:700}.license-card-meta{color:#8aa9d4;grid-column:1;font-size:.66rem}.license-card-price{color:#7cc7ff;grid-area:1/2/span 2;align-self:center;font-size:.78rem;font-weight:700}.license-card.active{background:#7cc7ff29;border-color:#7cc7ff8c}.license-card:hover{border-color:#92b5ff80}.export-button{color:#ebf3ff;cursor:pointer;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:10px;padding:10px 12px;font-size:.85rem;font-weight:600}.export-button-primary{color:#ebf3ff;background:linear-gradient(#7cc7ff47,#7cc7ff1f);border-color:#7cc7ff8c}.export-button:hover:not(:disabled){border-color:#92b5ff8c}.export-nav-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.export-nav-back{color:#9db8de;cursor:pointer;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;padding:5px 10px;font-size:.75rem;font-weight:600}.export-nav-back:hover{color:#ebf3ff;border-color:#92b5ff8c}.checkout-summary{background:#0d1a2680;border:1px solid #92b5ff38;border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.checkout-price{color:#7cc7ff;margin:4px 0 0;font-size:1.15rem;font-weight:800}.buy-panel{background:#7cc7ff0f;border:1px solid #7cc7ff4d;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.buy-panel label{color:#9db8de;flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;display:flex}.buy-panel input{color:#ebf3ff;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;padding:6px 8px;font-size:.8rem;font-weight:400}.error-text{color:#ff8a8a}.export-button:disabled{opacity:.5;cursor:default}.checkout-watermark-overlay{z-index:5;pointer-events:none;background:#080e181f;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.checkout-watermark-grid{grid-template-columns:repeat(3,1fr);gap:28px 18px;width:100%;padding:24px;display:grid;transform:rotate(-28deg)scale(1.15)}.checkout-watermark-grid span{text-align:center;letter-spacing:.04em;color:#141c2838;text-shadow:0 0 1px #ffffff59;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:clamp(.85rem,2.2vw,1.35rem);font-weight:800}.checkout-watermark-caption{color:#ebf3ff;white-space:nowrap;background:#0a1420c7;border:1px solid #92b5ff59;border-radius:999px;margin:0;padding:6px 12px;font-size:.72rem;font-weight:600;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.basket-lines{flex-direction:column;gap:8px;display:flex}.basket-line{background:#0d1a2673;border:1px solid #92b5ff33;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.basket-line-main{color:#ebf3ff;flex-direction:column;gap:2px;font-size:.78rem;display:flex}.basket-line-price{color:#7cc7ff;font-weight:700}.basket-remove{color:#ff8a8a;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.68rem}.basket-total-row{color:#ebf3ff;justify-content:space-between;align-items:center;padding:8px 2px;font-size:.9rem;display:flex}.basket-actions{flex-direction:column;gap:6px;display:flex}.checkout-modal-backdrop{z-index:1000;background:#040a12b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.checkout-modal{background:#0c1826;border:1px solid #92b5ff59;border-radius:16px;width:min(420px,100%);max-height:min(90vh,720px);overflow:auto;box-shadow:0 24px 64px #0000008c}.checkout-modal-header{border-bottom:1px solid #92b5ff33;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.checkout-modal-header h2{color:#ebf3ff;margin:0;font-size:1.05rem}.checkout-modal-close{color:#9db8de;cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.checkout-modal-body{flex-direction:column;gap:12px;padding:14px 16px 18px;display:flex}.checkout-modal-lines{flex-direction:column;gap:8px;display:flex}.checkout-modal-line{color:#ebf3ff;justify-content:space-between;gap:10px;font-size:.8rem;display:flex}.checkout-modal-line-price{color:#7cc7ff;white-space:nowrap;font-weight:700}.checkout-modal-totals{border-top:1px solid #92b5ff33;flex-direction:column;gap:4px;padding-top:8px;display:flex}.checkout-modal-total-row{color:#9db8de;justify-content:space-between;font-size:.8rem;display:flex}.checkout-modal-total-final{color:#ebf3ff;font-size:1rem;font-weight:800}.checkout-modal-field{color:#9db8de;flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;display:flex}.checkout-modal-field input{color:#ebf3ff;background:#0d1a26bf;border:1px solid #92b5ff47;border-radius:8px;padding:8px 10px;font-size:.85rem;font-weight:400}@media (width<=900px){.workspace{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}}
