:root{--surface: #fff;--surface-2: #f6f5f2;--surface-hover: #efede8;--surface-press: #e7e4dd;--canvas: #f6f5f2;--ink: #1d1c1a;--ink-2: #5c5952;--ink-3: #6f6b63;--ink-disabled: #a8a39a;--line: #e2dfd8;--line-strong: #8c877d;--accent: #2456c9;--accent-hover: #1d48ad;--accent-soft: #ebf0fc;--accent-line: #b9c9f0;--danger: #b42318;--danger-hover: #93190f;--danger-soft: #fdeceb;--success: #1f6b43;--success-soft: #e8f3ec;--warn: #9a4a00;--warn-soft: #fff7ed;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--h-control: 32px;--h-control-sm: 28px;--shadow-sm: 0 1px 2px rgba(29, 28, 26, .06);--shadow-pop: 0 1px 2px rgba(29, 28, 26, .08), 0 8px 28px rgba(29, 28, 26, .16);--shadow-dialog: 0 2px 6px rgba(29, 28, 26, .08), 0 24px 64px rgba(29, 28, 26, .24);--ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--accent);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: var(--canvas);--panel: var(--surface);--muted: var(--ink-3);font-family:var(--font);font-size:var(--text-base);line-height:1.4;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:var(--canvas);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)!important}@media(forced-colors:active){input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid Highlight}}.icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#app{display:grid;grid-template-rows:48px 40px minmax(0,1fr) 28px;height:100vh;height:100dvh}#workspace{display:grid;grid-template-columns:72px minmax(0,1fr) 304px;min-height:0;position:relative}#app[data-sidebar=closed] #workspace{grid-template-columns:72px minmax(0,1fr)}#app[data-sidebar=closed] #sidebar{display:none}#topbar,#floors,#toolbar,#sidebar,#statusbar{background:var(--surface)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control);padding:0 var(--s-3);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--text-base);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.btn .icon{width:16px;height:16px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover:not(:disabled),.btn-ghost.is-open{background:var(--surface-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger-quiet{background:var(--surface);border-color:var(--line-strong);color:var(--danger)}.btn-danger-quiet:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-sm{height:var(--h-control-sm);padding:0 10px;font-size:var(--text-md)}.btn-block{display:flex;width:100%}.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn:disabled,.icon-btn:disabled,.tab:disabled,.menu-item:disabled,.zoom button:disabled{color:var(--ink-disabled);cursor:not-allowed}.btn-primary:disabled,.btn-danger:disabled{background:var(--surface-press);color:var(--ink-disabled)}.btn-secondary:disabled{border-color:var(--line);background:var(--surface-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--h-control);height:var(--h-control);padding:0;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink-2);cursor:pointer}.icon-btn:hover:not(:disabled),.icon-btn.is-open{background:var(--surface-hover);color:var(--ink)}.icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.icon-btn-sm{width:24px;height:24px;border-radius:var(--r-sm)}.link-btn{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-strong)}.link-btn:hover{text-decoration-color:currentColor}.shortcuts-cols .shortcuts-row kbd,.empty-action kbd,.quick-step-head kbd,.tool-hints-text kbd{padding:0 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-sm);background:var(--surface-2);font:500 var(--text-xs)/1.6 var(--font);color:var(--ink);white-space:nowrap}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;z-index:70;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:var(--text-sm);font-weight:500;line-height:1.3;white-space:pre;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .1s}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;visibility:visible;transition-delay:.45s}[data-tip]:focus-visible:after{transition-delay:0s}[data-tip-at=end]:after{left:auto;right:0;transform:none}[data-tip-at=start]:after{left:0;transform:none}[data-tip-at=above]:after{top:auto;bottom:calc(100% + 6px)}[aria-expanded=true][data-tip]:after{display:none}.has-fixed-tip[data-tip]:after{position:fixed;top:var(--tip-y, 0);left:var(--tip-x, 0)}.has-fixed-tip[data-tip-side=right]:after{transform:translateY(-50%)}.has-fixed-tip[data-tip-side=below]:after{transform:translate(-50%)}.field{display:block;margin-bottom:var(--s-3)}.field-label{display:block;margin-bottom:4px;font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.input{display:block;width:100%;height:var(--h-control);padding:0 var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums}textarea.input{height:auto;padding:6px var(--s-2);line-height:1.45;resize:vertical}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236f6b63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8 L10 12 L14 8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px 14px}select.input:hover{border-color:var(--ink-2)}.input::placeholder{color:var(--ink-3)}.input-mono{font-family:var(--mono);font-size:var(--text-sm)}.input-readonly{display:flex;align-items:center;min-height:var(--h-control);padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2);font-variant-numeric:tabular-nums}.input-unit{position:relative;display:block}.input-unit .input{padding-right:26px}.input-unit[data-unit=mm] .input{padding-right:34px}.input-unit-text{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:var(--text-sm);color:var(--ink-3);pointer-events:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.field-row>.field{min-width:0}.segmented{display:flex;padding:2px;gap:2px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2)}.segmented button{flex:1;height:26px;border:0;border-radius:var(--r-sm);background:transparent;cursor:pointer;font-size:var(--text-md);color:var(--ink-2);font-variant-numeric:tabular-nums}.segmented button:hover{color:var(--ink);background:var(--surface-hover)}.segmented button:focus-visible{outline-offset:1px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm),0 0 0 1px var(--accent)}.switch{position:relative;display:inline-flex;align-items:center;gap:var(--s-2);cursor:pointer;font-size:var(--text-md);color:var(--ink-2);white-space:nowrap;-webkit-user-select:none;user-select:none}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch-track{position:relative;width:28px;height:16px;border-radius:8px;background:var(--line-strong);transition:background-color .15s;flex:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(12px)}.switch input:focus-visible+.switch-track{box-shadow:var(--ring)}.switch:hover{color:var(--ink)}#topbar{display:flex;align-items:center;gap:var(--s-1);padding:0 var(--s-2) 0 var(--s-3);border-bottom:1px solid var(--line);min-width:0}.brand{display:flex;align-items:center;gap:var(--s-2);flex:none;margin-right:var(--s-2);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.brand-mark{display:block;flex:none}.topbar-sep{width:1px;height:20px;background:var(--line);flex:none;margin:0 var(--s-1)}.plan-name{position:relative;display:flex;align-items:center;min-width:72px;flex:0 1 auto}.plan-name input{width:100%;min-width:0;height:var(--h-control);padding:0 28px 0 var(--s-2);border:1px solid transparent;border-radius:var(--r-md);background:transparent;font-size:var(--text-base);font-weight:500;color:var(--ink);text-overflow:ellipsis}.plan-name .icon{position:absolute;right:8px;color:var(--ink-3);opacity:0;pointer-events:none;transition:opacity .12s}.plan-name:hover input{border-color:var(--line);background:var(--surface-2)}.plan-name:hover .icon,.plan-name:focus-within .icon{opacity:1}.plan-name input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.plan-name-sizer{position:absolute;visibility:hidden;white-space:pre;font-size:var(--text-base);font-weight:500;padding:0 28px 0 var(--s-2)}#saved-at{display:inline-flex;align-items:center;gap:5px;flex:none;width:92px;height:24px;padding:0 var(--s-1);font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap;overflow:hidden;cursor:default}#saved-at .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}#saved-at[data-state=saved] .dot{background:var(--success)}#saved-at[data-state=saving] .dot{background:var(--ink-3);animation:pulse 1s ease-in-out infinite}#saved-at[data-state=failed]{color:var(--danger);font-weight:600}#saved-at[data-state=idle] .dot{background:var(--line-strong)}@keyframes pulse{50%{opacity:.3}}.history{display:flex;gap:2px;flex:none}.topbar-spacer{flex:1 1 var(--s-2);min-width:var(--s-2)}#topbar>.btn,#topbar>.icon-btn{flex:none}.topbar-menu .icon.chevron{width:14px;height:14px;margin-left:-2px;color:var(--ink-3)}.topbar-menu[data-tip]:after{display:none}.menu{position:fixed;z-index:80;min-width:212px;max-width:min(320px,calc(100vw - 16px));padding:var(--s-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);outline:none}.menu-item{display:flex;align-items:center;gap:var(--s-3);width:100%;height:var(--h-control);padding:0 var(--s-2);border:0;border-radius:var(--r-md);background:none;text-align:left;font-size:var(--text-base);color:var(--ink);cursor:pointer}.menu-item:hover:not(:disabled),.menu-item:focus{background:var(--surface-hover);outline:none;box-shadow:none}.menu-item:focus-visible{background:var(--accent-soft)}.menu-item.is-danger{color:var(--danger)}.menu-label{flex:1}.menu-keys{font:500 var(--text-sm) var(--font);color:var(--ink-3)}.menu-switch{flex:none}.menu-item[aria-checked=true] .menu-switch{background:var(--accent)}.menu-item[aria-checked=true] .menu-switch:after{transform:translate(12px)}.menu-sep{height:1px;margin:var(--s-1) calc(-1 * var(--s-1));background:var(--line)}#floors{display:flex;align-items:center;gap:var(--s-1);padding:0 var(--s-3);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}.level-strip{position:relative;display:flex;align-self:stretch;flex:0 1 auto;min-width:0}.level-scroll{position:relative;display:flex;align-items:center;min-width:0;margin:0 -4px;padding:0 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.level-scroll::-webkit-scrollbar{display:none}.level-strip:before,.level-strip:after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:28px;pointer-events:none;opacity:0;transition:opacity .12s}.level-strip:before{left:-4px;background:linear-gradient(to left,rgba(255,255,255,0),var(--surface) 80%)}.level-strip:after{right:-4px;background:linear-gradient(to right,rgba(255,255,255,0),var(--surface) 80%)}.level-strip.is-clipped-start:before,.level-strip.is-clipped-end:after{opacity:1}.level-tabs{display:flex;align-items:center;gap:2px;flex:none}.level-tab{position:relative;display:flex;align-items:center;border-radius:var(--r-md);flex:none}.level-tab.has-more{padding-right:28px}.floor-tab{height:var(--h-control-sm);padding:0 var(--s-3);border:0;border-radius:var(--r-md);background:none;cursor:pointer;font-size:var(--text-base);font-weight:500;color:var(--ink-2);white-space:nowrap}.floor-tab:hover{background:var(--surface-hover);color:var(--ink)}.level-tab.is-active{background:var(--accent-soft)}.level-tab.is-active .floor-tab{color:var(--accent);font-weight:600;padding-right:4px}.level-tab.is-active .floor-tab:hover{background:transparent}#floors .level-more{position:absolute;top:calc(50% - 12px);color:var(--accent)}.level-more:hover:not(:disabled){background:#2456c91a;color:var(--accent)}.level-rename{width:140px;height:var(--h-control-sm);padding:0 var(--s-2);border:1px solid var(--accent);border-radius:var(--r-md);background:var(--surface);font-weight:600;box-shadow:0 0 0 3px var(--accent-soft)}.level-add{flex:none;margin-left:var(--s-1);color:var(--ink-2)}.floor-underlay{flex:none;margin-left:auto;padding-left:var(--s-4)}#toolbar{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-2) 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.tool{flex:none;width:60px;padding:7px 2px 6px;border:0;border-radius:var(--r-md);background:none;cursor:pointer;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:3px}.tool svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.tool span{display:block;font-size:var(--text-xs);font-weight:500;line-height:1.1}.tool:hover{background:var(--surface-hover);color:var(--ink)}.tool.active,.tool[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.tool.active span{font-weight:600}#canvas-host{position:relative;overflow:hidden;background:var(--canvas)}#canvas{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.inline-edit{position:absolute;z-index:20;transform:translate(-50%,-50%);min-width:90px;padding:0 6px;border:1px solid var(--accent);border-radius:var(--r-sm);outline:none;background:var(--surface);font:600 13px var(--font);text-align:center;color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}.zoom{position:absolute;right:var(--s-3);bottom:var(--s-3);z-index:15;display:flex;align-items:center;gap:1px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.zoom button{height:var(--h-control-sm);border:0;border-radius:var(--r-md);background:none;cursor:pointer;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;gap:5px}.zoom button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.zoom-btn{width:var(--h-control-sm)}.zoom-level{min-width:52px;padding:0 4px;font-size:var(--text-md);font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)!important}.zoom-fit{padding:0 var(--s-2) 0 6px;font-size:var(--text-md);font-weight:500}.zoom-fit{border-left:1px solid var(--line)!important;border-radius:0 var(--r-md) var(--r-md) 0!important;margin-left:2px}.zoom [data-tip]:after{top:auto;bottom:calc(100% + 8px)}.zoom .zoom-fit[data-tip]:after{left:auto;right:0;transform:none}.toast{position:absolute;left:50%;bottom:56px;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:var(--s-3);width:max-content;max-width:min(560px,calc(100% - 32px));padding:10px var(--s-2) 10px var(--s-4);border-radius:var(--r-lg);background:var(--ink);color:#fff;font-size:var(--text-base);line-height:1.4;box-shadow:var(--shadow-pop);animation:toast-in .16s ease-out}.toast:not(:has(.toast-action)){padding-right:var(--s-4)}.toast[data-tone=danger]{background:var(--danger)}.toast-text{flex:1}.toast-action{flex:none;height:var(--h-control-sm);padding:0 10px;border:0;border-radius:var(--r-md);background:#ffffff24;color:#fff;font-weight:600;cursor:pointer}.toast-action:hover{background:#ffffff3d}.toast-action:focus-visible{outline-color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}#sidebar{border-left:1px solid var(--line);overflow:auto;padding:0 var(--s-4) var(--s-5);scrollbar-gutter:stable}#sidebar-tabs{position:sticky;top:0;z-index:2;display:flex;gap:var(--s-4);margin:0 calc(-1 * var(--s-4)) var(--s-4);padding:0 var(--s-4);background:var(--surface);border-bottom:1px solid var(--line)}.tab{position:relative;height:40px;padding:0 2px;border:0;background:none;cursor:pointer;font-size:var(--text-base);font-weight:500;color:var(--ink-2)}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);font-weight:600}.tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:1px;background:var(--accent)}.section-title{margin:0 0 var(--s-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.section{padding-top:var(--s-4);margin-top:var(--s-5);border-top:1px solid var(--line)}.hint{margin:0 0 var(--s-3);font-size:var(--text-md);line-height:1.5;color:var(--ink-2)}.empty-note{margin:0;font-size:var(--text-md);color:var(--ink-3)}.panel-button,.panel-delete{margin-top:var(--s-2)}.hint+.panel-button{margin-top:0}.panel-button+.hint{margin-top:var(--s-2)}.panel-row{display:flex;gap:var(--s-2)}.panel-row>*{flex:1;min-width:0}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:26px;height:26px;padding:0;border-radius:var(--r-md);border:1px solid var(--line-strong);cursor:pointer;position:relative}.swatch:hover{transform:scale(1.06)}.swatch[aria-checked=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.swatch[aria-checked=true]:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:9px;margin:-6px 0 0 -3px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}.facts{margin:var(--s-3) 0;padding-top:var(--s-3);border-top:1px solid var(--line)}.fact{display:flex;justify-content:space-between;gap:var(--s-3);padding:3px 0;font-size:var(--text-md);line-height:1.35}.fact-k{color:var(--ink-3);flex:none}.fact-v{text-align:right;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.fact.is-warn .fact-v,.fact.is-warn .fact-k{color:var(--warn)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-md);font-variant-numeric:tabular-nums}.data-table th{padding:0 0 6px;border-bottom:1px solid var(--line);font-size:var(--text-sm);font-weight:500;color:var(--ink-3);text-align:left}.data-table td{padding:5px 0;border-bottom:1px solid var(--surface-2)}.data-table .r{text-align:right}.data-table tr.total td{border-bottom:0;border-top:1px solid var(--line);font-weight:600;padding-top:7px}.data-table tr.is-strong td{font-weight:600}.data-table tr[data-id]{cursor:pointer}.data-table tr[data-id]:hover td{background:var(--surface-2)}.data-table tr.is-selected td{background:var(--accent-soft)}.data-table tr.is-selected .row-name{color:var(--accent);font-weight:600}.row-name{display:block;width:100%;padding:0 0 0 2px;margin-left:-2px;border:0;border-radius:var(--r-sm);background:none;text-align:left;cursor:pointer;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.note{margin-top:var(--s-3);padding:var(--s-2) 10px;border-radius:var(--r-md);background:var(--warn-soft);border:1px solid #f1d5b3;color:#6b3a00;font-size:var(--text-sm);line-height:1.45}.note strong{display:block;margin-bottom:2px}.note p{margin-top:4px}.note .link-btn{display:block;padding:1px 0}.library-help{margin:0 0 var(--s-3);font-size:var(--text-sm);line-height:1.5;color:var(--ink-2)}.library-search{position:sticky;top:41px;z-index:1;padding-bottom:var(--s-2);background:var(--surface)}.library-group{margin:var(--s-4) 0 var(--s-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.symbol-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 3px 7px;min-width:0;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);cursor:pointer}.symbol-tile:hover{background:var(--surface-2);border-color:var(--ink-2)}.symbol-tile[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.symbol-tile svg{display:block}.symbol-name{font-size:var(--text-xs);line-height:1.2;color:var(--ink-2);text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#statusbar{display:flex;align-items:center;gap:var(--s-4);min-width:0;padding:0 var(--s-2) 0 var(--s-3);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap;overflow:hidden}.status-xy{font-variant-numeric:tabular-nums;min-width:168px;display:inline-flex;gap:var(--s-3)}.status-message{overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.status-snap{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 var(--s-2);margin-left:auto;flex:none;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-2);font-size:var(--text-sm);cursor:pointer}.status-snap .icon{width:14px;height:14px}.status-snap:hover{background:var(--surface-hover);color:var(--ink)}.status-snap[aria-pressed=true]{color:var(--accent)}.status-snap kbd{font:inherit;color:var(--ink-3)}.status-snap:focus-visible{outline-offset:-2px}.dialog{padding:0;border:0;border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-dialog);width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:hidden}.dialog-md{width:min(560px,calc(100vw - 32px))}.dialog-lg{width:min(880px,calc(100vw - 32px))}.dialog::backdrop{background:#1d1c1a5c}.dialog[open]{animation:dialog-in .14s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px) scale(.99)}}.dialog-panel{display:flex;flex-direction:column;max-height:calc(100dvh - 48px)}.dialog-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-5) var(--s-5) 0}.dialog-title{flex:1;font-size:var(--text-lg);font-weight:600;line-height:1.3}.dialog-x{margin:-6px -8px -6px 0}.dialog-body{padding:var(--s-3) var(--s-5) 0;overflow:auto;font-size:var(--text-base);line-height:1.5;color:var(--ink-2)}.dialog-body p+p{margin-top:var(--s-2)}.dialog-body .field{margin:var(--s-3) 0 0}.dialog-body textarea{margin-top:var(--s-3)}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--s-2);padding:var(--s-5)}.dialog-actions:empty{padding:var(--s-3)}.dialog-actions .grow{margin-right:auto}.shortcuts-cols{display:flex;flex-wrap:wrap;gap:0 var(--s-6);padding-bottom:var(--s-2)}.shortcuts-col{flex:1 1 230px;min-width:0;display:grid;grid-template-columns:max-content 1fr;column-gap:var(--s-3);align-content:start}.shortcuts-cols section{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding-bottom:var(--s-4)}.shortcuts-cols h3{grid-column:1 / -1;margin:0 0 6px;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.shortcuts-row{display:contents;font-size:var(--text-md);line-height:1.35;color:var(--ink)}.shortcuts-row>*{padding:3px 0}.shortcuts-row>span{font-size:var(--text-md);color:var(--ink)}.shortcuts-cols .shortcuts-row kbd{justify-self:start;max-width:100%}.steps{margin:var(--s-2) 0 0;padding:0;list-style:none;counter-reset:step}.steps li{position:relative;padding:0 0 var(--s-3) 34px;counter-increment:step;color:var(--ink)}.steps li:before{content:counter(step);position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--text-sm);font-weight:600;display:flex;align-items:center;justify-content:center}.steps li span{display:block;color:var(--ink-2);font-size:var(--text-md)}.about-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}.about-head strong{display:block;font-size:var(--text-lg);color:var(--ink)}.about-build{margin-top:var(--s-3);font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}#print-dialog .dialog-body label{display:inline-flex;flex-direction:column;gap:4px;margin:0 var(--s-3) var(--s-3) 0;font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}#print-dialog .dialog-body select{width:150px}#print-status{color:var(--ink)}#print-offers{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}#print-offers:empty{display:none}.print-hint{margin-top:var(--s-3);font-size:var(--text-sm);color:var(--ink-3)}.print-note{margin:0 0 var(--s-3)}#print-sheet{position:fixed;left:-10000px;top:0;padding:10mm;background:#fff;visibility:hidden}#print-sheet svg{display:block;overflow:hidden}#print-sheet footer{height:18mm;border-top:.25mm solid #333;font-size:10px;padding-top:3mm}.print-ruler{width:100mm;height:5mm;border:solid #333;border-width:0 .25mm .25mm;text-align:center;margin-top:1mm}@media print{body{overflow:visible;background:#fff}body:has(#print-sheet)>:not(#print-sheet){display:none!important}#print-sheet{position:static;visibility:visible;margin:0;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media(max-width:1099px){#workspace,#app[data-sidebar=closed] #workspace{grid-template-columns:72px minmax(0,1fr)}#sidebar{position:absolute;top:0;right:0;bottom:0;z-index:30;width:min(320px,88vw);box-shadow:var(--shadow-pop);display:none}#app[data-drawer=open] #sidebar{display:block}#app[data-sidebar=closed] #sidebar{display:none}#app[data-drawer=open][data-sidebar=closed] #sidebar{display:block}#app[data-drawer=open] .zoom{right:calc(min(320px,88vw) + var(--s-3))}}@media(min-width:601px)and (max-width:1099px){#app[data-drawer=open]{--drawer-w: min(320px, 88vw)}#app[data-drawer=open] #tool-hints{left:calc((100% - var(--drawer-w)) / 2);max-width:calc(100% - var(--drawer-w) - 24px)}#app[data-drawer=open] #canvas-host:has(#canvas [data-part=north]) #tool-hints{max-width:calc(100% - var(--drawer-w) - 144px)}#app[data-drawer=open] #feedback{left:calc((100% - var(--drawer-w)) / 2);max-width:min(560px,calc(100% - var(--drawer-w) - 32px))}#app[data-drawer=open] #canvas [data-part=north]{translate:calc(-1 * var(--drawer-w)) 0}}@media(max-width:860px){.brand-name,.topbar-label{display:none}.topbar-menu{padding:0 6px}.topbar-menu[data-tip]:not([aria-expanded=true]):after{display:block}.brand{margin-right:0}}@media(max-width:600px){#workspace,#app[data-sidebar=closed] #workspace{grid-template-columns:minmax(0,1fr)}#toolbar{display:none}#topbar{gap:2px;padding:0 var(--s-1) 0 var(--s-2)}.brand{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar-sep{display:none}.plan-name{min-width:56px}.topbar-menu{padding:0 var(--s-2)}.topbar-menu .icon.chevron{display:none}#share{padding:0 10px}#saved-at{width:22px;padding:0;justify-content:center}#saved-at .saved-text{display:none}.status-xy{min-width:0}.toast{bottom:64px}#app[data-drawer=open] .zoom{display:none}}#tool-hints{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 24px);padding:6px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);font-size:var(--text-sm);line-height:1.4;color:var(--ink-2);pointer-events:none}#tool-hints[hidden]{display:none}#canvas-host:has(#canvas [data-part=north]) #tool-hints{max-width:calc(100% - 144px)}#tool-hints:has(.tool-hints-modes:not([hidden])){padding-left:5px}.tool-hints-modes{display:inline-flex;flex:none;gap:2px;padding:2px;background:var(--surface-hover);border-radius:var(--r-md);pointer-events:auto}.tool-hints-modes[hidden]{display:none}.tool-hints-modes button{border:0;background:none;padding:3px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap}.tool-hints-modes button:hover{color:var(--ink)}.tool-hints-modes button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000024}.tool-hints-modes button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-3)}.section-head .section-title{margin:0}.schedule-net{font-size:var(--text-sm)}.cell-note{display:block;font-size:var(--text-xs);font-weight:400;line-height:1.2;color:var(--ink-3)}.data-table tr.is-strong .cell-note{font-weight:400}.row-class{margin-top:1px}.table-foot-note{margin:var(--s-2) 0 0;font-size:var(--text-xs);color:var(--ink-3)}.schedule-table td.r,.schedule-table th.r{white-space:nowrap}.schedule-table td+td,.schedule-table th+th{padding-left:var(--s-2)}.schedule-table.has-net .row-name{max-width:96px}.summary-table td{vertical-align:top}.summary-table td.r{white-space:nowrap}.check{display:block;max-width:11em;margin:2px 0 0 auto;text-align:right;text-wrap:balance;font-size:var(--text-xs);font-weight:500;line-height:1.25;white-space:normal}.check .icon{display:inline-block;margin-right:3px;vertical-align:-1px;stroke-width:2.4}.check.is-within{color:var(--success)}.check.is-over{color:var(--danger)}.cost-estimate{margin-top:var(--s-3);padding:10px var(--s-3);border-radius:var(--r-md);background:var(--surface-2)}.cost-label{font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.cost-value{margin-top:2px;font-size:var(--text-lg);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cost-note{margin-top:2px;font-size:var(--text-xs);color:var(--ink-3)}.cost-note.is-gap{margin-top:var(--s-2);color:var(--ink-2)}.cost-parts{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:1px var(--s-2);margin:var(--s-2) 0 0;font-size:var(--text-xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.cost-parts dd{margin:0;text-align:right}.plan-settings{margin-top:var(--s-4)}.plan-settings>.section-title{margin-bottom:var(--s-2)}.setting-group{border-top:1px solid var(--line)}.setting-group>summary{display:flex;align-items:center;gap:var(--s-2);min-height:40px;padding:0 2px;cursor:pointer;list-style:none;font-size:var(--text-md);color:var(--ink);border-radius:var(--r-sm)}.setting-group>summary::-webkit-details-marker{display:none}.setting-group>summary:hover{color:var(--ink);background:var(--surface-2)}.setting-name{flex:1;font-weight:500}.setting-value{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-variant-numeric:tabular-nums}.setting-value.is-unset{color:var(--ink-3)}.setting-value .compass{width:20px;height:20px}.setting-chevron{color:var(--ink-3);transition:transform .12s}.setting-group[open] .setting-chevron{transform:rotate(180deg)}.setting-body{padding:var(--s-1) 2px var(--s-3)}.setting-body .field:last-of-type{margin-bottom:var(--s-2)}.field-help{margin:0 0 var(--s-2);font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.counts-as .field-help{margin:6px 0 0}.north-row{display:flex;align-items:flex-end;gap:var(--s-3)}.north-row .field{flex:1}.north-row .compass{flex:none;width:var(--h-control);height:var(--h-control);margin-bottom:var(--s-3);padding:2px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.compass.is-faint{opacity:.3}.input-unit.is-code .input{padding-right:48px}#print-dialog{width:min(760px,calc(100vw - 32px))}.print-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:var(--s-5);align-items:start}.print-sizes{display:flex;flex-wrap:wrap}.print-toggles{display:grid;justify-items:start;gap:10px;margin:var(--s-1) 0 var(--s-4)}#print-dialog .dialog-body label.switch{flex-direction:row;gap:var(--s-2);margin:0;font-size:var(--text-md);font-weight:400;color:var(--ink)}.print-preview{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);max-height:min(420px,calc(100dvh - 260px));overflow:auto;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-press)}.print-thumb{position:relative;flex:none;overflow:hidden;background:#fff;box-shadow:0 1px 3px #1d1c1a2e}.print-thumb>.print-page{position:absolute;left:0;top:0;transform-origin:0 0}.print-thumb-caption{margin-top:-2px;font-size:var(--text-xs);color:var(--ink-2)}.print-preview-empty{margin:var(--s-6) 0;font-size:var(--text-sm);color:var(--ink-3)}@media(max-width:700px){.print-body-grid{grid-template-columns:minmax(0,1fr)}.print-preview{display:none}}#print-sheet{padding:0}.print-page{display:flex;flex-direction:column;padding:10mm;overflow:hidden;background:#fff;color:#1f1f1f;font-family:var(--font);font-size:7pt;line-height:1.3}.print-body{display:flex;flex:none}.print-body.is-below{flex-direction:column}.print-page svg.print-drawing{display:block;flex:none}.title-block,#print-sheet footer.title-block{display:flex;flex-direction:column;flex:none;height:24mm;margin-top:4mm;padding:0;border:.35mm solid #1f1f1f;font-size:7pt}.is-portrait .title-block,#print-sheet .is-portrait footer.title-block{height:32mm}.tb-row{display:flex;min-height:0}.tb-row:first-child{flex:1;border-bottom:.2mm solid #1f1f1f}.tb-cell{min-width:0;padding:1.3mm 2.4mm;border-left:.2mm solid #1f1f1f}.tb-cell:first-child{border-left:0}.tb-project{flex:1.5}.tb-name{overflow:hidden;font-size:11pt;font-weight:600;line-height:1.15;white-space:nowrap;text-overflow:ellipsis}.tb-level{margin-top:.5mm;font-size:8.5pt}.tb-disclaimer{margin-top:.8mm;font-size:6.5pt;line-height:1.25;color:#5c5c5c}.tb-disclaimer span{white-space:nowrap}.tb-figures,.tb-sheet{flex:1;display:grid;align-content:start;gap:.2mm;line-height:1.25}.tb-pair{display:flex;justify-content:space-between;gap:2mm}.tb-label{color:#5c5c5c;white-space:nowrap}.tb-value{font-variant-numeric:tabular-nums;white-space:nowrap}.tb-pair.is-strong .tb-value{font-weight:600}.tb-north{flex:none;display:flex;align-items:center;justify-content:center;width:17mm;padding:1mm}.tb-foot{flex:none;height:8mm;align-items:stretch}.tb-foot .tb-cell{display:flex;align-items:center;padding-top:0;padding-bottom:0}.tb-bar,.tb-ruler{flex:none}.title-block .print-ruler{margin:0;height:4mm;font-size:6pt;line-height:3.4mm;border-color:#1f1f1f}.print-site{flex:1;overflow:hidden;font-size:6.5pt;color:#3d3d3d;white-space:nowrap;text-overflow:ellipsis}.is-portrait .tb-foot{flex-wrap:wrap;height:13mm}.is-portrait .tb-foot .tb-cell{height:8mm}.is-portrait .print-site{flex-basis:100%;height:5mm!important;border-left:0;border-top:.2mm solid #1f1f1f}.print-schedule{flex:none;overflow:hidden}.print-schedule.is-side{width:60mm;margin-left:4mm}.print-schedule.is-below{width:120mm;margin-top:4mm}.ps-title{display:flex;justify-content:space-between;align-items:baseline;height:4.5mm;font-size:7.5pt;font-weight:600}.ps-note{font-size:6pt;font-weight:400;color:#5c5c5c}.print-schedule table{width:100%;border-collapse:collapse;font-size:7pt;font-variant-numeric:tabular-nums}.print-schedule th,.print-schedule td{height:4.2mm;padding:0 1mm;border-bottom:.15mm solid #d6d3cc;text-align:left;white-space:nowrap}.print-schedule th{height:4.5mm;border-bottom-color:#1f1f1f;font-weight:500;color:#5c5c5c}.print-schedule th:first-child,.print-schedule td:first-child{padding-left:0}.print-schedule th:last-child,.print-schedule td:last-child{padding-right:0}.print-schedule td:first-child{max-width:26mm;overflow:hidden;text-overflow:ellipsis}.print-schedule .r{text-align:right}.print-schedule tfoot td{border-bottom:0;border-top:.2mm solid #1f1f1f;font-weight:600}.ps-class{color:#5c5c5c;font-size:6pt}.ps-more{color:#5c5c5c;font-style:italic}@media print{#print-sheet{break-inside:auto}.print-measure{display:none}.print-page{break-after:page;break-inside:avoid}.print-page:last-child{break-after:auto}}.brand-home{display:flex;align-items:center;gap:var(--s-2);height:var(--h-control);padding:0 6px;margin-left:-6px;border:0;border-radius:var(--r-md);background:none;font:inherit;color:inherit;cursor:pointer}.brand-home:hover{background:var(--surface-hover)}.home{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--canvas);color:var(--ink);overflow:hidden}.home[open]{display:flex;flex-direction:column;animation:home-in .14s ease-out}.home::backdrop{background:var(--canvas)}@keyframes home-in{0%{opacity:0}}.home-bar{display:flex;align-items:center;gap:var(--s-2);flex:none;height:48px;padding:0 var(--s-3);background:var(--surface);border-bottom:1px solid var(--line)}.home-back{max-width:min(360px,60vw)}.home-back span{overflow:hidden;text-overflow:ellipsis}.home-scroll{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable}.home-inner{max-width:1180px;margin:0 auto;padding:28px var(--s-6) 64px}.home-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-6)}.home-title{flex:1;font-size:22px;font-weight:600;letter-spacing:-.015em}.home-tools{display:flex;flex-wrap:wrap;gap:var(--s-2)}.home-section+.home-section{margin-top:40px}.home-section-title{display:flex;align-items:baseline;gap:6px;margin:0 0 var(--s-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.home-count:not(:empty){font-weight:500;letter-spacing:0}.home-count:not(:empty):before{content:"·";margin-right:6px}.home-note{margin-top:var(--s-4);font-size:var(--text-sm);color:var(--ink-3)}.home-empty{grid-column:1 / -1;padding:var(--s-6);border:1px dashed var(--line-strong);border-radius:var(--r-lg);text-align:center;font-size:var(--text-md);color:var(--ink-2)}.home-toast{position:fixed;bottom:32px}.plan-grid,.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:var(--s-4)}.plan-card,.template-tile{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color .12s,box-shadow .12s}.plan-card:hover,.template-tile:hover{border-color:var(--line-strong);box-shadow:0 2px 10px #1d1c1a14}.plan-card.is-open{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-card:has(.plan-card-open:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.plan-thumb{display:block;aspect-ratio:16 / 10;background:var(--canvas);border-bottom:1px solid var(--line);overflow:hidden}.plan-thumb-svg{display:block;width:100%;height:100%}.plan-thumb.is-blank{display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:var(--ink-3);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:20px 20px;background-position:center}.plan-card-foot{display:flex;align-items:flex-start;gap:var(--s-1);padding:10px 6px var(--s-3) var(--s-3)}.plan-card-words{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.plan-card-open,.plan-card-name{padding:0;border:0;background:none;text-align:left;font-size:var(--text-base);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.plan-card-open{cursor:pointer}.plan-card-open:focus-visible{outline:none}.plan-card-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.plan-card-facts{font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.plan-card-when{font-size:var(--text-sm);color:var(--ink-3)}.plan-card-more{position:relative;z-index:2;margin-top:-4px}.plan-card-badge{position:absolute;top:var(--s-2);left:var(--s-2);z-index:2;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;font-size:var(--text-xs);font-weight:600;line-height:15px;letter-spacing:.02em;white-space:nowrap;pointer-events:none}.plan-card{container-type:inline-size}.plan-card-badge{top:calc(62.5cqw + 11px);left:auto;right:42px}.plan-card.is-open .plan-card-open{max-width:calc(100% - 80px)}.plan-thumb.is-broken{display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:500;color:var(--danger);background:repeating-linear-gradient(135deg,var(--surface-2) 0 8px,var(--danger-soft) 8px 16px)}.plan-card-why{color:var(--danger);white-space:normal}.plan-card-actions{display:flex;gap:var(--s-2);margin-top:var(--s-2)}.template-tile{padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.template-words{display:flex;flex-direction:column;gap:2px;padding:10px var(--s-3) var(--s-3)}.template-name{font-weight:600}.template-summary{font-size:var(--text-sm);color:var(--ink-2)}@media(max-width:600px){.home-inner{padding:var(--s-5) var(--s-4) 48px}.home-head{flex-wrap:wrap}.home-bar .brand-name{display:none}}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:var(--s-4);pointer-events:none}.empty-card{width:min(380px,100%);max-height:100%;overflow:auto;padding:var(--s-5) var(--s-3) var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);pointer-events:auto;animation:toast-in-plain .18s ease-out}@keyframes toast-in-plain{0%{opacity:0;transform:translateY(4px)}}.empty-title{padding:0 var(--s-2);font-size:var(--text-lg);font-weight:600}.empty-lead{margin:4px 0 var(--s-3);padding:0 var(--s-2);font-size:var(--text-md);line-height:1.45;color:var(--ink-2)}.empty-action{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2);border:0;border-radius:var(--r-md);background:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.empty-action:hover{background:var(--surface-hover)}.empty-action-pic{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent)}.empty-tool{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.empty-action-pic .icon{width:20px;height:20px}.empty-action-words{display:flex;flex-direction:column;flex:1;min-width:0}.empty-action-label{font-weight:500}.empty-action-detail{font-size:var(--text-sm);color:var(--ink-3)}.empty-action kbd{flex:none;min-width:22px;text-align:center}.empty-sep{height:1px;margin:var(--s-1) var(--s-2);background:var(--line)}#empty-example .empty-action-pic,#empty-templates .empty-action-pic,#empty-open-file .empty-action-pic{background:var(--surface-2);color:var(--ink-2)}.empty-level{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:baseline;gap:5px;width:max-content;max-width:calc(100% - 24px);padding:6px 12px;border-radius:var(--r-md);background:#ffffffeb;border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-2);box-shadow:var(--shadow-sm)}.empty-level-copy{color:var(--accent);font-weight:500;text-decoration-color:var(--accent-line);white-space:nowrap}.quick-steps li{padding-bottom:var(--s-3)}.quick-step-head{display:flex;align-items:baseline;gap:var(--s-2)}.quick-step-head strong{font-weight:600;color:var(--ink)}.home-section-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}.home-section-head .home-section-title{flex:1;margin:0}.home-keep{display:flex;gap:var(--s-1);margin-right:calc(-1 * var(--s-2))}.home-keep .btn{color:var(--ink-2)}.home-keep .btn:hover{color:var(--ink)}.versions{display:grid;grid-template-columns:max-content 1fr;gap:4px var(--s-4);margin:var(--s-3) 0;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--text-md)}.versions dt{color:var(--ink-3)}.versions dd{margin:0;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.home-section-head{flex-wrap:wrap}}.data-table tr.subtotal td{border-bottom:0;padding:2px 0;color:var(--ink-2)}.data-table tfoot tr:first-child td{border-top:1px solid var(--line);padding-top:7px}.data-table tr.subtotal+tr.total td{padding-top:5px}.check.is-unchecked{color:var(--ink-3);font-weight:400}.summary-note{margin:var(--s-2) 0 0;font-size:var(--text-xs);color:var(--ink-3)}.summary-table .check{width:max-content;max-width:13em}.summary-table .cell-note{text-wrap:balance}.schedule-table.has-net tbody td:first-child{width:100%;max-width:0}.schedule-table.has-net tbody td:nth-child(2){font-size:var(--text-sm)}.schedule-table.has-net .row-name{max-width:none;white-space:normal;overflow-wrap:anywhere}.schedule-table .row-class{white-space:nowrap}.schedule-table tbody td{vertical-align:baseline}.home-section.is-called .home-section-title{animation:home-called-title 1.5s ease-out}.home-section.is-called .template-tile{animation:home-called-tile 1.5s ease-out}@keyframes home-called-title{0%,40%{color:var(--accent)}}@keyframes home-called-tile{0%,40%{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}}@media(prefers-reduced-motion:reduce){.home-section.is-called .home-section-title{animation:none;color:var(--accent)}.home-section.is-called .template-tile{animation:none;border-color:var(--accent-line)}}.empty-narrow{display:none}@media(max-width:600px){#empty-draw-room,#empty-land,.empty-sep{display:none}.empty-narrow{display:block;margin:0 var(--s-2) var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--text-sm);line-height:1.45;color:var(--ink-2)}.plan-name input:not(:focus){padding-right:var(--s-2)}}#canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}#canvas[data-pointer-focus]:focus-visible,#canvas:focus:not(:focus-visible){outline:none}
