.ribbon.ribbon--professional{background:var(--surface);color:var(--fg);border-bottom:1px solid var(--divider-s)}.ribbon.ribbon--professional .ribbon__panels{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;padding:6px 10px 3px;min-height:70px;box-sizing:border-box}.ribbon.ribbon--professional .ribbon__panel{flex:0 0 auto;min-width:0;padding:0 10px;border-right:1px solid var(--divider-s)}.ribbon.ribbon--professional .ribbon__panel:first-child{padding-left:0}.ribbon.ribbon--professional .ribbon__panel:last-child{border-right:0}.ribbon.ribbon--professional .ribbon__group{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;min-height:42px}.ribbon.ribbon--professional .ribbon__panel-title{padding:5px 2px 2px;margin-top:auto;color:var(--fg-2);font-size:13px;font-weight:600;line-height:15px;letter-spacing:0;text-align:center}.ribbon-tool-wrap{display:inline-flex;flex:0 0 auto}.ribbon .ribbon-tool,.ribbon .ribbon__overflow-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg);cursor:pointer;transition:background-color .1s ease,color .1s ease,border-color .1s ease}[data-theme=dark] .ribbon .ribbon-tool{background:transparent}.ribbon .ribbon-tool:hover:not(:disabled),.ribbon .ribbon__overflow-trigger:hover{background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}.ribbon .ribbon-tool.is-active,.ribbon .ribbon__overflow-trigger.is-open,.ribbon .ribbon__overflow-trigger.is-active{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,var(--divider))}.ribbon .ribbon-tool:disabled{opacity:.35;cursor:default}.ribbon .ribbon-tool:focus-visible,.ribbon .ribbon__overflow-trigger:focus-visible,.ribbon .ribbon__overflow-item:focus-visible,.ribbon .ribbon__mobile-tool:focus-visible,.ribbon .ribbon__mobile-group:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ribbon-tool__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.ribbon .ribbon-tool__icon svg,.ribbon .ribbon__mobile-tool>svg{overflow:visible;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.ribbon .ribbon-tool__icon svg>:not(g),.ribbon .ribbon__mobile-tool>svg>:not(g){transform:scale(1.2);transform-origin:12px 12px;vector-effect:non-scaling-stroke}.ribbon .ribbon-tool__icon svg .icon-pt,.ribbon .ribbon__mobile-tool>svg .icon-pt{clip-path:inset(.7px)}.ribbon .ribbon-tool__icon svg *,.ribbon .ribbon__mobile-tool>svg *,.ribbon .ribbon__overflow-item svg *{stroke-width:.75px;vector-effect:non-scaling-stroke}.ribbon .ribbon-icon--revcloud{width:28px;height:28px;flex:none;overflow:visible}.ribbon .ribbon__mobile-tool>.ribbon-icon--revcloud{width:26px;height:26px}.ribbon .ribbon__overflow-item .ribbon-icon--revcloud{width:24px;height:24px;flex-basis:24px;margin-inline:-2px}.ribbon-tool__indicator{position:absolute;left:11px;right:11px;bottom:2px;height:2px;border-radius:1px;background:currentColor}.ribbon .ribbon__overflow{position:relative;flex:0 0 auto}.ribbon .ribbon__overflow-trigger svg{stroke-width:1}.ribbon .ribbon__overflow-trigger>span:first-child{font-size:24px;line-height:1;font-weight:600;letter-spacing:1px;transform:translateY(-3px)}.ribbon .ribbon__overflow-menu{position:absolute;z-index:90;top:calc(100% + 5px);left:0;min-width:224px;max-width:calc(100vw - 24px);max-height:min(65vh,480px);overflow-y:auto;padding:5px;border:1px solid var(--divider-s);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-pop)}.ribbon .ribbon__panel:last-child .ribbon__overflow-menu{left:auto;right:0}.ribbon .ribbon__overflow-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:6px 9px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--fg);text-align:left;font-size:12px;cursor:pointer}.ribbon .ribbon__overflow-item svg{flex:0 0 20px;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.ribbon .ribbon__overflow-item:hover:not(:disabled),.ribbon .ribbon__overflow-item.is-active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.ribbon .ribbon__overflow-item:disabled{opacity:.35;cursor:default}.ribbon .ribbon__overflow-item kbd{margin-left:auto;border:0;background:transparent;color:var(--fg-3);font:10px var(--mono)}.ribbon-tooltip[role=tooltip]{position:fixed;z-index:1600;display:flex;flex-direction:column;gap:7px;box-sizing:border-box;width:min(280px,calc(100vw - 16px));padding:11px 12px;border:1px solid var(--divider-s);border-radius:var(--r-sm);background:var(--surface);color:var(--fg-2);box-shadow:var(--shadow-pop);font-size:12px;line-height:1.5;pointer-events:none}.ribbon-tooltip[role=tooltip] strong{display:flex;align-items:center;gap:12px;color:var(--fg);font-size:12px;font-weight:600}.ribbon-tooltip[role=tooltip] kbd{margin-left:auto;padding:1px 5px;border:1px solid var(--divider);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font:10px/1.5 var(--mono)}.ribbon-tooltip[role=tooltip] em{color:var(--accent);font-size:11px;font-style:normal}.ribbon.ribbon--professional[data-density=narrow] .ribbon__panel{padding-inline:6px}.ribbon.ribbon--professional .ribbon__mobile-tool{color:var(--fg)}.ribbon.ribbon--professional .ribbon__mobile-tool.is-active{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent);border-color:var(--accent)}.ribbon.ribbon--professional .ribbon__mobile-tool:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}@media (max-width: 760px){.ribbon.ribbon--professional .ribbon__panels{display:none}}@media (prefers-reduced-motion: reduce){.ribbon .ribbon-tool,.ribbon .ribbon__overflow-trigger{transition:none}}.ribbon .ribbon__fly-caret:disabled{cursor:default;opacity:.35}.ribbon .ribbon__fly-menu{min-width:0;inline-size:max-content;max-width:calc(100vw - var(--s-6))}.ribbon .ribbon__fly-menu .ribbon__overflow-item{white-space:normal}.ribbon .ribbon__mobile-tool--variant{inline-size:auto;block-size:auto;display:flex;gap:var(--s-2);padding:var(--s-2)}.ribbon .ribbon__mobile-tool--variant{grid-column:span 2}.ribbon .ribbon__mobile-tool--variant span{font-size:var(--fs-micro);white-space:normal;overflow-wrap:anywhere}.cmdline__curve-options{display:flex;gap:var(--s-1);overflow-x:auto;min-width:0}.cmdline__curve-options button{flex:none}.diminput--curve{display:flex;align-items:center;gap:var(--s-1);max-inline-size:calc(100vw - var(--s-6));color:var(--fg);background:var(--surface);padding:var(--s-1);font-size:var(--fs-micro)}.diminput--curve input{min-inline-size:0}.cmdline__corner-status.cmdline__corner-status--curve{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3)}.cmdline__corner-status--curve .cmdline__corner-error{flex:1 1 auto;min-width:0;block-size:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdline__curve-prompt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ribbon .ribbon__overflow-item>span{min-inline-size:0;overflow-wrap:anywhere}.ribbon .ribbon__overflow-item kbd{min-inline-size:0;overflow-wrap:anywhere;white-space:normal}.ribbon-tooltip[role=tooltip] strong{flex-wrap:wrap}.ribbon-tooltip[role=tooltip] kbd{min-inline-size:0;overflow-wrap:anywhere;white-space:normal}.move-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7;overflow:visible}.move-guide__vector{stroke:var(--accent);stroke-width:var(--bw-hair);stroke-dasharray:var(--s-2) var(--s-1)}.move-guide__base{fill:var(--surface);stroke:var(--accent);stroke-width:var(--bw-rule)}.move-guide__target{fill:var(--accent)}.move-guide__distance{fill:var(--fg);stroke:var(--surface);stroke-width:var(--s-1);paint-order:stroke;font-family:var(--mono);font-size:var(--fs-caption);text-anchor:middle}.pick-banner__error{position:absolute;bottom:100%;left:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface);color:var(--critical);border:var(--bw-hair) solid var(--divider-s);font-size:var(--fs-caption)}.modify-preview{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}.modify-preview__result{fill:none;stroke:var(--accent);stroke-width:var(--bw-rule);stroke-dasharray:var(--s-2) var(--s-1)}.modify-preview--break .modify-preview__result{stroke:var(--critical);stroke-dasharray:var(--s-2) var(--s-1)}.modify-preview__axis{stroke:var(--accent);stroke-width:var(--bw-hair);stroke-dasharray:var(--s-2) var(--s-1)}.modify-preview__point{r:var(--s-1);fill:var(--surface);stroke:var(--accent);stroke-width:var(--bw-rule)}.canvas-context-menu,.canvas-context-menu__submenu{position:fixed;z-index:300;min-width:calc(var(--s-7) * 5);max-width:calc(100vw - var(--s-4));padding:var(--s-1);background:var(--surface);color:var(--fg);border:var(--bw-hair) solid var(--divider-s);border-radius:var(--r-sm);box-shadow:var(--shadow-pop)}.canvas-context-menu button{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);width:100%;min-height:var(--s-6);padding:var(--s-2) var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:inherit;font-size:var(--fs-caption);text-align:left}.canvas-context-menu button:hover:not(:disabled),.canvas-context-menu button:focus-visible{background:var(--surface-3)}.canvas-context-menu button:focus-visible{outline:var(--bw-rule) solid var(--accent);outline-offset:calc(-1 * var(--bw-rule))}.canvas-context-menu button:disabled{color:var(--fg-3);cursor:default}.canvas-context-menu kbd{font-family:var(--mono);font-size:var(--fs-micro);color:var(--fg-3)}.canvas-context-menu [role=separator]{margin:var(--s-1) 0;border-top:var(--bw-hair) solid var(--divider-s)}.drafting-settings{display:grid;gap:var(--s-4);color:var(--fg)}.drafting-settings fieldset{display:grid;gap:var(--s-2);padding:var(--s-3);border:var(--bw-hair) solid var(--line)}.drafting-settings legend{font-weight:600}.drafting-settings label{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.drafting-settings label:has(input[type=checkbox]){justify-content:flex-start}.drafting-settings input[type=number]{min-width:0;width:calc(var(--s-8) * 2);padding:var(--s-1);background:var(--bg-1);color:var(--fg);border:var(--bw-hair) solid var(--line)}.drafting-settings p{margin:0;color:var(--fg-2);font-size:var(--fs-caption)}.drafting-settings__snaps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.precision__aids{gap:0;margin-left:var(--s-1);padding-left:var(--s-1)}.precision .statusbar__snap:is(:has(svg),.statusbar__snap--glyph){display:inline-flex;align-items:center;justify-content:center;width:var(--s-5);min-width:var(--s-5);height:var(--s-5);padding:0;border-radius:0;border-color:transparent;background:transparent;color:var(--fg-3)}.precision .statusbar__snap:is(:has(svg),.statusbar__snap--glyph) svg{width:var(--s-4);height:var(--s-4)}.precision .statusbar__snap:is(:has(svg),.statusbar__snap--glyph).is-on{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent)}.precision .statusbar__snap:is(:has(svg),.statusbar__snap--glyph):hover{color:var(--fg);background:var(--surface-3)}.precision__scale{max-width:calc(var(--s-8) * 2);height:var(--s-5);color:var(--fg-2);background:var(--surface-2);border:var(--bw-hair) solid transparent;font:inherit}.annotation-scale-list{list-style:none;padding:0;margin:0;max-height:calc(var(--s-8) * 3);overflow:auto}.annotation-scale-list li{display:flex;align-items:center;gap:var(--s-2);border-bottom:var(--bw-hair) solid var(--line)}.annotation-scale-list li>span:first-child{flex:1}.drafting-settings input:not([type=checkbox]),.drafting-settings select{min-width:0;color:var(--fg);background:var(--bg-1);border:var(--bw-hair) solid var(--line)}.drafting-settings-host [role=dialog]{max-height:calc(100dvh - var(--s-6))}.drafting-settings-host [role=dialog]>div:nth-child(2){min-height:0}.dynamic-coordinate{position:fixed;z-index:90;display:flex;flex-direction:column;gap:var(--s-1);color:var(--fg);background:var(--surface);padding:var(--s-1);border:var(--bw-hair) solid var(--accent)}.dynamic-coordinate input{width:calc(var(--s-8) * 3);color:var(--fg);background:var(--bg-1);border:var(--bw-hair) solid var(--line)}.drafting-settings-host [role=dialog]{width:calc(var(--s-8) * 12)!important;max-width:100%}.drafting-settings__actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--s-1);width:100%}.precision .statusbar__snap:is(:has(svg),.statusbar__snap--glyph):not(:disabled){color:var(--fg)}.drafting-settings__actions button{min-height:0;height:calc(var(--s-4) + var(--s-3));padding:0 var(--s-3);font-size:var(--fs-caption)}.drafting-settings-host [role=dialog]>:last-child:has(.drafting-settings__actions){padding:var(--s-4) var(--s-5)}.precision .statusbar__snap--glyph{font-family:var(--sans);font-size:var(--fs-body);font-weight:600;line-height:1}.block-insert-preview__marker{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;color:var(--accent)}.block-insert-preview__marker path,.block-insert-preview__marker circle{fill:var(--surface);stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}.block-insert-preview__hud{position:absolute;z-index:8;box-sizing:border-box;display:grid;gap:var(--s-1);max-width:min(280px,calc(100% - var(--s-4)));padding:var(--s-2) var(--s-3);color:var(--fg);background:var(--surface);border:var(--bw-hair) solid var(--divider-s);border-radius:var(--r-sm);box-shadow:var(--shadow-pop);pointer-events:auto;overscroll-behavior:contain}.block-insert-preview__hud strong{font-size:var(--fs-caption-md)}.block-insert-preview__hud span,.block-insert-preview__hud small{font-size:var(--fs-caption-sm);color:var(--fg-3)}.block-insert-preview__hud.is-invalid{border-color:var(--critical)}.block-insert-preview__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2);pointer-events:auto}.block-insert-preview__controls label{display:grid;grid-template-columns:1fr auto;gap:var(--s-1);align-items:center;font-size:var(--fs-caption-sm);color:var(--fg-3)}.block-insert-preview__controls kbd{font:inherit;color:var(--fg-3)}.block-insert-preview__controls input{grid-column:1 / -1;min-width:0;width:100%;color:var(--fg);background:var(--surface);border:var(--bw-hair) solid var(--divider-s);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);font:inherit}.block-insert-preview__controls input:focus{border-color:var(--accent);outline:none}.block-insert-preview__controls .block-insert-preview__uniform{grid-column:1 / -1;display:flex;gap:var(--s-2)}.block-insert-preview__uniform input{width:auto}.block-insert-preview__hud{overflow-y:auto;overflow-wrap:anywhere}.lsel__trigger{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;height:28px;min-width:96px;max-width:180px;padding:0 8px;background:var(--surface-2);border:0;border-radius:var(--r-sm);color:var(--fg-2);font:11px var(--mono);text-align:left;cursor:pointer}.lsel__trigger:hover:not(:disabled){background:var(--surface-3);color:var(--fg)}.lsel__trigger:disabled{opacity:.5;cursor:default}.lsel__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lsel__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.lsel__caret{font-size:9px;color:var(--fg-3)}.lsel__swatch{width:14px;height:14px;flex:0 0 14px;border-radius:3px}.lsel__swatch--none{background:repeating-conic-gradient(var(--divider-s) 0% 25%,var(--surface) 0% 50%) 0 / 8px 8px}.lsel__list{position:fixed;z-index:2000;max-height:min(60vh,360px);overflow-y:auto;padding:4px;background:var(--surface);border:0;border-radius:var(--r-sm);box-shadow:var(--shadow-pop)}.lsel__opt{display:flex;align-items:center;gap:8px;justify-content:flex-start;height:32px;padding:0 10px 0 6px;border-radius:4px;color:var(--fg-2);font:12px var(--mono);text-align:left;cursor:pointer}.lsel__opt.is-active{background:var(--surface-3);color:var(--fg)}.lsel__opt.is-selected{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--fg)}.lsel__opt.is-selected.is-active{background:color-mix(in srgb,var(--accent) 28%,transparent)}.lsel__check{width:14px;flex:0 0 14px;color:var(--accent);font-size:12px;text-align:center}.inspector-panel{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden;color:var(--fg);background:var(--surface);font-size:12px;container-type:inline-size}.ip-header{display:flex;align-items:center;box-sizing:border-box;height:var(--viewbar-h);padding:0 14px;border-bottom:1px solid var(--divider);flex-shrink:0}.inspector-panel .ip-header h2{font-size:13px;font-weight:600;margin:0;color:var(--fg);line-height:1.4;letter-spacing:normal}.ip-summary{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--divider);background:var(--surface-2);flex-shrink:0}.ip-summary>svg{color:var(--accent);flex-shrink:0}.ip-summary>div{min-width:0;display:flex;flex-direction:column;gap:4px}.ip-summary strong{font-weight:600;font-size:12px}.ip-summary span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-3);font-size:11px}.ip-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain}.ip-section{border-bottom:1px solid var(--divider)}.ip-section h3{margin:0}.ip-section h3>button{display:flex;align-items:center;justify-content:space-between;width:100%;height:34px;padding:0 14px;border:0;border-radius:0;background:transparent;color:var(--fg);font-weight:600;font-size:11px;text-align:left}.ip-section h3>button:hover{background:var(--surface-2)}.ip-section-body{padding:2px 10px 10px}.ip-row{display:grid;grid-template-columns:minmax(70px,38%) minmax(0,1fr);align-items:center;min-height:30px;gap:6px;padding:0 4px}.ip-row:hover{background:var(--surface-2)}.ip-label{font-size:11px;font-weight:400;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ip-value{min-width:0}.ip-readonly{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 6px;font-variant-numeric:tabular-nums;color:var(--fg)}.inspector-panel .ip-value input,.inspector-panel .ip-value select{box-sizing:border-box;width:100%;min-width:0;height:28px;padding:3px 5px;font-size:12px;color:var(--fg);background-color:transparent;border:1px solid transparent;border-radius:var(--r-sm);font-variant-numeric:tabular-nums}.inspector-panel .ip-value input:hover:not(:disabled),.inspector-panel .ip-value select:hover:not(:disabled){border-color:var(--divider-s);background-color:var(--surface)}.inspector-panel .ip-value input:focus,.inspector-panel .ip-value select:focus{border-color:var(--accent);background-color:var(--surface);outline:none}.inspector-panel :focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.inspector-panel .ip-value select{cursor:pointer;text-align:left;padding-right:24px}.ip-value:has(>select){position:relative}.ip-value:has(>select):after{content:"⌄";position:absolute;right:8px;top:5px;color:var(--fg-3);pointer-events:none}.ip-value option{background:var(--surface);color:var(--fg)}.ip-color{display:flex;align-items:center;gap:7px;min-height:28px;padding:0 5px}.ip-color span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-panel .aci-trigger{width:28px;height:28px;padding:0;flex-shrink:0;border:6px solid var(--surface);box-shadow:inset 0 0 0 1px var(--divider-s);border-radius:var(--r-sm)}.ip-coordinate{position:relative;padding:3px 4px 5px;margin-top:3px}.ip-coordinate-toggle{display:flex;align-items:center;width:100%;height:28px;gap:6px;padding:0;border:0;background:transparent;color:var(--fg);font-size:11px;text-align:left}.ip-coordinate-toggle small{margin-left:auto;color:var(--fg-3);font-size:9px}.ip-coordinate-preview{padding:2px 25px 2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-3);font-size:11px;font-variant-numeric:tabular-nums}.ip-coordinate .ip-copy{position:absolute;right:0;bottom:2px;padding:0;width:28px;height:28px;border:0;background:transparent;color:var(--fg-3);opacity:0}.ip-coordinate:hover .ip-copy,.ip-coordinate:focus-within .ip-copy{opacity:1}.ip-copy-status,.ip-validation{display:block;color:var(--accent);font-size:10px;padding:3px 0}.ip-validation{color:var(--critical)}.ip-note{margin:6px 14px 10px;color:var(--fg-3);font-size:11px;line-height:1.6}.ip-section-body .ip-note{margin-inline:4px}.ip-feedback{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--divider);color:var(--critical);background:var(--surface-2);font-size:11px}.ip-feedback button{margin-left:auto;flex-shrink:0;padding:0;width:28px;height:28px;border:0;background:transparent;color:inherit}.ip-empty{display:flex;flex-direction:column;align-items:center;padding:36px 14px 28px;text-align:center;gap:12px}.ip-empty svg{color:var(--fg-3)}.ip-empty strong{font-size:12px;font-weight:500}.ip-empty p{margin:0;font-size:11px;color:var(--fg-3);line-height:1.7}.inspector-panel .panel__group{border:0;border-bottom:1px solid var(--divider);border-radius:0}@container (max-width: 290px){.ip-row{grid-template-columns:minmax(64px,34%) minmax(0,1fr);gap:3px}}@media (hover: none){.ip-coordinate .ip-copy{opacity:1}}.shell__dock--layers{position:relative}.shell__dock--layers .shell__panel{padding:0;overflow:hidden}.layer-panel{container-type:inline-size;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;color:var(--fg);background:var(--surface);font-size:12px}.lp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 8px 14px;border-bottom:1px solid var(--divider);flex-shrink:0}.lp-header .lp-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin:0}.lp-header>div{display:flex;gap:2px}.lp-count{min-width:20px;padding:2px 5px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-3);font:10px var(--mono);text-align:center}.layer-panel .lp-icon{position:relative;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:28px;height:28px;min-width:28px;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--fg-3);vertical-align:middle}.layer-panel .lp-icon:hover:not(:disabled){background:var(--surface-3);border-color:var(--divider);color:var(--fg)}.layer-panel :focus-visible,.layer-menu :focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lp-icon>span:not(.lp-current-dot):not(.lp-off-slash){font-size:20px;line-height:1}.lp-toolbar{display:flex;gap:6px;padding:10px 10px 6px}.lp-search{display:flex;align-items:center;flex:1;min-width:0;gap:5px;padding:0 7px;border:1px solid var(--divider);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-3)}.lp-search input{width:100%;min-width:0;height:30px;border:none;background:transparent;padding:0;font-size:12px}.lp-search:focus-within{outline:1px solid var(--accent)}.lp-search input:focus{outline:none}.lp-toolbar select{max-width:67px;font-size:11px}.lp-current-summary{display:flex;gap:6px;align-items:center;min-height:28px;padding:0 14px 6px;font-size:10px;color:var(--fg-3)}.lp-current-summary svg{color:var(--accent);flex-shrink:0}.lp-current-summary>span{flex-shrink:0}.lp-current-summary strong{color:var(--fg);font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layer-panel .platform-resizable{flex:1 1 0;height:0;min-block-size:0;min-height:0;width:100%}.layer-panel .platform-resizable__pane{min-width:0;min-height:0;overflow:hidden}.layer-panel .platform-resizable__separator{border-radius:0;border:0;background:var(--surface-2);color:var(--fg-3);touch-action:none}.layer-panel .platform-resizable__separator:hover{background:var(--surface-3)}.lp-list-region,.lp-collapsed-list{height:100%;min-height:0;display:flex;flex-direction:column}.lp-collapsed-list{flex:1}.lp-list{flex:1;overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin}.lp-row{display:grid;grid-template-columns:28px 28px minmax(0,1fr) repeat(5,28px);align-items:center;height:34px;padding:0 7px 0 4px;border-left:3px solid transparent;border-bottom:1px solid color-mix(in srgb,var(--divider) 45%,transparent);cursor:default}.lp-row:hover{background:var(--surface-2)}.lp-row.is-selected{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.lp-row.is-current{border-left-color:var(--accent)}.lp-row .lp-current{color:var(--accent)}.lp-current-dot{width:5px;height:5px;border:1px solid var(--divider-s);border-radius:50%;opacity:0}.lp-row:hover .lp-current-dot,.lp-row:focus-within .lp-current-dot{opacity:1}.lp-name{display:block;min-width:0;padding:8px 4px 8px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.lp-row.is-current .lp-name{font-weight:600}.lp-swatch{display:flex;align-items:center;justify-content:center}.layer-panel .aci-trigger{width:28px;height:28px;padding:0;border:5px solid var(--surface);box-shadow:inset 0 0 0 1px var(--divider-s);border-radius:var(--r-sm)}.layer-panel .aci-trigger:hover{outline-color:var(--accent)}.lp-color-value{display:flex;align-items:center;gap:9px;min-height:30px}.layer-panel .lp-flag[data-property=isOff][aria-pressed=true],.layer-panel .lp-flag[data-property=isPlottable][aria-pressed=true]{color:var(--fg)}.layer-panel .lp-flag[data-property=isOff][aria-pressed=false],.layer-panel .lp-flag[data-property=isPlottable][aria-pressed=false]{color:var(--fg-3);opacity:.65}.layer-panel .lp-flag[data-property=isFrozen].is-set,.layer-panel .lp-flag[data-property=isLocked].is-set{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.lp-off-slash{position:absolute;width:18px;height:1px;background:currentColor;transform:rotate(-45deg)}.lp-more{font-size:18px}.lp-row:not(:hover):not(:focus-within):not(.is-selected) .lp-more{opacity:.45}.lp-properties{display:flex;flex-direction:column;height:100%;min-height:0}.lp-properties-heading{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;margin:0;padding:0 14px;border:0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);border-radius:0;background:var(--surface-2);color:var(--fg);text-align:left;font-size:11px;font-weight:600}.lp-properties-fields{overflow:auto;padding:6px 12px 12px;scrollbar-width:thin}.lp-property{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;min-height:34px}.lp-property>span:first-child{color:var(--fg-3);font-size:11px}.lp-property select{width:100%;min-width:0;height:28px;font-size:11px}.lp-property-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:500;border:1px solid transparent;background:transparent;padding:5px 0}.lp-property-name:disabled{opacity:1;color:var(--fg)}.lp-state-value{display:flex;align-items:center;gap:7px}.lp-state-value>span{font-size:11px}.lp-muted{color:var(--fg-3);font-size:11px}.lp-empty{color:var(--fg-3);font-size:11px;padding:20px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.lp-empty button{color:var(--accent);background:transparent;border-color:var(--divider)}.lp-name-editor{display:flex;align-items:center;gap:3px;margin:3px 10px 8px;padding:4px;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--surface-2)}.lp-name-editor input{width:100%;min-width:0;height:28px}.lp-inline-name{grid-column:3 / -1;min-width:0}.lp-name-editor--row{height:30px;margin:0 0 0 4px;padding:0}.lp-name-editor--row input{border:0;background:transparent}.lp-error{display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--critical) 7%,var(--surface));color:var(--critical);border-block:1px solid var(--divider);padding:8px 12px;font-size:11px}.lp-error button{margin-left:auto;border:none;padding:2px 5px;background:transparent;color:inherit}.lp-snapshots{flex:1;min-height:0;overflow:auto;margin:4px 10px 10px;padding:10px;border:1px solid var(--divider);border-radius:var(--r-sm);background:var(--surface-2)}.lp-snapshot-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px}.lp-snapshots p{color:var(--fg-3);font-size:10px;margin:4px 0 8px}.lp-snapshot-row{display:flex;gap:4px;margin-top:5px}.lp-snapshot-row input,.lp-snapshot-row select{flex:1;min-width:0;font-size:11px}.lp-snapshot-row>button{padding-inline:7px;font-size:11px}.layer-menu{position:fixed;z-index:300;max-height:calc(100dvh - 16px);overflow-y:auto;min-width:198px;padding:4px;background:var(--surface);color:var(--fg);border:1px solid var(--divider-s);box-shadow:var(--shadow-pop);border-radius:var(--r-sm)}.layer-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:5px 10px;background:transparent;border:0;border-radius:var(--r-sm);font-size:12px;text-align:left}.layer-menu button:hover:not(:disabled){background:var(--surface-3)}.layer-menu .is-danger{color:var(--critical)}.lp-dock-resize{position:absolute;z-index:5;right:0;top:0;bottom:0;width:5px;padding:0;border:0;border-radius:0;background:transparent;cursor:col-resize;touch-action:none}.lp-dock-resize:hover,.lp-dock-resize:focus-visible{background:var(--accent)}@container (max-width: 300px){.lp-row{grid-template-columns:28px 28px minmax(0,1fr) repeat(3,28px)}.lp-row .lp-secondary{display:none}.lp-property{grid-template-columns:60px minmax(0,1fr);gap:5px}}@media (max-width: 760px){.lp-dock-resize{display:none}.shell__dock--layers{position:fixed}}.lp-isolation{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);font-size:11px}.lp-isolation button{font-size:11px}.layer-panel .platform-resizable[data-orientation=horizontal]{display:grid;grid-template-rows:var(--platform-panel-size, 300px) 8px minmax(0,1fr);overflow:hidden}.layer-panel .platform-resizable__separator{display:grid;place-items:center;width:100%;height:8px;min-height:8px;padding:0;cursor:row-resize}.layer-panel .platform-resizable__grip{display:block;width:28px;height:2px;background:var(--divider-s)}.layer-panel .lp-icon>.lp-check{font:600 14px var(--sans)}.lp-current-summary .lp-check{color:var(--accent)}.block-panel{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;overflow:hidden;color:var(--fg);background:var(--surface);font-size:12px;container-type:inline-size}.bp-header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 10px 0 14px;border-bottom:1px solid var(--divider);flex-shrink:0}.block-panel .bp-header h2{font-size:13px;font-weight:600;line-height:1.4;letter-spacing:normal;margin:0;color:var(--fg)}.bp-header>div{display:flex;gap:2px}.block-panel .bp-icon{display:grid;place-items:center;width:30px;height:30px;padding:0;background:transparent;color:var(--fg-2);border:1px solid transparent;border-radius:var(--r-sm);font-size:21px}.block-panel .bp-icon:hover:not(:disabled){color:var(--accent);background:var(--surface-2)}.block-panel :focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bp-sources{display:flex;padding:0 8px;border-bottom:1px solid var(--divider);flex-shrink:0}.bp-sources button{flex:1;padding:0 5px;min-height:36px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--fg-3);background:transparent;font-size:11px;white-space:nowrap}.bp-sources button:hover{color:var(--fg);background:var(--surface-2)}.bp-sources [aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.bp-toolbar{display:flex;gap:6px;padding:10px 12px 8px}.bp-search{display:flex;flex:1;min-width:0;align-items:center;gap:5px;padding:0 7px;border:1px solid var(--divider);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-3)}.bp-search:focus-within{border-color:var(--accent)}.bp-search input{width:100%;min-width:0;height:30px;padding:0;border:0;background:transparent;font-size:12px}.bp-search input:focus{outline:0}.bp-toolbar select{width:66px;font-size:11px;padding-inline:5px}.bp-list-heading{display:flex;justify-content:space-between;align-items:center;padding:4px 12px 8px;gap:8px;font-size:11px;flex-shrink:0}.bp-list-heading small{color:var(--fg-3);font-size:10px}.bp-list-heading .bp-note{font-size:9px}.bp-list-region,.bp-collapsed-list{display:flex;flex-direction:column;height:100%;min-height:0}.bp-collapsed-list{flex:1}.bp-grid-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.bp-grid{display:grid;align-content:start;grid-auto-rows:136px;gap:8px;padding-inline:12px}.bp-card{position:relative;min-width:0;border:1px solid var(--divider);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.bp-card:hover{border-color:var(--divider-s);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.bp-card.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.bp-card-main{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--fg);cursor:grab;touch-action:none;user-select:none;text-align:left}.bp-card-main:active{cursor:grabbing}.bp-thumb{position:relative;display:grid;place-items:center;width:100%;height:106px;padding:12px;box-sizing:border-box;background:var(--surface-2)}.bp-thumb>svg.icon{color:var(--fg-3)}.block-panel .blocks__svgthumb{max-height:none;width:100%;height:100%}.bp-thumb img,.bp-large-preview img{width:100%;height:100%;object-fit:contain}.bp-card-name{display:block;width:100%;min-width:0;box-sizing:border-box;padding:6px 8px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-card-actions{position:absolute;display:flex;top:3px;right:3px;opacity:0;background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-sm)}.bp-card:hover .bp-card-actions,.bp-card:focus-within .bp-card-actions{opacity:1}.bp-card-actions button{width:28px;height:28px;padding:0;background:transparent;border:0;color:var(--fg-3);font-size:17px}.bp-card-actions button:hover,.bp-card-actions button[aria-pressed=true]{color:var(--accent);background:var(--surface-2)}.bp-action-card{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed var(--divider-s);border-radius:var(--r-sm);background:var(--surface);color:var(--fg-2);font-size:11px}.bp-action-card:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface-2)}.bp-action-card small{font-size:9px;color:var(--fg-3)}.bp-empty{display:flex;align-items:center;flex-direction:column;gap:10px;padding:28px 18px;text-align:center;color:var(--fg-3);font-size:11px;line-height:1.6}.bp-empty strong{font-weight:500;color:var(--fg-2)}.bp-empty p{margin:0}.bp-empty button{border:1px solid var(--divider);background:var(--surface-2);color:var(--accent);font-size:11px}.bp-note{color:var(--fg-3);font-size:11px;line-height:1.6}.bp-properties{display:flex;flex-direction:column;min-height:0;height:100%}.bp-properties-heading{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;width:100%;height:36px;padding:0 14px;border:0;border-block:1px solid var(--divider);border-radius:0;background:var(--surface-2);color:var(--fg);text-align:left;font-size:11px;font-weight:600}.bp-properties-body{min-height:0;overflow:auto;padding:10px 14px 14px;scrollbar-width:thin}.bp-large-preview{display:grid;place-items:center;position:relative;height:132px;padding:12px;margin-bottom:8px;background:var(--surface-2);border-radius:var(--r-sm);box-sizing:border-box}.bp-property{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;font-size:11px}.bp-property>span:first-child{color:var(--fg-3)}.bp-property>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.bp-properties details{margin-block:8px}.bp-properties summary{cursor:pointer;color:var(--fg-3);font-size:11px;padding-block:6px}.bp-insert{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:32px;margin-top:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid var(--divider);border-radius:var(--r-sm);font-size:11px}.bp-feedback{display:flex;align-items:center;gap:5px;padding:8px 12px;background:var(--surface-2);border-block:1px solid var(--divider);color:var(--fg-2);font-size:11px;line-height:1.6}.bp-feedback>span{flex:1}.bp-feedback button{background:transparent;border:0;color:var(--accent);font-size:11px;flex-shrink:0}.bp-partial{position:absolute;bottom:3px;right:4px;padding:2px 4px;font-size:9px;background:var(--surface);color:var(--fg-3);border-radius:var(--r-sm)}.block-panel .platform-resizable{flex:1 1 0;height:0;min-height:0;min-block-size:0;width:100%}.block-panel .platform-resizable[data-orientation=horizontal]{display:grid;grid-template-rows:var(--platform-panel-size, 330px) 8px minmax(0,1fr);overflow:hidden}.block-panel .platform-resizable__pane{min-width:0;min-height:0;overflow:hidden}.block-panel .platform-resizable__separator{display:grid;place-items:center;width:100%;height:8px;min-height:8px;padding:0;border:0;border-radius:0;background:var(--surface-2);cursor:row-resize;touch-action:none}.block-panel .platform-resizable__separator:hover{background:var(--surface-3)}.block-panel .platform-resizable__grip{display:block;width:28px;height:2px;background:var(--divider-s)}@container (max-width: 320px){.bp-list-heading .bp-note{display:none}}@media (hover: none){.bp-card-actions{opacity:1}}.bp-storage-note{margin:0;padding:var(--s-2) var(--s-3);font-size:var(--fs-caption-sm);color:var(--fg-3);overflow-wrap:anywhere}.bp-insert{white-space:normal;overflow-wrap:anywhere}.bp-sources{overflow-x:auto}.bp-sources [role=tab]{flex-shrink:0}.shell__cmdband-row--cmd:has(.cmdline--corner-active),.shell__cmdband .shell__cmdband-row--cmd .cmdline.cmdline--corner-active{height:auto}.cmdline--corner-active .cmdline__input-row{flex-shrink:0}.cmdline__corner-status{display:grid;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:var(--bw-hair) solid var(--line);color:var(--fg);font-family:var(--mono);font-size:var(--fs-micro);overflow-wrap:anywhere}.cmdline__corner-values{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-3)}.cmdline__corner-error{block-size:2lh;overflow:auto}.cmdline__corner-error:focus-visible{outline:var(--bw-hair) solid var(--accent);outline-offset:calc(-1 * var(--bw-hair))}.command-bindings{display:grid;gap:var(--s-3);color:var(--fg)}.command-bindings p{margin:0;font-size:var(--fs-caption);line-height:1.6;color:var(--fg-2)}.command-bindings fieldset{display:grid;gap:var(--s-2);margin:0;padding:var(--s-3);border:var(--bw-hair) solid var(--divider);min-width:0}.command-bindings legend{font-size:var(--fs-body);font-weight:600;padding-inline:var(--s-1)}.command-bindings__field{display:grid;gap:var(--s-2);font-size:var(--fs-caption)}.command-bindings__field input,.command-bindings__field select{box-sizing:border-box;min-width:0;width:100%;padding:var(--s-2);border:var(--bw-hair) solid var(--divider);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg);font:inherit}.command-bindings__field input:focus-visible,.command-bindings__field select:focus-visible{outline:var(--bw-hair) solid var(--accent);outline-offset:var(--bw-hair)}.command-bindings output{font-family:var(--mono);font-size:var(--fs-caption)}.command-bindings__check{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-body)}.command-bindings__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s-2)}.modal__card .command-bindings .btn--ghost{color:var(--fg)}.modal__card .command-bindings .btn--accent{background:var(--accent);border-color:var(--accent);color:var(--primitive-color-gray-950)}.modal__card .command-bindings .btn--accent:disabled{background:var(--surface-2);border-color:var(--divider);color:var(--fg-3)}.command-bindings__feedback{min-height:var(--s-4);overflow-wrap:anywhere}.command-bindings__feedback[role=alert]{color:var(--error)}.modal__card.settings-card{box-sizing:border-box;min-width:0;width:calc(var(--s-8) * 9);max-width:calc(100vw - var(--s-5) * 2);max-height:calc(100dvh - var(--s-5) * 2);overflow:hidden;padding:var(--s-4)}.settings-card .settings__title,.settings-card .settings__tabs,.settings-card .modal__buttons{flex-shrink:0}.settings-card .settings__tabs{flex-wrap:wrap}.settings-card .settings__body{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding-inline-end:var(--s-1)}.dimension-style-host [role=dialog]{max-height:calc(100dvh - var(--s-8))}.dimension-style-host [role=dialog]>div:has(>.dimension-style){min-height:0;overflow-y:auto}.dimension-style{display:grid;gap:var(--s-3);color:var(--fg);font-size:var(--fs-caption-md)}.dimension-style p,.dimension-style h3{margin:0;overflow-wrap:anywhere}.dimension-style h3{font-size:var(--fs-caption-md)}.dimension-style__columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s-5)}.dimension-style__list,.dimension-style__details{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.dimension-style :is(input,select){min-width:0;max-width:100%;color:var(--fg);background:var(--surface);border:var(--bw-hair) solid var(--divider);border-radius:var(--r-sm);padding:var(--s-2);font:inherit}.dimension-style :is(input,select):focus-visible{outline:var(--bw-hair) solid var(--accent);outline-offset:var(--s-1)}.dimension-style dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2);margin:0}.dimension-style dd{margin:0}.dimension-style__actions{display:flex;justify-content:flex-end;gap:var(--s-3)}.dimension-style [role=alert]{color:var(--fg);border-inline-start:var(--bw-hair) solid var(--accent);padding-inline-start:var(--s-2)}@media (max-width: 640px){.dimension-style__columns{grid-template-columns:minmax(0,1fr)}}.hatch-dialog-host [role=dialog]{width:calc(var(--s-8) * 13)!important;max-height:calc(100dvh - var(--s-8));color:var(--fg);background:var(--surface)!important}.hatch-dialog-host [role=dialog]>div:nth-child(2){min-height:0}.hatch-dialog{display:flex;flex-wrap:wrap;gap:var(--s-5);color:var(--fg)}.hatch-dialog h4{margin:0;font-size:var(--fs-body);font-weight:600}.hatch-dialog__patterns{flex:2 1 calc(var(--s-8) * 7);min-width:0}.hatch-dialog__boundary{flex:1 1 calc(var(--s-8) * 3.5);min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--s-4)}.hatch-dialog__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-3)}.hatch-dialog__heading>span{color:var(--fg-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.hatch-dialog__search{display:grid;gap:var(--s-1);font-size:var(--fs-caption);color:var(--fg-2)}.hatch-dialog input{min-width:0;width:100%;box-sizing:border-box;padding:var(--s-2) var(--s-3);color:var(--fg);background:var(--surface-2);border:var(--bw-hair) solid var(--divider);border-radius:var(--r-sm);font:inherit}.hatch-dialog input:focus-visible,.hatch-dialog__tile:focus-visible{outline:var(--bw-hair) solid var(--accent);outline-offset:var(--bw-hair)}.hatch-dialog__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--s-8),1fr));gap:var(--s-2);max-height:calc(var(--s-8) * 5);overflow-y:auto;padding:var(--s-1);margin:var(--s-3) 0;scrollbar-width:thin;align-content:start}.hatch-dialog__tile{min-width:0;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-1);background:var(--surface-2);color:var(--fg-2);border:var(--bw-hair) solid var(--divider);border-radius:var(--r-0);cursor:pointer;text-align:center}.hatch-dialog__tile:hover:not(:disabled){border-color:var(--fg-3);color:var(--fg)}.hatch-dialog__tile[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.hatch-dialog__tile:disabled{cursor:default;opacity:.5}.hatch-dialog__thumbnail{display:grid;place-items:center;width:100%;aspect-ratio:4 / 3;overflow:hidden}.hatch-dialog__thumbnail img{width:100%;height:100%;object-fit:contain}.hatch-dialog__thumbnail img[hidden]{display:none}.hatch-dialog__name{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--fs-caption)}.hatch-dialog__values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.hatch-dialog__values label{display:grid;gap:var(--s-2);font-size:var(--fs-caption);color:var(--fg-2)}.hatch-dialog__modes{display:flex;flex-direction:column;gap:var(--s-2)}.hatch-dialog__boundary p,.hatch-dialog__empty{margin:0;color:var(--fg-2);font-size:var(--fs-caption);line-height:1.6}.hatch-dialog__selection{display:grid;gap:var(--s-2);padding-top:var(--s-4);border-top:var(--bw-hair) solid var(--divider)}.hatch-dialog__selection>span{color:var(--fg-3);font-size:var(--fs-caption)}.hatch-dialog__selection strong{font-family:var(--mono);font-size:var(--fs-body);font-weight:500;overflow-wrap:anywhere}.hatch-dialog__notice{flex:1 0 100%;margin:0;padding:var(--s-3);border:var(--bw-hair) solid var(--divider);color:var(--error);background:var(--surface-2);font-size:var(--fs-caption)}.hatch-dialog__footer{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5)}.hatch-dialog__footer>span{margin-right:auto;font-family:var(--mono);font-size:var(--fs-caption);color:var(--fg-2)}.plot-dialog-host [role=dialog]{width:calc(var(--s-8) * 10)!important;max-height:calc(100dvh - var(--s-8));background:var(--surface)!important;color:var(--fg)}.plot-dialog-host [role=dialog]>div:nth-child(2){min-height:0}.plot-dialog.pdf-card{width:auto;max-height:none;overflow:visible;color:var(--fg);font-size:var(--fs-caption-md)}.plot-dialog__rows{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:var(--s-3) var(--s-5)}.plot-dialog__rows>label{color:var(--fg-2);font-weight:500}.plot-dialog :is(input:not([type=checkbox]):not([type=file]),select){width:100%;min-width:0;box-sizing:border-box;padding:var(--s-2) var(--s-1);border:0;border-bottom:var(--bw-hair) solid var(--divider);border-radius:var(--r-0);background:var(--surface);color:var(--fg);font:inherit}.plot-dialog select option{background:var(--surface);color:var(--fg)}.plot-dialog :is(input,select):focus-visible{outline:var(--bw-rule) solid var(--accent);outline-offset:var(--bw-hair)}.plot-dialog :is(input,select):disabled{cursor:default;opacity:.75}.plot-dialog__hint{margin:var(--s-3) 0 0;color:var(--fg-2);font-size:var(--fs-caption);line-height:1.6}.plot-dialog__style{min-width:0;display:grid;gap:var(--s-2)}.plot-dialog__file{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);color:var(--fg-2);font-size:var(--fs-caption)}.plot-dialog__file input{min-width:0;max-width:100%;font:inherit}.plot-dialog__window{display:grid;gap:var(--s-3);margin-top:var(--s-4)}.plot-dialog__coordinates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-2)}.plot-dialog__coordinates label{color:var(--fg-2);font-family:var(--mono);font-size:var(--fs-caption)}.plot-dialog__check{display:flex;align-items:center;gap:var(--s-2);color:var(--fg-2)}.plot-dialog__output{margin-top:var(--s-6);padding-top:var(--s-5);border-top:var(--bw-hair) solid var(--divider)}.plot-dialog__output h4{margin:0 0 var(--s-4);font-size:var(--fs-body);font-weight:600}.plot-dialog__notice{margin:var(--s-4) 0 0;padding:var(--s-3);border:var(--bw-hair) solid var(--divider);color:var(--error);background:var(--surface-2);overflow-wrap:anywhere}.plot-dialog__footer{display:flex;width:100%;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5)}.plot-dialog__preview{display:grid;gap:var(--s-3);margin-top:var(--s-4)}.plot-dialog__preview iframe{display:block;width:100%;height:calc(var(--s-8) * 9);border:var(--bw-hair) solid var(--divider);background:var(--surface)}.plot-dialog__preview a{color:var(--accent);font-size:var(--fs-caption)}@media (max-width: 40rem){.plot-dialog__rows{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}.plot-dialog__rows>label{margin-top:var(--s-3)}}@font-face{font-family:Pretendard;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Light-BSr3DBFh.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Regular-D5CgADJ9.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Medium-Cs2k_Pp2.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/Pretendard-SemiBold-SXfe8JY8.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/Pretendard-Bold-DD7wHHNl.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:800;font-style:normal;font-display:swap;src:url(/assets/Pretendard-ExtraBold-DkRXFB8B.woff) format("woff")}@font-face{font-family:Geist Mono Local;font-weight:100 900;font-style:normal;font-display:swap;src:url(/assets/GeistMono-VariableFont_wght-0unNFQBi.ttf) format("truetype-variations")}@font-face{font-family:Geist Mono Local;font-weight:100 900;font-style:italic;font-display:swap;src:url(/assets/GeistMono-Italic-VariableFont_wght-BHC1nfs1.ttf) format("truetype-variations")}@font-face{font-family:Montserrat Alt;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/Montserrat-Regular-BdMzRefO.ttf) format("truetype")}@font-face{font-family:Montserrat Alt;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/Montserrat-Medium-DZarjTSE.ttf) format("truetype")}@font-face{font-family:Montserrat Alt;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/Montserrat-SemiBold-C0-6BeuA.ttf) format("truetype")}@font-face{font-family:Montserrat Alt;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/Montserrat-Bold-D4JCkd3k.ttf) format("truetype")}:root{--primitive-color-blue-500: #2E80FF;--primitive-color-gray-950: #0A0E1C;--primitive-color-gray-50: #FAFBFC;--primitive-color-white: #FFFFFF;--ink: var(--primitive-color-gray-950);--graphite: #141931;--steel: #2A3046;--slate: #4E5468;--silver: #646C80;--silver-ghost: #9CA3B4;--mist: #DDE3EE;--fog: #F1F4F9;--paper: var(--primitive-color-gray-50);--white: var(--primitive-color-white);--accent: var(--primitive-color-blue-500);--accent-d: #1B68DC;--accent-600: #1F6FEB;--accent-l: #E8F1FF;--glow: #6FB6FF;--lumen: #00C2D6;--spark: #00D9A6;--spark-d: #007A5C;--spark-l: #E0F8F0;--signal: #FF8A3D;--signal-d: #B0531B;--signal-l: #FFEDD9;--critical: #C0432D;--critical-d:#8B2D1B;--critical-l:#FAE3DD;--critical-on-dark: #F47B69;--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 Local", "Nanum Gothic Coding", "Apple SD Gothic Neo", "Pretendard", ui-monospace, monospace;--mono-kr: "Nanum Gothic Coding", "JetBrains Mono", "Geist Mono Local", "Apple SD Gothic Neo", "Pretendard", monospace;--fs-mono-micro: 11px;--display-alt: "Montserrat Alt", "Geist", sans-serif;--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);--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--ease-emph: cubic-bezier(.2, 0, 0, 1);--ease-machine: cubic-bezier(.25, 0, .75, 1);--dur-instant: .07s;--dur-fast: .15s;--dur-mid: .2s;--dur-slow: .32s;--motion-press: var(--dur-instant) var(--ease);--motion-reveal: var(--dur-fast) var(--ease-enter);--motion-dismiss: var(--dur-fast) var(--ease-exit);--motion-surface: var(--dur-slow) var(--ease-emph);--motion-trace: var(--ease-machine);--page-max: 1280px;--admin-content-w: 1120px;--page-pad: 64px;--grid-cell: 64px;--auth-card-max: 400px;--bg: var(--white);--fg: var(--ink);--fg-2: var(--steel);--fg-3: var(--slate);--fg-mute: var(--silver);--muted: var(--slate);--surface: var(--white);--surface-2: var(--paper);--surface-3: var(--fog);--divider: var(--hair);--divider-s: var(--hair-strong);--overlay: rgba(10,14,28,.4)}[data-theme=dark]{--bg: #07091A;--fg: #F4F6FB;--fg-2: #C2C8D5;--fg-3: #8A92A6;--fg-mute: #828AA0;--surface: #11142A;--surface-2: #0A0D1E;--surface-3: #1B2042;--divider: rgba(255,255,255,.08);--divider-s: rgba(255,255,255,.16);--overlay: rgba(0,0,0,.6);--ink: #F4F6FB;--graphite: #E4E8F0;--steel: #C2C8D5;--slate: #8A92A6;--silver: #5C6478;--mist: #2A3046;--fog: #1B2042;--paper: #0A0D1E;--white: #11142A;--hair: rgba(255, 255, 255, .09);--hair-strong: rgba(255, 255, 255, .18);--accent-l: rgba(46, 128, 255, .18)}[data-theme=dark] body{background:var(--bg)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","tnum","kern";word-break:keep-all;overflow-wrap:anywhere;line-break:strict;font-optical-sizing:auto}::selection{background:var(--ink);color:var(--white)}html[lang=en] body{word-break:normal;line-break:auto}html[lang=ko] body,[data-lang=ko]{line-height:1.7;letter-spacing:-.005em}a{color:inherit}[data-theme=dark] body{color:var(--fg);background:var(--bg)}[data-theme=dark] ::selection{background:var(--accent);color:var(--white)}h1,.t-h1{font-family:var(--sans);font-size:clamp(44px,7vw,80px);font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--ink);margin:0}[data-lang=ko] h1,[data-lang=ko] .t-h1,.t-h1-ko{font-size:clamp(36px,5.5vw,60px);font-weight:400;letter-spacing:-.03em;line-height:1.15}h2,.t-h2{font-family:var(--sans);font-size:clamp(30px,4.5vw,44px);font-weight:500;letter-spacing:-.025em;line-height:1.15;color:var(--ink);margin:0}[data-lang=ko] h2,[data-lang=ko] .t-h2,.t-h2-ko{font-size:clamp(27px,4vw,38px);line-height:1.22}h3,.t-h3{font-family:var(--sans);font-size:clamp(21px,3.2vw,26px);font-weight:500;letter-spacing:-.018em;line-height:1.25;color:var(--ink);margin:0}[data-lang=ko] h3,[data-lang=ko] .t-h3,.t-h3-ko{font-size:clamp(20px,3vw,24px);line-height:1.32}h4,.t-h4{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.4;color:var(--ink);margin:0}[data-lang=ko] h4,.t-h4-ko{line-height:1.45}h5,.t-h5{font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:-.005em;color:var(--ink);margin:0}footer h6,.t-footer-h6{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0}[data-lang=ko] footer h6,[data-lang=ko] .t-footer-h6{font-size:12px}.t-display{font-family:var(--sans);font-size:clamp(60px,11vw,128px);font-weight:300;letter-spacing:-.04em;line-height:.95;color:var(--ink)}[data-lang=ko] .t-display,.t-display-ko{font-size:clamp(46px,8.5vw,92px);font-weight:400;letter-spacing:-.035em;line-height:1.05}p,.t-body{font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.6;color:var(--steel);margin:0}.t-lead{font-family:var(--sans);font-size:19px;font-weight:400;line-height:1.55;color:var(--steel);max-width:640px}[data-lang=ko] .t-lead{font-size:17px;line-height:1.7}.t-meta{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--slate)}.t-micro{font-family:var(--mono);font-size:var(--fs-mono-micro);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);line-height:1.4}[lang=ko] .t-micro,[data-lang=ko] .t-micro,[lang=ko] .section-mark,[data-lang=ko] .section-mark{letter-spacing:.03em;font-weight:600}:lang(ko) .t-micro{letter-spacing:.03em}code,.t-code{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink);background:var(--fog);padding:1px 6px}pre,.t-pre{font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--code-fg);background:var(--graphite);padding:24px 28px;border-left:var(--bw-rule) solid var(--accent);overflow-x:auto;margin:0}.t-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}em{font-style:normal;color:var(--slate);font-weight:300}[data-lang=ko] em{font-weight:400}strong,b{font-weight:500;color:var(--ink)}.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%)}.band-dark{background:#0a0e1c;color:#fff;--ink: #0A0E1C;--white: #FFFFFF;--graphite: #141931;--silver: #9AA3B4;--steel: #9AA3B4;--slate: #9AA3B4;--hair-light: rgba(255, 255, 255, .1);--accent-l: #16223A}.rule{height:1px;background:var(--hair);border:0}.rule--strong{height:1px;background:var(--hair-strong);border:0}.draw-x{transform-origin:left;animation:cad-draw-x var(--trace-dur, var(--dur-slow)) var(--motion-trace)}.draw-y{transform-origin:top;animation:cad-draw-y var(--trace-dur, var(--dur-slow)) var(--motion-trace)}.brackets{position:relative}.brackets .brk-c{position:absolute;width:10px;height:10px;border:0 solid var(--accent);opacity:0;transition:opacity var(--dur-fast) var(--ease-enter),transform var(--dur-fast) var(--ease-enter);pointer-events:none}.brackets .brk-c--tl{top:-1px;left:-1px;border-top-width:var(--bw-hair);border-left-width:var(--bw-hair);transform:translate(-4px,-4px)}.brackets .brk-c--tr{top:-1px;right:-1px;border-top-width:var(--bw-hair);border-right-width:var(--bw-hair);transform:translate(4px,-4px);transition-delay:30ms}.brackets .brk-c--br{bottom:-1px;right:-1px;border-bottom-width:var(--bw-hair);border-right-width:var(--bw-hair);transform:translate(4px,4px);transition-delay:60ms}.brackets .brk-c--bl{bottom:-1px;left:-1px;border-bottom-width:var(--bw-hair);border-left-width:var(--bw-hair);transform:translate(-4px,4px);transition-delay:90ms}.brackets:hover .brk-c,.brackets:focus-within .brk-c{opacity:1;transform:translate(0)}.section-mark{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:var(--fs-mono-micro);font-weight:500;color:var(--slate);text-transform:uppercase;letter-spacing:.1em;margin-bottom:28px}.section-mark .dot{width:6px;height:6px;background:var(--ink);flex-shrink:0}.section-mark .line{flex:1;height:1px;background:var(--hair)}.anchored{position:relative;border:1px solid var(--hair-strong);background:var(--paper)}.anchored:before,.anchored:after,.anchored>.ac1,.anchored>.ac2{content:"";position:absolute;width:9px;height:9px;border:1.5px solid var(--ink);background:var(--white);z-index:2}.anchored:before{top:-5px;left:-5px}.anchored:after{top:-5px;right:-5px}.anchored>.ac1{bottom:-5px;left:-5px}.anchored>.ac2{bottom:-5px;right:-5px}@keyframes cad-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes cad-spin{to{transform:rotate(360deg)}}:root{--skeleton-shimmer: cad-shimmer 1.4s ease infinite;--spinner-spin: cad-spin .7s linear infinite}@keyframes cad-scrim-in{0%{background-color:transparent}}@keyframes cad-panel-in{0%{opacity:0;transform:translateY(8px)}}@keyframes cad-reveal-in{0%{opacity:0;transform:translateY(2px)}}@keyframes cad-fade-in{0%{opacity:0}}@keyframes cad-drawer-in{0%{opacity:0;transform:translate(-16px)}}@keyframes cad-draw-x{0%{transform:scaleX(0)}}@keyframes cad-draw-y{0%{transform:scaleY(0)}}:root{--scrim-in: cad-scrim-in var(--dur-fast) var(--ease-enter);--panel-in: cad-panel-in var(--motion-surface);--reveal-in: cad-reveal-in var(--motion-reveal);--fade-in: cad-fade-in var(--dur-fast) var(--ease-enter);--drawer-in: cad-drawer-in var(--motion-surface);--fade-surface-in: cad-fade-in var(--motion-surface)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--bw-emph) solid var(--color-focus-ring);outline-offset:2px}@media (prefers-reduced-motion: reduce){:root{--dur-instant: .01ms;--dur-fast: .01ms;--dur-mid: .01ms;--dur-slow: .01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}@media (pointer: coarse){button{min-height:var(--size-interactive-target-min)}}@media (max-width: 880px){.md-cols-1{grid-template-columns:1fr!important}.md-cols-2{grid-template-columns:repeat(2,1fr)!important}.md-cols-3{grid-template-columns:repeat(3,1fr)!important}}@media (max-width: 560px){.sm-cols-1{grid-template-columns:1fr!important}.sm-cols-2{grid-template-columns:repeat(2,1fr)!important}}:root{--type-code: #2E80FF;--type-code-fg: var(--ink);--type-service: #0E8FA6;--type-service-fg: var(--ink);--type-frontend: #5D5FE0;--type-frontend-fg: #FFFFFF;--type-repo: #00946F;--type-repo-fg: var(--ink);--type-control: #B0531B;--type-control-fg: #FFFFFF;--status-todo: #5C6478;--status-todo-fg: #FFFFFF;--status-progress: #B0531B;--status-progress-fg: #FFFFFF;--status-review: #5D5FE0;--status-review-fg: #FFFFFF;--status-done: #00946F;--status-done-fg: var(--ink);--status-blocked: #8B2D1B;--status-blocked-fg: #FFFFFF;--status-misc: #9CA3B4;--status-misc-fg: var(--ink);--status-new: var(--status-todo);--status-new-fg: var(--status-todo-fg);--status-indeterminate: var(--status-progress);--status-indeterminate-fg: var(--status-progress-fg);--status-review-cat: var(--status-review);--status-review-cat-fg: var(--status-review-fg);--status-done-cat: var(--status-done);--status-done-cat-fg: var(--status-done-fg);--role-impl: #2E80FF;--role-impl-fg: var(--ink);--role-verify: #5D5FE0;--role-verify-fg: #FFFFFF;--role-exec: #B0531B;--role-exec-fg: #FFFFFF;--role-research: #0E8FA6;--role-research-fg: var(--ink);--role-other: #5C6478;--role-other-fg: #FFFFFF;--module-tkernel: #00946F;--module-tkernel-fg: var(--ink);--module-td: #2E80FF;--module-td-fg: var(--ink);--module-tv: #B0531B;--module-tv-fg: #FFFFFF;--module-ta: #5D5FE0;--module-ta-fg: #FFFFFF;--module-bimrv: #0E8FA6;--module-bimrv-fg: var(--ink);--module-tifc: #7A7A1E;--module-tifc-fg: #FFFFFF;--module-step: #6B4A38;--module-step-fg: #FFFFFF;--module-tp: #C0432D;--module-tp-fg: #FFFFFF;--module-mech: #2A3046;--module-mech-fg: #FFFFFF;--module-tprc: #3F3AA6;--module-tprc-fg: #FFFFFF;--module-dweb: #1B68DC;--module-dweb-fg: #FFFFFF;--module-vjs: #00B38A;--module-vjs-fg: var(--ink);--module-stepweb: #8B5A2B;--module-stepweb-fg: #FFFFFF;--module-bimrvweb: #147A8C;--module-bimrvweb-fg: #FFFFFF;--module-web: #5C6478;--module-web-fg: #FFFFFF;--module-default: #9CA3B4;--module-default-fg: var(--ink);--r-full: 9999px;--surface-glass: rgba(250, 251, 252, .72);--scrim-on-dark: rgba(10, 14, 28, .56);--scrim-light: rgba(255, 255, 255, .64);--overlay-08: rgba(10, 14, 28, .08);--overlay-12: rgba(10, 14, 28, .12);--figure-ink: #0A0E1C;--figure-paper: #FAFBFC;--figure-accent: #2E80FF;--figure-hair: rgba(10, 14, 28, .12);--fs-title: 1.5rem;--lh-title: 1.25;--fs-body: 1rem;--lh-body: 1.6;--fs-caption: .78rem;--lh-caption: 1.45;--code-fg: #C2C8D5;--measure: 68ch}[data-theme=dark]{--figure-ink: #F4F6FB;--figure-paper: #0A0D1E;--figure-accent: #6FB6FF;--figure-hair: rgba(255, 255, 255, .14);--surface-glass: rgba(17, 20, 42, .72);--scrim-on-dark: rgba(0, 0, 0, .64);--scrim-light: rgba(17, 20, 42, .64);--overlay-08: rgba(255, 255, 255, .08);--overlay-12: rgba(255, 255, 255, .12)}:root{--fs-display-xl: 96px;--fs-display: 78px;--fs-display-sm: 72px;--fs-h1: 60px;--fs-h1-sm: 56px;--fs-h2-lg: 48px;--fs-h2: 46px;--fs-h2-sm: 44px;--fs-h2-xs: 42px;--fs-h3-xl: 40px;--fs-h3-lg: 38px;--fs-h3-md: 34px;--fs-h3: 32px;--fs-h3-sm: 30px;--fs-h4-lg: 26px;--fs-h4: 22px;--fs-h4-sm: 20px;--fs-lead-lg: 19px;--fs-lead: 18px;--fs-lead-sm: 17px;--fs-h5: 16px;--fs-body-lg: 15.5px;--fs-body-sm: 14.5px;--fs-body-xs: 14px;--fs-caption-lg: 13.5px;--fs-caption-md: 13px;--fs-caption-sm: 12.5px;--fs-micro-lg: 12px;--fs-micro-md: 11.5px;--fs-micro: 11px;--fs-micro-sm: 10.5px;--fs-micro-xs: 10px}:root{--color-text-primary: var(--fg);--color-text-secondary: var(--fg-2);--color-text-muted: var(--fg-3);--color-text-accent: var(--accent-d);--color-bg-default: var(--bg);--color-bg-surface: var(--surface);--color-bg-surface-subtle: var(--surface-2);--color-border-default: var(--divider);--color-border-strong: var(--divider-s);--color-action-primary: var(--accent-600);--color-action-primary-hover: var(--accent-d);--color-on-action-primary: var(--primitive-color-white);--color-selection: var(--accent-l);--color-focus-ring: var(--color-action-primary);--color-success: var(--spark-d);--color-warning: var(--signal-d);--color-error: var(--critical);--color-information: var(--accent-d);--letter-spacing-body-tight: -.005em;--letter-spacing-micro: .04em;--letter-spacing-label: .06em;--letter-spacing-label-wide: .1em;--canvas-background: #101524;--canvas-foreground: #C2C8D5;--canvas-grid-line: rgba(255, 255, 255, .1);--color-canvas-background: var(--canvas-background);--color-canvas-foreground: var(--canvas-foreground);--color-canvas-grid-line: var(--canvas-grid-line);--canvas-aci-1: #FF5C5C;--canvas-aci-3: #57C785;--canvas-aci-4: #3DA9FF;--canvas-aci-6: #B48CFF;--canvas-aci-7: #E4E8F0;--canvas-dimension: #7FA8E8;--canvas-dimension-text: #AFC6EF;--canvas-dim: var(--canvas-dimension);--canvas-dim-text: var(--canvas-dimension-text);--button-primary-background: var(--color-action-primary);--button-primary-hover: var(--color-action-primary-hover);--button-primary-foreground: var(--color-on-action-primary);--table-header-background: var(--color-bg-surface-subtle);--sidebar-background: var(--color-bg-surface);--input-background: var(--color-bg-surface);--modal-background: var(--color-bg-surface);--cad-toolbar-background: var(--color-bg-surface);--cad-statusbar-background: var(--color-bg-surface-subtle);--control-height-comfortable: 40px;--control-height-compact: 32px;--size-interactive-target-min: 44px;--table-row-height-comfortable: 48px;--table-row-height-compact: 36px;--font-size-comfortable: var(--fs-body-xs);--font-size-compact: var(--fs-caption-md);--density-content-gap-comfortable: var(--s-4);--density-content-gap-compact: var(--s-2);--portal-header-height: 56px;--portal-nav-width: 256px;--portal-toc-width: 220px;--portal-content-max: 1040px;--portal-shell-max: 1520px;--portal-command-filter-max-height: min(40dvh, calc(var(--size-interactive-target-min) * 4 + var(--s-6)));--portal-command-results-min-height: calc(var(--s-8) + var(--s-2) + var(--bw-hair));--platform-resizable-default-size: 320px;--platform-resizable-min-height: 200px;--platform-resizable-length-unit: 1px;--platform-filter-search-basis: 256px;--platform-filter-search-min: 192px;--platform-option-list-max-height: 240px;--platform-command-list-max-height: 280px;--platform-page-size-control-width: 72px;--platform-viewport-min-height: 400px;--platform-viewport-left-width: 240px;--platform-viewport-right-width: 288px;--platform-viewport-canvas-min-height: 240px;--platform-viewport-stacked-panel-max-height: 200px;--platform-selection-value-min-width: 112px;--platform-version-table-min-width: 704px;--card-grid-item-min-width: 300px;--data-table-overflow-min-width: 704px;--platform-layer-popover: 20;--platform-layer-skip-link: 30}[data-theme=dark]{--canvas-background: #07091A;--canvas-foreground: #E4E8F0;--canvas-grid-line: rgba(255, 255, 255, .12);--color-success: var(--spark);--color-warning: var(--signal);--color-error: var(--critical-on-dark);--color-information: var(--accent);--color-text-accent: var(--accent)}html[data-lang=ko]{--fs-mono-micro: 12px;--fs-micro-xs: 12px;--fs-micro: 12px;--fs-micro-sm: 12px;--fs-micro-md: 12px;--fs-caption: 12px}:root{--viewport: #FFFFFF}[data-theme=dark]{--viewport: #22282F;--bg: #1C2127;--surface: #2A3139;--surface-2: #1C2127;--surface-3: #343C46;--paper: #1C2127;--white: #2A3139;--fog: #343C46;--mist: #3D4651;--accent: #4C9AFF;--accent-l: rgba(76, 154, 255, .18)}: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);--rail-w: 46px;--dock-w: 320px;--tool-w: 56px;--right-w: 340px;--top-h: 52px;--ribbon-h: 128px;--viewbar-h: 40px;--cmd-row-h: 34px;--cmd-band-h: 68px;--status-h: 28px;--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:where(:not(.topbar__prefs *)):hover:not(:disabled){background:var(--bg-3);border-color:var(--accent-2)}button:where(:not(.topbar__prefs *)):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:calc(var(--top-h) + var(--ribbon-h) + var(--viewbar-h));left:calc(var(--rail-w) + var(--dock-w));right:0;bottom:calc(var(--cmd-band-h) + var(--status-h));z-index:0;background:var(--viewport);overflow:hidden}@media (min-width: 761px){html[data-dock=closed] .app-canvas-wrap{left:var(--rail-w)}}html[data-clean="1"] .app-canvas-wrap{left:0}.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__brand{margin-bottom:var(--s-5);line-height:0}.app-splash__title{font-size:28px;font-weight:300;letter-spacing:-.02em;color:var(--fg)}.app-splash__msg{margin-top:var(--s-3);color:var(--fg-1);font-family:var(--mono);font-size:13px}.app-splash__bar{margin-top:var(--s-5);width:200px;height:2px;overflow:hidden;background:var(--hair-strong, rgba(10,14,28,.16))}.app-splash__bar span{display:block;width:40%;height:100%;background:var(--accent);animation:app-splash-sweep 1.1s var(--ease, cubic-bezier(.2,.6,.2,1)) infinite}@keyframes app-splash-sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion: reduce){.app-splash__bar span{animation:none;width:100%;opacity:.5}}.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) auto 1fr var(--status-h);grid-template-columns:minmax(0,1fr)}.shell__body{display:grid;grid-template-columns:var(--rail-w) var(--dock-w) minmax(0,1fr);min-height:0}.shell[data-dock=closed] .shell__body{grid-template-columns:var(--rail-w) 0 minmax(0,1fr)}.shell--clean{grid-template-rows:1fr var(--status-h)}.shell--clean .shell__body,.shell--clean.shell[data-dock=closed] .shell__body{grid-template-columns:minmax(0,1fr)}.shell__center{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.shell__canvas{position:relative;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}.shell__rail{display:flex;flex-direction:column;background:color-mix(in srgb,white 72%,var(--surface-2));border-right:1px solid var(--divider-s);overflow:hidden}.shell__rail-btn{position:relative;width:100%;height:52px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-left:2px solid transparent;border-radius:0;color:var(--fg);cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.shell__rail-btn:hover:not(.is-active){color:var(--accent-d);background:color-mix(in srgb,white 38%,var(--surface))}.shell__rail-btn:focus-visible{outline:2px solid var(--accent-d);outline-offset:-3px}.shell__rail-btn.is-active{color:var(--accent-d);background:var(--accent-l, #E8F1FF);border-left-color:var(--accent-d)}[data-theme=dark] .shell__rail{background:color-mix(in srgb,var(--fg) 8%,var(--surface-3))}[data-theme=dark] .shell__rail-btn.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--glow);border-left-color:var(--glow)}[data-theme=dark] .shell__rail-btn:hover:not(.is-active){background:color-mix(in srgb,var(--fg) 8%,var(--surface-3));color:var(--fg)}[data-theme=dark] .shell__rail-btn:focus-visible{outline-color:var(--glow)}.shell__rail-btn svg{display:block}.shell__rail-btn--ai{color:var(--accent-d);border-top:2px solid var(--accent-d);box-shadow:inset 0 -1px 0 var(--divider)}[data-theme=dark] .shell__rail-btn--ai{color:var(--glow);border-top-color:var(--glow)}.shell__dock{display:flex;flex-direction:column;background:var(--bg-1);border-right:1px solid var(--line);min-width:0;overflow:hidden}.shell[data-dock=closed] .shell__dock{border-right:none}.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}.shell__cmdband{display:flex;flex-direction:column;flex:0 0 auto;border-top:1px solid var(--line);background:var(--bg-1);min-width:0}.shell__cmdband-row{display:flex;align-items:stretch;min-width:0;height:var(--cmd-row-h)}.shell__cmdband-row--tabs{border-top:1px solid var(--divider)}.shell__cmdband-row--cmd .cmdline{flex:1 1 auto;min-width:0}.shell__cmdband-row--tabs .layouttabs{flex:1 1 auto;max-width:none}.shell__cmdband-end{display:flex;align-items:stretch;min-width:0;margin-left:auto;border-left:1px solid var(--line)}.layouttabs{display:flex;align-items:stretch;max-width:42vw;overflow-x:auto;scrollbar-width:none}.layouttabs::-webkit-scrollbar{display:none}.layouttabs__tab{flex:0 0 auto;height:var(--cmd-row-h);padding:0 var(--s-3);background:transparent;border:none;border-right:1px solid var(--divider);border-radius:0;color:var(--fg-3);font-family:var(--mono);font-size:11px;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.layouttabs__tab:hover:not(.is-active){color:var(--fg);background:var(--surface-3)}.layouttabs__tab.is-active{color:var(--accent);background:var(--surface);box-shadow:inset 0 2px 0 var(--accent)}.layouttabs__add{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--cmd-row-h);height:var(--cmd-row-h);padding:0;background:transparent;border:none;border-right:1px solid var(--divider);border-radius:0;color:var(--fg-3);cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.layouttabs__add:hover{color:var(--accent);background:var(--surface-3)}.layouttabs__add:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.precision{position:relative;display:flex;align-items:center;gap:var(--s-1);height:var(--cmd-row-h);padding:0 var(--s-3)}.precision__osnap{display:flex;align-items:center;gap:2px}.precision__caret{width:20px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--divider);border-radius:var(--r-sm);color:var(--fg-3);font-size:10px;line-height:1;cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.precision__caret:hover{color:var(--fg);border-color:var(--divider-s)}.precision__caret.is-open{color:var(--accent);border-color:var(--accent)}.precision__flyout{position:absolute;right:0;bottom:calc(100% + 5px);width:214px;padding:var(--s-2);background:var(--surface);border:1px solid var(--divider-s);box-shadow:var(--shadow-card);z-index:45}.precision__flyout-title{margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--divider);font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.precision__flyout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.precision__flyout-grid .statusbar__snap{text-align:center}.precision__aids{display:flex;align-items:center;gap:2px;margin-left:var(--s-2);padding-left:var(--s-2);border-left:1px solid var(--divider)}.precision__aids .statusbar__snap[disabled]{color:var(--fg-mute);cursor:default}.precision__space{margin-right:var(--s-2);padding-right:var(--s-2);border-right:1px solid var(--divider)}.precision__space[disabled]{color:var(--fg-mute);cursor:default}.precision__space,.precision__master,.precision__aids .statusbar__snap{height:22px;min-width:46px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.precision__gridsize{width:52px;height:22px;padding:0 var(--s-1);background:var(--surface);color:var(--fg);border:1px solid var(--divider);border-radius:var(--r-sm);font:inherit;font-size:11px;text-align:right;-moz-appearance:textfield;appearance:textfield}.precision__gridsize::-webkit-outer-spin-button,.precision__gridsize::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.precision__gridsize:focus-visible{outline:1px solid var(--accent);outline-offset:0}.hatch__presets{flex-wrap:wrap;gap:3px}.hatch__presets .statusbar__snap{flex:0 0 auto}.snap-override{position:absolute;z-index:46;width:168px;padding:var(--s-2);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);box-shadow:var(--shadow-card)}.snap-override__title{margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--divider);font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.snap-override__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.snap-override__item{font-family:var(--mono);font-size:10px;text-align:center;padding:3px 4px;cursor:pointer;background:var(--surface-2);color:var(--fg-2);border:1px solid var(--divider);border-radius:var(--r-0);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.snap-override__item:hover,.snap-override__item:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--surface)}.snap-override__item--none{width:100%;margin-top:4px}.layouttabs-menu{position:fixed;z-index:46;min-width:150px;padding:var(--s-2);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);box-shadow:var(--shadow-card)}.layouttabs-menu__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);margin:0 0 var(--s-1);padding:2px 3px 5px;border-bottom:1px solid var(--divider)}.layouttabs-menu__name{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.layouttabs-menu__badge{flex:0 0 auto;font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.layouttabs-menu__item{display:block;width:100%;text-align:left;font-family:var(--mono);font-size:11px;color:var(--fg-2);padding:4px 6px;cursor:pointer;background:none;border:none;border-radius:var(--r-0);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.layouttabs-menu__item:hover:not(:disabled),.layouttabs-menu__item:focus-visible:not(:disabled){color:var(--accent);background:var(--surface-2)}.layouttabs-menu__item:disabled{color:var(--fg-3);cursor:default;opacity:.6}.layouttabs-menu__item--danger:hover:not(:disabled),.layouttabs-menu__item--danger:focus-visible:not(:disabled){color:var(--danger, #d64545);background:color-mix(in srgb,var(--danger, #d64545) 10%,transparent)}.layouttabs-menu__sep{height:1px;margin:var(--s-1) 0;background:var(--divider)}.layouttabs-menu__note{margin-top:var(--s-1);padding:4px 6px 2px;font-family:var(--mono);font-size:8.5px;line-height:1.4;color:var(--fg-3)}.pick-banner{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--surface);color:var(--fg);border:1px solid var(--divider-s);border-radius:var(--radius);box-shadow:var(--shadow-card);font-family:var(--sans)}.pick-banner__icon{color:var(--accent);font-size:14px;line-height:1}.pick-banner__text{font-size:13px;color:var(--fg)}.pick-banner__input{width:190px;padding:4px 8px;outline:none;background:var(--bg-2);color:var(--fg);border:1px solid var(--divider);border-radius:var(--radius);font-size:12.5px}.pick-banner__input:focus-visible{border-color:var(--accent)}.pick-banner__esc{padding:0 2px;cursor:pointer;background:transparent;color:var(--muted);border:none;font-size:12px;transition:color var(--dur-fast) var(--ease)}.pick-banner__esc:hover,.pick-banner__esc:focus-visible{color:var(--accent)}.shell__cmdband .cmdline,.shell__cmdband .cmdline.is-collapsed{border-top:none;height:var(--cmd-row-h);min-width:0}.shell__cmdband .cmdline__input-row{height:var(--cmd-row-h);padding:0 var(--s-3)}.shell__cmdband .cmdline__log{position:absolute;left:0;right:0;bottom:100%;height:220px;max-height:42vh;border:1px solid var(--divider);box-shadow:var(--shadow-card);z-index:40}.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);overflow-x:auto;overflow-y:hidden;min-width:0}.topbar__group{display:flex;align-items:center;gap:6px}.topbar__group--chrome{gap:4px}.topbar__divider{width:1px;height:18px;margin:0 2px;background:var(--divider)}.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:32px;height:32px;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)}.icon-pt{fill:var(--accent);stroke:none}.topbar__prefs{display:inline-flex;align-items:center;gap:var(--s-2)}.lang-select{position:relative;display:inline-flex}.lang-select__trigger{position:relative;display:inline-flex;align-items:center;gap:var(--s-1);height:var(--control-height-compact);padding:0 var(--s-2);border:1px solid var(--hair-strong);border-radius:0;background:var(--white);color:var(--fg-2);font-family:var(--mono);font-size:var(--fs-mono-micro);font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.lang-select__trigger:hover{background:var(--fog)}.lang-select__trigger:before{content:"";position:absolute;inset:calc(-1 * var(--s-1) - 2px)}.lang-select__caret{transition:transform var(--dur-fast) var(--ease)}.lang-select[data-open] .lang-select__caret{transform:rotate(180deg)}.lang-select__menu{position:absolute;top:calc(100% + var(--s-1));right:0;z-index:60;min-width:132px;margin:0;padding:0;list-style:none;background:var(--white);border:1px solid var(--hair-strong)}.lang-select__option{display:flex;width:100%;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:0;background:none;text-align:left;font-family:var(--sans);font-size:var(--fs-caption-md);color:var(--fg);cursor:pointer;white-space:nowrap}.lang-select__option:hover{background:var(--fog)}.lang-select__option[aria-selected=true]{background:var(--ink);color:var(--white)}.lang-select__code{font-family:var(--mono);font-size:var(--fs-mono-micro);font-weight:500;letter-spacing:.08em;color:inherit;opacity:.7}@media (prefers-reduced-motion: reduce){.lang-select__caret{transition:none}}.hicb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;padding:0;border:1px solid var(--hair-strong);border-radius:var(--r-sm);background:var(--white);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.hicb:before{content:"";position:absolute;inset:calc(-1 * var(--s-1) - 2px)}.hicb:hover,.hicb--active{background:var(--fog)}.palette{background:var(--bg-1);border-right:1px solid var(--line);padding:6px 3px 24px;overflow-y:auto;overflow-x:hidden;height:100%;scroll-padding-bottom:24px}.palette__section{padding:0 0 5px}.palette__title{margin:5px 1px 4px;padding-bottom:3px;border-bottom:1px solid var(--divider);font-family:var(--mono);font-size:8.5px;font-weight:600;text-transform:uppercase;color:var(--fg-3);letter-spacing:.06em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette__grid{display:grid;grid-template-columns:1fr;gap:2px}.palette__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:38px;padding:0;background:var(--bg-2);border:1px solid var(--line)}.palette__label{display:none}.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:where(:not(.topbar__prefs *)){display:inline-flex;align-items:center;gap:6px}.topbar__group button:where(:not(.topbar__prefs *)) svg{color:var(--fg-2);flex-shrink:0}.topbar__group button:where(:not(.topbar__prefs *)):hover:not(:disabled) svg{color:var(--accent)}.topbar__group button:where(:not(.topbar__prefs *)):disabled svg{color:var(--fg-mute)}.palette__label{font-size:9.5px;letter-spacing:-.01em;line-height:1.15}.ribbon{display:flex;flex-direction:column;background:color-mix(in srgb,white 88%,var(--surface-2));border-bottom:1px solid var(--divider-s);flex:0 0 auto}.ribbon__tabs{display:flex;padding:0 4px;background:color-mix(in srgb,white 78%,var(--surface-2));border-bottom:1px solid var(--divider)}.ribbon__tab{padding:5px 14px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--fg-3);font-size:12px;font-weight:600;cursor:pointer;transition:color .12s var(--ease),border-color .12s var(--ease)}.ribbon__tab:hover:not(.is-active){color:var(--fg)}.ribbon__tab.is-active{color:var(--accent-d);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-bottom-color:var(--accent)}[data-theme=dark] .ribbon{background:color-mix(in srgb,var(--fg) 5%,var(--surface-2))}[data-theme=dark] .ribbon__tabs{background:color-mix(in srgb,var(--fg) 9%,var(--surface-2))}[data-theme=dark] .ribbon__tab.is-active{color:var(--glow);background:color-mix(in srgb,var(--accent) 18%,var(--surface-2));border-bottom-color:var(--glow)}.ribbon__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ribbon__panels{display:flex;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;row-gap:4px;padding:5px 10px 3px}.ribbon__panel{display:flex;flex-direction:column;align-items:stretch;padding:0 8px 2px;border-right:1px solid var(--divider);flex:0 0 auto}.ribbon__panel:last-child{border-right:none}.ribbon__group{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;gap:2px}.ribbon__panel--compact .ribbon__group{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,40px);gap:2px}.ribbon__panel-title{margin-top:auto;padding:3px 6px 2px;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2);text-align:center}.ribbon__btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:40px;height:40px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--fg-1);cursor:pointer;transition:border-color .12s var(--ease),background-color .12s var(--ease),color .12s var(--ease)}.ribbon__btn:hover:not(:disabled){border-color:var(--divider-s);background:var(--surface-3);color:var(--fg)}.ribbon__btn.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.ribbon__btn:disabled{opacity:.4;cursor:not-allowed}.ribbon__btn:disabled .ribbon__btn-icon{color:var(--fg-mute)}.ribbon__btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ribbon__btn-icon{display:inline-flex;align-items:center;justify-content:center;height:24px;color:inherit}.ribbon__btn-label{display:none}[data-theme=dark] .ribbon__btn{background:color-mix(in srgb,var(--surface) 60%,transparent)}[data-theme=dark] .ribbon__btn:hover:not(:disabled){background:var(--surface-3)}.tool{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--fg-1);cursor:pointer;transition:border-color .12s var(--ease),background-color .12s var(--ease),color .12s var(--ease)}.tool--sm{min-width:32px;min-height:32px}.tool--md{min-width:40px;min-height:40px}.tool__ic{display:inline-flex;align-items:center;justify-content:center;color:inherit}.tool__label{font-size:var(--fs-micro-lg, 11px);line-height:1.1;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tool:hover:not(:disabled){border-color:var(--divider-s);background:var(--surface-3);color:var(--fg)}.tool--active,.tool--active:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.tool:disabled{opacity:.4;color:var(--fg-mute);cursor:not-allowed}.tool:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}[data-theme=dark] .tool{background:color-mix(in srgb,var(--surface) 60%,transparent)}[data-theme=dark] .tool:hover:not(:disabled){background:var(--surface-3)}.ribbon__fly{position:relative;display:inline-flex}.ribbon__fly-caret{position:absolute;right:0;bottom:0;width:14px;height:12px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--fg-mute);cursor:pointer}.ribbon__fly-caret:hover,.ribbon__fly-caret.is-open{color:var(--accent)}.ribbon__fly-caret:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ribbon__fly-menu{position:absolute;z-index:46;top:calc(100% + 2px);left:0;min-width:148px;padding:var(--s-1);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1px}.ribbon__fly-item{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2);border:0;background:transparent;color:var(--fg);font:inherit;font-size:var(--fs-micro);text-align:left;cursor:pointer;border-radius:var(--r-0)}.ribbon__fly-item:hover{background:var(--surface-3)}.ribbon__fly-item.is-current{color:var(--accent)}.ribbon__fly-item kbd{margin-left:auto;color:var(--fg-mute);font-family:var(--mono);font-size:var(--fs-micro-xs)}.ribbon__fly-item .ribbon__btn-icon{height:20px}.ribbon__mobile{display:none}.dynhud{position:absolute;z-index:7;display:flex;gap:4px;pointer-events:none;font-family:var(--mono);font-size:var(--fs-micro);white-space:nowrap}.dynhud__chip{display:inline-flex;align-items:baseline;gap:4px;padding:1px 6px;background:#0a0e1c9e;border:1px solid rgba(255,255,255,.18);color:#fff;font-variant-numeric:tabular-nums}.dynhud[data-light] .dynhud__chip{background:#ffffffc7;border-color:#0a0e1c40;color:#0a0e1c}.dynhud__key{opacity:.65;font-size:var(--fs-micro-xs)}.canvas-overlay{position:relative;width:100%;height:100%;z-index:5;background:transparent;touch-action:none}.canvas-overlay.numeric-command-active{z-index:60}.canvas-overlay.tool-pan{cursor:grab}.canvas-overlay.tool-orbit{cursor:alias}.canvas-overlay.tool-select,.canvas-overlay.tool-zoom-window,.canvas-overlay[class*=draw-],.canvas-overlay[class*=anno-]{cursor:none}.crosshair-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}.grid-overlay{position:fixed;pointer-events:none;z-index:30}.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:var(--s-1)}.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:var(--mono);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:var(--mono);font-size:11.5px}.cmdline__input-row input{flex:1;background:var(--bg-2);border-color:transparent;font-family:var(--mono);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:var(--mono);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+.statusbar__group{border-left:1px solid var(--line);padding-left:var(--s-3)}.statusbar__group--snap{gap:2px}.statusbar__num{font-family:var(--mono);font-variant-numeric:tabular-nums}.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__snapdot{width:6px;height:6px;display:inline-block;margin-right:4px;border-radius:var(--r-pill);background:var(--fg-mute)}.statusbar__snapdot[data-on]{background: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:var(--ink);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:200;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}.shell__shared-badge{display:flex;align-items:center;gap:var(--s-2, 8px);position:fixed;top:var(--s-3, 12px);left:50%;transform:translate(-50%);z-index:5;padding:var(--s-1, 4px) var(--s-3, 12px);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg-2);font-size:var(--fs-micro-lg, 11px);pointer-events:none}.shell__shared-badge--locked{font-size:var(--fs-body-xs, 14px);padding:var(--s-2, 8px) var(--s-4, 16px);color:var(--fg-1)}.shell__badge-account{max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-1)}a.shell__badge-action{text-decoration:none}.lock-editing{color:var(--warn);font-weight:600}.modal__card.save-notice__card{border-left:3px solid var(--ok)}.modal__card.save-notice__card--warn{border-left-color:var(--warn)}.save-notice__title{margin:0;font-weight:600;color:var(--fg-1)}.save-notice__msg{margin:0;color:var(--fg-2);font-size:var(--fs-caption-sm, 12.5px);line-height:1.5;overflow-wrap:anywhere}.drive-open-alert{position:absolute;left:var(--s-4);right:var(--s-4);bottom:calc(var(--cmd-band-h) + var(--status-h) + var(--s-3));z-index:100;max-width:var(--auth-card-max);background:var(--surface)}.drive-open-alert .alert{display:flex;gap:var(--s-2);align-items:flex-start;padding:var(--s-2) var(--s-3);border:1px solid var(--hair-strong);border-left:3px solid var(--alert-c, var(--accent))}.drive-open-alert .alert__glyph{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--s-4);height:var(--s-4);color:var(--alert-c, var(--accent));font-family:var(--mono);font-weight:600;font-size:var(--fs-mono-micro)}.drive-open-alert .alert__body{flex:1;min-width:0}.drive-open-alert .alert__title{font-size:var(--fs-caption-sm);font-weight:500;color:var(--ink)}.drive-open-alert .alert__msg{font-size:var(--fs-caption);color:var(--steel);line-height:1.5}.drive-open-alert .alert__close{flex-shrink:0;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:var(--s-5);height:var(--s-5);margin:calc(-1 * var(--s-1)) calc(-1 * var(--s-1)) calc(-1 * var(--s-1)) 0;padding:0;background:none;border:none;color:var(--slate);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.drive-open-alert .alert__close:hover,.drive-open-alert .alert__close:focus-visible{color:var(--ink)}.modal__limit{margin:-4px 0 0;font-size:var(--fs-micro-lg, 11px);color:var(--fg-3)}.fonts-panel{display:flex;flex-direction:column;gap:6px}.fonts-used{display:flex;flex-direction:column;gap:4px}.fonts-used__card{border:1px solid var(--divider);border-radius:var(--r-sm);padding:4px 6px}.fonts-used__head{display:flex;align-items:center;gap:6px}.fonts-used__file{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--fs-micro)}.fonts-used__badge{font-size:10px;padding:1px 6px;border:1px solid var(--divider);border-radius:var(--r-sm);white-space:nowrap}.fonts-used__badge.is-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.fonts-used__badge.is-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.fonts-used__count{color:var(--fg-mute);font-size:var(--fs-micro);white-space:nowrap;font-variant-numeric:tabular-nums}.fonts-used__swap{font-size:11px;padding:1px 8px}.fonts-used__replace{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.fonts-used__replace select{flex:1;min-width:120px}.fonts-advanced>summary{cursor:pointer;color:var(--fg-mute);font-size:var(--fs-micro);padding:4px 0}.fonts-advanced[open]>summary{color:var(--fg)}.textedit-dialog{position:absolute;z-index:12;box-sizing:border-box;width:min(760px,calc(100% - 16px));padding:0;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:7px;font-family:var(--sans);box-shadow:var(--shadow-pop)}.textedit-dialog__toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;padding:5px;background:var(--surface-3);border-radius:6px 6px 0 0;border-bottom:1px solid var(--line)}.textedit-dialog__field{position:relative;display:flex;align-items:center;min-width:0}.textedit-dialog__field--style,.textedit-dialog__field--font{flex:1 1 125px}.textedit-dialog__field--height{flex:0 1 88px}.textedit-dialog__field--color{flex:0 1 100px;gap:5px;padding-left:8px;border-left:1px solid var(--line)}.textedit-dialog__field-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.textedit-dialog__swatch{flex:0 0 14px;width:14px;height:14px;border:1px solid var(--line);border-radius:3px;background:repeating-conic-gradient(var(--fg-3) 0% 25%,var(--surface-3) 0% 50%) 50% / 8px 8px}.textedit-dialog__toolbar input,.textedit-dialog__toolbar select{box-sizing:border-box;width:100%;min-width:0;height:34px;padding:0 7px;color:var(--fg);background:transparent;border:1px solid transparent;border-bottom-color:var(--line);border-radius:3px;font:13px var(--sans);font-variant-numeric:tabular-nums}.textedit-dialog__toolbar select option{color:var(--fg);background:var(--surface)}.textedit-dialog__toolbar input:hover:not(:disabled),.textedit-dialog__toolbar select:hover:not(:disabled){background:var(--surface-2);border-bottom-color:var(--fg-2)}.textedit-dialog__toolbar button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;height:36px;padding:0;color:var(--fg);background:transparent;border:1px solid transparent;border-radius:4px;font-size:16px;cursor:pointer}.textedit-dialog__toolbar button:hover:not(:disabled){background:var(--surface-3)}.textedit-dialog__toolbar button[aria-pressed=true]{color:var(--white);background:var(--accent);border-color:var(--accent-d)}.textedit-dialog__toolbar .textedit-dialog__apply{flex-basis:42px;color:var(--white);background:var(--accent)}.textedit-dialog__toolbar .textedit-dialog__apply:hover:not(:disabled){background:var(--accent-d)}.textedit-dialog__toolbar .textedit-dialog__cancel{flex-basis:30px;color:var(--fg-2)}.textedit-dialog__toolbar :disabled{opacity:.45;cursor:not-allowed}.textedit-dialog__toolbar :focus-visible{outline:2px solid var(--accent);outline-offset:1px}.textedit-dialog__content{display:block;box-sizing:border-box;width:calc(100% - 16px);min-width:0;margin:8px;padding:10px 12px;color:var(--fg);caret-color:var(--accent);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;font:15px var(--sans);line-height:1.5;outline:none}.textedit-dialog__content:focus{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.textedit-dialog__content--mtext{resize:vertical;min-height:4em;white-space:pre-wrap}.textedit-dialog__warning,.textedit-dialog__hint{margin:6px 10px 8px;color:var(--fg-2);font-size:11px}.textedit-dialog__hint{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.textedit-dialog__error{margin:6px 10px 8px;color:var(--color-error);font-size:12px}@media (max-width: 720px){.textedit-dialog{width:calc(100% - 16px)}.textedit-dialog__toolbar{flex-wrap:wrap;gap:4px}.textedit-dialog__field--style,.textedit-dialog__field--font{flex:1 1 calc(50% - 8px)}.textedit-dialog__field--height{flex:1 1 64px}.textedit-dialog__field--color{flex:1 1 68px}.textedit-dialog__toolbar button{flex-basis:32px;min-height:36px}}@media (max-width: 760px){.canvas-overlay:has(.textedit-dialog){z-index:70}}.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:var(--link-hover, #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}.field-grow{flex:1 1 100px}.field-grow-wide{flex:1 1 120px}.field-xyz{width:60px}.field-num{width:70px}.field-error{color:var(--error)}.u-hidden{display:none}.dialog-title{margin:0}.aids-lbl{min-width:36px}.aids-error{color:var(--error);font-size:11px}.aids-hint{font-size:10px}.kbd-help-sub{margin:0;font-size:11px}.block-geom-svg{width:100%;height:100%}.settings__inline-gap{margin-left:var(--s-3)}.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)}.blocks__tile{position:relative;display:flex;flex-direction:column}.blocks__cell--main{background:none;border:none;cursor:pointer;padding:4px;text-align:center;color:inherit;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.blocks__cell--main:hover{background:var(--bg-2)}.blocks__insert{width:100%;padding:2px 0;cursor:pointer;font-family:var(--mono, monospace);font-size:9px;letter-spacing:.04em;background:none;color:var(--muted);border:none;border-top:1px solid var(--line);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.blocks__insert:hover,.blocks__insert:focus-visible{color:var(--accent);background:var(--bg-2)}.blocks__make{font-family:var(--mono, monospace);font-size:10px;letter-spacing:.03em;padding:3px 7px;cursor:pointer;background:var(--surface-2);color:var(--fg-2);border:1px solid var(--divider);border-radius:var(--r-0);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.blocks__make:hover,.blocks__make:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--surface)}.xref__note{flex:0 0 auto;padding:8px 12px;font-size:11px;line-height:1.5;color:var(--muted);border-top:1px solid var(--line)}.xref__meta{width:100%;display:flex;align-items:center;gap:4px;padding:0 4px 2px;min-width:0;box-sizing:border-box}.xref__path{flex:1 1 auto;font-family:var(--mono, monospace);font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.xref__status{flex:0 0 auto;font-family:var(--mono, monospace);font-size:8px;text-transform:uppercase;letter-spacing:.04em;padding:0 3px;border:1px solid var(--line);color:var(--muted)}.xref__status--bad{color:var(--warn);border-color:var(--warn)}.xref__actions{display:flex;border-top:1px solid var(--line)}.xref__actions button{flex:1 1 0;min-width:0;padding:2px 0;cursor:pointer;font-family:var(--mono, monospace);font-size:9px;letter-spacing:.04em;background:none;color:var(--muted);border:none;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.xref__actions button+button{border-left:1px solid var(--line)}.xref__actions button:hover:not(:disabled),.xref__actions button:focus-visible{color:var(--accent);background:var(--bg-2)}.xref__actions button:disabled{opacity:.5;cursor:default}.xref__actions button.xref__act--danger:hover:not(:disabled){color:var(--error)}.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:var(--s-1);align-items:center;padding:var(--s-1) 0;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:none}.mtext-create-editor{position:absolute;z-index:80;display:flex;align-items:flex-end;gap:6px;pointer-events:auto}.mtext-create-input{width:220px;min-height:42px;padding:6px 8px;box-sizing:border-box;resize:both;background:var(--surface);color:var(--fg);border:1px solid var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);font:14px/1.35 var(--sans);pointer-events:auto}.mtext-create-confirm{min-height:42px;padding:0 12px;border:1px solid var(--accent);background:var(--accent);color:var(--white);font:600 12px/1 var(--sans);cursor:pointer;pointer-events:auto}.mtext-create-confirm:hover{background:var(--accent-d)}.mtext-create-input::placeholder{color:var(--muted)}.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}.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:var(--fg-2, #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}.otrack-overlay{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}.otrack-guide{stroke:var(--canvas-aci-3);stroke-width:1;stroke-dasharray:1 5;stroke-linecap:round}.otrack-acq line{stroke:var(--canvas-aci-3);stroke-width:1.5}.pedit-overlay{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}.pedit-vert{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.95}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:6px;height:6px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:0}*::-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__group button:where(:not(.topbar__prefs *)){background:transparent;border:1px solid transparent;color:var(--fg-2);height:32px;font-size:var(--fs-caption-sm, 12.5px)}.topbar__group button:where(:not(.topbar__prefs *)):hover:not(:disabled){background:var(--surface-3);color:var(--fg);border-color:transparent}.workerview{position:absolute;inset:0;z-index:9000;display:flex;flex-direction:column;background:var(--bg)}.workerview__bar{display:flex;align-items:center;gap:var(--s-3);min-height:40px;flex-shrink:0;padding:var(--s-1) var(--s-4);flex-wrap:wrap;border-bottom:1px solid var(--divider);background:var(--surface)}.workerview__bar>.workerview__tag,.workerview__bar>.workerview__btn{flex-shrink:0;white-space:nowrap}.workerview__tag{font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--divider-s);border-radius:var(--r-0);padding:3px var(--s-2)}.workerview__hint{font-size:12px;color:var(--fg-3)}.workerview__btn{margin-left:auto;padding:var(--s-1) var(--s-3);font-size:12px;background:var(--surface-3);color:var(--fg-2);border:1px solid var(--divider-s);border-radius:var(--r-0);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.workerview__btn:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}.workerview__btn+.workerview__btn{margin-left:var(--s-2)}.workerview__btn--edit{color:var(--accent);border-color:var(--divider-s)}.workerview__btn--edit:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.workerview__stage{position:relative;flex:1;overflow:hidden;touch-action:none;background:var(--bg);cursor:grab}.workerview__stage:active{cursor:grabbing}.workerview__hovertip{position:absolute;z-index:6;pointer-events:none;font:500 11px/1 var(--mono);color:var(--fg-2);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);padding:3px var(--s-2)}.workerview__layers{position:absolute;z-index:7;top:var(--s-2);right:var(--s-2);max-height:60%;overflow-y:auto;min-width:180px;background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);padding:var(--s-2)}.workerview__layerrow{display:flex;align-items:center;gap:var(--s-2);font-size:12px;color:var(--fg-2);padding:var(--s-1) var(--s-1);cursor:pointer}.workerview__layerrow:hover{background:var(--surface-2);color:var(--fg)}.workerview__snap{position:absolute;z-index:6;pointer-events:none;transform:translate(-50%,-50%)}.workerview__snap-mark{display:block;width:11px;height:11px;box-sizing:border-box;border:1.5px solid var(--accent);background:transparent}.workerview__snap-lbl{position:absolute;left:12px;top:-2px;white-space:nowrap;font:500 10px/1 var(--mono);color:var(--accent);background:var(--surface);border:1px solid var(--divider-s);padding:1px 3px}.workerview__props{position:absolute;z-index:7;top:var(--s-2);left:var(--s-2);min-width:220px;max-width:280px;max-height:70%;overflow-y:auto;background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-1)}.workerview__props-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);font:600 11px/1 var(--mono);color:var(--accent);letter-spacing:.04em;padding-bottom:var(--s-1);border-bottom:1px solid var(--divider)}.workerview__props-head .workerview__btn{margin-left:0;padding:2px var(--s-2)}.workerview__proprow{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);font-size:12px;color:var(--fg-2)}.workerview__proprow select,.workerview__proprow input{max-width:140px;font-size:12px;padding:2px var(--s-1);background:var(--surface-3);color:var(--fg);border:1px solid var(--divider-s);border-radius:var(--r-0)}.workerview__proprow--ro span:last-child{color:var(--fg-3);font-family:var(--mono);font-size:11px}.workerview__btn--danger{color:var(--critical);border-color:var(--divider-s);margin-left:0}.workerview__btn--danger:hover:not(:disabled){border-color:var(--critical);color:var(--critical)}.workerview__cmd{margin-left:auto;min-width:180px;font:500 12px/1.4 var(--mono);background:var(--surface-3);color:var(--fg);border:1px solid var(--divider-s);border-radius:var(--r-0);padding:var(--s-1) var(--s-2)}.workerview__cmd:focus{outline:none;border-color:var(--accent)}.workerview__cmd+.workerview__hint{margin-left:var(--s-2)}.workerview__cmd~.workerview__btn{margin-left:var(--s-2)}@media (max-width: 700px){.workerview__bar{gap:var(--s-2);padding:var(--s-2) var(--s-3)}.workerview__hint--help{display:none}.workerview__bar>.workerview__cmd{flex:1;min-width:120px;width:0}.workerview__bar>.workerview__btn{margin-left:0}.workerview__bar>.workerview__hint:not(.workerview__hint--help){flex-basis:100%;overflow-wrap:anywhere}}.workerview__canvas{display:block;width:100%;height:100%}.workerview__overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:var(--overlay);pointer-events:none}.workerview__card{pointer-events:auto;min-width:320px;padding:var(--s-5) var(--s-6);background:var(--surface);border:1px solid var(--divider-s);border-top:2px solid var(--accent);border-radius:var(--r-0)}.workerview__title{font-size:14px;color:var(--fg);margin-bottom:var(--s-3)}.workerview__track{position:relative;height:6px;background:var(--surface-3);border:1px solid var(--divider-s);border-radius:var(--r-0);overflow:hidden}.workerview__fill{height:100%;background:var(--accent);transition:width var(--dur-slow) var(--ease)}.workerview__sweep{position:absolute;inset:0 auto 0 0;width:34%;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.5;will-change:transform;transform:translate(-120%);animation:workerview-sweep 1.15s var(--ease) infinite}@keyframes workerview-sweep{0%{transform:translate(-120%)}to{transform:translate(380%)}}.workerview__meta{margin-top:var(--s-2);font-size:11px;color:var(--fg-3);font-variant-numeric:tabular-nums}.workerview__meta code{font-family:var(--mono);background:var(--surface-3);padding:1px 5px}@media (prefers-reduced-motion: reduce){.workerview__sweep{animation:none;transform:none;width:100%;opacity:.3}}.userbadge{position:relative}.topbar .userbadge__signin{font-weight:500;color:var(--fg-2)}.topbar .userbadge__signin:hover{color:var(--fg)}.topbar .userbadge__trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:3px;background:transparent;border:1px solid var(--divider-s);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.topbar .userbadge__trigger:hover{background:var(--surface-3);border-color:var(--divider-s)}.userbadge__avatar{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--ink);color:var(--white);font:500 9px/1 var(--mono);letter-spacing:.02em}.userbadge__avatar--lg{width:38px;height:38px;font-size:14px}.userbadge__avatar img{width:100%;height:100%;object-fit:cover;display:block}.userbadge__menu{position:fixed;z-index:200;width:260px;overflow:hidden;background:var(--bg);border:1px solid var(--divider-s);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.userbadge__who{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--divider)}.userbadge__id{min-width:0}.userbadge__name{font-size:13.5px;font-weight:500;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbadge__email{font:400 10.5px/1.5 var(--mono);color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbadge__section{padding:5px}.userbadge__section--out{border-top:1px solid var(--divider)}.userbadge__item{display:block;width:100%;box-sizing:border-box;padding:7px 11px;text-align:left;text-decoration:none;font-size:13px;color:var(--fg-2);background:transparent;border:none;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.userbadge__item:hover{background:var(--surface-3);color:var(--fg)}.userbadge__item--critical,.userbadge__item--critical:hover{color:var(--critical)}.topbar__group button:where(:not(.topbar__prefs *)):disabled{opacity:.4}.topbar__group 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%}.topbar__doc .topbar__crumb{border-left:0;padding-left:0}.topbar__doc .mod-dot{width:6px;height:6px;flex-shrink:0;background:var(--accent);border-radius:50%}.topbar__doc .drive-unwired{font-family:var(--mono);font-size:10px;color:var(--warn);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);padding:1px 6px;flex-shrink:0}.topbar__doc .drive-action,.shell__badge-action{font:inherit;font-family:var(--mono);font-size:10px;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;padding:1px 6px;color:var(--accent);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius);cursor:pointer}.shell__badge-action{pointer-events:auto;font-size:var(--fs-micro-lg, 11px)}.topbar__doc .drive-action:hover,.shell__badge-action:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.topbar__doc .drive-action:focus-visible,.shell__badge-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topbar__doc .saved-at{font-family:var(--mono);font-size:10px;color:var(--fg-3);white-space:nowrap}.site-header__brand{display:inline-flex;align-items:center;gap:8px;color:var(--fg);cursor:pointer}.cadmira-lockup{display:inline-flex;align-items:center;gap:8px}.cadmira-wordmark{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:0;transition:color var(--dur-fast) var(--ease)}.site-header__suffix{margin-left:var(--s-1);font-size:var(--fs-body-lg);font-weight:400;color:var(--slate)}.site-header__brand[data-ondark=true] .site-header__suffix{color:var(--primitive-color-white)}.site-header__brand:hover .cadmira-wordmark{color:var(--accent)}.topbar__split{display:inline-flex;align-items:stretch;height:32px}.topbar__split>button{height:32px}.topbar__group button.topbar__split-caret{width:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-left:1px solid var(--divider)}.topbar__group button.topbar__split-caret.is-open,.topbar__group button.topbar__menubtn.is-open{color:var(--accent)}.topbar__split.is-disabled{opacity:1}.topbar__menubtn{display:inline-flex;align-items:center;gap:6px;height:32px}.topbar__menu{position:fixed;z-index:60;min-width:200px;padding:var(--s-1);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);box-shadow:var(--shadow-card)}.topbar__menu-sep{border-top:1px solid var(--divider);margin-top:2px;padding-top:2px}.topbar__menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;height:32px;padding:0 var(--s-2);background:transparent;border:1px solid transparent;border-radius:var(--r-0);color:var(--fg-2);font-size:13px;text-align:left;cursor:pointer}.topbar__menu-item:hover,.topbar__menu-item:focus-visible{background:var(--surface-3);color:var(--fg);outline:none}.topbar__menu-item:hover .topbar__menu-ic,.topbar__menu-item:focus-visible .topbar__menu-ic{color:var(--accent)}.topbar__menu-ic{display:inline-flex;color:var(--fg-3);flex-shrink:0}.topbar__menu-label{flex:1 1 auto;white-space:nowrap}.topbar__menu-kbd{font-family:var(--mono);font-size:10px;color:var(--fg-mute);margin-left:auto;padding-left:var(--s-3)}.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__viewer{padding:1px 7px;border:1px solid var(--accent);color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.statusbar__snap{font-family:var(--mono);border-radius:var(--r-sm);padding:1px 7px}.statusbar__snap.is-on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.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-persona__tile{position:relative;width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--divider-s);border-radius:var(--r-0);color:var(--white);font:600 10px/1 var(--mono)}.ai-persona__tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.ai-persona__name{color:var(--fg)}.ai-persona__role{font:600 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.ai-backend{margin-left:auto;padding:2px 6px;font:600 9px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);border:1px solid var(--divider-s);border-radius:2px;white-space:nowrap}.ai-backend--llm{color:var(--spark-d);border-color:transparent;background:color-mix(in srgb,var(--spark) 10%,transparent)}.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__ai{display:inline-flex;align-items:center;color:var(--accent);flex:0 0 auto}.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}.hover-tooltip{background:color-mix(in srgb,var(--surface) 90%,transparent);border-color:var(--divider-s);color:var(--fg);backdrop-filter:blur(6px)}.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-strip{flex:0 0 auto;height:var(--viewbar-h);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;background:var(--surface);border-bottom:1px solid var(--divider)}.viewbar{display:flex;align-items:center;gap:4px;padding:0;background:transparent;border:none;box-shadow:none}.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}.viewbar--right{margin-left:auto}.viewbar__layer{height:28px;min-width:96px;max-width:180px;padding:0 var(--s-2);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--fg-2);font-family:var(--mono);font-size:11px;cursor:pointer}.viewbar__layer:hover{background:var(--surface-3);color:var(--fg)}.viewbar__viewmode{height:26px;min-width:78px;padding:0 var(--s-2);background:transparent;border:1px solid var(--divider-s);border-radius:var(--r-sm);color:var(--fg-2);font-size:12px;cursor:pointer}.viewbar__viewmode:hover{background:var(--surface-3);color:var(--fg)}.viewbar__dropdowns{gap:4px}.viewbar__dropdowns .viewbar__viewmode{max-width:168px}.viewbar__dropdowns .viewbar__layer{border-color:var(--divider-s)}.viewcluster-wrap{position:absolute;top:8px;left:8px;z-index:8;display:flex;align-items:center;gap:var(--s-2)}.viewchip{appearance:none;-webkit-appearance:none;-moz-appearance:none;max-width:176px;height:28px;padding:0 var(--s-2);background:var(--accent-l, #E8F1FF);color:var(--accent-d);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--r-sm);font-size:12px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-card);text-align:center;text-align-last:center}.viewchip::-ms-expand{display:none}.viewchip:hover{border-color:var(--accent)}.viewchip:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}[data-theme=dark] .viewchip{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.settings-card{width:520px;max-width:calc(100vw - 32px);max-height:82vh;overflow-y:auto;border-radius:var(--r-0);box-shadow:var(--shadow-deep)}.settings__title{margin:0;font-size:14px;font-weight:600}.settings__tabs{display:flex;border-bottom:1px solid var(--divider)}.settings__tab{flex:0 0 auto;padding:7px 12px;background:transparent;border:none;border-right:1px solid var(--divider);border-radius:0;color:var(--fg-3);font-family:var(--mono);font-size:11px;letter-spacing:.02em;cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.settings__tab:hover:not(.is-active){color:var(--fg);background:var(--surface-3)}.settings__tab.is-active{color:var(--accent);background:var(--surface);box-shadow:inset 0 2px 0 var(--accent)}.settings__body{display:flex;flex-direction:column;gap:10px;min-height:230px;font-size:12px}.settings__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings__row>label:first-child{flex:0 0 170px;color:var(--fg-2)}.settings__hint{font-size:11px;color:var(--fg-mute)}.settings__lod{display:inline-flex;align-items:center;gap:8px}.settings__lod input[type=range]{width:150px;accent-color:var(--accent);cursor:pointer}.settings__lod-val{min-width:34px;font-family:var(--mono);font-size:11px;color:var(--fg-2);font-variant-numeric:tabular-nums}.settings__pending{font-family:var(--mono);font-size:10px;letter-spacing:.06em;padding:1px 7px;border:1px solid var(--divider);border-radius:var(--r-sm);color:var(--fg-3);background:var(--surface-3);white-space:nowrap}.settings__seg{display:flex;gap:2px}.settings__seg button.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.settings__group{border:1px solid var(--divider);border-radius:var(--r-0);padding:8px 10px}.settings__group legend{padding:0 4px;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.settings__snap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px;margin-top:6px}.settings__snap-item{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--fg-2)}.settings__num{width:72px;font-family:var(--mono);font-variant-numeric:tabular-nums}.settings__units{width:100%;border-collapse:collapse;font-size:12px}.settings__units td{padding:5px 6px;border-bottom:1px solid var(--divider)}.settings__units td:first-child{color:var(--fg-2);width:55%}.settings__units td:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg)}.query-card{width:460px;max-width:calc(100vw - 32px);max-height:82vh;overflow-y:auto;border-radius:var(--r-0);box-shadow:var(--shadow-deep)}.query__form{display:flex;flex-direction:column;gap:8px}.query__input{flex:1 1 auto;min-width:0;font-size:12px}.query__opts{gap:14px}.query__opts-label{flex:0 0 170px;color:var(--fg-2);font-size:12px}.query__check{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--fg-2)}.query__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.query__progress{display:flex;align-items:center;gap:10px}.query__progress-bar{flex:1 1 auto;height:4px;background:var(--surface-3);border:1px solid var(--divider);overflow:hidden}.query__progress-fill{height:100%;background:var(--accent);transition:width var(--dur-fast) var(--ease)}.query__notice{margin:0;font-size:11.5px;color:var(--fg-2);font-family:var(--mono)}.query__count{margin:0;font-size:12px;color:var(--fg-2)}.query__count strong{color:var(--accent);font-variant-numeric:tabular-nums}.query__results{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;border:1px solid var(--divider);border-radius:var(--r-0)}.query__result{display:flex;align-items:baseline;gap:8px;padding:5px 9px;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--divider);border-radius:0;color:var(--fg-2);font-size:12px;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.query__result:last-child{border-bottom:none}.query__result:hover{background:var(--surface-3);color:var(--fg)}.query__result.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.query__result-kind{flex:0 0 auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.query__result-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.group__empty{margin:0;font-size:12px;color:var(--fg-3)}.group__row{display:flex;align-items:center;gap:8px;padding:5px 9px;border-bottom:1px solid var(--divider)}.group__row:last-child{border-bottom:none}.group__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--fg)}.group__count{flex:0 0 auto;font-family:var(--mono);font-size:11px;color:var(--fg-2);font-variant-numeric:tabular-nums}.group__act{flex:0 0 auto;display:inline-flex;gap:4px}.group__act button{font-size:11.5px;padding:3px 9px}.viewpill{position:absolute;bottom:10px;left:10px;z-index:30;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);box-shadow:var(--shadow-card);font-family:var(--mono);font-size:11px;color:var(--fg);letter-spacing:.02em;font-variant-numeric:tabular-nums;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,.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:where(:not(.topbar__prefs *)):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:absolute;inset:0;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-modes{display:grid;grid-template-columns:1fr 1fr;gap:3px}.wm-mode{width:auto;font-size:11px;padding:4px 6px}.wm-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-2);cursor:pointer}.wm-check input{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:10px;background-image:none;border-radius:var(--r-sm);text-align:center}.topbar__group select{background-color:var(--surface-2)}select:hover:not(:disabled){border-color:var(--divider-s)}.topbar__group button:where(:not(.topbar__prefs *)),.palette__btn{background:transparent;border-color:transparent}.topbar__group button:where(:not(.topbar__prefs *)):hover:not(:disabled){background:var(--surface-3);border-color:var(--divider-s)}.topbar__group button:where(:not(.topbar__prefs *)):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)}.panel button.primary:not(.ai-send):not(.ai-run),.modal__card button.primary{background:var(--accent);border-color:var(--accent);color:var(--white)}.panel button.primary:not(.ai-send):not(.ai-run):hover:not(:disabled),.modal__card button.primary:hover:not(:disabled){background:var(--accent-d);border-color:var(--accent-d)}.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)}.cmdline.is-collapsed .cmdline__collapse svg{transform:rotate(180deg)}.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;display:inline-flex;align-items:center;gap:5px;margin:0;padding:2px 5px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);text-align:left;cursor:text;font-size:12.5px;line-height:1.2;color:var(--fg);transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.layers__name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers__name.is-locked{cursor:default;color:var(--fg-mute)}.layers__name:not(.is-locked):hover{background:color-mix(in srgb,var(--fg) 5%,transparent);border-color:var(--divider)}.layers__name:focus-visible{outline:none;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.layers__item.is-current .layers__name{font-weight:600}.layers__rename{flex:1 1 auto;min-width:0;padding:2px 6px;font-family:inherit;font-size:12.5px;line-height:1.2;color:var(--fg);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-sm);outline:none}.layers__flags{display:flex;gap:2px;flex-shrink:0}.layers__flag{width:22px;height:20px;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)}.panel .layers__flags .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)}.panel .layers__flags .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}.panel__refresh{flex-shrink:0;width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3)}.panel__refresh:hover:not(:disabled){color:var(--accent)}.layers__add-btn{flex-shrink:0;padding:0 var(--s-2);display:inline-flex;align-items:center;justify-content:center;color:var(--fg-2)}.layers__add-btn:hover:not(:disabled){color:var(--accent)}.layers__snap-del{padding:2px var(--s-2);display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3)}.layers__snap-del:hover:not(:disabled){color:var(--critical)}.layers__snap-del:disabled{opacity:.4}.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}.aci-trigger{width:18px;height:15px;padding:0;flex-shrink:0;cursor:pointer;border:1px solid var(--divider-s);border-radius:var(--r-0);background-clip:padding-box}.aci-trigger:hover,.aci-trigger:focus-visible{border-color:var(--accent);outline:none}.aci-pop{position:fixed;z-index:4000;width:360px;padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--divider);box-shadow:var(--shadow-pop, 0 6px 24px rgba(0,0,0,.28))}.aci-pop__row{display:flex;gap:3px}.aci-pop__special{gap:6px}.aci-pop__grid{display:grid;grid-template-columns:repeat(24,1fr);gap:1px}.aci-cell{width:100%;height:13px;min-width:12px;padding:0;cursor:pointer;border:1px solid transparent;border-radius:0}.aci-pop__std .aci-cell{width:15px;height:15px;border-color:var(--divider-s)}.aci-cell:hover{outline:1px solid var(--fg-1);outline-offset:-1px;z-index:1}.aci-cell--sel{outline:2px solid var(--accent);outline-offset:-1px;z-index:2}.aci-chip{padding:3px 10px;font-size:11px;cursor:pointer;background:var(--surface-2);color:var(--fg-1);border:1px solid var(--divider);border-radius:var(--r-0)}.aci-chip:hover{border-color:var(--accent);color:var(--accent)}.aci-chip--sel{border-color:var(--accent);color:var(--accent);font-weight:600}.aci-pop__foot{font-family:var(--mono);font-size:10.5px;color:var(--fg-3);min-height:14px;padding-top:2px;border-top:1px solid var(--divider-s)}.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-overlay{position:absolute;inset:0;z-index:12;width:100%;height:100%;pointer-events:none;overflow:visible}.grip-overlay__vertex,.grip-overlay__mid{fill:#168be8;stroke:#bfe7ff;stroke-width:.8;vector-effect:non-scaling-stroke}.grip-overlay__mid{fill:#087ed6}.grip-overlay__vertex.is-active,.grip-overlay__mid.is-active{fill:#f3b629;stroke:#ffe7a3}.grip-overlay__preview{fill:none;stroke:#ffd21f;stroke-width:1.35;stroke-dasharray:5 4;opacity:.92;vector-effect:non-scaling-stroke}.grip-overlay__baseline{fill:none;stroke:#e7eff7d1;stroke-width:1.1;stroke-dasharray:2 4;opacity:.9;vector-effect:non-scaling-stroke}.grip-overlay__vector{stroke:#ffd21f;stroke-width:1.15;stroke-dasharray:4 4;opacity:.9;vector-effect:non-scaling-stroke}.sel-marquee{position:absolute;z-index:6;pointer-events:none;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.sel-marquee.is-crossing{border-style:dashed;border-color:var(--ok, #2faa5b);background:color-mix(in srgb,var(--ok, #2faa5b) 10%,transparent)}.sketch-preview{position:absolute;inset:0;z-index:6;pointer-events:none;width:100%;height:100%}.sketch-preview polyline{stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.shell__center{position:relative}.perfhud{position:absolute;top:10px;right:10px;z-index:30;width:240px;padding:10px 12px;background:#14181eeb;color:#e6edf3;border:1px solid #30363d;border-radius:8px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 4px 16px #0006;pointer-events:auto}.perfhud__title{font-weight:700;margin-bottom:6px;color:#58a6ff}.perfhud__row{display:flex;justify-content:space-between;gap:8px}.perfhud__row span{color:#8b949e}.perfhud__row b{font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis}.perfhud__bench{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.perfhud__bench label{display:flex;align-items:center;gap:4px;color:#8b949e}.perfhud__bench input{width:48px;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:4px;padding:2px 4px}.perfhud__bench button{flex:1;background:#238636;color:#fff;border:0;border-radius:4px;padding:4px 8px;cursor:pointer}.perfhud__bench button:disabled{background:#444c56;cursor:default}.perfhud__result{margin-top:4px;padding-top:6px;border-top:1px solid #30363d}.perfhud__result b{color:#3fb950}.perfhud__samples{color:#6e7681;font-size:10px;margin-top:4px;word-break:break-all}.perfhud__hint{margin-top:6px;color:#6e7681;font-size:10px}.perfhud__wgpu{margin-top:8px;padding-top:8px;border-top:1px solid #30363d}.perfhud__wgpu-title{margin-bottom:6px}.perfhud__wgpu-canvas{display:block;width:128px;height:96px;margin:6px 0;background:#0d1117;border:1px solid #30363d;border-radius:4px}.perfhud__wgpu-msg{margin-top:4px;font-size:10px}.perfhud__wgpu-msg--ready{color:#3fb950}.perfhud__wgpu-msg--starting{color:#d29922}.perfhud__wgpu-msg--timeout,.perfhud__wgpu-msg--unsupported,.perfhud__wgpu-msg--error{color:#f85149}.loadoverlay{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;background:var(--overlay);pointer-events:none}.loadoverlay__card{pointer-events:auto;min-width:340px;padding:var(--s-5) var(--s-6);background:var(--surface);border:1px solid var(--divider-s);border-top:2px solid var(--accent);border-radius:var(--r-0)}.loadoverlay__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3)}.loadoverlay__label{font-size:13px;color:var(--fg)}.loadoverlay__pct{font:600 13px/1 var(--mono);color:var(--accent);font-variant-numeric:tabular-nums}.loadoverlay__bar{position:relative;height:6px;background:var(--surface-3);border:1px solid var(--divider-s);border-radius:var(--r-0);overflow:hidden}.loadoverlay__fill{height:100%;background:var(--accent);border-radius:var(--r-0);transition:width var(--dur-slow) var(--ease)}.loadoverlay__sweep{position:absolute;inset:0 auto 0 0;width:34%;border-radius:var(--r-0);background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.55;will-change:transform;transform:translate(-120%);animation:loadoverlay-sweep 1.15s var(--ease) infinite}.loadoverlay__bar:not(.is-indeterminate) .loadoverlay__sweep{display:none}@keyframes loadoverlay-sweep{0%{transform:translate(-120%)}to{transform:translate(380%)}}@media (prefers-reduced-motion: reduce){.loadoverlay__sweep{animation:none;transform:none;width:100%;opacity:.35}}.loadoverlay__meta{margin-top:var(--s-2);font-size:11px;color:var(--fg-3);font-variant-numeric:tabular-nums}.loadoverlay__lod{margin-left:var(--s-2);padding:1px var(--s-2);font:500 10px/1.6 var(--mono);letter-spacing:.03em;color:var(--fg-3);border:1px solid var(--divider-s);border-radius:var(--r-0)}.loadoverlay__note{margin-top:var(--s-2);padding:var(--s-2) var(--s-3);max-width:360px;font-size:11px;line-height:1.5;color:var(--fg-3);background:var(--surface-3);border-left:2px solid var(--divider-s);border-radius:var(--r-0)}.loadoverlay__dismiss{margin-top:var(--s-3);padding:var(--s-1) var(--s-3);font-size:11px;background:var(--surface-3);color:var(--fg-2);border:1px solid var(--divider-s);border-radius:var(--r-0);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.loadoverlay__dismiss:hover{background:var(--surface-2);color:var(--fg)}.shell__drawer-btn,.shell__backdrop{display:none}@media (max-width: 760px){.ribbon{position:relative;z-index:52}.ribbon.ribbon--mobile-open{z-index:62}.ribbon__tabs,.ribbon__panels{display:none}.ribbon__mobile{display:block;position:relative}.ribbon__mobile-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:52px;padding:4px 8px;gap:4px}.ribbon__mobile-group{min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--fg-2);font-size:13px;font-weight:650}.ribbon__mobile-group.is-open{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.ribbon__mobile-chevron{width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transform-origin:center;transition:transform var(--dur-fast) var(--ease)}.ribbon__mobile-group.is-open .ribbon__mobile-chevron{transform:rotate(180deg)}.ribbon__mobile-menu{position:absolute;z-index:70;top:100%;left:8px;right:8px;max-height:min(62vh,520px);overflow:auto;padding:10px;background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-sm);box-shadow:var(--shadow-pop)}.ribbon__mobile-section+.ribbon__mobile-section{margin-top:10px}.ribbon__mobile-title{margin:0 2px 5px;color:var(--fg-3);font:600 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}.ribbon__mobile-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.ribbon__mobile-tool{min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px 2px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--fg-1);font-size:10px}.ribbon__mobile-tool span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ribbon__mobile-tool:hover:not(:disabled),.ribbon__mobile-tool:focus-visible,.ribbon__mobile-group:focus-visible{border-color:var(--divider-s);background:var(--surface-3)}.ribbon__mobile-tool.is-active{border-color:var(--accent);color:var(--accent)}.ribbon__mobile-tool:disabled{opacity:.4}.shell__body,.shell[data-dock=open] .shell__body,.shell[data-dock=closed] .shell__body{grid-template-columns:1fr}.app-canvas-wrap{left:0;right:0}.app-webgpu-preview{display:none}.palette{position:fixed;top:var(--top-h);bottom:calc(var(--cmd-band-h) + var(--status-h));left:0;width:var(--tool-w);z-index:60;transform:translate(-100%);transition:transform .22s var(--ease);box-shadow:var(--shadow-pop)}.shell--drawer-tools .palette{transform:translate(0)}.shell__dock{position:fixed;top:var(--top-h);bottom:calc(var(--cmd-band-h) + var(--status-h));right:0;width:min(80vw,320px);z-index:60;border-right:none;border-left:1px solid var(--line);transform:translate(100%);transition:transform .22s var(--ease);box-shadow:var(--shadow-pop)}.shell[data-dock=closed] .shell__dock{border-left:1px solid var(--line)}.shell__rail{position:fixed;top:var(--top-h);bottom:calc(var(--cmd-band-h) + var(--status-h));right:min(80vw,320px);width:var(--rail-w);z-index:61;transform:translate(calc(var(--rail-w) + min(80vw,320px)));transition:transform .22s var(--ease)}.shell--drawer-panel .shell__dock,.shell--drawer-panel .shell__rail{transform:translate(0)}.shell__backdrop{display:block;position:fixed;inset:var(--top-h) 0 calc(var(--cmd-band-h) + var(--status-h)) 0;background:var(--overlay);z-index:55}.shell__drawer-btn{display:inline-flex;align-items:center;justify-content:center;position:fixed;bottom:calc(var(--cmd-band-h) + var(--status-h) + 14px);width:46px;height:46px;z-index:50;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-card)}.shell__drawer-btn--tools{left:14px}.shell__drawer-btn--panel{right:14px}.shell__drawer-btn:active{background:var(--surface-3)}.palette__btn{min-height:44px}.shell__rail-btn{height:48px}.topbar{overflow-x:auto;overflow-y:hidden}.topbar::-webkit-scrollbar{height:0}}.render-route{position:absolute;inset:0;z-index:10000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);text-align:center;padding:var(--s-8)}.render-route__name{font:500 12px/1.4 var(--mono);letter-spacing:.02em;color:var(--fg-3);word-break:break-all;max-width:560px}.render-route__title{font-size:20px;font-weight:300;letter-spacing:-.01em;color:var(--fg)}.render-route__stage{margin-top:var(--s-2);font:500 12px/1.4 var(--mono);letter-spacing:.04em;color:var(--accent);border:1px solid var(--divider-s);padding:var(--s-1) var(--s-3);border-radius:var(--r-0)}.render-route__progress{display:flex;align-items:center;gap:var(--s-3);width:min(420px,80vw);margin-top:var(--s-2)}.render-route__bar{flex:1;height:6px;background:var(--surface-3);border:1px solid var(--divider-s);border-radius:var(--r-0);overflow:hidden}.render-route__fill{height:100%;background:var(--accent);border-radius:var(--r-0);transition:width var(--dur-slow) var(--ease)}.render-route__pct{font:600 12px/1 var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}.render-route__steps{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-1) 0 0;padding:0;list-style:none}.render-route__step{font:500 11px/1.6 var(--mono);letter-spacing:.03em;color:var(--fg-mute);padding:1px var(--s-2);border:1px solid transparent;border-radius:var(--r-0)}.render-route__step+.render-route__step:before{content:"·";margin-right:var(--s-2);color:var(--fg-mute)}.render-route__step.is-done{color:var(--fg-3)}.render-route__step.is-active{color:var(--accent);border-color:var(--divider-s)}.render-route__meta{margin-top:var(--s-1);font-size:11px;color:var(--fg-mute);font-variant-numeric:tabular-nums}.render-route__hint{margin-top:var(--s-4);font-size:12px;color:var(--fg-mute)}.render-route__hint code{font-family:var(--mono);background:var(--surface-3);padding:1px 5px}.app-root.handoff .app-canvas-wrap{inset:0}.app-root.handoff .app-splash{display:none}.handoff-surface{position:fixed;inset:0;z-index:1}.handoff-surface.is-hidden{display:none}.handoff-surface__frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:var(--bg)}.handoff-orbit{position:fixed;inset:0;z-index:2;display:none;touch-action:none;cursor:grab}.handoff-orbit.is-active{display:block}.handoff-orbit.is-dragging{cursor:grabbing}.handoff-hud{position:fixed;left:var(--s-3);top:var(--s-3);z-index:9;max-width:260px;padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--divider-s);border-radius:var(--r-0);color:var(--fg);pointer-events:none}.handoff-hud__status{font:500 12px/1.4 var(--mono);color:var(--fg-3);white-space:pre}.handoff-hud__row{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2)}.handoff-hud__btn{pointer-events:auto;font:500 12px/1.2 var(--mono);color:var(--fg-2);background:var(--surface-3);border:1px solid var(--divider-s);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.handoff-hud__btn:hover{color:var(--fg);border-color:var(--accent)}.handoff-hud__btn:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.handoff-banner{position:fixed;left:50%;bottom:var(--s-5);transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-5);background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-0);color:var(--fg);max-width:min(92vw,640px)}.handoff-banner__state{font:500 12px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.handoff-banner__msg{font-size:13px;color:var(--fg)}.handoff-banner__bar{flex-shrink:0;width:72px;height:3px;overflow:hidden;background:var(--surface-3);border-radius:var(--r-0)}.handoff-banner__fill{display:block;width:40%;height:100%;background:var(--accent);animation:handoff-indet var(--dur-slow) var(--ease) infinite alternate}.handoff-banner__act{font-size:12px;padding:var(--s-1) var(--s-4);cursor:pointer;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:var(--r-sm)}.handoff-banner__act:hover{background:var(--accent-d);border-color:var(--accent-d)}.handoff-banner__close{background:none;border:none;color:var(--fg-3);cursor:pointer;font-size:15px;line-height:1;padding:0 var(--s-1)}.handoff-banner__close:hover{color:var(--fg)}.handoff-banner__act:focus-visible,.handoff-banner__close:focus-visible{outline:1px solid var(--accent);outline-offset:1px}@keyframes handoff-indet{0%{transform:translate(-60%)}to{transform:translate(220%)}}@media (prefers-reduced-motion: reduce){.handoff-banner__fill{animation:none;width:100%}}.pslot__actions{display:flex;gap:6px;padding:4px 0 2px}.pslot__btn{font-family:var(--mono, monospace);font-size:10px;letter-spacing:.03em;padding:3px 7px;cursor:pointer;background:var(--surface-2);color:var(--fg-2);border:1px solid var(--divider);border-radius:var(--r-0);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.pslot__btn:hover,.pslot__btn:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--surface)}.pslot__btn:disabled{opacity:.5;cursor:default}.panel__hint--warn{border-left-color:var(--warn);color:var(--warn)}.pslot__select{max-width:170px;font-family:var(--mono, monospace);font-size:10px;padding:2px 4px;background:var(--surface-2);color:var(--fg-2);border:1px solid var(--divider);border-radius:var(--r-0)}.pslot__select:focus-visible{border-color:var(--accent);outline:none}.layers__lt--select,.layers__lw--select{font-family:var(--mono, monospace);font-size:9.5px;background:var(--surface-2);color:var(--fg-2);border:1px solid var(--divider);border-radius:var(--r-0);padding:1px 2px;min-width:0}.layers__lt--select{flex:1 1 90px;max-width:130px}.layers__lw--select{flex:0 0 76px}.layers__lt--select:focus-visible,.layers__lw--select:focus-visible{border-color:var(--accent);outline:none}.viewcube{position:absolute;top:10px;right:12px;z-index:20;user-select:none;touch-action:none}.vc-canvas{position:absolute;left:0;top:0;pointer-events:none}.vc-overlay{position:absolute;inset:0;cursor:grab}.vc-overlay:active{cursor:grabbing}.vc-home{position:absolute;left:-4px;top:-4px;z-index:2;width:18px;height:18px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);border:1px solid var(--divider);border-radius:var(--r-0)}.vc-home:hover,.vc-home:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}html:not([data-theme=dark]){--fg-1: var(--fg);--fg-2: var(--fg-2);--muted: var(--fg-2);--text: var(--fg)}html:not([data-theme=dark]) .toolstrip button[aria-pressed=true],html:not([data-theme=dark]) .toolstrip button.is-active{color:var(--accent);border-color:var(--accent)}.dimpreview{pointer-events:none;z-index:59;font-family:var(--mono)}.dimpreview__ext,.dimpreview__line{stroke:#ebf2f680;stroke-dasharray:2 3}.dimpreview__ext{stroke-width:.75}.dimpreview__line{stroke-width:.8}.dimpreview__dot{fill:#ebf2f680;stroke:none}.dimpreview__baseline{stroke:#ebf2f680;stroke-width:.6;stroke-dasharray:4 4}.dimpreview__arc{stroke:#ebf2f680;stroke-width:.8;stroke-dasharray:2 3}.dimpreview[data-light] .dimpreview__ext,.dimpreview[data-light] .dimpreview__line{stroke:#0a0e1c80}.dimpreview[data-light] .dimpreview__dot{fill:#0a0e1c80}.dimpreview[data-light] .dimpreview__baseline,.dimpreview[data-light] .dimpreview__arc{stroke:#0a0e1c80}.diminput{z-index:60;display:inline-flex;align-items:center;pointer-events:auto;font-family:var(--mono);font-size:12px}.diminput input{width:84px;height:24px;box-sizing:border-box;padding:1px 5px;background:#38424beb;border:1px solid rgba(169,181,189,.72);border-radius:1px;color:#e7eff3d9;font:inherit;font-variant-numeric:tabular-nums;outline:none;text-align:center}.diminput.is-editing input{background:#edf8fdfa;border-color:#4eb9e5fa;color:#17536f}.diminput__tab{position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);padding:2px 3px;border-radius:1px;width:max-content;white-space:nowrap;background:#ced6dbf0;color:#3a464d;font:600 9px/1 var(--mono);letter-spacing:.01em;pointer-events:none}.diminput[data-light] input{background:#182630f5;color:#edf8fd;border-color:#5b6c76c7}.diminput[data-light].is-editing input{border-color:#2a8bbafa}.numeric-command{position:absolute;left:50%;bottom:var(--s-3);z-index:65;transform:translate(-50%);width:min(720px,calc(100% - (2 * var(--s-3))));display:grid;grid-template-columns:minmax(140px,1fr) minmax(190px,280px) auto;align-items:center;gap:var(--s-2);box-sizing:border-box;padding:var(--s-2);background:var(--surface);color:var(--fg);border:1px solid var(--divider-s);border-top:2px solid var(--accent);box-shadow:var(--shadow-card);pointer-events:auto}.numeric-command.is-dynamic-guide{width:auto;grid-template-columns:auto;padding:var(--s-1)}.numeric-command__copy{min-width:0;display:grid;gap:2px}.numeric-command__prompt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px/1.25 var(--mono);letter-spacing:.02em;color:var(--fg)}.numeric-command__error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 10px/1.25 var(--mono);color:var(--error)}.numeric-command__input{width:100%;min-width:0;height:44px;box-sizing:border-box;padding:0 var(--s-3);background:var(--surface-2);color:var(--fg);border:1px solid var(--divider-s);font:500 13px/1 var(--mono);font-variant-numeric:tabular-nums}.numeric-command__input[aria-invalid=true]{border-color:var(--error)}.numeric-command__actions{display:flex;align-items:stretch;gap:var(--s-1)}.numeric-command__action{min-width:44px;min-height:44px;padding:0 var(--s-3);display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;cursor:pointer;background:var(--surface-3);color:var(--fg-2);border:1px solid var(--divider-s);font:600 11px/1 var(--mono)}.numeric-command__action:hover,.numeric-command__action:focus-visible{color:var(--fg);border-color:var(--accent)}.numeric-command__action.is-primary{background:var(--accent);color:var(--white);border-color:var(--accent)}.numeric-command__action.is-primary:hover,.numeric-command__action.is-primary:focus-visible{background:var(--accent-d);color:var(--white)}.grip-dimension-input{position:fixed;z-index:90;box-sizing:border-box;max-width:calc(100vw - 24px);display:grid;grid-template-columns:minmax(0,1fr);gap:3px;transform:translate(-50%,-50%);pointer-events:auto}.canvas-overlay:has(.grip-dimension-input){z-index:70}.grip-dimension-input__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.grip-dimension-input__value{width:100%;min-width:0;height:24px;box-sizing:border-box;padding:0 var(--s-2);color:var(--fg);background:var(--surface-3);border:1px solid var(--line);border-radius:1px;box-shadow:var(--shadow-card);font:600 12px/1 var(--mono);font-variant-numeric:tabular-nums;outline:none;text-align:center}.grip-dimension-input__value::placeholder{color:var(--fg-2)}.grip-dimension-input__value:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent),var(--shadow-card)}.grip-dimension-input__value[aria-invalid=true]{border-color:var(--color-error)}.grip-dimension-input__error{min-width:0;padding:3px 6px;color:var(--color-error);background:var(--surface);border:1px solid var(--color-error);border-radius:1px;box-shadow:var(--shadow-card);font:500 10px/1.25 var(--mono);overflow-wrap:anywhere}@media (max-width: 760px),(pointer: coarse){.numeric-command{bottom:var(--s-2);width:calc(100% - (2 * var(--s-2)));grid-template-columns:minmax(0,1fr) auto}.numeric-command__copy{grid-column:1 / -1}.numeric-command__actions{min-width:0}.numeric-command__action{padding-inline:var(--s-2)}}.wc-gate>button{margin-top:var(--s-3)}.btn{font-family:var(--sans);font-weight:500;letter-spacing:-.005em;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);line-height:1.2;border-radius:var(--r-sm);border:1px solid var(--ink);background:var(--ink);color:var(--white);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn--md{font-size:var(--fs-caption-lg);padding:calc(var(--s-2) + var(--s-1) / 4) var(--s-4);min-height:calc(var(--s-5) + var(--s-4))}.btn:hover:not(:disabled){background:var(--graphite);border-color:var(--ink)}.btn--accent{background:var(--accent);border-color:var(--accent)}.btn--accent:hover:not(:disabled){background:var(--accent-d);border-color:var(--accent-d)}.btn:focus-visible{outline:var(--bw-rule) solid var(--accent);outline-offset:calc(var(--s-1) / 2)}.btn:disabled{background:var(--mist);border-color:var(--mist);color:var(--silver);opacity:1;cursor:not-allowed}.canvas-overlay.tool-modify-fillet,.canvas-overlay.tool-modify-chamfer,.canvas-overlay.tool-modify-trim{cursor:none}.fillet-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.fillet-selected{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:5 3}.fillet-hover{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.6}.fillet-result{fill:none;stroke:var(--spark);stroke-width:2}.fillet-arc,.chamfer-line{fill:none;stroke:var(--spark);stroke-width:2.5;stroke-dasharray:7 3}.fillet-preview{opacity:.85}.fillet-snap{fill:none;stroke:var(--signal);stroke-width:1.5}.smart-dim-source{fill:none;stroke:var(--signal);stroke-width:2;stroke-dasharray:5 3;pointer-events:none}.fillet-pick{fill:var(--accent);stroke:var(--white);stroke-width:1}.fillet-options{position:absolute;z-index:12;top:76px;left:12px;display:flex;align-items:center;gap:10px;padding:5px 8px;max-width:calc(100% - 24px);color:var(--fg);background:var(--bg-1);border:1px solid var(--divider);cursor:default}.fillet-options label{display:flex;align-items:center;gap:6px}.fillet-options input{width:80px;min-width:0;color:var(--fg);background:var(--bg-2);border:1px solid var(--divider);padding:4px 6px}.fillet-options button{padding:5px 8px}.fillet-hud{position:absolute;z-index:11;pointer-events:none;display:flex;flex-direction:column;gap:3px;width:max-content;max-width:min(250px,calc(100% - 16px));padding:8px 10px;color:var(--fg);background:var(--bg-1);border:1px solid var(--accent);font-size:12px;box-shadow:var(--shadow-card)}.fillet-hud.is-invalid{border-color:var(--warn)}.fillet-hud small{color:var(--fg-3);font-size:10px}.fillet-hud__snap{color:var(--accent)}@media (max-width: 760px){.fillet-options{top:68px;gap:6px}.fillet-options input,.fillet-options button{min-height:44px}}.chamfer-options{flex-wrap:wrap}.chamfer-options input{width:68px}.trim-options{flex-wrap:wrap}.trim-boundary{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:5 3}.trim-kept{fill:none;stroke:var(--spark);stroke-width:2}.trim-removed{fill:none;stroke:var(--warn);stroke-width:2;stroke-dasharray:5 4;opacity:.8}.extend-added{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7 4;opacity:.9}.app-cpu-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.app-cpu-canvas[hidden]{display:none}.app-render-recovery{display:flex;flex-direction:column;gap:var(--s-2)}.settings__backend-select{width:100%;min-width:0;background:var(--surface);color:var(--ink);border-color:var(--hair);font-size:var(--fs-caption)}.settings__row label[for=settings-render-backend],#settings-render-backend-status{color:var(--ink)}.app-webgpu-preview{position:absolute;inset-inline-start:var(--s-3);inset-block-end:var(--s-3);width:25%;max-width:calc(var(--s-8) * 8);margin:0;border:var(--bw-hair) solid var(--hair);background:var(--surface);color:var(--ink);pointer-events:none}.app-webgpu-preview[hidden],.app-webgpu-preview canvas[hidden]{display:none}.app-webgpu-preview canvas{display:block;width:100%;height:auto}.app-webgpu-preview figcaption{padding:var(--s-2);font-size:var(--fs-caption)}.app-webgpu-preview--primary{inset:0;width:100%;max-width:none;border:0;background:transparent}.app-webgpu-preview--primary canvas{height:100%;object-fit:contain}.app-webgpu-preview--primary figcaption{position:absolute;inset-inline-start:var(--s-3);inset-block-end:var(--s-3);border:var(--bw-hair) solid var(--hair);background:var(--surface)}:root{--rail-w: calc(var(--s-8) + var(--s-2))}.workspace-header{position:relative;z-index:100;min-width:0}.workspace-header>header{min-width:0}.workspace-header>header>div:nth-child(2){flex:1 1 auto}.workspace-header .topbar__crumb{min-width:0}.workspace-header .topbar__group{gap:var(--s-1)}.topbar__secondary{display:inline-flex;align-items:center;gap:var(--s-1)}.topbar__group .topbar__more{display:none}.shell__rail{grid-column:1;grid-row:1;overflow-y:auto;background:var(--surface-2)}.shell__dock{grid-column:2;grid-row:1}.shell__center{grid-column:3;grid-row:1}.shell--clean .shell__center{grid-column:1}.shell__rail[hidden],.shell__dock[hidden]{display:none}.shell__rail-btn{flex:0 0 auto;height:var(--s-8);flex-direction:column;gap:var(--s-1);padding:var(--s-1);color:var(--fg-2)}.shell__rail-label{max-width:100%;font:500 var(--fs-micro)/1.2 var(--sans);white-space:nowrap}.shell__rail-btn.is-active{font-weight:600}.shell__dock .ip-empty{padding:var(--s-5) var(--s-4)}.shell__dock .ip-empty strong{color:var(--fg);font-size:var(--fs-body-xs)}.shell__dock .ip-empty p{max-width:24ch;color:var(--fg-2);font-size:var(--fs-caption-sm)}.statusbar{min-width:0;scrollbar-width:thin;scrollbar-color:var(--divider-s) var(--surface-2)}.statusbar__group{flex-shrink:0}.statusbar__state{position:sticky;left:0;background:var(--surface-2);z-index:1;padding-right:var(--s-2)}.statusbar:focus-visible{outline-offset:calc(-1 * var(--bw-rule))}@media (max-width: 760px){:root{--top-h: var(--s-9)}.workspace-header>header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-rows:repeat(2,minmax(0,1fr));gap:0 var(--s-2)!important;height:var(--top-h)!important;padding:0 var(--s-2)!important}.workspace-header>header>a{grid-row:1;grid-column:1}.workspace-header>header>div:nth-child(2){grid-row:1;grid-column:2}.workspace-header>header>div:last-child{display:contents!important}.workspace-header>header>div:last-child>:last-child{grid-row:1;grid-column:4}.workspace-header .topbar__prefs{grid-row:1;grid-column:3}.workspace-header .cadmira-wordmark{display:none}.workspace-header .topbar__group--chrome{grid-row:2;grid-column:1 / -1;min-width:0;max-width:100%;overflow:visible;border-top:1px solid var(--divider)}.workspace-header .topbar__group--chrome>*{flex-shrink:0}.workspace-header .topbar__secondary,.workspace-header .topbar__divider,.workspace-header .topbar__export-label{display:none}.topbar__group .topbar__more{display:inline-flex;align-items:center;justify-content:center;gap:0}.workspace-header .topbar__group button:where(:not(.topbar__prefs *)){min-height:calc(var(--s-6) + var(--s-3))}.workspace-header .topbar__menubtn{gap:var(--s-1);padding-inline:var(--s-2)}.shell__center{grid-column:1}.shell__dock{width:min(var(--dock-w),calc(100vw - var(--rail-w) - var(--s-3)))}.shell__rail{right:min(var(--dock-w),calc(100vw - var(--rail-w) - var(--s-3)))}.shell__rail-btn{min-height:var(--s-8)}.statusbar{padding-inline:var(--s-2)}}@media (max-width: 380px){.workspace-header .site-header__suffix{font-size:var(--fs-caption-sm)}.workspace-header .site-header__brand{gap:var(--s-1)}.workspace-header .topbar__doc{padding-left:var(--s-1);gap:var(--s-1)}}.shell{--workspace-selected-surface: var(--accent-l)}[data-theme=dark] .shell{--workspace-selected-surface: color-mix(in srgb, var(--fg) 8%, var(--surface-3))}.shell__rail-btn.is-active,[data-theme=dark] .shell__rail-btn.is-active,.shell__dock,.shell__dock .inspector-panel{background:var(--workspace-selected-surface);color:var(--fg)}.shell__rail-btn .shell__rail-label{font-weight:600}.shell__rail-btn.is-active .shell__rail-label{font-weight:700}.shell__rail-btn svg{stroke-width:1.2}[data-theme=dark] .shell__dock{--fg-2: var(--fg);--fg-3: var(--fg)}[data-theme=dark] .shell__rail{background:var(--surface-2)}[data-theme=dark] .shell .shell__dock,[data-theme=dark] .shell .shell__dock .inspector-panel,[data-theme=dark] .shell .shell__rail-btn.is-active{background:var(--workspace-selected-surface);color:var(--fg)}.shell .viewbar__btn:not(:disabled){color:var(--fg)}.shell .viewbar__btn svg{width:calc(var(--s-4) + var(--s-1) / 2);height:calc(var(--s-4) + var(--s-1) / 2);stroke-width:1.2}[data-theme=dark] .shell .shell__dock:is([data-panel=properties],[data-panel=xref],[data-panel=fonts],[data-panel=watermark]),[data-theme=dark] .shell .shell__dock[data-panel=properties] .inspector-panel{background:var(--surface)}.dynhud[hidden]{display:none}.cmdline__prompt{flex:0 0 auto;white-space:nowrap}.cmdline__input-row input{min-width:0}.cmdline__state{display:inline-flex;align-items:center;gap:var(--s-2);min-width:0;color:var(--fg-3);font-family:var(--mono);font-size:var(--fs-micro-lg, 11px);line-height:1.2;white-space:nowrap}.cmdline__state strong{flex:0 0 auto;color:var(--accent);font-size:var(--fs-micro-lg, 11px);font-weight:700;letter-spacing:.04em}.cmdline__state>span{overflow:hidden;max-width:21rem;text-overflow:ellipsis}.cmdline__finder{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;min-height:26px;padding:0 var(--s-2);border:1px solid var(--divider-s);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-2);font-family:var(--sans);font-size:var(--fs-micro-lg, 11px);font-weight:650}.cmdline__finder:hover:not(:disabled),.cmdline__finder[aria-expanded=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}.cmdline__finder:disabled{cursor:not-allowed;opacity:.5}.cmdline__finder:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cmdworkspace{position:absolute;z-index:120;right:var(--s-3);bottom:calc(100% + var(--s-2));left:var(--s-3);width:auto;max-height:min(460px,calc(100vh - var(--top-h) - var(--status-h) - 2 * var(--s-3)));overflow:hidden;border:1px solid var(--divider-s);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-pop);color:var(--fg);display:flex;flex-direction:column}.cmdworkspace__head,.cmdworkspace__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--divider)}.cmdworkspace__head>div{display:grid;gap:2px}.cmdworkspace__eyebrow{color:var(--fg-3);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.cmdworkspace__head strong{font-size:14px;line-height:1.25}.cmdworkspace__actions{display:inline-flex;align-items:center;gap:var(--s-2)}.cmdworkspace__close{min-height:30px;padding:0 var(--s-2);border:1px solid var(--divider-s);border-radius:var(--r-sm);background:transparent;color:var(--fg-2);font:650 var(--fs-micro-lg, 11px) var(--sans)}.cmdworkspace__close:hover{border-color:var(--accent);color:var(--accent)}.cmdworkspace__close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cmdworkspace kbd{padding:2px 5px;border:1px solid var(--divider-s);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-3);font:10px/1.2 var(--mono)}.cmdworkspace__search{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-3) var(--s-4);padding:0 var(--s-3);border:1px solid var(--divider-s);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-3)}.cmdworkspace__search-label{flex:0 0 auto;color:var(--fg-2);font:650 var(--fs-micro-lg, 11px) var(--sans)}.cmdworkspace__search:focus-within{border-color:var(--accent);color:var(--accent)}.cmdworkspace__search input{width:100%;min-height:36px;border:0;outline:0;background:transparent;color:var(--fg);font:13px var(--sans)}.cmdworkspace__results{flex:1 1 auto;min-height:0;overflow:auto;padding:0 var(--s-2) var(--s-2)}.cmdworkspace__result{display:grid;grid-template-columns:minmax(92px,.28fr) minmax(0,1fr) auto;align-items:center;gap:var(--s-3);width:100%;min-height:42px;padding:var(--s-2) var(--s-3);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--fg-2);text-align:left}.cmdworkspace__result:hover,.cmdworkspace__result.is-active{border-color:color-mix(in srgb,var(--accent) 35%,var(--divider));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--fg)}.cmdworkspace__result:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cmdworkspace__name{color:var(--fg);font:700 12px var(--mono)}.cmdworkspace__description{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cmdworkspace__meta{display:inline-flex;justify-content:flex-end;gap:var(--s-2);color:var(--fg-3);font:10px var(--mono);white-space:nowrap}.cmdworkspace__meta span+span{padding-left:var(--s-2);border-left:1px solid var(--divider)}.cmdworkspace__empty{padding:var(--s-4);color:var(--fg-3);font-size:12px;text-align:center}.cmdworkspace__foot{flex:0 0 auto;border-top:1px solid var(--divider);border-bottom:0;color:var(--fg-3);font:var(--fs-micro-lg, 11px) var(--mono)}@media (max-width: 1100px){.cmdline__state>span{display:none}.cmdworkspace__result{grid-template-columns:minmax(80px,.3fr) minmax(0,1fr)}.cmdworkspace__meta{grid-column:2;justify-content:flex-start;margin-top:calc(-1 * var(--s-2))}}@media (max-width: 760px){.ribbon.ribbon--professional .ribbon__mobile-tool{min-height:44px;padding-block:4px}:root{--cmd-row-h: 44px;--cmd-band-h: 88px}.shell__cmdband .cmdline,.shell__cmdband .cmdline.is-collapsed,.shell__cmdband .cmdline__input-row{height:var(--cmd-row-h)}.cmdline__prompt,.cmdline__state{display:none}.shell__cmdband .cmdline__input-row input{min-height:44px}.cmdline__finder{min-width:44px;min-height:44px;padding-inline:var(--s-3)}.cmdline__finder span{display:none}.cmdline__collapse{width:44px;height:44px}.cmdworkspace{position:fixed;right:var(--s-2);bottom:calc(var(--cmd-band-h) + var(--status-h) + var(--s-2));left:var(--s-2);width:auto;max-height:min(70vh,520px)}.cmdworkspace__result{grid-template-columns:minmax(78px,.34fr) minmax(0,1fr);gap:var(--s-2)}.cmdworkspace__description{white-space:normal}.cmdworkspace__meta{display:none}.cmdworkspace__foot span:last-child{display:none}.ribbon__mobile-group>span:first-child{white-space:nowrap}}.cmdline .pick-banner--inline{position:static;transform:none;width:100%;min-width:0;height:var(--cmd-row-h);padding:0 var(--s-3);gap:var(--s-2);border:0;border-radius:0;box-shadow:none}.pick-banner--inline .pick-banner__text{flex-shrink:0;font-size:var(--fs-caption)}.pick-banner--inline .pick-banner__count{color:var(--fg-3);white-space:nowrap;font-size:var(--fs-caption)}.pick-banner--inline .pick-banner__input{flex:1;min-width:0;width:auto;background:transparent;border:0}.pick-banner--inline .pick-banner__confirm{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2);color:var(--fg);background:var(--surface-3);border:var(--bw-hair) solid var(--divider-s);border-radius:var(--r-sm);font-size:var(--fs-caption);white-space:nowrap}.shell__cmdband-row--cmd:has(.pick-banner--choices),.shell__cmdband .cmdline:has(.pick-banner--choices),.shell__cmdband .cmdline .pick-banner--choices{height:auto}.cmdline .pick-banner--inline.pick-banner--choices{flex-wrap:wrap;padding-block:var(--s-2)}.pick-banner--choices:not(.pick-banner--multiline) .pick-banner__hint:not([hidden]){flex-basis:100%;order:6;color:var(--fg-3);font-size:var(--fs-caption);white-space:normal}.pick-banner__choices{display:flex;flex-wrap:wrap;gap:var(--s-2);flex-basis:100%;order:5}.pick-banner__choices button:focus-visible{outline:var(--bw-hair) solid var(--accent);outline-offset:var(--s-1)}.pick-banner--inline kbd{font-family:var(--mono);color:var(--fg-3);font-size:var(--fs-micro)}.pick-banner--inline button:focus-visible{outline:var(--bw-rule) solid var(--accent)}.shell__cmdband-row--cmd:has(.pick-banner--multiline),.shell__cmdband .cmdline:has(.pick-banner--multiline),.shell__cmdband .cmdline .pick-banner--multiline{height:auto}.cmdline .pick-banner--inline.pick-banner--multiline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding-block:var(--s-2)}.cmdline .pick-banner--multiline .pick-banner__icon{display:none}.cmdline .pick-banner--multiline .pick-banner__text,.cmdline .pick-banner--multiline .pick-banner__hint{grid-column:1 / -1;max-width:none;white-space:normal;overflow-wrap:anywhere;overflow:visible;font-size:var(--fs-caption)}.pick-banner--multiline .pick-banner__hint{grid-row:3;color:var(--fg-3)}.pick-banner--multiline .pick-banner__confirm{grid-row:2;grid-column:2}.pick-banner--multiline .pick-banner__esc{grid-row:2;grid-column:3}.pick-banner--multiline textarea.pick-banner__input{grid-row:2;grid-column:1;min-height:3lh;resize:none;font-family:var(--sans)}@media (max-width: 760px){.cmdline .pick-banner--inline{gap:var(--s-1);padding:0 var(--s-2)}.pick-banner--inline .pick-banner__icon,.pick-banner--inline kbd{display:none}.pick-banner--inline .pick-banner__text{flex-shrink:1;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-banner--inline .pick-banner__confirm,.pick-banner--inline .pick-banner__esc{min-height:var(--cmd-row-h)}}
