:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.editor{--radius:10px;grid-template-rows:45% minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%;font-size:14px;line-height:1.4;transition:background-color .6s;display:grid;overflow:hidden}.editor.is-night{background-color:var(--night)}.editor-canvas{touch-action:none}.stage{min-width:0;min-height:0;position:relative}.stage_canvas{position:absolute;inset:4rem 0 0}.toolbar{pointer-events:none;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.segment{pointer-events:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:3px;display:flex}.segment_button{min-width:3.25rem;min-height:44px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 12px}.segment_button.is-selected{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.toolbar_button{width:44px;min-height:44px;color:var(--ink);pointer-events:auto;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:#fff;place-items:center;padding:0;display:grid}.toolbar_button.is-first{margin-left:auto}.toolbar_button:disabled{color:#b4b8bd;cursor:default}.panel{border-top:1px solid var(--line);background:#fff;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.panel_main{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;position:relative}.panel_main.is-collapsed{grid-template-rows:minmax(0,1fr)}.panel_main.is-collapsed.has-tip{grid-template-rows:minmax(0,1fr) auto}.panel_expand{font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-weight:600;display:flex}.panel_expand_action{color:var(--accent);font-weight:500}.stepbar{border-bottom:1px solid var(--line);justify-content:space-between;padding:6px 12px;display:flex}.stepbar_button{cursor:pointer;background:0 0;border:0;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.stepbar_number{width:32px;height:32px;color:var(--muted);border:1px solid var(--line);border-radius:50%;place-items:center;font-weight:600;display:grid}.stepbar_number.is-done{color:var(--ink);border-color:var(--ink)}.stepbar_number.is-current{color:#fff;background:var(--accent);border-color:var(--accent)}.panel_scroll{overscroll-behavior:contain;align-content:start;gap:20px;min-height:0;padding:16px;display:grid;overflow-y:auto}.panel_head{gap:4px;display:grid}.panel_title{margin:0;font-size:20px;line-height:1.2}.panel_hint{color:var(--muted);margin:0}.panel_nav{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;padding:8px 16px;display:grid}.button{min-height:48px;font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 20px;font-weight:600}.button.is-main{color:#fff;background:var(--ink);border-color:var(--ink)}.button:disabled{color:#a0a3a8;cursor:default}.group{align-content:start;gap:12px;display:grid}.group_title{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:0;font-size:12px}.cardgrid{gap:8px;display:grid}.cardgrid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.cardgrid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.cardgrid.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{text-align:center;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;align-items:center;gap:6px;min-height:44px;padding:12px 6px;display:flex;position:relative}.card.is-text{justify-content:center}.card.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.card:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.card.is-button{font:inherit;color:inherit}.card.is-blocked{border-color:#c9302c}.card_price.is-alert{color:#c9302c}.card_input{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.card_label{font-weight:500}.card_price{min-height:1.4em;color:var(--muted);font-size:12px}.swatch{border:1px solid var(--line);border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.swatch_inner{border-radius:4px;width:55%;height:55%}.shape_icon{width:100%;max-width:4.5rem;height:auto;color:var(--ink);fill:var(--soft);stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round}.shape_icon.is-selected{color:var(--accent)}.slider{display:grid}.slider_head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.slider_label{font-weight:500}.slider_value{font-variant-numeric:tabular-nums;font-weight:600}.slider_input{cursor:pointer;width:100%;min-height:44px;accent-color:var(--accent);margin:0}.slider_hint{color:var(--muted);margin:0;font-size:12px}.toggles{gap:8px;display:grid}.toggle{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.toggle_text{flex:1;gap:2px;display:grid}.toggle_label{font-weight:500}.toggle_note{color:var(--muted);font-size:12px}.toggle_price{color:var(--muted);font-variant-numeric:tabular-nums}.toggle_input{cursor:pointer;appearance:none;background:#c4c7cc;border-radius:12px;flex:none;width:40px;height:24px;margin:0;transition:background-color .2s;position:relative}.toggle_input:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle_input:checked{background:var(--accent)}.toggle_input:checked:after{transform:translate(16px)}.stepper{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.stepper_text{gap:2px;display:grid}.stepper_label{font-weight:500}.stepper_hint{color:var(--muted);font-size:12px}.stepper_controls{align-items:center;gap:4px;display:flex}.stepper_button{min-width:44px;min-height:44px;font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-size:20px}.stepper_button:disabled{color:#a0a3a8;cursor:default}.stepper_value{text-align:center;font-variant-numeric:tabular-nums;min-width:2.2ch;font-weight:600}.pricebar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex}.pricebar_note{color:var(--muted);margin:0;font-size:12px}.pricebar_range{white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:700;line-height:1.2}.pricebar_button{min-height:44px;font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:flex}.icon_chevron.is-flipped{transform:rotate(180deg)}.sheet{z-index:2;background:#fff;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;inset:0}.sheet_head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 12px 6px 16px;display:flex}.sheet_title{margin:0;font-size:16px}.sheet_close{min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.sheet_body{overscroll-behavior:contain;padding:16px;overflow-y:auto}.items{gap:16px;display:grid}.items_list{margin:0;padding:0;list-style:none;display:grid}.items_row{border-bottom:1px solid #ececec;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:10px 0;display:grid}.items_amount{font-variant-numeric:tabular-nums;font-weight:600}.items_detail{color:var(--muted);font-size:12px}.items_total{gap:2px;display:grid}.items_total_label{color:var(--muted);font-size:12px}.items_total_value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.items_note{max-width:36ch;color:var(--muted);margin:0;font-size:12px}.pieces{border-top:1px solid #ececec;margin:0;padding:0;list-style:none;display:grid}.pieces_row{border-bottom:1px solid #ececec;justify-content:space-between;align-items:center;gap:12px;display:flex}.pieces_name{font-weight:500}.pieces_remove{width:44px;min-height:44px;color:var(--muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;place-items:center;padding:0;display:grid}.pieces_note{max-width:40ch;color:var(--muted);margin:0;font-size:12px}@media (width<=900px){.toolbar{gap:6px;left:8px;right:8px}.segment_button{min-width:2.5rem;padding:0 8px}.editor.is-top{grid-template-rows:70% minmax(0,1fr)}.pricebar_range{font-size:20px}.panel_scroll{gap:16px;padding:12px 16px}.panel_hint{display:none}.panel_nav{padding:6px 16px}.button{min-height:44px}.pricebar{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}}@media (width>=901px){.editor{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(20rem,min(26.4%,28rem)) minmax(0,1fr)}.stage{grid-area:1/2}.stage_canvas{inset:0}.panel{border-top:0;border-right:1px solid var(--line);grid-area:1/1}}@media (hover:hover) and (pointer:fine){.handle:hover:after{box-shadow:0 0 0 5px #1f5eff38,0 1px 3px #0000004d}.segment_button:hover,.toolbar_button:enabled:hover,.card:hover,.toggle:hover,.stepper_button:hover,.pricebar_button:hover,.button:hover{border-color:#9a9a9a}.segment_button.is-selected:hover,.card.is-selected:hover{border-color:var(--accent)}.button.is-main:hover{background:#333}.pieces_remove:hover{color:var(--ink);background:var(--soft)}.propbar_button:hover{background:var(--soft)}.stepbar_number:hover{border-color:var(--ink)}.stepbar_number.is-current:hover{border-color:var(--accent)}}.editor.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.topview{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.topview_lines{position:absolute;inset:0}.dims_halo{stroke:#fff;stroke-width:3px}.dims_line{stroke:#111;stroke-width:1px}.dims_extension{stroke:#111;stroke-opacity:.5;stroke-width:1px}.dims_plate{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #c4c8cd;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:600;line-height:16px;position:absolute;top:0;left:0}.handle{pointer-events:auto;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:44px;height:44px;padding:0;position:absolute;top:-22px;left:-22px}.handle:after{content:"";border:2px solid var(--accent);background:#fff;border-radius:50%;position:absolute;inset:12px;box-shadow:0 1px 3px #0000004d}.handle.is-active{cursor:grabbing}.handle.is-active:after{background:var(--accent);box-shadow:0 0 0 5px #1f5eff38,0 1px 3px #0000004d}.handle:focus-visible{outline:none}.handle:focus-visible:after{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--accent)}.piece_outline{fill:#1f5eff14;stroke:var(--accent);stroke-width:1.5px}.piece_outline.is-blocked{fill:#c9302c1f;stroke:#c9302c;stroke-width:2px}.propbar{pointer-events:auto;border-radius:var(--radius);background:#fff;border:1px solid #c4c8cd;gap:2px;padding:1px;display:flex;position:absolute;top:0;left:0;box-shadow:0 1px 3px #0000002e}.propbar_button{width:42px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.panel_tip{color:var(--muted);margin:0;padding:0 16px 10px;font-size:13px}.dialog{width:min(30rem,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:14px;padding:0;display:none}.dialog[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.dialog::backdrop{background:#11111173}.dialog_head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 8px 6px 20px;display:flex}.dialog_title{margin:0;font-size:18px}.dialog_title:focus-visible{outline:none}.dialog_close{min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.dialog_close:disabled{color:#a0a3a8;cursor:default}.dialog_form{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.dialog_body{overscroll-behavior:contain;min-height:0;padding:16px 20px;overflow-y:auto}.dialog_fields{gap:14px;display:grid}.dialog_note{max-width:44ch;color:var(--muted);margin:0;font-size:12px}.dialog_foot{border-top:1px solid var(--line);gap:8px;padding:12px 20px;display:grid}.dialog_failure{color:#b3261e;margin:0;font-size:14px}.field{gap:6px;display:grid}.field_label{align-items:baseline;gap:8px;font-weight:600;display:flex}.field_hint{color:var(--muted);font-size:12px;font-weight:400}.field_input{min-height:48px;font:inherit;color:var(--ink);background:#fff;border:1px solid #b7bbc0;border-radius:8px;padding:0 12px;font-size:16px}.field_input.is-area{resize:vertical;padding:10px 12px}.field_input[aria-invalid=true]{border-color:#b3261e}.field_error{color:#b3261e;margin:0;font-size:13px}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.quote_check{min-height:65px}.sent{gap:10px;display:grid}.sent_label{color:var(--muted);margin:0;font-size:12px}.sent_range{font-variant-numeric:tabular-nums;margin:0;font-size:26px;font-weight:700}.sent_note{max-width:44ch;color:var(--muted);margin:0;font-size:13px}.sent_demo{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;margin:0;padding:10px 12px;font-weight:600}.sent_link{place-items:center;margin-top:6px;text-decoration:none;display:grid}@media (width<=900px){.dialog{border:0;border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}
