:root{--pt-accent:#d94cff;--pt-accent-soft:#8f49bb;--pt-accent-pastel:#c58bdc;--pt-accent-rgb:217,76,255;--pt-metal-hi:#34233b;--pt-metal:#1c151f;--pt-metal-lo:#0d0a0f}
body{background:radial-gradient(circle at 78% 3%,rgba(var(--pt-accent-rgb),.09),transparent 28%),linear-gradient(180deg,#060706,#040504 58%,#060706)}
.pt-top i{background:var(--pt-accent);box-shadow:0 0 14px rgba(var(--pt-accent-rgb),.92)}
.pt-top a:hover,.pt-intro p,.pt-help b,.pt-loader>div>span,.pt-screen__top b,.pt-meter>b,.pt-auto span,.pt-control output,.pt-modes b,.pt-render>div:first-child>span,.pt-note strong{color:var(--pt-accent)}
.pt-shell{border-color:#4d3c53;background:repeating-linear-gradient(96deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.03) 1px 3px),radial-gradient(circle at 72% 0,rgba(var(--pt-accent-rgb),.12),transparent 30%),linear-gradient(145deg,#29212c,var(--pt-metal) 48%,var(--pt-metal-lo));box-shadow:0 34px 72px rgba(0,0,0,.62),0 8px 18px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.18),inset 0 -2px 4px rgba(0,0,0,.86),0 0 30px rgba(var(--pt-accent-rgb),.05)}
.pt-shell__head{background:linear-gradient(180deg,rgba(var(--pt-accent-rgb),.12),rgba(255,255,255,.025) 48%,rgba(0,0,0,.12));border-bottom-color:rgba(var(--pt-accent-rgb),.13)}
.pt-shell__head strong{text-shadow:0 0 18px rgba(var(--pt-accent-rgb),.1)}
button:hover:not(:disabled),.pt-load:hover{border-color:rgba(var(--pt-accent-rgb),.72);color:var(--pt-accent)}
.pt-head-actions button.is-active{color:var(--pt-accent);border-color:rgba(var(--pt-accent-rgb),.68);box-shadow:0 0 16px rgba(var(--pt-accent-rgb),.08)}
.pt-loader{border-color:rgba(var(--pt-accent-rgb),.25)}.pt-loader.is-drag{border-color:var(--pt-accent);background:rgba(var(--pt-accent-rgb),.06)}.pt-load{color:var(--pt-accent);border-color:rgba(var(--pt-accent-rgb),.5);background:linear-gradient(#34223a,#171119)}
.pt-screen{border-color:#4a3a50;background:linear-gradient(145deg,#040305,#0d0910);box-shadow:inset 0 0 30px rgba(0,0,0,.88),0 5px 12px rgba(0,0,0,.4),0 0 18px rgba(var(--pt-accent-rgb),.04)}
#transientCanvas{border-color:rgba(var(--pt-accent-rgb),.14);background:linear-gradient(rgba(var(--pt-accent-rgb),.028) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--pt-accent-rgb),.028) 1px,transparent 1px),#040305;background-size:100% 32px,54px 100%,100% 100%}
.pt-legend i.attack{background:var(--pt-accent)}.pt-legend i.body{background:var(--pt-accent-pastel);opacity:.62}
.pt-meter{border-color:#4b3a50;background:linear-gradient(#151017,#09070a)}.pt-meter__bar i{background:linear-gradient(90deg,var(--pt-accent-pastel),var(--pt-accent));box-shadow:0 0 12px rgba(var(--pt-accent-rgb),.38)}
.pt-progress i{background:var(--pt-accent);box-shadow:0 0 12px rgba(var(--pt-accent-rgb),.6)}
.pt-auto,.pt-render{border-color:rgba(var(--pt-accent-rgb),.22);background:linear-gradient(90deg,rgba(var(--pt-accent-rgb),.045),rgba(0,0,0,.12))}
.pt-controls{align-items:stretch}
.pt-control{position:relative;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:18px 14px 14px;border-color:#4a3a4e;background:radial-gradient(circle at 50% 24%,rgba(var(--pt-accent-rgb),.06),transparent 36%),linear-gradient(155deg,#201922,#0d0a0f);box-shadow:inset 0 1px rgba(255,255,255,.06),0 5px 11px rgba(0,0,0,.36)}
.pt-control>span{align-self:flex-start;width:100%}.pt-control output{position:absolute;right:14px;top:18px}.pt-control small{margin-top:auto;text-align:center;min-height:20px}
.pt-control.is-knob input[type="range"]{--knob-angle:0deg;position:relative;width:74px;height:74px;margin:20px auto 9px;border-radius:50%;appearance:none;-webkit-appearance:none;background:conic-gradient(from -135deg,var(--pt-accent) 0deg,var(--pt-accent) var(--knob-angle),#18131a var(--knob-angle) 270deg,#0a080b 270deg 360deg);border:1px solid #55445a;box-shadow:0 7px 12px #000,inset 0 1px rgba(255,255,255,.2),inset 0 -5px 9px rgba(0,0,0,.7),0 0 14px rgba(var(--pt-accent-rgb),.09);cursor:pointer}
.pt-control.is-knob input[type="range"]::-webkit-slider-runnable-track{height:74px;background:transparent;border:0;box-shadow:none}.pt-control.is-knob input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:4px;height:29px;margin:4px 0 0 34px;border:0;border-radius:2px;background:linear-gradient(var(--pt-accent),#fff);box-shadow:0 0 7px rgba(var(--pt-accent-rgb),.8);transform-origin:2px 33px;transform:rotate(var(--knob-needle,0deg));pointer-events:none}.pt-control.is-knob input[type="range"]::-moz-range-track{height:74px;background:transparent;border:0}.pt-control.is-knob input[type="range"]::-moz-range-thumb{width:4px;height:29px;border:0;border-radius:2px;background:var(--pt-accent);box-shadow:0 0 7px rgba(var(--pt-accent-rgb),.8)}
.pt-control.is-fader input[type="range"]{width:92%;margin:33px auto 25px}.pt-control.is-fader input[type="range"]::-webkit-slider-runnable-track{height:8px;border-color:#443548;background:linear-gradient(90deg,transparent 49%,rgba(var(--pt-accent-rgb),.62) 49% 51%,transparent 51%),#09070a}.pt-control.is-fader input[type="range"]::-webkit-slider-thumb{width:20px;height:31px;margin-top:-12px;border-color:#6a566f;background:linear-gradient(90deg,#111 0 43%,var(--pt-accent) 43% 57%,#111 57% 100%);box-shadow:0 4px 7px #000,0 0 10px rgba(var(--pt-accent-rgb),.18),inset 0 1px rgba(255,255,255,.18)}
.pt-mode-buttons input:checked+span{border-color:rgba(var(--pt-accent-rgb),.6);color:var(--pt-accent);background:#211526;box-shadow:0 0 13px rgba(var(--pt-accent-rgb),.08)}
.pt-diagnostics,.pt-analysis{border-color:rgba(var(--pt-accent-rgb),.09)}
@media(max-width:900px){.pt-control{min-height:158px}}
@media(max-width:650px){.pt-controls{grid-template-columns:1fr 1fr}.pt-control{min-height:150px}.pt-control.is-knob input[type="range"]{width:68px;height:68px}.pt-control.is-knob input[type="range"]::-webkit-slider-runnable-track{height:68px}}

/* V03 — compact brushed-metal PURE hardware */
.pt-page{width:min(1240px,calc(100% - 28px));padding-top:26px}
.pt-top{margin-bottom:28px}
.pt-intro{grid-template-columns:1fr auto;gap:30px;margin-bottom:24px}
.pt-intro h1{font-size:clamp(42px,6vw,72px);line-height:.88}
.pt-intro>span{max-width:480px}
.pt-shell{border:1px solid #d8dcda;background:repeating-linear-gradient(92deg,rgba(255,255,255,.25) 0 1px,rgba(33,38,35,.045) 1px 3px),linear-gradient(145deg,#f1f3f2 0%,#aeb5b1 43%,#e6e9e7 72%,#858d88 100%);box-shadow:0 35px 80px #000b,inset 0 2px 1px #fff,inset 0 -3px 5px #515853}
.pt-shell__head{min-height:72px;padding:12px 22px;background:linear-gradient(180deg,#f2f4f3,#9ca49f);border-bottom:1px solid #626a65;box-shadow:inset 0 1px #fff,0 5px 14px #0006}
.pt-shell__head strong{color:#111512;font-size:16px;text-shadow:0 1px #fff}
.pt-shell__head small{color:#3e4741;font-size:9px}
.pt-shell__head img{width:82px;filter:drop-shadow(0 2px 1px #fff) drop-shadow(0 3px 3px #2227)}
.pt-help{padding:11px 22px;background:linear-gradient(180deg,#121714,#080b09)}
.pt-loader{margin-top:16px;margin-bottom:14px;background:linear-gradient(145deg,#181d1a,#090c0a);box-shadow:inset 0 1px #fff1,0 3px 8px #0006}
.pt-presets{display:flex;align-items:center;gap:7px;margin:0 24px 14px;padding:8px 10px;border:1px solid #414a44;border-radius:5px;background:#0b0f0c;box-shadow:inset 0 1px #fff1}
.pt-presets>span{margin-right:5px;color:#aeb8b2;font:800 9px/1 "Courier New",monospace;letter-spacing:.12em}
.pt-presets button{min-height:30px;padding:0 10px;font-size:8px}
.pt-presets button.is-active{border-color:var(--pt-accent);color:var(--pt-accent);background:rgba(var(--pt-accent-rgb),.11);box-shadow:0 0 13px rgba(var(--pt-accent-rgb),.12)}
.pt-display{margin-bottom:14px}
.pt-screen{border:5px solid #242925;border-radius:8px;background:#030504;box-shadow:inset 0 0 36px #000,0 1px #fff8,0 8px 18px #0008}
#transientCanvas{height:210px;filter:drop-shadow(0 0 5px rgba(var(--pt-accent-rgb),.13))}
.pt-analysis,.pt-diagnostics,.pt-auto,.pt-modes,.pt-render,.pt-result{background:linear-gradient(150deg,#171c19,#080b09);box-shadow:inset 0 1px #fff1,0 3px 8px #0005}
.pt-controls{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.pt-control{min-height:158px;padding:15px 10px 11px;border-radius:5px}
.pt-control>span{font-size:8px}.pt-control output{top:15px;right:10px;font-size:9px}.pt-control small{font-size:7px}
.pt-control.is-knob input[type="range"]{width:66px;height:66px;margin-top:18px}
.pt-control.is-knob input[type="range"]::-webkit-slider-runnable-track{height:66px}
.pt-control.is-fader input[type="range"]{margin:30px auto 23px}
.pt-render__actions #processBtn{border-color:var(--pt-accent);color:var(--pt-accent);background:linear-gradient(#332038,#151017)}
.pt-note{margin-bottom:18px}
button:focus-visible,.pt-load:focus-within,input:focus-visible{outline:2px solid var(--pt-accent);outline-offset:3px}
@media(max-width:1000px){.pt-controls{grid-template-columns:repeat(3,1fr)}.pt-control{min-height:150px}}
@media(max-width:650px){.pt-page{width:min(100% - 12px,1240px);padding-top:16px}.pt-intro{grid-template-columns:1fr}.pt-intro>span{font-size:13px}.pt-presets{flex-wrap:wrap;margin-inline:12px}.pt-presets>span{width:100%;padding:3px}.pt-presets button{flex:1 1 42%}.pt-controls{grid-template-columns:repeat(2,1fr)}}

/* V04 — calibrated controls shared with the original PURE hardware language */
.pt-knob-shell{--knob-value:0deg;--knob-angle:-135deg;position:relative;width:84px;height:84px;margin:13px auto 5px;flex:0 0 84px;border-radius:50%;filter:drop-shadow(0 8px 7px #0009)}
.pt-knob-scale{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 225deg,var(--pt-accent) 0deg var(--knob-value),#303632 var(--knob-value) 270deg,transparent 270deg 360deg);box-shadow:inset 0 0 0 1px #69716c,0 0 12px rgba(var(--pt-accent-rgb),.16)}
.pt-knob-scale:after{content:"";position:absolute;inset:5px;border-radius:50%;background:repeating-conic-gradient(from 225deg,rgba(255,255,255,.72) 0deg 1deg,transparent 1deg 13.5deg);clip-path:path("M 42 0 A 42 42 0 1 1 8 67 L 17 60 A 31 31 0 1 0 42 11 Z")}
.pt-knob-face{position:absolute;inset:11px;border:1px solid #626a65;border-radius:50%;background:radial-gradient(circle at 38% 28%,#4c544f 0 5%,#222824 34%,#090c0a 72%,#202622 100%);box-shadow:inset 0 2px 2px #fff3,inset 0 -8px 13px #000b,0 2px 3px #000}
.pt-knob-face:after{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid #050706;box-shadow:inset 0 0 8px #0009}
.pt-knob-needle{position:absolute;z-index:2;left:50%;top:50%;width:3px;height:29px;border-radius:2px;background:linear-gradient(180deg,#fff 0 12%,var(--pt-accent) 15% 100%);box-shadow:0 0 7px rgba(var(--pt-accent-rgb),.9);transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--knob-angle));transition:transform .045s linear}
.pt-knob-hub{position:absolute;z-index:3;left:50%;top:50%;width:10px;height:10px;border:1px solid #6f7772;border-radius:50%;background:radial-gradient(circle at 38% 30%,#646c67,#151a17 55%,#050706);box-shadow:0 2px 4px #000;transform:translate(-50%,-50%)}
.pt-control.is-knob .pt-knob-shell input[type="range"]{position:absolute;z-index:5;inset:-5px;width:94px;height:94px;margin:0;opacity:.001;cursor:grab;-webkit-appearance:none;appearance:none}
.pt-control.is-knob .pt-knob-shell input[type="range"]:active{cursor:grabbing}
.pt-control.is-knob .pt-knob-shell input[type="range"]::-webkit-slider-runnable-track{width:100%;height:100%;background:transparent;border:0}
.pt-control.is-knob .pt-knob-shell input[type="range"]::-webkit-slider-thumb{width:1px;height:1px;margin:0;border:0;background:transparent;box-shadow:none;transform:none}
.pt-control.is-knob .pt-knob-shell input[type="range"]::-moz-range-track{width:100%;height:100%;background:transparent;border:0}
.pt-control.is-knob .pt-knob-shell input[type="range"]::-moz-range-thumb{width:1px;height:1px;border:0;background:transparent;box-shadow:none}
.pt-knob-shell:focus-within{outline:2px solid var(--pt-accent);outline-offset:4px}
.pt-control.is-fader input[type="range"]{--control-position:50%;width:94%;height:34px;margin:25px auto 20px}
.pt-control.is-fader input[type="range"]::-webkit-slider-runnable-track{height:9px;border:1px solid #4c544f;border-radius:2px;background:linear-gradient(90deg,#070907 0 var(--control-position),rgba(var(--pt-accent-rgb),.72) var(--control-position) calc(var(--control-position) + 2px),#070907 calc(var(--control-position) + 2px) 100%);box-shadow:inset 0 3px 4px #000,0 1px #fff2}
.pt-control.is-fader input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:32px;margin-top:-13px;border:1px solid #6e7671;border-radius:3px;background:linear-gradient(90deg,#080a09 0 42%,var(--pt-accent) 42% 58%,#080a09 58% 100%);box-shadow:0 5px 7px #000b,inset 0 1px #fff4,0 0 9px rgba(var(--pt-accent-rgb),.22)}
.pt-control.is-fader input[type="range"]::-moz-range-track{height:9px;border:1px solid #4c544f;border-radius:2px;background:#070907;box-shadow:inset 0 3px 4px #000}
.pt-control.is-fader input[type="range"]::-moz-range-progress{height:7px;background:rgba(var(--pt-accent-rgb),.5)}
.pt-control.is-fader input[type="range"]::-moz-range-thumb{width:22px;height:32px;border:1px solid #6e7671;border-radius:3px;background:linear-gradient(90deg,#080a09 0 42%,var(--pt-accent) 42% 58%,#080a09 58% 100%);box-shadow:0 5px 7px #000b}
.pt-control output{min-width:54px;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:650px){.pt-knob-shell{width:78px;height:78px;flex-basis:78px}.pt-control.is-knob .pt-knob-shell input[type="range"]{width:88px;height:88px}}
