*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body.workspace-body{font-family:var(--font-body, "Plus Jakarta Sans", system-ui, sans-serif);background:var(--sand, #F4F4EF);color:var(--ink, #0F172A);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button{font:inherit;cursor:pointer}.workspace-icon{display:block;flex:0 0 auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#workspace-root,.workspace-shell{height:100vh}.workspace-shell{display:grid;grid-template-rows:48px 1fr 24px;grid-template-columns:1fr;background:var(--sand, #F4F4EF);font-family:var(--font-body, "Plus Jakarta Sans", system-ui, sans-serif);color:var(--ink, #0F172A)}.workspace-body{position:relative;overflow:hidden;background:var(--surface, #EDEDEA)}.workspace-canvas{position:absolute;top:0;right:0;bottom:0;left:0;margin:16px;border:1px solid rgba(38,38,94,.18);border-radius:4px;background:var(--sand, #F4F4EF);overflow:hidden;box-shadow:0 1px 2px #0f172a0a;transition:box-shadow .12s ease,border-color .12s ease}.workspace-canvas.drop-active{border-color:#3fc7a080;box-shadow:inset 0 0 0 2px #3fc7a080,0 1px 2px #0f172a0a}.workspace-loading,.workspace-error{padding:24px 18px;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;letter-spacing:.5px;color:var(--neutral, #788492)}.workspace-error{color:var(--danger, #C62828)}.topbar{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;height:48px;padding:0 16px;background:var(--sand, #F4F4EF);border-bottom:1px solid rgba(38,38,94,.12);-webkit-user-select:none;user-select:none}.topbar-left{justify-self:start}.topbar-center{justify-self:center;display:flex;align-items:center;gap:8px}.topbar-right{justify-self:end;display:flex;align-items:center;gap:8px}.topbar-crumb{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#26265eb3;padding:4px 8px;border-radius:4px;transition:background .12s ease,color .12s ease}.topbar-crumb:hover{color:var(--primary, #26265E);background:#26265e0a}.topbar-crumb-mark{font-weight:800;letter-spacing:2.4px;color:var(--primary, #26265E)}.topbar-crumb-sep{color:#26265e52}.topbar-crumb-leaf{color:#26265eb3}.topbar-group{display:inline-flex;align-items:center;gap:2px}.topbar-divider{display:inline-block;width:1px;height:18px;background:#26265e2e;margin:0 6px}.topbar-btn{background:transparent;border:0;color:#26265eb3;font-size:14px;line-height:1;padding:0;width:32px;height:32px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.topbar-btn:hover:not(:disabled){background:#26265e0f;color:var(--primary, #26265E)}.topbar-btn:disabled{opacity:.3;cursor:not-allowed}.topbar-zoom{background:transparent;border:0;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:500;letter-spacing:.5px;color:#26265eb3;min-width:48px;height:32px;padding:0 6px;border-radius:4px;text-align:center;cursor:pointer}.topbar-zoom:hover{background:#26265e0f;color:var(--primary, #26265E)}.topbar-cta{background:var(--primary, #26265E);color:var(--sand, #F4F4EF);border:1px solid var(--primary, #26265E);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;padding:0 14px;height:32px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .12s ease}.topbar-cta:hover:not(:disabled){background:var(--primary-90, #2D2D6B)}.topbar-cta:disabled{opacity:.7;cursor:not-allowed}.topbar-menu{position:relative}.topbar-btn-menu{font-size:18px;line-height:1;padding-bottom:4px}.topbar-menu-pop{position:absolute;top:38px;right:0;min-width:180px;background:#fff;border:1px solid rgba(38,38,94,.16);border-radius:6px;box-shadow:0 8px 32px #0f172a1f,0 2px 8px #0f172a0f;padding:4px;z-index:60;display:flex;flex-direction:column}.topbar-menu-item{background:transparent;border:0;text-align:left;font:inherit;font-size:13px;color:var(--ink, #0F172A);padding:8px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px}.topbar-menu-item:hover{background:#26265e0f}.topbar-menu-item-danger{color:var(--danger, #C62828)}.topbar-menu-item-danger:hover{background:#c628280f}.workspace-drawer{position:absolute;top:0;bottom:0;z-index:40;display:flex;pointer-events:none}.workspace-drawer-left{left:0;flex-direction:row}.workspace-drawer-right{right:0;flex-direction:row-reverse}.workspace-drawer>*{pointer-events:auto}.palette-rail{display:flex;flex-direction:row;align-items:stretch;width:32px;height:100%;background:var(--sand, #F4F4EF);border-right:1px solid rgba(38,38,94,.12)}.palette-rail-edge{width:32px;background:var(--primary, #26265E);border:0;color:var(--sand, #F4F4EF);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.palette-rail-edge:hover{background:var(--primary-90, #2D2D6B)}.palette-rail-chips{list-style:none;display:flex;flex-direction:column;gap:4px;padding:12px 4px;flex:1 1 auto;align-items:center}.palette-rail-chip{width:22px;height:22px;border:1px solid rgba(38,38,94,.18);border-radius:4px;background:#fff;color:var(--primary, #26265E);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.palette-rail-chip:hover{border-color:var(--primary, #26265E);background:#26265e0a;transform:translate(1px)}.palette{position:relative;width:320px;height:100%;background:#fff;border-right:1px solid rgba(38,38,94,.18);box-shadow:6px 0 24px #0f172a0f;display:flex;flex-direction:column;overflow:hidden;animation:bmb-drawer-slide-left .18s ease-out}.palette.palette-pinned{box-shadow:1px 0 #26265e0a}@keyframes bmb-drawer-slide-left{0%{transform:translate(-12px);opacity:.6}to{transform:translate(0);opacity:1}}.palette-header{padding:14px 16px 12px;border-bottom:1px solid rgba(38,38,94,.08);background:var(--sand, #F4F4EF)}.palette-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.palette-header-actions{display:inline-flex;align-items:center;gap:4px}.palette-icon-btn{width:24px;height:24px;border:0;background:transparent;color:var(--neutral, #788492);font-size:16px;line-height:1;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.palette-icon-btn:hover{background:#26265e0f;color:var(--primary, #26265E)}.palette-kicker{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#26265eb3}.palette-meta{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;color:var(--neutral, #788492);margin:0;letter-spacing:.5px}.palette-search{display:flex;align-items:center;gap:8px;height:34px;margin-top:10px;padding:0 8px;border:1px solid rgba(38,38,94,.14);border-radius:6px;background:#fff;color:var(--neutral, #788492)}.palette-search:focus-within{border-color:var(--secondary-deep, #2BA87F);box-shadow:0 0 0 2px #3fc7a029}.palette-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;color:var(--ink, #0F172A);font:inherit;font-size:12px}.palette-search input::placeholder{color:#788492d1}.palette-search-clear{width:22px;height:22px;border:0;border-radius:4px;background:transparent;color:var(--neutral, #788492);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.palette-search-clear:hover{background:#26265e0f;color:var(--primary, #26265E)}.palette-actions{display:flex;gap:6px;margin-top:8px}.palette-action{border:1px solid rgba(38,38,94,.12);background:#fff;color:var(--ink, #0F172A);width:28px;height:24px;padding:0;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.palette-action:hover{background:#26265e0a}.palette-body{flex:1 1 auto;overflow-y:auto;padding:12px 16px 24px}.palette-vocab{margin-bottom:16px}.palette-vocab.collapsed{margin-bottom:6px}.palette-vocab-toggle{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;padding:6px 0;cursor:pointer;font:inherit;text-align:left;color:var(--secondary-deep, #2BA87F);border-bottom:1px solid transparent;transition:border-color .12s ease,color .12s ease}.palette-vocab-toggle:hover{color:var(--primary, #26265E);border-bottom-color:#26265e14}.palette-vocab-toggle:focus-visible{outline:2px solid var(--secondary, #3FC7A0);outline-offset:2px;border-radius:4px}.palette-vocab-heading{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:700;color:inherit;text-transform:uppercase;letter-spacing:1.4px;margin:0;flex:1 1 auto}.palette-vocab-count{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;color:var(--neutral, #788492);background:#26265e0a;padding:1px 7px;border-radius:999px;font-weight:700}.palette-vocab-desc{font-size:12px;color:var(--neutral, #788492);margin:6px 0 10px}.palette-vocab-cards{display:grid;grid-template-columns:1fr;gap:6px}.palette-results-meta{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;color:var(--neutral, #788492);letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px}.palette-empty{margin:12px 0;color:var(--neutral, #788492);font-size:12px}.palette-vocab.focused .palette-vocab-toggle{color:var(--primary, #26265E);border-bottom-color:var(--secondary, #3FC7A0)}.palette-card{border:1px solid rgba(38,38,94,.12);background:#fff;padding:8px;border-radius:4px;cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,transform .12s ease;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start}.palette-card:hover{border-color:#26265e52;transform:translate(1px)}.palette-card:active{cursor:grabbing}.palette-card-dragging{opacity:.92;z-index:9999;pointer-events:none;border-color:var(--secondary-deep, #2BA87F);box-shadow:0 8px 32px #0f172a2e,0 2px 8px #0f172a14}.palette-card-icon{width:28px;height:28px;border-radius:5px;background:#3fc7a01f;color:var(--secondary-deep, #2BA87F);display:inline-flex;align-items:center;justify-content:center}.palette-card-copy{min-width:0}.palette-card-name{font-size:13px;font-weight:600;color:var(--primary, #26265E)}.palette-card-desc{font-size:11px;color:var(--neutral, #788492);margin-top:2px;line-height:1.3}.palette-card-vocab{margin-top:5px;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:#26265e75}.inspector-rail{display:flex;flex-direction:row-reverse;width:32px;height:100%;background:var(--sand, #F4F4EF);border-left:1px solid rgba(38,38,94,.12)}.inspector-rail-edge{width:16px;background:var(--primary, #26265E);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.inspector-rail-edge:hover{background:var(--primary-90, #2D2D6B)}.inspector-rail-edge-glyph{color:var(--sand, #F4F4EF);font-size:8px;font-weight:700}.inspector{position:relative;width:360px;height:100%;background:#fff;border-left:1px solid rgba(38,38,94,.18);box-shadow:-6px 0 24px #0f172a0f;display:flex;flex-direction:column;overflow:hidden;animation:bmb-drawer-slide-right .18s ease-out}.inspector.inspector-pinned{box-shadow:-1px 0 #26265e0a}@keyframes bmb-drawer-slide-right{0%{transform:translate(12px);opacity:.6}to{transform:translate(0);opacity:1}}.inspector-header{padding:14px 16px 12px;border-bottom:1px solid rgba(38,38,94,.08);background:var(--sand, #F4F4EF)}.inspector-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.inspector-header-actions{display:inline-flex;align-items:center;gap:4px}.inspector-icon-btn{width:24px;height:24px;border:0;background:transparent;color:var(--neutral, #788492);font-size:16px;line-height:1;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.inspector-icon-btn:hover{background:#26265e0f;color:var(--primary, #26265E)}.inspector-kicker{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#26265eb3}.inspector-context{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;color:var(--neutral, #788492);margin:0;letter-spacing:.4px}.inspector-body{flex:1 1 auto;overflow-y:auto;padding:16px}.inspector-help{font-size:12px;color:var(--neutral, #788492);line-height:1.5}.inspector-form{display:flex;flex-direction:column;gap:14px}.inspector-field{display:flex;flex-direction:column;gap:4px}.inspector-field-label{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--neutral, #788492)}.inspector-field-help{font-size:11px;color:var(--neutral, #788492);line-height:1.4}.inspector-field input,.inspector-field select,.inspector-field textarea{border:1px solid rgba(38,38,94,.16);border-radius:4px;padding:6px 10px;font-family:inherit;font-size:13px;color:var(--ink, #0F172A);background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.inspector-field input:focus,.inspector-field select:focus,.inspector-field textarea:focus{outline:none;border-color:var(--secondary-deep, #2BA87F);box-shadow:0 0 0 2px #3fc7a02e}.inspector-field textarea{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:12px;resize:vertical}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.empty-state-heading{font-family:var(--font-display, "DM Sans", system-ui, sans-serif);font-size:28px;font-weight:700;letter-spacing:-.4px;color:#26265eb3;margin-bottom:12px}.empty-state-sub{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#26265e80;display:inline-flex;align-items:center;gap:8px}.empty-state-link{background:transparent;border:0;border-bottom:1px solid var(--secondary, #3FC7A0);color:var(--secondary-deep, #2BA87F);font:inherit;text-transform:inherit;letter-spacing:inherit;padding:0 0 1px;cursor:pointer;pointer-events:auto}.empty-state-link:hover{color:var(--primary, #26265E);border-bottom-color:var(--primary, #26265E)}.empty-state-arrow{color:var(--secondary, #3FC7A0);font-size:14px}.empty-state-or{color:#26265e80}.canvas-svg{display:block;width:100%;height:100%;background:var(--sand, #F4F4EF);cursor:default}.canvas-svg.canvas-panning{cursor:grabbing}.placed-card{cursor:grab;touch-action:none}.placed-card:active{cursor:grabbing}.placed-card:focus{outline:none}.placed-card-ring{stroke:var(--secondary, #3FC7A0)}.placed-card-element-ring,.placed-card-hover-ring{transition:opacity .12s ease}.placed-card-content{cursor:pointer}@keyframes bmb-marching-ants{to{stroke-dashoffset:-10}}.marquee{animation:bmb-marching-ants .8s linear infinite}@media (prefers-reduced-motion: reduce){.marquee{animation:none}}.element-editor{display:flex;flex-direction:column;gap:14px;font-family:var(--font-body, "Plus Jakarta Sans", system-ui, sans-serif)}.element-editor-meta{display:flex;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(38,38,94,.08)}.element-editor-kind{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--secondary-deep, #2BA87F);font-weight:700}.element-editor-selector{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;color:var(--neutral, #788492);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.element-editor-field{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--ink, #0F172A)}.element-editor-field span{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--neutral, #788492)}.element-editor-field input[type=number]{width:100px;border:1px solid rgba(38,38,94,.16);border-radius:4px;padding:4px 8px;font:inherit}.element-editor-field-stack{flex-direction:column;align-items:stretch;gap:6px}.element-editor-text-input{width:100%;border:1px solid rgba(38,38,94,.16);border-radius:4px;padding:6px 10px;font:inherit;font-size:13px;background:#fff}.element-editor-text-input:focus{outline:none;border-color:var(--secondary-deep, #2BA87F);box-shadow:0 0 0 2px #3fc7a02e}.element-editor-field input[type=color]{width:36px;height:28px;border:1px solid rgba(38,38,94,.16);border-radius:4px;padding:0;cursor:pointer}.element-editor-reset{background:#fff;border:1px solid rgba(38,38,94,.16);color:var(--ink, #0F172A);padding:6px 12px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px;align-self:flex-start}.element-editor-reset:disabled{opacity:.45;cursor:not-allowed}.element-editor-reset:hover:not(:disabled){background:#26265e0a}.element-editor-icon{display:flex;flex-direction:column;gap:6px}.element-editor-icon input[type=text]{width:100%;border:1px solid rgba(38,38,94,.16);border-radius:4px;padding:4px 8px;font:inherit;font-size:13px}.element-editor-icon-apply{align-self:flex-end;background:var(--primary, #26265E);color:var(--sand, #F4F4EF);border:1px solid var(--primary, #26265E);padding:5px 12px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.element-editor-icon-apply:disabled{opacity:.45;cursor:not-allowed}.element-editor-icon-error{font-size:11px;color:var(--danger, #C62828)}.brand-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:4px 0}.brand-swatch{width:100%;aspect-ratio:1 / 1;border:1px solid rgba(38,38,94,.16);border-radius:4px;padding:0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.brand-swatch:hover{transform:translateY(-1px);border-color:#26265e66;box-shadow:0 2px 6px #0f172a1f}.brand-swatch.active{border-color:var(--secondary, #3FC7A0);box-shadow:0 0 0 2px #3fc7a052}.inspector-back{align-self:flex-start;background:transparent;border:0;color:var(--neutral, #788492);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;letter-spacing:.6px;text-transform:uppercase;padding:4px 0 8px;cursor:pointer}.inspector-back:hover{color:var(--primary, #26265E)}.drawer-resize-handle{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:2;background:transparent;transition:background .12s ease;-webkit-user-select:none;user-select:none}.drawer-resize-handle-right{right:-3px}.drawer-resize-handle-left{left:-3px}.drawer-resize-handle:hover,.drawer-resize-handle.resizing{background:linear-gradient(to right,transparent 0,transparent 2px,rgba(63,199,160,.5) 2px,rgba(63,199,160,.5) 4px,transparent 4px,transparent 6px)}.status-bar{display:flex;align-items:center;gap:12px;padding:0 16px;height:24px;background:#26265e0a;border-top:1px solid rgba(38,38,94,.12);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:9px;font-weight:500;letter-spacing:.6px;color:#26265eb3;text-transform:uppercase;overflow:hidden;white-space:nowrap}.status-cluster{display:inline-flex;align-items:center;gap:8px}.status-spacer{flex:1 1 auto}.status-segment{color:#26265eb3}.status-segment-muted{color:var(--neutral, #788492)}.status-divider{color:#26265e52}.status-cursor{font-variant-numeric:tabular-nums;min-width:96px}.status-segment-copied{color:var(--success, #2E7D32);font-weight:700}.status-segment-failed{color:var(--danger, #C62828);font-weight:700}.status-segment-copying{color:var(--secondary-deep, #2BA87F)}.status-hints{gap:12px}.status-hint{display:inline-flex;align-items:baseline;gap:4px;color:#26265e8c}.status-hint kbd{font-family:inherit;font-size:9px;font-weight:700;color:#26265ed9;padding:1px 4px;border:1px solid rgba(38,38,94,.16);border-radius:3px;background:#fff}.workspace-build-hint{max-width:560px;margin:80px auto;padding:24px;font-family:var(--font-body, "Plus Jakarta Sans", system-ui, sans-serif);color:var(--ink, #0F172A)}.workspace-build-hint h1{font-family:var(--font-display, "DM Sans", system-ui, sans-serif);font-size:24px;margin-bottom:8px;color:var(--primary, #26265E)}.workspace-build-hint code{font-family:var(--font-mono, "JetBrains Mono", monospace);background:#26265e0f;padding:1px 6px;border-radius:3px}
