.sp-root{--sp-hue:285;--sp-accent:oklch(0.5 0.17 var(--sp-hue));--sp-accent-strong:oklch(0.43 0.16 var(--sp-hue));--sp-accent-soft:oklch(0.965 0.018 var(--sp-hue));--sp-accent-line:oklch(0.88 0.05 var(--sp-hue));--sp-accent-ink:oklch(0.36 0.12 var(--sp-hue));--sp-glow:oklch(0.62 0.2 var(--sp-hue)/0.28);--sp-ink:#17131f;--sp-ink-2:#4b4658;--sp-ink-3:#6f6a7d;--sp-line:#e8e5ee;--sp-line-strong:#d6d2df;--sp-surface:#fff;--sp-surface-2:#f7f6fa;--sp-surface-3:#efedf4;--sp-shadow:0 1px 2px rgba(23,19,31,.05),0 8px 24px -12px rgba(23,19,31,.14);--sp-shadow-lift:0 2px 4px rgba(23,19,31,.06),0 20px 40px -18px rgba(23,19,31,.28)}.sp-dark,.sp-root{color:var(--sp-ink)}.sp-dark{--sp-accent:oklch(0.72 0.15 var(--sp-hue));--sp-accent-strong:oklch(0.78 0.13 var(--sp-hue));--sp-accent-soft:oklch(0.3 0.05 var(--sp-hue));--sp-accent-line:oklch(0.42 0.08 var(--sp-hue));--sp-accent-ink:oklch(0.88 0.08 var(--sp-hue));--sp-ink:#f3f1f7;--sp-ink-2:#c3bfce;--sp-ink-3:#9a95a8;--sp-line:#2c2838;--sp-line-strong:#3d3849;--sp-surface:#17141f;--sp-surface-2:#1f1b29;--sp-surface-3:#2a2535;background:#100d17}.sp-root :focus-visible{outline:2px solid var(--sp-accent);outline-offset:2px}.sp-card{background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:20px;box-shadow:var(--sp-shadow)}.sp-stage{background-color:#100d17;background-image:radial-gradient(hsla(0,0%,100%,.07) 1px,transparent 0);color:#f3f1f7}.sp-checker,.sp-stage{background-size:18px 18px}.sp-checker{background-color:#fff;background-image:conic-gradient(#e5e3ea 25%,transparent 0 50%,#e5e3ea 0 75%,transparent 0)}.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:0 .95rem;border-radius:12px;border:1px solid var(--sp-line);background:var(--sp-surface);color:var(--sp-ink);font-size:.875rem;font-weight:600;white-space:nowrap;transition:background-color .15s,border-color .15s,transform .12s,box-shadow .15s}.sp-btn:hover:not(:disabled){background:var(--sp-surface-2);border-color:var(--sp-line-strong)}.sp-btn:active:not(:disabled){transform:scale(.97)}.sp-btn:disabled{opacity:.5;cursor:not-allowed}.sp-btn[aria-pressed=true]{background:var(--sp-accent-soft);border-color:var(--sp-accent-line);color:var(--sp-accent-ink)}.sp-btn-primary{background:var(--sp-accent);border-color:transparent;color:#fff;box-shadow:0 8px 20px -10px var(--sp-glow)}.sp-btn-primary:hover:not(:disabled){background:var(--sp-accent-strong);border-color:transparent;box-shadow:0 10px 24px -8px var(--sp-glow)}.sp-dark .sp-btn-primary,.sp-dark .sp-btn-primary:hover:not(:disabled){color:#15111f}.sp-btn-big{min-height:52px;width:100%;border-radius:15px;font-size:1rem;font-weight:700}.sp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:11px;color:var(--sp-ink-2);transition:background-color .15s,color .15s}.sp-icon-btn:hover:not(:disabled){background:var(--sp-surface-3);color:var(--sp-ink)}.sp-icon-btn:disabled{opacity:.4;cursor:not-allowed}.sp-icon-btn[aria-pressed=true]{background:var(--sp-accent-soft);color:var(--sp-accent-ink)}.sp-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:0 .7rem;border-radius:999px;border:1px solid var(--sp-line);background:var(--sp-surface);color:var(--sp-ink-2);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}.sp-chip:hover{border-color:var(--sp-line-strong);color:var(--sp-ink)}.sp-chip[aria-pressed=true]{background:var(--sp-accent-soft);border-color:var(--sp-accent-line);color:var(--sp-accent-ink);font-weight:600}.sp-choice{display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.35rem .8rem;border-radius:12px;border:1px solid var(--sp-line);background:var(--sp-surface);color:var(--sp-ink-2);font-size:.875rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.sp-choice:hover{border-color:var(--sp-line-strong);color:var(--sp-ink)}.sp-choice[aria-checked=true]{background:var(--sp-accent-soft);border-color:var(--sp-accent);color:var(--sp-accent-ink);box-shadow:inset 0 0 0 1px var(--sp-accent)}.sp-input{width:100%;border-radius:13px;border:1px solid var(--sp-line);background:var(--sp-surface);color:var(--sp-ink);padding:.65rem .8rem;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}.sp-input:focus{border-color:var(--sp-accent);box-shadow:0 0 0 3px var(--sp-accent-soft)}.sp-input::-moz-placeholder{color:var(--sp-ink-3)}.sp-input::placeholder{color:var(--sp-ink-3)}.sp-composer{border-radius:16px;border:1px solid var(--sp-line);background:var(--sp-surface);transition:border-color .15s,box-shadow .15s}.sp-composer:focus-within{border-color:var(--sp-accent);box-shadow:0 0 0 4px var(--sp-accent-soft)}.sp-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;touch-action:pan-y}.sp-range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--sp-line-strong) var(--a,0),var(--sp-accent) var(--a,0),var(--sp-accent) var(--b,0),var(--sp-line-strong) var(--b,0))}.sp-range::-moz-range-track{height:4px;border-radius:4px;background:var(--sp-line-strong)}.sp-range::-moz-range-progress{height:4px;border-radius:4px;background:var(--sp-accent)}.sp-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:#fff;border:2px solid var(--sp-accent);box-shadow:0 1px 4px rgba(0,0,0,.3);-webkit-transition:transform .12s;transition:transform .12s}.sp-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--sp-accent)}.sp-range:active::-webkit-slider-thumb{transform:scale(1.2)}.sp-scroll{scrollbar-width:thin;scrollbar-color:var(--sp-line-strong) transparent}.sp-scroll::-webkit-scrollbar{width:8px;height:8px}.sp-scroll::-webkit-scrollbar-thumb{background:var(--sp-line-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.sp-tile-art{background:radial-gradient(120% 90% at 15% 10%,oklch(.9 .09 var(--sp-hue)) 0,transparent 60%),radial-gradient(90% 90% at 95% 90%,oklch(.8 .14 calc(var(--sp-hue) + 40)) 0,transparent 55%),oklch(.96 .02 var(--sp-hue))}.sp-hero{background:radial-gradient(60% 120% at 12% 0,oklch(.5 .22 300/.75) 0,transparent 62%),radial-gradient(50% 110% at 88% 100%,oklch(.55 .2 20/.5) 0,transparent 60%),radial-gradient(40% 80% at 60% 0,oklch(.55 .15 220/.45) 0,transparent 60%),#120e1b;color:#fff}.sp-aurora{position:relative;overflow:hidden;background:oklch(.2 .04 var(--sp-hue))}.sp-aurora:after,.sp-aurora:before{content:"";position:absolute;inset:-40%;background:radial-gradient(35% 35% at 30% 40%,oklch(.65 .2 var(--sp-hue)/.75),transparent 70%);animation:sp-drift 9s ease-in-out infinite alternate}.sp-aurora:after{background:radial-gradient(30% 30% at 70% 60%,oklch(.7 .18 calc(var(--sp-hue) + 60)/.6),transparent 70%);animation-duration:12s;animation-direction:alternate-reverse}@keyframes sp-drift{0%{transform:translate(-12%,-8%) rotate(0deg)}to{transform:translate(14%,10%) rotate(35deg)}}@keyframes sp-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sp-rise{animation:sp-rise .32s cubic-bezier(.2,.8,.2,1) both}@keyframes sp-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.sp-pop{animation:sp-pop .22s cubic-bezier(.2,.8,.2,1) both}@keyframes sp-listen{0%,to{box-shadow:0 0 0 0 oklch(.6 .22 25/.5)}50%{box-shadow:0 0 0 7px oklch(.6 .22 25/0)}}.sp-listening{animation:sp-listen 1.2s ease-in-out infinite;background:oklch(.6 .22 25)!important;color:#fff!important}.sp-kbd{display:inline-flex;align-items:center;min-width:1.35rem;justify-content:center;padding:.05rem .35rem;border-radius:6px;border:1px solid var(--sp-line-strong);background:var(--sp-surface-2);color:var(--sp-ink-3);font-size:.6875rem;font-weight:600;line-height:1.3}.sp-prose pre{background:#17131f;color:#ece9f3;border-radius:12px;padding:.9rem 1rem;overflow-x:auto;font-size:13.5px}@media (prefers-reduced-motion:reduce){.sp-root *,.sp-root :after,.sp-root :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}