@font-face{
  font-family:'Comfortaa';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/comfortaa-700-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face{
  font-family:'Comfortaa';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/comfortaa-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --bg:#F4F4F2;
  --line:#E0E0DC;
  --ink:#17181A;
  --acc:#FC2638;
  --btn-hover:#D9D9D9;
  --btn-line:rgba(23,24,26,.16);
  --ghost-fill:rgba(23,24,26,.11);
  --wipe-to:#1D1F27;
  --card:transparent;
  --ink-2:#6C7280;
  --opt-hover:rgba(23,24,26,.055);
}

[data-theme="dark"]{
  --bg:#1D1F27;
  --line:#2F323C;
  --ink:#E9EBF0;
  --btn-line:rgba(233,235,240,.20);
  --ghost-fill:rgba(233,235,240,.14);
  --wipe-to:#F4F4F2;
  --card:transparent;
  --ink-2:#98A0AE;
  --opt-hover:rgba(233,235,240,.07);
}

*{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  margin:0;
  min-height:100%;
  background:var(--bg);
  color:var(--ink);
  font-family:'Comfortaa', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:700;
  -webkit-font-smoothing:antialiased;
  transition:background-color .25s ease, color .25s ease;
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}

a, button, .btn, .opt, summary{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.container{
  width:min(900px, 100% - 40px);
  margin-inline:auto;
}

.header{
  height:58px;
}

.header .container{
  height:100%;
  display:flex;
  align-items:center;
}

.logo{
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  color:inherit;
}

.logo img{
  height:22px;
  width:auto;
  display:block;
}

.logo span{
  font-size:17px;
  font-weight:700;
  letter-spacing:-.02em;
}

.header-act{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
}

.btn{
  position:relative;
  overflow:hidden;
  height:32px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:0;
  border-radius:8px;
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:color .26s ease, border-color .26s ease;
}

.btn-acc{
  background:var(--acc);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
  color:#fff;
  --fill:var(--btn-hover);
}

.btn-acc.is-on{
  color:#111111;
}

.btn-ghost{
  background:transparent;
  border:1px solid var(--btn-line);
  color:var(--ink);
  --fill:var(--ghost-fill);
}

.btn-ghost.is-on{
  border-color:transparent;
  color:var(--ink);
}

.btn-white{
  background:#fff;
  color:#17181A;
  --fill:rgba(23,24,26,.13);
}

.btn-outline{
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
  color:#fff;
  --fill:rgba(255,255,255,.20);
}

.btn-outline.is-on{
  border-color:transparent;
  color:#fff;
}

.btn-lg{
  height:42px;
  padding:0 20px;
  font-size:13px;
  border-radius:10px;
}

.btn-sq{
  width:64px;
  padding:0;
  gap:10px;
  justify-content:center;
  cursor:pointer;
}

.btn-sq svg{
  transition:opacity .22s ease;
}

.ic-moon{opacity:.32}
[data-theme="dark"] .ic-sun{opacity:.32}
[data-theme="dark"] .ic-moon{opacity:1}

.btn span{
  display:block;
  line-height:1;
  transform:translateY(1px);
}

.btn-fill{
  position:absolute;
  top:0;
  left:0;
  width:var(--d, 120px);
  height:var(--d, 120px);
  margin-left:calc(var(--d, 120px) / -2);
  margin-top:calc(var(--d, 120px) / -2);
  border-radius:50%;
  background:var(--fill);
  transform:translate(var(--x, 0px), var(--y, 0px)) scale(0);
  transition:transform .4s cubic-bezier(.25,.8,.3,1);
  pointer-events:none;
}

.btn.is-on .btn-fill{
  transform:translate(var(--x, 0px), var(--y, 0px)) scale(1);
}

.btn svg,
.btn span{
  position:relative;
  z-index:1;
}

.btn svg{
  width:14px;
  height:14px;
  display:block;
  flex-shrink:0;
}

.divider{
  height:1px;
  background:var(--line);
}

.hero{
  position:relative;
  overflow:hidden;
  margin-top:32px;
  height:420px;
  border-radius:20px;
  background:var(--acc);
}

.hero-in{
  position:relative;
  z-index:1;
  height:100%;
  padding:0 40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
}

.hero-tag{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:2px 12px 0;
  border-radius:100px;
  border:1px solid rgba(255,255,255,.4);
  font-size:11px;
  line-height:1;
  letter-spacing:.04em;
  margin-bottom:20px;
}

.hero h1{
  margin:0;
  font-size:44px;
  line-height:1.14;
  letter-spacing:-.02em;
}

.hero p{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.6;
  color:rgba(255,255,255,.82);
}

.hero-btns{
  display:flex;
  gap:10px;
  margin-top:28px;
  flex-wrap:wrap;
  justify-content:center;
}

.hero-pattern{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.bento{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-auto-rows:203px;
  gap:14px;
  margin:14px 0 40px;
}

.card{
  position:relative;
  overflow:hidden;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card);
  display:flex;
  flex-direction:column;
}

.card-wide{grid-column:span 2}

.card h3{
  margin:0 0 5px;
  font-size:15px;
  letter-spacing:-.01em;
}

.card p{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:var(--ink-2);
}

.art{
  flex:1;
  min-height:0;
  margin-bottom:12px;
  color:var(--ink);
  opacity:.9;
}

.art svg{
  width:100%;
  height:100%;
  display:block;
}

.card:hover .art{color:var(--acc)}

.wire{
  animation:wire-flow 1.6s linear infinite;
}
.wire-2{animation-delay:-.8s}

@keyframes wire-flow{
  to{stroke-dashoffset:-20}
}

.pkt{
  animation:pkt-run 3.4s cubic-bezier(.5,0,.5,1) infinite;
  opacity:0;
}
.pkt-2{animation-delay:-1.7s}

@keyframes pkt-run{
  0%{transform:translateX(98px);opacity:0}
  8%{opacity:1}
  46%{transform:translateX(196px)}
  54%{transform:translateX(244px)}
  92%{opacity:1}
  100%{transform:translateX(330px);opacity:0}
}

.shield{
  animation:shield-pulse 3.6s ease-in-out infinite;
  transform-origin:210px 78px;
}

@keyframes shield-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.72;transform:scale(1.035)}
}

.needle{
  transform-origin:90px 104px;
  animation:needle-swing 4.2s ease-in-out infinite;
}

@keyframes needle-swing{
  0%,100%{transform:rotate(-14deg)}
  35%{transform:rotate(26deg)}
  62%{transform:rotate(8deg)}
}

.gauge-lit{
  stroke:var(--acc);
  opacity:.85;
}

.bars path{
  transform-origin:bottom;
  animation:bar-jump 1.5s ease-in-out infinite;
}
.bars path:nth-child(1){animation-delay:-.1s}
.bars path:nth-child(2){animation-delay:-.5s}
.bars path:nth-child(3){animation-delay:-.9s}
.bars path:nth-child(4){animation-delay:-.3s}
.bars path:nth-child(5){animation-delay:-.7s}

@keyframes bar-jump{
  0%,100%{transform:scaleY(.6)}
  50%{transform:scaleY(1.25)}
}

.link{animation:wire-flow 2s linear infinite}
.link-2{animation-delay:-.6s}
.link-3{animation-delay:-1.2s}

.hub{animation:hub-beat 2.6s ease-in-out infinite;transform-origin:90px 122px}

@keyframes hub-beat{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.18);opacity:.7}
}

.ping{animation:ping-blink 2.8s ease-in-out infinite}
.ping-2{animation-delay:-.95s}
.ping-3{animation-delay:-1.9s}

@keyframes ping-blink{
  0%,100%{opacity:.25;transform:scale(.85)}
  25%{opacity:1;transform:scale(1.15)}
  60%{opacity:.4;transform:scale(1)}
}

.row{animation:row-erase 4s ease-in-out infinite}
.row-2{animation-delay:-1.3s}
.row-3{animation-delay:-2.6s}

@keyframes row-erase{
  0%,100%{opacity:.5}
  55%{opacity:.05}
}

.strike{
  stroke:var(--acc);
  stroke-dasharray:110;
  stroke-dashoffset:110;
  animation:strike-draw 4.5s ease-in-out infinite;
}

@keyframes strike-draw{
  0%{stroke-dashoffset:110}
  35%,70%{stroke-dashoffset:0}
  100%{stroke-dashoffset:-110}
}

.tariffs{margin-bottom:110px}

.sec-head{
  text-align:center;
  margin-bottom:24px;
}

.sec-head h2{
  margin:0 0 6px;
  font-size:26px;
  letter-spacing:-.02em;
}

.sec-head p{
  margin:0;
  font-size:13px;
  color:var(--ink-2);
}

.pricebox{
  display:grid;
  grid-template-columns:330px 1fr;
  gap:22px;
  align-items:stretch;
  min-height:376px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:24px;
}

.opts{
  order:2;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 12px 4px 4px;
}

.opt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 14px;
  height:56px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:var(--ink-2);
  font:inherit;
  font-size:14px;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}

.opt:hover{
  background:var(--opt-hover);
  color:var(--ink);
}

.opt.is-on{
  background:var(--opt-hover);
  color:var(--ink);
}

.opt-l{
  display:flex;
  align-items:center;
  gap:11px;
}

.opt-dot{
  width:16px;
  height:16px;
  flex-shrink:0;
  border-radius:50%;
  border:1px solid var(--btn-line);
  position:relative;
  transition:border-color .2s ease;
}

.opt-dot::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:var(--acc);
  transform:scale(0);
  transition:transform .2s cubic-bezier(.3,.9,.3,1.4);
}

.opt.is-on .opt-dot{border-color:var(--acc)}
.opt.is-on .opt-dot::after{transform:scale(1)}

.opt-bar{
  flex:1;
  height:3px;
  min-width:40px;
  border-radius:3px;
  background:var(--line);
  overflow:hidden;
}

.opt-bar i{
  display:block;
  width:var(--w);
  height:100%;
  border-radius:3px;
  background:var(--ink-2);
  opacity:.45;
  transition:background .25s ease, opacity .25s ease, transform .45s cubic-bezier(.3,.8,.25,1);
  transform-origin:left;
}

.opt.is-on .opt-bar i{
  background:var(--acc);
  opacity:1;
  animation:bar-fill .5s cubic-bezier(.3,.8,.25,1);
}

@keyframes bar-fill{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

.opt-p{
  font-size:15px;
  letter-spacing:-.01em;
  min-width:62px;
  text-align:right;
}

.preview{
  order:1;
  position:relative;
  overflow:hidden;
  border-radius:20px;
  background:var(--acc);
  color:#fff;
}

.preview-pattern{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
}

.preview-in{
  position:relative;
  z-index:1;
  height:100%;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.pv-top{
  position:relative;
  width:100%;
  padding-bottom:18px;
}

.pv-cut{
  position:relative;
  width:100%;
  height:1px;
  margin-bottom:18px;
  background:repeating-linear-gradient(
    90deg,
    rgba(255,255,255,.5) 0 5px,
    transparent 5px 11px
  );
}

.pv-cut::before,
.pv-cut::after{
  content:"";
  position:absolute;
  top:-11px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--bg);
}

.pv-cut::before{left:-35px}
.pv-cut::after{right:-35px}

.stamp{
  position:absolute;
  top:-2px;
  right:-2px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
  padding:7px 11px 6px;
  border:1.5px solid rgba(255,255,255,.55);
  border-radius:9px;
  transform:rotate(-9deg);
  color:rgba(255,255,255,.9);
  animation:stamp-in .5s cubic-bezier(.2,1.5,.4,1) .3s backwards;
}

.stamp b{
  font-size:14px;
  line-height:1;
  letter-spacing:-.01em;
}

.stamp i{
  font-style:normal;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.85;
}

@keyframes stamp-in{
  from{opacity:0;transform:rotate(-24deg) scale(1.5)}
  to{opacity:1;transform:rotate(-9deg) scale(1)}
}

.pv-term{
  font-size:12px;
  color:rgba(255,255,255,.8);
}

.pv-price{
  margin:6px 0 2px;
  font-size:38px;
  line-height:1;
  letter-spacing:-.035em;
}

.pv-price i{
  font-style:normal;
  font-size:20px;
  color:rgba(255,255,255,.75);
}

.pv-until{
  font-size:12px;
  color:rgba(255,255,255,.8);
}

.pv-swap{animation:pv-swap .32s ease}

@keyframes pv-swap{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}

.pv-list{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12.5px;
  color:rgba(255,255,255,.9);
}

.pv-list li{
  display:flex;
  align-items:center;
  gap:8px;
}

.pv-list li::before{
  content:"";
  width:14px;
  height:14px;
  flex-shrink:0;
  border-radius:50%;
  background:rgba(255,255,255,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/8px no-repeat;
}

.btn-plan{
  width:100%;
  margin-top:auto;
  justify-content:center;
}

.footer{
  padding:22px 0 64px;
}

.footer-in{
  display:flex;
  align-items:center;
  gap:24px;
  height:36px;
}

.footer .logo img{height:18px}
.footer .logo span{font-size:14px}

.footer-nav{
  display:flex;
  gap:20px;
  margin-left:auto;
}

.footer-nav a{
  font-size:12px;
  color:var(--ink-2);
  text-decoration:none;
  transition:color .18s ease;
}

.footer-nav a:hover{color:var(--ink)}

.footer-copy{
  font-size:12px;
  color:var(--ink-2);
}

.auth{
  min-height:calc(100vh - 59px);
  display:flex;
  align-items:center;
  padding:48px 0 80px;
}

.auth-box{
  display:grid;
  grid-template-columns:0.85fr 1fr;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
}

.auth-side{
  position:relative;
  overflow:hidden;
  background:var(--acc);
  color:#fff;
}

.auth-pattern{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.auth-side-in{
  position:relative;
  z-index:1;
  height:100%;
  padding:34px 30px;
  display:flex;
  flex-direction:column;
}

.auth-side-tag{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:2px 11px 0;
  border:1px solid rgba(255,255,255,.45);
  border-radius:100px;
  font-size:10.5px;
  letter-spacing:.04em;
}

.auth-side h2{
  margin:18px 0 20px;
  font-size:27px;
  line-height:1.15;
  letter-spacing:-.03em;
}

.auth-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:12.5px;
  color:rgba(255,255,255,.92);
}

.auth-list li{
  display:flex;
  align-items:center;
  gap:9px;
}

.auth-list li::before{
  content:"";
  width:15px;
  height:15px;
  flex-shrink:0;
  border-radius:50%;
  background:rgba(255,255,255,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/8px no-repeat;
}

.auth-side-note{
  margin:auto 0 0;
  padding-top:24px;
  font-size:11.5px;
  line-height:1.5;
  color:rgba(255,255,255,.78);
}

.auth-main{
  padding:34px 32px;
}

.auth-main h1{
  margin:0 0 6px;
  font-size:26px;
  letter-spacing:-.025em;
}

.auth-sub{
  margin:0 0 26px;
  font-size:13px;
  line-height:1.5;
  color:var(--ink-2);
}

.auth-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field-l{
  font-size:12.5px;
  color:var(--ink-2);
}

.input-wrap{
  position:relative;
  display:block;
}

.input{
  width:100%;
  height:46px;
  padding:0 14px;
  border:1px solid var(--btn-line);
  border-radius:12px;
  background:transparent;
  color:var(--ink);
  font-family:inherit;
  font-size:14px;
  font-weight:700;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.input::placeholder{
  color:var(--ink-2);
  opacity:.6;
  font-weight:700;
}

.input:focus{
  border-color:var(--acc);
  box-shadow:0 0 0 3px rgba(252,38,56,.12);
}

.input-wrap .input{padding-right:46px}

.field.is-bad .input{border-color:var(--acc)}

.peek{
  position:absolute;
  top:0;
  right:0;
  width:44px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:var(--ink-2);
  cursor:pointer;
  transition:color .18s ease;
}

.peek:hover{color:var(--ink)}
.peek svg{width:17px;height:17px}
.peek.is-on{color:var(--acc)}

.auth-msg{
  margin:0;
  min-height:16px;
  font-size:12px;
  line-height:1.4;
  color:var(--acc);
}

.btn-wide{
  width:100%;
  justify-content:center;
  margin-top:2px;
}

.btn:disabled{
  opacity:.55;
  cursor:default;
}

.auth-or{
  position:relative;
  margin:20px 0;
  text-align:center;
}

.auth-or::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  right:0;
  height:1px;
  background:var(--line);
}

.auth-or span{
  position:relative;
  padding:0 12px;
  background:var(--bg);
  font-size:11.5px;
  color:var(--ink-2);
}

.btn-tg svg{
  width:16px;
  height:16px;
}

.auth-foot{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:center;
  gap:6px;
  font-size:12.5px;
  color:var(--ink-2);
}

.auth-foot a{
  color:var(--acc);
  text-decoration:none;
}

.auth-foot a:hover{text-decoration:underline}

.account{
  padding:40px 0 80px;
}

.acc-head{
  margin-bottom:22px;
}

.acc-head h1{
  margin:0 0 5px;
  font-size:28px;
  letter-spacing:-.03em;
}

.acc-head p{
  margin:0;
  font-size:13px;
  color:var(--ink-2);
}

.acc-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:14px;
}

.acc-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
}

.acc-card h3{
  margin:0 0 10px;
  font-size:15px;
}

.acc-key{
  position:relative;
  overflow:hidden;
  border-color:transparent;
  background:var(--acc);
  color:#fff;
  padding:0;
}

.acc-pattern{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
}

.acc-key-in{
  position:relative;
  z-index:1;
  padding:24px;
}

.acc-status{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:2px 11px 0;
  border-radius:100px;
  border:1px solid rgba(255,255,255,.45);
  font-size:10.5px;
  letter-spacing:.04em;
}

.acc-status.is-off{
  background:rgba(0,0,0,.22);
  border-color:transparent;
}

.acc-key h2{
  margin:16px 0 3px;
  font-size:34px;
  line-height:1;
  letter-spacing:-.035em;
}

.acc-key p{
  margin:0;
  font-size:12.5px;
  color:rgba(255,255,255,.82);
}

.acc-actions{
  display:flex;
  gap:9px;
  margin-top:22px;
  flex-wrap:wrap;
}

.acc-num{
  font-size:30px;
  line-height:1;
  letter-spacing:-.03em;
}

.acc-note{
  margin:6px 0 0;
  font-size:12px;
  color:var(--ink-2);
}

.acc-rows{
  margin-top:18px;
  border-top:1px solid var(--line);
}

.acc-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:9px 0;
  font-size:12.5px;
  border-bottom:1px solid var(--line);
}

.acc-row:last-child{border-bottom:0}
.acc-row span{color:var(--ink-2)}

.acc-links{grid-column:span 2}

.acc-link-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:14px;
}

.acc-link{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease;
}

.acc-link:hover{border-color:var(--acc)}

.acc-link code{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:11.5px;
  color:var(--ink-2);
}

.acc-link span{
  flex-shrink:0;
  font-size:11px;
  color:var(--acc);
}

.acc-empty{
  padding:48px 24px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:20px;
}

.acc-empty p{
  margin:0 0 18px;
  font-size:14px;
  color:var(--ink-2);
}

.theme-wipe{
  position:fixed;
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  transform:scale(0);
  transition:transform .55s cubic-bezier(.3,.75,.25,1);
  will-change:transform, opacity;
}

.theme-wipe.is-out{
  opacity:0;
  transition:opacity .42s ease;
}

@media (hover: none){
  .btn-fill{display:none}

  .btn-acc.is-on{color:#fff}
  .btn-ghost.is-on{border-color:var(--btn-line)}
  .btn-outline.is-on{border-color:rgba(255,255,255,.45)}

  .btn:active{opacity:.82}
  .opt:active{background:var(--opt-hover)}

  .art{color:var(--acc)}
}

@media (max-width:900px){
  .bento{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:196px;
  }

  .pricebox{
    grid-template-columns:1fr;
    gap:16px;
    min-height:0;
  }

  .opts{
    order:2;
    padding:0;
  }

  .preview{order:1}

  .preview-in{height:auto}

  .btn-plan{
    margin-top:20px;
    flex-shrink:0;
  }

  .hero h1{font-size:38px}
}

@media (max-width:640px){
  body{overflow-x:hidden}

  .auth{
    min-height:0;
    padding:24px 0 64px;
  }

  .auth-box{
    grid-template-columns:1fr;
    border-radius:20px;
  }

  .auth-side-in{padding:24px 20px}
  .auth-side h2{font-size:22px;margin:14px 0 16px}
  .auth-side-note{display:none}
  .auth-list{gap:8px}

  .auth-main{padding:26px 20px}
  .auth-main h1{font-size:22px}

  .account{padding:26px 0 64px}
  .acc-head h1{font-size:23px}

  .acc-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .acc-links{grid-column:span 1}
  .acc-key-in{padding:20px}
  .acc-key h2{font-size:29px}
  .acc-actions .btn{width:100%}

  .container{width:min(900px, 100% - 32px)}

  .header .container{gap:8px}
  .header-act{gap:6px}

  .btn{padding:0 11px}
  .btn-sq{width:56px;gap:8px}

  .btn-support span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }

  .btn-support{padding:0 10px;gap:0}

  .hero{
    height:auto;
    min-height:340px;
    border-radius:18px;
  }

  .hero-in{
    height:auto;
    padding:38px 20px;
  }

  .hero h1{
    font-size:29px;
    line-height:1.2;
  }

  .hero p{
    font-size:13.5px;
    line-height:1.55;
  }

  .hero p br{display:none}

  .hero-tag{
    font-size:10.5px;
    height:24px;
    margin-bottom:16px;
  }

  .hero-btns{
    width:100%;
    flex-direction:column;
    gap:8px;
    margin-top:22px;
  }

  .hero-btns .btn{width:100%}

  .bento{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:10px;
    margin:10px 0 32px;
  }

  .card-wide{grid-column:span 1}

  .art{
    flex:none;
    height:128px;
    margin-bottom:14px;
  }

  .sec-head h2{font-size:22px}
  .sec-head p{font-size:12.5px}

  .pricebox{padding:12px}

  .preview-in{padding:20px}

  .pv-cut::before{left:-31px}
  .pv-cut::after{right:-31px}

  .pv-price{font-size:34px}

  .stamp{
    padding:6px 9px 5px;
    top:0;
    right:0;
  }

  .stamp b{font-size:12.5px}
  .stamp i{font-size:8px}

  .opt{
    height:52px;
    padding:0 12px;
    gap:12px;
  }

  .opt-bar{min-width:28px}

  .tariffs{margin-bottom:64px}

  .footer{padding:20px 0 calc(48px + env(safe-area-inset-bottom))}

  .footer-in{
    height:auto;
    flex-wrap:wrap;
    gap:12px 18px;
  }

  .footer-nav{
    order:3;
    width:100%;
    margin-left:0;
    gap:16px;
  }

  .footer-copy{margin-left:auto}
}

@media (max-width:380px){
  .container{width:min(900px, 100% - 24px)}

  .logo span{font-size:15px}
  .btn{font-size:11.5px}
  .btn-sq{width:50px;gap:6px}

  .hero h1{font-size:25px}
  .hero-in{padding:32px 16px}

  .pv-price{font-size:30px}
  .opt{font-size:13px}
}
