body{margin:0;background:#F6F1FF}
*{box-sizing:border-box}
a{color:#5B3DF5;text-decoration:none}a:hover{color:#3F24D6}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-20px) scale(1.1)}}
@keyframes fall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(260px) rotate(320deg);opacity:0}}
@keyframes draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
.in{animation:fadeUp .6s cubic-bezier(.2,.7,.2,1) both}
.step-in{animation:slideIn .45s cubic-bezier(.2,.7,.2,1) both}
.pop{animation:pop .55s cubic-bezier(.2,.7,.2,1) both}
.blob{animation:blob 14s ease-in-out infinite}
.conf{position:absolute;top:0;width:10px;height:14px;border-radius:3px;animation:fall 2.6s ease-in infinite}
.draw{stroke-dasharray:30;animation:draw .6s .3s ease-out both}
.fld{width:100%;min-height:52px;border:1.5px solid #E3DEF5;border-radius:14px;padding:0 16px;font:600 16px 'Plus Jakarta Sans',sans-serif;color:#1A1530;background:#FFFFFF;transition:border-color .2s,box-shadow .2s}
.fld:focus{outline:none;border-color:#5B3DF5;box-shadow:0 0 0 4px rgba(91,61,245,.12)}
.cat{position:relative;overflow:hidden;text-align:left;min-height:108px;padding:16px;border-radius:20px;border:2px solid transparent;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s,border-color .2s}
.cat:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(30,20,70,.1)}
.cat.on{border-color:#1E1446;box-shadow:0 0 0 4px rgba(30,20,70,.1)}
.cat .tick{opacity:0;transform:scale(.4);transition:all .25s}
.cat.on .tick{opacity:1;transform:scale(1)}
.btn{min-height:54px;padding:0 24px;border:0;border-radius:16px;font:800 16px 'Plus Jakarta Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-p{background:#5B3DF5;color:#FFFFFF;box-shadow:0 12px 26px rgba(91,61,245,.3)}
.btn-g{background:transparent;color:#5E5873}
.tog{width:52px;height:30px;border-radius:999px;border:0;cursor:pointer;position:relative;transition:background .2s;flex:0 0 52px}
.tog span{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#FFFFFF;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.tog.on{background:#12B886}.tog.on span{transform:translateX(22px)}
.tog.off{background:#D9D4E5}
.stp{display:flex;gap:14px;align-items:center;padding:10px 12px;border-radius:14px;transition:background .2s}
.mprog{display:none}
@media (max-width: 960px){
  .leftp{display:none !important}
  .mprog{display:block !important}
  .card-pad{padding:22px 18px !important}
  .h1m{font-size:26px !important}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
.stp .stp-dot{background:rgba(255,255,255,.08);color:#A9A1C9}
.stp .stp-l{color:#A9A1C9}
.stp.cur{background:rgba(255,255,255,.1)}
.stp.cur .stp-dot{background:#FF6B5A;color:#1E1446}
.stp.cur .stp-l{color:#FFFFFF}
.stp.done .stp-dot{background:#12B886;color:#FFFFFF}
.stp.done .stp-l{color:#E4DEFF}
.ferr{display:block;color:#C92A2A;font-size:13px;font-weight:700;margin-top:6px}
.fld.bad{border-color:#FF8787}
select.fld{appearance:auto}
.fld.tm{width:132px;min-height:46px;padding:0 10px}
.wday{background:#FAF8F5}
.wday.off{background:#F5F3FA}
.wday.off .wd-times{display:none !important}
.wday:not(.off) .wd-closed{display:none}
.wday.off .wd-name{color:#8A8499}
.cat input:focus-visible + svg{outline:none}
.cat:focus-within{box-shadow:0 0 0 4px rgba(91,61,245,.18)}
.tog:focus-within{box-shadow:0 0 0 4px rgba(91,61,245,.2)}
a.btn{text-decoration:none}
[hidden]{display:none !important}
.js-steps [data-step]{display:none}
.js-steps [data-step].show{display:block}
@media (max-width: 960px){ .mprog-logo{display:flex !important} }
