@import "https://fonts.googleapis.com/css2?family=Jost:wght@400;500&family=JetBrains+Mono:wght@400&display=swap";:root{--void:#0a0e14;--text:#e8e8e8;--muted:#6b7280;--grid:#151a22;--accent:#ffb000}.cad-loader{background:var(--void,#0a0e14);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cad-loader-crosshair{width:64px;height:64px;margin-bottom:16px}.cad-loader-crosshair line,.cad-loader-crosshair circle{fill:none;stroke:#ffb000;stroke-width:1.2px}.cad-loader-v{stroke-dasharray:80;stroke-dashoffset:80px;animation:1.2s ease-out forwards draw-line,2.4s ease-in-out 1.2s infinite pulse}.cad-loader-h{stroke-dasharray:80;stroke-dashoffset:80px;animation:1.2s ease-out .15s forwards draw-line,2.4s ease-in-out 1.35s infinite pulse}.cad-loader-circle{stroke-dasharray:63;stroke-dashoffset:63px;animation:.8s ease-out .6s forwards draw-circle,2.4s ease-in-out 1.4s infinite pulse}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes draw-circle{to{stroke-dashoffset:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.cad-loader-text{color:#6b7280;letter-spacing:.1em;font:11px/1 JetBrains Mono,monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--void);width:100%;height:100%;color:var(--text);font-family:Jost,system-ui,sans-serif;font-size:14px;overflow:hidden}#root{width:100%;height:100%}.tab-bar{pointer-events:auto;z-index:20;background:#0d1117;border-bottom:1px solid #1e2430;flex-shrink:0;align-items:stretch;height:32px;display:flex;overflow-x:auto}.tab{color:var(--muted);cursor:pointer;white-space:nowrap;user-select:none;border-right:1px solid #1e2430;align-items:center;gap:6px;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.tab:hover{color:var(--text);background:#ffffff08}.tab.active{color:var(--text);background:var(--void);border-bottom:2px solid var(--accent)}.tab-label{text-overflow:ellipsis;max-width:160px;overflow:hidden}.tab-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.tab-close:hover{color:var(--text)}.tab-add{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:14px}.tab-add:hover{color:var(--accent)}.viewport-area{flex:1;min-height:0;position:relative}.viewport-container{width:100%;height:100%;position:absolute;top:0;left:0}.viewport-container.focused{outline:none}.viewport-container canvas{display:block;width:100%!important;height:100%!important}.doc-picker-overlay{z-index:100;pointer-events:auto;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.doc-picker{border:1px solid var(--muted);background:#0d1117;border-radius:6px;min-width:320px;max-width:480px;max-height:60vh;font-family:JetBrains Mono,monospace;overflow-y:auto}.doc-picker-header{color:var(--text);border-bottom:1px solid #1e2430;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.doc-picker-header button{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:14px}.doc-picker-loading,.doc-picker-error,.doc-picker-empty{text-align:center;color:var(--muted);padding:16px;font-size:12px}.doc-picker-error{color:#f87171}.doc-picker-folder{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 14px 4px;font-size:10px}.doc-picker-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:12px;display:flex}.doc-picker-item:hover:not(:disabled){background:#ffffff0a}.doc-picker-item:disabled{opacity:.5;cursor:default}.doc-picker-name{text-overflow:ellipsis;flex:1;overflow:hidden}.doc-picker-meta{color:var(--muted);font-size:10px}.doc-picker-badge{color:var(--accent);font-size:10px}.doc-picker-new{border-bottom:1px solid #1e2430}.doc-picker-new .doc-picker-name{color:var(--accent)}.app-root{flex-direction:column;width:100%;height:100%;display:flex}.drop-overlay{border:2px dashed var(--accent);z-index:50;pointer-events:none;background:#ffb00014;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.drop-message{color:var(--accent);background:#0a0e14e6;border-radius:6px;padding:16px 32px;font-family:JetBrains Mono,monospace;font-size:16px}.layer-panel{z-index:10;pointer-events:auto;position:absolute;top:12px;right:12px}.layer-toggle{border:1px solid var(--muted);color:var(--text);cursor:pointer;background:#0e121aeb;border-radius:3px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:12px;display:block}.layer-panel[data-open=true] .layer-toggle{border-bottom:none;border-radius:3px 3px 0 0;margin-left:auto}.layer-toggle:hover{border-color:var(--text)}.layer-list{border:1px solid var(--muted);background:#0e121aeb;border-radius:0 0 3px 3px;min-width:180px;max-height:60vh;overflow-y:auto}.layer-header{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #1e2430;padding:6px 10px 4px;font-family:JetBrains Mono,monospace;font-size:11px}.layer-row{cursor:pointer;user-select:none;align-items:center;gap:6px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.layer-row:hover{background:#ffffff0a}.layer-row[data-visible=false] .layer-name{color:var(--muted)}.layer-swatch{border-radius:1px;flex-shrink:0;width:8px;height:8px}.layer-row input[type=checkbox]{accent-color:var(--text);width:12px;height:12px}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layer-count{color:var(--muted);flex-shrink:0;font-size:10px}.layer-list::-webkit-scrollbar{width:4px}.layer-list::-webkit-scrollbar-track{background:0 0}.layer-list::-webkit-scrollbar-thumb{background:var(--muted);border-radius:2px}.doc-picker-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:12px 12px 4px;font-size:10px}.examples-grid{grid-template-columns:1fr 1fr;gap:6px;padding:4px 12px 12px;display:grid}.example-card{background:var(--grid);cursor:pointer;text-align:left;color:var(--text);border:1px solid #0000;border-radius:4px;flex-direction:column;padding:0;font-family:inherit;transition:border-color .15s;display:flex;overflow:hidden}.example-card:hover{border-color:var(--muted)}.example-card img{aspect-ratio:4/3;object-fit:cover;background:#000;width:100%;display:block}.example-card-title{padding:6px 8px 2px;font-size:11px;font-weight:500}.example-card-desc{color:var(--muted);padding:0 8px 6px;font-size:10px;line-height:1.3}
