.tape-machine__instruments{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tape-machine__instrument{aspect-ratio:32/8;border:1px solid color-mix(in srgb, var(--line-strong) 70%, var(--accent-2) 30%);background:color-mix(in srgb, var(--tm-panel) 97%, var(--accent-2) 3%);min-width:0;min-height:0;margin:0;position:relative;overflow:hidden}.tape-machine__instrument figcaption{inset:var(--space-1) var(--space-2) auto;z-index:2;justify-content:space-between;gap:var(--space-2);color:color-mix(in srgb, var(--muted) 70%, var(--ink) 30%);font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;pointer-events:none;line-height:1.35;display:flex;position:absolute}.tape-machine__instrument[data-signal-instrument] figcaption span:first-child{color:color-mix(in srgb, var(--accent-2) 72%, var(--ink) 28%);font-weight:700}.tape-machine__instrument[data-memory-instrument] figcaption span:first-child{color:color-mix(in srgb, var(--accent) 72%, var(--ink) 28%);font-weight:700}.tape-machine__instrument canvas{width:100%;height:100%;display:block;position:absolute;inset:0}@media (width<=700px){.tape-machine__instruments{grid-template-columns:1fr}}.tape-machine__memory-marks-canvas{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.tape-machine-body{min-height:100vh}.tape-machine-site-header{justify-content:space-between;gap:var(--space-3);width:min(100% - 2rem,72rem);padding-block:var(--space-2);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;align-items:center;margin-inline:auto;display:flex}.tape-machine-site-brand{gap:var(--space-2);color:var(--muted);cursor:default;user-select:none;display:flex}.tape-machine-site-brand span:first-child{color:var(--ink)}.tape-machine-main{width:min(100% - 2rem,72rem);padding-block:var(--space-2) clamp(2rem, 6vw, 5rem);margin-inline:auto}.tape-machine-site-footer{width:min(100% - 2rem,72rem);padding-block:var(--space-2) clamp(1.5rem, 4vw, 3rem);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;justify-content:flex-end;margin-inline:auto;display:flex}.tape-machine-site-footer a{color:var(--muted);text-decoration:none}.tape-machine-site-footer a:hover,.tape-machine-site-footer a:focus-visible{color:var(--accent-2);text-underline-offset:.2em;text-decoration:underline}.tape-machine{--tm-panel:color-mix(in srgb, var(--surface) 86%, transparent);gap:var(--space-3);width:100%;padding-block:var(--space-3);border-bottom:1px solid var(--line-strong);font-family:var(--font-mono);display:grid}.tape-machine__header{display:block;position:relative}.tape-machine__eyebrow,.tape-machine__build,.tape-machine__status,.tape-machine__header h1{margin:0}.tape-machine__eyebrow,.tape-machine__build,.tape-machine__status,.tape-machine__slot,.tape-machine__rack,.tape-machine__telemetry,.tape-machine__cards,.tape-machine button{font-size:var(--step--2);text-transform:uppercase;line-height:1.35}.tape-machine__eyebrow{color:var(--accent)}.tape-machine__build{color:var(--muted);text-align:right;position:absolute;bottom:.12rem;right:0}.tape-machine__header h1{margin-top:var(--space-1);letter-spacing:-.055em;white-space:nowrap;font-size:clamp(2rem,4.9vw,4.25rem);line-height:.9}.tape-machine__rack{gap:var(--space-1);display:grid}.tape-machine__rack-head{justify-content:space-between;gap:var(--space-2);color:var(--muted);display:flex}.tape-machine__rack-items{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tape-machine__rack-cassette[data-rack-cassette=a]{grid-area:1/1}.tape-machine__rack-cassette[data-rack-cassette=b]{grid-area:1/2}.tape-machine__rack-items:after,.tape-machine__rack-items:has(.tape-machine__rack-cassette[hidden]):before{box-sizing:border-box;min-height:4.4rem;padding:var(--space-2);border:1px solid var(--line);color:color-mix(in srgb, var(--muted) 55%, transparent);content:"EMPTY BAY";grid-row:1;align-items:start;display:grid}.tape-machine__rack-items:after{grid-column:3}.tape-machine__rack-items:has(.tape-machine__rack-cassette[data-rack-cassette=a][hidden]):before{grid-column:1}.tape-machine__rack-items:has(.tape-machine__rack-cassette[data-rack-cassette=b][hidden]):before{grid-column:2}.tape-machine .tape-machine__rack-cassette{min-height:4.4rem;padding:var(--space-2);text-align:left;gap:.35rem;display:grid}.tape-machine__rack-cassette[hidden]{display:none}.tape-machine__rack-cassette strong{color:var(--ink);font-size:var(--step--1);line-height:1.05}.tape-machine__rack-cassette span{color:var(--muted)}.tape-machine__rack-cassette:disabled{opacity:.42}.tape-machine__slot{gap:var(--space-3);min-height:7rem;padding:var(--space-3) 0 var(--space-3) var(--space-3);border:1px solid var(--line-strong);background:var(--tm-panel);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.tape-machine__slot-label,.tape-machine__slot-actions>span{color:var(--muted)}.tape-machine__slot strong{color:var(--ink);letter-spacing:-.035em;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.35rem,4vw,2.7rem);font-weight:700;overflow:hidden}.tape-machine__slot-actions{margin-block:calc(-1 * var(--space-3));grid-template-columns:auto 4.7rem;align-self:stretch;align-items:stretch;gap:0;display:grid}.tape-machine__slot-actions>span{padding-inline:var(--space-3);white-space:nowrap;align-self:center}.tape-machine .tape-machine__eject{border:0;border-left:1px solid var(--line-strong);background:color-mix(in srgb, var(--tm-panel) 90%, var(--ink) 2%);min-width:4.7rem;min-height:100%;color:var(--muted);grid-template-rows:auto auto;place-content:center;place-items:center;gap:.55rem;padding:.8rem 0;font-size:0;transition:background-color .12s,color .12s,box-shadow .12s;display:grid;position:relative}.tape-machine .tape-machine__eject:before{content:"▲";font-size:.58rem;line-height:1}.tape-machine .tape-machine__eject:after{content:"EJECT";color:inherit;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;writing-mode:vertical-rl;line-height:1;transform:rotate(180deg)}.tape-machine .tape-machine__eject:hover:not(:disabled),.tape-machine .tape-machine__eject:focus-visible:not(:disabled){border-left-color:var(--accent-2);background:color-mix(in srgb, var(--tm-panel) 88%, var(--accent-2) 12%);color:var(--accent-2)}.tape-machine .tape-machine__eject:active:not(:disabled){box-shadow:inset .18rem 0 0 color-mix(in srgb, var(--accent-2) 52%, transparent)}.tape-machine[data-phase=PLAYING] .tape-machine__slot{border-color:var(--accent-2)}.tape-machine[data-recording=true] .tape-machine__slot{border-color:var(--accent)}.tape-machine__cards{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.tape-machine__card{min-width:0;min-height:6.45rem;padding:var(--space-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--tm-panel) 96%, transparent);grid-template-rows:auto minmax(1.5em,auto) minmax(2.5em,auto);gap:.35rem;transition:background-color .18s;display:grid}.tape-machine__card-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;letter-spacing:.03em;align-self:start;overflow:hidden}.tape-machine__card-value{color:var(--ink);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;align-self:center;line-height:1.08;overflow:hidden}.tape-machine__card-detail{color:var(--muted);font-size:max(.62rem, calc(var(--step--2) * .88));font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;align-self:start;line-height:1.25;display:-webkit-box;overflow:hidden}.tape-machine__card[data-changed=true]{background-color:color-mix(in srgb, var(--tm-panel) 88%, var(--accent-2) 12%)}.tape-machine__controls{gap:var(--space-1);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.tape-machine button{min-height:3.15rem;padding-inline:var(--space-1);border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:0}.tape-machine button:hover:not(:disabled),.tape-machine button:focus-visible:not(:disabled){border-color:var(--accent-2);color:var(--accent-2)}.tape-machine button:focus-visible{outline:1px solid var(--accent-2);outline-offset:2px}.tape-machine button:disabled{cursor:default;opacity:.34}.tape-machine button[aria-pressed=true]{border-color:var(--accent-2);color:var(--accent-2)}.tape-machine [data-record][aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.tape-machine__telemetry{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.tape-machine__telemetry>div{min-height:4.2rem;padding:var(--space-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:.25rem;display:grid}.tape-machine__telemetry dt{color:var(--muted)}.tape-machine__telemetry dd{color:var(--ink);font-variant-numeric:tabular-nums;align-self:end;margin:0;font-weight:700}.tape-machine__status{min-height:1.35em;color:var(--accent-2);text-transform:none}.tape-machine .tape-machine__instrument figcaption{box-sizing:border-box;align-items:center;height:12.5%;padding-inline:1.5625%;line-height:1;inset:0 0 auto}@media (width<=900px){.tape-machine__controls,.tape-machine__telemetry,.tape-machine__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.tape-machine__header h1{white-space:normal;font-size:clamp(2rem,9vw,3.6rem)}.tape-machine__build{margin-top:var(--space-1);text-align:left;position:static}}@media (width<=620px){.tape-machine-site-header,.tape-machine-site-brand{align-items:flex-start}.tape-machine-site-brand{flex-direction:column;gap:.15rem}.tape-machine-site-footer{justify-content:flex-start}.tape-machine__slot{padding:var(--space-3);grid-template-columns:1fr}.tape-machine__slot strong{text-align:left}.tape-machine__slot-actions{justify-content:space-between;align-self:auto;gap:var(--space-2);margin:0;display:flex}.tape-machine__slot-actions>span{padding:0}.tape-machine .tape-machine__eject{border:1px solid var(--line-strong);min-width:6rem;min-height:2.75rem;font-size:var(--step--2);background:0 0;padding:.5rem .8rem;display:block}.tape-machine .tape-machine__eject:before,.tape-machine .tape-machine__eject:after{content:none}.tape-machine__rack-items{grid-template-columns:1fr}.tape-machine__rack-cassette[data-rack-cassette]{grid-area:auto}.tape-machine__rack-items:after,.tape-machine__rack-items:has(.tape-machine__rack-cassette[hidden]):before{display:none}.tape-machine__controls,.tape-machine__telemetry,.tape-machine__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.tape-machine__slot{width:100%;min-height:11.8rem;padding:.65rem var(--space-3);grid-template-columns:1fr;justify-self:stretch}.tape-machine__slot-label{display:none}.tape-machine__cassette-stage{grid-template-rows:auto;grid-template-columns:3.4rem auto minmax(20rem,1fr);align-content:center;justify-self:center;place-items:center;column-gap:.7rem;width:min(100%,54rem);min-width:0;min-height:10.4rem;display:grid}.tape-machine__slot-title{display:none}.tape-machine__cassette-empty{box-sizing:border-box;aspect-ratio:100.4/63.8;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--tm-panel) 96%, transparent);width:clamp(13.5rem,24vw,17.2rem);color:var(--muted);text-align:center;grid-area:1/2;place-content:center;justify-self:center;gap:.42rem;display:grid}.tape-machine__cassette-empty[hidden]{display:none}.tape-machine__cassette-empty strong{color:var(--ink);font-size:var(--step--1);letter-spacing:.02em}.tape-machine__cassette-empty span{font-size:var(--step--2);letter-spacing:.04em}.tape-machine__physical-cassette{--cassette-mark:var(--ink);--cassette-label-fill:color-mix(in srgb, var(--surface) 86%, var(--cassette-mark) 14%);box-sizing:border-box;aspect-ratio:100.4/63.8;border:1px solid var(--line-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 95%, var(--ink) 5%), var(--surface));width:clamp(13.5rem,24vw,17.2rem);color:var(--ink);clip-path:polygon(2% 0,98% 0,100% 4%,100% 96%,98% 100%,2% 100%,0 96%,0 4%);grid-area:1/2;justify-self:center;position:relative;overflow:hidden}.tape-machine__physical-cassette[hidden]{display:none}.tape-machine__physical-cassette[data-cassette-art=a]{--cassette-mark:var(--accent);--cassette-label-fill:color-mix(in srgb, var(--surface) 90%, var(--accent) 10%)}.tape-machine__physical-cassette[data-cassette-art=b]{--cassette-mark:var(--accent-2);--cassette-label-fill:color-mix(in srgb, var(--surface) 90%, var(--accent-2) 10%)}.tape-machine__physical-cassette:before{border:1px solid color-mix(in srgb, var(--line) 86%, transparent);content:"";pointer-events:none;position:absolute;inset:.35rem}.tape-machine__cassette-screw{z-index:4;aspect-ratio:1;border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;width:.34rem;position:absolute}.tape-machine__cassette-screw:after{border-top:1px solid var(--muted);content:"";width:64%;position:absolute;top:50%;left:18%;transform:rotate(-18deg)}.tape-machine__cassette-screw--tl{top:.55rem;left:.62rem}.tape-machine__cassette-screw--tr{top:.55rem;right:.62rem}.tape-machine__cassette-screw--bl{bottom:.55rem;left:.62rem}.tape-machine__cassette-screw--br{bottom:.55rem;right:.62rem}.tape-machine__cassette-label{border:1px solid color-mix(in srgb, var(--cassette-mark) 60%, var(--line));background:var(--cassette-label-fill);grid-template-rows:auto 1fr auto;width:84%;height:33%;padding:.42rem .58rem;display:grid;position:absolute;top:7%;left:8%}.tape-machine__cassette-label-head,.tape-machine__cassette-label-foot{color:var(--muted);letter-spacing:.04em;white-space:nowrap;justify-content:space-between;gap:.5rem;font-size:clamp(.4rem,.68vw,.56rem);line-height:1;display:flex}.tape-machine__physical-cassette .tape-machine__cassette-label>strong{color:var(--ink);letter-spacing:-.035em;text-align:center;text-overflow:ellipsis;white-space:nowrap;align-self:center;font-size:clamp(.86rem,1.45vw,1.12rem);font-weight:700;line-height:1;overflow:hidden}.tape-machine__cassette-window{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 72%, transparent);width:78%;height:31%;position:absolute;top:45%;left:11%;overflow:hidden}.tape-machine__cassette-loop-path{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tape-machine__cassette-loop-track,.tape-machine__cassette-loop-flow{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.tape-machine__cassette-loop-track{stroke:color-mix(in srgb, var(--ink) 68%, transparent);stroke-width:1.25px}.tape-machine__cassette-loop-flow{stroke:color-mix(in srgb, var(--cassette-mark) 78%, var(--ink));stroke-width:1.5px;stroke-dasharray:3 7;stroke-dashoffset:0;opacity:0;animation:.72s linear infinite paused tape-machine-loop-flow}.tape-machine__physical-cassette[data-phase=PLAYING] .tape-machine__cassette-loop-flow,.tape-machine__physical-cassette[data-recording=true] .tape-machine__cassette-loop-flow{opacity:.9;animation-play-state:running}.tape-machine__cassette-reel{z-index:2;aspect-ratio:1;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.tape-machine__cassette-reel--left{width:38%;top:50%;left:4%}.tape-machine__cassette-reel--right{width:19%;top:50%;right:8%}.tape-machine__cassette-pack{border:1px solid color-mix(in srgb, var(--ink) 48%, transparent);background:radial-gradient(circle, transparent 0 23%, color-mix(in srgb, var(--ink) 12%, transparent) 24% 67%, transparent 68%), repeating-radial-gradient(circle, transparent 0 3px, color-mix(in srgb, var(--ink) 16%, transparent) 4px 5px);border-radius:50%;position:absolute;inset:0}.tape-machine__cassette-hub{z-index:3;aspect-ratio:1;border:1px solid var(--line-strong);background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--cassette-mark) 72%, var(--ink)) 0deg 10deg, transparent 10deg 48deg), var(--surface);border-radius:50%;place-items:center;display:grid;position:relative}.tape-machine__cassette-reel--loop-pack .tape-machine__cassette-hub{width:38%}.tape-machine__cassette-reel--guide .tape-machine__cassette-hub{width:74%}.tape-machine__cassette-hub>i{aspect-ratio:1;border:1px solid var(--line-strong);background:var(--tm-panel);border-radius:50%;width:34%;display:block}.tape-machine__physical-cassette[data-recording=true] .tape-machine__cassette-label{border-color:var(--accent)}.tape-machine__cassette-head-window{border-top:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 88%, transparent);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);grid-template-columns:repeat(3,1fr);align-items:center;gap:.32rem;width:46%;height:13%;padding:.14rem .52rem .06rem;display:grid;position:absolute;bottom:4%;left:27%}.tape-machine__cassette-head-window>span{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 8%, transparent);justify-self:center;width:.42rem;height:.24rem}.tape-machine__cassette-stage .tape-machine__controls--deck{grid-area:1/3;grid-template-rows:repeat(2,2.65rem);grid-template-columns:repeat(5,minmax(0,1fr));place-self:center stretch;gap:.28rem;width:100%;max-width:29rem;margin:0;display:grid}.tape-machine__cassette-stage .tape-machine__controls--deck button{min-width:0;min-height:0;padding-inline:.35rem}.tape-machine__cassette-stage .tape-machine__controls--deck [data-rewind]{grid-area:1/1}.tape-machine__cassette-stage .tape-machine__controls--deck [data-play]{grid-area:1/2/auto/span 2}.tape-machine__cassette-stage .tape-machine__controls--deck [data-fast-forward]{grid-area:1/4}.tape-machine__cassette-stage .tape-machine__controls--deck [data-record]{grid-area:1/5}.tape-machine__cassette-stage .tape-machine__controls--deck [data-stop]{grid-area:2/1/auto/span 3}.tape-machine__cassette-stage .tape-machine__controls--deck [data-pause]{grid-area:2/4/auto/span 2}.tape-machine__cassette-stage .tape-machine__slot-actions--deck{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--tm-panel) 96%, transparent);grid-area:1/1;align-self:center;place-items:center;width:3.4rem;min-width:0;height:6.5rem;margin:0;display:grid;overflow:hidden}.tape-machine__cassette-stage .tape-machine__slot-actions--deck>span{display:none}.tape-machine .tape-machine__cassette-stage .tape-machine__slot-actions--deck .tape-machine__eject{background:0 0;border:0;place-content:center;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:.55rem .3rem;display:grid}.tape-machine .tape-machine__cassette-stage .tape-machine__slot-actions--deck .tape-machine__eject:before{margin:0}.tape-machine .tape-machine__cassette-stage .tape-machine__slot-actions--deck .tape-machine__eject:after{justify-self:center;margin:0}.tape-machine .tape-machine__cassette-stage .tape-machine__slot-actions--deck .tape-machine__eject:hover:not(:disabled),.tape-machine .tape-machine__cassette-stage .tape-machine__slot-actions--deck .tape-machine__eject:focus-visible:not(:disabled){background:color-mix(in srgb, var(--tm-panel) 88%, var(--accent-2) 12%);border:0}.tape-machine .tape-machine__cassette-stage .tape-machine__slot-actions--deck .tape-machine__eject:active:not(:disabled){box-shadow:inset 0 -.18rem 0 color-mix(in srgb, var(--accent-2) 52%, transparent)}@keyframes tape-machine-loop-flow{to{stroke-dashoffset:-20px}}@media (width<=1040px){.tape-machine__cassette-stage{grid-template-columns:3.25rem auto minmax(17rem,1fr);width:min(100%,52rem)}.tape-machine__cassette-empty,.tape-machine__physical-cassette{width:clamp(12.5rem,24vw,15.5rem)}.tape-machine__cassette-stage .tape-machine__controls--deck{grid-template-rows:repeat(2,2.45rem)}}@media (width<=780px){.tape-machine__slot{grid-template-columns:1fr;width:100%;min-height:0}.tape-machine__cassette-stage{grid-template-rows:auto auto;grid-template-columns:3.1rem minmax(0,1fr);justify-items:center;gap:.5rem;width:100%;min-height:0}.tape-machine__cassette-empty,.tape-machine__physical-cassette{grid-area:1/2;width:min(100%,16.5rem)}.tape-machine__cassette-stage .tape-machine__slot-actions--deck{grid-area:1/1;height:6.2rem}.tape-machine__cassette-stage .tape-machine__controls--deck{grid-area:2/1/auto/span 2;width:100%;max-width:none}}@media (width<=520px){.tape-machine__cassette-stage .tape-machine__controls--deck{grid-template-rows:repeat(3,2.4rem);grid-template-columns:repeat(2,minmax(0,1fr))}.tape-machine__cassette-stage .tape-machine__controls--deck [data-rewind]{grid-area:1/1}.tape-machine__cassette-stage .tape-machine__controls--deck [data-play]{grid-area:1/2}.tape-machine__cassette-stage .tape-machine__controls--deck [data-fast-forward]{grid-area:2/1}.tape-machine__cassette-stage .tape-machine__controls--deck [data-record]{grid-area:2/2}.tape-machine__cassette-stage .tape-machine__controls--deck [data-stop]{grid-area:3/1}.tape-machine__cassette-stage .tape-machine__controls--deck [data-pause]{grid-area:3/2}}
