.loft-snp{font-size:.82rem}.loft-snp__header{flex-direction:column;padding:6px 10px 0;display:flex}.loft-snp__ctxbar{width:100%}.loft-snp__parent{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.74rem;display:inline-flex}.loft-snp__parent input{border:1px solid var(--color-border-default);border-radius:var(--radius-sm,6px);background:var(--color-surface-card);color:var(--color-text-heading);font-family:var(--font-mono,monospace);width:11rem;padding:.3rem .5rem;font-size:.78rem}.loft-snp__parent input:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px;border-color:var(--color-border-hover)}.loft-snp__import-error{font-size:.72rem;font-family:var(--font-mono,monospace);color:var(--color-error);background:var(--color-error-bg-soft);border-radius:var(--radius-sm,6px);margin-top:4px;padding:.25rem .5rem}.loft-snp__btn{border:1px solid var(--color-border-default);border-radius:var(--radius-sm,6px);color:var(--color-text-body);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.76rem;font-weight:600;display:inline-flex}.loft-snp__btn i{font-size:.95rem}.loft-snp__btn:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text-heading)}.loft-snp__btn:disabled{opacity:.45;cursor:not-allowed}.loft-snp__btn--primary{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-text-inverse)}.loft-snp__btn:focus-visible,.loft-snp__seg-btn:focus-visible,.loft-snp__map-seg:focus-visible,.loft-snp__chip:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.loft-snp__add{flex-direction:column;gap:.5rem;height:100%;padding:.7rem;display:flex;overflow:auto}.loft-snp__rail-head{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0;font-size:.72rem}.loft-snp__seg{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill,999px);gap:.2rem;padding:.15rem;display:inline-flex}.loft-snp__seg-btn{border-radius:var(--radius-pill,999px);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:.25rem .55rem;font-size:.72rem}.loft-snp__seg-btn--on{background:var(--color-accent-primary);color:var(--color-text-inverse)}.loft-snp__field{flex-direction:column;gap:.2rem;display:flex}.loft-snp__field>span{color:var(--color-text-muted);font-size:.7rem}.loft-snp__field input,.loft-snp__field select,.loft-snp__field textarea{border:1px solid var(--color-border-default);border-radius:var(--radius-sm,6px);background:var(--color-surface-card);color:var(--color-text-heading);padding:.4rem .5rem;font-family:inherit;font-size:.78rem}.loft-snp__field textarea{font-family:var(--font-mono,monospace);resize:vertical}.loft-snp__row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.loft-snp__error{color:var(--color-error);margin:0;font-size:.74rem}.loft-snp__canvas-wrap{height:100%;min-height:0;padding:.9rem 1rem;overflow:auto}.loft-snp__map{margin-bottom:1rem}.loft-snp__map-track{border:1px solid var(--color-border-default);border-radius:var(--radius-sm,6px);background:repeating-linear-gradient(90deg, var(--color-surface-card), var(--color-surface-card) 9px, var(--color-surface-elevated) 9px, var(--color-surface-elevated) 10px);height:56px;position:relative;overflow:hidden}.loft-snp__map-seg{border:0;border-left:1px solid var(--color-surface-primary);cursor:pointer;min-width:2px;color:var(--color-text-inverse);text-align:left;white-space:nowrap;padding:0 2px;font-size:.6rem;position:absolute;top:0;bottom:0;overflow:hidden}.loft-snp__map-seg[data-status=in-use]{background:var(--color-accent-primary)}.loft-snp__map-seg[data-status=reserved]{background:var(--color-warning)}.loft-snp__map-seg[data-status=free]{background:var(--color-success)}.loft-snp__map-seg[data-overlap],.loft-snp__map-seg[data-out]{outline:2px solid var(--color-error);outline-offset:-2px;z-index:2}.loft-snp__map-seg[data-selected]{box-shadow:inset 0 0 0 2px var(--color-text-inverse);z-index:3}.loft-snp__map-seg-label{pointer-events:none}.loft-snp__legend{color:var(--color-text-muted);flex-wrap:wrap;gap:.8rem;margin-top:.4rem;font-size:.7rem;display:flex}.loft-snp__legend span{align-items:center;gap:.3rem;display:inline-flex}.loft-snp__legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.loft-snp__legend i[data-status=in-use]{background:var(--color-accent-primary)}.loft-snp__legend i[data-status=reserved]{background:var(--color-warning)}.loft-snp__legend i[data-status=free]{background:var(--color-success)}.loft-snp__legend-overlap i{border:2px solid var(--color-error);background:0 0}.loft-snp__map-empty,.loft-snp__hint{color:var(--color-text-muted);text-align:center;padding:1.5rem 1rem}.loft-snp__table{border-collapse:collapse;width:100%;font-size:.78rem}.loft-snp__table th,.loft-snp__table td{text-align:left;border-bottom:1px solid var(--color-border-subtle);padding:.3rem .45rem}.loft-snp__table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.loft-snp__table tr{cursor:pointer}.loft-snp__table tr[data-selected]{background:var(--color-cyan-bg-faint)}.loft-snp__table tr[data-overlap]{background:var(--color-error-bg-soft)}.loft-snp__table input,.loft-snp__table select{border-radius:var(--radius-sm,4px);width:100%;color:var(--color-text-heading);background:0 0;border:1px solid #0000;padding:.2rem .3rem;font-family:inherit;font-size:.76rem}.loft-snp__table input:focus,.loft-snp__table select:focus{border-color:var(--color-border-default);background:var(--color-surface-card);outline:none}.loft-snp__mono{font-family:var(--font-mono,monospace);color:var(--color-text-heading)}.loft-snp__muted{color:var(--color-text-muted);font-size:.72rem}.loft-snp__chip{border:1px solid var(--color-border-default);border-radius:var(--radius-sm,6px);color:var(--color-text-body);cursor:pointer;background:0 0;padding:.1rem .45rem}.loft-snp__chip--danger:hover{border-color:var(--color-error);color:var(--color-error)}.loft-snp__tools{flex-direction:column;gap:.8rem;height:100%;padding:.7rem;display:flex;overflow:auto}.loft-snp__tool{flex-direction:column;gap:.4rem;display:flex}.loft-snp__tool--warn{border:1px solid var(--color-error);border-radius:var(--radius-sm,6px);background:var(--color-error-bg-soft);padding:.5rem}.loft-snp__overlaps{color:var(--color-error);font-size:.74rem;font-family:var(--font-mono,monospace);margin:0;padding-left:1rem}.loft-snp__inline{gap:.4rem;display:flex}.loft-snp__inline input,.loft-snp__inline select{border:1px solid var(--color-border-default);border-radius:var(--radius-sm,6px);background:var(--color-surface-card);min-width:0;color:var(--color-text-heading);font-family:var(--font-mono,monospace);flex:1;padding:.35rem .5rem;font-size:.76rem}.loft-snp__kv{gap:.15rem;margin:0;display:grid}.loft-snp__kv>div{justify-content:space-between;gap:.5rem;font-size:.74rem;display:flex}.loft-snp__kv dt{color:var(--color-text-muted)}.loft-snp__kv dd{font-family:var(--font-mono,monospace);color:var(--color-text-heading);margin:0}.loft-snp__result{border-radius:var(--radius-sm,6px);background:var(--color-surface-primary);color:var(--color-accent-primary);word-break:break-all;margin:0;padding:.4rem .5rem;font-size:.76rem}.loft-snp__status-readout{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.loft-snp__sheet-parent{border-bottom:1px solid var(--color-border-subtle);margin-bottom:.3rem;padding-bottom:.7rem}.loft-snp__sheet-parent input{font-family:var(--font-mono,monospace)}.loft-snp__calc-reflow{border-top:1px solid var(--color-border-subtle);margin-top:1rem;padding-top:1rem;display:none}@media (width<=767px) and (width>=481px){.loft-snp__calc-reflow{display:block}.loft-snp__calc-reflow .loft-snp__tools{height:auto;padding:0;overflow:visible}}@media (width<=480px){.loft-snp__canvas-wrap{padding:.6rem}.loft-snp__table{white-space:nowrap;display:block;overflow-x:auto}}
