:root{--bg:#fff;--panel:#f4f5f6;--panel-2:#e9ecef;--border:#dde1e6;--text:#212529;--muted:#6b7280;--brand:#003865;--accent:#0072ce;--accent-soft:#dcebf8;--warn:#d9660e;--cta:#f47920;--bad:#d64545;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}button,select,input{font:inherit;color:inherit}#app{grid-template-rows:auto auto auto 1fr auto;grid-template-columns:minmax(0,1fr);height:100%;display:grid}.bar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:6px;min-height:34px;padding:4px 8px;display:flex}#topbar{background:var(--brand);border-bottom-color:var(--brand);color:#fff}.brand{color:var(--cta);letter-spacing:.08em;white-space:nowrap;-webkit-user-select:none;user-select:none;margin:0 10px 0 4px;font-size:15px;font-weight:700}#topbar .tool-button:hover{background:#ffffff1f;border-color:#ffffff4d}#topbar .tool-button.active{color:#fff;background:#ffffff38;border-color:#ffffffb3}#options{background:var(--bg);min-height:32px}.options-style{background:var(--bg);border:1px solid var(--border);border-radius:4px;margin-left:8px;padding:3px 6px}#block-edit{background:var(--panel-2);border-bottom:2px solid var(--accent)}#block-edit span{margin-right:8px}.options-tool{min-width:4em;margin-right:8px;font-weight:600}.option-button{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:4px;padding:3px 10px}.option-button:disabled{opacity:.4;cursor:default}.option-button:not(:disabled):hover{border-color:var(--accent)}#main{grid-template-columns:1fr 300px;min-height:0;display:grid}#main.side-hidden{grid-template-columns:1fr}#main.side-hidden #side{display:none}#toolbar{flex-wrap:wrap;gap:4px}.toolbar-group{border-right:1px solid var(--border);align-items:stretch;padding-right:4px;display:flex}.toolbar-row-break{flex-basis:100%;height:0}.toolbar-body{flex-direction:column;align-items:center;display:flex}.toolbar-buttons{align-items:center;gap:2px;display:flex}.toolbar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);-webkit-user-select:none;user-select:none;font-size:9px;line-height:11px}.toolbar-grip{background-image:radial-gradient(var(--muted) 1px, transparent 1.2px);opacity:.6;cursor:context-menu;background-size:4px 4px;border-radius:2px;align-self:stretch;width:8px;margin:3px 3px 3px 2px}.toolbar-grip:hover{opacity:1}.units-button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:4px;min-width:36px;height:32px;margin-left:4px;padding:0 8px}.units-button:hover{border-color:var(--accent)}.side-panel-toggle{margin-left:auto}.tool-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;width:32px;height:32px;display:grid}.tool-button:hover{background:var(--panel-2);border-color:var(--border)}.snap-button{border-color:var(--border);background:var(--bg);color:var(--muted);box-shadow:0 1px #0000001f}.snap-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--brand);box-shadow:inset 0 1px 3px #00000040}.tool-button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--brand)}#canvas-wrap{min-width:0;min-height:0;position:relative;overflow:hidden}#canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}#canvas.selecting{cursor:default}#canvas.pan-ready{cursor:grab}#canvas.panning{cursor:grabbing}#side{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow-y:auto}#properties{padding:8px 10px}#dimstyles{border-bottom:1px solid var(--border);padding:8px 10px}.dimstyle-row{cursor:default;border-radius:4px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px;padding:1px 2px;display:grid}.dimstyle-row.editing{background:var(--panel-2)}.dimstyle-row input[type=radio]{margin:0}.dimstyle-settings{margin-top:6px}.dimstyle-settings summary{cursor:pointer;color:var(--muted);font-size:12px}.dimstyle-settings dl{grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;margin:6px 0 0;display:grid}.dimstyle-settings dt{color:var(--muted)}.dimstyle-settings dd{text-align:right;margin:0}.dimstyle-settings dd input[type=text]{box-sizing:border-box;text-align:right;width:7em;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:0 3px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.dimstyle-settings dd input[type=text]:focus{border-color:var(--accent);outline:none}.dimstyle-settings dd select{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:0 2px;font-size:12px}#inquiry{border-top:1px solid var(--border);padding:8px 10px}.inquiry-header{justify-content:space-between;align-items:baseline;display:flex}.inquiry-clear{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:1px 8px}.inquiry-result h3{color:var(--muted);margin:8px 0 4px;font-size:12px}#layers{border-bottom:1px solid var(--border);padding:8px 10px}.layers-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.layers-header h2{margin:0;font-size:13px}.layer-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.layer-row{border-radius:4px;grid-template-columns:auto auto auto 1fr auto auto auto;align-items:center;gap:4px;padding:1px 2px;display:grid}.layer-row.current{background:var(--panel-2)}.layer-row.hidden-layer .layer-name{color:var(--muted)}.layer-row input[type=radio]{margin:0}.layer-row input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;width:20px;height:18px;padding:0}.layer-name,.layer-name-input{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layer-name{cursor:default}.layer-name-input{border:1px solid var(--accent);background:var(--bg);width:100%;color:var(--text);border-radius:3px;padding:0 2px}.layer-row select{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:0 2px;font-size:12px}.layer-count{text-align:right;min-width:2ch;color:var(--muted);font-size:12px}.layer-icon-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:1px;display:inline-flex}.layer-icon-button:hover{color:var(--text);background:var(--panel-2)}.layer-icon-button svg{width:16px;height:16px}#properties h2,#inquiry h2{margin:0 0 8px;font-size:13px}#properties dl,#inquiry dl{grid-template-columns:auto 1fr;gap:3px 10px;margin:0;display:grid}#properties dt,#inquiry dt{color:var(--muted)}#properties dd,#inquiry dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}#properties dd.editable{cursor:text;border-radius:3px}#properties dd.editable:hover{background:var(--accent-soft)}#properties dd input{box-sizing:border-box;text-align:right;width:100%;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--accent);border-radius:3px;padding:0 3px}#properties dd select{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;max-width:100%;padding:0 2px;font-family:system-ui,sans-serif;font-size:12px}#status{border-top:1px solid var(--border);border-bottom:none;gap:16px}.status-prompt{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.status-prompt.message{color:var(--warn)}.status-coords,.status-from-base{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.status-from-base{color:var(--muted)}.status-right{align-items:center;gap:4px;display:flex}.status-toggle{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px}.status-toggle.on{color:var(--brand);border-color:var(--accent);background:var(--accent-soft)}.status-scale-input{border:1px solid var(--accent);background:var(--panel-2);width:5em;color:inherit;font:inherit;border-radius:4px;padding:1px 4px}.status-scale-input.invalid{border-color:#d9534f}.status-right select{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:1px 4px}.input-boxes{pointer-events:none;gap:3px;display:flex;position:absolute;top:0;left:0}.input-field,.input-mode{pointer-events:auto}.input-field{border:1px solid var(--border);background:#fffffff2;border-radius:3px;align-items:center;gap:3px;padding:1px 4px;display:flex}.input-field span{color:var(--muted);font-size:12px}.input-field input{width:6.5em;color:var(--text);background:0 0;border:none;outline:none;padding:1px 2px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.input-field input.input-text{width:18em}.input-field:focus-within{border-color:var(--accent)}.input-field input:focus{color:var(--accent)}.input-field input.locked{color:var(--warn)}.input-field:has(input.locked):after{content:"🔒";font-size:10px}.input-field input.invalid{color:var(--bad)}.input-mode{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#fffffff2;border-radius:3px;padding:1px 6px;font-size:12px}.context-menu{z-index:10;background:var(--panel);border:1px solid var(--border);background:var(--bg);border-radius:4px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:absolute;box-shadow:0 4px 16px #0000002e}.context-menu button{text-align:left;cursor:pointer;background:0 0;border:none;padding:5px 10px}.context-menu button:hover:not(:disabled){background:var(--accent-soft)}.context-menu button.checkable:before{content:"";width:1.4em;display:inline-block}.context-menu button.checked:before{content:"✓"}.context-menu .menu-heading{border-bottom:1px solid var(--border);max-width:300px;margin:0 0 4px;padding:5px 10px 7px;font-weight:600}.context-menu button:disabled{opacity:.4}.option-button.active{border-color:var(--accent);color:var(--accent)}#blocks,#library{border-bottom:1px solid var(--border);padding:8px 10px}.block-row{cursor:pointer;border-radius:4px;grid-template-rows:auto auto;grid-template-columns:40px 1fr auto auto;align-items:center;column-gap:6px;padding:2px;display:grid}.block-row .layer-name-input{min-width:0}.layers-header .header-actions,.block-actions{display:flex}.block-row:hover{background:var(--panel-2)}.block-preview{border:1px solid var(--border);background:var(--bg);width:40px;height:28px;color:var(--text);border-radius:3px;grid-row:span 2;display:flex}.block-preview svg{width:100%;height:100%}.block-preview svg *{vector-effect:non-scaling-stroke;stroke-width:1px}.block-description{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);grid-column:2/span 3;font-size:11px;overflow:hidden}.blocks-empty{color:var(--muted);margin:0;font-size:12px}
