:root{color-scheme:dark;--bg: #1e1e1e;--fg: #ddd;--accent: #4ea1ff;font:13px/1.4 system-ui,sans-serif}body{margin:0;background:var(--bg);color:var(--fg)}.bar{display:flex;gap:1rem;padding:.4rem .8rem;background:#2a2a2a;border-bottom:1px solid #000}.brand{font-weight:600;color:var(--accent)}main{padding:.8rem}.error{color:#ff6b6b}#account{margin-left:auto;white-space:nowrap}#account .account-signout{font:inherit;padding:0;border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer}#cad-signin{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:#0b0f17;color:#e5e7eb}#cad-signin p{margin:0}#cad-signin button{font:inherit;padding:.5rem 1.4rem;border:0;border-radius:6px;background:#95191b;color:#fff;cursor:pointer}#cad-signin button:disabled{opacity:.6;cursor:default}html,body{height:100%}body{overflow:hidden}#app{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr)}main.workspace{position:relative;padding:0;min-height:0;overflow:hidden;background:#000}canvas.cad-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}main.workspace>.error{padding:.8rem}.cmdline{--line: 1.45em;background:#252526;border-top:1px solid #000;font:13px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace}.cl-history{height:calc(3 * var(--line));overflow-y:auto;padding:0 .6rem;color:#aaa;white-space:pre-wrap}.cl-line{display:flex;align-items:center;gap:.4rem;padding:.15rem .6rem;border-top:1px solid #333;background:#1b1b1c;min-width:0}.cl-prompt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;color:var(--fg)}.cl-keywords{display:flex;gap:.25rem;flex-wrap:wrap;min-width:0}.cl-keywords button{font:inherit;font-size:12px;padding:0 .4rem;border:1px solid #3c3c3c;border-radius:3px;background:#333;color:var(--accent);cursor:pointer}.cl-keywords button:hover{background:#3d3d3d}.cl-input{flex:1 1 4rem;min-width:0;font:inherit;color:var(--fg);background:transparent;border:none;outline:none;caret-color:var(--accent)}.statusbar{display:flex;align-items:center;gap:.6rem;padding:.15rem .6rem;background:#2a2a2a;border-top:1px solid #000;font:12px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace;white-space:nowrap;overflow:hidden}.sb-label{color:#888}.sb-coord [data-sb]{display:inline-block;min-width:11ch;text-align:right;font-variant-numeric:tabular-nums}.sb-sep{flex:1}.sb-toggle,.sb-button{font:inherit;padding:0 .45rem;border:1px solid #3c3c3c;border-radius:3px;background:#2f2f2f;color:#777;cursor:pointer}.sb-toggle.on{color:var(--accent);border-color:#35577c}.sb-button{color:var(--fg);min-width:4ch}.sb-toggle:hover,.sb-button:hover{background:#383838}.sb-file{color:var(--fg);overflow:hidden;text-overflow:ellipsis;max-width:40ch}.sb-file [data-sb=dirty]{color:var(--accent)}.sb-saved{color:#888}.picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-start;justify-content:center;padding-top:4rem;background:#00000073}.picker{width:min(560px,calc(100vw - 2rem));max-height:calc(100vh - 8rem);display:flex;flex-direction:column;gap:.4rem;padding:.7rem .8rem;background:#252526;border:1px solid #3c3c3c;border-radius:4px;color:var(--fg);font:13px system-ui,sans-serif}.picker .pk-title{font-weight:600}.picker .pk-label{display:flex;gap:.5rem;align-items:center}.picker .pk-input{flex:1;min-width:0;font:13px ui-monospace,Cascadia Mono,Consolas,monospace;padding:.2rem .4rem;color:var(--fg);background:#1b1b1c;border:1px solid #3c3c3c;border-radius:3px;outline:none}.picker .pk-input:focus{border-color:#35577c}.picker .pk-status{margin:0;min-height:1.2em;color:#d7ba7d}.picker .pk-list{list-style:none;margin:0;padding:0;overflow-y:auto;border-top:1px solid #333}.picker .pk-item{display:flex;gap:.7rem;align-items:baseline;padding:.2rem .4rem;cursor:pointer}.picker .pk-item:hover{background:#2f2f33}.picker .pk-item.pk-active{background:#094771}.picker .pk-item.pk-disabled{color:#777;cursor:not-allowed}.picker .pk-main{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.picker .pk-sub{flex:1;color:#bbb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker .pk-time{margin-left:auto;color:#999;font-variant-numeric:tabular-nums}.picker .pk-badge{font-size:11px;padding:0 .35rem;border:1px solid #6b5a2e;border-radius:3px;color:#d7ba7d}.picker .pk-buttons{display:flex;justify-content:flex-end}.picker .pk-cancel{font:inherit;padding:.15rem .6rem;border:1px solid #3c3c3c;border-radius:3px;background:#333;color:var(--fg);cursor:pointer}.import-report{position:absolute;top:0;right:0;bottom:0;width:min(380px,45%);overflow-y:auto;z-index:2;background:#252526;border-left:1px solid #000;color:var(--fg);padding:.5rem .7rem 1rem;font:12px/1.45 system-ui,sans-serif}.import-report[hidden]{display:none}.import-report .ir-close{position:absolute;top:.3rem;right:.4rem;font:inherit;font-size:16px;line-height:1;padding:.1rem .4rem;border:1px solid #3c3c3c;border-radius:3px;background:#2f2f2f;color:var(--fg);cursor:pointer}.import-report h2{font-size:14px;margin:0 2rem .2rem 0}.import-report h3{font-size:12px;margin:.8rem 0 .3rem;color:#bbb}.import-report .ir-source{color:var(--accent);word-break:break-all}.import-report dl{display:grid;grid-template-columns:auto 1fr;gap:.1rem .8rem;margin:.5rem 0 0}.import-report dt{color:#999}.import-report dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.import-report table{width:100%;border-collapse:collapse}.import-report th{text-align:left;color:#999;font-weight:400;border-bottom:1px solid #3c3c3c}.import-report td{padding:.1rem .3rem .1rem 0;vertical-align:top;word-break:break-word}.import-report .ir-zoom{font:inherit;padding:0 .35rem;border:1px solid #3c3c3c;border-radius:3px;background:#333;color:var(--accent);cursor:pointer;white-space:nowrap}.import-report .ir-none{color:#888;margin:0}.import-report .ir-note{color:#888;margin:.2rem 0 0}.import-report [data-ir=library] dd{text-align:left;word-break:break-word}.filepick-bar{position:fixed;left:50%;top:3rem;transform:translate(-50%);z-index:10;display:flex;gap:.6rem;align-items:center;padding:.5rem .8rem;background:#2d2d30;border:1px solid #3c3c3c;border-radius:4px;color:var(--fg);font:13px system-ui,sans-serif}.filepick-bar button{font:inherit;padding:.15rem .6rem;border:1px solid #3c3c3c;border-radius:3px;background:#333;color:var(--fg);cursor:pointer}.filepick-bar .fp-browse{color:var(--accent)}
