@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-vietnamese-400-normal-D0VnvwZ9.woff2) format("woff2"),url(./vt323-vietnamese-400-normal-D_5Q7Vcv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-ext-400-normal-iUdYUaX4.woff2) format("woff2"),url(./vt323-latin-ext-400-normal-DqOq58ri.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(./vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(./space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(./space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(./space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(./space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(./space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(./space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.tapedeck{--td-accent: var(--media-accent-color, #ff5a2c);--td-accent-text: var(--media-accent-text-color, #1a0a04);--td-radius: var(--media-border-radius, 14px);--td-font: var(--media-font-family, "Space Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace);--td-u: var(--media-scale-unit, 16px);--td-plate: #1d1b19;--td-plate-2: #2a2724;--td-ink: #f1e7cf;--td-ink-dim: #a89f8a;--td-lcd-bg: #1a1406;--td-lcd: #ffb52e;--td-key-size: 44px;position:relative;display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;isolation:isolate;container-type:inline-size;background:#000;border-radius:var(--td-radius);color:var(--td-ink);font-family:var(--td-font);font-size:var(--td-u);outline:none}.tapedeck:fullscreen{border-radius:0;aspect-ratio:auto}.tapedeck:focus-visible{outline:3px solid var(--td-accent);outline-offset:-3px}.tapedeck-media,.tapedeck video{display:block;width:100%;height:100%;object-fit:var(--media-object-fit, contain);object-position:var(--media-object-position, 50% 50%)}.td-scan{position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,rgb(0 0 0 / .1) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}.td-osd{position:absolute;z-index:3;top:6%;left:4%;pointer-events:none;font-family:"VT323",var(--td-font);font-size:clamp(22px,5.2cqi,46px);line-height:1;letter-spacing:.06em;color:#fff;padding:.12em .4em 0;background:#0000009e;border-radius:4px;text-shadow:2px 0 0 rgb(255 0 60 / .55),-2px 0 0 rgb(0 220 255 / .55);opacity:0}.td-osd-text:before{content:""}@keyframes td-osd{0%,70%{opacity:1}to{opacity:0}}.tapedeck:has(media-play-button[data-started]:not([data-paused]):not([data-ended])) .td-osd{animation:td-osd 1.8s steps(1,end) both}.tapedeck:has(media-play-button[data-started]:not([data-paused]):not([data-ended])) .td-osd-text:before{content:"▶ PLAY"}@keyframes td-osd-pause{0%,to{opacity:1}}.tapedeck:has(media-play-button[data-started][data-paused]:not([data-ended])) .td-osd{animation:td-osd-pause 1s both;opacity:1}.tapedeck:has(media-play-button[data-started][data-paused]:not([data-ended])) .td-osd-text:before{content:"❚❚ PAUSE"}.tapedeck:has(media-play-button[data-ended]) .td-osd{opacity:1;animation:none}.tapedeck:has(media-play-button[data-ended]) .td-osd-text:before{content:"■ END"}.td-buffering{position:absolute;inset:0;z-index:4;display:grid;place-items:center;pointer-events:none}.td-reels{display:none;flex-direction:column;align-items:center;gap:6px;padding:14px 18px;background:#12100ee0;border:2px solid var(--td-ink);border-radius:10px;font-family:"VT323",var(--td-font);font-size:22px;letter-spacing:.12em;color:var(--td-ink)}.td-buffering[data-visible] .td-reels{display:flex}.td-reels svg{width:44px;height:44px;fill:none;stroke:var(--td-accent);stroke-width:3;stroke-linecap:round;animation:td-spin 1.2s linear infinite}@keyframes td-spin{to{rotate:360deg}}.td-controls{position:absolute;inset:0;z-index:5;display:block;pointer-events:none}.td-backdrop{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgb(0 0 0 / .55),transparent 45%);transition:opacity .3s}.td-backdrop:not([data-visible]){opacity:0}.td-content{position:absolute;inset:auto 0 0;display:block;padding:0 clamp(8px,2cqi,16px) clamp(8px,2cqi,16px);pointer-events:none;transition:opacity .25s,translate .25s}.td-content:not([data-visible]):not(:has(:focus-visible)){opacity:0;translate:0 8px;visibility:hidden;transition:opacity .25s,translate .25s,visibility 0s .25s}.td-deck{pointer-events:auto;padding:4px 12px 10px;background:linear-gradient(to bottom,rgb(255 255 255 / .06),transparent 30%),var(--td-plate);border:2px solid #0b0a09;border-radius:calc(var(--td-radius) - 2px);box-shadow:inset 0 1px #ffffff1f,inset 0 0 0 1px #3d3a35,0 6px 18px #0000008c}.td-seek{position:relative;display:flex;align-items:center;height:var(--td-key-size);cursor:pointer;touch-action:none;border-radius:6px}.td-track{position:relative;display:block;width:100%;height:14px;overflow:hidden;border-radius:3px;background:repeating-linear-gradient(to right,transparent 0 11px,rgb(241 231 207 / .22) 11px 12px),#0d0c0b;box-shadow:inset 0 2px 3px #000c,0 1px #ffffff14}.td-buffer,.td-fill{position:absolute;inset-block:0;left:0;display:block;border-radius:inherit}.td-buffer{width:var(--media-slider-buffer);background:#f1e7cf38}.td-fill{width:var(--media-slider-fill);background:repeating-linear-gradient(115deg,rgb(0 0 0 / .16) 0 4px,transparent 4px 8px),var(--td-accent);transition:width .2s linear}.td-seek[data-dragging] .td-fill{width:var(--media-slider-pointer);transition:none}.td-head{position:absolute;top:50%;left:var(--media-slider-fill);display:block;width:12px;height:30px;translate:-50% -50%;background:linear-gradient(to right,#d9ceb2,var(--td-ink) 40%,#d9ceb2);border:2px solid #0b0a09;border-radius:3px;box-shadow:0 2px 4px #0009;transition:scale .15s}.td-head:after{content:"";position:absolute;inset:5px 3px;background:var(--td-accent);border-radius:1px}.td-seek[data-dragging] .td-head{left:var(--media-slider-pointer);scale:1.1 1.1}.td-preview{position:absolute;bottom:100%;left:var(--media-slider-pointer);padding:2px 8px;translate:-50% -2px;font-family:"VT323",var(--td-font);font-size:22px;line-height:1.1;color:var(--td-lcd);white-space:nowrap;pointer-events:none;background:var(--td-lcd-bg);border:2px solid #0b0a09;border-radius:4px;opacity:0;transition:opacity .12s}.td-seek[data-pointing] .td-preview,.td-seek[data-dragging] .td-preview,.td-seek:focus-visible .td-preview{opacity:1}.td-keys{display:flex;align-items:center;gap:8px;margin-top:2px}.td-transport,.td-volume{display:flex;align-items:center;gap:8px}.td-spacer{flex:1 1 0;min-width:0}.td-key{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:var(--td-key-size);height:var(--td-key-size);padding:0 10px;margin:0;font:700 13px/1 var(--td-font);letter-spacing:.04em;color:var(--td-ink);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(to bottom,#45403a,#2b2824);border:2px solid #0b0a09;border-radius:8px;box-shadow:inset 0 1px #ffffff38,0 4px #0b0a09,0 5px 6px #00000080;translate:0 -2px;transition:translate .06s,box-shadow .06s,background-color .15s}.td-key svg{width:20px;height:20px;fill:currentColor;flex:none}.td-key:hover{background:linear-gradient(to bottom,#524c44,#332f2a)}.td-key:active,.td-key[data-pressed]{translate:0 2px;box-shadow:inset 0 2px 5px #000000b3,0 0 #0b0a09}.td-key-cap{font-size:11px;font-weight:700}.td-key--play{min-width:calc(var(--td-key-size) + 16px);background:linear-gradient(to bottom,color-mix(in srgb,var(--td-accent) 100%,#fff 18%),var(--td-accent));color:var(--td-accent-text)}.td-key--play:hover{background:linear-gradient(to bottom,color-mix(in srgb,var(--td-accent) 100%,#fff 28%),color-mix(in srgb,var(--td-accent) 100%,#fff 6%))}.td-key--play svg{width:24px;height:24px}.td-key--play:not([data-paused]){translate:0 2px;box-shadow:inset 0 2px 6px #00000073,0 0 #0b0a09}.td-key--play .i-pause,.td-key--play .i-replay{display:none}.td-key--play:not([data-paused]) .i-play{display:none}.td-key--play:not([data-paused]) .i-pause{display:block}.td-key--play[data-ended] .i-play,.td-key--play[data-ended] .i-pause{display:none}.td-key--play[data-ended] .i-replay{display:block}.td-volume .i-vol-low,.td-volume .i-vol-off{display:none}.td-volume media-mute-button[data-volume-level=off] .i-vol-high,.td-volume media-mute-button[data-volume-level=low] .i-vol-high,.td-volume media-mute-button[data-volume-level=medium] .i-vol-high{display:none}.td-volume media-mute-button[data-volume-level=low] .i-vol-low,.td-volume media-mute-button[data-volume-level=medium] .i-vol-low{display:block}.td-volume media-mute-button[data-volume-level=off] .i-vol-off,.td-volume media-mute-button[data-muted] .i-vol-off{display:block}.td-volume media-mute-button[data-muted] .i-vol-high,.td-volume media-mute-button[data-muted] .i-vol-low{display:none}.td-key .i-fs-exit,.td-key[data-fullscreen] .i-fs-enter{display:none}.td-key[data-fullscreen] .i-fs-exit{display:block}.td-key--speed{min-width:56px}.td-key--speed:after{content:attr(data-rate) "×";font-size:13px}.td-key[data-hidden],.td-key[hidden]{display:none}.td-lcd{display:inline-flex;align-items:baseline;gap:6px;min-width:0;padding:3px 10px 2px;font-family:"VT323",var(--td-font);font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--td-lcd);background:var(--td-lcd-bg);border:2px solid #0b0a09;border-radius:6px;box-shadow:inset 0 2px 4px #000c,0 1px #ffffff1a;text-shadow:0 0 6px rgb(255 181 46 / .55);white-space:nowrap}.td-time{color:inherit}.td-time--dim,.td-sep{opacity:.62}.td-vol{position:relative;display:flex;align-items:center;width:96px;height:var(--td-key-size);cursor:pointer;touch-action:none;border-radius:6px}.td-vtrack{position:relative;display:block;width:100%;height:8px;overflow:hidden;border-radius:2px;background:repeating-linear-gradient(to right,transparent 0 7px,rgb(241 231 207 / .25) 7px 8px),#0d0c0b;box-shadow:inset 0 2px 3px #000c}.td-vfill{position:absolute;inset-block:0;left:0;display:block;width:var(--media-slider-fill);background:var(--td-ink)}.td-vknob{position:absolute;top:50%;left:var(--media-slider-fill);display:block;width:14px;height:22px;translate:-50% -50%;background:linear-gradient(to bottom,#54504a,#2f2c28);border:2px solid #0b0a09;border-radius:3px;box-shadow:inset 0 1px #ffffff40,0 2px 3px #00000080}.td-vknob:after{content:"";position:absolute;inset:2px 4px;background:var(--td-ink)}.td-key:focus-visible,.td-seek:focus-visible,.td-vol:focus-visible,.td-lcd [role=button]:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--td-accent)}.td-key:focus-visible{translate:0 -2px}.td-error{position:absolute;inset:0;z-index:8;display:grid;align-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;color:#fff;background:#1030d8;font-family:"VT323",var(--td-font)}.td-error:not([data-open]){display:none}.td-error-tag{margin:0;padding:0 10px;font-size:clamp(22px,5cqi,40px);letter-spacing:.2em;color:#1030d8;background:#fff}.td-error-title{margin:0;font-size:clamp(22px,4.6cqi,36px);letter-spacing:.08em}.td-error-text{margin:0;max-width:40ch;font-size:clamp(18px,3.2cqi,26px);line-height:1.15}.td-error-close{margin-top:8px}@container (max-width: 560px){.td-vol{display:none}.td-keys,.td-transport,.td-volume{gap:6px}}@container (max-width: 460px){.td-key--speed,.td-sep,.td-time--dim{display:none}.td-lcd{font-size:24px;padding-inline:8px}}@container (max-width: 390px){.td-transport media-seek-button{display:none}.td-deck{padding-inline:8px}}.tapedeck:fullscreen{--td-u: calc(var(--media-scale-unit, 16px) * 1.25)}.tapedeck:fullscreen .td-key{--td-key-size: 52px}@media(prefers-reduced-motion:reduce){.tapedeck *,.tapedeck *:before,.tapedeck *:after{animation:none!important;transition-duration:0s!important;transition-delay:0s!important}.td-osd{opacity:0}.tapedeck:has(media-play-button[data-started][data-paused]:not([data-ended])) .td-osd,.tapedeck:has(media-play-button[data-ended]) .td-osd{opacity:1}.td-reels svg{animation:none}}@media(forced-colors:active){.td-deck,.td-key,.td-lcd,.td-preview{border-color:CanvasText;forced-color-adjust:none;background:Canvas;color:CanvasText}.td-fill,.td-vfill{background:Highlight}}:root{color-scheme:dark;--bg: #12100e;--ink: #f1e7cf;--dim: #a89f8a;--accent: #ff5a2c}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(1200px 500px at 50% -10%,#2a2118 0%,transparent 60%),var(--bg);color:var(--ink);font:400 16px/1.6 Space Mono,ui-monospace,Menlo,Consolas,monospace}.page{width:min(100% - 32px,960px);margin-inline:auto;padding:40px 0 64px}.page-head{margin-bottom:24px}.page-kicker{margin:0 0 4px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.page-title{margin:0;font:400 clamp(48px,12vw,96px) / .9 "VT323",monospace;letter-spacing:.06em}.page-title span{color:var(--accent)}.page-lede{margin:8px 0 0;color:var(--dim)}.tapedeck-player{display:block}.page-notes{margin-top:36px;max-width:68ch;color:var(--dim)}.page-notes h2{margin:0 0 8px;font:400 28px VT323,monospace;letter-spacing:.12em;color:var(--ink)}.page-notes p{margin:0 0 12px}.page-notes code{color:var(--ink)}.page-keys{font-size:13px}kbd{display:inline-block;min-width:1.9em;margin:0 2px;padding:0 6px;text-align:center;color:var(--ink);background:#2a2724;border:1px solid #0b0a09;border-radius:4px;box-shadow:0 2px #0b0a09}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
