.LptDaG_builder{gap:2.5rem;margin-bottom:3rem;display:grid}.LptDaG_sectionTitle{font-family:var(--font-display);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.LptDaG_pickerGrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.LptDaG_boardCard{text-align:center;background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.LptDaG_boardCard:hover{border-color:var(--accent);transform:translateY(-2px)}.LptDaG_boardCard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.LptDaG_boardCard[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}.LptDaG_boardImageWrap{aspect-ratio:1;background:var(--bg);border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.LptDaG_boardImage{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.LptDaG_boardImagePlaceholder{font-family:var(--font-mono);color:var(--ink-4);font-size:.75rem}.LptDaG_boardName{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.3}.LptDaG_boardSummary{font-family:var(--font-mono);color:var(--ink-3);font-size:.75rem}.LptDaG_cabinetBrand{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-4);font-size:.72rem}.LptDaG_estimatedBadge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--accent);background:var(--accent-soft,color-mix(in srgb, var(--accent) 16%, var(--bg)));border:1px solid var(--accent);vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.65rem;font-style:normal;display:inline-block}.LptDaG_empty{color:var(--ink-3)}.LptDaG_gridCaption{font-family:var(--font-mono);color:var(--ink-3);margin-bottom:1rem;font-size:.8rem}.LptDaG_gridPlaceholder{color:var(--ink-3);border:1px dashed var(--line-2);text-align:center;border-radius:12px;padding:2rem}.LptDaG_railStack{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;overflow-x:auto}.LptDaG_rail{align-items:stretch;gap:.5rem;display:flex}.LptDaG_railLabel{font-family:var(--font-mono);color:var(--ink-4);flex:0 0 1.5rem;justify-content:center;align-items:center;font-size:.75rem;display:flex}.LptDaG_railSlots{background:var(--bg-3);border-radius:6px;flex:auto;gap:2px;min-width:0;padding:4px;display:grid}.LptDaG_slot{background:var(--bg);border:1px solid var(--line-2);border-radius:3px;min-width:18px;height:44px;transition:background .12s,border-color .12s}.LptDaG_slot:hover{border-color:var(--accent)}.LptDaG_railSlots[data-over=true]{outline:2px solid var(--accent);outline-offset:2px}.LptDaG_ghost{pointer-events:none;z-index:1;border-radius:3px;grid-row:1;align-self:center;height:44px}.LptDaG_ghost[data-fits=true]{background:color-mix(in srgb, var(--accent) 28%, transparent);border:2px dashed var(--accent)}.LptDaG_ghost[data-fits=false]{background:color-mix(in srgb, var(--warn,#d4382f) 22%, transparent);border:2px dashed var(--warn,#d4382f)}.LptDaG_placement{background:var(--accent-soft,color-mix(in srgb, var(--accent) 16%, var(--bg)));border:1px solid var(--accent);z-index:2;border-radius:3px;grid-row:1;justify-content:center;align-self:center;align-items:center;height:44px;padding:0 .25rem;animation:.18s cubic-bezier(.22,1,.36,1) LptDaG_settle;display:flex;overflow:hidden}.LptDaG_placementLabel{font-family:var(--font-mono);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;line-height:1;overflow:hidden}@keyframes LptDaG_settle{0%{opacity:.4;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.LptDaG_workSection{gap:1rem;display:grid}.LptDaG_workHeader{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.LptDaG_counter{font-family:var(--font-mono);color:var(--ink-3);margin:0;font-size:.85rem}.LptDaG_counterValue{color:var(--accent);font-size:1rem}.LptDaG_workLayout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1.5rem;display:grid}@media (max-width:720px){.LptDaG_workLayout{grid-template-columns:1fr}}.LptDaG_paletteColumn,.LptDaG_gridColumn{min-width:0}.LptDaG_boardCard:disabled{cursor:not-allowed;opacity:.5}.LptDaG_boardCard:disabled:hover{border-color:var(--line);transform:none}.LptDaG_palette{flex-direction:column;gap:.75rem;max-height:32rem;display:flex}.LptDaG_paletteSearch{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.LptDaG_paletteSearch:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.LptDaG_paletteNotice{color:var(--ink-3);margin:0;font-size:.75rem}.LptDaG_paletteList{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.LptDaG_paletteItem{text-align:left;background:var(--bg-2);border:1px solid var(--line);cursor:grab;touch-action:none;border-radius:8px;align-items:center;gap:.6rem;width:100%;padding:.4rem .5rem;transition:border-color .12s,box-shadow .12s;display:flex}.LptDaG_paletteItem:hover{border-color:var(--accent)}.LptDaG_paletteItem:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.LptDaG_paletteItem[data-dragging=true]{opacity:.4;cursor:grabbing}.LptDaG_paletteImageWrap{background:var(--bg);border-radius:6px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.LptDaG_paletteImage{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.LptDaG_paletteImagePlaceholder{font-family:var(--font-mono);color:var(--ink-4);font-size:.9rem}.LptDaG_paletteName{min-width:0;color:var(--ink);text-overflow:ellipsis;flex:auto;font-size:.8rem;line-height:1.25;overflow:hidden}.LptDaG_paletteWidthBadge{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-3);white-space:nowrap;border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.7rem}.LptDaG_fieldStep{gap:1.25rem;display:grid}.LptDaG_paletteGroups{flex-direction:column;flex:0 auto;gap:1rem;min-height:0;display:flex;overflow-y:auto}.LptDaG_paletteGroupHeading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4);margin:0 0 .4rem;font-size:.7rem}.LptDaG_fieldFootprintBadge{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-3);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:.15rem .5rem;font-size:.7rem;display:inline-flex}.LptDaG_fieldGrid{background:var(--bg-3);border:1px solid var(--line);border-radius:12px;gap:2px;padding:6px;display:grid;position:relative;overflow-x:auto}.LptDaG_fieldGrid[data-proportional=true]{width:auto;max-width:100%;height:min(74vh,720px);margin-inline:auto;overflow-x:visible}.LptDaG_fieldGrid[data-proportional=true] .LptDaG_fieldCell{min-height:0}.LptDaG_fieldCell{background:var(--bg);border:1px solid var(--line-2);border-radius:3px;min-height:18px}.LptDaG_fieldCell[data-over=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.LptDaG_fieldGhost{z-index:1;pointer-events:none;border-radius:4px;align-self:stretch}.LptDaG_fieldGhost[data-fits=true]{background:color-mix(in srgb, var(--accent) 28%, transparent);border:2px dashed var(--accent)}.LptDaG_fieldGhost[data-fits=false]{background:color-mix(in srgb, var(--warn,#d4382f) 22%, transparent);border:2px dashed var(--warn,#d4382f)}.LptDaG_fieldTile{--schematic-ink:#2b2b2b;--schematic-bg:#fff;z-index:2;background:var(--schematic-bg);border:1px solid var(--line);border-top:3px solid var(--ink-4);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:border-color .12s,box-shadow .12s;animation:.18s cubic-bezier(.22,1,.36,1) LptDaG_settle;display:flex;position:relative;overflow:hidden}.LptDaG_fieldTile:hover{box-shadow:0 0 0 2px var(--accent)}.LptDaG_fieldTile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.LptDaG_fieldTileLabel{font-family:var(--font-mono);color:var(--schematic-ink);text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.62rem;line-height:1.15;display:-webkit-box;overflow:hidden}.LptDaG_fieldTile[data-type=Z],.LptDaG_fieldTile[data-type=ZF]{border-top-color:#3a7bd5}.LptDaG_fieldTile[data-type=T],.LptDaG_fieldTile[data-type=M],.LptDaG_fieldTile[data-type=A]{border-top-color:#d57f3a}.LptDaG_fieldTile[data-type=V]{border-top-color:var(--accent)}.LptDaG_fieldTile[data-type=B]{border-top-color:#8a3ad5}.LptDaG_schematicSvg{width:100%;height:100%;position:absolute;inset:0}.LptDaG_schematicSvg line,.LptDaG_schematicSvg rect,.LptDaG_schematicSvg circle{fill:none;stroke:var(--schematic-ink);stroke-width:1px;vector-effect:non-scaling-stroke}.LptDaG_schematicBar{stroke-width:2.5px!important}.LptDaG_schematicTap{stroke-dasharray:3 3;opacity:.6}.LptDaG_schematicImage{object-fit:cover;width:100%;height:100%}.LptDaG_schematicLabel{max-width:96%;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;color:var(--schematic-ink);background:color-mix(in srgb, var(--schematic-bg) 80%, transparent);pointer-events:none;padding:0 .2rem;font-size:.58rem;line-height:1.2;position:absolute;bottom:2px;left:50%;overflow:hidden;transform:translate(-50%)}.LptDaG_cabinetFrame{flex-direction:column;gap:.5rem;margin:0;display:flex}.LptDaG_cabinetFrameHead{justify-content:center;display:flex}.LptDaG_cabinetFrameCode{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:.7rem}.LptDaG_cabinetFrameBody{background:var(--bg-2);border:2px solid var(--ink-4);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;padding:14px;position:relative}.LptDaG_cabinetScrew{background:var(--ink-4);opacity:.55;border-radius:50%;width:6px;height:6px;position:absolute}.LptDaG_cabinetScrew[data-pos=tl]{top:5px;left:5px}.LptDaG_cabinetScrew[data-pos=tr]{top:5px;right:5px}.LptDaG_cabinetScrew[data-pos=bl]{bottom:5px;left:5px}.LptDaG_cabinetScrew[data-pos=br]{bottom:5px;right:5px}.LptDaG_cabinetCaption{text-align:center;font-family:var(--font-mono);color:var(--ink-3);font-size:.72rem}.LptDaG_dragGhost{font-family:var(--font-mono);color:var(--bg);background:var(--accent);cursor:grabbing;border-radius:6px;justify-content:center;align-items:center;padding:.4rem .7rem;font-size:.75rem;display:inline-flex;box-shadow:0 6px 18px #00000040}.LptDaG_dragGhost[data-bounce]{animation:.32s LptDaG_bounce}@keyframes LptDaG_bounce{0%{transform:translate(0)}20%{transform:translate(-8px)rotate(-3deg)}45%{transform:translate(7px)rotate(2deg)}70%{transform:translate(-4px)rotate(-1deg)}to{transform:translate(0)rotate(0)}}