/* Glass cutting: scoped to this model; all colors follow the existing theme. */
.arch-lab .arch-cut-editor,.arch-lab .arch-cut-comparison{display:grid;gap:16px;min-width:0}
.arch-lab .arch-cut-editor[hidden],.arch-lab .arch-cut-comparison[hidden]{display:none}
.arch-lab .arch-cut-intro{display:grid;gap:8px}
.arch-lab .arch-cut-intro h4{font-size:clamp(19px,2.6vw,24px);line-height:1.3;margin:0;color:var(--arch-ink)}
.arch-lab .arch-cut-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px;font-weight:600;color:var(--arch-ink)}
.arch-lab .arch-cut-legend>span{display:flex;align-items:center;gap:8px}
.arch-lab .arch-cut-swatch{display:inline-block;width:18px;height:18px;border-radius:5px;border:1px solid var(--arch-fig-line)}
.arch-lab .arch-cut-blue{background:var(--arch-piece-a)}
.arch-lab .arch-cut-yellow{background:var(--arch-piece-b)}
.arch-lab .arch-cut-animation-stage{padding:8px;border-radius:16px;overflow:hidden}
.arch-lab .arch-cut-animation-stage svg{max-width:660px;max-height:none;margin:auto}
.arch-lab .arch-cut-phase{padding:16px 18px;border-radius:12px;background:var(--arch-surface);border:1px solid var(--arch-soft-line);border-left:4px solid var(--arch-primary-bg);min-height:110px;box-sizing:border-box}
.arch-lab .arch-cut-phase-title{font-size:18px;line-height:1.35;color:var(--arch-ink)}
.arch-lab .arch-cut-phase-text{font-size:15px;line-height:1.6;color:var(--arch-muted);margin:6px 0 0}
.arch-lab .arch-cut-phase.arch-cut-complete{border-left-color:var(--arch-good)}
.arch-lab .arch-cut-slider-label{display:flex;gap:12px;align-items:baseline;justify-content:space-between}
.arch-lab .arch-cut-progress{color:var(--arch-ink);font-variant-numeric:tabular-nums;font-weight:700}
.arch-lab .arch-cut-comparison input[type=range]{width:100%;box-sizing:border-box;margin:0}
.arch-lab .arch-cut-play{min-width:116px}
.arch-lab .arch-cut-stops{display:flex;flex-wrap:wrap;gap:8px}
.arch-lab .arch-cut-stops button[aria-pressed=true]{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);box-shadow:inset 0 0 0 1px var(--arch-pressed-line);font-weight:700}
.arch-lab .arch-cut-reduced{font-size:14px;font-weight:400;display:flex;align-items:flex-start;gap:8px;line-height:1.55;color:var(--arch-muted)}
.arch-lab .arch-cut-reduced input{flex:0 0 20px;width:20px;height:20px;margin:2px 0}
@media(max-width:480px){.arch-lab .arch-cut-phase{padding:14px;min-height:140px}.arch-lab .arch-cut-stops button{flex:1 1 128px;font-size:14px}.arch-lab .arch-cut-legend{font-size:14px;gap:8px 14px}}
