.laser-lab{min-width:0;font-family:var(--font-ui);gap:12px;display:grid;container-type:inline-size}.laser-lab h2{font:600 .8rem/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 8px}.ll-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ll-bar select{font:inherit;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);max-width:100%;padding:7px 10px}.ll-preset{flex:220px;min-width:0;display:flex}.ll-preset select{width:100%}.ll-seg{display:inline-flex}.ll-seg .btn{border-radius:0}.ll-seg .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.ll-seg .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.ll-seg .btn[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.ll-files{flex-wrap:wrap;gap:8px;display:inline-flex}.ll-work{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.ll-stage{border:1px solid var(--line);border-radius:var(--radius);background:#0b1213;height:clamp(320px,62vh,620px);position:relative;overflow:hidden}.ll-stage canvas{outline:none;width:100%;height:100%;display:block}.ll-stage canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.ll-3d{position:absolute;inset:0}.ll-3d-msg{color:var(--muted);place-items:center;margin:0;display:grid;position:absolute;inset:0}.ll-side{grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;display:grid}.ll-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:12px}.ll-box-head{justify-content:space-between;align-items:center;display:flex}.ll-box-head h2{margin:0}.ll-del{padding:4px 10px}.ll-tip{margin:-4px 0 8px;font-size:.82rem}.ll-palette{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;display:grid}.ll-tool{font:inherit;color:var(--ink);background:color-mix(in srgb, var(--panel) 70%, #000);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:grab;touch-action:manipulation;justify-items:center;gap:2px;padding:8px 4px;font-size:.8rem;display:grid}.ll-tool:hover{border-color:var(--accent)}.ll-tool svg{fill:#8dbfff2e;stroke:#cfe3ff;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.ll-tool svg .beam{stroke:var(--accent);fill:none}.ll-set{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;font-size:.9rem;display:grid}.ll-set input{width:100%;accent-color:var(--accent);grid-area:2/1/auto/-1}.ll-set output{font-family:var(--font-mono)}.ll-check{align-items:center;gap:8px;margin-top:8px;font-size:.9rem;display:flex}.ll-check input{accent-color:var(--accent)}.ll-inspector{gap:8px;margin-top:8px;font-size:.88rem;display:grid}.ll-ins-head{font-size:.95rem}.ll-group{border:1px solid var(--line);border-radius:var(--radius-sm);gap:6px;min-width:0;margin:0;padding:6px 8px 8px;display:grid}.ll-group legend{color:var(--muted);padding:0 4px;font-size:.75rem}.ll-row{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:2px 8px;display:grid}.ll-row[hidden]{display:none}.ll-row small{grid-column:1/-1;font-size:.74rem}.ll-row input,.ll-row select{font:inherit;width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);background:#0b1213;border-radius:6px;padding:4px 6px}.ll-num{align-items:center;gap:4px;min-width:0;display:flex}.ll-num em{color:var(--muted);font-size:.78rem;font-style:normal}.ll-derived{margin:0;font-size:.82rem}.ll-remove,.ll-match{justify-self:start}.ll-match{padding:4px 10px;font-size:.82rem}.ll-note{margin:4px 0 0 26px;font-size:.76rem}.ll-hint{margin:0}.ll-list-title{color:var(--muted);margin:8px 0 4px;font-size:.78rem}.ll-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ll-list .btn{text-align:left;width:100%;padding:4px 8px;font-size:.85rem}.ll-info{margin:0;font-size:1rem}.ll-info:empty,.ll-msg:empty{display:none}.ll-msg{margin:0;font-size:.85rem}.ll-msg[data-kind=err]{color:var(--err)}.ll-help{margin:0;font-size:.8rem}.ll-help kbd{font-family:var(--font-mono);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:.75rem}.laser-lab.ll-viewer .ll-tool{cursor:not-allowed}@container (width>=760px){.ll-work{grid-template-columns:minmax(0,1fr) 270px}.ll-stage{height:clamp(420px,68vh,680px)}.ll-side{max-height:clamp(420px,68vh,680px);overflow-y:auto}.ll-palette{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=480px){.ll-stage{height:50vh;min-height:300px;max-height:460px}.ll-palette{grid-template-columns:repeat(4,minmax(0,1fr))}.ll-tool{padding:6px 2px;font-size:.7rem}.ll-tool span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}
