@font-face{font-family:Silkscreen;font-weight:400;font-display:block;src:url(data:font/woff2;base64,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) format("woff2")}@font-face{font-family:Silkscreen;font-weight:700;font-display:block;src:url(data:font/woff2;base64,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) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400 600;font-display:swap;src:url(/assets/JetBrainsMono-Db4Uuiha.woff2) format("woff2")}:root{--shadow: #060609;--bg: #0B0B10;--bg-bar: #0F0F15;--panel: #13121A;--panel-2: #1C1A26;--line: #262532;--line-2: #34323F;--off: #24232E;--dim: #4A4858;--text: #ECE9F5;--muted: #A6A3B6;--faint: #868399;--accent: #FF5CCB;--accent-ink: #0B0B10;--accent-deep: #4A1A3C;--accent-shade: #D63FA6;--accent-low: #B4318A;--accent-dim: #7A2A62;--rec: #FF5340;--warn: #FFB547;--ok: #8FE3A6;--u: 4px;--stroke: 2px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--font-pixel: "Silkscreen", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--p1: 16px;--p2: 24px;--p3: 32px;--p4: 48px;--p5: 72px;--p6: 112px;--t1: 14px;--t2: 16px;--t3: 20px;--tick: 80ms;--beat: .16s;--bar: .24s;--step: steps(4, end)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}body{font:var(--t2)/1.4 var(--font-mono);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}h1,h2,h3,p{margin:0;font-weight:400}::selection{background:var(--accent);color:var(--accent-ink)}[hidden]{display:none!important}[data-icon],[data-logo]{display:inline-block;flex:none;line-height:0}[data-icon] svg,[data-logo] svg{display:block;width:100%;height:100%;image-rendering:pixelated}[data-icon]{width:16px;height:16px}[data-icon].x3{width:24px;height:24px}[data-icon].x4{width:32px;height:32px}[data-icon].x8{width:64px;height:64px}.logo{display:inline-flex;align-items:center;color:inherit;text-decoration:none}.logo [data-logo]{height:32px;width:136px}.logo.x3 [data-logo]{height:48px;width:204px}.logo.x6 [data-logo]{height:96px;width:408px}.logo-anim{position:relative;display:inline-block;flex:none;width:136px;height:32px;line-height:0}.logo-anim img{position:absolute;left:-8px;top:-10px;width:162px;height:46px;max-width:none;image-rendering:pixelated;pointer-events:none}[data-logo=mark]{width:32px;height:32px}.label{display:flex;align-items:center;gap:var(--s2);font:var(--p1)/1 var(--font-pixel);color:var(--muted);letter-spacing:0;text-transform:uppercase}.label .n{color:var(--faint)}.label .grow{flex:1}.panel{background:var(--panel);border:var(--stroke) solid var(--line)}.led{display:flex;align-items:center;gap:var(--s2);font:var(--p1)/1 var(--font-pixel);white-space:nowrap}.led>i{width:12px;height:12px;background:var(--off);flex:none}.led>b{font-weight:400;color:var(--muted)}.led>span{color:var(--faint)}.led.on>i{background:var(--ok);box-shadow:0 0 0 2px #8fe3a638}.led.on>span{color:var(--text)}.led.warn>i{background:var(--warn);box-shadow:0 0 0 2px #ffb54738;animation:blink .8s steps(2) infinite}.led.warn>span{color:var(--warn)}.led.hot>i{background:var(--accent);box-shadow:0 0 0 2px #ff5ccb47;animation:blink .4s steps(2) infinite}.led.hot>span{color:var(--accent)}.chip{display:inline-block;padding:var(--s1) var(--s2);font:var(--p1)/1 var(--font-pixel);background:var(--warn);color:var(--accent-ink);white-space:nowrap}.key{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);cursor:pointer;user-select:none;font:var(--p1)/1 var(--font-pixel);color:var(--text);background:var(--panel-2);border:var(--stroke) solid var(--line-2);box-shadow:0 4px 0 var(--shadow);transform:translateY(0);transition:transform var(--tick) steps(2),box-shadow var(--tick) steps(2),border-color var(--tick) steps(1),background var(--tick) steps(1)}.key kbd{font:inherit;color:var(--accent-ink);background:var(--muted);padding:2px 4px;min-width:20px;text-align:center}.key:hover{border-color:var(--muted)}.key:active,.key.down{transform:translateY(4px);box-shadow:0 0 0 var(--shadow);background:var(--panel)}.key.sent{border-color:var(--accent)}.key.sent kbd{background:var(--accent)}.key.fail{border-color:var(--warn);animation:nudge var(--bar) steps(4)}.key.fail kbd{background:var(--warn)}.key:disabled{cursor:default;color:var(--faint);box-shadow:0 2px 0 var(--shadow)}.fader{display:grid;grid-template-columns:1fr auto;gap:var(--s1) var(--s2);align-items:center;font:var(--p1)/1 var(--font-pixel);color:var(--muted)}.fader output{color:var(--text);font-variant-numeric:tabular-nums}.fader input[type=range]{grid-column:1 / -1;-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;cursor:pointer;background:transparent;--v: 0%}.fader input[type=range]::-webkit-slider-runnable-track{height:8px;background:linear-gradient(to right,var(--accent) var(--v),var(--off) var(--v))}.fader input[type=range]::-moz-range-track{height:8px;background:var(--off)}.fader input[type=range]::-moz-range-progress{height:8px;background:var(--accent)}.fader input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:24px;margin-top:-8px;background:var(--text);border:var(--stroke) solid var(--bg);box-shadow:0 0 0 var(--stroke) var(--text)}.fader input[type=range]::-moz-range-thumb{width:8px;height:20px;border-radius:0;background:var(--text);border:var(--stroke) solid var(--bg)}.fader input[type=range]:active::-webkit-slider-thumb{background:var(--accent);box-shadow:0 0 0 var(--stroke) var(--accent)}.stamp{font:var(--p4)/1 var(--font-pixel);padding:var(--s2) var(--s4);border:4px solid currentColor;background:var(--bg);box-shadow:4px 4px 0 var(--shadow);white-space:nowrap}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);text-align:center;color:var(--faint);pointer-events:none}.empty b{font:var(--p1)/1 var(--font-pixel);font-weight:400;color:var(--muted)}.empty span{font-size:var(--t1)}:focus-visible{outline:var(--stroke) solid var(--accent);outline-offset:var(--stroke)}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes popin{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@keyframes nudge{0%{transform:translate(-4px)}25%{transform:translate(4px)}50%{transform:translate(-2px)}75%{transform:translate(2px)}to{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}html{scrollbar-color:var(--line-2) var(--bg);scrollbar-width:thin}h2,h3{font-size:inherit}.app{height:100vh;min-height:560px;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.plate{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s5);padding:var(--s3) var(--s5);background:var(--bg-bar);border-bottom:var(--stroke) solid var(--line)}.model{font:var(--p1)/1 var(--font-pixel);color:var(--faint);padding-left:var(--s4);border-left:var(--stroke) solid var(--line-2);margin-left:calc(var(--s2) * -1)}.leds{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}.led.online>i{background:var(--ok);box-shadow:0 0 0 2px #8fe3a638}.led.online>span{color:var(--text)}.led.active>i{background:var(--accent);box-shadow:0 0 0 2px #ff5ccb47;animation:blink .4s steps(2) infinite}.led.active>span{color:var(--accent)}.spacer{flex:1}.bypass-chip,.replay-chip,.sim-chip{display:none}.app[data-replay=true] .replay-chip,.app[data-bypass=true] .bypass-chip,.app[data-sim] .sim-chip{display:inline-block}.meters{display:grid;grid-template-columns:auto auto auto auto;align-items:center;gap:var(--s1) var(--s2)}.meter-label{font:var(--p1)/1 var(--font-pixel);color:var(--muted)}.segs{display:flex;gap:2px}.segs i{width:8px;height:20px;background:var(--off)}.segs i.g{background:var(--ok)}.segs i.y{background:var(--warn)}.segs i.r{background:var(--rec)}.segs i.hold{outline:2px solid var(--text);outline-offset:-2px}.segs.small i{height:8px}.segs.small i.hold{outline:0;background:var(--text)}.db{min-width:72px;text-align:right;font-size:var(--t1);font-weight:600;font-variant-numeric:tabular-nums}.clip{font:var(--p1)/1 var(--font-pixel);padding:2px var(--s2);color:var(--faint);border:var(--stroke) solid var(--line-2)}.clip.on{background:var(--rec);color:var(--accent-ink);border-color:var(--rec)}.deck{display:grid;grid-template-columns:minmax(0,1fr) 304px;grid-template-rows:minmax(0,1fr) minmax(0,2fr);gap:var(--s5);padding:var(--s5);min-height:0;transition:opacity var(--beat) steps(2)}.loop{grid-column:1;grid-row:1}.tone{grid-column:1;grid-row:2}.side{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:var(--s4);min-height:0}.mod{display:flex;flex-direction:column;gap:var(--s2);min-width:0;min-height:0}.label-r{color:var(--faint)}.app[data-conn=stale] .deck,.app[data-conn=stale] .meters{opacity:.5}.loop-row{flex:1;display:flex;gap:var(--s4);min-height:0}.loop-state{flex:0 0 264px;padding:var(--s4) var(--s5);display:flex;flex-direction:column;justify-content:center;gap:var(--s2)}.loop-word{display:flex;align-items:center;gap:var(--s3);font:var(--p4)/1 var(--font-pixel);color:var(--muted)}.loop-dot{width:24px;height:24px;background:currentColor;flex:none}.loop-len{font-size:var(--t3);font-weight:600;font-variant-numeric:tabular-nums}.hint{font-size:var(--t1);color:var(--muted)}.app[data-loop=recording] .loop-word{color:var(--rec)}.app[data-loop=recording] .loop-dot{animation:blink .8s steps(2) infinite}.app[data-loop=recording] .loop-state{border-color:var(--rec)}.app[data-loop=playing] .loop-word{color:var(--accent)}.wave{flex:1;min-width:0;min-height:96px;position:relative;overflow:hidden}.wave canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.wave-empty{position:absolute;inset:0;display:none}.app[data-loop=idle] .wave-empty{display:flex}.app[data-boot=true] .wave-empty{display:none}.wave:has(.juice-stamp) .wave-empty{visibility:hidden}.wave-note{position:absolute;left:var(--s3);top:var(--s2);font-size:var(--t1);color:var(--muted)}.fx-zone{flex:1;min-width:0;min-height:0;position:relative;display:flex;flex-direction:column}.cards{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);min-height:0;transition:opacity var(--bar) var(--step)}.card{background:var(--panel);border:var(--stroke) solid var(--line-2);box-shadow:4px 4px 0 var(--shadow);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);min-height:0;min-width:0;transition:border-color var(--beat) steps(2),box-shadow var(--beat) steps(2)}.card>header{display:flex;justify-content:space-between;align-items:center;gap:var(--s2)}.card h3{font:var(--p3)/1 var(--font-pixel)}.tag{font:var(--p1)/1 var(--font-pixel);color:var(--accent-ink);background:var(--accent);padding:var(--s1) var(--s2);visibility:hidden}.card.target{border-color:var(--accent)}.card.target .tag{visibility:visible}.readout{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s1) var(--s4)}.pct{font:var(--p6)/1 var(--font-pixel);font-variant-numeric:tabular-nums;transition:color var(--tick) steps(1)}.sub{font-size:var(--t2);color:var(--muted);text-align:right;white-space:nowrap}.blocks{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px;margin-top:auto}.blocks i{height:16px;background:var(--off);transition:background var(--tick) steps(1)}.blocks i.on{background:var(--text)}.card.target .blocks i.on{background:var(--accent)}.card.live{box-shadow:0 0 0 4px #ff5ccb47,4px 4px 0 var(--shadow)}.card.live .pct{color:var(--accent)}.engaged{display:none!important}.engaged-text{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--s2);min-width:0}.engaged-name{font:var(--p4)/1 var(--font-pixel);color:var(--accent)}.engaged-pct{font:144px/1 var(--font-pixel);font-variant-numeric:tabular-nums}.tower{width:112px;display:flex;flex-direction:column-reverse;gap:4px}.tower i{flex:1;min-height:4px;background:var(--off);transition:background var(--tick) steps(1)}.tower i.on{background:var(--accent)}.tower i.top{background:var(--text)}.bypass-stamp{grid-area:1 / 1;place-self:center;z-index:2;display:none;flex-direction:column;align-items:center;gap:var(--s2);color:var(--warn);border:4px solid var(--warn);padding:var(--s3) var(--s5) var(--s4);background:var(--bg);box-shadow:4px 4px 0 var(--shadow)}.bypass-stamp b{font:var(--p5)/1 var(--font-pixel);font-weight:400}.bypass-stamp span{font-size:var(--t2);color:var(--muted)}.app[data-bypass=true] .bypass-stamp{display:flex;animation:popin var(--bar) var(--step)}.app[data-bypass=true] .cards,.app[data-bypass=true] .engaged{opacity:.25}.hand-mod{flex:1 1 0}.hand{position:relative;flex:1;min-height:136px}.hand canvas{position:absolute;inset:0;width:100%;height:100%;background:var(--bg)}.hand[data-hand=engaged]{border-color:var(--accent)}.hand-state{color:var(--faint)}.hand-empty{position:absolute;inset:0;display:none;padding:var(--s3)}.hand[data-hand=off] .hand-empty,.hand[data-hand=none] .hand-empty{display:flex}.hand[data-hand=off] .if-none,.hand[data-hand=none] .if-off{display:none}.coach{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);min-height:96px;transition:border-color var(--beat) steps(2)}.riff-socket{width:72px;height:72px;flex:none}#coachDock[data-away=true] .riff-socket{outline:var(--stroke) dashed var(--line-2);outline-offset:-2px}.coach-text{display:flex;flex-direction:column;gap:var(--s1);min-width:0}.coach-text b{font:var(--p1)/1.2 var(--font-pixel);font-weight:400;color:var(--accent)}.coach-text span{font-size:var(--t1);color:var(--muted)}#coachDock[data-state=asleep] .coach-text b{color:var(--faint)}#coachDock:not([data-state=asleep]) .coach{border-color:var(--accent)}.preview-tag{display:none;color:var(--warn)}#coachDock[data-preview=true] .preview-tag{display:inline}.manual{display:block;flex:none}.manual summary{list-style:none;cursor:pointer;padding:var(--s3);background:var(--panel);border:var(--stroke) solid var(--line);transition:border-color var(--tick) steps(1)}.manual summary::-webkit-details-marker{display:none}.manual summary:hover{border-color:var(--muted)}.twist{width:8px;height:8px;background:linear-gradient(var(--muted),var(--muted)) center / 8px 2px no-repeat,linear-gradient(var(--muted),var(--muted)) center / 2px 8px no-repeat}.manual[open] .twist{background:linear-gradient(var(--muted),var(--muted)) center / 8px 2px no-repeat}.manual-body{padding:var(--s3);display:flex;flex-direction:column;gap:var(--s4);background:var(--panel);border:var(--stroke) solid var(--line);border-top:0;animation:reveal var(--beat) steps(3)}.manual .row{display:flex;gap:var(--s2);padding-bottom:4px}.manual .key{flex:1}@keyframes reveal{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s1) var(--s5);padding:var(--s2) var(--s5);border-top:var(--stroke) solid var(--line);background:var(--bg-bar);font-size:var(--t1);color:var(--muted)}.keys{display:flex;align-items:center;font:var(--p1)/1 var(--font-pixel);color:var(--faint)}.keys kbd{font:inherit;color:var(--text);background:var(--off);padding:2px var(--s2);margin:0 var(--s2) 0 var(--s4)}.app[data-boot=true] .blocks i,.app[data-boot=true] .segs i{animation:scan 1.6s steps(1) infinite;animation-delay:calc(var(--i, 0) * 60ms)}.app[data-boot=true] .pct,.app[data-boot=true] .loop-len{color:var(--faint)}@keyframes scan{0%{background:var(--dim)}12%{background:var(--off)}to{background:var(--off)}}@media(max-width:1440px){.model{display:none}.app[data-sim] .plate .logo [data-logo]{width:32px;overflow:hidden}.app[data-sim] .plate .logo [data-logo] svg{width:136px}.app[data-sim] .plate,.app[data-sim] .leds{column-gap:var(--s4)}}@media(max-width:1340px){.plate .logo [data-logo]{width:32px;overflow:hidden}.plate .logo [data-logo] svg{width:136px}.plate,.leds{column-gap:var(--s4)}.app[data-bypass=true] .bypass-chip{display:none}}@media(max-width:1080px){.app{height:auto;min-height:100vh}.deck{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.loop,.tone,.side{grid-column:1;grid-row:auto}.loop-row{min-height:200px}.fx-zone{min-height:340px}.side{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.side>.mod{flex:1 1 280px}.hand{flex:none;aspect-ratio:4 / 3}.spacer{display:none}}@media(max-width:700px){.plate,.deck,.foot{padding-left:var(--s4);padding-right:var(--s4)}.leds{gap:var(--s2) var(--s4)}.loop-row{flex-direction:column}.loop-state{flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--s2) var(--s4)}.loop-word{font-size:var(--p3)}.loop-dot{width:16px;height:16px}.wave{min-height:136px}.cards{grid-template-columns:minmax(0,1fr)}.fx-zone{min-height:0}.card{padding:var(--s4)}.pct{font-size:var(--p5)}.engaged{padding:var(--s4);gap:var(--s4);min-height:280px}.engaged-pct{font-size:var(--p5)}.tower{width:56px}.bypass-stamp b{font-size:var(--p4)}.keys{display:none}}@media(min-height:900px)and (min-width:1081px){.loop{grid-column:1 / -1}.side{grid-row:2}}@media(min-height:900px)and (min-width:1700px){.engaged-pct{font-size:200px}.engaged-name{font-size:var(--p5)}}@media(max-height:820px)and (min-width:1081px){.plate{padding-top:var(--s2);padding-bottom:var(--s2)}.deck{padding-top:var(--s3);padding-bottom:var(--s3);gap:var(--s3) var(--s4)}.loop-state{padding:var(--s3) var(--s4)}.card{padding:var(--s4);gap:var(--s2)}.pct{font-size:var(--p5)}.side{gap:var(--s3)}.coach{min-height:88px;padding:var(--s2) var(--s3)}.foot{padding-top:var(--s1);padding-bottom:var(--s1)}}.juice-hit{animation:jhit .26s steps(4)}@keyframes jhit{0%{border-color:var(--hit);box-shadow:inset 0 0 0 4px var(--hit)}50%{border-color:var(--hit);box-shadow:inset 0 0 0 2px var(--hit)}to{box-shadow:inset 0 0 0 0 var(--hit)}}.juice-stamp{position:absolute;left:calc(50% + var(--wave-left, 12px) / 2 - 6px);top:50%;z-index:3;pointer-events:none;animation:jstamp 1s steps(2) forwards;transform:translate(-50%,-50%)}@keyframes jstamp{0%{transform:translate(-50%,-50%) scale(1.35);opacity:1}10%{transform:translate(-50%,-50%) scale(.95)}16%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.loop-state{transition:border-color var(--tick) steps(1),box-shadow var(--tick) steps(1)}.loop-state.juice-beat{border-color:var(--accent);box-shadow:0 0 0 4px #ff5ccb40}.app[data-loop=playing] .loop-state.juice-beat .loop-dot{outline:4px solid var(--accent)}.juice-shake{animation:jshake .24s steps(1)}@keyframes jshake{0%{transform:translate(-4px,2px)}25%{transform:translate(4px,-2px)}50%{transform:translate(-2px,2px)}75%{transform:translate(2px)}to{transform:none}}.juice-viz{display:block;width:100%;flex:1 1 40px;min-height:40px}.engaged-text,.tower{position:relative;z-index:1}.juice-attract{position:fixed;inset:0;z-index:60;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--s6);padding:var(--s5);text-align:center;background:#0b0b10f5}.juice-attract.on{display:flex;animation:popin var(--bar) var(--step)}.ja-scan{display:flex;gap:var(--s2)}.ja-scan i{width:12px;height:12px;background:var(--off);animation:jscan 1.2s steps(1) infinite}@keyframes jscan{0%{background:var(--warn)}25%{background:var(--off)}to{background:var(--off)}}.ja-state{font:var(--p3)/1 var(--font-pixel);color:var(--warn)}.ja-how{display:grid;grid-template-columns:auto auto;gap:var(--s2) var(--s4);margin:0;text-align:left;align-items:center}.ja-how dt{font:var(--p1)/1 var(--font-pixel);color:var(--faint)}.ja-how dd{margin:0;padding:var(--s2) var(--s3);background:var(--panel);border:var(--stroke) solid var(--line-2);color:var(--text);user-select:all}@media(max-width:700px){.juice-stamp{font-size:var(--p3)}.juice-attract .logo [data-logo]{height:48px;width:204px}.ja-state{font-size:var(--p2)}.ja-how{grid-template-columns:1fr;text-align:center}.ja-how dd{font-size:var(--t1)}}@media(prefers-reduced-motion:reduce){.ja-scan i:first-child{background:var(--warn)}}.riff{position:fixed;left:0;top:0;z-index:40;width:72px;height:72px;cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent}.riff-still{position:relative;z-index:auto;cursor:default}.riff-sq{position:relative;width:100%;height:100%}.riff-px{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none}.riff-z{display:none;position:absolute;right:-8px;top:-12px;font:16px/1 var(--font-pixel);color:var(--muted);animation:riffz 2.4s steps(4) infinite}.riff[data-state=asleep] .riff-z{display:block}@keyframes riffz{0%{transform:translateY(4px);opacity:0}25%{opacity:1}to{transform:translate(8px,-12px);opacity:0}}.riff-cue{display:none;position:absolute;top:50%;width:max-content;max-width:320px;transform:translateY(-50%);padding:8px 12px;background:var(--bg);border:2px solid var(--accent);box-shadow:4px 4px 0 var(--shadow);font:600 var(--t3)/1.3 var(--font-mono);color:var(--text);cursor:default}.riff[data-cue=true] .riff-cue{display:block;animation:riffcue var(--bar) steps(3)}.riff[data-side=right] .riff-cue{left:calc(100% + 16px)}.riff[data-side=left] .riff-cue{right:calc(100% + 16px)}.riff-cue:before{content:"";position:absolute;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--accent)}.riff[data-side=right] .riff-cue:before{left:-10px}.riff[data-side=left] .riff-cue:before{right:-10px}@keyframes riffcue{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@media(prefers-reduced-motion:reduce){.riff-z,.riff[data-cue=true] .riff-cue{animation:none}}.app{grid-template-rows:auto minmax(0,1fr);position:relative}.label .n,.foot,.loop .label-r{display:none}.bar{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s6)}.bar .logo{transform:scale(1.15);transform-origin:left center}.pill{font:var(--p1)/1 var(--font-pixel);padding:var(--s2) var(--s3);border:var(--stroke) solid var(--line-2);color:var(--muted)}.pill[data-kind=ok]{color:var(--ok);border-color:#8fe3a673}.pill[data-kind=warn]{color:var(--warn);border-color:#ffb5478c}.gear{display:inline-flex;align-items:center;gap:var(--s2);background:none;border:var(--stroke) solid var(--line-2);color:var(--faint);font:var(--p1)/1 var(--font-pixel);padding:var(--s2) var(--s3);cursor:pointer}.gear:hover,.gear[aria-expanded=true]{color:var(--text);border-color:var(--text)}.gear kbd{font:inherit}.deck{grid-template-columns:minmax(0,1fr) var(--col);grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s5) var(--s6);padding:var(--s4) var(--s6) var(--s6)}.loop,.tone{grid-column:1}.coach-col{grid-column:2;grid-row:1 / span 2}.loop{grid-row:1;position:relative}.tone{grid-row:2}.label{font-size:var(--p1)}.loop-state{flex:none;align-items:flex-start;padding:var(--s5);width:calc(var(--ready-w) + 2 * var(--s5));box-sizing:border-box;--ready-w: 214px}.loop-word{font-size:48px}.loop-dot{width:24px;height:24px}.loop-len{font-size:var(--p3);font-family:var(--font-pixel);font-weight:400;margin-left:-.125em}.loop-state .hint{margin-left:-1px}.tone-row{flex:1;display:flex;flex-direction:column;min-height:0}.tone-head-bar{display:flex;align-items:center;justify-content:space-between;height:32px;margin-bottom:var(--s2);padding:0 4px;box-sizing:border-box;max-width:100%}.card .tag{display:none}.card h3{font-size:var(--p2);color:var(--muted)}.card.target h3,.card.live h3{color:var(--accent)}.sub{font-size:var(--t1)}.fx-power{position:relative;display:grid;place-items:center;align-content:center;gap:var(--s3);background:var(--panel);color:var(--text);border:4px solid var(--line-2);box-shadow:0 8px 0 var(--shadow);font:var(--p2)/1 var(--font-pixel);cursor:pointer;transition:transform var(--tick) steps(1),box-shadow var(--tick) steps(1),border-color var(--beat) steps(2)}.fx-power b{font-weight:400;font-size:var(--p3)}.fx-glyph{font:400 72px/1 var(--font-mono);color:var(--faint)}.fx-word{font-size:var(--p2);color:var(--muted)}.fx-led{position:absolute;top:var(--s4);right:var(--s4);width:16px;height:16px;background:var(--off)}.fx-power[data-on=true]{border-color:var(--accent)}.fx-power[data-on=true] .fx-glyph,.fx-power[data-on=true] .fx-word{color:var(--accent)}.fx-power[data-on=true] .fx-led{background:var(--accent);box-shadow:0 0 0 4px #ff5ccb40}.fx-power[data-on=false] .fx-word{color:var(--warn)}.fx-power:active,.fx-power.pressed{transform:translateY(6px);box-shadow:0 2px 0 var(--shadow)}.fx-power:disabled{opacity:.4;cursor:default}.app[data-bypass=true] .bypass-stamp{display:none}.app[data-bypass=true] .cards,.app[data-bypass=true] .engaged{opacity:.3}.coach-col{display:flex;flex-direction:column;gap:var(--s4);min-height:0;padding:var(--s4);background:var(--panel);border:var(--stroke) solid var(--line-2);box-shadow:4px 4px 0 var(--shadow);transition:border-color var(--beat) steps(2)}.coach-col[data-state=speaking],.coach-col[data-state=pointing],.coach-col[data-state=pleased],.coach-col[data-ask=true]{border-color:var(--accent)}.booth{display:grid;grid-template-columns:144px minmax(0,1fr);gap:var(--s4);align-items:start;min-height:168px}.booth .riff-socket{width:144px;height:144px}.say{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.spot-tag{display:none;align-self:flex-start;font:var(--p1)/1 var(--font-pixel);color:var(--warn);border:var(--stroke) solid var(--warn);padding:var(--s1) var(--s2)}.coach-col[data-scripted=true] .spot-tag{display:inline-block}.spot-cue{margin:0;font:600 30px/1.25 var(--font-mono);color:var(--text);text-wrap:pretty}.spot-cue:empty:before{content:"Riff is listening.";color:var(--faint);font-weight:400}.coach-col[data-state=asleep] .spot-cue:empty:before{content:"Riff is asleep. You can still play."}.acts{margin:0;font:600 var(--t1)/1.4 var(--font-mono);color:var(--muted)}.acts:empty{display:none}.spot-ask{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 0 var(--accent-low)}.spot-ask>b{font:400 var(--p2)/1 var(--font-pixel);animation:blink 1.4s steps(2) infinite}.spot-ask>span:not(.ask-keys){display:none}.ask-keys{display:flex;gap:var(--s2);margin-left:auto}.ask-keys .key{background:var(--accent-ink);color:var(--text);border-color:var(--accent-ink);font-size:var(--t1);padding:var(--s1) var(--s2)}.practice{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);background:var(--bg);border:var(--stroke) solid var(--line-2)}.practice header{display:flex;align-items:baseline;gap:var(--s3)}.practice header b,.p-next b,.p-read>span:first-child{font:400 var(--p1)/1 var(--font-pixel);color:var(--muted)}.practice header span{font:600 var(--t3)/1.2 var(--font-mono);color:var(--text)}.p-now{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:var(--s3);padding:var(--s3);border:var(--stroke) solid var(--accent)}.p-step{font:400 var(--p1)/1 var(--font-pixel);color:var(--accent)}.p-drill{font:600 var(--t3)/1.2 var(--font-mono);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-attempt{font:400 var(--p1)/1 var(--font-pixel);color:var(--muted)}.p-read{display:flex;align-items:baseline;gap:var(--s3)}.p-read b{font:400 var(--p3)/1 var(--font-pixel);color:var(--text);font-variant-numeric:tabular-nums}.p-read b[data-pass=true]{color:var(--accent)}.p-target{margin-left:auto;font:600 var(--t1)/1 var(--font-mono);color:var(--muted)}.p-chart{position:relative;height:72px;display:flex;align-items:flex-end;gap:6px;padding-top:var(--s2);border-bottom:var(--stroke) solid var(--line-2)}.p-chart i{flex:0 0 22px;background:var(--dim)}.p-chart i.pass{background:var(--accent)}.p-chart i.last{outline:var(--stroke) solid var(--text);outline-offset:1px}.p-chart .goal{position:absolute;left:0;right:0;height:0;border-top:var(--stroke) dashed var(--ok)}.p-chart .goal:after{content:attr(data-label);position:absolute;right:0;top:-18px;font:600 12px/1 var(--font-mono);color:var(--ok)}.p-next{display:flex;align-items:baseline;gap:var(--s3)}.p-next span{font:600 var(--t2)/1.3 var(--font-mono);color:var(--text)}.p-last{margin:0;font-size:var(--t1);color:var(--muted)}.plan{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font:var(--t1)/1.5 var(--font-mono);color:var(--faint)}.plan:empty{display:none}.plan li:before{content:"· "}.plan li[data-s=completed]{color:var(--muted)}.plan li[data-s=completed]:before{content:"✓ ";color:var(--ok)}.plan li[data-s=in_progress]{color:var(--text)}.plan li[data-s=in_progress]:before{content:"▸ ";color:var(--accent)}.spot-ba{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.spot-ba div{display:flex;flex-direction:column;gap:var(--s2)}.spot-ba span{font:var(--p1)/1 var(--font-pixel);color:var(--muted)}.spot-ba b{font:400 var(--p2)/1 var(--font-pixel);color:var(--text);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:var(--s1);flex-wrap:wrap}.spot-ba b i{font-style:normal;color:var(--faint)}.spot-ba b small{font-size:var(--p1);color:var(--muted)}.spot-ba[data-improved=true] b{color:var(--accent)}.spot-target{outline:4px solid var(--accent);outline-offset:4px}.riff-cue{display:none!important}.riff-finger{position:absolute;left:50%;top:50%;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;display:none;transform-origin:center}.riff-finger[data-on=true]{display:block}.drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;z-index:50;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s5);padding:var(--s5);background:var(--bg-bar);border-left:var(--stroke) solid var(--line-2);box-shadow:-8px 0 0 var(--shadow)}.drawer[hidden]{display:none}.drawer .leds{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.drawer .chips{display:flex;gap:var(--s2);flex-wrap:wrap}.drawer .meters{justify-content:start}.drawer .manual-body{display:flex;flex-direction:column;gap:var(--s3)}.drawer .diag,.drawer .keys,.drawer .loop-meta{margin:0;font-size:var(--t1);color:var(--muted);line-height:1.6}.drawer .keys kbd{margin-left:var(--s2)}@media(max-height:820px){.bar{padding:var(--s2) var(--s5)}.deck{gap:var(--s3) var(--s4);padding:var(--s3) var(--s5) var(--s4);grid-template-columns:minmax(0,1fr) var(--col)}.loop-word{font-size:40px}.loop-state{--ready-w: 184px}.fx-glyph{font-size:48px}.booth{grid-template-columns:112px minmax(0,1fr);min-height:120px}.booth .riff-socket{width:112px;height:112px}.spot-cue{font-size:22px}.coach-col{padding:var(--s3);gap:var(--s3)}.practice{padding:var(--s3);gap:var(--s2)}.p-chart{height:48px}.plan{display:none}.p-read b{font-size:var(--p2)}.p-read>span:first-child{white-space:nowrap}.p-drill{white-space:normal;font-size:var(--t2)}.spot-ba b{font-size:var(--p1)}.spot-ba span{font-size:12px}}.cards{opacity:1!important;visibility:visible!important}.card,.engaged-text,.practice,.p-now,.coach-col{container-type:inline-size}.fx-power{container-type:size}.pct{font-size:clamp(32px,26cqi,112px);line-height:1.05;white-space:nowrap}.card h3{font-size:clamp(14px,7cqi,24px)}.readout{flex-wrap:wrap;row-gap:var(--s1)}.sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.engaged-name{font-size:clamp(16px,9cqi,48px)}.engaged-pct{font-size:clamp(40px,34cqi,144px);line-height:1.05;white-space:nowrap}.fx-power b{font-size:clamp(16px,14cqi,32px);line-height:1.1}.fx-glyph{font-size:clamp(32px,30cqi,72px);line-height:1.1}.fx-word{font-size:clamp(14px,11cqi,24px);line-height:1.1}.booth{grid-template-columns:1fr;justify-items:start;gap:var(--s3);min-height:0;flex:none}.booth .riff-socket{width:clamp(96px,22cqi,144px);height:clamp(96px,22cqi,144px)}.say{width:100%}.spot-cue{font-size:clamp(18px,5.4cqi,30px)}.spot-ask,.practice,.spot-ba{flex:none}.plan{flex:0 1 auto;min-height:0;overflow:hidden}.p-read{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--s1) var(--s3)}.p-read>span:first-child{white-space:nowrap}.p-read b{font-size:clamp(20px,9cqi,32px);white-space:nowrap}.p-target{grid-column:1 / -1;margin-left:0}.p-now{grid-template-columns:auto minmax(0,1fr)}.p-attempt{grid-column:1 / -1}.p-drill{white-space:normal}.spot-ba{grid-template-columns:1fr;gap:var(--s2)}.spot-ba div{flex-direction:row;justify-content:space-between;align-items:baseline}.spot-ba b{font-size:clamp(16px,6cqi,24px);flex-wrap:nowrap;white-space:nowrap}#coachDock[data-away=true] .riff-socket{outline:0}.pct,.engaged-pct,.loop-word,.p-read b,.spot-ba b,.fx-glyph,.fx-power b,.fx-word,.engaged-name{line-height:1.2}.engaged-text{min-width:0;overflow:hidden}.steps{flex:none;display:flex;flex-direction:column;gap:var(--s2)}.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.steps li{font:400 clamp(10px,2.6cqi,14px)/1.2 var(--font-pixel);color:var(--faint);background:var(--bg);border:var(--stroke) solid var(--line);padding:var(--s1) var(--s2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.steps li:before{content:attr(data-n) " ";color:var(--dim)}.steps[data-step="1"] li[data-n="1"],.steps[data-step="2"] li[data-n="2"],.steps[data-step="3"] li[data-n="3"],.steps[data-step="4"] li[data-n="4"]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.steps[data-step="1"] li[data-n="1"]:before,.steps[data-step="2"] li[data-n="2"]:before,.steps[data-step="3"] li[data-n="3"]:before,.steps[data-step="4"] li[data-n="4"]:before{color:var(--accent-ink)}.pedal{margin:0;display:flex;align-items:baseline;gap:var(--s3)}.pedal b{font:400 var(--p1)/1.2 var(--font-pixel);color:var(--accent)}.pedal span{font:600 clamp(14px,3.6cqi,20px)/1.3 var(--font-mono);color:var(--text)}.spot-ask{padding:var(--s2) var(--s3);gap:var(--s2)}.spot-ask>b{font-size:clamp(14px,4cqi,20px)}.spot-ba{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);padding:var(--s2) 0 0;border-top:var(--stroke) solid var(--line)}.spot-ba div{gap:var(--s2)}.spot-ba span{font-size:12px}.spot-ba b{font-size:clamp(14px,4cqi,18px)}.coach-col[data-ask=true] .plan,.coach-col:has(#coachBA:not([hidden])) .plan{display:none}.coach-col{overflow:hidden}@media(max-height:820px){.booth .riff-socket{width:88px;height:88px}.steps li{padding:2px var(--s1)}}.steps-head{display:flex;justify-content:flex-end}.mode{font:400 clamp(11px,2.8cqi,14px)/1.2 var(--font-pixel);padding:2px var(--s2);border:var(--stroke) solid var(--accent);color:var(--accent)}.mode[data-mode=play]{border-color:var(--ok);color:var(--ok)}.steps li:before{content:none}.steps[data-mode=play] li{color:var(--dim)}.steps[data-mode=play] li[data-n]{background:var(--bg)!important;border-color:var(--line)!important;color:var(--dim)!important}.p-summary{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3);border:var(--stroke) solid var(--ok)}.p-summary b{font:400 var(--p1)/1.2 var(--font-pixel);color:var(--ok)}.p-summary span{font:600 clamp(14px,3.6cqi,18px)/1.35 var(--font-mono);color:var(--text)}.app[data-fx=engaged] .engaged{animation:none}.coach-col:has(#pSummary:not([hidden])) #coachBA{display:none!important}@media(max-height:820px){#coachBA{display:none!important}}.app{--gutter: 16px;--edge: 24px}@media(max-height:700px){.app{--gutter: 12px;--edge: 16px}}.deck{gap:var(--gutter);padding:var(--gutter) var(--edge) var(--edge)}.loop-row,.cards,.tone-row{gap:var(--gutter)}.label{height:16px}.panel,.card,.engaged,.coach-col{border:var(--stroke) solid var(--line-2);box-shadow:none}.card.target,.card.live,.app[data-loop=playing] .loop-state.juice-beat,.loop-state.juice-beat{border-color:var(--accent);box-shadow:none}.app[data-fx=engaged] .engaged{border:var(--stroke) solid var(--accent);box-shadow:none}.spot-target{outline:var(--stroke) solid var(--accent);outline-offset:calc(var(--stroke) * -1)}.tone-row{width:100%;display:flex;flex-direction:column;flex:1;min-height:0}.fx-zone{width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.cards{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);min-height:0}.tone-head-controls{display:inline-flex;align-items:center;gap:8px}.sim-play-btn{height:28px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;cursor:pointer;box-shadow:1px 1px 0 var(--shadow);color:var(--text);font-family:var(--font-pixel);font-size:11px;user-select:none;flex:none;transition:border-color .15s ease,background .15s ease,color .15s ease}.sim-play-btn[hidden]{display:none!important}.sim-play-btn:hover{border-color:var(--text)}.sim-play-btn[data-playing=true]{border-color:#22c55e;color:#22c55e}.sim-play-btn[data-playing=false]{border-color:#ffffff2e;color:var(--dim)}.sim-play-btn[data-playing=false]:hover{border-color:var(--accent);color:var(--accent)}.sim-play-btn .sim-play-icon{font-size:10px;line-height:1}.sim-play-btn .sim-play-text{font-size:11px;font-weight:700;font-family:var(--font-pixel)}.side-fx{height:28px;padding:0 8px 0 10px;display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;cursor:pointer;box-shadow:1px 1px 0 var(--shadow);color:var(--text);font-family:var(--font-pixel);font-size:11px;user-select:none;flex:none;margin-right:6px;transition:border-color .15s ease,background .15s ease}.side-fx:hover{border-color:var(--text)}.side-fx .fx-label-text{font-size:11px;font-weight:700;font-family:var(--font-pixel);color:var(--text)}.side-fx .fx-slider-switch{width:38px;height:20px;border-radius:999px;background:#2a2b35;border:1px solid rgba(255,255,255,.12);position:relative;display:inline-flex;align-items:center;box-sizing:border-box;flex:none;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s ease}.side-fx .fx-slider-thumb{width:14px;height:14px;border-radius:999px;background:#cbd5e1;box-shadow:0 1px 3px #00000073;position:absolute;left:3px;transform:translate(0);transition:transform .22s cubic-bezier(.25,1,.5,1),background-color .2s ease}.side-fx[data-on=true] .fx-slider-switch{background:#22c55e;border-color:#16a34a}.side-fx[data-on=true] .fx-slider-thumb{transform:translate(18px);background:#fff}.side-fx[data-on=false] .fx-slider-switch{background:#2a2b35;border-color:#ffffff14}.side-fx[data-on=false] .fx-slider-thumb{transform:translate(0);background:#94a3b8}.side-fx .fx-word{font-size:11px;font-family:var(--font-pixel);min-width:24px;text-align:left}.side-fx[data-on=true] .fx-word{color:#22c55e}.side-fx[data-on=false] .fx-word{color:var(--dim)}.card-hand{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);background:var(--panel);border:var(--stroke) solid var(--line-2);position:relative;overflow:hidden;min-height:0}.card-hand header{display:flex;justify-content:space-between;align-items:center;flex:none}.card-hand header h3{font:var(--p3)/1 var(--font-pixel);color:var(--muted);display:inline-flex;align-items:center;gap:6px}.hand-state-tag{display:inline-block!important;font:var(--p1)/1 var(--font-pixel);color:var(--text);background:var(--bg);border:1px solid var(--line);padding:2px 6px;visibility:visible}.hand-viewport{position:relative;flex:1;width:100%;min-height:0;background:var(--bg);border:1px solid var(--line);border-radius:4px;overflow:hidden}.hand-viewport canvas{width:100%;height:100%;display:block}.card-hand .swap-toast{top:16px}.hand-state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.steps:empty{display:none}.readout{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:var(--s2)}.sub{text-align:left}.app{--col: clamp(400px, 31vw, 600px)}@media(max-height:820px){.app{--col: clamp(340px, 32vw, 460px)}}@media(min-width:1200px){.bar{display:grid;grid-template-columns:auto minmax(0,1fr) var(--col);column-gap:var(--gutter);padding:var(--s4) var(--edge)}@media(max-height:820px){.bar{padding-block:var(--s2)}}.bar .spacer{display:none}.bar .top-meters{justify-self:end}.bar-end{display:flex;gap:var(--gutter);min-width:0}.bar-end .pill{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}}@media(max-width:1199px){.bar-end{display:contents}}.wave-note{left:calc(var(--wave-left, 12px))}.wave-empty{left:var(--wave-left, 0)}.step[data-s=ctx] .what{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.loop-row{position:relative}.loop-state{position:relative;z-index:2}.wave{z-index:0}.wheel{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;image-rendering:pixelated}.coach-col{display:flex;flex-direction:column;gap:var(--gutter);padding:var(--gutter);background:var(--panel);border:var(--stroke) solid var(--line-2);box-shadow:none;overflow:hidden;container-type:inline-size;min-height:0}.coach-col[data-state]{border-color:var(--line-2)}.talk{display:flex;flex-direction:column;gap:var(--s3);flex:none}.talk .riff-socket{width:96px;height:96px;flex:none}.bubble{position:relative;margin:0;padding:var(--s3) var(--s4);background:var(--bg);border:var(--stroke) solid var(--accent);font:600 22px/1.35 var(--font-mono);color:var(--text);text-wrap:pretty}.bubble:before{content:"";position:absolute;left:40px;top:-9px;width:14px;height:14px;background:var(--bg);border-left:var(--stroke) solid var(--accent);border-top:var(--stroke) solid var(--accent);transform:rotate(45deg)}.bubble[data-quiet=true]{font-weight:400;color:var(--muted);border-color:var(--line-2)}.bubble[data-quiet=true]:before{border-color:var(--line-2)}.bubble:empty:after{content:"Play me what you’re working on.";font-weight:400;color:var(--muted)}.coach-col[data-state=asleep] .bubble{border-color:var(--line-2)}.coach-col[data-state=asleep] .bubble:before{border-color:var(--line-2)}.coach-col[data-state=asleep] .bubble:empty:after{content:"Riff is asleep. You can still play."}.coach-col .pedal{margin:auto 0 0;padding-top:var(--s3);border-top:var(--stroke) solid var(--line-2);display:flex;align-items:baseline;gap:var(--s3);flex:none}.coach-col .pedal b{font:400 12px/1.5 var(--font-pixel);color:var(--accent)}.coach-col .pedal span{font:600 18px/1.3 var(--font-mono);color:var(--text)}.coach-col[data-voice=locked] .pedal .acts:after{content:"click once for Riff’s voice";font:400 14px/1.3 var(--font-mono);color:var(--muted)}@media(max-height:820px){.talk{gap:var(--s2)}.talk .riff-socket{width:72px;height:72px}.bubble{font-size:18px;padding:var(--s2) var(--s3)}.bubble:before{left:28px}}.talk,.talk .riff-socket{position:relative}.riff-ghost{display:none}.riff-ghost .riff-ghost-px{opacity:.9}.coach-col[data-home=false] .riff-ghost{display:block}.coach-col[data-home=false] .bubble{border-style:dashed}.bubble:empty:after,.coach-col[data-state=asleep] .bubble:empty:after{content:attr(data-empty)}.coach-col .pedal{align-items:center;flex-wrap:wrap;row-gap:var(--s2)}.pedal .acts{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:var(--s2) var(--s3);min-width:0}.pedal .act{display:contents}.pedal .cap{grid-column:1;box-sizing:border-box;white-space:nowrap;height:32px;display:grid;place-items:center;font:400 14px/1 var(--font-pixel);color:var(--accent-ink);background:var(--accent);box-shadow:inset 0 -4px 0 var(--accent-low);padding-bottom:3px}.pedal .cap[hidden],.pedal kbd[hidden]{display:none}.pedal .does{grid-column:2;font:600 17px/1.3 var(--font-mono);color:var(--text)}.pedal kbd{grid-column:3;box-sizing:border-box;height:24px;display:grid;place-items:center;font:400 11px/1 var(--font-pixel);color:var(--faint);border:var(--stroke) solid var(--line-2);padding:0 6px}.pedal[data-wait=true] .cap{background:var(--off);color:var(--muted);box-shadow:inset 0 -4px 0 var(--shadow);animation:blink 1.6s steps(2) infinite}.pedal[data-wait=true] .does{color:var(--muted);font-weight:400}.top-meters{display:flex;align-items:center;gap:var(--s4)}.top-meters .segs{gap:2px}.top-meters .segs i{width:5px;height:14px}.top-meters .db{min-width:64px;font-size:13px}.top-meters .clip{font-size:11px;padding:2px 6px}.top-meters .meter-label{font-size:12px}.top-meters .meter-label{margin-right:calc(var(--s2) * -1)}.top-meters .db{text-align:right}.wave-mark{position:absolute;top:0;bottom:0;z-index:2;pointer-events:none;min-width:8px;background:#ff5ccb29;border-left:2px solid var(--accent);border-right:2px solid var(--accent);animation:popin var(--bar) var(--step)}.wave-mark[hidden]{display:none}.wave-mark span{position:absolute;left:50%;bottom:var(--s2);transform:translate(-50%);white-space:nowrap;font:400 12px/1 var(--font-pixel);color:var(--accent-ink);background:var(--accent);padding:4px 6px 3px}.app[data-loop=recording] .wave-mark{display:none}.fx-toggle{--u: 16px;--u: round(down, clamp(16px, 9cqb, 28px), 4px);position:relative;width:calc(var(--u) * 4);height:calc(var(--u) * 6);display:block}.fx-nut{position:absolute;left:50%;top:50%;width:calc(var(--u) * 2.25);height:calc(var(--u) * 2.25);margin:calc(var(--u) * -1.125) 0 0 calc(var(--u) * -1.125);background:var(--off);border:4px solid var(--line-2);box-sizing:border-box}.fx-lever{position:absolute;left:50%;bottom:50%;width:calc(var(--u) * .75);height:calc(var(--u) * 2.625);margin-left:calc(var(--u) * -.375);transform-origin:50% 100%;background:var(--muted)}.fx-lever:before{content:"";position:absolute;left:calc(var(--u) * -.375);top:calc(var(--u) * -.5);width:calc(var(--u) * 1.5);height:calc(var(--u) * .75);background:inherit}.fx-power[data-on=true] .fx-lever{background:var(--accent);transform:scaleY(1)}.fx-power[data-on=false] .fx-lever{transform:scaleY(-1)}.fx-power.snap{animation:fxsnap .38s steps(7)}.fx-power[data-on=true].snap .fx-lever{animation:leveron .24s steps(4)}.fx-power[data-on=false].snap .fx-lever{animation:leveroff .24s steps(4)}@keyframes fxsnap{0%{transform:translateY(-4px);box-shadow:0 2px 0 var(--shadow)}20%{transform:translateY(-2px) rotate(-.8deg)}40%{transform:rotate(.6deg)}60%{transform:rotate(-.7deg)}80%{transform:rotate(.3deg)}to{transform:none}}@keyframes leveron{0%{transform:scaleY(-1)}45%{transform:scaleY(.15)}75%{transform:scaleY(1.25)}to{transform:scaleY(1)}}@keyframes leveroff{0%{transform:scaleY(1)}45%{transform:scaleY(-.15)}75%{transform:scaleY(-1.25)}to{transform:scaleY(-1)}}.card>header{min-height:0}.card{background-image:linear-gradient(var(--line-2),var(--line-2)),linear-gradient(var(--line-2),var(--line-2)),linear-gradient(var(--line-2),var(--line-2)),linear-gradient(var(--line-2),var(--line-2));background-size:6px 6px;background-repeat:no-repeat;background-position:6px 6px,calc(100% - 6px) 6px,6px calc(100% - 6px),calc(100% - 6px) calc(100% - 6px)}@media(max-height:820px){.pedal .does{font-size:15px}}@media(prefers-reduced-motion:reduce){.fx-power.snap,.fx-power.snap .fx-lever,.wave-mark{animation:none!important}}.card>header h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wave-mark{overflow:visible}.wave-mark span{left:auto;right:auto;transform:none}.you{position:relative;flex:none;margin-left:15%;display:flex;flex-direction:column;gap:var(--s1);padding:var(--s2) var(--s3);background:var(--bg);border:var(--stroke) solid var(--text)}.you[hidden]{display:none}.you:after{content:"";position:absolute;right:20px;bottom:-9px;width:14px;height:14px;background:var(--bg);border-right:var(--stroke) solid var(--text);border-bottom:var(--stroke) solid var(--text);transform:rotate(45deg)}.you>b{font:400 12px/1.4 var(--font-pixel);color:var(--muted)}.you span{font:600 18px/1.35 var(--font-mono);color:var(--text);overflow-wrap:anywhere}.you[data-mode=listening]>b:after{content:" · LISTENING";color:var(--rec);animation:blink 1s steps(2) infinite}.you[data-mode=listening] span:empty:before{content:"Go ahead…";color:var(--faint);font-weight:400}.you[data-mode=typing] span{font:400 14px/1.3 var(--font-mono);color:var(--warn)}.you[data-mode=typing] span:empty{display:none}.you[data-mode=idle] span{color:var(--muted);font-weight:400}.you input{font:600 18px/1.3 var(--font-mono);color:var(--text);background:var(--panel);border:var(--stroke) solid var(--line-2);padding:var(--s1) var(--s2);width:100%;box-sizing:border-box;outline:none}.you input:focus{border-color:var(--accent)}.you input[hidden]{display:none}.coach-foot{margin-top:auto;display:flex;flex-direction:column;gap:0;flex:none}.coach-col .coach-foot .pedal{margin:var(--gutter) 0 0;padding-top:var(--gutter)}.talk-btn[hidden]+.pedal{margin-top:0}.talk-btn{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);cursor:pointer;text-align:left;background:var(--bg);color:var(--text);border:var(--stroke) solid var(--line-2);box-shadow:none;min-height:40px;box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none}.talk-btn[hidden]{display:none}.talk-btn i{width:12px;height:12px;background:var(--muted);flex:none}.talk-btn b{font:400 13px/1 var(--font-pixel);color:var(--muted);flex:none}.talk-btn span{font:600 16px/1.2 var(--font-mono)}.talk-btn[data-ask=true]{border-color:var(--accent)}.talk-btn[data-ask=true] b,.talk-btn[data-ask=true] span{color:var(--accent)}.talk-btn[data-ask=true] i{background:var(--accent);animation:blink 1.4s steps(2) infinite}.coach-col[data-talk=listening] .talk-btn{border-color:var(--rec)}.coach-col[data-talk=listening] .talk-btn i{background:var(--rec);animation:none}@media(max-height:820px){.you span,.you input{font-size:16px}.talk-btn{padding:6px var(--s3)}.talk-btn span{font-size:15px}}.riff-toast{position:fixed;z-index:45;display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--bg);border:var(--stroke) solid var(--accent);box-shadow:4px 4px 0 var(--shadow);pointer-events:none}.riff-toast[hidden]{display:none}.riff-toast b{font:400 13px/1.2 var(--font-pixel);color:var(--accent)}.riff-toast span{font:600 17px/1.3 var(--font-mono);color:var(--text)}.riff-toast[data-on=true]{animation:toastin .3s steps(3)}@keyframes toastin{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@media(max-height:820px){.riff-toast span{font-size:15px}}@media(prefers-reduced-motion:reduce){.riff-toast[data-on=true]{animation:none}}.coach-col .pedal{flex-wrap:nowrap;align-items:flex-start}.coach-col .pedal>b{padding-top:7px}.pedal .acts{flex:1;min-width:0}.coach-col[data-voice=locked] .pedal .acts:after{grid-column:2 / -1}.wave-mark{background:linear-gradient(#ff5ccb1a,#ff5ccb1a),#0b0b108c}.riff-toast[data-kind=ok]{border-color:var(--ok)}.riff-toast[data-kind=ok] b{color:var(--ok)}.list{list-style:none;margin:0;padding:0;flex:1 1 0;min-height:0;overflow-y:auto;scrollbar-width:none;position:relative;display:flex;flex-direction:column;border-top:1px solid var(--line)}.list::-webkit-scrollbar{display:none}.list[hidden]{display:none}.step{flex:none;display:grid;grid-template-columns:12px 64px minmax(0,1fr);column-gap:var(--s3);align-items:start;min-height:44px;padding:var(--s2) 0;box-sizing:border-box;border-bottom:1px solid var(--line)}.step .lab{font:400 12px/1.3 var(--font-pixel);color:var(--muted);padding-top:3px}.step .mark{margin-top:4px}.step .body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.step .what{font:600 17px/1.3 var(--font-mono);color:var(--text);min-width:0;overflow-wrap:anywhere}.step .val{font:400 14px/1.3 var(--font-mono);font-style:normal;color:var(--muted);white-space:nowrap}.step .val:empty{display:none}.step .mark{width:12px;height:12px;box-sizing:border-box}.step[data-s=done] .mark{background:var(--ok);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 7' shape-rendering='crispEdges'%3E%3Cpath d='M7 0h2v2H7zM5 2h2v2H5zM3 4h2v2H3zM1 3h2v2H1zM0 2h1v1H0z'/%3E%3C/svg%3E") no-repeat center / 12px 9px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 7' shape-rendering='crispEdges'%3E%3Cpath d='M7 0h2v2H7zM5 2h2v2H5zM3 4h2v2H3zM1 3h2v2H1zM0 2h1v1H0z'/%3E%3C/svg%3E") no-repeat center / 12px 9px}.step[data-s=done] .what{color:var(--muted);font-weight:400}.step[data-s=done] .val{color:var(--ok);font-weight:600}.step[data-s=now] .mark{background:var(--accent)}.step[data-s=now] .lab{color:var(--accent)}.step[data-s=next] .mark{border:var(--stroke) solid var(--off)}.step[data-s=next] .lab,.step[data-s=next] .what{color:var(--dim)}.step[data-s=next] .what{font-weight:400}.step[data-s=ctx] .mark{background:var(--muted);width:4px;height:4px;margin:8px 4px}.step[data-s=ctx] .what{color:var(--muted);font-weight:400;font-size:15px}.step[data-s=skip] .mark{background:var(--dim);height:2px;margin:9px 0}.step[data-s=skip] .what{color:var(--dim);text-decoration:line-through;font-weight:400}.detail{grid-column:2 / -1;display:flex;flex-direction:column;gap:var(--s3);padding-top:var(--s2);min-width:0}.metric{display:flex;flex-direction:column;gap:var(--s2)}.metric-head{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap}.metric-head em{font:400 14px/1.3 var(--font-mono);font-style:normal;color:var(--muted)}.metric-head b{font:600 20px/1.2 var(--font-mono);color:var(--warn)}.metric[data-pass=true] .metric-head b,.metric[data-pass=true] small{color:var(--ok)}.metric-head small{font:400 14px/1.3 var(--font-mono);color:var(--muted)}.metric[data-pass=true] small{font-weight:600}.gap-bar{position:relative;display:block;height:12px;background:var(--off)}.gap-bar i{position:absolute;display:block}.gap-bar .zone{left:0;top:0;bottom:0;width:var(--goal, 0%);background:#8fe3a64d;border-right:2px solid var(--ok);box-sizing:border-box}.gap-bar .was{left:var(--was, 0%);top:2px;bottom:2px;width:2px;margin-left:-1px;background:var(--muted)}.gap-bar .trail{left:var(--now, 0%);width:calc(var(--was, 0%) - var(--now, 0%));top:5px;height:2px;background:var(--muted);opacity:.6}.gap-bar[data-moved=false] .was,.gap-bar[data-moved=false] .trail{display:none}.gap-bar .now{left:var(--now, 0%);top:-3px;bottom:-3px;width:8px;margin-left:-4px;background:var(--warn)}.metric[data-pass=true] .gap-bar .now{background:var(--ok)}.metric[data-flash=true]{animation:rowwin .9s steps(6)}@keyframes rowwin{0%{background:#8fe3a638}to{background:transparent}}.work{display:flex;flex-direction:column;gap:var(--s1)}.work-head{display:flex;align-items:center;gap:var(--s2)}.work-head b{font:400 12px/1.4 var(--font-pixel);color:var(--accent)}.work-head small{font:400 13px/1.4 var(--font-mono);color:var(--muted)}.plan-dots{display:flex;gap:4px;align-items:center}.plan-dots i{width:8px;height:8px;background:var(--off)}.plan-dots i[data-s=completed]{background:var(--ok)}.plan-dots i[data-s=in_progress]{background:var(--accent);animation:blink 1s steps(2) infinite}.work ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.work li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:baseline;gap:var(--s2);font:400 15px/1.4 var(--font-mono);color:var(--muted)}.work li i{font:400 11px/1.6 var(--font-pixel);font-style:normal;color:var(--muted)}.work li[data-who=ears] i,.work li[data-who=eyes] i{color:var(--accent)}.work li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work li em{font-style:normal;font-weight:600;color:var(--ok)}.work li[data-s=failed] em{color:var(--rec)}.work li[data-s=running]{color:var(--text);font-weight:600}.work li[data-s=running] i{color:var(--accent)}.work li[data-s=running] span:after{content:"…"}.work li[data-s=waiting] em{color:var(--warn);font:400 11px/1.6 var(--font-pixel)}.step[data-new=true],.work li[data-new=true]{animation:popin var(--bar) var(--step)}.step[data-just=true]{animation:rowwin .9s steps(6)}.step[data-just=true] .mark{animation:popin .36s steps(3)}@media(max-height:820px){.step{min-height:36px;padding:6px 0}.step .what{font-size:16px}.work li{font-size:14px}}@media(prefers-reduced-motion:reduce){.step[data-new=true],.work li[data-new=true],.step[data-just=true],.step[data-just=true] .mark,.metric[data-flash=true]{animation:none}}.replay-tag{margin:0 0 var(--s3);padding:var(--s2) var(--s3);font:var(--p1)/1.2 var(--font-pixel);color:var(--bg);background:var(--warn);border:var(--stroke) solid var(--warn);letter-spacing:.04em}.replay-tag[hidden]{display:none}.manual-strip{position:fixed;z-index:60;left:var(--edge, 24px);bottom:2px;height:20px;display:flex;align-items:center;gap:8px;font:400 11px/1 var(--font-pixel);color:var(--muted);white-space:nowrap}.m-tag{font-weight:400;color:var(--warn);border:var(--stroke) solid var(--warn);padding:3px 6px 2px}.m-tag[data-bad=true]{color:var(--rec);border-color:var(--rec)}.m-btn{font:inherit;color:var(--muted);background:var(--bg);border:var(--stroke) solid var(--line-2);padding:3px 6px 2px;cursor:pointer}.m-btn[data-on=true]{color:var(--text);border-color:var(--muted)}.m-btn:hover{border-color:var(--text)}.m-sep{color:var(--faint);margin-left:4px}.m-pad{position:relative;width:160px;height:16px;background:var(--off);border:var(--stroke) solid var(--line-2);box-sizing:border-box;cursor:ew-resize;touch-action:none}.m-pad i{position:absolute;top:-2px;bottom:-2px;width:6px;margin-left:-3px;left:50%;background:var(--accent);pointer-events:none}.m-pad[data-down=true]{border-color:var(--accent)}.m-keys{color:var(--faint);margin-left:8px}@media(max-width:1100px){.m-keys{display:none}}.browser-source-button{font:var(--p1)/1.4 var(--font-pixel);padding:10px 12px;color:var(--accent);background:var(--panel);border:2px solid var(--line-2);white-space:nowrap;cursor:pointer}.browser-settings{box-sizing:border-box;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px;color:var(--text);background:var(--bg);border:3px solid var(--accent);box-shadow:8px 8px 0 var(--shadow);font:var(--t2)/1.5 var(--font-mono)}.browser-settings::backdrop{background:#050508d9}.browser-settings h1{font:var(--p3)/1.4 var(--font-pixel);margin:0;color:var(--accent)}.browser-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.browser-settings-heading button{font-size:26px;line-height:1}.browser-settings button,.browser-settings select,.browser-settings input{color:var(--text);background:var(--panel);border:2px solid var(--line-2);border-radius:0;font:inherit;padding:8px 10px}.browser-settings button{cursor:pointer}.browser-settings button:hover,.browser-settings select:focus-visible,.browser-settings input:focus-visible{border-color:var(--accent)}.browser-settings button:disabled{opacity:.4;cursor:default}.browser-settings label{display:grid;gap:5px;margin-top:12px}.browser-settings select{width:100%}.browser-settings .browser-check{display:flex;align-items:center;gap:10px}.browser-settings fieldset{padding:12px 16px 16px;margin:18px 0;border:2px solid var(--line)}.browser-settings legend{font:var(--p1)/1.4 var(--font-pixel);color:var(--muted);padding:0 8px}.browser-settings [hidden]{display:none!important}.browser-settings p{margin:12px 0}.browser-settings fieldset p,.browser-footnote,.browser-intro{color:var(--muted)}.browser-actions{display:flex;gap:10px;flex-wrap:wrap}#browserStart{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}#browserStatus{min-height:1.5em;padding:8px 0;color:var(--ok)}@media(max-width:700px){.browser-settings{padding:18px}.browser-source-button{font-size:10px;max-width:120px;white-space:normal}}body[data-browser] .juice-attract{display:none!important}.browser-settings details{margin-top:20px}.browser-settings summary{min-height:44px;cursor:pointer;color:var(--accent);padding-block:10px}.browser-settings .browser-actions button{min-height:46px}.browser-loop-control{margin-top:12px;min-height:46px;padding:10px;width:100%;background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);font:var(--p1)/1.4 var(--font-pixel);cursor:pointer}.browser-loop-control:disabled{opacity:.4;cursor:default}body[data-browser] input[type=range]{min-height:44px}@media(max-width:900px){body[data-browser] .app{height:auto;min-height:100dvh}body[data-browser] .deck{display:flex;flex-direction:column;gap:20px;padding:14px;overflow:visible}body[data-browser] .loop{height:310px;flex:none}body[data-browser] .tone{height:300px;flex:none}body[data-browser] .coach-col{min-height:180px}body[data-browser] .bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding:12px;gap:10px}body[data-browser] .bar .logo{transform:none;grid-column:1;grid-row:1}body[data-browser] .bar .logo img{max-width:130px;height:auto}body[data-browser] .bar .spacer{display:none}body[data-browser] .bar-end{display:contents}body[data-browser] .browser-source-button{grid-column:2;grid-row:1;max-width:130px;font-size:9px;white-space:normal;min-height:44px}body[data-browser] #drawerBtn{grid-column:3;grid-row:1;min-height:44px;padding:8px}body[data-browser] .top-meters{grid-column:1 / -1;grid-row:2;justify-self:stretch}body[data-browser] .segs i{width:min(8px,1.7vw)}body[data-browser] #statusPill{grid-column:1 / -1;grid-row:3;text-align:center}body[data-browser] .loop-state{--ready-w: 112px;padding:12px;width:148px}body[data-browser] .loop-word{font-size:26px;gap:8px}body[data-browser] .loop-len{font-size:24px}body[data-browser] .tone-row{display:flex;flex-direction:column;gap:12px}body[data-browser] .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body[data-browser] .card{padding:12px}body[data-browser] .engaged{padding:12px;gap:8px}body[data-browser] .booth{grid-template-columns:80px minmax(0,1fr);min-height:90px}body[data-browser] .booth .riff-socket{width:80px;height:80px}body[data-browser] .spot-cue{font-size:18px}body[data-browser] .drawer{width:min(420px,100vw);max-width:100vw;box-sizing:border-box}}@media(max-width:900px){body[data-browser] .bar .logo{min-width:0}body[data-browser] .bar .logo img{width:100%;max-width:130px}}@media(max-width:900px){body[data-browser] .top-meters{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:6px;min-width:0;max-width:100%}body[data-browser] .top-meters>:nth-child(5){grid-column:1;grid-row:2}body[data-browser] #outSegs{grid-column:2 / -1;grid-row:2}body[data-browser] .top-meters .segs{min-width:0}body[data-browser] .top-meters .segs i{flex:1;min-width:0;width:auto}}#browserStatus[data-kind=error]{color:var(--warn)}body[data-browser] #pedalNext[hidden]{display:none!important}@media(max-width:900px){body[data-browser] .loop-row{flex-direction:row;align-items:stretch;min-height:0}body[data-browser] .loop-state{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center}body[data-browser] .tone{height:380px}body[data-browser] .fx-zone{min-height:0}body[data-browser] .card{overflow:hidden;gap:6px;padding:10px}body[data-browser] .wave{min-height:0}}@media(max-width:900px){body[data-browser] .card-hand,body[data-browser] .hand-box{min-width:0;overflow:hidden;width:100%}}.panel.hand{position:relative}.swap-toast{position:absolute;top:40px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px;background:#0e0e18f0;border:2px solid #22c55e;border-radius:999px;box-shadow:0 0 16px #22c55e66,0 4px 12px #0009;color:#fff;font-family:var(--mono, "JetBrains Mono", monospace);font-size:11px;font-weight:700;letter-spacing:.05em;white-space:nowrap;pointer-events:none;z-index:10}.swap-toast[hidden]{display:none!important}.swap-toast.swap-toast-pop{animation:swap-toast-pop 1.4s cubic-bezier(.16,1,.3,1) forwards}.swap-toast-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:swap-toast-pulse .5s infinite alternate ease-in-out}@keyframes swap-toast-pop{0%{opacity:0;transform:translate(-50%) translateY(-6px) scale(.85)}15%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}75%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-6px) scale(.95)}}@keyframes swap-toast-pulse{0%{transform:scale(.85);opacity:.85}to{transform:scale(1.2);opacity:1}}
