:root{
  --ssd-bg:#05020a;
  --ssd-bg-2:#0c0613;
  --ssd-fuchsia:#ff3bd4;
  --ssd-violet:#9a55ff;
  --ssd-cyan:#5deaff;
  --ssd-white:#f7f5ff;
  --ssd-muted:#a7a1b5;
  --ssd-line:rgba(255,255,255,.11);
  --ssd-glass:rgba(12,7,22,.62);
  --ssd-success:#72ffd0;
  --ssd-warn:#ffd574;
}

.ssd-app,
.ssd-app *{box-sizing:border-box}
.ssd-app button,.ssd-app input,.ssd-app a{font:inherit}
.ssd-app button{cursor:pointer}
.ssd-app[hidden],.ssd-app [hidden]{display:none!important}
.ssd-app{
  position:relative;
  isolation:isolate;
  width:100vw;
  min-height:100dvh;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  color:var(--ssd-white);
  background:
    radial-gradient(circle at 15% 10%,rgba(154,85,255,.20),transparent 30%),
    radial-gradient(circle at 86% 14%,rgba(93,234,255,.11),transparent 27%),
    radial-gradient(circle at 72% 87%,rgba(255,59,212,.14),transparent 31%),
    linear-gradient(135deg,#030106 0%,#09030e 45%,#03050a 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.4;
}
.ssd-pseudo-fullscreen{position:fixed!important;inset:0!important;z-index:999999!important;margin:0!important;width:100vw!important;height:100dvh!important}
.ssd-particles,.ssd-aurora,.ssd-grid,.ssd-scanlines{position:absolute;inset:0;pointer-events:none}
.ssd-particles{z-index:-2}
.ssd-aurora{z-index:-3;background:conic-gradient(from 180deg at 50% 50%,rgba(255,59,212,.07),rgba(74,233,255,.06),rgba(154,85,255,.11),rgba(255,59,212,.07));filter:blur(70px);transform:scale(1.25);animation:ssdAurora 16s linear infinite}
.ssd-grid{z-index:-1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent 2%,#000 30%,#000 70%,transparent 98%);transform:perspective(700px) rotateX(63deg) scale(1.45) translateY(27%);transform-origin:center bottom}
.ssd-scanlines{z-index:40;opacity:.08;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 1px,transparent 1px,transparent 5px);mix-blend-mode:overlay}

.ssd-intro-screen,.ssd-finale{position:relative;min-height:100dvh;display:grid;place-items:center;padding:34px 18px;perspective:1200px}
.ssd-intro-card,.ssd-finale-card{position:relative;width:min(760px,94vw);padding:42px 46px 38px;border:1px solid rgba(255,255,255,.13);border-radius:32px;background:linear-gradient(155deg,rgba(18,9,31,.82),rgba(8,7,17,.64));backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 40px 110px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.12),0 0 70px rgba(154,85,255,.10);text-align:center;transform:rotateX(var(--ssd-rx,0deg)) rotateY(var(--ssd-ry,0deg));transform-style:preserve-3d;transition:transform .18s ease-out}
.ssd-intro-card:before,.ssd-finale-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(120deg,rgba(255,59,212,.75),transparent 24%,rgba(93,234,255,.6) 55%,transparent 77%,rgba(154,85,255,.75));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;pointer-events:none}
.ssd-intro-card:after,.ssd-finale-card:after{content:"";position:absolute;left:12%;right:12%;bottom:-22px;height:44px;border-radius:50%;background:radial-gradient(ellipse,rgba(154,85,255,.28),transparent 66%);filter:blur(12px);transform:translateZ(-30px)}
.ssd-logo{display:block;width:min(430px,76vw);max-height:180px;object-fit:contain;margin:4px auto 18px;filter:drop-shadow(0 0 20px rgba(255,59,212,.20)) drop-shadow(0 0 40px rgba(93,234,255,.08));transform:translateZ(34px)}
.ssd-demo-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(114,255,208,.22);border-radius:999px;background:rgba(114,255,208,.06);color:#b8ffe7;font-size:11px;font-weight:800;letter-spacing:.11em;margin-bottom:8px}
.ssd-demo-badge span{width:7px;height:7px;border-radius:50%;background:var(--ssd-success);box-shadow:0 0 13px var(--ssd-success);animation:ssdBlink 1.5s ease-in-out infinite}
.ssd-kicker{margin:0 0 8px;color:#cfc4ff;font-size:11px;font-weight:900;letter-spacing:.26em;text-transform:uppercase}
.ssd-intro-card h1,.ssd-finale-card h2{margin:0;font-size:clamp(34px,6vw,72px);line-height:.95;letter-spacing:-.055em;text-wrap:balance;background:linear-gradient(96deg,#fff 5%,#efd8ff 39%,#91f3ff 63%,#fff 90%);background-size:180% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 44px rgba(154,85,255,.13);animation:ssdTextSweep 7s linear infinite}
.ssd-intro-copy,.ssd-finale-card>p{max-width:640px;margin:20px auto 0;color:#c5bfd0;font-size:15px;line-height:1.72}
.ssd-feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0 24px}
.ssd-feature{position:relative;padding:15px 11px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.035);text-align:left;overflow:hidden}
.ssd-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.08),transparent 80%);transform:translateX(-120%);animation:ssdSheen 7s ease-in-out infinite}
.ssd-feature strong{display:block;color:#9ef1ff;font-size:10px;letter-spacing:.12em;margin-bottom:5px}.ssd-feature span{font-size:13px;font-weight:750;color:#f4eeff}
.ssd-primary-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:0 25px;border:1px solid rgba(255,255,255,.23);border-radius:18px;color:#fff;text-decoration:none;background:linear-gradient(118deg,#7c35ef,#e02eb9 58%,#2abfce);background-size:180% 100%;box-shadow:0 13px 44px rgba(217,44,187,.23),inset 0 1px 0 rgba(255,255,255,.23);font-size:13px;font-weight:900;letter-spacing:.09em;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,background-position .4s ease}
.ssd-primary-btn:hover{transform:translateY(-2px) scale(1.01);background-position:100% 0;box-shadow:0 18px 65px rgba(217,44,187,.31),0 0 32px rgba(93,234,255,.10);color:#fff}
.ssd-primary-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}.ssd-primary-btn b{font-size:18px}.ssd-btn-glow{position:absolute;width:100px;height:100px;border-radius:50%;left:-70px;top:-24px;background:rgba(255,255,255,.35);filter:blur(25px);animation:ssdButtonGlow 4.5s ease-in-out infinite}
.ssd-privacy-note{margin:15px auto 0;max-width:520px;color:#756e82;font-size:11px;line-height:1.5}
.ssd-holo-orbit,.ssd-finale-rings{position:absolute;width:min(680px,90vw);aspect-ratio:1;pointer-events:none;transform-style:preserve-3d;opacity:.48}
.ssd-holo-orbit i,.ssd-finale-rings i{position:absolute;inset:12%;border:1px solid rgba(154,85,255,.30);border-radius:50%;box-shadow:0 0 28px rgba(154,85,255,.11);animation:ssdOrbit 13s linear infinite}
.ssd-holo-orbit i:nth-child(2),.ssd-finale-rings i:nth-child(2){inset:22%;border-color:rgba(93,234,255,.23);animation-duration:9s;animation-direction:reverse;transform:rotateX(66deg)}
.ssd-holo-orbit i:nth-child(3),.ssd-finale-rings i:nth-child(3){inset:33%;border-color:rgba(255,59,212,.24);animation-duration:6s;transform:rotateY(69deg)}

.ssd-experience{position:relative;min-height:100dvh;padding:18px clamp(14px,2.5vw,34px) 26px;display:flex;flex-direction:column;gap:16px}
.ssd-topbar{display:flex;justify-content:space-between;align-items:center;min-height:54px;gap:14px;position:relative;z-index:10}
.ssd-brand-mini{display:flex;align-items:center;gap:10px}.ssd-brand-mini img{width:86px;height:38px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(154,85,255,.25))}.ssd-brand-mini div{display:flex;flex-direction:column;line-height:1.05}.ssd-brand-mini span{font-size:11px;font-weight:900;letter-spacing:.13em}.ssd-brand-mini small{color:#8f87a1;font-size:9px;letter-spacing:.18em;margin-top:4px}
.ssd-top-actions{display:flex;align-items:center;gap:8px}.ssd-progress-label{font-size:10px;font-weight:850;letter-spacing:.12em;color:#d6cef0;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035)}
.ssd-icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#fff;display:grid;place-items:center;font-size:18px;transition:.2s}.ssd-icon-btn:hover{border-color:rgba(93,234,255,.35);background:rgba(93,234,255,.08)}.ssd-icon-btn.is-muted{color:#7c7587}

.ssd-stage-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:16px;flex:1;min-height:0}
.ssd-stage{position:relative;min-height:0;border:1px solid rgba(255,255,255,.12);border-radius:28px;overflow:hidden;background:#000;box-shadow:0 26px 90px rgba(0,0,0,.56),0 0 0 1px rgba(154,85,255,.04),0 0 70px rgba(154,85,255,.09);isolation:isolate}
.ssd-stage:before{content:"";position:absolute;z-index:3;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(130deg,rgba(255,59,212,.7),transparent 28%,transparent 68%,rgba(93,234,255,.55));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.5}
.ssd-stage-halo{position:absolute;z-index:-1;inset:-18%;background:conic-gradient(from 45deg,transparent,rgba(255,59,212,.15),transparent,rgba(93,234,255,.14),transparent);filter:blur(24px);animation:ssdAurora 12s linear infinite}
.ssd-video{width:100%;height:100%;min-height:calc(100dvh - 180px);display:block;object-fit:contain;background:#000;transform:scale(1.002);transition:filter .35s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.ssd-video-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.56) 116%),linear-gradient(to bottom,rgba(154,85,255,.035),transparent 18%,transparent 82%,rgba(255,59,212,.045));mix-blend-mode:screen}
.ssd-loop-mask{position:absolute;z-index:5;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at center,rgba(255,255,255,.06),rgba(154,85,255,.11) 45%,rgba(0,0,0,.1));backdrop-filter:blur(0px)}
.ssd-loop-mask.is-pulsing{animation:ssdLoopMask .42s ease-out}
.ssd-command-pulse:after{content:"";position:absolute;z-index:4;left:50%;top:50%;width:80px;height:80px;border-radius:50%;border:1px solid rgba(93,234,255,.7);transform:translate(-50%,-50%);animation:ssdPulseRing .85s ease-out forwards;pointer-events:none}

.ssd-sidepanel{display:flex;flex-direction:column;gap:14px}.ssd-status-card,.ssd-command-card{border:1px solid rgba(255,255,255,.10);border-radius:22px;background:var(--ssd-glass);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.ssd-status-card{padding:18px}.ssd-status-head{display:flex;align-items:center;gap:12px}.ssd-status-head div{display:flex;flex-direction:column}.ssd-status-head small,.ssd-command-title small{font-size:9px;color:#827a90;letter-spacing:.15em}.ssd-status-head strong{font-size:12px;letter-spacing:.11em;margin-top:2px}.ssd-status-dot{width:10px;height:10px;border-radius:50%;background:#8d8499;box-shadow:0 0 0 4px rgba(255,255,255,.03)}.ssd-status-dot.is-ready{background:var(--ssd-success);box-shadow:0 0 16px rgba(114,255,208,.65),0 0 0 5px rgba(114,255,208,.06)}.ssd-status-dot.is-active{background:var(--ssd-violet);box-shadow:0 0 16px rgba(154,85,255,.7),0 0 0 5px rgba(154,85,255,.07)}.ssd-status-dot.is-listening{background:var(--ssd-cyan);box-shadow:0 0 18px rgba(93,234,255,.9),0 0 0 6px rgba(93,234,255,.07);animation:ssdBlink .75s ease-in-out infinite}.ssd-status-dot.is-warn{background:var(--ssd-warn);box-shadow:0 0 14px rgba(255,213,116,.55)}.ssd-status-dot.is-error{background:#ff7a9b;box-shadow:0 0 14px rgba(255,75,130,.55)}.ssd-status-card p{margin:15px 0 0;color:#aaa3b7;font-size:12px;line-height:1.6}
.ssd-command-card{padding:15px}.ssd-command-title{display:flex;flex-direction:column;margin-bottom:10px}.ssd-command-title span{font-size:10px;font-weight:900;letter-spacing:.12em}.ssd-suggestions{display:grid;gap:8px}.ssd-suggestions button{position:relative;width:100%;display:flex;align-items:center;gap:9px;padding:12px 11px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);color:#dbd5e4;text-align:left;font-size:12px;font-weight:720;transition:.18s}.ssd-suggestions button:hover{transform:translateX(-2px);border-color:rgba(154,85,255,.28);background:rgba(154,85,255,.08)}.ssd-suggestions i{width:8px;height:8px;border-radius:50%;background:#5f5869;box-shadow:0 0 0 4px rgba(255,255,255,.025)}.ssd-suggestions button.is-complete{color:#8a8591;text-decoration:line-through;background:rgba(114,255,208,.025)}.ssd-suggestions button.is-complete i{background:var(--ssd-success);box-shadow:0 0 12px rgba(114,255,208,.65)}

.ssd-control-dock{position:relative;z-index:8;display:flex;align-items:center;gap:16px;width:min(900px,100%);margin:0 auto;padding:13px 15px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,rgba(19,11,31,.88),rgba(7,6,13,.78));backdrop-filter:blur(24px);box-shadow:0 18px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);transition:opacity .2s,filter .2s}
.ssd-controls-disabled .ssd-control-dock{opacity:.58;filter:saturate(.65)}
.ssd-mic-btn{position:relative;flex:0 0 58px;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 35% 28%,#f869dd,#8e42ef 55%,#2d1f61 100%);box-shadow:0 8px 30px rgba(181,60,232,.27),inset 0 1px 1px rgba(255,255,255,.45);display:grid;place-items:center;color:#fff}.ssd-mic-icon{width:12px;height:17px;border-radius:8px 8px 10px 10px;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.55);font-size:0;position:relative}.ssd-mic-icon:before{content:"";position:absolute;left:50%;bottom:-7px;width:18px;height:10px;border:2px solid #fff;border-top:0;border-radius:0 0 10px 10px;transform:translateX(-50%)}.ssd-mic-icon:after{content:"";position:absolute;left:50%;bottom:-10px;width:2px;height:5px;background:#fff;transform:translateX(-50%)}.ssd-mic-rings{position:absolute;inset:-1px}.ssd-mic-rings i{position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(93,234,255,.42);opacity:0}.ssd-mic-btn.is-listening .ssd-mic-rings i{animation:ssdMicWave 1.5s ease-out infinite}.ssd-mic-btn.is-listening .ssd-mic-rings i:nth-child(2){animation-delay:.35s}.ssd-mic-btn.is-listening .ssd-mic-rings i:nth-child(3){animation-delay:.7s}.ssd-mic-btn.is-listening{background:radial-gradient(circle at 35% 28%,#8ff6ff,#36bfd7 55%,#214775 100%);box-shadow:0 0 35px rgba(93,234,255,.4)}.ssd-mic-btn.is-unavailable{filter:grayscale(1);opacity:.35;cursor:not-allowed}
.ssd-input-zone{min-width:0;flex:1}.ssd-input-zone label{display:block;margin:0 0 5px;color:#aaa0b8;font-size:9px;font-weight:900;letter-spacing:.17em}.ssd-input-row{display:flex;gap:8px}.ssd-input-row input{min-width:0;flex:1;height:42px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;padding:0 13px;outline:none;font-size:16px;box-shadow:inset 0 1px 4px rgba(0,0,0,.22);transition:border-color .2s,box-shadow .2s}.ssd-input-row input:focus{border-color:rgba(93,234,255,.40);box-shadow:0 0 0 3px rgba(93,234,255,.06)}.ssd-input-row input::placeholder{color:#655e70}.ssd-input-row button{height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:linear-gradient(120deg,rgba(154,85,255,.30),rgba(255,59,212,.20));color:#fff;font-size:10px;font-weight:900;letter-spacing:.10em;transition:.18s}.ssd-input-row button:hover:not(:disabled){border-color:rgba(255,59,212,.45);transform:translateY(-1px)}.ssd-input-row button:disabled,.ssd-mic-btn:disabled{cursor:not-allowed;opacity:.45}.ssd-heard{min-height:16px;margin-top:5px;color:#777080;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.ssd-intro-overlay{position:absolute;z-index:10;left:16px;right:16px;top:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.ssd-intro-overlay span{font-size:9px;font-weight:900;letter-spacing:.18em;padding:7px 9px;border-radius:999px;background:rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.10)}.ssd-intro-overlay button{pointer-events:auto;padding:7px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(0,0,0,.48);color:#ddd6e6;font-size:9px;font-weight:850;letter-spacing:.09em}.ssd-intro-overlay button:hover{background:rgba(255,255,255,.1)}
.ssd-recognition-toast{position:absolute;z-index:14;left:50%;top:50%;min-width:min(370px,78%);padding:14px 18px;border:1px solid rgba(93,234,255,.28);border-radius:18px;background:rgba(4,9,14,.78);backdrop-filter:blur(18px);text-align:center;transform:translate(-50%,-45%) scale(.92);opacity:0;box-shadow:0 20px 70px rgba(0,0,0,.5),0 0 40px rgba(93,234,255,.07)}.ssd-recognition-toast.is-showing{animation:ssdToast 1.8s ease both}.ssd-recognition-toast small{display:block;color:#78eafa;font-size:8px;font-weight:900;letter-spacing:.18em}.ssd-recognition-toast strong{display:block;margin-top:4px;font-size:17px;letter-spacing:.04em}
.ssd-loader{position:absolute;z-index:20;inset:0;display:grid;place-items:center;background:rgba(3,1,7,.42);backdrop-filter:blur(8px);text-align:center}.ssd-loader-core{position:absolute;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.09);border-top-color:var(--ssd-cyan);border-right-color:var(--ssd-fuchsia);animation:ssdSpin .7s linear infinite;box-shadow:0 0 30px rgba(154,85,255,.18)}.ssd-loader span{margin-top:94px;font-size:8px;font-weight:900;letter-spacing:.18em;color:#bab2c7}
.ssd-transition{position:absolute;z-index:30;inset:0;pointer-events:none;opacity:0;overflow:hidden}.ssd-transition.is-active{opacity:1}.ssd-transition-noise{position:absolute;inset:-30%;opacity:0;background-image:repeating-radial-gradient(circle at 0 0,rgba(255,255,255,.22) 0 1px,transparent 1px 3px);background-size:7px 7px;mix-blend-mode:screen}.ssd-transition.is-active .ssd-transition-noise{animation:ssdNoise .55s steps(2,end)}.ssd-transition-line{position:absolute;left:-10%;right:-10%;top:50%;height:2px;background:#fff;box-shadow:0 0 14px #fff,0 0 30px var(--ssd-cyan);transform:scaleY(0)}.ssd-transition.is-active .ssd-transition-line{animation:ssdTvLine .52s cubic-bezier(.7,0,.25,1)}.ssd-transition-flash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,59,212,.2),rgba(255,255,255,.9),rgba(93,234,255,.22));opacity:0}.ssd-transition.is-active .ssd-transition-flash{animation:ssdFlash .5s ease}

.ssd-finale{overflow:hidden}.ssd-finale-card{width:min(720px,94vw);padding-top:48px}.ssd-success-mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border:1px solid rgba(114,255,208,.32);border-radius:50%;background:rgba(114,255,208,.08);color:var(--ssd-success);font-size:30px;box-shadow:0 0 40px rgba(114,255,208,.13);animation:ssdSuccessPop .65s cubic-bezier(.2,.9,.22,1.25)}.ssd-complete-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0}.ssd-complete-actions span{padding:8px 10px;border:1px solid rgba(114,255,208,.16);border-radius:999px;background:rgba(114,255,208,.045);color:#b8ffe5;font-size:9px;font-weight:850;letter-spacing:.08em}.ssd-buy-btn{margin-top:4px}.ssd-replay-btn{display:block;margin:16px auto 0;border:0;background:transparent;color:#847c91;font-size:10px;font-weight:850;letter-spacing:.12em}.ssd-replay-btn:hover{color:#d5cede}.ssd-noscript{padding:20px;background:#160914;color:#fff;text-align:center}

@keyframes ssdAurora{to{transform:scale(1.25) rotate(360deg)}}
@keyframes ssdBlink{50%{opacity:.38;transform:scale(.84)}}
@keyframes ssdTextSweep{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes ssdSheen{0%,75%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}
@keyframes ssdButtonGlow{0%,100%{left:-75px}50%{left:calc(100% + 20px)}}
@keyframes ssdOrbit{to{transform:rotateZ(360deg) rotateX(62deg) rotateY(18deg)}}
@keyframes ssdSpin{to{transform:rotate(360deg)}}
@keyframes ssdLoopMask{0%{opacity:0;backdrop-filter:blur(0)}40%{opacity:.7;backdrop-filter:blur(7px)}100%{opacity:0;backdrop-filter:blur(0)}}
@keyframes ssdPulseRing{0%{width:80px;height:80px;opacity:.95}100%{width:75vmin;height:75vmin;opacity:0}}
@keyframes ssdMicWave{0%{transform:scale(.9);opacity:.75}100%{transform:scale(1.75);opacity:0}}
@keyframes ssdToast{0%{opacity:0;transform:translate(-50%,-40%) scale(.9)}15%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-55%) scale(.98)}}
@keyframes ssdNoise{0%{opacity:.15;transform:translate(0,0)}25%{opacity:.8;transform:translate(3%,-2%)}55%{opacity:.38;transform:translate(-2%,2%)}100%{opacity:0;transform:translate(1%,0)}}
@keyframes ssdTvLine{0%{top:50%;transform:scaleY(0);opacity:0}20%{transform:scaleY(1);opacity:1}48%{top:50%;height:16px;opacity:1}70%{top:0;height:100%;opacity:.92}100%{top:0;height:100%;opacity:0}}
@keyframes ssdFlash{0%,100%{opacity:0}35%{opacity:.92}60%{opacity:.16}}
@keyframes ssdSuccessPop{0%{transform:scale(.45) rotate(-20deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}

@media(max-width:900px){
  .ssd-experience{padding:12px 12px 18px;gap:10px}.ssd-stage-wrap{grid-template-columns:1fr;display:flex;flex-direction:column}.ssd-stage{min-height:0;flex:1}.ssd-video{min-height:0;height:calc(100dvh - 330px);max-height:70dvh}.ssd-sidepanel{display:grid;grid-template-columns:1.1fr .9fr;gap:8px}.ssd-status-card,.ssd-command-card{border-radius:16px;padding:11px}.ssd-status-card p{margin-top:8px;font-size:10px}.ssd-suggestions{grid-template-columns:1fr;gap:5px}.ssd-suggestions button{padding:8px 9px;font-size:10px}.ssd-command-title{margin-bottom:6px}.ssd-control-dock{margin-top:0;border-radius:18px;padding:10px;gap:10px}.ssd-mic-btn{width:50px;height:50px;flex-basis:50px}.ssd-input-row input{height:40px}.ssd-input-row button{height:40px;padding:0 11px}.ssd-brand-mini div{display:none}.ssd-progress-label{font-size:9px}.ssd-intro-card,.ssd-finale-card{padding:34px 22px 28px;border-radius:25px}.ssd-feature-row{gap:7px}.ssd-feature{padding:12px 8px}.ssd-feature span{font-size:11px}}

@media(max-width:620px){
  .ssd-intro-screen,.ssd-finale{padding:18px 12px}.ssd-intro-card,.ssd-finale-card{width:100%;padding:30px 18px 25px}.ssd-logo{width:min(370px,82vw);margin-bottom:12px}.ssd-intro-copy,.ssd-finale-card>p{font-size:13px;line-height:1.62;margin-top:14px}.ssd-feature-row{margin:20px 0;grid-template-columns:1fr}.ssd-feature{display:flex;align-items:center;gap:12px;padding:10px 12px}.ssd-feature strong{margin:0}.ssd-primary-btn{width:100%;min-height:54px;font-size:11px}.ssd-topbar{min-height:42px}.ssd-brand-mini img{width:66px;height:30px}.ssd-icon-btn{width:34px;height:34px;border-radius:10px}.ssd-progress-label{padding:7px 8px}.ssd-video{height:calc(100dvh - 360px);min-height:260px}.ssd-sidepanel{display:block}.ssd-command-card{margin-top:7px}.ssd-suggestions{grid-template-columns:repeat(3,1fr)}.ssd-suggestions button{justify-content:center;text-align:center;min-height:42px;font-size:9px;line-height:1.1;padding:7px 5px}.ssd-suggestions i{display:none}.ssd-control-dock{position:sticky;bottom:8px}.ssd-input-zone label{display:none}.ssd-heard{font-size:9px}.ssd-input-row button{font-size:0;width:44px;padding:0}.ssd-input-row button:after{content:'→';font-size:18px}.ssd-mic-btn{width:48px;height:48px;flex-basis:48px}.ssd-intro-overlay{left:9px;right:9px;top:9px}.ssd-recognition-toast{min-width:84%;padding:12px}.ssd-recognition-toast strong{font-size:14px}}

@media(max-width:420px){
  .ssd-video{height:calc(100dvh - 385px);min-height:230px}.ssd-stage{border-radius:20px}.ssd-status-card{padding:9px}.ssd-status-card p{display:none}.ssd-command-card{padding:8px}.ssd-control-dock{padding:8px;border-radius:16px}.ssd-suggestions button{font-size:8px}.ssd-intro-card h1,.ssd-finale-card h2{font-size:clamp(32px,12vw,48px)}}

@media(prefers-reduced-motion:reduce){
  .ssd-app *,.ssd-app *:before,.ssd-app *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.ssd-intro-card{transform:none!important}}

/* v1.1 media pool: les clips restent préchargés et le clip actif est simplement échangé. */
.ssd-video-layer{display:none}
.ssd-video-layer.is-active{display:block}

/* Visualiseur d'écoute, léger et purement visuel pour ne pas ouvrir un second flux micro. */
.ssd-voice-wave{height:28px;margin:10px 0 2px;padding:5px 8px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid rgba(93,234,255,.12);border-radius:11px;background:linear-gradient(90deg,rgba(93,234,255,.035),rgba(255,59,212,.04));overflow:hidden;opacity:.72;transition:opacity .2s ease,transform .2s ease}
.ssd-voice-wave[hidden]{display:none!important}
.ssd-voice-wave i{display:block;width:3px;height:5px;border-radius:999px;background:linear-gradient(to top,#5deadf,#da55ff);box-shadow:0 0 8px rgba(93,234,255,.18);transform-origin:center;opacity:.55}
.ssd-voice-wave.is-live{opacity:1;transform:translateY(0)}
.ssd-voice-wave.is-live i{animation:ssdVoiceBar .62s ease-in-out infinite alternate}
.ssd-voice-wave.is-live i:nth-child(2){animation-duration:.48s;animation-delay:-.16s}
.ssd-voice-wave.is-live i:nth-child(3){animation-duration:.74s;animation-delay:-.31s}
.ssd-voice-wave.is-live i:nth-child(4){animation-duration:.55s;animation-delay:-.12s}
.ssd-voice-wave.is-live i:nth-child(5){animation-duration:.69s;animation-delay:-.42s}
.ssd-voice-wave.is-live i:nth-child(6){animation-duration:.46s;animation-delay:-.28s}
.ssd-voice-wave.is-live i:nth-child(7){animation-duration:.63s;animation-delay:-.08s}
.ssd-voice-wave.is-live i:nth-child(8){animation-duration:.51s;animation-delay:-.35s}
.ssd-voice-wave.is-live i:nth-child(9){animation-duration:.72s;animation-delay:-.18s}
.ssd-voice-wave.is-live i:nth-child(10){animation-duration:.44s;animation-delay:-.23s}
.ssd-voice-wave.is-live i:nth-child(11){animation-duration:.66s;animation-delay:-.39s}
.ssd-voice-wave.is-live i:nth-child(12){animation-duration:.53s;animation-delay:-.14s}
@keyframes ssdVoiceBar{0%{height:4px;opacity:.5;filter:saturate(.8)}100%{height:22px;opacity:1;filter:saturate(1.4)}}

/* En préparation, on conserve l'image courante au lieu d'afficher immédiatement un voile de buffering. */
.ssd-loader{transition:opacity .2s ease}

@media(max-width:620px){
  .ssd-voice-wave{height:23px;margin:7px 0 0;padding:4px 6px}
  .ssd-voice-wave i{width:2px}
}

/* V1.2 anti-buffer: when a command is understood, keep the current frame elegant
   while the requested clip is buffered off-screen. No full-screen spinner. */

/* V1.3: one-player playback. No hidden buffering / command hold layer. */
.ssd-video-layer{display:block!important}
.ssd-transition.is-active .ssd-transition-noise{animation-duration:.36s}
.ssd-transition.is-active .ssd-transition-line{animation-duration:.34s}
.ssd-transition.is-active .ssd-transition-flash{animation-duration:.34s}
