/* Pulse Studio — theme 2 (Lucas 2026-10-23 "refais l'ensemble du visuel, change tout"): the landing's premium look applied to the whole studio.
   A layer over studio.css / style.css: glass surfaces, soft pink / violet glows, tighter display type, pill buttons with a glow, one accent.
   Only looks: no selector here is used by a script. */

/* ---------- canvas + sidebar */
.ps2.shell{background:radial-gradient(1000px 700px at -10% 0%,#ff4f8b16,transparent 70%),radial-gradient(900px 700px at 110% 30%,#7c5cff18,transparent 70%),radial-gradient(800px 600px at 40% 110%,#ff4f8b0c,transparent 70%),#0a090d;background-attachment:fixed}
.ps2 .side{background:#0e0c12b8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid #ffffff0e;padding:22px 16px}
.ps2 .side .brand{padding:0 10px 4px;font-size:19px;letter-spacing:-.02em}
.ps2 .side .logo{width:34px;height:34px;border-radius:11px;box-shadow:0 6px 22px #ff4f8b66,inset 0 1px 0 #ffffff55}
.ps2 .side nav{gap:2px}
.ps2 .side nav .grp{color:#7f7793;font:700 10.5px/1 Inter,sans-serif;letter-spacing:.16em;padding:20px 14px 8px}
.ps2 .side nav a{padding:10px 14px;border-radius:14px;font:500 14px/1 Inter,sans-serif;color:#cfc6d8;gap:12px;transition:background .15s,color .15s,transform .15s,box-shadow .15s}
.ps2 .side nav a svg{opacity:.75}
.ps2 .side nav a:hover{background:#ffffff0a;color:#fff;transform:translateX(2px)}
.ps2 .side nav a.active{background:linear-gradient(120deg,#ff4f8b,#a855f7 60%,#6366f1);color:#fff;box-shadow:0 10px 26px #ff4f8b3d,inset 0 1px 0 #ffffff33}
.ps2 .side nav a.active svg{color:#fff;opacity:1}
.ps2 .side-foot .pill{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px}
.ps2 main{padding:30px clamp(18px,3.4vw,52px) 90px}
.ps2 ::-webkit-scrollbar{width:10px;height:10px}.ps2 ::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px;border:2px solid transparent;background-clip:padding-box}.ps2 ::-webkit-scrollbar-track{background:transparent}

/* ---------- page heads + type */
.ps2 .s2-head{margin:0 0 28px;padding:4px 0 24px;border-bottom:1px solid #ffffff0f;align-items:end}
.ps2 .s2-head h1{margin:0;font:700 clamp(32px,3.4vw,48px)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.035em;color:#fff}
.ps2 .s2-sub{margin:10px 0 0;color:#a9a2b4;font-size:15.5px;line-height:1.55;max-width:720px}
.ps2 .s2-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 10px;color:#c4b5fd;font:700 11.5px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.ps2 .s2-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(120deg,#ff4f8b,#a855f7);box-shadow:0 0 14px #ff4f8b}
.ps2 .s2-h2{font:700 clamp(22px,2.2vw,30px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.03em;margin:8px 0 16px}
.ps2 .s2-h2 a{color:#ff8fb6;font:600 13.5px/1 Inter,sans-serif;padding:7px 12px;border-radius:999px;background:#ff4f8b14;border:1px solid #ff4f8b2e;transition:.15s}
.ps2 .s2-h2 a:hover{background:#ff4f8b26;color:#fff}
.ps2 .s2-list-h,.ps2 .s2-cn3-l,.ps2 .s2-avx-lab{color:#8f87a3;letter-spacing:.1em}
.ps2 .s2-card h3,.ps2 .s2-block h3{font:700 18px/1.15 "Space Grotesk",sans-serif;letter-spacing:-.02em}

/* ---------- surfaces */
.ps2 .s2-card,.ps2 .s2-block,.ps2 .s2-model,.ps2 .s2-m4,.ps2 .s2-mate,.ps2 .s2-av-g,.ps2 .s2-draft{background:linear-gradient(160deg,#ffffff0c,#ffffff04);border:1px solid #ffffff12;box-shadow:0 18px 48px #00000040,inset 0 1px 0 #ffffff12}
.ps2 .s2-card{border-radius:26px;padding:24px 26px}
.ps2 .s2-m4,.ps2 .s2-mate{transition:transform .18s,border-color .18s,box-shadow .18s}
.ps2 .s2-m4:hover,.ps2 .s2-mate:hover,.ps2 .s2-draft:hover{transform:translateY(-3px);border-color:#ff4f8b55;box-shadow:0 24px 60px #00000066,0 0 0 1px #ff4f8b22}
.ps2 .s2-m4-new,.ps2 .s2-model-new,.ps2 .s2-m4-empty,.ps2 .s2-draft{background:#ffffff05;border-style:dashed;border-color:#ffffff22;box-shadow:none}
.ps2 .s2-topline{padding:10px 16px;border-radius:999px;background:#ffffff07;border:1px solid #ffffff12;backdrop-filter:blur(8px)}
.ps2 .s2-bar{background:#ffffff10;border-radius:99px;overflow:hidden}.ps2 .s2-bar i{background:linear-gradient(90deg,#ff4f8b,#a855f7,#6366f1);box-shadow:0 0 14px #ff4f8b88}

/* ---------- controls */
.ps2 .s2-btn{padding:13px 22px;font-weight:700;letter-spacing:.005em;box-shadow:0 10px 28px #ff4f8b36,inset 0 1px 0 #ffffff3a;transition:transform .15s,box-shadow .15s,filter .15s}
.ps2 .s2-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 36px #a855f74d,inset 0 1px 0 #ffffff3a;filter:saturate(1.08)}
.ps2 .s2-btn:active:not(:disabled){transform:translateY(0)}
.ps2 .s2-btn:disabled{opacity:.42;box-shadow:none;cursor:not-allowed}
.ps2 .s2-btn-ghost{background:#ffffff0a;backdrop-filter:blur(6px);border:1px solid #ffffff22;box-shadow:none;font-weight:600}
.ps2 .s2-btn-ghost:hover:not(:disabled){background:#ffffff14;border-color:#ff4f8b66;box-shadow:0 10px 24px #00000040}
.ps2 .s2-btn-sm{padding:9px 14px;font-size:13.5px}
.ps2 .s2-btn-lg{padding:16px 28px;font-size:16.5px}
.ps2 .s2-pills button{background:#ffffff08;border:1px solid #ffffff16;padding:9px 14px;color:#d9d2e3;transition:background .15s,border-color .15s,transform .12s}
.ps2 .s2-pills button:hover{border-color:#ff4f8b66;background:#ff4f8b14;color:#fff}
.ps2 .s2-pills button.is-on{background:linear-gradient(120deg,#ff4f8b,#a855f7 60%,#6366f1);border-color:transparent;color:#fff;box-shadow:0 6px 18px #ff4f8b3a,inset 0 1px 0 #ffffff33}
.ps2 .s2-seg,.ps2 .s2-cn3 #cn-type,.ps2 .s2-cn3 #cn-where2,.ps2 .s2-avx-tabs{background:#ffffff07;border:1px solid #ffffff14;backdrop-filter:blur(6px)}
.ps2 .s2-seg button.is-on,.ps2 .s2-avx-tabs button.is-on{box-shadow:0 6px 18px #ff4f8b3a}
.ps2 .s2-lab input:not([type=range]),.ps2 .s2-lab textarea,.ps2 .s2-avx-in,.ps2 .s2-field input,.ps2 .s2-field textarea,.ps2 .s2-field select{background:#ffffff07;border:1px solid #ffffff18;border-radius:14px;color:#f6f2f9;transition:border-color .15s,box-shadow .15s,background .15s}
.ps2 .s2-lab input:focus,.ps2 .s2-lab textarea:focus,.ps2 .s2-avx-in:focus,.ps2 .s2-field input:focus,.ps2 .s2-field textarea:focus{outline:none;border-color:#ff4f8b;box-shadow:0 0 0 3px #ff4f8b26;background:#ffffff0b}
.ps2 .s2-lab input::placeholder,.ps2 .s2-avx-in::placeholder{color:#6f6880}
.ps2 .s2-choice button,.ps2 .s2-lenses button,.ps2 .s2-scenes button,.ps2 .s2-pick-models button{background:#ffffff07;border:1px solid #ffffff14;border-radius:20px;transition:border-color .15s,background .15s,transform .15s}
.ps2 .s2-choice button:hover,.ps2 .s2-lenses button:hover,.ps2 .s2-scenes button:hover{background:#ffffff0b;transform:translateY(-1px)}
.ps2 .s2-choice button.is-on,.ps2 .s2-lenses button.is-on,.ps2 .s2-scenes button.is-on{background:linear-gradient(160deg,#ff4f8b24,#6366f114);border-color:#ff4f8b;box-shadow:0 0 0 3px #ff4f8b22,0 14px 34px #ff4f8b1f}
.ps2 input[type=range]{accent-color:#ff4f8b}
.ps2 .s2-check{color:#cfc6d8}

/* ---------- tiles + photos */
.ps2 .s2-cr3-tile{border-radius:18px;box-shadow:0 10px 30px #00000055;transition:transform .18s,box-shadow .18s}
.ps2 .s2-cr3-tile:hover{transform:translateY(-2px) scale(1.01)}
.ps2 .s2-cr3-tile.is-on{border-color:#ff4f8b;box-shadow:0 0 0 3px #ff4f8b33,0 14px 34px #ff4f8b26}
.ps2 .s2-cr3-tile span{background:linear-gradient(180deg,transparent,#000000cc)}
.ps2 .s2-avx-shot,.ps2 .s2-hero3-pic,.ps2 .s2-m4-pic,.ps2 .s2-mate-pic{box-shadow:0 14px 36px #00000066}
.ps2 .s2-avx-shot figcaption,.ps2 .s2-m4-badge,.ps2 .s2-rc-ex figcaption{backdrop-filter:blur(8px);background:#0a090dcc;border:1px solid #ffffff14}
.ps2 .s2-world figure,.ps2 .s2-grid figure,.ps2 .th .img{border-radius:16px;overflow:hidden;box-shadow:0 10px 26px #00000055}
.ps2 .s2-world figure img,.ps2 .s2-ph img{transition:transform .25s}.ps2 .s2-world figure:hover img,.ps2 .s2-ph:hover img{transform:scale(1.03)}
.ps2 .s2-prog li{background:#ffffff07;border-color:#ffffff14}.ps2 .s2-prog .is-cur{background:#ff4f8b14;border-color:#ff4f8b66}

/* ---------- states, toasts, dialogs */
.ps2 .s2-state{font-weight:500}
.toast{background:#17131fe8;backdrop-filter:blur(10px);border:1px solid #ff4f8b55;border-radius:14px;color:#fff;box-shadow:0 20px 50px #000a;font-weight:500}
.s2-confirm{background:#0a090dbb;backdrop-filter:blur(8px)}
.s2-confirm-box{background:linear-gradient(160deg,#1a1622,#0f0d13);border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 30px 80px #000c,inset 0 1px 0 #ffffff14}
.ps2 .s2-cn3-bar,.ps2 .s2-cn3-top{background:#15121bd9;backdrop-filter:blur(14px);border:1px solid #ffffff14;box-shadow:0 18px 48px #00000055}
.ps2 .s2-cn3-work .s2-card{box-shadow:0 18px 48px #00000040,inset 0 1px 0 #ffffff12}
.ps2 .s2-cast4-sec h2 small,.ps2 .s2-cast-h h2 small{background:#ffffff08;border-color:#ffffff1a}
.ps2 .s2-draft-tag,.ps2 .s2-soon{background:#ff4f8b1f;color:#ff9cc0}

/* ---------- motion */
@media (prefers-reduced-motion:reduce){.ps2 *{transition:none!important}}
