.raster{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg);--ink-faint: #737e8b}.raster .topbar{gap:10px 18px}.raster-name{flex:1 1 120px;min-width:100px;max-width:240px;padding:5px 9px;border:1px solid var(--rail-line);border-radius:var(--radius);background:#0b0d10;color:var(--ink);font-family:var(--font-display);font-size:13px;letter-spacing:.04em}.raster-name:focus-visible{outline:2px solid var(--sig-cv);outline-offset:1px}.raster-cluster{gap:8px}.raster-btn,.raster-link{padding:6px 12px;border:1px solid var(--rail-line);border-radius:var(--radius);background:linear-gradient(180deg,#22262d,#14171b);color:var(--ink-dim);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.09em;text-decoration:none;white-space:nowrap;cursor:pointer}.raster-btn:hover,.raster-link:hover{color:var(--ink);border-color:#2c323b}.raster-btn:focus-visible,.raster-link:focus-visible,.raster-tab:focus-visible,.raster-key:focus-visible,.raster .field input[type=range]:focus-visible{outline:2px solid var(--sig-cv);outline-offset:2px}.raster-run.on{color:#08090b;background:linear-gradient(180deg,#b6f27a,var(--sig-gate));border-color:#6f9c3f}.raster-rack.on{color:#08090b;background:linear-gradient(180deg,#9fd7ff,var(--sig-cv));border-color:#3f7c9c}.raster-stat{padding:5px 10px;border-radius:var(--radius);background:#0b0d10;color:var(--ink-dim);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.raster-tabs{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 16px;padding:8px 18px 0;border-bottom:1px solid var(--rail-line);background:#0b0d10}.raster-screens{display:flex;gap:2px;min-width:0}.raster-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-bottom:6px}.raster-tab{padding:7px 14px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:none;color:var(--ink-faint);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.1em;white-space:nowrap;cursor:pointer}.raster-tab:hover{color:var(--ink-dim)}.raster-tab.on{color:var(--ink);border-color:var(--rail-line);background:var(--bg);margin-bottom:-1px}.raster-grid{display:flex;flex:1;flex-direction:column;min-height:0;padding:14px 18px 0;font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums}.raster-head,.raster-row{display:grid;grid-template-columns:var(--cols);align-items:center;width:max-content;min-width:28ch;padding-right:2ch;white-space:pre}.raster-head{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--rail-line)}.raster-col{color:var(--tone, var(--ink-faint));font-family:var(--font-label);font-size:11px;letter-spacing:.14em;overflow:hidden}.raster-body{position:relative;flex:1;min-height:0;overflow-y:auto;padding-bottom:12px;scroll-behavior:auto}.raster-addr{color:var(--ink-faint);text-align:right;font-size:12px;padding-right:1ch}.raster-grid:is([data-view=instrument],[data-view=mixer],[data-view=project]) .raster-addr{text-align:left;letter-spacing:.04em}.raster-cell{width:calc(var(--w, 2) * 1ch + 2px);justify-self:start;padding:0 1px;color:var(--tone, var(--ink));border-radius:2px}.raster-row{height:20px;border-radius:3px}.raster-row.bar{background:#0d0f13}.raster-cell.faint{color:var(--ink-faint)}.raster-cell.block{background:#1f2a3a;color:var(--ink)}.raster-cell.cursor{color:#08090b;background:var(--tone, var(--ink))}.raster-row.playing{background:#1a2430;box-shadow:inset 2px 0 0 var(--sig-gate)}.raster-row.playing .raster-addr{color:var(--ink-dim)}.raster-cell.playing:not(.cursor){box-shadow:inset 0 -2px 0 var(--sig-gate)}.raster-pad{display:none;flex-direction:column;gap:6px;padding:8px 10px;border-top:1px solid var(--rail-line);background:#0b0d10}.raster.with-pad .raster-pad{display:flex}@media(pointer:coarse){.raster-pad{display:flex}}.raster-pad-row{display:flex;flex-wrap:wrap;gap:5px}.raster-key{flex:1 0 40px;min-height:40px;padding:0 8px;border:1px solid var(--rail-line);border-radius:var(--radius);background:linear-gradient(180deg,#22262d,#14171b);color:var(--ink);font-family:var(--font-mono);font-size:13px;touch-action:manipulation;user-select:none;-webkit-user-select:none;cursor:pointer}.raster-key:active{background:var(--sig-cv);color:#08090b}.raster-foot{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px;padding:9px 18px;border-top:1px solid var(--rail-line);background:#0b0d10}.raster-map{display:inline-flex;gap:5px;flex:none;font-family:var(--font-label);font-size:10px;letter-spacing:.12em;color:var(--ink-faint);white-space:nowrap}.raster-map-cell.on{color:var(--ink);border-bottom:1px solid var(--sig-cv)}.raster-help{flex:1 1 200px;margin:0;color:var(--ink-dim);font-family:var(--font-label);font-size:12px;letter-spacing:.03em}.raster-help.flash{color:var(--sig-gate)}.raster .picker-menu{max-width:min(380px,calc(100vw - 16px))}.raster .picker-item{overflow:hidden;text-overflow:ellipsis}.picker-row{display:flex;align-items:center;gap:2px}.picker-row .picker-item{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.picker-del{flex:none;width:24px;padding:6px 0;border:0;border-radius:3px;background:none;color:var(--ink-faint);font-family:var(--font-mono);font-size:14px;line-height:1;cursor:pointer}.picker-del:hover,.picker-del:focus-visible{color:var(--hot);background:#1b212a;outline:none}.raster-num{display:flex;flex:none;align-items:center;gap:5px;padding:3px 8px 3px 4px;border-radius:var(--radius);background:#0b0d10}.raster-num input{width:4.5ch;padding:2px 0 2px 4px;border:0;background:none;color:var(--ink);font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}.raster-num input::-webkit-outer-spin-button,.raster-num input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.raster-num input:focus-visible{outline:none;color:var(--sig-cv)}.raster-num-label{color:var(--ink-faint);font-family:var(--font-label);font-size:10px;letter-spacing:.14em}.raster .field{grid-auto-flow:column;align-items:center;gap:7px}.raster .field>span{white-space:nowrap}@media(max-width:1100px){.raster-tabs{flex-wrap:wrap}}@media(max-width:720px){.raster-grid{padding:10px 10px 0;font-size:13px}.raster-tabs{padding:8px 8px 0}.raster-screens{flex:1 1 100%;gap:0}.raster-tab{flex:1 1 0;min-width:0;padding:7px 4px;letter-spacing:.05em;text-align:center;overflow:hidden;text-overflow:ellipsis}.raster-actions{padding-bottom:6px}.raster-foot{padding:8px 10px}.raster-map{display:none}}@media(max-width:480px){.raster-tab[data-short]{font-size:0}.raster-tab[data-short]:after{content:attr(data-short);font-size:12px}.raster-name{flex-basis:100px}}.raster-card{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#08090bd1}.raster-card-panel{max-width:720px;max-height:100%;overflow-y:auto;padding:22px 26px;border:1px solid var(--rail-line);border-radius:6px;background:#0b0d10;box-shadow:0 24px 60px -20px #000}.raster-card-panel h2{margin:0 0 14px;font-family:var(--font-label);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--sig-audio)}.raster-card-keys{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:5px 18px;margin:0 0 18px;font-size:13px;line-height:1.5}.raster-card-keys dt{font-family:var(--font-mono);color:var(--ink);white-space:nowrap}.raster-card-keys dd{margin:0;color:var(--ink-dim)}@media(max-width:560px){.raster-card-keys{grid-template-columns:1fr;gap:1px}.raster-card-keys dd{margin-bottom:8px}}
