:root{
  --bg:#05030f; --ink:#f3f0ff; --muted:#a59fc8; --glass:rgba(22,16,52,.55); --line:rgba(170,150,255,.18);
  --v1:#8b5cf6; --v2:#22d3ee; --v3:#f472b6; --gold:#fbbf24; --ok:#34d399; --bad:#fb7185;
  --r:22px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;min-height:100%}
body{overflow-x:hidden}
#space{position:fixed;inset:0;z-index:0}
.nebula{position:fixed;border-radius:50%;filter:blur(90px);opacity:.45;z-index:0;pointer-events:none;mix-blend-mode:screen}
.n1{width:60vmax;height:60vmax;left:-20vmax;top:-20vmax;background:radial-gradient(circle,#6d28d9,transparent 65%);animation:drift 38s ease-in-out infinite alternate}
.n2{width:55vmax;height:55vmax;right:-20vmax;top:20vh;background:radial-gradient(circle,#0e7490,transparent 65%);animation:drift 46s ease-in-out infinite alternate-reverse}
.n3{width:45vmax;height:45vmax;left:20vw;bottom:-25vmax;background:radial-gradient(circle,#be185d,transparent 65%);animation:drift 52s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(8vmax,6vmax) scale(1.15) rotate(25deg)}}
header,main{position:relative;z-index:2}
.hidden{display:none!important}
.muted{color:var(--muted)} .small{font-size:12px}
.glass{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 10px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}

/* шапка */
.top{position:sticky;top:0;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;background:linear-gradient(#05030fee,#05030f99 70%,transparent);z-index:10}
.brand-sm{font-family:Unbounded;font-weight:900;letter-spacing:.08em;font-size:15px;background:linear-gradient(90deg,#c4b5fd,#67e8f9,#f9a8d4);-webkit-background-clip:text;color:transparent;white-space:nowrap}
.tabs{margin-left:auto;display:flex;gap:6px}
.tabs button{position:relative;background:transparent;border:1px solid transparent;color:var(--muted);padding:9px 14px;border-radius:999px;font:600 14px Manrope;cursor:pointer;transition:.25s}
.tabs button.on{color:var(--ink);background:rgba(139,92,246,.18);border-color:rgba(167,139,250,.4);box-shadow:0 0 22px rgba(139,92,246,.35)}
.tabs em{position:absolute;top:2px;right:2px;font-style:normal;font-size:10px;background:var(--v3);color:#fff;border-radius:99px;padding:1px 5px}
.tabs em:empty{display:none}
.orbit-logo{position:relative;width:30px;height:30px;flex:none}
.orbit-logo span{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fde68a,#f472b6 55%,#7c3aed);box-shadow:0 0 18px #f472b6}
.orbit-logo i{position:absolute;inset:0;border:1.5px solid rgba(103,232,249,.7);border-radius:50%;transform:rotateX(70deg);animation:spin 4s linear infinite}
.orbit-logo i::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#67e8f9;top:-3px;left:50%;box-shadow:0 0 10px #67e8f9}
.orbit-logo.big{width:90px;height:90px;margin:0 auto 10px}
.orbit-logo.big span{inset:24px}
@keyframes spin{to{transform:rotateX(70deg) rotate(360deg)}}

main{max-width:980px;margin:0 auto;padding:6px 16px calc(110px + env(safe-area-inset-bottom))}
.tab{display:none;animation:rise .5s cubic-bezier(.2,.8,.2,1)}
.tab.on{display:block}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
.hero h2{font-family:Unbounded;font-weight:700;font-size:clamp(24px,5vw,38px);margin:14px 0 4px;background:linear-gradient(90deg,#fff,#c4b5fd 60%,#67e8f9);-webkit-background-clip:text;color:transparent}
.hero p{margin:0 0 18px}

/* шаги */
.step{padding:18px;margin:14px 0;animation:rise .6s both}
.step-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.step-h h3{font-family:Unbounded;font-weight:700;font-size:17px;margin:0}
.step h4{margin:16px 0 8px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.sum{margin-left:auto;color:var(--v2);font-weight:700}
.planet{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:800 14px Unbounded;flex:none;box-shadow:0 0 20px currentColor;color:#fff;position:relative}
.planet::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,255,255,.25);border-radius:50%;transform:rotateX(65deg)}
.p1{background:radial-gradient(circle at 30% 30%,#a78bfa,#5b21b6)}.p2{background:radial-gradient(circle at 30% 30%,#67e8f9,#0e7490)}
.p3{background:radial-gradient(circle at 30% 30%,#f9a8d4,#9d174d)}.p4{background:radial-gradient(circle at 30% 30%,#fde68a,#b45309)}
.p5{background:radial-gradient(circle at 30% 30%,#86efac,#047857)}.p6{background:radial-gradient(circle at 30% 30%,#fca5a5,#b91c1c)}
.p7{background:radial-gradient(circle at 30% 30%,#c4b5fd,#1e1b4b)}
.hint{color:var(--muted);font-size:13px;margin:8px 0}

/* чипы */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.chips button{background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);padding:9px 14px;border-radius:999px;font:600 13px Manrope;cursor:pointer;transition:.2s}
.chips button:hover{border-color:rgba(167,139,250,.6)}
.chips button.on{background:linear-gradient(135deg,rgba(139,92,246,.45),rgba(34,211,238,.3));border-color:transparent;box-shadow:0 0 18px rgba(139,92,246,.45)}
.chips.soon button{opacity:.45;cursor:not-allowed;border-style:dashed}
.chips button small{display:block;font-weight:400;color:var(--muted);font-size:11px}

/* видео */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:12px 0}
.vgrid.big{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.vcard{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:#120c2c;transition:.25s}
.vcard img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.vcard:hover img{transform:scale(1.06)}
.vcard .meta{position:absolute;inset:auto 0 0 0;padding:16px 6px 6px;font-size:11px;background:linear-gradient(transparent,#000c)}
.vcard .used{position:absolute;top:6px;left:6px;background:#000a;border-radius:99px;padding:2px 7px;font-size:10px}
.vcard.on{border-color:var(--v2);box-shadow:0 0 24px rgba(34,211,238,.6)}
.vcard.on::after{content:"✓";position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--v2);color:#000;display:grid;place-items:center;font-weight:900}

/* слайдеры и тумблеры */
.sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:14px}
.sliders label,.single{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.sliders output,.single output{color:var(--ink);font-weight:800;float:right}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--v1),var(--v2));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(139,92,246,.4),0 0 16px #a78bfa;cursor:pointer}
.toggles{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.tg{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.tg input{display:none}
.tg span{width:44px;height:26px;border-radius:99px;background:#2a2350;position:relative;transition:.25s;flex:none}
.tg span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.25s}
.tg input:checked+span{background:linear-gradient(90deg,var(--v1),var(--v2))}
.tg input:checked+span::after{left:21px}

/* тексты */
.tlist{max-height:380px;overflow:auto;display:flex;flex-direction:column;gap:8px;margin:10px 0;padding-right:4px}
.titem{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;transition:.2s}
.titem b{font-family:Unbounded;font-weight:500;font-size:13px;display:block}
.titem small{color:var(--muted)}
.titem.used{opacity:.4}
.titem.on{border-color:var(--v3);box-shadow:0 0 18px rgba(244,114,182,.4);background:rgba(244,114,182,.08)}
.titem.next{border-color:rgba(34,211,238,.5)}
.newtext summary{list-style:none;display:inline-block}
.newtext summary::-webkit-details-marker{display:none}
.newtext[open]{display:flex;flex-direction:column;gap:8px}
input,textarea,select{width:100%;background:rgba(5,3,20,.6);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:12px;font:15px Manrope}
input:focus,textarea:focus{outline:none;border-color:var(--v1);box-shadow:0 0 0 3px rgba(139,92,246,.25)}

/* музыка */
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:10px 0}
.mcard{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;transition:.2s}
.mcard.on{border-color:var(--gold);box-shadow:0 0 18px rgba(251,191,36,.35);background:rgba(251,191,36,.07)}
.play{width:44px;height:44px;border-radius:50%;border:none;flex:none;cursor:pointer;background:conic-gradient(var(--v2) var(--p,0%),rgba(255,255,255,.12) 0);display:grid;place-items:center;color:#fff;font-size:16px;position:relative}
.play::before{content:"";position:absolute;inset:4px;border-radius:50%;background:#140d33}
.play b{position:relative}
.mcard .mt{flex:1;min-width:0}
.mcard .mt b{display:block;font-size:14px}
.mcard .mt small{color:var(--muted);font-size:12px;display:block}
.tag{display:inline-block;font-size:10px;padding:2px 7px;border-radius:99px;background:rgba(139,92,246,.25);margin:4px 4px 0 0}
.star{color:var(--gold)}

/* счётчик */
.counter{display:flex;align-items:center;justify-content:center;gap:22px}
.counter button{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;font-size:26px;cursor:pointer}
.counter output{font:900 54px Unbounded;min-width:80px;text-align:center;background:linear-gradient(#fff,#a78bfa);-webkit-background-clip:text;color:transparent}
.sched{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.sched label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:6px}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:16px;padding:13px 20px;font:700 15px Manrope;color:#fff;cursor:pointer;transition:.2s;text-align:center}
.btn.primary{background:linear-gradient(135deg,var(--v1),#6366f1 50%,var(--v2));box-shadow:0 8px 30px rgba(139,92,246,.45)}
.btn.ghost{background:rgba(255,255,255,.05);border:1px solid var(--line)}
.btn.ok{background:linear-gradient(135deg,#059669,#34d399)}
.btn.bad{background:rgba(251,113,133,.15);border:1px solid rgba(251,113,133,.4);color:#fecdd3}
.btn:active{transform:scale(.97)}
.upload{margin-top:8px;width:100%}
.launch{position:sticky;bottom:calc(16px + env(safe-area-inset-bottom));width:100%;margin-top:18px;padding:20px;border-radius:20px;font:900 17px Unbounded;letter-spacing:.06em;overflow:hidden;background:linear-gradient(110deg,#7c3aed,#db2777,#f59e0b,#22d3ee,#7c3aed);background-size:300% 100%;animation:flow 6s linear infinite;box-shadow:0 10px 50px rgba(219,39,119,.5),0 0 0 1px rgba(255,255,255,.2) inset;z-index:5}
.launch i{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-100%);animation:shine 3s ease-in-out infinite}
@keyframes flow{to{background-position:300% 0}}
@keyframes shine{60%,100%{transform:translateX(100%)}}
.spacer{height:20px}
.bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:10px 0}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--v1),var(--v2),var(--v3));transition:width .4s;box-shadow:0 0 14px var(--v2)}

/* очередь */
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:12px}
.qcard{padding:12px;display:flex;flex-direction:column;gap:10px;animation:rise .5s both}
.qcard video{width:100%;aspect-ratio:9/16;border-radius:14px;background:#000;object-fit:cover}
.qcard h4{margin:0;font-family:Unbounded;font-size:14px;font-weight:500}
.qcard .info{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}
.qcard textarea{font-size:13px}
.qcard .row{display:flex;gap:8px;flex-wrap:wrap}
.qcard .row .btn{flex:1;padding:11px}
.status{display:inline-block;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:800}
.s-review{background:rgba(251,191,36,.18);color:#fde68a}.s-plan{background:rgba(34,211,238,.18);color:#a5f3fc}
.s-done{background:rgba(52,211,153,.18);color:#6ee7b7}.s-err{background:rgba(251,113,133,.2);color:#fecdd3}
.s-off{background:rgba(255,255,255,.08);color:var(--muted)}.s-run{background:rgba(139,92,246,.25);color:#ddd6fe;animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.5}}
.qcard a{color:var(--v2)}

/* календарь */
.cal{padding:16px;margin-top:10px}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-h b{font-family:Unbounded;font-weight:500}
.cal-h button{background:none;border:1px solid var(--line);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-grid .dn{font-size:11px;color:var(--muted);text-align:center}
.cal-grid .d{aspect-ratio:1;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;cursor:pointer;position:relative}
.cal-grid .d.today{border-color:var(--v1);box-shadow:0 0 14px rgba(139,92,246,.5)}
.cal-grid .d.sel{background:rgba(139,92,246,.3)}
.cal-grid .d .dots{display:flex;gap:2px;margin-top:3px}
.cal-grid .d .dots i{width:6px;height:6px;border-radius:50%}
.dot-plan{background:var(--v2);box-shadow:0 0 6px var(--v2)}.dot-done{background:var(--ok)}.dot-review{background:var(--gold)}
.calday{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.calday .ci{padding:12px 14px;display:flex;gap:10px;align-items:center}

/* варп */
.warp{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle,#1e1050ee,#05030ff5);backdrop-filter:blur(6px)}
.warp-core{text-align:center;width:min(420px,88vw)}
.rings{position:relative;width:220px;height:220px;margin:0 auto}
.rings i{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--v2);border-left-color:var(--v1);animation:spin2 1.6s linear infinite}
.rings i:nth-child(2){inset:22px;border-top-color:var(--v3);animation-duration:2.3s;animation-direction:reverse}
.rings i:nth-child(3){inset:44px;border-top-color:var(--gold);animation-duration:3.1s}
@keyframes spin2{to{transform:rotate(360deg)}}
.rocket{font-size:54px;margin-top:-140px;margin-bottom:90px;animation:shake .25s infinite alternate;filter:drop-shadow(0 0 20px #f472b6)}
@keyframes shake{to{transform:translate(1px,-2px) rotate(-3deg)}}
.warp h3{font-family:Unbounded;font-weight:500;font-size:16px}

/* вход */
.login{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}
.login-card{padding:30px;width:min(380px,100%);text-align:center;display:flex;flex-direction:column;gap:12px}
.brand{font-family:Unbounded;font-weight:900;font-size:34px;line-height:1.05;margin:0;background:linear-gradient(90deg,#c4b5fd,#67e8f9,#f9a8d4);-webkit-background-clip:text;color:transparent}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,120px);background:#1b1442ee;border:1px solid var(--line);padding:12px 18px;border-radius:14px;z-index:70;transition:.35s;max-width:90vw}
.toast.on{transform:translate(-50%,0)}

/* телефон */
@media (max-width:700px){
  .top{flex-wrap:wrap}
  .brand-sm{font-size:13px}
  .tabs{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;justify-content:space-around;padding:6px;border-radius:22px;background:rgba(15,10,40,.85);border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:20}
  .tabs button{display:flex;flex-direction:column;align-items:center;font-size:18px;padding:6px 10px}
  .tabs button b{font-size:10px;font-weight:600}
  .sliders,.sched{grid-template-columns:1fr}
  .launch{bottom:calc(84px + env(safe-area-inset-bottom))}
  main{padding-bottom:calc(170px + env(safe-area-inset-bottom))}
  .qgrid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
