:root{--sk-bg:#f0efed;--sk-toolbar-bg:#393d3f;--sk-toolbar-hover:#4e5457;--sk-toolbar-active:#1a9fdc;--sk-toolbar-border:#2a2d2f;--sk-tray-bg:#fff;--sk-tray-border:#d8d8d8;--sk-tray-header:#ebebeb;--sk-tray-header-hover:#dedede;--sk-panel-content:#fafafa;--sk-text:#333;--sk-text-muted:#666;--sk-text-light:#999;--sk-accent:#1a9fdc;--sk-accent-hover:#1588bb;--sk-green:#5cb85c;--sk-danger:#d9534f;--sk-topbar-bg:#f7f7f7;--sk-topbar-border:#ccc;--sk-bottombar-bg:#f5f5f5;--sk-bottombar-border:#c8c8c8;--sk-grid:#d4d0cb;--sk-axis-red:#c33;--sk-axis-green:#393;--sk-axis-blue:#33c;--tray-width:256px;--toolbar-width:50px;--topbar-height:40px;--bottombar-height:28px;--font:"Open Sans", "Segoe UI", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body,html,#root{width:100%;height:100%;font-family:var(--font);color:var(--sk-text);background:var(--sk-bg);font-size:13px;overflow:hidden}.sk-layout{grid-template-areas:"topbar topbar topbar""toolbar canvas tray""bottombar bottombar bottombar";grid-template-rows:var(--topbar-height) 1fr var(--bottombar-height);grid-template-columns:var(--toolbar-width) 1fr var(--tray-width);width:100vw;height:100vh;display:grid}.sk-topbar{background:var(--sk-topbar-bg);border-bottom:1px solid var(--sk-topbar-border);z-index:100;-webkit-user-select:none;user-select:none;grid-area:topbar;align-items:center;gap:4px;padding:0 8px;display:flex}.sk-topbar-brand{color:var(--sk-text);flex:1;padding:0 8px;font-size:13px;font-weight:700}.sk-topbar-btn{cursor:pointer;height:28px;color:var(--sk-text);white-space:nowrap;background:0 0;border:none;border-radius:3px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:flex}.sk-topbar-btn:hover{background:var(--sk-tray-border)}.sk-topbar-sep{background:var(--sk-topbar-border);width:1px;height:20px;margin:0 4px}.sk-topbar-btn:disabled{opacity:.4;cursor:not-allowed}.sk-mode-selector{border:1px solid var(--sk-tray-border);border-radius:4px;flex-shrink:0;display:flex;overflow:hidden}.sk-mode-btn{border:none;border-right:1px solid var(--sk-tray-border);cursor:pointer;height:24px;font-size:12px;font-family:var(--font);color:var(--sk-text-muted);white-space:nowrap;background:0 0;padding:0 12px;font-weight:500}.sk-mode-btn:last-child{border-right:none}.sk-mode-btn:hover{background:var(--sk-tray-border);color:var(--sk-text)}.sk-mode-btn.active{background:var(--sk-accent);color:#fff}.sk-units-badge{color:var(--sk-accent);letter-spacing:.03em;padding:0 4px;font-size:11px;font-weight:700}.sk-menu{border:1px solid var(--sk-tray-border);z-index:1000;background:#fff;border-radius:4px;flex-direction:column;min-width:190px;padding:4px;display:flex;position:absolute;top:30px;left:0;box-shadow:0 4px 14px #00000024}.sk-menu-item{cursor:pointer;color:var(--sk-text);text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.sk-menu-item:hover{background:var(--sk-canvas-bg,#eef2f6)}.sk-menu-sep{background:var(--sk-tray-border);height:1px;margin:4px 6px}.sk-toolbar{background:var(--sk-toolbar-bg);border-right:1px solid var(--sk-toolbar-border);z-index:90;flex-direction:column;grid-area:toolbar;align-items:center;gap:1px;padding:6px 0;display:flex;overflow:hidden auto}.sk-tool-btn{color:#d0d0d0;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .1s,color .1s;display:flex;position:relative}.sk-tool-btn:hover{background:var(--sk-toolbar-hover);color:#fff}.sk-tool-btn.active{background:var(--sk-toolbar-active);color:#fff}.sk-tool-btn.placeholder{opacity:.35;cursor:not-allowed}.sk-tool-sep{background:var(--sk-toolbar-border);flex-shrink:0;width:32px;height:1px;margin:4px 0}.sk-tool-label{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:999;background:#222;border-radius:3px;padding:3px 8px;font-size:11px;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.sk-tool-btn:hover .sk-tool-label{opacity:1}.sk-canvas{background:var(--sk-bg);grid-area:canvas;position:relative;overflow:hidden}.sk-tray{background:var(--sk-tray-bg);border-left:1px solid var(--sk-tray-border);z-index:90;flex-direction:column;grid-area:tray;display:flex;overflow:hidden auto}.sk-panel{border-bottom:1px solid var(--sk-tray-border);flex-shrink:0}.sk-panel-header{background:var(--sk-tray-header);border-bottom:1px solid var(--sk-tray-border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.sk-panel-header:hover{background:var(--sk-tray-header-hover)}.sk-panel-body{background:var(--sk-panel-content);padding:8px 10px;font-size:12px}.sk-ei-row{align-items:center;gap:8px;padding:2px 0;display:flex}.sk-ei-label{color:var(--sk-text-muted);min-width:60px;font-size:11px}.sk-ei-value{border:1px solid var(--sk-tray-border);background:#fff;border-radius:2px;flex:1;padding:1px 5px;font-family:monospace;font-size:11px}.sk-ei-value:focus{border-color:var(--sk-accent);outline:none}.sk-ei-editable{cursor:text}.sk-ei-editable:hover{border-color:var(--sk-accent);background:#f0f8ff}.sk-ei-edit{border:1px solid var(--sk-accent);background:#fff;border-radius:2px;outline:none;flex:1;padding:1px 5px;font-family:monospace;font-size:11px}.sk-outliner-scroll{max-height:200px;overflow-y:auto}.sk-outliner-item{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--sk-text);border-radius:2px;align-items:center;gap:5px;padding:3px 6px;font-size:12px;display:flex}.sk-outliner-item:hover{background:#e8f4fb}.sk-outliner-item.selected{background:var(--sk-accent);color:#fff}.sk-outliner-empty{color:var(--sk-text-light);padding:4px 0;font-size:11px;font-style:italic}.sk-ai-scroll{flex-direction:column;gap:6px;max-height:280px;padding-bottom:4px;display:flex;overflow-y:auto}.sk-ai-msg{border-radius:4px;padding:5px 8px;font-size:11px;line-height:1.4}.sk-ai-msg.ai{color:var(--sk-text);background:#eef6fc}.sk-ai-msg.user{background:var(--sk-accent);color:#fff;align-self:flex-end;max-width:90%}.sk-ai-input-row{gap:4px;margin-top:6px;display:flex}.sk-ai-input{border:1px solid var(--sk-tray-border);font-size:11px;font-family:var(--font);background:#fff;border-radius:3px;outline:none;flex:1;padding:4px 7px}.sk-ai-input:focus{border-color:var(--sk-accent)}.sk-ai-send{background:var(--sk-accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:4px 10px;font-size:11px}.sk-ai-send:hover{background:var(--sk-accent-hover)}.sk-settings-row{flex-direction:column;gap:3px;margin-bottom:8px;display:flex}.sk-settings-label{color:var(--sk-text-muted);font-size:11px;font-weight:600}.sk-settings-input,.sk-settings-select{border:1px solid var(--sk-tray-border);font-size:11px;font-family:var(--font);background:#fff;border-radius:3px;outline:none;width:100%;padding:4px 7px}.sk-settings-input:focus,.sk-settings-select:focus{border-color:var(--sk-accent)}.sk-bottombar{background:var(--sk-bottombar-bg);border-top:1px solid var(--sk-bottombar-border);z-index:100;-webkit-user-select:none;user-select:none;grid-area:bottombar;align-items:center;gap:12px;padding:0 10px;display:flex}.sk-status{color:var(--sk-text-muted);flex:1;font-size:11px}.sk-measurements{border:1px solid var(--sk-bottombar-border);background:#fff;border-radius:2px;align-items:center;gap:6px;padding:1px 6px;display:flex}.sk-measurements-label{color:var(--sk-text-muted);white-space:nowrap;font-size:11px}.sk-measurements-input{text-align:right;background:0 0;border:none;outline:none;width:90px;padding:1px 0;font-family:monospace;font-size:12px}.sk-units-select{color:var(--sk-text-muted);cursor:pointer;appearance:none;text-align:center;background:0 0;border:none;outline:none;width:26px;padding:0;font-family:inherit;font-size:11px}.sk-units-select:hover{color:var(--sk-text)}.sk-sel-box{pointer-events:none;z-index:50;position:absolute}.sk-sel-box.window{background:#1a9fdc0f;border:1px solid #1a9fdc}.sk-sel-box.crossing{background:#2aaa2a0f;border:1px dashed #2a2}.sk-cursor-label{color:#fff;pointer-events:none;z-index:200;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#000000bd;border-radius:3px;padding:3px 8px 4px;font-size:11px;line-height:1.55;position:absolute}.sk-cursor-measurement{font-family:monospace;font-size:12px;font-weight:600}.sk-cursor-inference{opacity:.92;font-size:10px}.sk-dim-label{color:#15c;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background:#ffffffeb;border:1px solid #15c;border-radius:2px;padding:1px 6px;font-family:monospace;font-size:11px;font-weight:600}.sk-tool-hint{color:#fff;pointer-events:none;z-index:200;white-space:nowrap;background:#000000b8;border-radius:10px;padding:4px 12px;font-size:11px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}.sk-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sk-modal{background:#fff;border-radius:6px;width:420px;max-width:95vw;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.sk-modal-header{background:var(--sk-tray-header);border-bottom:1px solid var(--sk-tray-border);justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:700;display:flex}.sk-modal-body{flex-direction:column;gap:16px;padding:18px;display:flex}.sk-modal-section-title{text-transform:uppercase;color:var(--sk-text-muted);letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:700}.sk-btn{border:1px solid var(--sk-tray-border);background:var(--sk-tray-header);font-size:12px;font-family:var(--font);cursor:pointer;color:var(--sk-text);border-radius:3px;padding:6px 14px}.sk-btn:hover{background:var(--sk-tray-border)}.sk-btn.primary{background:var(--sk-accent);color:#fff;border-color:var(--sk-accent-hover)}.sk-btn.primary:hover{background:var(--sk-accent-hover)}.sk-btn.danger{background:var(--sk-danger);color:#fff;border-color:#c9302c}.sk-toolbar--wide{align-items:stretch;width:100%;min-width:0;padding:0}.sk-bmap-list{flex:1;overflow-y:auto}.sk-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
