:root{--paper:#f1f0e8;--accent:#e4dc89;--ink:#141512;--muted:#b6b9ab}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;left:15px;top:-100px;z-index:20;padding:15px;background:var(--accent);color:var(--ink)}.skip:focus{top:15px}.landing{position:relative;isolation:isolate;min-height:640px;height:100svh;display:flex;flex-direction:column;overflow:hidden}.portrait{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:66% 40%;filter:grayscale(1)}.shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#0b0c0bea 0%,#0b0c0b40 38%,transparent 65%),linear-gradient(90deg,#0b0c0b70,transparent 70%),linear-gradient(180deg,#0b0c0b55,transparent 25%)}.header{display:flex;align-items:center;justify-content:space-between;padding:32px 4%}.identity{display:flex;flex-direction:column;gap:8px;font-family:monospace;font-size:10px;letter-spacing:1.2px}.identity span+span{font-size:8px;color:#d0d1c7;letter-spacing:2px}.contact-trigger{cursor:pointer;display:flex;gap:32px;align-items:center;background:var(--paper);color:var(--ink);border:0;padding:14px 20px;font-size:12px;border-radius:2px;transition:background .2s}.contact-trigger:hover{background:var(--accent)}.hero-content{margin-top:auto;padding:0 3.5% 30px}.eyebrow{display:flex;align-items:center;gap:10px;font-family:monospace;letter-spacing:1.6px;font-size:9px;margin:0 0 22px 5px}.dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-family:Arial Black,Arial,Helvetica,sans-serif;font-size:17.2vw;font-weight:900;line-height:.78;letter-spacing:-.08em;margin:0 0 0 -.015em}.footer{margin:0 4%;border-top:1px solid #ffffff45;display:flex;gap:35px;align-items:center;justify-content:space-between;padding:25px 0 28px}.listen{display:flex;align-items:center;gap:14px}.play{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff6b;border-radius:50%;font-size:10px;padding-left:2px;transition:background .2s,color .2s}.listen:hover .play{background:var(--accent);color:var(--ink);border-color:var(--accent)}.listen>span:nth-child(2){font-size:12px}.listen small{display:block;font-family:monospace;font-size:7px;letter-spacing:1.5px;color:#b7baae;margin-top:7px}.arrow{font-size:18px;margin-left:14px;color:var(--accent)}.footer nav{display:flex;gap:27px;margin-left:auto;font-size:10px}.footer a:hover{color:var(--accent)}.copyright{font-family:monospace;font-size:8px;color:#a8ad9d}dialog{color:var(--paper);background:#191c17;border:1px solid #ffffff24;border-radius:3px;width:min(580px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:30px 38px;overflow:auto;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#080b09bf;backdrop-filter:blur(12px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-family:monospace;font-size:8px;letter-spacing:1.5px;color:var(--accent);margin-bottom:24px}.close{border:1px solid #ffffff40;background:transparent;color:var(--paper);width:34px;height:34px;cursor:pointer;border-radius:50%;font-size:15px}.close:hover{background:#ffffff13}h2{font-size:60px;line-height:.98;letter-spacing:-.055em;font-weight:400;margin:0}h2 span{color:var(--accent)}.contact-intro{font-size:12px;line-height:1.7;color:var(--muted);margin:20px 0 28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:10px;letter-spacing:.3px;color:#d7dbce;margin-bottom:24px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #72796a;background:transparent;color:var(--paper);padding:12px 0;font-size:14px;border-radius:0;outline:0}input:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:#959b8b}textarea{resize:vertical;min-height:95px;height:110px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{font-size:9px;color:var(--muted);line-height:1.6;margin:0 0 20px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:46px;padding:0 22px;border:0;cursor:pointer;font-size:11px;background:var(--accent);color:var(--ink);border-radius:2px}.button:hover{background:#f3edb3}.button:disabled{opacity:.6;cursor:wait}.form-status{font-size:11px;color:var(--accent);line-height:1.6;margin:15px 0}.instagram-contact{font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}body:has(dialog[open]){overflow:hidden}@media(min-width:1800px){h1{font-size:300px}.hero-content{padding-bottom:45px}}@media(max-width:720px){.landing{min-height:580px}.header{padding:25px 6%}.identity{font-size:8px}.identity span+span{font-size:7px}.contact-trigger{font-size:11px;padding:12px 16px;gap:20px}.portrait{object-position:63% center}.shade{background:linear-gradient(0deg,#0b0c0bf0 0%,#0b0c0b20 50%,#0b0c0b40 100%)}.hero-content{padding:0 5% 27px}.eyebrow{font-size:7px;letter-spacing:1px;margin:0 0 18px 2px}h1{font-size:16.5vw}.footer{margin:0 6%;gap:20px;padding:22px 0 25px;flex-wrap:wrap}.listen{gap:12px}.listen>span:nth-child(2){font-size:11px}.listen small{font-size:6px;letter-spacing:1px}.arrow{margin-left:4px}.footer nav{gap:15px;font-size:9px}.copyright{display:none}dialog{padding:23px 25px;max-height:calc(100svh - 28px)}h2{font-size:49px}.dialog-top{margin-bottom:20px}.contact-intro{margin:16px 0 23px}.field-row{gap:16px}}@media(max-width:420px){.footer nav{margin-left:0;width:100%;justify-content:flex-end}.footer{gap:22px}.hero-content{padding-bottom:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Four basic oscillator shapes form a quiet musical signature. */
.wave-signature{position:absolute;left:4%;top:29%;display:flex;flex-direction:column;gap:19px;color:var(--accent);opacity:.64;pointer-events:none}
.wave-row{display:flex;align-items:center;gap:17px}
.wave-row svg{display:block;width:110px;height:26px;overflow:visible}
.wave-row path{stroke:currentColor;stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.wave-row>span{font-family:monospace;font-size:6px;letter-spacing:1.5px;color:var(--paper);opacity:.7}
.footer nav a{white-space:nowrap}
@media(max-width:720px){.wave-signature{left:6%;top:26%;gap:17px;opacity:.6}.wave-row{gap:11px}.wave-row svg{width:78px;height:22px}.wave-row>span{font-size:5px;letter-spacing:1px}}
@media(max-width:520px){.footer nav{margin-left:0;width:100%;justify-content:space-between}.footer{gap:20px}.wave-row svg{width:65px}.wave-row>span{display:none}.wave-signature{gap:12px;top:25%}}
@media(max-height:650px) and (min-width:721px){.wave-signature{top:24%;gap:9px}.wave-row svg{height:20px}}

/* Music above, social profiles below. */
.header{gap:25px}
.music-nav{display:flex;align-items:center;justify-content:center;gap:26px;margin-left:auto;margin-right:30px;font-size:11px}
.music-nav a{white-space:nowrap;padding:10px 0}
.music-nav a:hover{color:var(--accent)}
.footer{min-height:73px;padding:18px 0;flex-wrap:nowrap}
.footer nav{margin:0;width:auto;justify-content:flex-start;gap:28px}
.copyright{display:block;margin-left:auto;white-space:nowrap}
@media(max-width:720px){.header{gap:18px}.music-nav{font-size:10px;gap:18px;margin-right:5px}.footer{padding:17px 0;min-height:67px}.footer nav{font-size:9px;gap:23px}.copyright{font-size:7px}}
@media(max-width:560px){.header{display:grid;grid-template-columns:1fr auto;row-gap:18px}.identity{grid-column:1;grid-row:1}.contact-trigger{grid-column:2;grid-row:1}.music-nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;margin:0;gap:27px;font-size:10px}.footer nav{gap:20px}.copyright{font-size:6px}}

/* Platform rail and contact share the monochrome photographic direction. */
.platform-icons{position:absolute;left:4%;top:25%;display:flex;flex-direction:column;gap:9px}
.platform-icons a{display:flex;align-items:center;gap:14px;min-width:44px;min-height:44px;color:var(--paper);opacity:.8;transition:opacity .2s,transform .2s}
.platform-icons svg{width:22px;height:22px;overflow:visible;flex-shrink:0}
.platform-icons a span{font-family:monospace;font-size:8px;letter-spacing:.5px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.platform-icons a:hover,.platform-icons a:focus-visible{opacity:1;transform:translateX(3px)}
.platform-icons a:hover span,.platform-icons a:focus-visible span{opacity:1;transform:translateX(0)}
.footer-credit{font-family:monospace;font-size:7px;letter-spacing:1.4px;color:#b7baae}
dialog{background:linear-gradient(90deg,#111310f5,#111310e8),url('/assets/aurimas.webp') 64% center/cover;border:1px solid #ffffff35;border-radius:0;padding:30px 38px;color:var(--paper)}
dialog::backdrop{background:#080a08a6;backdrop-filter:blur(7px)}
.dialog-top{color:#d0d1c7;font-size:8px;letter-spacing:1px}
.close{border-radius:0;border:0;background:var(--paper);color:var(--ink)}
.close:hover{background:#fff;color:#000}
h2{font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.075em;font-size:76px;line-height:.85}
h2 span{color:var(--paper)}
.contact-intro{margin-top:22px;color:#bfc3b7}
.button{background:var(--paper);color:var(--ink);border-radius:0}
.button:hover{background:#fff}
.form-status{color:#c7cabc}
input:focus,textarea:focus{border-color:var(--paper)}
@media(max-width:720px){.platform-icons{left:6%;top:24%;gap:5px}.platform-icons svg{width:20px;height:20px}.platform-icons a span{font-size:7px}.footer-credit{font-size:6px}dialog{padding:25px}h2{font-size:64px}}
@media(max-width:560px){.header{display:flex}.platform-icons{top:23%;gap:2px}.platform-icons a{min-height:40px}.platform-icons a span{display:none}}
@media(max-height:650px){.platform-icons{top:22%;gap:0}.platform-icons a{min-height:34px}.platform-icons svg{width:18px;height:18px}}

/* Quiet motion, with no layout shifts. */
.portrait{animation:portrait-drift 24s ease-in-out infinite alternate;transform-origin:64% 40%}
.hero-content h1{animation:name-arrive 1s cubic-bezier(.2,.7,.2,1) both}
dialog[open]{animation:contact-arrive .32s cubic-bezier(.2,.7,.2,1) both}
dialog[open]::backdrop{animation:backdrop-arrive .32s ease-out both}
.platform-icons a:hover svg,.platform-icons a:focus-visible svg{transform:scale(1.08)}
.platform-icons svg{transition:transform .2s ease}
@keyframes portrait-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes name-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes contact-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.portrait,.hero-content h1,dialog[open],dialog[open]::backdrop{animation:none!important}.platform-icons a:hover,.platform-icons a:focus-visible,.platform-icons a:hover svg,.platform-icons a:focus-visible svg{transform:none}}

/* Clearer platform targets and a dedicated portrait crop for phones. */
.platform-icons svg{width:25px;height:25px}
.platform-icons a{min-width:44px;min-height:48px;gap:16px}
.platform-icons a span{font-size:9px;line-height:1.4;text-shadow:0 1px 8px #000}
.platform-icons a small{display:block;font-size:7px;letter-spacing:.3px;color:#c9cdbf;margin-top:3px}
@media(max-width:720px){.platform-icons svg{width:24px;height:24px}.platform-icons a{min-height:46px}}
@media(max-width:560px){.portrait{object-position:67% 36%;transform-origin:67% 36%}.platform-icons{top:26%;left:6%;gap:4px}.platform-icons svg{width:23px;height:23px}.platform-icons a{min-width:44px;min-height:44px}.footer{min-height:52px;padding:15px 0}.copyright{font-size:7px}}
@media(max-width:380px){.portrait{object-position:69% 36%}}
@media(max-height:650px){.platform-icons a{min-height:36px}.platform-icons svg{width:21px;height:21px}}

/* Verified compact and landscape layouts. */
.landing{min-height:100svh}
@media(max-width:560px){input,textarea{font-size:16px}.platform-icons a{min-height:44px}}
@media(max-width:360px){.field-row{grid-template-columns:1fr;gap:0}}
@media(max-height:500px) and (orientation:landscape){.header{padding-top:18px;padding-bottom:18px}.platform-icons{top:90px;left:4%;flex-direction:row;gap:9px}.platform-icons a{min-width:44px;min-height:44px}.platform-icons a span{display:none}.hero-content{padding-bottom:20px}.footer{min-height:46px;padding:12px 0}h1{font-size:min(15vw,150px)}dialog{max-height:calc(100svh - 24px)}}

.identity .role{line-height:1.7;letter-spacing:1.7px}.identity .role b{font-weight:400;color:var(--paper);margin-left:5px}
@media(max-width:560px){.identity .role{letter-spacing:1.2px;line-height:1.65}}

.identity .role b{display:inline-block;transform-origin:center;animation:slash-turn 8s linear infinite}
@keyframes slash-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.identity .role b{animation:none!important}}

/* Rotating slash with progressively fading angular trails. */
.identity .role .slash-orbit{position:relative;width:.7em;height:1em;vertical-align:-.1em;animation:none}
.slash-orbit i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;line-height:1;transform-origin:center;animation:slash-turn 4s linear infinite}
.slash-orbit .slash-front{opacity:1}
.slash-orbit .ghost-1{opacity:.32;animation-delay:-3.8s}
.slash-orbit .ghost-2{opacity:.17;animation-delay:-3.6s}
.slash-orbit .ghost-3{opacity:.07;animation-delay:-3.4s}
@media(prefers-reduced-motion:reduce){.slash-orbit i{animation:none!important}.slash-orbit .slash-ghost{display:none}}

/* A half-turn RGB trail behind the white slash. */
.slash-orbit .chroma-trail{color:var(--trail-color);opacity:var(--trail-opacity);animation-delay:var(--trail-delay);text-shadow:0 0 2px currentColor}
.slash-orbit .slash-front{color:var(--paper)}

/* Geometric slash: every trail shares an exact, stable center. */
.identity .role .slash-orbit{width:1em;height:1em;vertical-align:-.12em;line-height:1;transform:none!important}
.slash-orbit i{width:100%;height:100%;font-size:0;transform-origin:50% 50%;text-shadow:none!important}
.slash-orbit i::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:88%;background:currentColor;transform:translate(-50%,-50%) rotate(25deg);border-radius:.5px}
.slash-orbit .chroma-trail::before{box-shadow:0 0 1px currentColor}

/* Reveal the name from the footer rule, clipping all motion below it. */
.hero-content{padding-bottom:0}
.name-reveal{overflow:hidden;padding-top:.08em;font-size:17.2vw}
.hero-content h1{padding-bottom:30px;animation:name-from-rule 1.25s cubic-bezier(.22,.75,.2,1) .12s both}
@keyframes name-from-rule{from{transform:translateY(105%);opacity:1}to{transform:translateY(0);opacity:1}}
@media(max-width:720px){.name-reveal{font-size:16.5vw}.hero-content{padding-bottom:0}.hero-content h1{padding-bottom:27px}}
@media(max-width:420px){.hero-content h1{padding-bottom:23px}}
@media(max-height:500px) and (orientation:landscape){.hero-content{padding-bottom:0}.hero-content h1{padding-bottom:20px}}
@media(min-width:1800px){.hero-content{padding-bottom:0}.hero-content h1{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.hero-content h1{animation:none!important}}

/* A quieter header, legible platform labels, and a deliberate opening sequence. */
.identity{font-size:12px}.identity span+span{font-size:10px}
.contact-trigger{background:transparent;color:var(--paper);border:0;border-bottom:1px solid #ffffff99;border-radius:0;padding:12px 0;gap:18px;font-size:14px}
.contact-trigger:hover{background:transparent;color:var(--accent);border-color:var(--accent)}
.platform-icons a span{font-family:monospace;font-size:9px;line-height:1.4;letter-spacing:.5px;white-space:nowrap;opacity:0;transform:translateX(-4px) scale(1);transform-origin:left center;transition:opacity .2s ease,transform .9s cubic-bezier(.22,.75,.2,1);pointer-events:none}
.platform-icons a small{font-size:7px;line-height:1;letter-spacing:.3px;margin-top:0}
.platform-icons a:hover span,.platform-icons a:focus-visible span{opacity:1;transform:translateX(0) scale(2)}
.portrait{animation:portrait-reveal 1.5s ease-out both,portrait-drift 24s 1.5s ease-in-out infinite alternate}
.hero-content h1{animation:name-from-rule 1.1s cubic-bezier(.22,.75,.2,1) .4s both}
@keyframes portrait-reveal{from{opacity:.08}to{opacity:1}}
dialog{--contact-scale:1;width:min(calc(580px * var(--contact-scale)),calc(100% - 32px));padding:0;overflow:auto}
.dialog-content{padding:30px 38px 45px;zoom:var(--contact-scale)}
.resize-controls{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:3px;padding:4px 7px;background:#111310e8}
.resize-controls button{width:32px;height:32px;border:1px solid #ffffff55;color:var(--paper);background:transparent;cursor:pointer;font-size:18px;line-height:1}
.resize-handle{display:grid;place-items:center;width:38px;height:38px;color:#d0d1c7;cursor:nwse-resize;touch-action:none;user-select:none}
@media(max-width:720px){.identity{font-size:10px}.identity span+span{font-size:9px}.contact-trigger{font-size:13px;padding:12px 0;gap:10px}.dialog-content{padding:25px 25px 40px}.platform-icons a span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.portrait,.hero-content h1{animation:none!important}.platform-icons a span{transition:none}}
.link-arrow{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.1em;flex:none}
dialog:focus{outline:none}
.contact-trigger:hover,.contact-trigger:focus-visible{color:var(--paper);border-color:var(--paper)}
.contact-trigger:focus-visible{outline:1px solid var(--paper);outline-offset:5px}
@media (hover:none) and (pointer:coarse){.contact-trigger:focus-visible{outline:none}}
.wave-button{display:inline-grid;place-items:center;width:44px;height:32px;margin:-10px -6px -10px .2em;padding:0;border:0;background:transparent;color:var(--paper);vertical-align:middle;cursor:pointer}
.wave-button[aria-pressed="true"]{filter:drop-shadow(0 0 4px #f1f0e888)}
.role-wave{display:block;width:2.6em;height:1.05em;overflow:visible}
.role-wave polyline{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mini-eq[hidden]{display:none}.mini-eq{position:absolute;z-index:4;top:120px;left:4%;width:min(300px,calc(100vw - 48px));padding:14px;background:#101210ed;border:1px solid #ffffff4a;color:var(--paper);font-family:monospace;box-shadow:0 10px 35px #0008}
.eq-top,.eq-values{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;letter-spacing:.05em;color:#d5d7cd}.eq-top button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:5px}.eq-graph{display:block;width:100%;height:100px;margin:9px 0;touch-action:none;cursor:crosshair;background:linear-gradient(90deg,transparent 24.7%,#ffffff17 25%,transparent 25.3%,transparent 49.7%,#ffffff17 50%,transparent 50.3%,transparent 74.7%,#ffffff17 75%,transparent 75.3%)}.eq-center{fill:none;stroke:#ffffff40;stroke-width:1;vector-effect:non-scaling-stroke}.eq-curve{fill:none;stroke:var(--paper);stroke-width:1.5;vector-effect:non-scaling-stroke}.eq-point{fill:var(--paper);stroke:#151714;stroke-width:2;vector-effect:non-scaling-stroke}.eq-access{display:flex;gap:12px;margin-top:12px}.eq-access label{flex:1;margin:0;font-size:9px}.eq-access input{padding:0;margin-top:7px;accent-color:var(--paper);height:18px}.eq-values span:last-child{color:#aeb1a6}
@media(max-width:720px){.mini-eq{top:105px;left:6%;width:min(280px,calc(100vw - 48px))}}
.eq-access select{display:block;width:100%;margin-top:7px;background:#151714;color:var(--paper);border:1px solid #ffffff55;font:inherit;padding:3px}.eq-point.selected{stroke:#a9ada2;stroke-width:3}
.eq-spectrum{fill:#f1f0e826;stroke:#f1f0e85c;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.pitch-control{margin:12px 0 0;font-size:9px;letter-spacing:.05em;color:#d5d7cd}.pitch-control span{float:right}.pitch-control input{margin:6px 0 0;padding:0;height:18px;accent-color:var(--paper)}
.pitch-control .octave-marks{float:none;display:flex;justify-content:space-between;padding:0 3px;color:#aeb1a6}.octave-marks span{float:none}
.synth-panel[hidden],.synth-keys[hidden],.name-reveal[hidden]{display:none}.synth-panel{position:absolute;z-index:5;top:105px;left:4%;width:min(720px,92%);max-height:calc(100svh - 260px);overflow:auto;background:#101210ed;border:1px solid #ffffff45;padding:18px;font:10px monospace;color:var(--paper);box-shadow:0 12px 45px #0009}.synth-head{display:flex;justify-content:space-between;align-items:center;letter-spacing:.14em;margin-bottom:14px}.synth-head button{border:1px solid #ffffff70;background:transparent;color:inherit;width:34px;height:34px;cursor:pointer}.synth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.synth-grid fieldset{min-width:0;border:1px solid #ffffff38;padding:12px}.synth-grid legend{padding:0 6px;letter-spacing:.14em}.synth-grid label{font:9px monospace;color:#d5d7cd;margin:0 0 9px;letter-spacing:.04em}.synth-grid select{display:block;width:100%;margin-top:5px;padding:5px;color:var(--paper);background:#151714;border:1px solid #ffffff50;font:10px monospace}.synth-control output{float:right}.synth-control input[type=range]{display:block;width:100%;margin:6px 0 0;padding:0;height:16px;accent-color:var(--paper)}.synth-grid input[type=checkbox]{display:inline;width:auto;margin:0 5px 0 0;accent-color:var(--paper)}.synth-eq svg{width:100%;height:78px;display:block;touch-action:none;cursor:crosshair;background:repeating-linear-gradient(90deg,transparent 0,transparent 24%,#ffffff12 24.5%,transparent 25%)}#s-spectrum{fill:#ffffff24;stroke:#ffffff60;stroke-width:1}.s-eq-zero{fill:none;stroke:#ffffff45;stroke-width:1}#s-eq-curve{fill:none;stroke:var(--paper);stroke-width:1.5}#s-eq-points circle{fill:var(--paper);stroke:#111;stroke-width:2}.synth-hint{color:#b4b7ac;font-size:9px;letter-spacing:.07em;margin:14px 0 0}.synth-keys{position:relative;display:flex;width:min(92vw,1000px);height:clamp(90px,16vh,160px);margin:0 0 24px;animation:keys-arrive .6s ease both}.white-key{position:relative;flex:1;min-width:0;border:1px solid #101210;background:var(--paper);color:#151714;cursor:pointer;touch-action:none}.white-key span{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font:10px monospace}.black-key{position:absolute;top:0;left:calc(var(--key-position)*12.5% - 3.5%);width:7%;height:60%;z-index:1;border:1px solid #e5e5da;background:#171917;cursor:pointer;touch-action:none}.white-key.active{background:#b9bdb0}.black-key.active{background:#777b70}@keyframes keys-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.synth-panel{top:100px;left:6%;width:88%;max-height:calc(100svh - 250px);padding:12px}.synth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.synth-hint{line-height:1.5}.synth-keys{width:100%;height:95px;margin-bottom:18px}}@media(prefers-reduced-motion:reduce){.synth-keys{animation:none}}
.octave-control{display:flex;align-items:center;gap:10px;margin-top:14px;letter-spacing:.08em}.octave-control button{width:32px;height:32px;border:1px solid #ffffff70;background:transparent;color:var(--paper);font-size:16px;cursor:pointer}.octave-control button:disabled{opacity:.3}.octave-control output{min-width:18px;text-align:center}
.sound-panel[hidden],.sound-circles[hidden]{display:none}.sound-panel{position:absolute;z-index:4;left:4%;top:130px;width:min(440px,92%);padding:20px;background:#101210d9;border:1px solid #ffffff42;backdrop-filter:blur(12px);font:10px monospace;letter-spacing:.1em;color:var(--paper)}.sound-panel-top{display:flex;align-items:center;justify-content:space-between}.sound-close{width:36px;height:36px;border:1px solid #ffffff70;background:transparent;color:inherit;font-size:15px;cursor:pointer}.sound-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.sound-modes button{min-height:58px;text-align:left;padding:9px;border:1px solid #ffffff3a;background:transparent;color:var(--paper);font:11px monospace;letter-spacing:.1em;cursor:pointer}.sound-modes button[aria-pressed=true]{background:var(--paper);color:#151714}.sound-modes small{display:block;font-size:7px;line-height:1.4;letter-spacing:.03em;margin-top:6px;opacity:.7}.sound-volume{display:flex;align-items:center;gap:12px;margin:0;color:#d4d6ca;font:9px monospace}.sound-volume input{width:120px;height:18px;margin:0;padding:0;accent-color:var(--paper)}.sound-hint{font:9px monospace;color:#aeb1a6;letter-spacing:.1em;margin:18px 0 0}.sound-circles{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:clamp(95px,17vw,230px);padding:18px 0 30px;animation:sound-reveal .8s ease both}.sound-circle{position:relative;flex:1;max-width:120px;aspect-ratio:1;border:1px solid #f1f0e8a8;border-radius:50%;background:#f1f0e810;color:var(--paper);cursor:pointer;touch-action:manipulation;transition:background .25s,transform .25s}.sound-circle span{font:9px monospace;opacity:.65}.sound-circle:hover,.sound-circle:focus-visible{background:#f1f0e82b}.sound-circle.played{animation:sound-pulse 1.4s ease-out}.sound-circle::after{content:'';position:absolute;inset:11%;border:1px solid #f1f0e838;border-radius:50%}@keyframes sound-pulse{0%{transform:scale(.94);background:#f1f0e87a}30%{transform:scale(1.08);background:#f1f0e83a}100%{transform:scale(1);background:#f1f0e810}}@keyframes sound-reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.sound-panel{left:6%;top:110px;width:88%;padding:14px}.sound-modes{gap:5px;margin:15px 0}.sound-modes button{font-size:9px;padding:6px}.sound-modes small{font-size:6px}.sound-circles{gap:5px;min-height:85px;padding-bottom:27px}.sound-circle{min-width:0}.sound-circle span{font-size:7px}}@media(prefers-reduced-motion:reduce){.sound-circles,.sound-circle.played{animation:none}}
.sound-volume{justify-content:space-between;max-width:220px;margin:8px 0}.sound-volume input{flex:1}
.sound-panel-top{justify-content:flex-end}.sound-error{font:9px monospace;color:#d4d6ca;line-height:1.5}
@media(max-width:720px){.sound-circles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(100%,360px);margin:0 auto;min-height:0;padding:10px 0 20px}.sound-circles[hidden]{display:none}.sound-circle{width:100%;max-width:none;min-width:44px}.sound-panel{max-height:calc(100svh - 340px);overflow:auto}}
.sound-circle{touch-action:none}.sound-circle.held{background:#f1f0e83d;box-shadow:0 0 18px #f1f0e830}
.morph-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:20;pointer-events:none}
.sound-panel-top{gap:8px}.ambient-settings-toggle{width:36px;height:36px;border:1px solid #ffffff70;background:transparent;color:var(--paper);font-size:16px;cursor:pointer}.ambient-settings[hidden]{display:none}.ambient-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;border-top:1px solid #ffffff35;margin-top:14px;padding-top:14px}.ambient-settings label{margin:0;color:#d4d6ca;font:9px monospace}.ambient-settings output{float:right}.ambient-settings input{height:18px;margin:4px 0 0;padding:0;accent-color:var(--paper)}.ambient-reset{justify-self:start;border:1px solid #ffffff60;background:transparent;color:var(--paper);padding:6px 12px;font:9px monospace;cursor:pointer}.sound-panel{max-height:calc(100svh - 270px);overflow:auto}@media(max-width:720px){.sound-panel{max-height:calc(100svh - 340px)}}
.midi-connect{min-width:48px;height:36px;border:1px solid #ffffff70;background:transparent;color:var(--paper);font:10px monospace;cursor:pointer}.midi-status{font:9px monospace;line-height:1.5;color:#c5c9bd;margin:8px 0 0}
.ambient-settings label[hidden]{display:none}
.timeline{position:absolute;z-index:1;top:0;left:4%;right:4%;height:14px;border-top:1px solid #f1f0e83b;background:repeating-linear-gradient(90deg,#f1f0e85c 0 1px,transparent 1px 6.25%),repeating-linear-gradient(90deg,#f1f0e82b 0 1px,transparent 1px 1.5625%);background-size:100% 10px,100% 5px;background-repeat:no-repeat;pointer-events:none}
.timeline-playhead{position:absolute;top:0;left:0;width:1px;height:14px;background:#f1f0e8b3;animation:timeline-scan 16s linear infinite}
@keyframes timeline-scan{from{left:0}to{left:100%}}
@media(max-width:720px){.timeline{left:6%;right:6%;opacity:.7}}
@media(prefers-reduced-motion:reduce){.timeline-playhead{animation:none;left:0}}

.sound-circles,.sound-circle{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* Keep iOS long-press and double-tap gestures out of the playing surface. */
.landing.sound-playing,.landing.sound-playing *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.landing.sound-playing{touch-action:manipulation}
.landing.sound-playing .portrait{-webkit-user-drag:none}

.sound-circles{position:relative;padding-top:100px}
.sound-overblow{position:absolute;top:0;left:50%;transform:translateX(-50%);width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--paper);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.sound-overblow::before{content:'';position:absolute;inset:7px;border:1px solid #f1f0e880;border-radius:50%;background:#f1f0e80b;transition:background .12s,box-shadow .12s}
.sound-overblow::after{content:'';position:absolute;inset:17px;border:1px solid #f1f0e870;border-radius:50%;pointer-events:none}
.sound-overblow[aria-pressed=true]::before{background:#f1f0e8b0;box-shadow:0 0 15px #f1f0e84d}
.sound-overblow[aria-pressed=true]::after{border-color:#171917a0}

.sound-overblow{transform:translateX(-50%) translate(var(--rubber-x,0px),var(--rubber-y,0px));transition:transform .45s cubic-bezier(.22,1.4,.4,1)}
.sound-overblow::before,.sound-overblow::after{transform:rotate(var(--rubber-angle,0deg)) scale(var(--rubber-long,1),var(--rubber-short,1));transition:transform .45s cubic-bezier(.22,1.4,.4,1),background .12s,box-shadow .12s;pointer-events:none}
.sound-overblow.is-dragging,.sound-overblow.is-dragging::before,.sound-overblow.is-dragging::after{transition-duration:.08s;transition-timing-function:linear}
@media(prefers-reduced-motion:reduce){.sound-overblow,.sound-overblow::before,.sound-overblow::after{transition:none}}
