@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";:root{--ink: #0A0E1C;--graphite: #141931;--steel: #2A3046;--slate: #5C6478;--silver: #9CA3B4;--mist: #DDE3EE;--fog: #F1F4F9;--paper: #FAFBFC;--white: #FFFFFF;--accent-raw: #2E80FF;--accent-d-raw:#1B68DC;--accent-l: #E8F1FF;--glow: #6FB6FF;--lumen: #00C2D6;--spark: #00D9A6;--spark-d: #00946F;--spark-l: #E0F8F0;--signal: #FF8A3D;--signal-d: #B0531B;--signal-l: #FFEDD9;--critical: #C0432D;--critical-d:#8B2D1B;--critical-l:#FAE3DD;--hair: rgba(10, 14, 28, .08);--hair-strong: rgba(10, 14, 28, .16);--hair-light: rgba(255, 255, 255, .1);--hair-light-strong: rgba(255, 255, 255, .16);--sans: "Geist", "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sans-kr: "Pretendard", "Geist", "Noto Sans KR", sans-serif;--mono: "JetBrains Mono", "Geist Mono", ui-monospace, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--r-0: 0px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-pill: 999px;--bw-hair: 1px;--bw-emph: 1.5px;--bw-rule: 2px;--shadow-card: 0 1px 2px rgba(10, 14, 28, .04);--shadow-pop: 0 32px 80px -40px rgba(10, 14, 28, .2);--shadow-deep: 0 40px 80px -40px rgba(10, 14, 28, .28);--ease: cubic-bezier(.2, .6, .2, 1);--dur-fast: .15s;--dur-mid: .2s;--dur-slow: .32s;--grid-cell: 64px;--bg: var(--white);--fg: var(--ink);--fg-2: var(--steel);--fg-3: var(--slate);--fg-mute: var(--silver);--surface: var(--white);--surface-2: var(--paper);--surface-3: var(--fog);--divider: var(--hair);--divider-s: var(--hair-strong);--accent: var(--accent-raw);--accent-d: var(--accent-d-raw);--overlay: rgba(10, 14, 28, .4);--viewport: #0E1422}[data-theme=dark]{--bg: #07091A;--fg: #F4F6FB;--fg-2: #C2C8D5;--fg-3: #8A92A6;--fg-mute: #5C6478;--surface: #11142A;--surface-2: #0A0D1E;--surface-3: #1B2042;--divider: var(--hair-light);--divider-s: var(--hair-light-strong);--accent: var(--accent-raw);--accent-d: var(--glow);--overlay: rgba(0, 0, 0, .6);--shadow-card: 0 1px 0 rgba(0, 0, 0, .5);--viewport: #07091A}.bg-grid{background-image:linear-gradient(to right,var(--hair) 1px,transparent 1px),linear-gradient(to bottom,var(--hair) 1px,transparent 1px);background-size:var(--grid-cell) var(--grid-cell)}.bg-grid--fade{-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,black 30%,transparent 90%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,black 30%,transparent 90%)}:root{--bg-0: var(--bg);--bg-1: var(--surface);--bg-2: var(--surface-2);--bg-3: var(--surface-3);--fg-0: var(--fg);--fg-1: var(--fg-2);--fg-2: var(--fg-3);--accent-2: var(--accent-d);--warn: var(--signal);--error: var(--critical);--ok: var(--spark-d);--line: var(--divider);--line-s: var(--divider-s);--shadow: var(--shadow-card);--muted: var(--fg-3);--text: var(--fg);--link: var(--accent);--tool-w: 200px;--right-w: 340px;--top-h: 52px;--status-h: 30px;--cmd-h: 220px;--radius: 4px;font-family:var(--sans)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg-0);color:var(--fg-0);overflow:hidden}body{font-size:13px}button{background:var(--bg-2);color:var(--fg-0);border:1px solid var(--line);border-radius:var(--radius);padding:4px 10px;cursor:pointer;font-size:12px;transition:background-color .12s,border-color .12s,transform .04s}button:hover:not(:disabled){background:var(--bg-3);border-color:var(--accent-2)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent-2);border-color:var(--accent)}button.primary:hover{background:var(--accent)}input,select{background:var(--bg-1);color:var(--fg-0);border:1px solid var(--line);border-radius:var(--radius);padding:3px 6px;font-size:12px;font:inherit}input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.muted{color:var(--fg-2)}.app-root{position:relative;width:100vw;height:100vh;overflow:hidden}.app-canvas-wrap{position:absolute;top:var(--top-h);left:var(--tool-w);right:var(--right-w);bottom:calc(var(--cmd-h) + var(--status-h));z-index:0;background:var(--viewport);overflow:hidden}.app-canvas{display:block;width:100%;height:100%;background:var(--viewport)}.app-splash{position:absolute;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;text-align:center;padding:40px}.app-splash__title{font-size:28px;font-weight:300;letter-spacing:-.02em;color:var(--fg)}.app-splash__msg{margin-top:14px;color:var(--fg-1);font-family:ui-monospace,monospace}.app-splash__hint{margin-top:24px;max-width:540px;color:var(--fg-2);font-size:12px}.app-splash__hint code{background:var(--bg-2);padding:2px 6px;border-radius:3px}.app-splash--error .app-splash__msg{color:var(--error)}.shell{position:absolute;inset:0;display:grid;grid-template-rows:var(--top-h) 1fr var(--status-h)}.shell__body{display:grid;grid-template-columns:var(--tool-w) 1fr var(--right-w);min-height:0}.shell__center{position:relative;display:grid;grid-template-rows:1fr auto;min-height:0}.shell__right{background:var(--bg-1);border-left:1px solid var(--line);display:flex;flex-direction:column}.shell__tabs{display:flex;border-bottom:1px solid var(--line);background:var(--bg-2)}.shell__tab{flex:1;border:none;border-radius:0;background:transparent;color:var(--fg-3);padding:9px 0;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.shell__tab:hover:not(:disabled){color:var(--fg);background:var(--surface-3);border-color:transparent}.shell__tab.is-active{background:var(--surface);color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}.shell__panel{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column}.shell__panel>.panel,.shell__panel>.ai-panel{flex:1 1 auto;min-height:0}.topbar{display:flex;align-items:center;gap:14px;padding:0 14px;background:var(--bg-1);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.topbar__group{display:flex;align-items:center;gap:6px}.topbar__group label{color:var(--fg-2);font-size:11px;text-transform:uppercase;letter-spacing:.4px}.topbar__group--right{margin-left:auto}.topbar__brand{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.12em;text-transform:uppercase}.topbar__brand b{color:var(--fg);font-weight:600;letter-spacing:.04em}.topbar__brand .spark{color:var(--accent)}.topbar__icon-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--divider-s);color:var(--fg-2);border-radius:var(--r-sm);font-size:14px}.topbar__icon-btn:hover{background:var(--surface-3);color:var(--fg)}.palette{background:var(--bg-1);border-right:1px solid var(--line);padding:8px 4px 28px;overflow-y:auto;height:100%;scroll-padding-bottom:28px}.palette__section{padding:0 0 6px}.palette__title{margin:2px 4px 4px;font-family:var(--mono);font-size:9.5px;font-weight:500;text-transform:uppercase;color:var(--fg-3);letter-spacing:.12em}.palette__grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.palette__btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 3px;background:var(--bg-2);border:1px solid var(--line)}.palette__btn{border-radius:var(--r-sm);transition:border-color .12s var(--ease),background-color .12s var(--ease)}.palette__btn:hover{border-color:var(--divider-s);background:var(--surface-3)}.palette__btn.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.palette__icon{display:inline-flex;align-items:center;justify-content:center;height:16px;color:var(--fg-2)}.palette__btn.is-active .palette__icon{color:var(--accent)}.palette__btn:disabled .palette__icon{color:var(--fg-mute)}.topbar__group button{display:inline-flex;align-items:center;gap:6px}.topbar__group button svg{color:var(--fg-2);flex-shrink:0}.topbar__group button:hover:not(:disabled) svg{color:var(--accent)}.topbar__group button:disabled svg{color:var(--fg-mute)}.palette__label{font-size:9.5px;letter-spacing:-.01em;line-height:1.15}.canvas-overlay{position:relative;width:100%;height:100%;z-index:5;background:transparent;touch-action:none}.canvas-overlay.tool-pan{cursor:grab}.canvas-overlay.tool-orbit{cursor:alias}.canvas-overlay.tool-select{cursor:default}.canvas-overlay[class*=draw-]{cursor:crosshair}.panel{display:flex;flex-direction:column;gap:12px;font-size:12px}.panel--empty{color:var(--fg-2);font-style:italic;padding:16px}.panel__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:6px}.panel__group{border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px 8px;margin:0}.panel__group legend{font-size:10px;text-transform:uppercase;color:var(--fg-2);letter-spacing:.5px;padding:0 4px}.panel__row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:6px;padding:3px 0}.panel__label{color:var(--fg-2)}.panel__value{display:flex;align-items:center;gap:6px}.panel__value input{width:100%}.swatch{display:inline-block;width:14px;height:14px;border:1px solid var(--line);border-radius:2px;vertical-align:middle}.swatch--inline{margin-left:4px;width:10px;height:10px}.layers__add{display:flex;gap:4px;margin-bottom:6px}.layers__add input{flex:1}.layers__tbl{width:100%;border-collapse:collapse;font-size:11px}.layers__tbl th,.layers__tbl td{border-bottom:1px solid var(--line);padding:3px 4px;text-align:left;vertical-align:middle}.layers__tbl th{font-weight:500;color:var(--fg-2)}.layers__tbl tr.is-current{background:color-mix(in srgb,var(--accent) 7%,transparent)}.layers__color-input{width:50px}.layers__lt-input{width:90px}.blocks__grid-wrap{flex:1 1 0;min-height:120px;overflow-y:auto;overflow-x:hidden;min-width:0}.blocks__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-width:0}.blocks__cell{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;position:relative}.blocks__cell img{width:100%;height:64px;object-fit:contain;background:var(--viewport);border-radius:2px}.blocks__placeholder{width:100%;height:64px;background:var(--viewport);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--fg-2)}.blocks__name{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blocks__tag{position:absolute;top:2px;right:2px;background:#0000008c;color:var(--fg-1);border-radius:2px;padding:1px 3px;font-size:8px;text-transform:uppercase}.cmdline{background:var(--bg-1);border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0;position:relative}.cmdline__log{flex:1;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11.5px;padding:6px 8px;background:var(--bg-2);border-bottom:1px solid var(--line)}.cmdline__entry{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:1px 0;white-space:pre-wrap}.cmdline__time{color:var(--fg-2)}.cmdline__entry--info .cmdline__text{color:var(--fg-0)}.cmdline__entry--echo .cmdline__text{color:var(--accent)}.cmdline__entry--input .cmdline__text{color:var(--signal)}.cmdline__entry--warn .cmdline__text{color:var(--warn)}.cmdline__entry--error .cmdline__text{color:var(--error)}.cmdline__input-row{display:flex;align-items:center;gap:8px;padding:6px 8px}.cmdline__prompt{color:var(--fg-2);font-family:ui-monospace,monospace;font-size:11.5px}.cmdline__input-row input{flex:1;background:var(--bg-2);border-color:transparent;font-family:ui-monospace,monospace;font-size:12px}.cmdline__suggest{position:absolute;bottom:38px;left:64px;display:flex;gap:4px;background:var(--bg-2);border:1px solid var(--line);padding:4px;border-radius:var(--radius);z-index:6}.cmdline__suggest-btn{font-family:ui-monospace,monospace;font-size:11px;background:transparent;border:1px solid transparent;padding:2px 6px}.cmdline__suggest-btn.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.statusbar{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--bg-2);border-top:1px solid var(--line);font-size:11px;color:var(--fg-1);white-space:nowrap;overflow-x:auto}.statusbar__group{display:flex;align-items:center;gap:6px}.statusbar__group--snap{gap:2px}.statusbar__sep{color:var(--fg-2)}.statusbar__dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--fg-2)}.statusbar__dot[data-state=ready]{background:var(--ok)}.statusbar__dot[data-state=booting]{background:var(--warn)}.statusbar__dot[data-state=error]{background:var(--error)}.statusbar__snap{font-size:10px;padding:1px 4px;background:transparent;border:1px solid transparent;color:var(--fg-2)}.statusbar__snap.is-on{color:var(--accent);border-color:var(--accent)}.statusbar__version strong{color:var(--fg-0);font-weight:600}.statusbar__version.is-stale,.statusbar__version.is-stale strong{color:var(--warn)}.statusbar__stale{background:var(--warn);color:#000;padding:0 4px;margin-left:4px;border-radius:2px;font-size:9px;font-style:normal;letter-spacing:.5px;text-transform:uppercase}.modal{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center}.modal__card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;width:360px;display:flex;flex-direction:column;gap:10px}.modal__buttons{display:flex;justify-content:flex-end;gap:6px}.fonts-panel{display:flex;flex-direction:column;gap:6px}.fonts-table-wrap{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:4px}.fonts-table{width:100%;border-collapse:collapse;font-size:11px}.fonts-table th,.fonts-table td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.fonts-table th{background:var(--bg-2);font-weight:600;position:sticky;top:0}.fonts-table tr:last-child td{border-bottom:none}.fonts-flags{display:flex;gap:3px;flex-wrap:wrap}.fonts-flags .tag{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:10px}.fonts-link{background:none;border:none;padding:0;color:var(--link, #4af);cursor:pointer;text-decoration:underline;font:inherit}.fonts-link:hover{color:#79f}.fonts-reg-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;min-height:24px}.fonts-reg-chip{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:2px 8px;font-size:11px;cursor:pointer}.fonts-reg-chip:hover{background:var(--bg-3)}.fonts-register-row{display:flex;align-items:center;gap:8px}.fonts-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.fonts-row input{flex:1 1 120px;min-width:100px}.aids-panel{display:flex;flex-direction:column;gap:6px}.aids-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.aids-row button{font-size:11px;padding:2px 8px}.aids-toggle{display:flex;align-items:center;gap:4px;font-size:11px}.aids-mini{width:100%;border-collapse:collapse;font-size:11px;margin-top:4px}.aids-mini th{text-align:right;padding-right:6px;color:var(--muted, #888);font-weight:400;vertical-align:top}.aids-mini td{padding:1px 0;font-family:var(--mono, monospace)}.aids-details{font-size:11px}.aids-details summary{cursor:pointer;padding:2px 0}.aids-coord-grid{display:flex;flex-direction:column;gap:2px}.aids-pts-list{display:inline-block;max-height:64px;overflow:auto;flex:1 1 200px;font-family:var(--mono, monospace);word-break:break-all}.pdf-card{width:520px;max-height:90vh;overflow-y:auto}.pdf-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.pdf-row label{min-width:70px;font-size:11px;color:var(--muted, #888)}.pdf-row input[type=text],.pdf-row input[type=number],.pdf-row select{flex:1 1 100px;min-width:80px}.pdf-group{padding:6px 8px;border:1px solid var(--line);border-radius:4px;margin-bottom:6px}.pdf-group legend{font-size:11px;color:var(--muted, #888);padding:0 4px}.pdf-flag-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;margin-bottom:4px}.pdf-flag-toggle{font-size:11px;display:flex;align-items:center;gap:4px}.blocks__cell--btn{background:none;border:none;cursor:pointer;padding:4px;text-align:center;color:inherit;font:inherit;display:flex;flex-direction:column;align-items:center}.blocks__cell--btn:hover{background:var(--bg-2)}.block-geom-card{width:720px;max-height:92vh;overflow-y:auto}.block-geom-info{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted, #888)}.block-geom-info .tag{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:10px;color:var(--text, #ddd)}.block-geom-svg-wrap{width:100%;height:360px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px}.block-geom-table-details{font-size:11px}.block-geom-table-details summary{cursor:pointer;padding:4px 0}.blocks__svgthumb{width:100%;height:100%;max-height:80px}.blocks__svgthumb line,.blocks__svgthumb circle,.blocks__svgthumb path,.blocks__svgthumb ellipse,.blocks__svgthumb polyline,.blocks__svgthumb polygon{vector-effect:non-scaling-stroke}.canvas-overlay.is-dropping{background:#468cdc2e;border:2px dashed #6cf;box-sizing:border-box}.canvas-overlay__drop-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 20px;background:#000000b3;color:#fff;border-radius:6px;font-size:14px;pointer-events:none}.layers__snap{display:flex;gap:4px;align-items:center;padding:4px 8px;border-bottom:1px solid var(--line);font-size:11px}.layers__snap select,.layers__snap input{font-size:11px;padding:2px 4px}.layers__snap button{font-size:11px;padding:2px 8px}.dev-panel{display:flex;flex-direction:column;gap:6px;padding:6px}.dev-code{width:100%;font-family:var(--mono, monospace);font-size:11px;padding:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;resize:vertical;min-height:80px;color:var(--text, #ddd)}.dev-toolbar{display:flex;gap:6px}.dev-toolbar .primary{background:#36a;color:#fff}.dev-output{font-family:var(--mono, monospace);font-size:11px;max-height:180px;overflow:auto;padding:6px 8px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;white-space:pre-wrap;margin:0}.dev-output.is-error{background:#b432322e;border-color:#c66;color:#fbb}.dev-filter{font-size:11px;padding:3px 6px;margin-bottom:4px}.dev-recipes{display:flex;flex-direction:column;gap:3px;max-height:280px;overflow:auto}.dev-recipe{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;padding:5px 8px;cursor:pointer;text-align:left;font:inherit;color:inherit;display:grid;grid-template-columns:1fr auto;column-gap:6px;row-gap:1px}.dev-recipe:hover{background:var(--bg-3);border-color:#6cf}.dev-recipe__title{font-weight:600;font-size:12px}.dev-recipe__cat{font-size:10px;color:var(--muted, #888);align-self:center;padding:0 4px;background:var(--bg-1);border-radius:2px}.dev-recipe__desc{grid-column:1 / -1;font-size:10px;color:var(--muted, #888)}.dev-reactor-log{display:flex;flex-direction:column;gap:1px;max-height:180px;overflow:auto;font-family:var(--mono, monospace);font-size:10px}.dev-reactor-row{display:grid;grid-template-columns:70px 70px 1fr 1fr;gap:4px;padding:2px 4px;border-bottom:1px solid var(--line);align-items:baseline}.dev-reactor-row--added{color:#6f6}.dev-reactor-row--modified{color:#fc6}.dev-reactor-row--erased{color:#f66}.dev-reactor-row--unerased{color:#6cf}.dev-reactor-time{color:var(--muted, #888)}.dev-reactor-kind{font-weight:600}.dev-reactor-handle{color:#ddd}.dev-reactor-class{color:var(--muted, #888)}.measure-overlay{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}.measure-line{stroke:#fc6;stroke-width:1.5;stroke-dasharray:6 4}.measure-anchor{fill:#fc6}.measure-cursor{fill:#fff;stroke:#fc6;stroke-width:1.5}.measure-label-bg{fill:#000000c7;stroke:#fc6;stroke-width:1}.measure-label{font:11px var(--mono, monospace);fill:#fc6}.measure-label--small{fill:#ddd;font-size:10px}.canvas-overlay.tool-measure-dist{cursor:crosshair}.hover-tooltip{position:absolute;pointer-events:none;background:#000000d1;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:11px;font-family:var(--mono, monospace);z-index:50;max-width:240px}.hover-tooltip__row{display:flex;gap:6px;align-items:center}.hover-tooltip__row--meta{color:var(--muted, #aaa);margin-top:2px}.hover-tooltip__type{color:#6cf;font-weight:600}.hover-tooltip__handle{color:var(--muted, #888);font-size:10px}.minimap{position:absolute;top:8px;right:8px;background:#000000c7;border:1px solid #555;border-radius:4px;padding:4px;font-size:11px;pointer-events:auto;z-index:40}.minimap--empty .minimap__placeholder{width:220px;padding:16px;text-align:center;color:var(--muted, #888);font-size:11px}.minimap__header{display:flex;align-items:center;gap:6px;padding:0 4px 4px;border-bottom:1px solid #444;margin-bottom:4px}.minimap__count{font-size:10px;color:var(--muted, #aaa);margin-left:auto}.minimap__header button{background:none;border:none;color:#aaa;cursor:pointer;font-size:14px;padding:0 4px}.minimap__header button:hover{color:#fff}.minimap__svg{background:#ffffff0a;border-radius:3px;cursor:crosshair;display:block}.minimap__svg line,.minimap__svg circle,.minimap__svg path,.minimap__svg ellipse,.minimap__svg polyline,.minimap__svg polygon{vector-effect:non-scaling-stroke}.minimap__viewport{fill:#6cccff2e;stroke:#6cf;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.minimap__toggle{position:absolute;top:8px;right:8px;background:#0009;border:1px solid #555;color:#ddd;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:14px;z-index:40;pointer-events:auto}.dev-reactor-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:4px;font-size:11px}.dev-reactor-toggle{display:flex;align-items:center;gap:3px}.dev-reactor-toggle input{margin:0}.dev-reactor-search{font-family:var(--mono, monospace);font-size:11px;padding:2px 6px;flex:1 1 80px;min-width:80px}.kbd-help-card{width:580px;max-height:86vh;overflow-y:auto}.kbd-help-body{display:flex;flex-direction:column;gap:6px}.kbd-help-table{width:100%;border-collapse:collapse;font-size:11px}.kbd-help-table td{padding:3px 6px;vertical-align:middle}.kbd-help-keys{white-space:nowrap;min-width:110px}kbd{background:var(--bg-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:1px 6px;font-family:var(--mono, monospace);font-size:10px;color:#ddd}.measure-line.measure--historic{stroke:#c80;stroke-dasharray:3 3;stroke-width:1;opacity:.7}.measure-anchor.measure--historic{fill:#c80;opacity:.85}.measure-cursor.measure--historic{fill:#fff;stroke:#c80;opacity:.85}.measure-label-bg.measure--historic{fill:#0009;stroke:#c80;opacity:.85}.measure-label.measure--historic{fill:#c80;opacity:.95}.measure-label--snap{fill:#6f6}.measure-area-poly{fill:#ffcc661f;stroke:none}.measure-area-poly.measure--historic{fill:#cc88001a}.measure-area-edge{stroke:#fc6;stroke-width:1.5;stroke-dasharray:6 4;fill:none}.measure-area-edge.measure--historic{stroke:#c80;stroke-width:1;stroke-dasharray:3 3;fill:none;opacity:.75}.measure-angle-arc{stroke:#fc6;stroke-width:1.5;fill:none}.measure-angle-arc.measure--historic{stroke:#c80;stroke-width:1;fill:none;opacity:.85}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.005em}[data-lang=ko] body,html[lang=ko] body{letter-spacing:-.003em;word-break:keep-all}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:6px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--fg-mute)}*::-webkit-scrollbar-track{background:transparent}button{font-family:var(--sans);font-weight:500;letter-spacing:-.005em;transition:background-color .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}button.primary{color:var(--white)}button.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}input,select,textarea{font-family:var(--sans)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.topbar button{background:transparent;border:1px solid transparent;color:var(--fg-2);height:32px;font-size:12.5px}.topbar button:hover:not(:disabled){background:var(--surface-3);color:var(--fg);border-color:transparent}.topbar button:disabled{opacity:.4}.topbar select{background:var(--surface-2);border-color:var(--divider-s);color:var(--fg);height:30px}.topbar__group label{font-family:var(--mono);letter-spacing:.1em;color:var(--fg-3)}.topbar__crumb{display:flex;align-items:center;gap:7px;padding-left:12px;border-left:1px solid var(--divider);font-family:var(--mono);font-size:10px;color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase}.topbar__crumb b{color:var(--fg);font-weight:600}.topbar__crumb .sep{color:var(--fg-mute)}.topbar__doc{display:flex;align-items:center;gap:9px;padding-left:12px;border-left:1px solid var(--divider);min-width:0}.topbar__doc .name{font-size:13px;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.topbar__doc .indexed{font-family:var(--mono);font-size:10px;color:var(--spark-d);letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.topbar__doc .indexed:before{content:"";width:6px;height:6px;background:var(--spark);border-radius:50%}.panel__header{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);border-color:var(--divider)}.panel__header strong,.panel__header b{color:var(--fg);font-weight:600}.statusbar{font-family:var(--mono);letter-spacing:.02em}.statusbar strong{color:var(--fg);font-weight:600}.statusbar__snap{font-family:var(--mono);border-radius:var(--r-pill);padding:1px 7px}.statusbar__snap.is-on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:transparent}.statusbar__dot[data-state=ready]{box-shadow:0 0 0 3px color-mix(in srgb,var(--spark) 26%,transparent)}.modal{background:var(--overlay);backdrop-filter:blur(2px)}.modal__card{background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.ai-panel{display:flex;flex-direction:column;height:100%}.ai-head{padding:12px;border-bottom:1px solid var(--divider)}.ai-head__title{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;color:var(--fg)}.ai-head__title .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.ai-head__sub{color:var(--fg-3);font-size:11.5px;line-height:1.5;margin-top:5px}.ai-suggest{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid var(--divider)}.ai-chip{background:var(--surface-3);color:var(--fg-2);border:1px solid var(--divider);border-radius:var(--r-pill);padding:3px 10px;font-size:11px;cursor:pointer}.ai-chip:hover:not(:disabled){border-color:var(--accent);color:var(--fg)}.ai-input-row{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--divider)}.ai-input-row input{flex:1}.ai-send{background:var(--accent);color:var(--white);border:none;border-radius:var(--r-sm);padding:6px 14px}.ai-send:hover:not(:disabled){background:var(--accent-d);border-color:transparent}.ai-thread{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.ai-empty{color:var(--fg-mute);font-size:12px;padding-top:6px}.ai-msg{padding:9px 11px;background:var(--surface-2);border:1px solid var(--divider);border-left:2px solid var(--accent);border-radius:var(--r-sm)}.ai-msg__q{color:var(--fg);font-size:12.5px;margin-bottom:6px}.ai-msg__meta{display:flex;align-items:center;gap:8px;font-size:11px}.ai-run{background:var(--accent);color:var(--white);border:none;border-radius:var(--r-sm);padding:2px 9px;font-size:11px;font-family:var(--mono)}.ai-run:hover:not(:disabled){background:var(--accent-d)}.ai-run.is-ran,.ai-run.is-ran:hover{background:color-mix(in srgb,var(--spark) 20%,transparent);color:var(--spark-d)}.ai-nomatch{color:var(--critical);font-family:var(--mono);font-size:11px}.ai-conf{color:var(--accent);font-family:var(--mono)}.ai-note{color:var(--fg-3);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdpal{position:fixed;inset:0;background:var(--overlay);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;backdrop-filter:blur(2px)}.cmdpal__card{width:min(640px,92vw);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);overflow:hidden}.cmdpal__head{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid var(--divider)}.cmdpal__head .ico{color:var(--accent);font-size:15px}.cmdpal__input{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-size:15px;padding:0}.cmdpal__input:focus{box-shadow:none;border:none}.cmdpal__list{max-height:46vh;overflow-y:auto}.cmdpal__empty{padding:14px;color:var(--fg-3);font-size:13px}.cmdpal__item{display:flex;align-items:center;gap:10px;padding:9px 15px;cursor:pointer}.cmdpal__item.is-sel{background:color-mix(in srgb,var(--accent) 12%,transparent)}.cmdpal__name{color:var(--fg);font-weight:600;min-width:100px}.cmdpal__desc{color:var(--fg-3);font-size:12.5px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdpal__hint{color:var(--fg-mute);font-family:var(--mono);font-size:11px}.cmdpal__hint.is-ai{color:var(--accent)}.cmdpal__foot{padding:8px 15px;border-top:1px solid var(--divider);color:var(--fg-mute);font-family:var(--mono);font-size:10.5px;display:flex;justify-content:space-between;letter-spacing:.04em}.minimap,.hover-tooltip{background:color-mix(in srgb,var(--surface) 90%,transparent);border-color:var(--divider-s);color:var(--fg);backdrop-filter:blur(6px)}.minimap__header{border-color:var(--divider)}.minimap__count,.hover-tooltip__row--meta{color:var(--fg-3)}.palette{min-height:0;overscroll-behavior:contain}.shell__tabbar{display:flex;align-items:stretch;background:var(--surface-2);border-bottom:1px solid var(--divider)}.shell__tabs{flex:1;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-behavior:smooth;background:transparent;border-bottom:none;scrollbar-width:none}.shell__tabs::-webkit-scrollbar{display:none}.shell__tab{flex:0 0 auto;padding:9px 13px}.shell__tabnav{flex:0 0 auto;width:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;color:var(--fg-3);cursor:pointer;font-size:15px;line-height:1}.shell__tabnav:hover:not(:disabled){background:var(--surface-3);color:var(--fg)}.shell__tabnav:disabled{opacity:.3;cursor:default}.viewbar{position:absolute;top:10px;left:10px;z-index:30;display:flex;gap:6px;padding:4px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--divider-s);border-radius:var(--r-md);box-shadow:var(--shadow-card);backdrop-filter:blur(8px);pointer-events:auto}.viewbar__group{display:flex;gap:2px}.viewbar__group+.viewbar__group{padding-left:6px;margin-left:2px;border-left:1px solid var(--divider)}.viewbar__btn{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--fg-2);cursor:pointer;font-size:14px;line-height:1}.viewbar__btn:hover{background:var(--surface-3);color:var(--fg)}.viewbar__btn.is-on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-color:transparent}.viewpill{position:absolute;bottom:10px;left:10px;z-index:30;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--divider-s);border-radius:var(--r-pill);box-shadow:var(--shadow-card);backdrop-filter:blur(8px);font-family:var(--mono);font-size:11px;color:var(--fg);letter-spacing:.02em;pointer-events:none}.viewpill .mono{color:var(--fg-mute);font-size:10px}.viewpill--idle{color:var(--fg-3)}.layers__tbl th,.fonts-table th{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:500;background:var(--surface-2)}.layers__tbl tr:hover td,.fonts-table tbody tr:hover td{background:var(--surface-3)}.layers__tbl td,.fonts-table td{color:var(--fg-2)}.fonts-reg-chip,.fonts-flags .tag,.blocks__tag,.block-geom-info .tag{border-radius:var(--r-sm);border-color:var(--divider);background:var(--surface-3);color:var(--fg-2)}.aids-mini th{font-family:var(--mono);color:var(--fg-3)}.panel--empty{color:var(--fg-mute)}.kbd-help-table td,.aids-details,.fonts-table{color:var(--fg-2)}.topbar__logo{display:flex;align-items:center;gap:9px;padding-right:14px;margin-right:2px;border-right:1px solid var(--divider);flex-shrink:0}.topbar__logo-mark{display:block;flex-shrink:0;color:var(--ink)}[data-theme=dark] .topbar__logo-mark{color:var(--fg)}.topbar__logo-word{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--fg)}.topbar{gap:8px}.topbar__group{gap:2px;padding:0 6px;position:relative}.topbar__group+.topbar__group:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);height:18px;width:1px;background:var(--divider)}.shell__panel{overflow-x:hidden}.panel,.fonts-panel,.aids-panel,.dev-panel{max-width:100%;min-width:0}.layers__tbl,.fonts-table{table-layout:fixed;width:100%}.layers__tbl td,.layers__tbl th,.fonts-table td,.fonts-table th{overflow:hidden;text-overflow:ellipsis}.layers__lt-input{width:100%;min-width:0;max-width:100%}.layers__color-input{width:100%;max-width:56px}.layers__add{flex-wrap:wrap}.layers__tbl-wrap{flex:1 1 0;min-height:120px;overflow-y:auto;overflow-x:hidden;min-width:0}.layers__tbl-wrap .layers__tbl thead th{position:sticky;top:0;z-index:1;background:var(--surface-2)}.panel__row,.panel__value{min-width:0}.panel__value input,.panel__value select{min-width:0;max-width:100%}.aids-pts-list,.dev-output,.dev-reactor-log{max-width:100%}.topbar,.statusbar,.palette,.shell__panel,.shell__center,.panel,.panel--empty,.cmdline,.command-line,.commandline,.layers__tbl,.layers__tbl-wrap,.fonts-table,.fonts-table-wrap,.pdf-group,.dev-code,.dev-output,.dev-recipe,.block-geom-svg-wrap,.modal__card,.cmdpal__card,.minimap,.minimap__svg,.minimap__toggle,.hover-tooltip,.canvas-overlay__drop-hint,.viewpill,.viewbar{border-radius:0!important}button,input,select,textarea,.palette__btn,.ai-send,.ai-run,.ai-msg,.ai-chip,.fonts-reg-chip,.fonts-flags .tag,.blocks__tag,.block-geom-info .tag,.statusbar__snap,.viewbar__btn,.kbd,kbd{border-radius:var(--r-sm)}.statusbar__dot,.ai-head__title .dot,.topbar__doc .indexed:before{border-radius:50%}button:active:not(:disabled){transform:none;background:var(--bg-3)}button,.palette__btn{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible,.palette__btn:focus-visible,.shell__tab:focus-visible{outline:var(--bw-rule) solid var(--accent);outline-offset:2px}input:focus,select:focus,textarea:focus{box-shadow:none}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--fg)}.panel__header,.statusbar,.viewpill,.topbar__crumb{letter-spacing:.04em}.app-splash{position:relative;isolation:isolate}.app-splash:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--divider) 1px,transparent 1px),linear-gradient(to bottom,var(--divider) 1px,transparent 1px);background-size:var(--grid-cell) var(--grid-cell);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 38%,black 25%,transparent 85%);mask-image:radial-gradient(ellipse 70% 60% at 50% 38%,black 25%,transparent 85%)}.panel__header{display:flex;align-items:center;gap:9px;padding-bottom:7px;margin-bottom:2px;border-bottom:1px solid var(--divider)}.panel__header:before{content:"";width:5px;height:5px;flex-shrink:0;background:var(--ink)}[data-theme=dark] .panel__header:before{background:var(--accent)}.panel__header:after{content:"";flex:1;height:1px;background:var(--divider)}.panel--empty{border:1px solid var(--divider);padding:18px 16px;text-align:center;color:var(--fg-mute);font-size:12px;line-height:1.6}.statusbar__snap{border:1px solid var(--divider);border-radius:var(--r-sm)}.statusbar__snap.is-on{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.statusbar__snap--master.is-on{color:var(--accent)}.wm-empty{display:flex;flex-direction:column;gap:12px}.wm-hint{color:var(--fg-3);font-size:11.5px;line-height:1.55;margin:0}.wm-error{color:var(--critical);font-family:var(--mono);font-size:11px;margin:4px 0 0}.wm-card{display:flex;align-items:center;gap:10px;border:1px solid var(--divider);padding:8px;position:relative}.wm-thumb{width:48px;height:48px;object-fit:contain;flex-shrink:0;background:var(--viewport);border:1px solid var(--divider)}.wm-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.wm-meta__id{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.wm-meta__dim{font-family:var(--mono);font-size:11px;color:var(--fg-2)}.wm-x{margin-left:auto;align-self:flex-start;border:1px solid var(--divider);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--fg-3);background:transparent;flex-shrink:0}.wm-x:hover{border-color:var(--critical);color:var(--critical);background:transparent}.wm-field{display:flex;flex-direction:column;gap:6px}.wm-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);display:flex;justify-content:space-between;align-items:center}.wm-val{color:var(--accent)}.wm-anchors{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:96px}.wm-anchor{aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--divider);background:var(--surface);color:var(--fg-3);font-size:12px;line-height:1;padding:0}.wm-anchor:hover{border-color:var(--divider-s);background:var(--surface-3);color:var(--fg)}.wm-anchor.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.wm-field input[type=range]{width:100%;accent-color:var(--accent)}.wm-actions{display:flex;gap:6px}.wm-actions button{flex:1}.blocks__cell{border-radius:0}.blocks__cell img,.blocks__placeholder{border-radius:0;border:1px solid var(--divider)}.blocks__cell--btn:hover{background:var(--surface-3)}.blocks__cell--btn:hover img,.blocks__cell--btn:hover .blocks__placeholder{border-color:var(--accent)}.blocks__tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:0}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;border-radius:var(--r-sm)}.topbar select{background-color:var(--surface-2);background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select:hover:not(:disabled){background-image:linear-gradient(45deg,transparent 50%,var(--fg) 50%),linear-gradient(135deg,var(--fg) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.topbar__group button,.palette__btn{background:transparent;border-color:transparent}.topbar__group button:hover:not(:disabled){background:var(--surface-3);border-color:var(--divider-s)}.topbar__group button:disabled{background:transparent;border-color:transparent;color:var(--fg-mute)}.panel button:not(.ai-send):not(.ai-run),.modal__card button:not(.ai-send){background:var(--surface);border-color:var(--divider)}.panel button:not(.ai-send):not(.ai-run):hover:not(:disabled),.modal__card button:not(.ai-send):hover:not(:disabled){background:var(--surface-3);border-color:var(--divider-s)}.shell__tab{flex:1 1 0;min-width:36px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);border:none;border-radius:0;background:transparent;position:relative;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.shell__tab:hover:not(.is-active){color:var(--fg);background:var(--surface-3)}.shell__tab.is-active{color:var(--accent);background:var(--surface);box-shadow:inset 0 -2px 0 var(--accent)}.shell__tab svg{display:block}.shell__panel-title{display:flex;align-items:center;gap:9px;padding:9px 12px 8px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);background:var(--surface);border-bottom:1px solid var(--divider)}.shell__panel-title:before{content:"";width:5px;height:5px;flex-shrink:0;background:var(--accent)}.shell__panel-title:after{content:"";flex:1;height:1px;background:var(--divider)}.panel__row--stat{grid-template-columns:1fr auto;padding:4px 0}.panel__stat-val{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--fg);letter-spacing:.01em;text-align:right}.panel__hint{display:flex;gap:9px;margin:4px 0 0;padding:10px 11px;border:1px solid var(--divider);border-left:2px solid var(--accent);background:var(--surface-2);color:var(--fg-3);font-size:11.5px;line-height:1.55}.panel__hint-mark{flex-shrink:0;width:6px;height:6px;margin-top:4px;background:var(--accent)}.palette__icon{height:18px}.palette__icon svg{width:18px;height:18px}.palette__label{font-size:10px}.palette__btn:disabled{opacity:1;cursor:not-allowed}.palette__btn:disabled .palette__icon,.palette__btn:disabled .palette__label{color:var(--fg-3);opacity:.5}.palette__title{color:var(--fg-2)}.palette__btn.is-active{box-shadow:inset 2px 0 0 var(--accent)}[data-theme=dark] .palette__btn{background:color-mix(in srgb,var(--surface) 60%,transparent)}[data-theme=dark] .palette__btn:hover:not(:disabled){background:var(--surface-3)}[data-theme=dark] .palette__icon{color:var(--fg-2)}.cmdline__log{flex:none;height:168px}.cmdline.is-collapsed .cmdline__log{display:none}.cmdline.is-collapsed{border-top:1px solid var(--divider)}.cmdline__input-row{position:relative}.cmdline__collapse{flex-shrink:0;width:26px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--fg-3);font-size:12px;line-height:1}.cmdline__collapse:hover{background:var(--surface-3);color:var(--fg);border-color:var(--divider-s)}.layers__list{flex:1 1 0;min-height:120px;overflow-y:auto;overflow-x:hidden;min-width:0}.layers__item{display:flex;flex-direction:column;gap:4px;padding:7px 4px 7px 8px;border-bottom:1px solid var(--divider);border-left:2px solid transparent}.layers__item.is-current{background:color-mix(in srgb,var(--accent) 7%,transparent);border-left-color:var(--accent)}.layers__head{display:flex;align-items:center;gap:6px;min-width:0}.layers__cur{flex-shrink:0;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;cursor:pointer}.layers__cur-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--fg-mute);background:transparent;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.layers__cur.is-on .layers__cur-dot{background:var(--accent);border-color:var(--accent)}.layers__cur:hover .layers__cur-dot{border-color:var(--accent)}.layers__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--fg)}.layers__flags{display:flex;gap:2px;flex-shrink:0}.layers__flag{width:22px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.02em;color:var(--fg-mute);background:transparent;border:1px solid var(--divider);border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.layers__flag:hover{color:var(--fg);border-color:var(--divider-s)}.layers__flag.is-on{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.layers__flag--warn.is-on{color:var(--signal-d);background:color-mix(in srgb,var(--signal) 16%,transparent);border-color:color-mix(in srgb,var(--signal) 42%,transparent)}.layers__del{flex-shrink:0;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--fg-mute);font-size:14px;line-height:1;cursor:pointer}.layers__del:hover:not(:disabled){color:var(--critical);border-color:color-mix(in srgb,var(--critical) 40%,transparent)}.layers__del:disabled{opacity:.3;cursor:not-allowed}.layers__meta{display:flex;align-items:center;gap:6px;padding-left:24px;min-width:0}.layers__color{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.layers__color .swatch{width:13px;height:13px;border:1px solid var(--divider-s);flex-shrink:0}.layers__aci{width:46px;padding:2px 4px;font-family:var(--mono);font-size:11px;text-align:right}.layers__lt{flex:1 1 auto;min-width:0;max-width:100%;padding:2px 6px;font-size:11px}.layers__lw{flex-shrink:0;min-width:36px;text-align:right;font-family:var(--mono);font-size:10.5px;color:var(--fg-3);white-space:nowrap}.blocks__grid{align-items:start}.blocks__cell{gap:5px;min-height:0;padding:5px}.blocks__thumb{width:100%;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--viewport);border:1px solid var(--divider)}.blocks__cell--btn:hover .blocks__thumb{border-color:var(--accent)}.blocks__thumb img{width:100%;height:100%;object-fit:contain;border:none;background:transparent}.blocks__svgthumb{width:100%;height:100%;max-height:100%}.blocks__ph{color:var(--fg-mute);font-size:14px;line-height:1}.blocks__name{font-family:var(--mono);font-size:9.5px;letter-spacing:.01em;color:var(--fg-2)}.fonts-table td,.fonts-table th{padding:4px 6px}.fonts-panel .tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em}.fonts-link{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.fonts-link:hover{color:var(--accent-d);border-bottom-color:var(--accent)}.fonts-reg-chip{font-family:var(--mono);font-size:10.5px}.aids-row button,.dev-toolbar button,.layers__snap button{font-size:11px}.dev-panel .dev-toolbar button.primary{color:var(--white);background:var(--accent);border-color:var(--accent)}.dev-panel .dev-toolbar button.primary:hover:not(:disabled){background:var(--accent-d);border-color:var(--accent-d)}.grip-hud{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:35;pointer-events:none;display:inline-flex;align-items:center;padding:5px 12px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--accent);box-shadow:var(--shadow-card);backdrop-filter:blur(8px);font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--fg);white-space:nowrap}
