.laser-maker { --laser-gap: 1rem; }
.laser-maker [hidden] { display:none !important; }
.laser-intro h1 { margin-top:.25rem; }
.laser-links,.laser-actions,.laser-face-tabs { display:flex;gap:.55rem;flex-wrap:wrap;align-items:center; }
.laser-links { margin-top:1rem; }
.laser-links a { padding:.4rem .7rem;border:1px solid var(--border,#597264);border-radius:.35rem; }
.laser-layout { display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:1rem;align-items:start; }
.laser-controls,.laser-workspace { min-width:0; }
.laser-controls fieldset { margin:0 0 1rem;padding:1rem;min-width:0; }
.laser-controls legend { font-weight:bold;padding:0 .3rem; }
.laser-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }
.laser-fields label,.laser-controls fieldset>label { display:flex;flex-direction:column;gap:.3rem;font-size:.9rem; }
.laser-fields input,.laser-fields select,.laser-controls textarea { width:100%;min-width:0;box-sizing:border-box; }
.laser-wide { grid-column:1/-1; }
.laser-check { flex-direction:row !important;align-items:center; }
.laser-check input { width:auto; }
.laser-hint { font-size:.85rem;opacity:.82;line-height:1.5; }
.laser-face-tabs { margin-bottom:1rem; }
.laser-face-tabs button[aria-selected="true"] { outline:2px solid var(--accent,#7cff9a);outline-offset:2px; }
.laser-workspace>.panel { margin-bottom:1rem; }
.laser-preview-panel { position:sticky;top:1rem; }
.laser-preview-heading { display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap; }
.laser-preview-heading h2 { margin:.2rem 0; }
.laser-preview-heading label { display:flex;align-items:center;gap:.5rem; }
.laser-preview { background:#fff;border:1px solid #7b7b7b;padding:.5rem;min-height:160px;overflow:auto;max-height:65vh; }
.laser-preview svg { display:block;width:100%;height:auto;max-height:60vh; }
.laser-preview svg image { image-rendering:auto; }
.laser-metrics { font-size:.9rem;font-variant-numeric:tabular-nums; }
#laser-status:empty,#laser-file-status:empty { display:none; }
#laser-status,#laser-file-status { padding:.6rem .8rem;margin:.6rem 0;border:1px solid currentColor;border-radius:.3rem; }
#laser-status[data-error="true"] { color:var(--danger,#ff8a8a); }
.laser-legend { display:flex;flex-wrap:wrap;gap:.6rem;font-size:.8rem;margin-top:.6rem; }
.laser-legend span::before { content:"● "; }
.laser-front::before { color:#4866ff; }
.laser-rear::before { color:#00bc00; }
.laser-inner::before { color:#00a5ad; }
.laser-cut::before { color:#e65050; }
.laser-upload { cursor:pointer; }
.laser-upload input { width:170px;font-size:.8rem; }
.laser-maker summary { font-weight:bold;cursor:pointer; }
.laser-maker ol { padding-left:1.5rem; }
.laser-maker li { margin-bottom:.55rem; }
.laser-measure { position:absolute;left:-100000px;top:0;width:1px;height:1px;overflow:visible;pointer-events:none; }
@media(max-width:900px) { .laser-layout { grid-template-columns:minmax(0,1fr); }.laser-preview-panel { position:static; }.laser-preview { max-height:none; } }
@media(max-width:450px) { .laser-fields { grid-template-columns:minmax(0,1fr); }.laser-preview-heading label { flex-wrap:wrap; } }
@media print { .site-chrome,.site-footer,.laser-controls,.laser-intro,.laser-workspace>.panel:not(.laser-preview-panel),.laser-preview-heading,.laser-legend,.laser-hint,#laser-status { display:none !important; }.laser-layout { display:block; }.laser-preview-panel { position:static;padding:0;border:0; }.laser-preview { border:0;padding:0;max-height:none; }.laser-preview svg { width:auto;max-width:100%;max-height:none; }.laser-metrics { color:#000; } }
