.scheme-overview{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text)}.scheme-overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);flex:0 0 auto;background:var(--color-surface-raised);border-bottom:1px solid color-mix(in srgb,var(--color-text) 12%,transparent)}.scheme-overview-toolbar h2{margin:0;font-size:1.05rem}.scheme-overview-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--space-sm);overflow:hidden}.scheme-overview-grid{display:flex;flex-direction:column;gap:var(--overview-row-gap, 2px);line-height:0}.scheme-overview-grid .scheme-row{gap:var(--overview-gap, 2px);min-height:var(--cell-size)}.scheme-overview-grid .scheme-row .cell.active{box-shadow:inset 0 0 0 1px var(--color-run-active)}.stack-tight{display:flex;flex-direction:column;gap:8px}.preview-rows{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--color-surface);border-radius:var(--radius);overflow-x:auto}.preview-rows.is-expanded{max-height:42vh;overflow:auto}.scheme-preview .secondary-button{min-height:var(--size-control-secondary)}.scheme-preview .preview-actions{gap:6px;justify-content:flex-end}.scheme-row{display:flex;flex-wrap:nowrap;gap:2px;align-items:center;min-height:var(--cell-size, 28px);padding:4px 6px;background:var(--color-surface);border-radius:8px;overflow-x:auto;overflow-y:hidden;line-height:0}.scheme-row.is-strip{background:transparent;border-radius:0;padding:0;overflow:visible}.scheme-row .cell{width:var(--cell-size, 28px);height:var(--cell-size, 28px);flex:0 0 auto;display:inline-block;box-sizing:border-box}.scheme-row .cell.bead{border-radius:999px}.scheme-row .cell.empty{background:var(--color-empty-cell);border-radius:4px}.scheme-row .cell.active{box-shadow:inset 0 0 0 2px var(--color-run-active)}:root{--color-surface: #f4f1ea;--color-text: #1f2a24;--color-surface-raised: #fffdf8;--color-empty-cell: #d9d3c7;--color-run-active: #c45c26;--color-warning-surface: #f3e0b5;--control-primary: #1f6f5b;--control-primary-text: #fffdf8;--size-control-primary: 64px;--size-control-secondary: 48px;--size-peyote-offset: 14px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--radius: 12px;--font-ui: "Segoe UI", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-ui);color:var(--color-text);background:var(--color-surface)}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:720px;margin:0 auto;padding:var(--space-md)}.primary-button{min-height:var(--size-control-primary);padding:0 var(--space-lg);border:none;border-radius:var(--radius);background:var(--control-primary);color:var(--control-primary-text);font-weight:600}.secondary-button{min-height:var(--size-control-secondary);padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--color-text) 25%,transparent);border-radius:var(--radius);background:var(--color-surface-raised);color:var(--color-text)}.secondary-button[aria-pressed=true]{border-color:var(--control-primary);background:color-mix(in srgb,var(--control-primary) 12%,white)}.panel{background:var(--color-surface-raised);border-radius:var(--radius);padding:var(--space-md);margin-top:0}.warning-note{background:var(--color-warning-surface);border-radius:var(--radius);padding:var(--space-md);margin:var(--space-md) 0}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.bare-fieldset{margin:0;border:none;padding:0;min-inline-size:0}.bare-fieldset legend{padding:0;margin-bottom:var(--space-sm);font-weight:600}
