

  html, body { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
  input, textarea { -webkit-user-select: text; user-select: text; }
  img, svg, a { -webkit-user-drag: none; user-drag: none; }
  img { pointer-events: none; }
  * { box-sizing: border-box; }
  :root { --page-bg: #F5F5F5; --surface: #fff; --surface-shadow: 0 4px 20px rgba(0, 0, 0, 0.035); }
  html, body { margin: 0; background: var(--page-bg); color-scheme: light; }
  /* Bigger on big screens (owner 08.10.2026; a step smaller since 12.10.2026, «слишком крупно, приходится крутить»): 17/18/20 px instead of 18/20/22. The page is built in rem, so raising the root size scales everything together. A
   * percentage, not pixels, so the visitor's own font-size setting still counts. Media queries use the browser's 16px rem, unaffected. */
  @media (min-width: 64rem) { html { font-size: 106.25%; } }
  @media (min-width: 90rem) { html { font-size: 112.5%; } }
  @media (min-width: 120rem) { html { font-size: 125%; } }
  body { color: #34361B; font-family: "Onest", system-ui, sans-serif; font-weight: 500; line-height: 1.3; -webkit-text-size-adjust: 100%; }
  a { color: inherit; text-decoration: none; }
  .wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; min-height: 100svh; width: min(58rem, 100%); margin: 0 auto; padding: 2rem 1.25rem 4rem; text-align: center; }
  .swagies-logo { display: block; width: 8rem; height: auto; }
  h1, .catalog-title { max-width: 22ch; margin: 1.6rem auto 2.2rem; font-size: clamp(1.1rem, 4.75vw, 1.75rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.04; text-wrap: balance; }
  .list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; width: 100%; text-align: left; }
  .item { display: flex; flex-direction: column; gap: 0.9rem; padding: 0.9rem; border-radius: 1.6rem; background: #F4F4EE; }
  .cover { display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 1.1rem; }
  .cover .ico { width: 24%; }
  .cover .ico { width: 34%; aspect-ratio: 1; }
  .ico { display: inline-grid; place-items: center; }
  .ico svg, .ico img { display: block; width: 100%; height: 100%; object-fit: contain; }
  .name { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.02em; }
  .term { font-size: 0.95rem; opacity: 0.6; margin-top: 0.15rem; }
  .buy { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; margin-top: auto; }
  .price { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; }
  .btn { padding: 0.8rem 1.3rem; border-radius: 999px; background: #3971BB; color: #fff; font-size: 1rem; font-weight: 800; }

  @media (max-width: 48rem) {
    .wrap { padding-top: 1.5rem; padding-bottom: 2.5rem; }
    .swagies-logo { width: 6.6rem; }
    h1, .catalog-title { margin: 1.3rem auto 1.6rem; }
    .list { grid-template-columns: 1fr; gap: 0.7rem; }
    .item { flex-direction: row; align-items: center; gap: 0.9rem; padding: 0.7rem; border-radius: 1.3rem; }
    .cover { flex: none; width: 4.6rem; aspect-ratio: 1; border-radius: 0.95rem; }
    .cover .ico { width: 46%; }
    .text { flex: 1; min-width: 0; }
    .name { font-size: 1.15rem; }
    .term { font-size: 0.85rem; }
    .buy { flex-direction: column; align-items: flex-end; gap: 0.4rem; margin: 0; }
    .price { font-size: 1.15rem; }
    .btn { padding: 0.55rem 1rem; font-size: 0.92rem; }
  }

.sw { position: fixed; z-index: 30; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); font-family: inherit; }
.sw button { font: inherit; cursor: pointer; }
.sw .chat-text, .sw .chat-form textarea, .sw .chat-doc { -webkit-user-select: text; user-select: text; }
.sw-fab { position: relative; display: inline-flex; align-items: center; gap: .6rem; height: 3.5rem; padding: 0 1.2rem 0 .35rem; border: 0; border-radius: 999px; background: #fff; color: #34361B; font-size: .92rem; font-weight: 600; box-shadow: 0 8px 22px rgba(52, 54, 27, .14), inset 0 0 0 1px #E4E4E4; transition: background 140ms ease, box-shadow 140ms ease; }
.sw-fab:hover { background: #F5F5F5; }
.sw-fab:active { background: #EDEDED; }
.sw-fab-pic { width: 2.9rem; height: 2.9rem; object-fit: contain; pointer-events: none; }
.sw-fab:focus-visible, .sw-close:focus-visible, .sw-expand:focus-visible, .sw-login:focus-visible, .chat-attach:focus-visible, .sw-t:focus-visible { outline: 3px solid #F0E6A5; outline-offset: 2px; }
.sw-badge { position: absolute; top: -.45rem; right: -.35rem; display: grid; place-items: center; min-width: 1.3rem; height: 1.3rem; padding: 0 .3rem; border: 2px solid #34361B; border-radius: 999px; background: #F29BB0; color: #34361B; font-size: .72rem; font-weight: 800; }
.sw-badge[hidden] { display: none; }
.sw.is-open .sw-fab { display: none; }
.sw-backdrop { display: none; }
.sw-panel { position: absolute; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(24rem, calc(100vw - 2rem)); height: min(34rem, calc(100vh - 2rem)); height: min(34rem, calc(100dvh - 2rem)); overflow: hidden; border: 2.5px solid #34361B; border-radius: 1.5rem; background: #fff; color: #34361B; box-shadow: 4px 4px 0 #34361B; }
.sw-panel[hidden] { display: none; }
.sw-head { flex: none; display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; padding: .9rem 1rem; background: #E6ECCB; border-bottom: 2.5px solid #34361B; }
.sw-title { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.sw-title strong { font-size: 1rem; font-weight: 800; }
.sw-sub { font-size: .78rem; line-height: 1.35; color: #34361B; opacity: .8; }
.sw-tools { flex: none; display: flex; gap: .4rem; }
.sw-close, .sw-expand { display: grid; place-items: center; width: 2rem; height: 2rem; border: 0; border-radius: 50%; background: #fff; color: #34361B; }
.sw-ico-shrink, .sw.is-wide .sw-ico-expand { display: none; }
.sw.is-wide .sw-ico-shrink { display: block; }
.sw-body { flex: 1; min-height: 0; display: flex; }
.sw-side { display: none; }
.sw-main { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.sw-guestnote { flex: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem .8rem; margin: 0; padding: .55rem .9rem; background: #F7F0CC; font-size: .78rem; line-height: 1.35; }
.sw-guestnote span { flex: 1 1 12rem; }
.sw-guestnote[hidden] { display: none; }
.sw-login { padding: .35rem .9rem; border: 2px solid #34361B; border-radius: 999px; background: #3971BB; color: #FCFCEE; font-size: .8rem; font-weight: 700; }
.sw-alt { flex: none; align-self: center; padding: .1rem 0 .7rem; color: #3971BB; font-size: .8rem; font-weight: 600; }
.sw .chat { flex: 1; min-height: 0; padding: .8rem .8rem .3rem; }
.sw .chat-list { flex: 1; min-height: 0; max-height: none; }
.sw .chat-empty { flex: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
.sw .chat-empty[hidden] { display: none; }
.sw-side-title { margin: 0; padding: .9rem 1rem .5rem; font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #65768B; }
.sw-tickets { display: flex; flex-direction: column; gap: .35rem; margin: 0; padding: 0 .6rem .8rem; list-style: none; }
.sw-t { position: relative; display: flex; flex-direction: column; gap: .15rem; width: 100%; padding: .6rem .8rem; border: 2px solid transparent; border-radius: 1rem; background: transparent; color: #34361B; text-align: left; }
.sw-t:hover { background: #F5F5F5; }
.sw-t.is-sel { border-color: #34361B; background: #E6ECCB; }
.sw-t-top { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.sw-t-top strong { font-size: .88rem; font-weight: 800; }
.sw-t-state { font-size: .7rem; font-weight: 700; color: #65768B; }
.sw-t-state.is-live { color: #3971BB; }
.sw-t-snip { font-size: .8rem; line-height: 1.35; color: #34361B; opacity: .85; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.sw-t-snip:empty { display: none; }
.sw-t-time { font-size: .7rem; color: #65768B; }
.sw-t-dot { position: absolute; right: .6rem; bottom: .55rem; display: grid; place-items: center; min-width: 1.15rem; height: 1.15rem; padding: 0 .25rem; border-radius: 999px; background: #F29BB0; font-size: .68rem; font-weight: 800; }
.sw-t-new { border-style: dashed; border-color: #CBD69B; }
.sw-t-new strong { color: #3971BB; }
.sw.is-wide .sw-backdrop { display: block; position: fixed; inset: 0; z-index: -1; background: rgba(52, 54, 27, .5); }
.sw.is-wide .sw-panel { position: fixed; left: 50%; top: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); width: min(62rem, calc(100vw - 2rem)); height: min(42rem, calc(100vh - 2rem)); height: min(42rem, calc(100dvh - 2rem)); }
.sw.is-wide .sw-side { display: flex; flex-direction: column; flex: none; width: 17rem; overflow-y: auto; border-right: 2.5px solid #34361B; background: #FCFCEE; scrollbar-width: thin; }
.sw.is-wide .sw-head { padding: 1rem 1.3rem; }
.sw.is-wide .sw-title strong { font-size: 1.15rem; }
.sw.is-wide .sw .chat, .sw.is-wide .chat { padding: 1rem 1.3rem .4rem; }
.sw.is-wide .chat-msg { max-width: 70%; }
.sw-lock { overflow: hidden; }
@media (max-width: 48rem) {
  .sw { right: auto; left: max(.8rem, env(safe-area-inset-left)); bottom: max(.8rem, env(safe-area-inset-bottom)); }
  .sw-fab { width: 3.5rem; padding: 0; justify-content: center; }
  .sw-fab-text { display: none; }
  .sw-panel { position: fixed; left: 0; right: 0; bottom: 0; width: auto; height: min(82vh, 36rem); height: min(82dvh, 36rem); border-width: 2.5px 0 0; border-radius: 1.5rem 1.5rem 0 0; box-shadow: none; padding-bottom: env(safe-area-inset-bottom); }
  .sw.is-wide .sw-panel { left: 0; top: 0; right: 0; bottom: 0; transform: none; width: auto; height: 100vh; height: 100dvh; border: 0; border-radius: 0; }
  .sw.is-wide .sw-body { flex-direction: column; }
  .sw.is-wide .sw-side { width: auto; flex-direction: row; align-items: center; gap: .4rem; overflow-x: auto; overflow-y: hidden; padding: .5rem; border-right: 0; border-bottom: 2px solid #E4E6D2; }
  .sw.is-wide .sw-side-title { display: none; }
  .sw.is-wide .sw-tickets { flex-direction: row; padding: 0; }
  .sw.is-wide .sw-t { width: 11rem; flex: none; }
  .sw.is-wide .chat-msg { max-width: 85%; }
}
@media (prefers-reduced-motion: reduce) { .sw-fab { transition: none; } }
.chat { display: flex; flex-direction: column; gap: .7rem; }
.chat-status { margin: 0; padding: .6rem .9rem; border-radius: 1rem; background: #F5F5F5; font-size: .85rem; font-weight: 600; }
.chat-status[data-state="open"] { background: #E6ECCB; }
.chat-status[data-state="off"] { background: #FADBE3; }
.chat-list { display: flex; flex-direction: column; gap: .5rem; max-height: 24rem; min-height: 6rem; overflow-y: auto; padding: .2rem; scrollbar-width: thin; }
.chat-list:empty { display: none; }
.chat-empty { margin: 0; padding: 1rem; border-radius: 1rem; background: #F7F0CC; font-size: .9rem; line-height: 1.5; }
.chat-empty[hidden] { display: none; }
.chat-past { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin: 0; padding: .6rem .6rem .6rem .9rem; border-radius: 1rem; background: #F5F5F5; font-size: .85rem; font-weight: 600; }
.chat-past[hidden] { display: none; }
.chat-new { padding: .4rem .9rem; border: 2px solid #34361B; border-radius: 999px; background: #3971BB; color: #FCFCEE; font-size: .8rem; font-weight: 700; }
.chat-msg { display: flex; flex-direction: column; gap: .15rem; max-width: 85%; padding: .6rem .85rem; border-radius: 1.1rem; }
.chat-client { align-self: flex-end; background: #3971BB; color: #FCFCEE; border-bottom-right-radius: .3rem; }
.chat-support { align-self: flex-start; background: #E6ECCB; border-bottom-left-radius: .3rem; }
.chat-system { align-self: center; max-width: 100%; background: #F5F5F5; color: #65768B; font-size: .8rem; text-align: center; }
.chat-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .92rem; line-height: 1.45; }
.chat-time { font-size: .7rem; opacity: .75; }
.chat-client .chat-time { align-self: flex-end; }
.chat-img { display: block; margin: .1rem 0 .2rem; }
.chat-img img { display: block; max-width: 100%; max-height: 16rem; border-radius: .8rem; background: rgba(255, 255, 255, .5); }
.chat-doc { display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start; margin: .1rem 0 .2rem; padding: .45rem .8rem; border: 2px solid currentColor; border-radius: 999px; color: inherit; font-size: .82rem; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.chat-gone { font-size: .8rem; font-style: italic; opacity: .8; }
.chat-msg.is-pending { opacity: .6; }
.chat-msg.is-failed { background: #FADBE3; color: #34361B; }
.chat-retry { align-self: flex-start; margin-top: .2rem; padding: .25rem .7rem; border: 2px solid #34361B; border-radius: 999px; background: #fff; color: #34361B; font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }
.chat-error { margin: 0; padding: .6rem .9rem; border-radius: 1rem; background: #FADBE3; font-size: .85rem; font-weight: 600; }
.chat-error[hidden] { display: none; }
.chat-form { flex: none; display: flex; flex-direction: column; gap: .4rem; }
.chat-form[hidden] { display: none; }
.chat-order, .chat-file { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 0; padding: .4rem .5rem .4rem .9rem; border-radius: 999px; background: #F0E6A5; font-size: .8rem; font-weight: 700; }
.chat-file { background: #E6ECCB; }
.chat-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-order[hidden], .chat-file[hidden] { display: none; }
.chat-order button, .chat-file button { flex: none; width: 1.6rem; height: 1.6rem; border: 0; border-radius: 50%; background: #fff; color: #34361B; font-size: 1rem; line-height: 1; cursor: pointer; }
.chat-row { display: flex; align-items: flex-end; gap: .5rem; }
.chat-attach { flex: none; display: grid; place-items: center; width: 2.9rem; height: 2.9rem; border: 2px solid #E4E6D2; border-radius: 50%; background: #fff; color: #34361B; cursor: pointer; }
.chat-attach:hover { border-color: #34361B; }
.chat-attach svg { width: 1.2rem; height: 1.2rem; }
.sw.is-drop .sw-main { outline: 3px dashed #3971BB; outline-offset: -8px; }
.chat-row textarea { flex: 1; min-width: 0; min-height: 2.9rem; max-height: 140px; padding: .7rem 1rem; border: 2px solid #E4E6D2; border-radius: 1.2rem; background: #fff; color: #34361B; font: inherit; font-size: .95rem; line-height: 1.4; resize: none; }
.chat-row textarea:focus { outline: 0; border-color: #3971BB; }
.chat-send { flex: none; display: grid; place-items: center; width: 2.9rem; height: 2.9rem; border: 2.5px solid #34361B; border-radius: 50%; background: #3971BB; color: #FCFCEE; cursor: pointer; box-shadow: 3px 3px 0 #34361B; }
.chat-send svg { width: 1.2rem; height: 1.2rem; }
.chat-send:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.chat-hint { display: flex; justify-content: space-between; gap: .5rem; margin: 0; font-size: .75rem; color: #65768B; }
.chat-count.is-over { color: #B3324F; font-weight: 700; }
/* flat, like the account pages (owner 15.10.2026): white surfaces, soft grey fields, no heavy outlines or hard shadows */
.sw .sw-panel { border: 0; border-radius: 1.6rem; box-shadow: 0 22px 60px rgba(52, 54, 27, .22), 0 2px 8px rgba(52, 54, 27, .08); }
.sw .sw-head { align-items: center; gap: .75rem; padding: .95rem 1rem; background: #fff; border-bottom: 1px solid #EDEDE3; }
.sw .sw-ico { flex: none; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: .9rem; background: #EEF3FA; color: #3971BB; }
.sw .sw-ico svg { width: 1.35rem; height: 1.35rem; }
.sw .sw-title { flex: 1; }
.sw .sw-title strong { font-size: 1rem; font-weight: 700; }
.sw .sw-sub { color: #5D614F; opacity: 1; }
.sw .sw-close, .sw .sw-expand { width: 2.1rem; height: 2.1rem; border-radius: .75rem; background: #F5F5F5; }
@media (hover: hover) { .sw .sw-close:hover, .sw .sw-expand:hover { background: #E6ECCB; } }
.sw .sw-fab:focus-visible, .sw .sw-close:focus-visible, .sw .sw-expand:focus-visible, .sw .sw-login:focus-visible, .sw .chat-attach:focus-visible, .sw .sw-t:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
.sw .sw-badge { border: 0; box-shadow: 0 0 0 2px #fff; }
.sw .sw-guestnote { margin: .7rem .8rem 0; padding: .6rem .7rem .6rem .9rem; border-radius: 1rem; background: #EEF3FA; color: #34361B; }
.sw .sw-login { padding: .4rem .85rem; border: 0; border-radius: .7rem; background: #3971BB; color: #fff; }
@media (hover: hover) { .sw .sw-login:hover, .sw .chat-new:hover { background: #2E5E9D; } }
.sw .sw-alt { margin: 0 0 .8rem; padding: .4rem .9rem; border-radius: .75rem; background: #F5F5F5; color: #34361B; }
.sw .chat-status { padding: .5rem .8rem; border-radius: .9rem; background: #F5F5F5; color: #5D614F; font-size: .8rem; font-weight: 500; text-align: center; }
.sw .chat-status[data-state="open"] { background: #F5F5F5; }
.sw .chat-status[data-state="off"] { background: #FADBE3; color: #34361B; }
.sw .chat-empty { background: #F5F5F5; color: #5D614F; font-size: .88rem; }
.sw .chat-past { border-radius: .9rem; }
.sw .chat-new { border: 0; border-radius: .7rem; background: #3971BB; color: #fff; }
.sw .chat-msg { border-radius: 1.15rem; }
.sw .chat-client { background: #3971BB; color: #fff; border-bottom-right-radius: .35rem; }
.sw .chat-support { background: #F5F5F5; color: #34361B; border-bottom-left-radius: .35rem; }
.sw .chat-system { background: none; color: #7A7C62; font-size: .78rem; }
.sw .chat-doc { border: 0; border-radius: .75rem; background: rgba(52, 54, 27, .08); }
.sw .chat-client .chat-doc { background: rgba(255, 255, 255, .2); }
.sw .chat-retry { border: 0; border-radius: .6rem; background: #fff; }
.sw .chat-order { background: #F7F0CC; border-radius: .9rem; }
.sw .chat-file { background: #EEF3FA; border-radius: .9rem; }
.sw .chat-attach { width: 2.75rem; height: 2.75rem; border: 0; border-radius: .85rem; background: #F5F5F5; }
@media (hover: hover) { .sw .chat-attach:hover { background: #E6ECCB; } }
.sw .chat-row textarea { min-height: 2.75rem; border: 0; border-radius: .9rem; background: #F5F5F5; }
.sw .chat-row textarea:focus { outline: 2px solid #3971BB; outline-offset: 0; background: #fff; }
.sw .chat-send { width: 2.75rem; height: 2.75rem; border: 0; border-radius: .85rem; background: #3971BB; color: #fff; box-shadow: none; }
@media (hover: hover) { .sw .chat-send:hover:not(:disabled) { background: #2E5E9D; } }
.sw .chat-hint { justify-content: flex-end; color: #7A7C62; }
.sw .chat-hint:has(.chat-count:empty) { display: none; }
.sw.is-wide .sw-panel { border-radius: 1.8rem; }
.sw.is-wide .sw-side { border-right: 0; background: #F5F5F5; }
.sw.is-wide .sw-backdrop { background: rgba(52, 54, 27, .38); }
.sw .sw-t { border: 0; border-radius: 1rem; }
@media (hover: hover) { .sw .sw-t:hover { background: rgba(255, 255, 255, .7); } }
.sw .sw-t.is-sel { background: #fff; box-shadow: 0 1px 4px rgba(52, 54, 27, .12); }
.sw .sw-t-new { border: 1.5px dashed #C9CBB4; }
.sw .sw-side-title { color: #7A7C62; }
@media (max-width: 48rem) {
  .sw .sw-panel { border-radius: 1.5rem 1.5rem 0 0; }
  .sw.is-wide .sw-panel { border-radius: 0; }
  .sw.is-wide .sw-side { border-bottom: 1px solid #EDEDE3; }
}
/* calmer panel (owner 20.10.2026): fewer grey boxes, the mascot in the header, plain controls */
.sw .sw-ico { width: 3rem; height: 3rem; padding: 0; border-radius: 0; background: none; object-fit: contain; }
.sw .sw-head { border-bottom: 0; padding: 1rem 1.1rem .6rem; }
.sw .sw-title strong { font-size: 1.05rem; font-weight: 600; }
.sw .sw-sub { font-size: .8rem; color: #7A7C62; }
.sw .sw-close, .sw .sw-expand { background: none; color: #7A7C62; }
@media (hover: hover) { .sw .sw-close:hover, .sw .sw-expand:hover { background: #F5F5F5; color: #34361B; } }
.sw .chat-status[data-state="none"], .sw .chat-status[data-state="open"] { display: none; }
.sw .chat-empty { background: none; padding: 1rem 1.2rem; color: #7A7C62; font-size: .9rem; line-height: 1.5; }
.sw .chat-attach { background: none; color: #7A7C62; }
@media (hover: hover) { .sw .chat-attach:hover { background: #F5F5F5; color: #34361B; } }
.sw .chat-row { align-items: center; }
.sw .sw-alt { margin: 0 0 .75rem; padding: 0 1rem; background: none; color: #7A7C62; font-size: .78rem; font-weight: 500; text-align: center; }
.sw .sw-alt a { color: #3971BB; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #B9CCE6; }
@media (hover: hover) { .sw .sw-alt a:hover { color: #2E5E9D; } }
.sw .sw-guestnote { position: relative; padding-right: 2.1rem; }
.sw .sw-guestnote-x { position: absolute; top: .35rem; right: .4rem; display: grid; place-items: center; width: 1.4rem; height: 1.4rem; padding: 0; border: 0; border-radius: 50%; background: none; color: #7A7C62; }
@media (hover: hover) { .sw .sw-guestnote-x:hover { background: rgba(52, 54, 27, .08); color: #34361B; } }
.sw .sw-guestnote-x:focus-visible { outline: 2px solid #3971BB; outline-offset: 1px; }

  .list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.6rem; width: 100%; max-width: 34rem; }
  .item { flex-direction: column !important; align-items: center; gap: 0.5rem; padding: 0.6rem 0.6rem 0.75rem; border-radius: 1.2rem; background: #fff; box-shadow: inset 0 0 0 1px #E6E6E0; text-align: center; }
  .cover { width: 100% !important; aspect-ratio: 1 !important; border-radius: 0.85rem !important; }
  .cover { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 0.15rem; padding: 0.4rem 0.3rem; }
  .item { padding: 0.5rem 0.5rem 0.65rem !important; background: #fff !important; box-shadow: inset 0 0 0 1px rgba(52, 54, 27, 0.2) !important; gap: 0.55rem !important; border-radius: 1.25rem !important; }
  .item .cover { position: relative; flex: none; aspect-ratio: 1 !important; min-height: 0; border-radius: 0.9rem !important; }
  .item .buy { width: 100%; }
  .pill { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; padding: 0.45rem 0; border-radius: 999px; color: #34361B; font-size: 0.92rem; font-weight: 800; text-align: center; white-space: nowrap; }
  .go { position: absolute; top: 50%; right: 0.55rem; transform: translateY(-50%); display: grid; place-items: center; }
  @media (min-width: 48.01rem) { .go { right: 0.8rem; } .go svg { width: 15px; height: 15px; } }
  @media (max-width: 48rem) { .pill { font-size: 0.82rem; } .go { right: 0.35rem; } .go svg { width: 10px; height: 10px; } }
  @media (max-width: 22.5rem) { .pill { font-size: 0.75rem; padding-right: 0.9rem !important; } .go { right: 0.3rem; } .label { font-size: 0.75rem; } }
  @media (min-width: 48.01rem) { .pill { padding: 0.6rem 0; font-size: 1.05rem; } }
  .plan { position: absolute; top: 0.35rem; right: 0.35rem; padding: 0.14rem 0.45rem; border-radius: 999px; background: #34361B; color: #FCFCEE; font-size: 0.75rem; font-weight: 800; letter-spacing: -0.01em; }
  /* Motion (owner 08.10.2026): card lifts, logo grows a little, arrow nudges right; tap presses in. */
  .item { transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease !important; }
  .cover .ico { transition: transform 260ms cubic-bezier(.2,.8,.2,1); }
  .pill { transition: filter 200ms ease; }
  .go { transition: transform 220ms cubic-bezier(.2,.8,.2,1); }
  @media (hover: hover) {
    .item:hover { transform: translateY(-4px); }
    .item:hover .cover .ico { transform: scale(1.06) rotate(-3deg); }
    .item:hover .pill { filter: brightness(0.96); }
    .item:hover .go { transform: translateY(-50%) translateX(3px); }
  }
  .item:active { transform: scale(0.97); transition-duration: 90ms !important; }
  @media (prefers-reduced-motion: reduce) { .item, .cover .ico, .pill, .go { transition: none !important; } .item:hover, .item:active { transform: none; } .item:hover .cover .ico { transform: none; } }
  @media (max-width: 25.5rem) { .plan { top: -0.4rem; right: -0.15rem; font-size: 0.75rem; padding: 0.1rem 0.35rem; } .cover .ico { width: 62% !important; margin-top: 0.5rem; } }
  @media (min-width: 48.01rem) { .plan { top: 0.55rem; right: 0.55rem; font-size: 0.95rem; padding: 0.25rem 0.7rem; } }
  .cover .ico { width: 74% !important; height: auto; aspect-ratio: 1 !important; margin-top: -0.3rem; }
  .cover[data-svc=claude] .ico { padding: 8%; }
  .cover[data-svc=chatgpt] .ico { padding: 10%; }
  .label { font-size: 0.8rem; font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; text-align: center; }
  @media (min-width: 48.01rem) { .label { font-size: 0.9rem; } }
  .text { display: flex; flex-direction: column; align-items: center; }
  .svc { font-size: 0.78rem; opacity: 0.6; font-weight: 700; }
  .name { font-size: 1.15rem !important; letter-spacing: -0.02em; line-height: 1.1; }
  .buy { display: flex; flex-direction: row !important; align-items: center !important; justify-content: center; gap: 0.15rem !important; margin: 0.1rem 0 0 !important; }
  .text { flex: none !important; }
  .price { font-size: 0.98rem !important; }
  .chev { color: #A9AA9B; display: inline-flex; }
  .chev svg { width: 15px; height: 15px; }
  h1, .catalog-title { font-size: clamp(1.5rem, 6.4vw, 2.2rem) !important; letter-spacing: -0.03em !important; margin: 1.1rem auto 1.6rem !important; }
  .swagies-logo { width: 6rem !important; }
  @media (min-width: 48.01rem) { .list { max-width: 40rem; gap: 0.9rem; } .name { font-size: 1.35rem !important; } .svc { font-size: 0.85rem; } .price { font-size: 1.1rem !important; } }

.thanks-note:has(.review-form) { padding-left: 1.1rem; }
.thanks-note:has(.review-form) > strong,.thanks-note:has(.review-form) > p { padding-left: 2.1rem; }
.review-form { margin-top: .9rem; text-align: left; }
.review-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.review-form legend { padding: 0; margin-bottom: .4rem; font-size: .86rem; font-weight: 600; }
.review-rating-stars { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .2rem; max-width: 16rem; }
.review-form .review-rating-star { position: relative; display: grid; place-items: center; min-width: 0; width: 100%; height: 2.8rem; border-radius: .6rem; color: #F3DDE2; cursor: pointer; }
.review-rating-star .rating-heart { max-width: 100%; width: 2.4rem; height: 2.4rem; transition: color 160ms ease, transform 180ms cubic-bezier(.16,1,.3,1); }
.review-rating-star.filled { color: #F29BB0; }
.review-rating-star:hover .rating-heart { transform: scale(1.08); }
.review-form :is(.review-rating-star,.review-chip) input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; }
.review-rating-star:has(input:focus-visible) { outline: 2px solid #3971BB; outline-offset: 2px; }
.review-details { margin-top: .8rem; }
.review-details[hidden],.review-improve[hidden] { display: none; }
.review-form .review-badges { margin-bottom: .85rem; }
.review-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.review-chip { position: relative; cursor: pointer; }
.review-chip span { display: block; padding: .4rem .65rem; border: 1px solid #C8D29F; border-radius: 999px; background: #F6F8EC; color: #424A2E; font-size: .78rem; line-height: 1.35; }
.review-chip:has(input:checked) span { border-color: #3971BB; background: #EEF3FA; color: #2F63A8; }
.review-chip:has(input:focus-visible) span { outline: 2px solid #3971BB; outline-offset: 2px; }
.review-text-label { display: block; font-size: .86rem; font-weight: 500; line-height: 1.4; }
.review-text-label > span { color: #59623F; font-size: .78rem; font-weight: 400; }
.review-form .review-text-label textarea { display: block; width: 100%; min-height: 5.5rem; max-height: 12rem; margin: .45rem 0 0; padding: .7rem .8rem; border: 1px solid #BCC99A; border-radius: .8rem; background: #FCFDF8; color: #34361B; font: inherit; font-size: .86rem; line-height: 1.45; resize: vertical; box-shadow: none; }
.review-form textarea:focus { outline: 2px solid #3971BB; outline-offset: 2px; }
.review-form textarea::placeholder { color: #68734E; }
.review-text-meta { display: flex; justify-content: flex-end; gap: .75rem; margin: .4rem 0 .8rem; color: #59623F; font-size: .7rem; line-height: 1.4; }
.review-counter { flex: none; font-variant-numeric: tabular-nums; }
.review-submit { width: 100%; padding: .7rem 1rem; border: 0; border-radius: .8rem; background: #3971BB; color: #FCFCEE; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.review-submit:hover:not(:disabled) { background: #2F63A8; }
.review-submit:focus-visible { outline: 2px solid #3971BB; outline-offset: 3px; }
.review-submit:disabled { opacity: .6; cursor: wait; }
.review-form-status { margin: .55rem 0 0; font-size: .84rem; line-height: 1.4; }
.review-form-status:empty { display: none; }
.review-form[data-saved] .review-rating-star { cursor: default; }
.review-brand-stars { display: inline-flex; gap: .1rem; }
.review-brand-stars .rating-heart { display: block; width: 1.2rem; height: 1.2rem; }
.review-brand-stars > span { color: #F3DDE2; }
.review-brand-stars > .filled { color: #F29BB0; }
.review-profanity { display: inline-block; user-select: none; }
.review-profanity > span { filter: blur(4px); pointer-events: none; }
@media (prefers-reduced-motion:reduce) { .review-rating-star .rating-heart { transition: none; } }
.review-edit,.review-cancel { margin-top: .6rem; padding: .5rem 1rem; border: 2px solid #34361B; border-radius: 999px; background: #fff; color: #34361B; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.review-cancel { width: 100%; margin-top: .9rem; }
.review-edit[hidden],.review-cancel[hidden] { display: none; }
.profile-review-edit { margin-top: .7rem; padding: .45rem 1rem; border: 2px solid #34361B; border-radius: 999px; background: #fff; color: #34361B; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.profile-review .review-form { display: none; margin-top: .8rem; }
.profile-review.is-editing > :not(header):not(.review-form) { display: none; }
.profile-review.is-editing .review-form { display: block; }
.profile-review .review-form[data-saved] .review-rating { display: none; }
.revisit-review .review-form,.product-review-card .review-form { display: grid; gap: .6rem; margin: 0; }
.revisit-review .review-form > fieldset,.product-review-card .review-form > fieldset,.revisit-review .review-details > fieldset,.product-review-card .review-details > fieldset,.revisit-review .review-details > .review-fold > fieldset,.product-review-card .review-details > .review-fold > fieldset,.revisit-review .review-text-label,.product-review-card .review-text-label { box-sizing: border-box; padding: .9rem 1rem; border-radius: 1.1rem; background: #fff; }
.revisit-review .review-details,.product-review-card .review-details { display: grid; gap: .6rem; margin: 0; }
.revisit-review .review-details[hidden],.product-review-card .review-details[hidden],.revisit-review .review-improve[hidden],.product-review-card .review-improve[hidden] { display: none; }
.revisit-review legend,.product-review-card legend { float: left; width: 100%; margin-bottom: .6rem; font-size: .92rem; font-weight: 800; }
.revisit-review :is(.review-chips,.review-rating-stars),.product-review-card :is(.review-chips,.review-rating-stars) { clear: both; }
.revisit-review .review-form .review-rating-stars,.product-review-card .review-form .review-rating-stars { max-width: none; gap: .3rem; }
.revisit-review .review-form .review-rating-star,.product-review-card .review-form .review-rating-star { height: 3rem; }
.revisit-review .review-form legend,.product-review-card .review-form legend { font-size: .92rem; font-weight: 800; }
.revisit-review .review-text-label,.product-review-card .review-text-label { font-size: .92rem; font-weight: 500; line-height: 1.4; }
.revisit-review .review-text-label > span,.product-review-card .review-text-label > span { font-size: .8rem; font-weight: 500; }
.revisit-review .review-form .review-text-label textarea,.product-review-card .review-form .review-text-label textarea { margin-top: .6rem; border-color: #E4E6D2; background: #FCFCEE; }
.revisit-review .review-text-meta,.product-review-card .review-text-meta { margin: -.1rem .2rem 0; }
.revisit-review .review-submit,.product-review-card .review-submit { min-height: 3.1rem; border: 2.5px solid #34361B; border-radius: 999px; box-shadow: 4px 4px 0 #34361B; font-size: 1rem; font-weight: 700; transition: transform 120ms ease, box-shadow 120ms ease; }
.revisit-review .review-submit:hover:not(:disabled),.product-review-card .review-submit:hover:not(:disabled) { background: #3971BB; transform: translate(-1px,-1px); box-shadow: 5px 5px 0 #34361B; }
.revisit-review .review-submit:active:not(:disabled),.product-review-card .review-submit:active:not(:disabled) { transform: translate(3px,3px); box-shadow: 1px 1px 0 #34361B; }
.revisit-review .review-form-status,.product-review-card .review-form-status { margin: 0 .2rem; font-weight: 600; }
/* flat, like the account pages (owner 15.10.2026): no heavy borders or hard shadows */
.review-form .review-submit,.revisit-review .review-submit,.product-review-card .review-submit { min-height: 2.9rem; border: 0; border-radius: .85rem; box-shadow: none; background: #3971BB; font-size: .95rem; font-weight: 700; transform: none; }
.review-form .review-submit:hover:not(:disabled),.revisit-review .review-submit:hover:not(:disabled),.product-review-card .review-submit:hover:not(:disabled) { background: #2E5E9D; transform: none; box-shadow: none; }
.review-form .review-submit:active:not(:disabled),.revisit-review .review-submit:active:not(:disabled),.product-review-card .review-submit:active:not(:disabled) { transform: none; box-shadow: none; }
.review-edit,.review-cancel,.profile-review-edit { min-height: 2.75rem; border: 0; border-radius: .85rem; background: #F5F5F5; color: #34361B; font-size: .9rem; font-weight: 700; }
@media (hover: hover) { .review-edit:hover,.review-cancel:hover,.profile-review-edit:hover { background: #E6ECCB; } }
/* «Мои отзывы» in the cabinet: a compact card, like the other account windows */
.profile-review { padding: .9rem 1rem; border-radius: 1.1rem; background: #EEF3FA; }
.profile-review.is-editing > header .review-brand-stars { display: none; }
.profile-review .review-form { display: none; flex-wrap: wrap; align-items: center; gap: .7rem .6rem; margin-top: .7rem; }
.profile-review.is-editing .review-form { display: flex; }
.profile-review .review-form > fieldset,.profile-review .review-form > .review-details,.profile-review .review-form > .review-text-label,.profile-review .review-form > .review-text-meta,.profile-review .review-form > .review-form-status { flex: 1 1 100%; margin: 0; }
.profile-review .review-details { display: grid; gap: .7rem; margin: 0; }
.profile-review .review-details[hidden] { display: none; }
.profile-review .review-form legend { margin-bottom: .35rem; font-size: .85rem; font-weight: 700; }
.profile-review .review-rating-stars { max-width: 11rem; gap: .1rem; }
.profile-review .review-form .review-rating-star { height: 2.1rem; }
.profile-review .review-rating-star .rating-heart { width: 1.6rem; height: 1.6rem; }
.profile-review .review-chips { gap: .35rem; }
.profile-review .review-chip span { padding: .3rem .65rem; border: 0; background: #fff; color: #34361B; font-size: .78rem; }
.profile-review .review-chip:has(input:checked) span { background: #fff; color: #2F63A8; box-shadow: inset 0 0 0 1.5px #3971BB; }
.profile-review .review-text-label { font-size: .85rem; font-weight: 500; line-height: 1.4; }
.profile-review .review-text-label > span { font-weight: 500; }
.profile-review .review-form .review-text-label textarea { min-height: 4.2rem; max-height: 9rem; margin-top: .4rem; padding: .6rem .8rem; border: 0; border-radius: .85rem; background: #fff; font-size: .85rem; }
.profile-review .review-form .review-text-label textarea:focus { outline: 2px solid #3971BB; outline-offset: 0; }
.profile-review .review-text-meta { margin: 0; }
.profile-review .review-form .review-submit,.profile-review .review-form .review-cancel { flex: none; width: auto; min-height: 2.6rem; margin: 0; padding: 0 1.2rem; font-size: .9rem; }
.profile-review .review-form .review-cancel { background: #fff; }
.profile-review .review-edit { background: #fff; }
/* what is typed in a field (and its hint) is regular text, even inside a bold label */
.review-form .review-text-label textarea, .review-form .review-text-label textarea::placeholder { font-weight: 400; }
/* a review in the cabinet opens for editing when pressed anywhere on it; a small button leads to it on the product page */
.profile-review { position: relative; }
.profile-review-open { position: absolute; inset: 0; z-index: 0; width: 100%; padding: 0; border: 0; border-radius: 1.1rem; background: none; cursor: pointer; }
.profile-review-open:focus-visible { outline: 2px solid #3971BB; outline-offset: -2px; }
@media (hover: hover) { .profile-review:not(.is-editing):has(.profile-review-open:hover) { background: #E6EDF8; } }
.profile-review.is-editing .profile-review-open { display: none; }
.profile-review header,.profile-review > :not(.profile-review-open):not(.review-form) { position: relative; z-index: 1; pointer-events: none; }
.profile-review header { align-items: center; }
.profile-review-hearts { display: inline-flex; align-items: center; gap: .6rem; }
.profile-review-go { pointer-events: auto; display: grid; place-items: center; flex: none; width: 2.1rem; height: 2.1rem; border-radius: .7rem; background: #fff; color: #34361B; }
.profile-review-go svg { width: 1rem; height: 1rem; }
@media (hover: hover) { .profile-review-go:hover { background: #E6ECCB; } }
.profile-review-go:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
.profile-review.is-editing .profile-review-go { display: none; }
/* hovering a heart lights it and every heart before it (not on a saved review, not on touch screens) */
@media (hover: hover) {
  .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:hover) .review-rating-star { color: #F3DDE2; }
  .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(1):hover) .review-rating-star:nth-child(-n+1) { color: #F29BB0; }
  .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(2):hover) .review-rating-star:nth-child(-n+2) { color: #F29BB0; }
  .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(3):hover) .review-rating-star:nth-child(-n+3) { color: #F29BB0; }
  .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(4):hover) .review-rating-star:nth-child(-n+4) { color: #F29BB0; }
  .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(5):hover) .review-rating-star:nth-child(-n+5) { color: #F29BB0; }
}
/* the card on the product page: the form keeps its distance from the line above */
.product-review-card > p + .review-form { margin-top: .9rem; }
/* a block that folds is a plain box (a fieldset cannot get shorter than its legend, which made the fold jump at its end) */
.review-fold { display: flow-root; min-width: 0; }
.profile-review .review-details > .review-fold { flex: 1 1 100%; margin: 0; }

  .s-promo { display: flex; flex-direction: column; gap: 0.5rem; }
  .s-promo[hidden], .s-promo [hidden] { display: none; }
  .s-promo button { font: inherit; cursor: pointer; }
  .s-promo-offer, .s-promo-addbox, .s-promo-applied { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; margin: 0; padding: 0.4rem 0.45rem 0.4rem 0.85rem; border-radius: 0.9rem; font-size: 0.78rem; font-weight: 500; line-height: 1.3; }
  .s-promo-offer, .s-promo-addbox { background: #EEF3FA; }
  .s-promo-addbox[hidden] { display: none; }
  .s-promo-add { flex: none; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; padding: 0; border: 0; border-radius: 50%; background: #3971BB; color: #fff; transition: background-color 140ms ease, transform 140ms ease; }
  .s-promo-add svg { width: 0.95rem; height: 0.95rem; }
  .s-promo .s-promo-apply { width: auto; height: 1.75rem; padding: 0 0.9rem; border-radius: 999px; font: inherit; font-size: 0.74rem; font-weight: 700; line-height: 1; white-space: nowrap; }
  .s-promo-offer { position: relative; }
  .s-promo-offer-text { display: flex; flex-direction: column; align-items: flex-start; gap: 0.1rem; }
  .s-promo .s-promo-own { align-self: center; padding: 0.15rem 0.4rem; border: 0; background: none; color: #62644E; font: inherit; font-size: 0.74rem; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .s-promo-own[hidden] { display: none; }
  .s-promo-own:hover { color: #3971BB; }
  .s-promo-menu { position: absolute; right: 0; top: calc(100% + 0.4rem); z-index: 6; display: grid; gap: 0.15rem; min-width: 15rem; max-width: calc(100vw - 2rem); padding: 0.35rem; border-radius: 1rem; background: #fff; box-shadow: 0 14px 34px rgba(52, 54, 27, 0.2); animation: s-menu-in 180ms cubic-bezier(.16,1,.3,1); }
  .s-promo-menu[hidden] { display: none; }
  .s-promo-menu button { display: flex; align-items: center; gap: 0.7rem; width: 100%; min-height: 0; padding: 0.55rem 0.7rem; border: 0; border-radius: 0.75rem; background: none; color: #34361B; font: inherit; font-size: 0.88rem; font-weight: 500; text-align: left; cursor: pointer; }
  .s-promo-menu button b { flex: none; min-width: 3.2rem; padding: 0.2rem 0.5rem; border-radius: 999px; background: #EEF3FA; color: #3971BB; font-size: 0.8rem; font-weight: 700; text-align: center; }
  @media (hover: hover) { .s-promo-menu button:hover { background: #EEF3FA; } }
  @keyframes s-menu-in { from { opacity: 0; transform: translateY(-4px) scale(0.97); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .s-promo-menu { animation: none; } }
  .s-promo-add:hover { background: #2E5E9D; }
  .s-promo-x { background: #fff; color: #5D614F; }
  .s-promo-x:hover { background: #E6ECCB; color: #34361B; }
  .s-promo-add:active { transform: scale(.94); }
  .s-promo-applied { background: #EEF3FA; }
  .s-promo-form button { flex: none; min-height: 2.4rem; padding: 0 0.9rem; border: 0; border-radius: 0.8rem; background: #3971BB; color: #fff; font-size: 0.85rem; font-weight: 700; }
  .s-promo-form button:hover { background: #2E5E9D; }
  .s-promo-toggle { align-self: center; padding: 0.2rem 0.4rem; border: 0; background: none; color: #62644E; font-size: 0.82rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
  .s-promo-toggle:hover { color: #3971BB; }
  .s-promo-form { display: flex; gap: 0.4rem; }
  .s-promo-form input { flex: 1; min-width: 0; min-height: 2.4rem; padding: 0 0.8rem; border: 2px solid #E4E6D2; border-radius: 0.8rem; background: #fff; color: #34361B; font: inherit; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; }
  .s-promo-form input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 500; }
  .s-promo-form input:focus { outline: 0; border-color: #3971BB; }
  .s-promo-msg { margin: 0; font-size: 0.8rem; font-weight: 600; text-align: center; }
  .s-promo-msg:empty { display: none; }
  .s-promo-msg.is-error { padding: 0.5rem 0.7rem; border-radius: 0.7rem; background: #FADBE3; text-align: left; }
  /* The product switch is a slider like the term switch: a pill follows the finger or the mouse along the chips and settles on the
   * nearest one, and the window changes to that product. */
  .s-switch { position: relative; display: flex; width: fit-content; max-width: 100%; margin: -4.1rem 0 0.85rem; padding: 0.25rem; border-radius: 999px; background: var(--surface); box-shadow: var(--surface-shadow); touch-action: pan-y pinch-zoom; cursor: pointer; }
  /* Synchronized layers: blue fill below the chips, uninterrupted outline above them. */
  .s-pick, .s-pick-fill { position: absolute; left: 0; top: 0; width: 0; height: 0; border-radius: 999px; transition: transform 300ms cubic-bezier(.2,.8,.2,1), width 300ms cubic-bezier(.2,.8,.2,1); pointer-events: none; }
  .s-pick { z-index: 2; background: transparent; box-shadow: inset 0 0 0 2px #3971BB; }
  .s-pick-fill { z-index: 0; background: #EEF3FA; }
  .s-switch.dragging .s-pick, .s-switch.dragging .s-pick-fill { transition: none; }
  .s-chip { position: relative; z-index: 1; flex: none; display: inline-flex; align-items: center; gap: 0.5rem; height: 2.4rem; padding: 0 0.95rem 0 0.3rem; border-radius: 999px; color: #34361B; font-size: 0.88rem; font-weight: 700; text-decoration: none; white-space: nowrap; -webkit-tap-highlight-color: transparent; transition: color 160ms ease; }
  button.s-chip { border: 0; background: transparent; font-family: inherit; cursor: pointer; }
  /* inside the scrolling strip the ring is drawn inward: outside it the strip would cut it into two bars */
  .s-chip:focus-visible { outline: 2px solid #3971BB; outline-offset: -2px; border-radius: 999px; }
  .s-chip-logo { flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%; padding: 0.32rem; }
  .s-chip[aria-current="page"], .s-chip.near { color: #3971BB; }
  .lab-short { display: none; }
  @media (max-width: 48rem) {
    .s-switch { max-width: calc(100% - 3.6rem); }
    .s-chip { gap: 0.35rem; padding: 0 0.75rem 0 0.25rem; font-size: 0.82rem; }
    .lab-full { display: none; }
    .lab-short { display: inline; }
  }
  @media (max-width: 23rem) { .s-chip { gap: 0.25rem; padding: 0 0.5rem 0 0.2rem; font-size: 0.75rem; } }
  @media (prefers-reduced-motion: reduce) { .s-pick, .s-pick-fill, .s-chip { transition: none; } }
  .s-terms--buy { padding: 0; }
  .s-terms--head { display: none; padding: 0.9rem 0.3rem 0.3rem; }
  .s-terms h3 { margin: 0 0 0.6rem; font-size: 1rem; }
  .s-term-opts { touch-action: pan-y pinch-zoom; cursor: pointer; position: relative; display: grid; grid-template-columns: 1fr 1fr; width: 100%; padding: 0.25rem; border-radius: 999px; background: var(--page-bg); }
  .s-term { position: relative; display: block; cursor: pointer; }
  .s-term input { position: absolute; opacity: 0; pointer-events: none; }
  .s-term-seg { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.5rem 0.4rem; border-radius: 999px; line-height: 1.15; text-align: center; transition: color 180ms ease; }
  .s-term-seg b { font-size: 0.95rem; font-weight: 800; }
  .s-term-seg span { font-size: 0.78rem; font-weight: 500; opacity: 0.65; }
  .s-term input:checked + .s-term-seg { color: #3971BB; }
  /* Real slider thumb: one plain element, moved by translate (a percentage of its own width = the travel), never by shadows or filters. */
  .s-thumb { position: absolute; z-index: 0; top: 0.25rem; bottom: 0.25rem; left: 0.25rem; width: calc(50% - 0.25rem); box-sizing: border-box; border: 2px solid #3971BB; border-radius: 999px; background: #EEF3FA; transform: translate3d(calc(var(--f, 0) * 100%), 0, 0); transition: transform 260ms cubic-bezier(.2,.8,.2,1); pointer-events: none; }
  .s-term-opts.dragging .s-thumb { transition: none; }
  .s-term input:checked + .s-term-seg span { opacity: 0.9; }
  .s-term input:focus-visible + .s-term-seg { outline: 2px solid #3971BB; outline-offset: 2px; }
  /* Both notes sit in one grid cell, so the block never changes height when the term changes (no reflow, no flicker). */
  .s-term-hint { margin: 0 0 0.5rem; border-radius: 0.85rem; background: var(--page-bg); font-size: 0.72rem; line-height: 1.4; transition: background-color 160ms ease; }
  .s-term-hint summary { display: flex; align-items: center; gap: 0.6rem; padding: 0.35rem 0.6rem 0.35rem 0.4rem; cursor: pointer; list-style: none; border-radius: 1rem; -webkit-tap-highlight-color: transparent; }
  .s-term-hint summary::-webkit-details-marker { display: none; }
  .s-term-hint summary:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
  .s-hint-title { flex: 1; min-width: 0; }
  .s-hint-chev { flex: none; width: 0.9rem; height: 0.9rem; opacity: 0.6; transition: transform 200ms ease; }
  .s-term-hint[open] .s-hint-chev { transform: rotate(180deg); }
  .s-hint-body { padding: 0 0.7rem 0.55rem 2.55rem; animation: hint-in 180ms ease; }
  .s-hint-body p { margin: 0; opacity: 0.72; }
  .s-term-hint .t3 { display: none; }
  .sheet[data-term="3"] .s-term-hint .t1 { display: none; }
  .sheet[data-term="3"] .s-term-hint .t3 { display: block; }
  .s-hint-ico { flex: none; display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: #fff; color: #3971BB; }
  .s-hint-ico svg { width: 0.85rem; height: 0.85rem; }
  .s-term-hint b { display: block; font-size: 0.74rem; font-weight: 500; line-height: 1.25; }
  .s-term, .s-term-seg, .s-term-opts { -webkit-tap-highlight-color: transparent; }
  .s-term-seg { -webkit-touch-callout: none; }
  @keyframes hint-in { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .s-term-seg, .s-thumb, .s-term-hint, .s-hint-chev { transition: none; } .s-hint-body { animation: none; } }
  html.lock, html.lock body { overflow: hidden; }
  /* No scrollbar anywhere (owner 08.10.2026): scrolling still works by wheel, touch and keys. */
  html, body, .sheet { scrollbar-width: none; -ms-overflow-style: none; }
  /* The window must never drift sideways (owner 08.10.2026): no horizontal scroll, vertical pan only; the chip row keeps its own swipe. */
  .sheet[data-slug] { overflow-x: hidden !important; overscroll-behavior: none !important; touch-action: pan-y pinch-zoom; }
  .s-in { overflow-x: clip; }
  html.lock, html.lock body { overscroll-behavior: none; }
  html::-webkit-scrollbar, body::-webkit-scrollbar, .sheet::-webkit-scrollbar { display: none; width: 0; height: 0; }
  /* The brand mark: the blue key before the headline. It is part of the headline's line, sized with its text. */
  .key-mark { display: inline-block; width: 1.05em; height: 1.05em; margin: -0.1em 0.12em -0.1em -0.1em; color: #3971BB; vertical-align: -0.04em; line-height: 0; transition: transform 240ms cubic-bezier(.2,.8,.2,1); }
  .key-mark .key-star { display: block; width: 100%; height: 100%; }
  /* The turn itself is made by the page script (it needs to know which side the pointer came from). */
  .key-mark .key-star { transform-origin: 50% 57%; }
  /* No grey tap square or focus box around the key when it is pressed (owner 08.10.2026); keyboard focus still shows a ring. */
  .key-mark { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; outline: none; }
  .key-mark:focus-visible { outline: 2px solid #3971BB; outline-offset: 3px; border-radius: 0.3em; }
  .item[data-restored-pointer-focus]:focus, .home-welcome-link[data-restored-pointer-focus]:focus { outline: none; }
  .item:focus:not(:focus-visible), .sheet .x:focus:not(:focus-visible), .s-btn:focus:not(:focus-visible) { outline: none; }
  .list { padding: 0.5rem; border-radius: 1.5rem; background: var(--surface); box-shadow: var(--surface-shadow); }
  .list .item { background: transparent !important; box-shadow: none !important; }
  .catalog-stage { position: relative; isolation: isolate; width: 100%; max-width: 34rem; margin-top: 1.25rem; }
  .home-masthead { --wordmark-base: 5.355rem; position: relative; z-index: 2; isolation: isolate; margin-bottom: 1rem; }
  /* Only the static white silhouette casts a shadow; the spinning key is outside its filter. */
  .home-masthead-surface { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
  .home-masthead-surface::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 3.25rem; border-radius: 0 1.625rem 1.625rem 1.625rem; background: var(--surface); box-shadow: 0 8px 16px rgb(52 54 27 / 3%); }
  /* A fixed logo row and a separate header row: neither illustration nor plate participates in layout. */
  .home-brand-row { pointer-events: none; position: relative; height: calc(var(--wordmark-base) * 0.27568134 + 1.25rem); }
  .home-wordmark { pointer-events: auto; position: absolute; top: 0; left: 0; display: block; width: calc(var(--wordmark-base) + 2.25rem); height: 100%; margin: 0; padding: 0.75rem 1.125rem 0.5rem; border-radius: 1.25rem 1.25rem 0 0; isolation: isolate; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; outline: none; }
  .home-wordmark-plate { position: absolute; z-index: -1; top: 0; left: 0; height: 100%; width: calc(var(--wordmark-base) * 1.08 + 2.25rem); border-radius: 1.25rem 1.25rem 0 0; background: var(--surface); pointer-events: none; }
  .home-wordmark-plate::after { content: ''; position: absolute; right: -1.25rem; bottom: 0; width: 1.25rem; height: 1.25rem; background: radial-gradient(circle at 100% 0, transparent 1.25rem, var(--surface) calc(1.25rem + 0.5px)); }
  /* The hover only turns and grows the logo itself (a transform, on its own layer): nothing is re-laid-out or repainted around it.
   * The tab is already wide enough for the grown logo, so it never has to change size. */
  .home-wordmark-svg { display: block; width: var(--wordmark-base); height: auto; pointer-events: none; transform-origin: 0 50%; will-change: transform; transition: transform 320ms cubic-bezier(.16,1,.3,1); }
  @media (hover: hover) and (pointer: fine) {
    .home-wordmark:hover .home-wordmark-svg { transform: scale(1.08) rotate(-2deg); }
  }
  .home-wordmark:focus-visible .home-wordmark-svg { transform: scale(1.08) rotate(-2deg); }
  @media (prefers-reduced-motion: reduce) {
    .home-wordmark:hover .home-wordmark-svg, .home-wordmark:focus-visible .home-wordmark-svg { transform: none; }
    .home-wordmark-svg { transition: none; }
  }
  .home-wordmark:focus-visible { outline: 2px solid #3971BB; outline-offset: 4px; border-radius: 0.25rem; }
  .home-wordmark:focus:not(:focus-visible) { outline: none; }
  @media (max-width: 48rem) { .home-masthead { --wordmark-base: 4.41rem; } }
  .list-wrap { position: relative; }
  .home-header { display: flex; justify-content: flex-end; align-items: center; width: 100%; min-height: 3.25rem; margin-bottom: 1rem; padding: 0.25rem 0.25rem 0.25rem 0.5rem; border-radius: 1.625rem; background: var(--surface); box-shadow: var(--surface-shadow); }
  .home-masthead .home-header { margin-bottom: 0; border-top-left-radius: 0; background: transparent; box-shadow: none; }
  .home-header .key-mark { flex: none; margin: 0 0.25rem; font-size: clamp(1.2rem, 5.4vw, 1.4rem); }
  @media (min-width: 48.01rem) { .home-header .key-mark { font-size: 2.2rem; } }
  @media (max-width: 22.5rem) { .home-header .key-mark { font-size: 1.1rem; margin-inline: 0; } }
  .home-nav { display: flex; align-items: center; gap: 0.25rem; min-width: 0; margin-right: auto; }
  .home-nav button { display: inline-flex; align-items: center; gap: 0.25rem; min-height: 2.75rem; padding: 0.5rem 0.5rem; border: 0; border-radius: 999px; background: transparent; color: #7A7C68; font: inherit; font-size: 0.8rem; font-weight: 500; white-space: nowrap; cursor: default; }
  .home-nav svg { flex: none; width: 0.875rem; height: 0.875rem; }
  .home-nav button { flex: none; transition: padding 320ms cubic-bezier(.16,1,.3,1), gap 320ms cubic-bezier(.16,1,.3,1); }
  .home-nav-label { display: inline-grid; grid-template-columns: 1fr; min-width: 0; opacity: 1; transition: grid-template-columns 320ms cubic-bezier(.16,1,.3,1), opacity 180ms ease; }
  .home-nav-label > span { min-width: 0; overflow: hidden; background: linear-gradient(110deg, #7A7C68 38%, #B5C7DE 47%, #E9F0F9 50%, #B5C7DE 53%, #7A7C68 62%) 100% 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
  .home-login { display: flex; align-items: center; min-width: 2.75rem; flex: 0 1 2.75rem; border-radius: 999px; background: transparent; transition: flex-basis 320ms cubic-bezier(.16,1,.3,1), flex-grow 320ms cubic-bezier(.16,1,.3,1), background-color 200ms ease, margin 320ms cubic-bezier(.16,1,.3,1); }
  .home-email-form { display: contents; }
  .home-email { display: flex; align-items: center; min-width: 0; flex: 1 1 0; opacity: 0; overflow: hidden; visibility: hidden; transition: opacity 240ms ease, visibility 320ms; }
  .home-email input { display: block; width: 100%; min-width: 0; height: 2.75rem; padding: 0.5rem 0 0.5rem 0.75rem; border: 0; border-radius: 0; background: transparent; color: #34361B; font: inherit; font-size: 1rem; caret-color: #3971BB; }
  .home-email input::placeholder { color: #65768B; opacity: 1; }
  .home-email input:focus { outline: none; }
  .home-email input { flex: 1; padding-left: 0.25rem; }
  .home-email-question { margin-left: 0.5rem; }
  .home-tg { display: flex; align-items: center; gap: 0.35rem; flex: none; height: 1.8rem; margin: 0 0.15rem 0 0.2rem; padding: 0 0.6rem 0 0.45rem; border-radius: 999px; background: transparent; color: #3971BB; font-size: 0.74rem; font-weight: 600; white-space: nowrap; text-decoration: none; transition: background-color 140ms ease; }
  .home-tg svg { width: 1rem; height: 1rem; margin-left: -0.05rem; }
  @media (max-width: 34rem) { .home-tg { padding: 0 0.45rem; } .home-tg-label { display: none; } }
  .home-tg:hover { background: #DCE7F5; }
  .home-header.code-step .home-tg, .home-header.field-error .home-tg { visibility: hidden; pointer-events: none; }
  .home-email-question { display: grid; place-items: center; flex: none; width: 1.75rem; height: 2.75rem; padding: 0; border: 0; background: transparent; color: #65768B; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .home-email-question:focus-visible { outline: 1px solid #3971BB; outline-offset: -6px; border-radius: 999px; }
  /* Its own stable layer, so a repaint of the logo above never touches the icons in it. */
  .home-header { position: relative; transform: translateZ(0); }
  .home-email-help { position: absolute; z-index: 5; top: calc(100% + 0.6rem); right: 0.75rem; width: min(20rem, calc(100% - 1.5rem)); padding: 0.9rem 1rem; border-radius: 1rem; background: rgb(255 255 255 / 90%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 6px 24px rgb(52 54 27 / 10%); color: #34361B; font-size: 0.85rem; line-height: 1.45; text-align: left; }
  .home-email-help::before { content: ''; position: absolute; top: -0.375rem; left: var(--help-pointer, 1rem); width: 0.75rem; height: 0.375rem; background: rgb(255 255 255 / 90%); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
  .home-email, .home-email input, .home-login { -webkit-tap-highlight-color: transparent; }
  .home-login { --email-fill: #fff; }
  .home-login[hidden] { display: none; }
  /* Keep native autofill, but paint its browser-owned fill to match the shared strip. */
  .home-email input:is(:-webkit-autofill, :autofill) { -webkit-text-fill-color: #34361B; caret-color: #3971BB; box-shadow: inset 0 0 0 1000px var(--email-fill); border-radius: 999px 0 0 999px; }
  .home-header.login-expanded .home-nav button { padding-inline: 0.4rem; gap: 0; }
  .home-header.login-expanded .home-nav-label { grid-template-columns: 0fr; opacity: 0; }
  .home-header.login-expanded .home-login { --email-fill: #EEF3FA; flex: 1 1 12rem; margin-left: 0.5rem; background: var(--email-fill); }
  .home-header:not(.login-expanded) .home-login { transition: flex-basis 420ms cubic-bezier(.25,.1,.25,1), flex-grow 420ms cubic-bezier(.25,.1,.25,1), margin 420ms cubic-bezier(.25,.1,.25,1); }
  .home-header:not(.login-expanded) .home-nav button { transition: padding 420ms cubic-bezier(.25,.1,.25,1), gap 420ms cubic-bezier(.25,.1,.25,1); }
  .home-header:not(.login-expanded) .home-nav-label { transition: grid-template-columns 420ms cubic-bezier(.25,.1,.25,1), opacity 240ms ease 80ms; }
  .home-header:not(.login-expanded) .home-email { transition: opacity 160ms ease, visibility 0s linear 420ms; }
  .home-header.login-expanded .home-email { opacity: 1; visibility: visible; transition: opacity 240ms ease, visibility 0s; }
  .home-header.login-expanded .home-account:hover { background: transparent; }
  .home-login .home-account:focus-visible { outline: none; }
  @media (prefers-reduced-motion: reduce) { .home-nav button, .home-nav-label, .home-email, .home-login { transition: none !important; } }
  @media (max-width: 22.5rem) { .home-nav { gap: 0; } .home-nav button { gap: 0.15rem; padding-inline: 0.2rem; font-size: 0.75rem; } }
  .home-account { display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .home-account svg { flex: none; color: #3971BB; }
  .home-header.login-expanded .home-account.is-ready { background: transparent; }
  .account-glyph { position: relative; display: grid; place-items: center; width: 2rem; height: 2rem; }
  .account-door, .account-next-icon { position: absolute; display: grid; place-items: center; inset: 0; pointer-events: none; transition: opacity 280ms ease, transform 360ms cubic-bezier(.16,1,.3,1), filter 280ms ease; }
  /* After sign-in a separate plate rolls out from behind the strip, to the right of the logo tab: the logo's height, the tab's rounded look, its own gap all round. */
  /* The plate's left edge runs parallel to the logo tab's right edge at an even gap: straight down, then round the tab's soft turn into the strip (same centre as that turn, radius smaller by the gap). */
  .home-welcome { --plate-gap: 0.3rem; pointer-events: auto; position: absolute; z-index: -2; top: 0; bottom: var(--plate-gap); left: calc(var(--wordmark-base) * 1.08 + 2.25rem + var(--plate-gap)); right: 0; display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; min-width: 0; padding: 0 0.9rem; border-radius: 1.25rem 1.25rem 1.25rem calc(1.25rem - var(--plate-gap)); background: var(--surface); color: #34361B; font-size: 0.8rem; white-space: nowrap; }
  .home-welcome[hidden] { display: none; }
  .home-welcome-text { display: flex; align-items: center; gap: 0.35rem; min-width: 0; color: #65768B; }
  .home-welcome-avatar { flex: none; display: block; width: 1.5rem; height: 1.5rem; border-radius: 50%; border: 1.5px solid #3971BB; object-fit: cover; }
  .home-welcome-label { flex: 0 10 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .home-welcome-text b { flex: 0 1 auto; min-width: 2.5rem; overflow: hidden; text-overflow: ellipsis; padding: 0.15rem 0.6rem; border-radius: 999px; background: #E6ECCB; color: #34361B; font-weight: 700; }
  .home-welcome-link { flex: none; padding: 0.25rem 0.7rem; border-radius: 999px; background: #EEF3FA; color: #3971BB; font-weight: 700; -webkit-tap-highlight-color: transparent; }
  .home-welcome-link:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
  .home-welcome-link[hidden], .home-welcome-actions[hidden] { display: none; }
  .home-welcome-actions { flex: none; display: flex; align-items: center; gap: 0.35rem; }
  .home-welcome-btn { padding: 0.25rem 0.7rem; border: 0; border-radius: 999px; background: #EEF3FA; color: #3971BB; font: inherit; font-weight: 700; white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background-color 160ms ease, opacity 160ms ease; }
  /* While the pause runs the pill fills from the left, so the wait can be seen, not only read. */
  .home-welcome-btn:disabled { background: linear-gradient(90deg, #D9E4F3 var(--p, 0%), #F1F4F8 var(--p, 0%)); color: #65768B; font-weight: 600; cursor: default; }
  .home-welcome-btn:not(:disabled):hover { background: #E1EAF6; }
  .home-welcome-btn:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
  .home-welcome-text .home-login-error { padding: 0.15rem 0.6rem; }
  .home-welcome-text { flex: 1 1 auto; }
  .home-welcome.is-code { justify-content: flex-start; }
  @media (max-width: 30rem) { .home-welcome.is-code:not(.is-send) .home-welcome-text:not(.has-error) { display: none; } .home-welcome.is-code:not(.is-send) { justify-content: space-between; } }
  @media (max-width: 30rem) { .home-welcome { padding: 0 0.55rem; gap: 0.3rem; font-size: 0.75rem; } .home-welcome-btn { padding: 0.25rem 0.55rem; }  .home-welcome-actions { gap: 0.2rem; } }
  @media (max-width: 30rem) { .home-welcome:not(.is-code) .home-welcome-label { display: none; } }
  @media (max-width: 24rem) { .home-welcome:not(.is-code) { padding-inline: 0.4rem; gap: 0.2rem; font-size: 0.7rem; } .home-welcome:not(.is-code) .home-welcome-text { gap: 0.2rem; } .home-welcome:not(.is-code) .home-welcome-avatar { width: 1.1rem; height: 1.1rem; } .home-welcome:not(.is-code) .home-welcome-text b { padding-inline: 0.25rem; } .home-welcome:not(.is-code) .home-welcome-link { padding-inline: 0.4rem; } }
  .account-spin-icon { position: absolute; display: grid; place-items: center; inset: 0; opacity: 0; transition: opacity 200ms ease; pointer-events: none; }
  .home-account[data-icon=spin] .account-spin-icon { opacity: 1; }
  .account-spin-icon svg { transform-origin: 50% 50%; }
  .home-account[data-icon=spin] .account-spin-icon svg { animation: account-spin 900ms linear infinite; }
  @keyframes account-spin { to { transform: rotate(360deg); } }
  .home-header.sending .home-email input { opacity: 0.55; }
  /* The deeper pink fills the pink field from the left over the two seconds the message stays: the timer, shown. */
  .home-header.field-error.login-expanded .home-login { --email-fill: #FBE3EA; background: linear-gradient(90deg, #F5C3D1, #F5C3D1) no-repeat 0 0 / 0% 100% #FBE3EA; animation: field-fill var(--err-ms, 2000ms) linear forwards; }
  @keyframes field-fill { to { background-size: 100% 100%; } }
  @media (prefers-reduced-motion: reduce) { .home-header.field-error.login-expanded .home-login { animation: none; background: #F5C3D1; } }
  .home-email-question { transition: opacity 220ms ease; }
  .home-header.field-error .home-email-question { opacity: 0; pointer-events: none; }
  .home-header.field-error .home-login { transition: background-color 320ms ease, flex-basis 320ms cubic-bezier(.16,1,.3,1), flex-grow 320ms cubic-bezier(.16,1,.3,1), margin 320ms cubic-bezier(.16,1,.3,1); }
  .home-email { position: relative; }
  /* The line spans the whole field (no hard edge where the help sign was) and dissolves into both edges as it slides. */
  .home-field-msg { position: absolute; left: 0; right: 0.25rem; top: 0; bottom: 0; display: none; align-items: center; overflow: hidden; pointer-events: none; color: #34361B; font-size: 0.8rem; font-weight: 700; white-space: nowrap; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%); }
  .home-field-msg span { display: block; margin-left: 1.1rem; will-change: transform; }
  .home-header.field-error .home-field-msg { display: flex; }
  .home-header.field-error .home-email input { caret-color: transparent; cursor: default; }
  .home-header.field-error .home-email input::placeholder { color: transparent; }
  .home-header.field-error .home-email input:is(:-webkit-autofill, :autofill) { box-shadow: inset 0 0 0 1000px #FBE3EA; }
  .account-lock-icon, .account-check-icon { position: absolute; display: grid; place-items: center; inset: 0; opacity: 0; transform: translateX(-2px) scale(0.88); filter: blur(1px); pointer-events: none; transition: opacity 280ms ease, transform 360ms cubic-bezier(.16,1,.3,1), filter 280ms ease; }
  .home-account[data-icon] .account-door { opacity: 0; transform: translateX(2px) scale(0.9); filter: blur(1px); }
  .home-account[data-icon=lock] .account-lock-icon, .home-account[data-icon=check] .account-check-icon { opacity: 1; transform: translateX(0) scale(1); filter: blur(0); }
  .account-check-icon path:last-child { stroke-dasharray: 22; stroke-dashoffset: 22; }
  .home-account[data-icon=check] .account-check-icon path:last-child { animation: check-draw 420ms 120ms cubic-bezier(.4,0,.2,1) forwards; }
  @keyframes check-draw { to { stroke-dashoffset: 0; } }
  .home-header.code-step .home-email-question { visibility: hidden; pointer-events: none; }
  .home-email input { letter-spacing: 0; }
  .home-header.code-step .home-email input { letter-spacing: 0.18em; font-weight: 700; }
  .home-header.code-step .home-email input::placeholder { letter-spacing: 0; font-weight: 500; }
  .home-login-link { padding: 0; border: 0; background: none; color: #3971BB; font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .home-login-link:disabled { color: #65768B; cursor: default; }
  .home-login-link:not(:disabled):hover { text-decoration: underline; }
  .home-login-error { display: inline-block; padding: 0.1rem 0.55rem; border-radius: 999px; background: #FADBE3; color: #34361B; font-weight: 700; }
  .home-login-status b { color: #34361B; font-weight: 700; word-break: break-all; }
  .account-door { opacity: 1; transform: translateX(0) scale(1); filter: blur(0); }
  .account-next-icon { opacity: 0; transform: translateX(-2px) scale(0.88); filter: blur(1px); }
  .home-account.is-ready .account-door { opacity: 0; transform: translateX(2px) scale(0.9); filter: blur(1px); }
  .home-account.is-ready .account-next-icon { opacity: 1; transform: translateX(0) scale(1); filter: blur(0); }
  @media (prefers-reduced-motion: reduce) { .account-spin-icon svg { animation: none !important; } .account-door, .account-next-icon, .account-lock-icon, .account-check-icon { transition: opacity 100ms ease; transform: none !important; filter: none !important; } }
  /* Out of the page flow: appearing under the strip must not push the page below it. */
  .home-login-status { position: absolute; left: 0; right: 0; z-index: 3; margin: -0.8rem 0 0; padding-inline: 1rem; color: #65768B; font-size: 0.75rem; line-height: 1.2; text-align: right; animation: status-in 260ms ease both; }
  .home-login-status[hidden] { display: none; }
  /* The hint grows out of the header under the sign-in field: white like the header, tucked under its lower edge (the masthead sits above it), with the two concave corners where it meets the header. */
  .home-login-status.tg-wait { z-index: 1; left: auto; right: 2.8rem; width: min(18.5rem, calc(100% - 5.6rem)); box-sizing: border-box; margin: -1.6rem 0 0; padding: 2.35rem 1rem 0.85rem; border-radius: 0 0 1.3rem 1.3rem; background: #fff; box-shadow: 0 14px 30px rgba(52, 54, 27, 0.12); color: #34361B; text-align: left; font-size: 0.8rem; line-height: 1.35; animation: tg-drawer 420ms cubic-bezier(.16, 1, .3, 1) both; }
  .home-login-status.tg-wait::before, .home-login-status.tg-wait::after { content: ""; position: absolute; top: calc(1.6rem - 1px); width: 1rem; height: 1rem; pointer-events: none; }
  .home-login-status.tg-wait::before { left: -1rem; background: radial-gradient(circle at 0 100%, transparent 1rem, #fff calc(1rem + 0.5px)); }
  .home-login-status.tg-wait::after { right: -1rem; background: radial-gradient(circle at 100% 100%, transparent 1rem, #fff calc(1rem + 0.5px)); }
  @keyframes tg-drawer { from { clip-path: inset(0 -2rem 100% -2rem); opacity: 0.4; } to { clip-path: inset(0 -2rem -2rem -2rem); opacity: 1; } }
  @media (prefers-reduced-motion: reduce) { .home-login-status.tg-wait { animation: none; } }
  .tg-wait-title { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; }
  .tg-wait-dot { flex: none; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #3971BB; animation: tg-wait-pulse 1.4s ease-in-out infinite; }
  @keyframes tg-wait-pulse { 0%, 100% { opacity: 0.35; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1); } }
  .tg-wait-steps { display: grid; gap: 0.3rem; margin: 0.55rem 0 0; padding: 0; list-style: none; counter-reset: tg; }
  .tg-wait-steps li { display: flex; align-items: center; gap: 0.55rem; color: #4F6077; counter-increment: tg; }
  .tg-wait-steps li::before { content: counter(tg); flex: none; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #EEF3FA; color: #3971BB; font-size: 0.7rem; font-weight: 700; }
  @media (prefers-reduced-motion: reduce) { .tg-wait-dot { animation: none; } }
  @keyframes status-in { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .home-login-status { animation: none; } }
  @media (hover: hover) and (pointer: fine) { .home-account:hover { background: #EEF3FA; } }
  .home-header:not(.login-expanded) .home-account { background: transparent; }
  .home-header:not(.login-expanded) .home-account:focus-visible { outline: 2px solid #34361B; outline-offset: -2px; }
  .home-account:focus-visible { outline: 2px solid #3971BB; outline-offset: 3px; }
  .account-window { width: min(28rem, calc(100% - 2rem)); padding: 1.5rem; border: 0; border-radius: 1.5rem; background: var(--surface); color: #34361B; text-align: left; box-shadow: var(--surface-shadow); }
  .account-window::backdrop { background: rgb(52 54 27 / 20%); backdrop-filter: blur(6px); }
  .account-window header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
  .account-window h2 { margin: 0; font-size: 1.35rem; }
  .account-window p { margin: 0.65rem 0 0; font-size: 0.85rem; line-height: 1.4; }
  .account-close { display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--page-bg); color: inherit; cursor: pointer; }
  .catalog-intro { position: relative; display: flex; align-items: center; min-height: 7.5rem; }
  @font-face { font-family: "Onest Heading"; src: url("data:font/woff2;base64,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") format("woff2"); font-weight: 800; font-style: normal; font-display: block; }
  .catalog-intro .catalog-title { position: relative; top: 0.5rem; width: calc(100% - 9rem); max-width: none; margin: 0 !important; padding: 0.75rem 0 1rem 1rem; font-family: "Onest Heading", "Onest", system-ui, sans-serif; text-align: left; text-wrap: balance; }
  .catalog-stage .list { position: relative; z-index: 1; }
  .home-why { --why-pad: clamp(0.9rem, 2.8vw, 1.25rem); margin-top: 1.25rem; padding: var(--why-pad); border-radius: 1.6rem; background: var(--surface); text-align: left; }
  .home-why h2 { margin: 0; color: #34361B; font-size: clamp(1.1rem, 2.6vw, 1.35rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; }

  .home-why-grid { display: grid; grid-template-columns: repeat(20, 1fr); gap: 0.5rem; margin-top: 0.75rem; }
  .why-card { display: flex; flex-direction: column; gap: 0.4rem; grid-column: span 9; padding: 0.8rem 0.75rem; border-radius: 1.2rem; background: #fff; box-shadow: inset 0 0 0 1px #E4E4E4; color: #34361B; }
  .why-card.is-wide { grid-column: span 11; }
  .why-card:nth-child(1), .why-card:nth-child(4) { background: #F5F5F5; box-shadow: none; }
  .why-head { display: flex; align-items: center; gap: 0.45rem; }
  .why-icon { flex: none; width: 1.2rem; height: 1.2rem; }
  .why-pills { display: flex; flex-wrap: nowrap; gap: 0.4rem; margin: 0.5rem calc(-1 * var(--why-pad, 1rem)) 0; padding: 0 var(--why-pad, 1rem); overflow-x: auto; scrollbar-width: none; }
  .why-pills::-webkit-scrollbar { display: none; }
  .why-pill { display: inline-flex; align-items: center; gap: 0.35rem; flex: none; height: 2.1rem; padding: 0 0.85rem 0 0.65rem; border-radius: 999px; background: #F5F5F5; color: #34361B; font-size: 0.76rem; font-weight: 700; white-space: nowrap; }
  .why-pill svg { flex: none; width: 1rem; height: 1rem; }
  .why-card h3 { margin: 0; font-size: 0.95rem; font-weight: 800; letter-spacing: -0.01em; line-height: 1.2; }
  .why-card p { margin: 0; font-size: 0.76rem; line-height: 1.38; }
  .why-card:not(.is-wide) { padding: 0.75rem 0.65rem; }
  .why-card:not(.is-wide) .why-head { gap: 0.35rem; }
  .why-card:not(.is-wide) .why-icon { width: 1.1rem; height: 1.1rem; }
  .why-card:not(.is-wide) h3 { font-size: 0.82rem; overflow-wrap: break-word; }
  @media (min-width: 48.01rem) {
    .home-why-grid { gap: 0.6rem; }
    .why-pills { gap: 0.5rem; margin-top: 0.6rem; }
    .why-card, .why-card:not(.is-wide) { grid-column: span 8; gap: 0.5rem; padding: 1rem; }
    .why-card.is-wide { grid-column: span 12; }
    .why-icon, .why-card:not(.is-wide) .why-icon { width: 1.3rem; height: 1.3rem; }
    .why-card:not(.is-wide) .why-head { gap: 0.45rem; }
    .why-card h3, .why-card:not(.is-wide) h3 { font-size: 1rem; }
    .why-card.is-wide h3 { font-size: 1.1rem; }
    .why-card p { font-size: 0.8rem; }
    .why-card.is-wide p { font-size: 0.84rem; }
  }


  .mascot-wrap { --w: 7.5rem; position: absolute; z-index: 0; right: 1rem; bottom: -1rem; width: var(--w); }
  .catalog-mascot { display: block; width: 100%; height: auto; pointer-events: none; user-select: none; }
  @media (max-width: 48rem) {
    .catalog-intro { min-height: 6.5rem; }
    .catalog-intro .catalog-title { width: calc(100% - 6.5rem); font-size: clamp(1.2rem, 5.4vw, 1.4rem) !important; line-height: 1.12; padding-left: 1rem; }
    .mascot-wrap { --w: 6.5rem; right: 0.5rem; }
  }
  @media (max-width: 22.5rem) {
    .catalog-intro .catalog-title { width: calc(100% - 5rem); font-size: 1.1rem !important; }
    .mascot-wrap { --w: 5rem; }
  }
  @media (min-width: 48.01rem) {
    .catalog-stage { max-width: 40rem; }
    .catalog-intro { min-height: 10rem; }
    .catalog-intro .catalog-title { width: calc(100% - 13rem); padding-left: 1.5rem; }
    .mascot-wrap { --w: 10rem; right: 2rem; }
  }
  @media (min-width: 48.01rem) { .list { padding: 0.75rem; } }
  .backdrop { position: fixed; inset: 0; z-index: 20; background: var(--page-bg); }
  .sheet { position: fixed; z-index: 22; inset: 0; width: 100%; height: 100%; overflow: auto; overscroll-behavior: contain; background: var(--page-bg); color: #34361B; text-align: left; transform-origin: top left; }
  .s-in { width: min(58rem, 100%); margin: 0 auto; padding: 4.75rem 2rem 2rem; }
  .s-head { margin-bottom: 1.25rem; padding: 0.6rem; border-radius: 1.25rem; background: var(--surface); box-shadow: var(--surface-shadow); }
  .s-hero { position: relative; border-radius: 0.9rem; overflow: hidden; background: var(--product-bg); }
  .s-blobs { position: absolute; top: 0; right: 0; width: 52%; height: 100%; pointer-events: none; }
  .s-banner { position: relative; min-height: 12rem; display: flex; align-items: center; background: transparent; }
  .s-artwork { position: absolute; inset: 0; }
  .s-art { display: block; width: 100%; height: 100%; object-fit: contain; object-position: right center; }
  .s-identity { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; width: 52%; padding: 1.5rem; }
  .s-title { min-width: 0; }
  .cabinet-greeting { display: flex; align-items: center; gap: 0.65rem; }
  .cabinet-avatar { flex: none; width: 3.5rem; height: 3.5rem; border: 1.5px solid #3971BB; border-radius: 50%; object-fit: cover; }
  .cabinet-banner { position: relative; }
  .cabinet-telegram { text-align: left; display: flex; align-items: center; gap: 0.75rem; margin: -0.35rem 0 0.8rem; padding: 0.65rem 0.85rem; border-radius: 1rem; background: #EAF0F7; color: #34361B; }
  .home-telegram { margin: 0.8rem 0 1rem; }
  .cabinet-telegram[hidden] { display: none; }
  .cabinet-telegram-icon { flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #3971BB; color: #fff; }
  .cabinet-telegram-icon svg { width: 1.15rem; height: 1.15rem; }
  .cabinet-telegram-copy { flex: 1; min-width: 0; margin: 0; font-size: 0.78rem; line-height: 1.45; }
  .cabinet-telegram-copy strong { display: block; margin-bottom: 0.1rem; font-size: 0.85rem; font-weight: 600; }
  .cabinet-telegram-copy span { color: #4F6077; }
  .cabinet-telegram-button { flex: none; padding: 0.5rem 0.85rem; border: 0; border-radius: 0.65rem; background: #fff; color: #66768D; font: 600 0.78rem/1.3 "Onest", system-ui, sans-serif; cursor: default; }
  .cabinet-telegram-button.is-live { background: #3971BB; color: #fff; text-decoration: none; cursor: pointer; }
  .cabinet-telegram-button.is-live:hover { background: #2F62A6; }
  @media (max-width: 36rem) { .cabinet-telegram { flex-wrap: wrap; align-items: flex-start; gap: 0.5rem 0.65rem; padding: 0.75rem; } .cabinet-telegram-copy { flex-basis: calc(100% - 2.65rem); } .cabinet-telegram-button { margin-left: 2.65rem; padding: 0.4rem 0.7rem; } }

  .cabinet-banner .s-heading h1 { display: block; min-width: 0; line-height: 1.25; font-size: clamp(1rem, 2vw, 1.75rem) !important; white-space: normal; }
  .cabinet-greeting h1 { min-width: 0; }
  /* The greeting is a line of text that may wrap (a long name shows whole, with no ellipsis); the avatar sits in it like a letter. */
  /* The name, the "!" and the pencil are one piece: they wrap together, so the pencil is never left alone on a line of its own. */
  .cabinet-tail { display: inline-block; max-width: 100%; vertical-align: baseline; }
  .cabinet-greeting-line { display: inline; min-width: 0; white-space: normal; }
  .cabinet-avatar-button { position: relative; display: inline-flex; vertical-align: middle; flex: none; padding: 0; margin-inline: 0.4rem; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
  .cabinet-avatar-edit { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 50%; background: #FCFCEE; color: #34361B; opacity: 0; transition: opacity 160ms ease; pointer-events: none; }
  .cabinet-avatar-button:hover .cabinet-avatar-edit, .cabinet-avatar-button:focus-visible .cabinet-avatar-edit { opacity: 0.85; }
  .cabinet-avatar-button:focus-visible, .cabinet-avatar-picker button:focus-visible { outline: 2px solid #3971BB; outline-offset: 3px; }
  /* The choice floats over the page (put under the banner by the script, placed under the avatar): opening it moves nothing. */
  .cabinet-avatar-picker { position: absolute; z-index: 6; top: 0; left: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0.45rem; width: min(16rem,calc(100% - 1rem)); margin: 0; padding: 0.45rem; border-radius: 1rem; background: #fff; box-shadow: 0 12px 34px rgba(52, 54, 27, 0.2); }
  .cabinet-avatar-picker[hidden], .cabinet-avatar-error[hidden] { display: none; }
  .cabinet-avatar-picker button { min-width: 0; padding: 0; border: 2px solid transparent; border-radius: 50%; background: none; cursor: pointer; }
  .cabinet-avatar-picker button[aria-pressed="true"] { border-color: #3971BB; }
  .cabinet-avatar-picker button:disabled { opacity: 0.6; cursor: default; }
  .cabinet-avatar-picker img { display: block; width: 100%; height: auto; border-radius: 50%; }
  .cabinet-avatar-error { grid-column: 1/-1; margin: 0; font-size: 0.8rem; line-height: 1.4; }

  .cabinet-name { min-width: 0; overflow-wrap: anywhere; }
  /* While it is edited the name is one box (not a ragged outline around broken lines) that wraps inside itself. */
  .cabinet-name[contenteditable="plaintext-only"] { display: block; width: 100%; box-sizing: border-box; margin: 0; padding: 0.1rem 2.2rem 0.1rem 0.35rem; border-radius: 0.5rem; }
  /* Editing: the name is a field across the width, the "!" steps aside and the checkmark sits inside the field, at its right end. */
  .cabinet-name-row.is-editing .cabinet-bang { display: none; }
  .cabinet-name-row.is-editing h1 { width: 100%; }
  .cabinet-name-row.is-editing .cabinet-tail { display: block; position: relative; margin-top: 0.3rem; }
  .cabinet-name-row.is-editing .cabinet-edit { position: absolute; right: 0.4rem; top: 50%; margin: -0.75rem 0 0; }
  .cabinet-name-row { position: relative; display: flex; align-items: center; flex: 1; min-width: 0; min-height: 2.1rem; width: 100%; }
  .cabinet-edit { flex: none; display: inline-grid; vertical-align: middle; place-items: center; width: 1.5rem; height: 1.5rem; margin: 0 -1.6rem 0 0.1rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #34361B; cursor: pointer; }
  /* Its margin box is nothing (the negative margin takes back its width), so a full last line of the name never pushes it onto a line of its own: it sticks out a little into the banner's empty padding instead. */
  .cabinet-edit svg { width: 18px; height: 18px; pointer-events: none; }
  .cabinet-edit:hover { color: #34361B; }
  .cabinet-edit:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
  .cabinet-name[contenteditable="plaintext-only"] { outline: 1.5px solid #3971BB; outline-offset: 1px; border-radius: 0.15rem; caret-color: #3971BB; cursor: text; user-select: text; -webkit-user-select: text; }
  .cabinet-name-row.is-editing .cabinet-greeting-line { overflow: visible; }
  .cabinet-edit:disabled { opacity: 0.6; cursor: default; }
  .cabinet-name-error { position: absolute; top: 100%; left: 0; margin: 0.4rem 0 0; padding: 0.3rem 0.5rem; border-radius: 0.5rem; background: #FCFCEE; font-size: 0.8rem; line-height: 1.35; }
  .cabinet-name-error[hidden] { display: none; }
  .cabinet-switch { margin: 0 0 1.25rem; max-width: 100%; overflow-x: auto; scrollbar-width: none; touch-action: pan-x pinch-zoom; }
  .cabinet-switch::-webkit-scrollbar { display: none; }
  /* The cabinet's tabs are plain text on a baseline: the open one is dark with a butter marker under the word and a dark rule
     under it, the others are quiet. The sliding pill and the icon bubbles of the product switch are not used here. */
  .s-switch.cabinet-switch { width: 100%; gap: 0.25rem; padding: 0 0.25rem; border-radius: 0; background: transparent; box-shadow: inset 0 -2px 0 #E6ECCB; }
  .cabinet-switch .s-pick, .cabinet-switch .s-pick-fill, .cabinet-switch .s-chip-logo { display: none; }
  .cabinet-switch .s-chip { height: auto; padding: 0.65rem 0.8rem; border-radius: 0; border-bottom: 2px solid transparent; font-size: 0.95rem; opacity: 0.6; transition: opacity 160ms ease, border-color 160ms ease; }
  .cabinet-switch .s-chip:hover { opacity: 0.85; }
  .cabinet-switch .s-chip[aria-current="page"], .cabinet-switch .s-chip.near { opacity: 1; color: #34361B; border-bottom-color: #34361B; }
  .cabinet-switch .s-chip[aria-current="page"] > span { box-shadow: inset 0 -0.45em 0 #F0E6A5; }
  @media (max-width: 30rem) { .cabinet-switch .s-chip { padding: 0.6rem 0.6rem; font-size: 0.88rem; } }
  @media (prefers-reduced-motion: reduce) { .cabinet-switch .s-chip { transition: none; } }
  .cabinet-lead { max-width: 35ch; margin: 0.75rem 0 0; font-size: 0.9rem; line-height: 1.45; color: #34361B; }
  @media (max-width: 30rem) { .cabinet-lead { font-size: 0.75rem; margin-top: 0.5rem; } }
  @media (max-width: 30rem) { .cabinet-greeting { align-items: flex-start; flex-direction: column; gap: 0.4rem; } .cabinet-avatar { width: 2.75rem; height: 2.75rem; } }

  .s-heading { width: 100%; }
  .s-action { display: block; margin-bottom: 0.35rem; font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.02em; }
  .s-product-name { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem; }
  .s-plan { display: inline-flex; align-items: center; padding: 0.35rem 0.8rem; border-radius: 999px; color: #34361B; font-size: 1.1rem; font-weight: 800; line-height: 1.1; }
  .s-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .s-details { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; align-items: start; gap: 2rem; }
  .s-content { display: grid; gap: 1.25rem; min-width: 0; }
  /* Keep SEO last even when new content blocks are added to the product card. */
  .s-content > :not(.s-seo) { order: 0; }
  .s-content > .s-seo { order: 1; }
  .s-seo { min-width: 0; padding: 1.25rem; border-radius: 1.25rem; background: var(--surface); box-shadow: var(--surface-shadow); }
  .s-seo-heading { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
  .s-seo-logo { flex: none; width: 2.75rem; height: 2.75rem; padding: 0.45rem; border-radius: 0.75rem; }
  .s-seo h3 { margin: 0; font-size: 1.1rem; font-weight: 800; line-height: 1.3; letter-spacing: -0.02em; text-wrap: balance; }
  .s-seo-text { font-size: 0.95rem; line-height: 1.55; max-width: 70ch; }
  .s-seo-text p { margin: 0; }
  .s-seo-text p + p { margin-top: 0.85rem; }
  .s-description { min-width: 0; padding: 1.25rem; border-radius: 1.25rem; background: var(--surface); box-shadow: var(--surface-shadow); }
  .s-description h3 { margin: 0 0 1rem; font-size: 1.1rem; font-weight: 800; letter-spacing: -0.02em; }
  .x { position: fixed; top: max(1rem, env(safe-area-inset-top)); right: max(1rem, env(safe-area-inset-right)); z-index: 2; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--surface); box-shadow: var(--surface-shadow); color: #34361B; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  /* While the window grows or shrinks it is transformed, so its fixed close button would ride along and scroll with it:
   * keep the button hidden and the window still until the motion ends, then fade the button in. */
  .x { transition: opacity 160ms ease-out; }
  .x svg, .x svg *, .account-close svg, .account-close svg * { pointer-events: none; cursor: inherit; }
  .sheet:focus { outline: none; }
  .x:focus-visible, .account-close:focus-visible { outline: 2px solid #3971BB; outline-offset: 3px; }
  .x:focus:not(:focus-visible), .account-close:focus:not(:focus-visible) { outline: none; }
  .cabinet-body > p { margin-top: 1rem; line-height: 1.5; }
  .cabinet-retry { min-height: 2.75rem; padding: 0.6rem 1rem; border: 0; border-radius: 999px; background: #fff; color: #3971BB; font: inherit; font-weight: 700; cursor: pointer; }
  .sheet[data-motion] { overflow: hidden !important; }
  .sheet[data-motion] .x { opacity: 0; transition: none; pointer-events: none; }
  @media (min-width: 48.01rem) {
    .sheet .x { right: max(2rem, calc((100% - 58rem) / 2 + 2rem), env(safe-area-inset-right)); }
  }
  .item { -webkit-tap-highlight-color: transparent; }
  .s-tile { display: grid; place-items: center; flex: none; width: 4rem; height: 4rem; border-radius: 1rem; }
  /* Integer-sized vector viewport, ~80% of the tile, with no rasterizing colour filter. */
  .s-tile .ico { width: calc(100% - 12px); aspect-ratio: 1; }
  /* The open sheet's heading is an h1, the others h2: both must look identical, so beat the page-level h1 rules. */
  .sheet h1, .sheet:not(.cabinet-sheet) h2 { max-width: none !important; margin: 0 !important; font-size: clamp(2rem, 3.2vw, 2.5rem) !important; line-height: 1.15; font-weight: 800; letter-spacing: -0.03em !important; text-wrap: wrap; }
  /* The section headings inside a legal text are small: only the page's own title is big (owner 17.10.2026). */
  .sheet.legal-sheet .legal-text h2 { margin: 1.3rem 0 0.5rem !important; font-size: 1.15rem !important; line-height: 1.3; letter-spacing: -0.01em !important; }
  .s-benefits { position: relative; display: flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.7rem 0.3rem 0.2rem; }
  .s-q { flex: none; display: grid; place-items: center; box-sizing: border-box; width: 1.1rem; height: 1.1rem; margin: 0 -0.15rem 0 0.1rem; padding: 0; border: 1.3px solid rgba(57, 113, 187, 0.55); border-radius: 50%; background: none; color: #3971BB; font: inherit; font-size: 0.75rem; font-weight: 800; line-height: 1; cursor: default; transition: background 140ms ease, color 140ms ease, border-color 140ms ease; }
  .s-q:hover, .s-benefit.open .s-q { background: #3971BB; border-color: #3971BB; color: #fff; }
  .s-q:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
  .s-benefit { position: relative; }
  .s-tip { white-space: normal; position: absolute; z-index: 5; bottom: calc(100% + 0.6rem); left: 0; width: max-content; max-width: min(15rem, calc(100vw - 3rem)); padding: 0.55rem 0.75rem; border-radius: 0.9rem; background: #34361B; color: #FCFCEE; font-size: 0.78rem; font-weight: 400; line-height: 1.4; text-align: left; box-shadow: 0 8px 24px rgba(52, 54, 27, 0.22); opacity: 0; visibility: hidden; transform: translateY(4px) scale(0.97); transform-origin: var(--ax, 1rem) 100%; transition: opacity 160ms ease, transform 180ms cubic-bezier(.2,.8,.2,1), visibility 160ms; pointer-events: none; }
  .s-tip::after { content: ""; position: absolute; top: calc(100% - 1px); left: calc(var(--ax, 1rem) - 0.45rem); width: 0.9rem; height: 0.55rem; background: #34361B; -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%); clip-path: polygon(0 0, 100% 0, 50% 100%); }
  .s-benefit.open .s-tip { opacity: 1; visibility: visible; transform: none; }
  /* Hover only where a real pointer exists: on touch the tap-hover showed the bubble before it was placed, so it jumped. */
  @media (hover: hover) and (pointer: fine) { .s-benefit:has(.s-q:hover) .s-tip, .s-benefit:has(.s-q:focus-visible) .s-tip { opacity: 1; visibility: visible; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .s-tip { transition: none; } }
  .s-benefit { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.4rem 0.5rem; border-radius: 999px; border: 0; background: var(--page-bg); white-space: nowrap; color: #34361B; font-size: 0.75rem; line-height: 1.2; }
  .s-benefit svg { flex: none; width: 13px; height: 13px; color: #3971BB; }
  .s-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; font-size: 1rem; line-height: 1.45; }
  .s-ticks li { display: flex; gap: 0.5rem; }
  .s-ticks svg { flex: none; margin-top: 0.15rem; color: #3971BB; }
  .s-desc-text { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1.1rem; font-size: 1rem; line-height: 1.5; }
  .s-desc-text p { margin: 0; }
  .s-buy { position: sticky; top: 1rem; display: flex; flex-direction: column; align-items: stretch; gap: 1rem; padding: 1.25rem; border-radius: 1rem; background: var(--surface); box-shadow: var(--surface-shadow); }
  .s-price { display: none; }
  .s-cart { display: none; }
  /* Price lives inside the buy button on every screen: "2 299 ₽ | Купить". */
  .s-consent { margin: 0; color: #62644E; font-size: 0.66rem; font-weight: 500; line-height: 1.4; text-align: center; }
  .s-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
  .s-consent a:hover { color: #3971BB; }
  .s-buy-note { margin: 0; padding: 0.65rem 0.8rem; border-radius: 0.8rem; background: #FADBE3; color: #34361B; font-size: 0.85rem; line-height: 1.4; }
  .s-btn { display: flex; align-items: center; justify-content: center; flex-direction: row-reverse; gap: 0.5rem; }
  .s-btn-price { display: inline; font-weight: 800; white-space: nowrap; opacity: 0.92; }
  .s-btn-price::after { content: ""; display: inline-block; width: 1px; height: 0.9em; margin-left: 0.55rem; vertical-align: -0.1em; background: currentColor; opacity: 0.45; }
  /* Web: the term switch carries no prices, the price is next to "Купить". */
  @media (min-width: 48.01rem) { .s-term-seg > span { display: none; } .s-term-seg { padding: 0.6rem 0.4rem; } }
  /* The buy button is flat blue (owner 15.10.2026): no outline, no hard shadow. */
  .s-btn { padding: 0.85rem 1.25rem; border: 0; border-radius: 1rem; background: #3971BB; color: #fff; box-shadow: none; font-weight: 800; font-size: 1rem; text-align: center; transition: background-color 160ms ease; }
  @media (hover: hover) { .s-btn:hover { background: #2E5E9D; } }
  .s-btn:active { background: #2A5590; transition-duration: 70ms; }
  @media (prefers-reduced-motion: reduce) { .s-btn { transition: none; } .s-btn:hover, .s-btn:active { transform: none; } }
  /* Buying without a sign-in (owner's ask 10.10.2026): a small window over the product asks for the e-mail and the code
     from the letter, then the payment starts at once. On a phone it comes up from the bottom. */
  .buy-login { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; box-sizing: border-box; margin: 0; border: 0; padding: 16px; background: transparent; color: #34361B; }
  .buy-login[open] { display: flex; align-items: center; justify-content: center; }
  .buy-login::backdrop { background: rgba(52, 54, 27, 0.32); }
  .buy-login[hidden] { display: none; }
  .buy-login-card { max-height: 100%; overflow-y: auto; position: relative; width: 100%; max-width: 24rem; box-sizing: border-box; padding: 1.6rem 1.4rem 1.4rem; border-radius: 1.6rem; background: #fff; color: #34361B; box-shadow: 0 24px 70px rgba(52, 54, 27, 0.2); text-align: left; }
  .consent-box { display: flex; align-items: flex-start; gap: 0.65rem; margin: 0 0 1rem; font-size: 0.88rem; line-height: 1.45; cursor: pointer; }
  .buy-login .consent-box input { flex: none; width: 1.2rem; height: 1.2rem; margin: 0.1rem 0 0; padding: 0; accent-color: #3971BB; cursor: pointer; background: none; box-shadow: none; }
  .consent-box a { color: #3971BB; text-underline-offset: 3px; }
  .consent-gate .buy-login-btn { width: 100%; }
  .shop-soon .buy-login-btn { width: 100%; }
  .buy-login-x { position: absolute; top: 0.8rem; right: 0.8rem; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; padding: 0; border: 0; border-radius: 50%; background: #F5F5F5; color: #34361B; cursor: pointer; }
  .buy-login-x svg { width: 0.95rem; height: 0.95rem; pointer-events: none; }
  .buy-login-x:hover { background: #EEF3FA; color: #3971BB; }
  .buy-login h2 { margin: 0 2.6rem 0.4rem 0; font-size: 1.35rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; }
  .buy-login-lead { margin: 0 0 1.1rem; font-size: 0.92rem; line-height: 1.45; color: #5D5F45; }
  .buy-login-lead b { color: #34361B; font-weight: 700; overflow-wrap: anywhere; }
  .buy-login form { display: grid; gap: 0.75rem; margin: 0; }
  .buy-login input { width: 100%; box-sizing: border-box; height: 3rem; padding: 0 1rem; border: 0; border-radius: 1rem; background: #F5F5F5; box-shadow: inset 0 0 0 1.5px transparent; color: #34361B; font: inherit; font-size: 16px; outline: none; }
  .buy-login input:focus { background: #fff; box-shadow: inset 0 0 0 2px #3971BB; }
  .buy-login input.is-code { letter-spacing: 0.4em; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; }
  /* The site's own button (owner 19.10.2026: the windows look like the storefront): flat blue, no outline or hard shadow. */
  .buy-login-btn { height: 3rem; padding: 0 1.25rem; border: 0; border-radius: 1rem; background: #3971BB; color: #fff; box-shadow: none; font: inherit; font-size: 1rem; font-weight: 800; cursor: pointer; transition: background-color 160ms ease; }
  @media (hover: hover) { .buy-login-btn:hover:not(:disabled) { background: #2E5E9D; } }
  .buy-login-btn:active:not(:disabled) { background: #2A5590; transition-duration: 70ms; }
  .buy-login-btn:disabled { opacity: 0.7; cursor: progress; }
  .buy-login-error { margin: 0.75rem 0 0; padding: 0.6rem 0.8rem; border-radius: 0.8rem; background: #FADBE3; font-size: 0.85rem; font-weight: 600; line-height: 1.4; }
  .buy-login-error[hidden] { display: none; }
  .buy-login .consent-box input:focus { background: none; box-shadow: none; }
  .buy-login form .consent-box { margin: 0.1rem 0 0.15rem; font-size: 0.84rem; color: #5D5F45; }
  .buy-login form .consent-box[hidden] { display: none; }
  .buy-login form .consent-box.is-missing span { color: #34361B; }
  .buy-login form .consent-box.is-missing input { outline: 2px solid #F29BB0; outline-offset: 2px; }
  /* The product of a channel's order, on a light plate as in the cabinet (owner 19.10.2026). */
  .order-link-product { display: flex; align-items: center; gap: 0.75rem; margin: 0 0 1rem; padding: 0.75rem 0.9rem; border-radius: 1.2rem; background: #F7F7EF; }
  .order-link-product .olp-icon { flex: none; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0.5rem; box-sizing: border-box; border-radius: 50%; color: #34361B; }
  .order-link-product .olp-icon svg, .order-link-product .olp-icon img { width: 100%; height: 100%; object-fit: contain; }
  .order-link-product .olp-text { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
  .order-link-product .olp-name { font-size: 1rem; font-weight: 600; color: #34361B; }
  .order-link-product .olp-sub { font-size: 0.78rem; color: #7A7C62; }
  .buy-login-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; margin: 0.9rem 0 0; }
  .buy-login-links[hidden] { display: none; }
  .buy-login-tg { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin: 0.75rem 0 0; padding: 0.7rem 1rem; border-radius: 999px; background: #EEF3FA; color: #3971BB; font-size: 0.92rem; font-weight: 700; text-decoration: none; }
  .buy-login-tg svg { width: 1.1rem; height: 1.1rem; }
  .buy-login-tg:hover { background: #E1EAF6; }
  .buy-login-tg[hidden] { display: none; }
  .buy-login-link { padding: 0; border: 0; background: none; color: #3971BB; font: inherit; font-size: 0.86rem; font-weight: 700; cursor: pointer; }
  .buy-login-link:disabled { color: #9A9C82; cursor: default; }
  /* iPhone: with the keyboard open a bottom sheet left a strip of the page between the window and the keyboard (owner 20.10.2026). While the field is being typed in, the window hangs from the top instead — and while a button in it is pressed: the press takes the focus off the field, and a window that jumped down then took the tap for a tap on the backdrop and closed (Chromium on a phone, e2e/phone.spec.ts). */
  @media (max-width: 36rem) {
    .buy-login[open]:has(input[data-main]:focus, button:active) { align-items: flex-start; padding: calc(env(safe-area-inset-top) + 0.75rem) 0.6rem 0; }
    .buy-login[open]:has(input[data-main]:focus, button:active) .buy-login-card { border-radius: 1.6rem; padding-bottom: 1.4rem; }
  }
  @media (max-width: 36rem) {
    .buy-login[open] { align-items: flex-end; padding: 0; }
    .buy-login-card { max-width: none; padding: 1.5rem 1.1rem calc(1.4rem + env(safe-area-inset-bottom)); border-radius: 1.6rem 1.6rem 0 0; }
  }
  @media (prefers-reduced-motion: reduce) { .buy-login-btn { transition: none; } .buy-login-btn:hover, .buy-login-btn:active { transform: none; } }
  .list.dim .item:not(.active) { opacity: 0.6; transform: translateY(6px) scale(0.96); }
  .list.dim .item.active { opacity: 0; }
  @media (max-width: 48rem) {
    .s-in { padding: calc(4.75rem + env(safe-area-inset-top)) 1.25rem calc(5.2rem + env(safe-area-inset-bottom)); }
    .s-head { margin-bottom: 1rem; padding: 0.45rem; }
    .s-banner { min-height: 9rem; }
    .s-identity { width: 60%; padding: 0.75rem 1rem; gap: 0.6rem; }
    .s-action { font-size: 1rem; }
    .sheet h1, .sheet:not(.cabinet-sheet) h2 { font-size: 1.65rem !important; }
    .s-plan { font-size: 0.875rem; padding: 0.3rem 0.6rem; }
    .s-product-name { gap: 0.35rem; }
    .s-tile { width: 2.75rem; height: 2.75rem; border-radius: 0.75rem; }
    .s-details { grid-template-columns: 1fr; gap: 1.5rem; }
    .s-description { padding: 1rem; }
    .s-seo { padding: 1rem; }
    .s-buy { position: fixed; top: auto; bottom: 0; left: 0; right: 0; display: flex; flex-direction: row; justify-content: flex-end; padding: 0 1.2rem calc(1.3rem + env(safe-area-inset-bottom)) 1rem; border: 0; border-radius: 0; background: none; box-shadow: none; pointer-events: none; }
    .s-buy .s-price { display: none; }
    .s-promo .s-consent { align-self: stretch; padding: 0.45rem 0.8rem; border-radius: 0.9rem; background: #fff; box-shadow: 0 4px 14px rgba(52, 54, 27, 0.16); font-size: 0.62rem; text-align: center; }
    .s-buy-note { position: absolute; left: 1rem; right: 1.2rem; bottom: calc(4.6rem + env(safe-area-inset-bottom)); }
    .s-promo { position: absolute; left: 1rem; right: 1.2rem; bottom: calc(4.6rem + env(safe-area-inset-bottom)); align-items: flex-end; pointer-events: auto; }
    .s-promo-form, .s-promo-offer, .s-promo-addbox, .s-promo-applied { width: 100%; box-sizing: border-box; background-color: #fff; box-shadow: 0 6px 20px rgba(52, 54, 27, 0.18); }
    .s-promo-offer, .s-promo-addbox { background-color: #EEF3FA; }
    .s-promo-menu { top: auto; bottom: calc(100% + 0.4rem); }
    .s-promo-applied { background-color: #EEF3FA; }
    .s-promo-form { padding: 0.5rem; border-radius: 1rem; }
    .s-promo-toggle { padding: 0.35rem 0.8rem; border-radius: 999px; background: #fff; box-shadow: 0 4px 14px rgba(52, 54, 27, 0.16); text-decoration: none; }
    .s-promo-own { padding: 0.35rem 0.8rem; border-radius: 999px; background: #fff; box-shadow: 0 4px 14px rgba(52, 54, 27, 0.16); text-decoration: none; }
    .s-terms--buy { display: none; }
    .s-terms--head { display: block; margin-top: 0.8rem; padding: 0.8rem 0.8rem 0.75rem; border-radius: 1.1rem; box-shadow: inset 0 0 0 1.5px rgba(52, 54, 27, 0.14); }
    .s-terms--head h3 { margin-bottom: 0.55rem; }
    .s-terms--head .s-term-hint { margin: 0 0 0.55rem; }
    .s-price { flex: 1; font-size: 1.4rem; }
    .s-btn { pointer-events: auto; flex: none; display: inline-flex; align-items: center; gap: 0.5rem; height: 2.7rem; padding: 0 1.1rem; border-radius: 1rem; font-size: 0.92rem; box-shadow: none; }
    .s-btn-price { display: inline; font-size: 0.92rem; font-weight: 800; white-space: nowrap; opacity: 0.9; }
    .s-btn-price::after { content: ""; display: inline-block; width: 1px; height: 0.9em; margin-left: 0.5rem; vertical-align: -0.1em; background: currentColor; opacity: 0.45; }
    .s-btn { flex-direction: row-reverse; }
    .s-btn-text { display: inline; }
    .s-cart { display: none; }
  }
  /* Phones: the same thin pills as on the web, in two equal columns so the rows line up. */
  @media (max-width: 48rem) {
    .s-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem; padding: 0.7rem 0 0.1rem; }
    .s-benefit { gap: 0.3rem; min-width: 0; padding: 0.4rem 0.4rem 0.4rem 0.55rem; font-size: 0.75rem; letter-spacing: -0.01em; }
    .s-benefit > span:not(.s-tip) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .s-q { margin: 0; }
  }
  @media (max-width: 23rem) { .s-benefits { grid-template-columns: 1fr; } .s-benefit { font-size: 0.75rem; gap: 0.3rem; padding-left: 0.55rem; padding-right: 0.4rem; } .s-benefit > svg { width: 12px; height: 12px; } }
  /* Phones (owner 20.10.2026): the bottom is one quiet bar, not three floating strips. The offer note is a small caption under "Купить", as wide as the button, the promo code is a small pill above the button, and the support button steps aside. */
  @media (max-width: 48rem) {
    .s-buy { padding: 1.4rem 1.2rem calc(3rem + env(safe-area-inset-bottom)) 1rem; background: linear-gradient(to bottom, rgba(245, 245, 245, 0), #F5F5F5 38%); }
    .s-promo { bottom: calc(6.2rem + env(safe-area-inset-bottom)); }
    .s-buy-note { bottom: calc(6.2rem + env(safe-area-inset-bottom)); }
    .s-promo .s-consent { position: fixed; left: auto; right: 1.2rem; box-sizing: border-box; width: var(--buy-w, 9.2rem); bottom: calc(0.5rem + env(safe-area-inset-bottom)); padding: 0; border-radius: 0; background: none; box-shadow: none; font-size: 0.62rem; line-height: 1.25; text-align: center; pointer-events: auto; }
    .s-promo-addbox { width: auto; gap: 0.5rem; padding: 0.3rem 0.35rem 0.3rem 0.8rem; border-radius: 999px; background-color: #fff; box-shadow: 0 4px 14px rgba(52, 54, 27, 0.16); }
    .s-promo-addbox .s-promo-offer-text { font-size: 0.78rem; }
    body:has(.sheet:not([hidden]) .s-buy) .sw-fab { display: none; }
  }
  @media (max-width: 25rem) {
    .s-identity { align-items: flex-start; flex-direction: column; gap: 0.5rem; padding-right: 0; }
  }
  .list .item { transition: transform 420ms cubic-bezier(.16,1,.3,1), opacity 320ms ease, box-shadow 180ms ease !important; }
  .list.dim .item.active { transition: opacity 90ms ease !important; }
  @media (prefers-reduced-motion: reduce) { .list .item { transition: none !important; } }
.cabinet-activation{
    
    --brand-page: #FCFCEE;
    --brand-card: #FCFCEE;
    --brand-ink: #34361B;
    --brand-accent: #3971BB;
    --brand-sage: #CBD69B;
    --brand-butter: #F0E6A5;
    --brand-pink: #F29BB0;
  }
.cabinet-activation *{ box-sizing: border-box; }
.cabinet-activation .activation-card textarea{
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
  }
.cabinet-activation .activation-shell{ width: min(35rem, 100%); margin: 0 auto; }
.cabinet-activation .activation-stage-anchor{ position: relative; }
.cabinet-activation .activation-header{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 0 1.8rem;
    padding: 0 0.15rem;
  }
.cabinet-activation .activation-brand{
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--brand-ink);
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-decoration: none;
  }
.cabinet-activation .activation-brand-mark{
    display: grid;
    flex: none;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    color: var(--brand-ink);
  }
.cabinet-activation .activation-brand-mark img{ width: 100%; height: 100%; object-fit: contain; }
.cabinet-activation .activation-card{
    padding: 2.15rem 1.75rem 2rem;
    border: 1px solid var(--brand-sage);
    border-radius: 2.5rem;
    background: var(--brand-card);
  }
.cabinet-activation .order-number{
    margin: 0 0 2.5rem;
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }
.cabinet-activation .activation-card h1{ margin: 0 0 0.75rem; font-size: 1.25rem; line-height: 1.2; }
.cabinet-activation .activation-card form{ margin: 0; }
.cabinet-activation .activation-card label{ display: block; }
.cabinet-activation .activation-card textarea::placeholder, .cabinet-activation .activation-card input::placeholder{ color: var(--brand-ink); opacity: 1; }
.cabinet-activation .activation-card #session::placeholder, .cabinet-activation .activation-card #org-id::placeholder{ opacity: 0.4; }
.cabinet-activation .activation-card .notice{ margin: 0 0 1rem; }
.cabinet-activation .activation-footer{
    margin: 1.1rem 0 0;
    padding: 0 0.15rem;
    font-size: 0.72rem;
    color: var(--brand-ink);
  }
@media (max-width: 36rem) {.cabinet-activation .activation-header{ align-items: flex-start; margin-bottom: 1.25rem; }
.cabinet-activation .activation-brand{ font-size: 0.95rem; letter-spacing: 0.08em; }
.cabinet-activation .activation-brand-mark{ width: 1.6rem; height: 1.6rem; }
.cabinet-activation .activation-card{ padding: 1.75rem 1.15rem 1.25rem; border-radius: 2rem; }
.cabinet-activation .order-number{ margin-bottom: 2rem; }
}
.cabinet-activation .activation-card h1.activation-title{
    margin: 0 0 0.6rem;
    font-size: 1.55rem;
    line-height: 1.15;
  }
.cabinet-activation .activation-title .accent-word{
    position: relative;
    display: inline-block;
    color: var(--brand-accent);
  }
.cabinet-activation .accent-underline{
    position: absolute;
    left: 0.05em;
    bottom: -0.32em;
    width: 100%;
    height: 0.4em;
    overflow: visible;
    color: var(--brand-accent);
  }
.cabinet-activation .activation-lead{ margin: 0.9rem 0 1.5rem; font-size: 0.92rem; color: var(--brand-ink); }
.cabinet-activation .product-card{
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0 0 1.5rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid var(--brand-sage);
    border-radius: 1.1rem;
    background: none;
  }
.cabinet-activation .product-card-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 2.1rem;
    height: 2.1rem;
    color: var(--brand-ink);
  }
.cabinet-activation .product-card-icon svg, .cabinet-activation .product-card-icon img{ width: 100%; height: 100%; object-fit: contain; }
.cabinet-activation .product-card-text{ display: flex; flex-direction: column; gap: 0.1rem; }
.cabinet-activation .product-card-name{ font-size: 0.92rem; font-weight: 700; }
.cabinet-activation .product-card-subtitle{ font-size: 0.78rem; color: var(--brand-ink); }
.cabinet-activation .stepper{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.cabinet-activation .step{
    overflow: hidden;
    border: 1px solid var(--brand-sage);
    border-radius: 1.1rem;
    
    background: var(--brand-page);
    padding: 0.85rem 1.1rem;
    transition: border-color 200ms ease;
  }
.cabinet-activation .step[data-state="active"]{ border-color: var(--brand-sage); }
.cabinet-activation .step-view{ display: none; }
.cabinet-activation .step-view-locked, .cabinet-activation .step-view-done{
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
  }
.cabinet-activation .step[data-state="locked"] .step-view-locked, .cabinet-activation .step[data-state="done"] .step-view-done{ display: grid; }
.cabinet-activation .step[data-state="active"] .step-view-active{ display: block; }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .step{ transition: none; }
}
.cabinet-activation .step-badge{
    display: grid;
    flex: none;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    border: 1.5px solid var(--brand-sage);
    border-radius: 50%;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--brand-ink);
  }
.cabinet-activation .step[data-state="active"] .step-badge{ border-color: var(--brand-ink); color: var(--brand-ink); }
.cabinet-activation .step-badge-done{
    border-color: var(--brand-ink);
    background: var(--brand-ink);
    color: var(--brand-card);
  }
.cabinet-activation .step-view-locked{ gap: 0.7rem; }
.cabinet-activation .step-title-locked{ flex: 1; font-size: 0.95rem; font-weight: 600; color: var(--brand-ink); }
.cabinet-activation .step-lock-icon{ display: inline-flex; flex: none; color: var(--brand-ink); }
.cabinet-activation .step-head{ display: flex; align-items: flex-start; gap: 0.7rem; }
.cabinet-activation .step-heading{ flex: 1; }
.cabinet-activation .step-heading h2{ margin: 0 0 0.25rem; font-size: 0.98rem; }
.cabinet-activation .step-hint{ margin: 0; font-size: 0.82rem; color: var(--brand-ink); }
.cabinet-activation .step-body{ margin: 0.9rem 0 0 2.6rem; display: flex; flex-direction: column; gap: 0.6rem; align-items: flex-start; }
.cabinet-activation .step-substeps{ margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: 0.55rem; }
.cabinet-activation .step-substeps li{ font-size: 0.85rem; }
.cabinet-activation .step-substeps p{ margin: 0 0 0.35rem; }
.cabinet-activation .step-note{ margin: 0; font-size: 0.76rem; color: var(--brand-ink); }
.cabinet-activation .step-body textarea{
    display: block;
    width: 100%;
    min-height: 6rem;
    padding: 0.85rem 1rem;
    resize: vertical;
    border: 1px solid var(--brand-sage);
    border-radius: 1.1rem;
    outline: none;
    background: var(--brand-page);
    color: var(--brand-ink);
    font: inherit;
  }
.cabinet-activation .step-body textarea:focus{
    border-color: var(--brand-accent);
    box-shadow: 0 0 0 2px var(--brand-accent);
  }
.cabinet-activation .step-body .field-label{ margin: 0 0 -0.35rem; font-size: 0.8rem; font-weight: 600; }
.cabinet-activation .step-body .field-input{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.8rem 1rem;
    border: 1px solid var(--brand-sage);
    border-radius: 1.1rem;
    outline: none;
    background: var(--brand-page);
    color: var(--brand-ink);
    font: inherit;
    -webkit-user-select: text;
    user-select: text;
  }
.cabinet-activation .step-body .field-input:focus{
    border-color: var(--brand-accent);
    box-shadow: 0 0 0 2px var(--brand-accent);
  }
.cabinet-activation .password-field{ position: relative; width: 100%; }
.cabinet-activation .step-body .password-field .field-input{ padding-right: 3.4rem; }
.cabinet-activation .password-toggle{ position: absolute; top: 50%; right: 0.3rem; transform: translateY(-50%); display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--brand-ink); cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.cabinet-activation .password-toggle:hover, .cabinet-activation .password-toggle:focus-visible{ color: var(--brand-ink); }
.cabinet-activation .password-toggle[hidden]{ display: none; }
.cabinet-activation .password-toggle .icon-eye-off, .cabinet-activation .password-toggle[aria-pressed="true"] .icon-eye{ display: none; }
.cabinet-activation .password-toggle[aria-pressed="true"] .icon-eye-off{ display: block; }
.cabinet-activation .step-error{ margin: 0; color: var(--brand-ink); font-size: 0.8rem; }
.cabinet-activation .step-error[hidden]{ display: none; }
.cabinet-activation .step-view-done{ gap: 0.7rem; }
.cabinet-activation .step-summary-text{ flex: 1; display: flex; flex-direction: column; gap: 0.1rem; }
.cabinet-activation .step-summary-text strong{ font-size: 0.95rem; }
.cabinet-activation .step-summary-text span{ font-size: 0.8rem; color: var(--brand-ink); }
.cabinet-activation .step-edit{
    flex: none;
    display: inline-grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--brand-ink);
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease;
  }
.cabinet-activation .step-edit:hover{ color: var(--brand-ink); background: var(--brand-sage); }
.cabinet-activation .step-edit svg{ width: 1.15rem; height: 1.15rem; }
.cabinet-activation .btn{
    display: inline-flex;
    width: 100%;
    min-height: 3rem;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.7rem 1rem;
    border-radius: 0.95rem;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
  }
.cabinet-activation .btn-outline{
    justify-content: space-between;
    border: 1px solid var(--brand-sage);
    background: var(--brand-page);
    color: var(--brand-ink);
  }
.cabinet-activation .btn-outline:hover{ border-color: var(--brand-sage); background: var(--brand-page); }
.cabinet-activation .btn-icon{ flex: none; }
.cabinet-activation .btn-next{
    width: auto;
    min-height: 2.75rem;
    justify-content: flex-start;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--brand-ink);
  }
.cabinet-activation .btn-next-icon{
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    flex: none;
    place-items: center;
    border-radius: 50%;
    background: var(--brand-accent);
    color: var(--brand-ink);
    transition: background-color 160ms ease, transform 160ms ease;
  }
.cabinet-activation .btn-next-icon svg{ width: 1rem; height: 1rem; }
.cabinet-activation .btn-next:hover .btn-next-icon{ background: var(--brand-accent); transform: translateX(2px); }
.cabinet-activation .btn-next:disabled{ color: var(--brand-ink); cursor: not-allowed; }
.cabinet-activation .btn-next:disabled .btn-next-icon{ background: var(--brand-page); transform: none; }
.cabinet-activation .btn-accent{ border: 1px solid var(--brand-accent); background: var(--brand-accent); color: var(--brand-ink); }
.cabinet-activation .btn-accent:hover{ border-color: var(--brand-accent); background: var(--brand-accent); }
.cabinet-activation .btn:focus-visible, .cabinet-activation .step-edit:focus-visible{ outline: 3px solid var(--brand-ink); outline-offset: 3px; }
.cabinet-activation .btn:active:not(:disabled){ transform: translateY(1px); }
.cabinet-activation #activate-submit{ min-height: 3.4rem; margin-top: 0.3rem; }
.cabinet-activation #activate-submit:disabled{ border-color: var(--brand-ink); background: var(--brand-page); color: var(--brand-ink); cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .btn, .cabinet-activation .btn-next-icon{ transition: none; }
.cabinet-activation .btn-next:hover .btn-next-icon, .cabinet-activation .btn:active:not(:disabled){ transform: none; }
}
.cabinet-activation .step[data-step="4"] .step-body{ margin-left: 2.6rem; }
.cabinet-activation .step[data-step="4"] .rules{
    width: 100%;
    margin: 0 0 0.2rem;
    padding: 0.85rem 1rem;
    border: 0;
    border-radius: 1.1rem;
    background: var(--brand-page);
    font-size: 0.8rem;
  }
.cabinet-activation .step[data-step="4"] .rules p{ margin: 0 0 0.25rem; font-weight: 700; }
.cabinet-activation .step[data-step="4"] .rules ul{ margin: 0; padding-left: 1rem; }
.cabinet-activation .step[data-step="4"] .rules li{ margin: 0.18rem 0; }
.cabinet-activation .rules-upfront{
    margin: -0.6rem 0 1.5rem;
    padding: 0.85rem 1rem;
    border: 0;
    border-radius: 1.1rem;
    background: var(--brand-page);
    font-size: 0.85rem;
  }
.cabinet-activation .rules-upfront p{ margin: 0 0 0.25rem; font-weight: 700; }
.cabinet-activation .rules-upfront ul{ margin: 0; padding-left: 1rem; }
.cabinet-activation .rules-upfront li{ margin: 0.18rem 0; }
.cabinet-activation .support-buttons{ display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0.9rem 0 0 3.2rem; }
.cabinet-activation .stage-actions{ margin: 0.9rem 0 0 3.2rem; }
@media (max-width: 36rem) {.cabinet-activation .support-buttons, .cabinet-activation .stage-actions{ margin-left: 0; }
}
.cabinet-activation .activation-card .notice{
    margin: 0 0 1.5rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--brand-accent);
    border-radius: 1.1rem;
    background: var(--brand-page);
    color: var(--brand-ink);
  }
@media (max-width: 36rem) {.cabinet-activation .step-body, .cabinet-activation .step[data-step="4"] .step-body{ margin-left: 0; }
}
.cabinet-activation .wait-track{ list-style: none; margin: 1rem 0 0 3.2rem; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.cabinet-activation .wait-track li{ display: flex; align-items: center; gap: 0.65rem; font-size: 0.86rem; color: var(--brand-ink); }
.cabinet-activation .wait-dot{ flex: none; box-sizing: border-box; width: 0.75rem; height: 0.75rem; border: 2px solid currentColor; border-radius: 50%; }
.cabinet-activation .wait-track li[data-state="done"]{ color: var(--brand-ink); }
.cabinet-activation .wait-track li[data-state="done"] .wait-dot{ border-color: var(--brand-ink); background: var(--brand-ink); }
.cabinet-activation .wait-track li[data-state="current"]{ color: var(--brand-ink); font-weight: 600; }
.cabinet-activation .wait-track li[data-state="current"] .wait-dot{ border-color: var(--brand-accent); background: var(--brand-accent); }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .wait-track li[data-state="current"] .wait-dot{ animation: none; }
}
.cabinet-activation .wait-elapsed{ margin: 0.75rem 0 0 3.2rem; font-size: 0.76rem; color: var(--brand-ink); }
.cabinet-activation .wait-tips{ box-sizing: border-box; margin: 1rem 0 0 3.2rem; padding: 0.85rem 1rem; border-radius: 1.1rem; background: var(--brand-page); font-size: 0.8rem; }
.cabinet-activation .wait-tips p{ margin: 0 0 0.3rem; font-weight: 700; }
.cabinet-activation .wait-tips ul, .cabinet-activation .wait-tips ol{ margin: 0; padding-left: 1rem; }
.cabinet-activation .wait-tips a{ color: inherit; }
.cabinet-activation .wait-tips li{ margin: 0.2rem 0; }
.cabinet-activation .step-body .wait-tips{ width: 100%; margin: 0; }
.cabinet-activation .wait-contact{ margin: 1rem 0 0 3.2rem; font-size: 0.82rem; color: var(--brand-ink); }
@media (max-width: 36rem) {.cabinet-activation .wait-contact{ margin-left: 0; }
}
.cabinet-activation .contact-field{ width: 100%; display: flex; flex-direction: column; gap: 0.35rem; }
.cabinet-activation .contact-field .field-label{ margin: 0; }
.cabinet-activation .field-optional{ font-weight: 400; color: var(--brand-ink); }
@media (max-width: 36rem) {.cabinet-activation .wait-track, .cabinet-activation .wait-elapsed, .cabinet-activation .wait-tips{ margin-left: 0; }
}
.cabinet-activation .verify-box{ box-sizing: border-box; margin: 1rem 0 0 3.2rem; padding: 1rem; border: 2px solid var(--brand-accent); border-radius: 1.1rem; background: var(--brand-page); }
.cabinet-activation .verify-title{ margin: 0 0 0.3rem; font-weight: 700; }
.cabinet-activation .verify-text{ margin: 0 0 0.85rem; font-size: 0.82rem; color: var(--brand-ink); }
.cabinet-activation .verify-button:disabled{ border-color: var(--brand-ink); background: var(--brand-page); color: var(--brand-ink); cursor: not-allowed; }
.cabinet-activation .verify-button[hidden]{ display: none; }
.cabinet-activation .verify-done .verify-title, .cabinet-activation .verify-done .verify-text{ display: none; }
.cabinet-activation .verify-done .verify-status{ margin: 0; }
.cabinet-activation .verify-status{ margin: 0.6rem 0 0; font-size: 0.82rem; }
.cabinet-activation .verify-status:empty{ display: none; }
.cabinet-activation .verify-left{ margin: 0.4rem 0 0; font-size: 0.76rem; color: var(--brand-ink); }
@media (max-width: 36rem) {.cabinet-activation .verify-box{ margin-left: 0; }
}
.cabinet-activation .status-icon-accent{ color: var(--brand-accent); }
.cabinet-activation .status-icon-calm{ color: var(--brand-ink); }
.cabinet-activation .status-icon-spin{ animation: status-spin 2.6s linear infinite; }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .status-icon-spin{ animation: none; }
}
@keyframes status-spin {
    to { transform: rotate(360deg); }
  }
.cabinet-activation .stage-icon{
    display: grid;
    flex: none;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: var(--brand-page);
  }
.cabinet-activation .stage-icon svg{ width: 1.4rem; height: 1.4rem; }
.cabinet-activation .stage-panel .notice{ margin: 0.9rem 0 0; }
.cabinet-activation{ --drawn-star: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><g stroke="%233971BB" stroke-width="4" stroke-linecap="round"><path d="M62.6 34.2 L3.2 32.5"/><path d="M62.4 34.1 L3.0 32.4"/><path d="M60.3 32.8 L0.9 31.0"/><path d="M51.6 53.6 L14.8 8.1"/><path d="M50.3 54.0 L13.5 8.5"/><path d="M50.5 55.0 L13.8 9.5"/><path d="M34.5 60.1 L28.2 6.4"/><path d="M36.0 57.9 L29.6 4.1"/><path d="M36.0 57.8 L29.7 4.0"/><path d="M11.1 51.4 L49.9 14.8"/><path d="M11.8 49.4 L50.5 12.9"/><path d="M14.1 51.4 L52.8 14.8"/></g></svg>'); }
.cabinet-activation .activation-shell{ position: relative; width: min(30rem, 100%); }
.cabinet-activation .activation-header{ margin: 0 0 1.6rem; padding: 0; min-height: 3rem; }
.cabinet-activation .activation-brand{ display: block; line-height: 0; }
.cabinet-activation .swagies-logo{ display: block; width: 8.75rem; height: auto; }
.cabinet-activation .activation-card{ padding: 0; border: 0; border-radius: 0; background: none; }
.cabinet-activation .order-date{ margin: 0.7rem 0 0.9rem; font-size: 0.8rem; font-weight: 600; color: var(--brand-ink); opacity: 0.6; }
.cabinet-activation .order-number{
    position: absolute;
    top: 0.45rem;
    right: 0;
    margin: 0;
    padding: 0.4rem 0.85rem;
    border: 2px solid var(--brand-ink);
    border-radius: 999px;
    background: var(--brand-page);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.2;
  }
.cabinet-activation .activation-card h1.activation-title{
    margin: 0 0 0.7rem;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
  }
.cabinet-activation .activation-title .accent-word{ display: inline; color: var(--brand-accent); }
.cabinet-activation .activation-lead{ margin: 0 0 1.2rem; font-size: 0.95rem; font-weight: 500; color: var(--brand-ink); }
.cabinet-activation .product-card{
    gap: 0.8rem;
    margin: 0 0 1.1rem;
    padding: 0.7rem 0.9rem;
    border: 2.5px solid var(--brand-ink);
    border-radius: 1.4rem;
    background: var(--brand-page);
  }
.cabinet-activation .product-card-icon{
    width: 3rem;
    height: 3rem;
    padding: 0.6rem;
    border-radius: 0.9rem;
    background: var(--brand-accent);
  }
.cabinet-activation .product-card-icon svg, .cabinet-activation .product-card-icon img{ filter: url(#brand-cream); }
.cabinet-activation .product-card-icon .icon-filter{ position: absolute; width: 0; height: 0; }
.cabinet-activation .product-card-name{ font-size: 1.1rem; font-weight: 800; letter-spacing: -0.01em; }
.cabinet-activation .product-card-subtitle{ font-size: 0.82rem; font-weight: 500; color: var(--brand-ink); }
.cabinet-activation .rules-upfront{
    margin: 0 0 1.1rem;
    padding: 0.9rem 1.1rem;
    border-radius: 1.3rem;
    background: var(--brand-butter);
    font-size: 0.85rem;
  }
.cabinet-activation .rules-upfront p, .cabinet-activation .step[data-step="4"] .rules p{ font-weight: 800; }
.cabinet-activation .stepper{ gap: 0.6rem; }
.cabinet-activation .step{
    position: relative;
    padding: 0.95rem 1.1rem;
    border: 2px dashed var(--brand-sage);
    border-radius: 1.5rem;
    background: var(--brand-page);
  }
.cabinet-activation .step[data-state="active"]{ border: 2px solid var(--brand-sage); background: var(--brand-sage); padding: 1.1rem 1.1rem 1.2rem; }
.cabinet-activation .step[data-state="done"]{ border: 2px solid var(--brand-sage); background: var(--brand-page); }
.cabinet-activation .step[data-state="active"]:not(.stage-panel)::after{
    content: "";
    position: absolute;
    top: 0.7rem;
    right: 0.8rem;
    width: 1.9rem;
    height: 1.9rem;
    background: var(--drawn-star) center / contain no-repeat;
    pointer-events: none;
  }
.cabinet-activation .step-badge{
    width: 2rem;
    height: 2rem;
    border: 2px solid var(--brand-sage);
    background: var(--brand-page);
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--brand-ink);
  }
.cabinet-activation .step[data-state="active"] .step-badge{ border-color: var(--brand-ink); color: var(--brand-ink); }
.cabinet-activation .step-badge-done{ border-color: var(--brand-accent); background: var(--brand-accent); color: var(--brand-page); }
.cabinet-activation .step-title-locked{ font-size: 1rem; font-weight: 700; color: var(--brand-ink); }
.cabinet-activation .step-heading h2{ margin: 0.2rem 2.2rem 0.35rem 0; font-size: 1.12rem; font-weight: 800; letter-spacing: -0.01em; }
.cabinet-activation .step-hint{ font-size: 0.9rem; font-weight: 500; line-height: 1.4; color: var(--brand-ink); }
.cabinet-activation .step-summary-text strong{ font-weight: 800; }
.cabinet-activation .step-summary-text span{ font-weight: 500; }
.cabinet-activation .step-substeps li{ font-size: 0.9rem; font-weight: 500; }
.cabinet-activation .step-note{ font-weight: 500; color: var(--brand-ink); }
.cabinet-activation .step-body{ gap: 0.7rem; }
.cabinet-activation .step-body textarea, .cabinet-activation .step-body .field-input{
    border: 2px solid var(--brand-ink);
    border-radius: 1.1rem;
    background: var(--brand-page);
    font-weight: 500;
  }
.cabinet-activation .step-body textarea:focus, .cabinet-activation .step-body .field-input:focus{
    border-color: var(--brand-accent);
    box-shadow: 0 0 0 2px var(--brand-accent);
  }
.cabinet-activation .step-body .field-label{ font-weight: 700; }
.cabinet-activation .step[data-step="4"] .rules{ background: var(--brand-page); border-radius: 1.1rem; }
.cabinet-activation .btn{
    min-height: 3.25rem;
    padding: 0.75rem 1.2rem;
    border: 2.5px solid var(--brand-ink);
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 700;
    transition: background-color 160ms ease, transform 120ms ease, box-shadow 120ms ease;
  }
.cabinet-activation .btn-outline{ justify-content: center; gap: 0.45rem; border-color: var(--brand-ink); background: var(--brand-page); }
.cabinet-activation .btn-outline:hover{ border-color: var(--brand-ink); background: var(--brand-butter); }
.cabinet-activation .btn-next, .cabinet-activation .btn-accent{
    width: 100%;
    justify-content: center;
    gap: 0.5rem;
    border: 2.5px solid var(--brand-ink);
    background: var(--brand-accent);
    color: var(--brand-page);
    box-shadow: 4px 4px 0 var(--brand-ink);
  }
.cabinet-activation .btn-next{ padding: 0.75rem 1.2rem; }
.cabinet-activation .btn-next-icon{ width: auto; height: auto; background: none; color: inherit; border-radius: 0; }
.cabinet-activation .btn-next-icon svg{ width: 1.1rem; height: 1.1rem; }
.cabinet-activation .btn-next:hover .btn-next-icon{ background: none; }
.cabinet-activation .btn-next:hover:not(:disabled), .cabinet-activation .btn-accent:hover:not(:disabled){ border-color: var(--brand-ink); background: var(--brand-accent); transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--brand-ink); }
.cabinet-activation .btn-next:active:not(:disabled), .cabinet-activation .btn-accent:active:not(:disabled){ transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--brand-ink); }
.cabinet-activation .btn-next:disabled, .cabinet-activation #activate-submit:disabled, .cabinet-activation .verify-button:disabled{
    border-color: var(--brand-sage);
    background: var(--brand-page);
    color: var(--brand-ink);
    box-shadow: none;
    cursor: not-allowed;
  }
.cabinet-activation .btn-next:disabled .btn-next-icon{ background: none; }
.cabinet-activation #activate-submit{ min-height: 3.5rem; font-size: 1.05rem; }
.cabinet-activation .step-tip{ margin: 0; padding: 0.75rem 1rem; border-radius: 1rem; background: var(--brand-butter); font-size: 0.86rem; font-weight: 600; line-height: 1.4; }
.cabinet-activation .step-substeps .step-substep-hint{ margin: 0; font-size: 0.8rem; font-weight: 500; }
.cabinet-activation .step-safe{ display: flex; align-items: center; gap: 0.4rem; }
.cabinet-activation .step-safe .step-lock-icon{ flex: none; width: 15px; height: 15px; }
.cabinet-activation .step-edit:hover{ background: var(--brand-sage); }
.cabinet-activation .activation-card .notice{
    border: 2px solid var(--brand-pink);
    border-radius: 1.2rem;
    background: var(--brand-pink);
    font-weight: 500;
  }
.cabinet-activation .step.stage-panel{ padding: 1.2rem 1.15rem 1.3rem; border: 2.5px solid var(--brand-ink); background: var(--brand-page); }
.cabinet-activation .stage-icon{ background: var(--brand-page); }
.cabinet-activation .stage-art{ display: grid; place-items: center; margin: 0 0 0.9rem; }
.cabinet-activation .stage-art ~ .step-head .stage-icon{ display: none; }
.cabinet-activation .stage-art-mascot img{ display: block; width: min(15rem, 80%); height: auto; }
.cabinet-activation .wait-mascot{ width: min(15rem, 80%); aspect-ratio: 240 / 181; }
.cabinet-activation .wait-mascot video{ display: block; width: 100%; height: 100%; object-fit: contain; }
.cabinet-activation .stage-art-circle{
    position: relative;
    display: grid;
    place-items: center;
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    
    box-sizing: border-box;
    border: 2.5px solid var(--brand-ink);
    background: var(--brand-page);
    color: var(--brand-ink);
  }
.cabinet-activation .done-clip{ position: absolute; inset: 0; overflow: hidden; border-radius: 50%; }
.cabinet-activation .done-scene{ display: block; width: 100%; height: 100%; overflow: visible; }
.cabinet-activation .done-key{ transform-box: view-box; transform-origin: 0 0; transform: translate(100px, 110.5px) scale(0.35); }
.cabinet-activation .done-lock{ transform-box: view-box; transform-origin: 100px 124px; opacity: 0; }
.cabinet-activation .done-shackle{ transform-box: view-box; }
.cabinet-activation .stage-art-done .done-key{ animation: done-key 2.4s both; }
.cabinet-activation .stage-art-done .done-lock{ animation: done-lock 2.4s both; }
.cabinet-activation .stage-art-done .done-shackle{ animation: done-shackle 2.4s both; }
.cabinet-activation .stage-art-done .stage-art-check{ animation: done-check 0.45s 1.3s both; }
@keyframes done-key {
    0% { transform: translate(-70px, 117px) rotate(90deg) scale(0.3); animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); }
    22% { transform: translate(46px, 117px) rotate(90deg) scale(0.3); animation-timing-function: ease-in-out; }
    28% { transform: translate(46px, 117px) rotate(90deg) scale(0.08, 0.3); animation-timing-function: ease-in-out; }
    34% { transform: translate(46px, 117px) rotate(90deg) scale(0.3); }
    58% { transform: translate(46px, 117px) rotate(90deg) scale(0.3); animation-timing-function: cubic-bezier(0.34, 1.4, 0.64, 1); }
    84% { transform: translate(100px, 110.5px) rotate(0deg) scale(0.35); }
    100% { transform: translate(100px, 110.5px) rotate(0deg) scale(0.35); }
  }
@keyframes done-shackle {
    0%, 34% { transform: none; animation-timing-function: cubic-bezier(0.34, 1.8, 0.64, 1); }
    41%, 100% { transform: translateY(-15px); }
  }
@keyframes done-lock {
    0%, 42% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.5, 0, 0.9, 0.4); }
    58% { opacity: 1; transform: translate(10px, 150px) rotate(22deg); }
    59%, 100% { opacity: 0; transform: translate(10px, 150px) rotate(22deg); }
  }
@keyframes done-check {
    0% { transform: scale(0); animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1); }
    100% { transform: scale(1); }
  }
.cabinet-activation .done-spark{ position: absolute; left: 50%; top: 50%; z-index: 2; width: 11.4rem; height: 11.4rem; margin: -5.7rem 0 0 -5.7rem; overflow: visible; pointer-events: none; opacity: 0; }
.cabinet-activation .stage-art-done .done-spark{ animation: done-orbit 1.25s 0.15s cubic-bezier(0.45, 0, 0.25, 1) both, done-spark-fade 1.25s 0.15s linear both; }
.cabinet-activation .done-spark-trail{ stroke-dasharray: 0 100; stroke-dashoffset: 0; }
.cabinet-activation .stage-art-done .done-spark-trail{ animation: done-trail 1.25s 0.15s ease-in-out both; }
.cabinet-activation .done-spark-star{ transform-box: fill-box; transform-origin: center; }
.cabinet-activation .stage-art-done .done-spark-star{ animation: done-twinkle 1.25s 0.15s ease-in-out both; }
@keyframes done-orbit { from { transform: rotate(-90deg); } to { transform: rotate(402deg); } }
@keyframes done-spark-fade { 0% { opacity: 0; } 8%, 90% { opacity: 1; } 100% { opacity: 0; } }
@keyframes done-trail {
    0% { stroke-dasharray: 0 100; stroke-dashoffset: 0; }
    45% { stroke-dasharray: 24 100; stroke-dashoffset: 48; }
    85%, 100% { stroke-dasharray: 0 100; stroke-dashoffset: 0; }
  }
@keyframes done-twinkle {
    0% { transform: scale(0.2) rotate(0deg); fill: #FCFCEE; }
    15% { transform: scale(1.25) rotate(45deg); }
    35% { transform: scale(0.85) rotate(90deg); }
    55% { transform: scale(1.2) rotate(135deg); }
    76% { transform: scale(1) rotate(180deg); fill: #FCFCEE; }
    92%, 100% { transform: translate(-9.5px, 0) scale(1.9) rotate(225deg); fill: #3971BB; }
  }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .stage-art-done .done-key, .cabinet-activation .stage-art-done .done-lock, .cabinet-activation .stage-art-done .done-shackle, .cabinet-activation .stage-art-done .stage-art-check{ animation: none; }
.cabinet-activation .done-spark{ display: none; }
}
.cabinet-activation .stage-art-check{
    position: absolute;
    right: 0;
    bottom: 0.35rem;
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    border: 3px solid var(--brand-page);
    border-radius: 50%;
    background: var(--brand-accent);
    color: var(--brand-page);
  }
.cabinet-activation .stage-art-check svg{ width: 1.6rem; height: 1.6rem; }
.cabinet-activation .stage-art + .step-head{ text-align: center; }
.cabinet-activation .stage-art-loader{ margin: 0.4rem 0 1.1rem; }
.cabinet-activation .stage-art-loader .key-loader{ width: 4.6rem; height: 4.6rem; margin: 0; }
.cabinet-activation .wait-keep-open{
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 1rem 0 0;
    padding: 0.9rem 1.1rem;
    border-radius: 1.2rem;
    background: var(--brand-butter);
    text-align: center;
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.4;
  }
.cabinet-activation .wait-keep-open strong{ font-size: 0.95rem; font-weight: 800; }
.cabinet-activation .stage-art + .step-head .step-heading h2{ margin-right: 0; font-size: 1.3rem; }
.cabinet-activation .stage-actions{ margin-left: 0; }
.cabinet-activation .revisit{ display: grid; gap: 1rem; }
.cabinet-activation .revisit .revisit-dates{ margin: 0; padding: 0.85rem 1rem; border-radius: 1rem; background: var(--brand-sage); font-size: 0.9rem; font-weight: 600; line-height: 1.5; }
.cabinet-activation .revisit .stage-actions{ margin: 0; }
.cabinet-activation .revisit .stage-actions .btn-outline{ width: 100%; }
.cabinet-activation .stage-actions .btn-outline{ border-color: var(--brand-ink); background: var(--brand-accent); color: var(--brand-page); box-shadow: 4px 4px 0 var(--brand-ink); }
.cabinet-activation .stage-actions .btn-outline:hover{ background: var(--brand-accent); transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--brand-ink); }
.cabinet-activation .thanks-note{
    position: relative;
    margin: 1rem 0 0;
    padding: 1rem 1.1rem 1rem 3.2rem;
    border-radius: 1.3rem;
    background: var(--brand-sage);
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.4;
  }
.cabinet-activation .thanks-note strong{ display: block; margin-bottom: 0.4rem; font-size: 1rem; font-weight: 800; line-height: 1.3; }
.cabinet-activation .thanks-note p{ margin: 0; }
.cabinet-activation .thanks-note p + p{ margin-top: 0.3rem; }
.cabinet-activation .thanks-note .drawn-star{ position: absolute; left: 0.85rem; top: 0.85rem; width: 1.8rem; height: 1.8rem; color: var(--brand-ink); }
.cabinet-activation .guide-card{
    display: flex;
    gap: 1rem;
    align-items: center;
    margin: 1rem 0 0;
    padding: 1rem 1.1rem;
    border-radius: 1.3rem;
    background: var(--brand-butter);
  }
.cabinet-activation .guide-cover{
    flex: none;
    width: 4.6rem;
    height: auto;
    border: 2px solid var(--brand-ink);
    border-radius: 0.55rem;
    box-shadow: 3px 3px 0 var(--brand-ink);
    transform: rotate(-4deg);
  }
.cabinet-activation .guide-body{ display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 0.3rem; }
.cabinet-activation .guide-tag{ padding: 0.15rem 0.6rem; border-radius: 999px; background: var(--brand-pink); font-size: 0.72rem; font-weight: 700; }
.cabinet-activation .guide-body strong{ font-size: 0.98rem; font-weight: 800; line-height: 1.25; }
.cabinet-activation .guide-meta{ font-size: 0.82rem; font-weight: 500; line-height: 1.35; }
.cabinet-activation .guide-card .btn-outline{ align-self: stretch; width: auto; min-height: 2.6rem; margin-top: 0.35rem; padding: 0.45rem 1rem; font-size: 0.9rem; box-shadow: 3px 3px 0 var(--brand-ink); }
.cabinet-activation .guide-card .btn-outline:hover{ background: var(--brand-sage); }
.cabinet-activation .revisit-review{ padding: 0.7rem; border-radius: 1.3rem; background: var(--brand-sage); }
.cabinet-activation .promo-offer{ display: flex; flex-direction: column; align-items: flex-start; gap: 0.3rem; margin: 0; padding: 1rem 1.1rem; border-radius: 1.3rem; background: var(--brand-pink); }
.cabinet-activation .promo-offer > strong{ font-size: 0.98rem; font-weight: 800; line-height: 1.25; }
.cabinet-activation .promo-offer .btn-outline{ align-self: stretch; width: auto; min-height: 2.6rem; margin-top: 0.35rem; padding: 0.45rem 1rem; font-size: 0.9rem; box-shadow: 3px 3px 0 var(--brand-ink); }
.cabinet-activation .promo-offer .promo-offer-code{ display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; margin-top: 0.2rem; }
.cabinet-activation .promo-offer .promo-offer-code code{ padding: 0.35rem 0.7rem; border: 2px dashed var(--brand-ink); border-radius: 0.7rem; background: #fff; font: 700 1rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.04em; }
.cabinet-activation .promo-offer .promo-offer-code .btn-outline{ margin: 0; align-self: auto; }
.cabinet-activation .promo-code-chip{ display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.4rem 0.55rem 0.4rem 0.8rem; border: 0; border-radius: 0.75rem; background: #fff; color: #34361B; font: inherit; cursor: pointer; transition: background-color 140ms ease; }
.cabinet-activation .promo-code-chip code{ font: 600 0.95rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.05em; }
.cabinet-activation .promo-code-chip svg{ flex: none; width: 1rem; height: 1rem; color: #7A7C62; }
.cabinet-activation .promo-code-chip .pc-check{ display: none; color: #3971BB; }
.cabinet-activation .promo-code-chip.is-copied .pc-copy{ display: none; }
.cabinet-activation .promo-code-chip.is-copied .pc-check{ display: block; }
@media (hover: hover) {.cabinet-activation .promo-code-chip:hover{ background: #EEF3FA; }
}
.cabinet-activation .promo-code-chip:focus-visible{ outline: 2px solid #3971BB; outline-offset: 2px; }
.cabinet-activation .promo-offer-status:empty{ display: none; }
.cabinet-activation .promo-offer-status{ font-size: 0.84rem; font-weight: 600; }
.cabinet-activation .remind-card{ display: flex; flex-direction: column; align-items: flex-start; gap: 0.3rem; margin: 0; padding: 1rem 1.1rem; border-radius: 1.3rem; background: var(--brand-butter); }
.cabinet-activation .remind-card strong{ font-size: 0.98rem; font-weight: 800; line-height: 1.25; }
.cabinet-activation .remind-card .btn-outline{ align-self: stretch; width: auto; min-height: 2.6rem; margin-top: 0.35rem; padding: 0.45rem 1rem; font-size: 0.9rem; box-shadow: 3px 3px 0 var(--brand-ink); }
.cabinet-activation .remind-card .btn-outline:hover{ background: var(--brand-sage); }
.cabinet-activation .wait-tips{ border-radius: 1.2rem; background: var(--brand-butter); font-weight: 500; }
.cabinet-activation .wait-tips p{ font-weight: 800; }
.cabinet-activation .wait-contact{ font-weight: 500; }
.cabinet-activation .wait-track{ position: relative; flex-direction: row; gap: 0.35rem; margin-top: 1.2rem; }
.cabinet-activation .wait-track::before{
    content: "";
    position: absolute;
    top: calc(1.2rem - 1.25px);
    left: 16.7%;
    right: 16.7%;
    height: 2.5px;
    border-radius: 999px;
    background: var(--brand-sage);
  }
.cabinet-activation .wait-track li{ position: relative; flex: 1; flex-direction: column; align-items: center; gap: 0.45rem; font-size: 0.74rem; font-weight: 700; line-height: 1.2; text-align: center; }
.cabinet-activation .wait-dot{ position: relative; width: 2.4rem; height: 2.4rem; border: 2.5px dashed var(--brand-sage); border-radius: 50%; background: var(--brand-page); }
.cabinet-activation .wait-track li[data-state="done"] .wait-dot{ border: 2.5px solid var(--brand-ink); background: var(--brand-accent) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M11%2021l6%206%2012-14%22%20fill%3D%22none%22%20stroke%3D%22%23FCFCEE%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center / 70% no-repeat; }
.cabinet-activation .wait-track li[data-state="current"]{ font-weight: 800; }
.cabinet-activation .wait-track li[data-state="current"] .wait-dot{ border: 0; }
.cabinet-activation .wait-track li[data-state="next"]{ color: var(--brand-ink); }
.cabinet-activation .wait-elapsed:not([hidden]){ display: flex; flex-direction: column; align-items: center; gap: 0.15rem; margin: 1.3rem 0 0.2rem; }
.cabinet-activation .wt-label{ font-size: 0.85rem; font-weight: 700; }
.cabinet-activation .wt-digits{ display: inline-flex; align-items: baseline; font-size: 2.6rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.cabinet-activation .wt-slot{ position: relative; display: inline-block; width: 0.62em; height: 1.1em; overflow: hidden; text-align: center; }
.cabinet-activation .wt-sep{ display: inline-block; width: 0.32em; text-align: center; }
.cabinet-activation .wt-glyph{ display: block; }
.cabinet-activation .wt-glyph-in{ animation: wt-in 420ms cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes wt-in { from { transform: translateY(-70%); opacity: 0; } to { transform: none; opacity: 1; } }
.cabinet-activation .wait-elapsed .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .wt-glyph-in{ animation: none; }
}
.cabinet-activation .stage-panel .verify-box, .cabinet-activation .stage-panel .wait-track, .cabinet-activation .stage-panel .wait-elapsed, .cabinet-activation .stage-panel .wait-tips, .cabinet-activation .stage-panel .wait-contact{ margin-left: 0; }
.cabinet-activation .verify-box{ padding: 1.1rem 1.1rem 1rem; border: 2.5px solid var(--brand-accent); border-radius: 1.3rem; background: var(--brand-page); text-align: left; }
.cabinet-activation .verify-title{ font-size: 1.05rem; font-weight: 800; }
.cabinet-activation .step-error{ padding: 0.55rem 0.8rem; border-radius: 0.9rem; background: var(--brand-pink); font-weight: 500; }
.cabinet-activation .verify-text{ font-weight: 500; }
.cabinet-activation .verify-button{ margin-top: 0.2rem; }
.cabinet-activation .verify-left{ font-weight: 500; text-align: center; }
.cabinet-activation .verify-late{ margin: 0.7rem 0 0; font-size: 0.78rem; font-weight: 500; line-height: 1.4; text-align: center; }
.cabinet-activation .verify-done .verify-late{ display: none; }
.cabinet-activation .verify-status{ font-weight: 500; }
.cabinet-activation .verify-done{ border-color: var(--brand-sage); background: var(--brand-sage); }
.cabinet-activation .stage-art-mascot img{ animation: mascot-bob 2.4s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes mascot-bob {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-6px) rotate(-1.5deg); }
  }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .stage-art-mascot img{ animation: none; }
}
.cabinet-activation .key-loader, .cabinet-activation .wait-track li[data-state="current"] .wait-dot{
    position: relative;
    display: block;
    border: 2.5px solid var(--brand-ink);
    border-radius: 50%;
    background: var(--brand-sage);
  }
.cabinet-activation .key-loader{ width: 3.6rem; height: 3.6rem; margin: 1.3rem auto 0.3rem; }
.cabinet-activation .key-loader::before, .cabinet-activation .wait-track li[data-state="current"] .wait-dot::before{
    content: "";
    position: absolute;
    inset: -8px;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%2221.5%22%20fill%3D%22none%22%20stroke%3D%22%23CBD69B%22%20stroke-width%3D%223%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%2221.5%22%20fill%3D%22none%22%20stroke%3D%22%233971BB%22%20stroke-width%3D%223.5%22%20stroke-linecap%3D%22round%22%20pathLength%3D%22100%22%20stroke-dasharray%3D%2226%2074%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
    animation: key-ring 1.3s linear infinite;
  }
.cabinet-activation .key-loader::after, .cabinet-activation .wait-track li[data-state="current"] .wait-dot::after{
    content: "";
    position: absolute;
    inset: 3%;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-200%20-170%20400%20400%22%3E%3Cg%20transform%3D%22translate(0%2030)%22%20fill%3D%22%233971BB%22%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(60)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(120)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(180)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(240)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(300)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-196%22%20width%3D%2252%22%20height%3D%22196%22%20rx%3D%2226%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%22-176%22%20width%3D%2258%22%20height%3D%2230%22%20rx%3D%229%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%22-134%22%20width%3D%2244%22%20height%3D%2228%22%20rx%3D%229%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
    animation: key-tick 4.8s infinite;
  }
.cabinet-activation .wait-track li[data-state="current"] .wait-dot::before{ inset: -7px; }
.cabinet-activation .wait-track li[data-state="current"] .wait-dot::after{ inset: 2%; }
@keyframes key-ring { to { transform: rotate(360deg); } }
@keyframes key-tick {
    0.00% { transform: rotate(0deg); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
    6.67% { transform: rotate(60deg); }
    16.67% { transform: rotate(60deg); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
    23.33% { transform: rotate(120deg); }
    33.33% { transform: rotate(120deg); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
    40.00% { transform: rotate(180deg); }
    50.00% { transform: rotate(180deg); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
    56.67% { transform: rotate(240deg); }
    66.67% { transform: rotate(240deg); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
    73.33% { transform: rotate(300deg); }
    83.33% { transform: rotate(300deg); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
    90.00% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
  }
.cabinet-activation form[data-sending="1"] #activate-submit, .cabinet-activation form[data-sending="1"] #activate-submit:disabled{
    border-color: var(--brand-ink);
    background: repeating-linear-gradient(-45deg, var(--brand-accent) 0 12px, var(--brand-sage) 12px 24px);
    background-size: 33.94px 33.94px;
    color: transparent;
    box-shadow: 4px 4px 0 var(--brand-ink);
    cursor: progress;
    animation: send-stripes 0.7s linear infinite;
  }
@keyframes send-stripes { to { background-position: 33.94px 0; } }
.cabinet-activation .verify-done .verify-status{ display: flex; align-items: center; gap: 0.6rem; }
.cabinet-activation .verify-done .verify-status::before{ content: ""; width: 1.35rem; height: 1.35rem; flex: none; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-200%20-170%20400%20400%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2230%22%20r%3D%22186%22%20fill%3D%22%23CBD69B%22%20stroke%3D%22%2334361B%22%20stroke-width%3D%2222%22%2F%3E%3Cg%20transform%3D%22translate(0%2030)%20scale(0.62)%22%20fill%3D%22%233971BB%22%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(60)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(120)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(180)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(240)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-130%22%20width%3D%2252%22%20height%3D%22130%22%20rx%3D%2226%22%20transform%3D%22rotate(300)%22%2F%3E%3Crect%20x%3D%22-26%22%20y%3D%22-196%22%20width%3D%2252%22%20height%3D%22196%22%20rx%3D%2226%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%22-176%22%20width%3D%2258%22%20height%3D%2230%22%20rx%3D%229%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%22-134%22%20width%3D%2244%22%20height%3D%2228%22%20rx%3D%229%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat; animation: key-tick 4.8s infinite; }
@media (prefers-reduced-motion: reduce) {.cabinet-activation .key-loader::before, .cabinet-activation .key-loader::after, .cabinet-activation .wait-dot::before, .cabinet-activation .wait-dot::after, .cabinet-activation #activate-submit, .cabinet-activation .verify-status::before{ animation: none; }
}
.cabinet-activation .support-buttons .btn{ width: auto; flex: 1 1 12rem; }
.cabinet-activation .support-widget{
    border: 0;
    background: var(--brand-ink);
    color: var(--brand-page);
  }
.cabinet-activation .support-widget-label{ color: var(--brand-page); font-weight: 700; opacity: 1; }
.cabinet-activation .support-widget-link{ border: 0; background: var(--brand-page); color: var(--brand-ink); }
.cabinet-activation .support-widget-link:hover{ border: 0; background: var(--brand-butter); }
.cabinet-activation .support-widget-link:focus-visible{ outline-color: var(--brand-butter); }
.cabinet-activation .support-widget.support-widget-fixed.support-widget-bottom{
    left: auto;
    right: 12px;
    bottom: 14px;
    padding: 0.4rem 0.45rem 0.4rem 1rem;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
  }
.cabinet-activation .support-widget-bottom .support-widget-label{ font-size: 0.85rem; font-weight: 800; }
@media (max-width: 36rem) {.cabinet-activation .activation-header{ margin-bottom: 1.3rem; }
.cabinet-activation .swagies-logo{ width: 8rem; }
.cabinet-activation .order-number{ top: 0.35rem; }
.cabinet-activation .activation-card h1.activation-title{ font-size: 1.85rem; }
}
.cabinet-activation .thanks-note:has(.review-form){ padding-left: 1.1rem; }
.cabinet-activation .thanks-note:has(.review-form) > strong, .cabinet-activation .thanks-note:has(.review-form) > p{ padding-left: 2.1rem; }
.cabinet-activation .review-form{ margin-top: .9rem; text-align: left; }
.cabinet-activation .review-form fieldset{ min-width: 0; margin: 0; padding: 0; border: 0; }
.cabinet-activation .review-form legend{ padding: 0; margin-bottom: .4rem; font-size: .86rem; font-weight: 600; }
.cabinet-activation .review-rating-stars{ display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .2rem; max-width: 16rem; }
.cabinet-activation .review-form .review-rating-star{ position: relative; display: grid; place-items: center; min-width: 0; width: 100%; height: 2.8rem; border-radius: .6rem; color: #F3DDE2; cursor: pointer; }
.cabinet-activation .review-rating-star .rating-heart{ max-width: 100%; width: 2.4rem; height: 2.4rem; transition: color 160ms ease, transform 180ms cubic-bezier(.16,1,.3,1); }
.cabinet-activation .review-rating-star.filled{ color: #F29BB0; }
.cabinet-activation .review-rating-star:hover .rating-heart{ transform: scale(1.08); }
.cabinet-activation .review-form :is(.review-rating-star,.review-chip) input{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; }
.cabinet-activation .review-rating-star:has(input:focus-visible){ outline: 2px solid #3971BB; outline-offset: 2px; }
.cabinet-activation .review-details{ margin-top: .8rem; }
.cabinet-activation .review-details[hidden], .cabinet-activation .review-improve[hidden]{ display: none; }
.cabinet-activation .review-form .review-badges{ margin-bottom: .85rem; }
.cabinet-activation .review-chips{ display: flex; flex-wrap: wrap; gap: .4rem; }
.cabinet-activation .review-chip{ position: relative; cursor: pointer; }
.cabinet-activation .review-chip span{ display: block; padding: .4rem .65rem; border: 1px solid #C8D29F; border-radius: 999px; background: #F6F8EC; color: #424A2E; font-size: .78rem; line-height: 1.35; }
.cabinet-activation .review-chip:has(input:checked) span{ border-color: #3971BB; background: #EEF3FA; color: #2F63A8; }
.cabinet-activation .review-chip:has(input:focus-visible) span{ outline: 2px solid #3971BB; outline-offset: 2px; }
.cabinet-activation .review-text-label{ display: block; font-size: .86rem; font-weight: 500; line-height: 1.4; }
.cabinet-activation .review-text-label > span{ color: #59623F; font-size: .78rem; font-weight: 400; }
.cabinet-activation .review-form .review-text-label textarea{ display: block; width: 100%; min-height: 5.5rem; max-height: 12rem; margin: .45rem 0 0; padding: .7rem .8rem; border: 1px solid #BCC99A; border-radius: .8rem; background: #FCFDF8; color: #34361B; font: inherit; font-size: .86rem; line-height: 1.45; resize: vertical; box-shadow: none; }
.cabinet-activation .review-form textarea:focus{ outline: 2px solid #3971BB; outline-offset: 2px; }
.cabinet-activation .review-form textarea::placeholder{ color: #68734E; }
.cabinet-activation .review-text-meta{ display: flex; justify-content: flex-end; gap: .75rem; margin: .4rem 0 .8rem; color: #59623F; font-size: .7rem; line-height: 1.4; }
.cabinet-activation .review-counter{ flex: none; font-variant-numeric: tabular-nums; }
.cabinet-activation .review-submit{ width: 100%; padding: .7rem 1rem; border: 0; border-radius: .8rem; background: #3971BB; color: #FCFCEE; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.cabinet-activation .review-submit:hover:not(:disabled){ background: #2F63A8; }
.cabinet-activation .review-submit:focus-visible{ outline: 2px solid #3971BB; outline-offset: 3px; }
.cabinet-activation .review-submit:disabled{ opacity: .6; cursor: wait; }
.cabinet-activation .review-form-status{ margin: .55rem 0 0; font-size: .84rem; line-height: 1.4; }
.cabinet-activation .review-form-status:empty{ display: none; }
.cabinet-activation .review-form[data-saved] .review-rating-star{ cursor: default; }
.cabinet-activation .review-brand-stars{ display: inline-flex; gap: .1rem; }
.cabinet-activation .review-brand-stars .rating-heart{ display: block; width: 1.2rem; height: 1.2rem; }
.cabinet-activation .review-brand-stars > span{ color: #F3DDE2; }
.cabinet-activation .review-brand-stars > .filled{ color: #F29BB0; }
.cabinet-activation .review-profanity{ display: inline-block; user-select: none; }
.cabinet-activation .review-profanity > span{ filter: blur(4px); pointer-events: none; }
@media (prefers-reduced-motion:reduce) {.cabinet-activation .review-rating-star .rating-heart{ transition: none; }
}
.cabinet-activation .review-edit, .cabinet-activation .review-cancel{ margin-top: .6rem; padding: .5rem 1rem; border: 2px solid #34361B; border-radius: 999px; background: #fff; color: #34361B; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.cabinet-activation .review-cancel{ width: 100%; margin-top: .9rem; }
.cabinet-activation .review-edit[hidden], .cabinet-activation .review-cancel[hidden]{ display: none; }
.cabinet-activation .profile-review-edit{ margin-top: .7rem; padding: .45rem 1rem; border: 2px solid #34361B; border-radius: 999px; background: #fff; color: #34361B; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.cabinet-activation .profile-review .review-form{ display: none; margin-top: .8rem; }
.cabinet-activation .profile-review.is-editing > :not(header):not(.review-form){ display: none; }
.cabinet-activation .profile-review.is-editing .review-form{ display: block; }
.cabinet-activation .profile-review .review-form[data-saved] .review-rating{ display: none; }
.cabinet-activation .revisit-review .review-form, .cabinet-activation .product-review-card .review-form{ display: grid; gap: .6rem; margin: 0; }
.cabinet-activation .revisit-review .review-form > fieldset, .cabinet-activation .product-review-card .review-form > fieldset, .cabinet-activation .revisit-review .review-details > fieldset, .cabinet-activation .product-review-card .review-details > fieldset, .cabinet-activation .revisit-review .review-details > .review-fold > fieldset, .cabinet-activation .product-review-card .review-details > .review-fold > fieldset, .cabinet-activation .revisit-review .review-text-label, .cabinet-activation .product-review-card .review-text-label{ box-sizing: border-box; padding: .9rem 1rem; border-radius: 1.1rem; background: #fff; }
.cabinet-activation .revisit-review .review-details, .cabinet-activation .product-review-card .review-details{ display: grid; gap: .6rem; margin: 0; }
.cabinet-activation .revisit-review .review-details[hidden], .cabinet-activation .product-review-card .review-details[hidden], .cabinet-activation .revisit-review .review-improve[hidden], .cabinet-activation .product-review-card .review-improve[hidden]{ display: none; }
.cabinet-activation .revisit-review legend, .cabinet-activation .product-review-card legend{ float: left; width: 100%; margin-bottom: .6rem; font-size: .92rem; font-weight: 800; }
.cabinet-activation .revisit-review :is(.review-chips,.review-rating-stars), .cabinet-activation .product-review-card :is(.review-chips,.review-rating-stars){ clear: both; }
.cabinet-activation .revisit-review .review-form .review-rating-stars, .cabinet-activation .product-review-card .review-form .review-rating-stars{ max-width: none; gap: .3rem; }
.cabinet-activation .revisit-review .review-form .review-rating-star, .cabinet-activation .product-review-card .review-form .review-rating-star{ height: 3rem; }
.cabinet-activation .revisit-review .review-form legend, .cabinet-activation .product-review-card .review-form legend{ font-size: .92rem; font-weight: 800; }
.cabinet-activation .revisit-review .review-text-label, .cabinet-activation .product-review-card .review-text-label{ font-size: .92rem; font-weight: 500; line-height: 1.4; }
.cabinet-activation .revisit-review .review-text-label > span, .cabinet-activation .product-review-card .review-text-label > span{ font-size: .8rem; font-weight: 500; }
.cabinet-activation .revisit-review .review-form .review-text-label textarea, .cabinet-activation .product-review-card .review-form .review-text-label textarea{ margin-top: .6rem; border-color: #E4E6D2; background: #FCFCEE; }
.cabinet-activation .revisit-review .review-text-meta, .cabinet-activation .product-review-card .review-text-meta{ margin: -.1rem .2rem 0; }
.cabinet-activation .revisit-review .review-submit, .cabinet-activation .product-review-card .review-submit{ min-height: 3.1rem; border: 2.5px solid #34361B; border-radius: 999px; box-shadow: 4px 4px 0 #34361B; font-size: 1rem; font-weight: 700; transition: transform 120ms ease, box-shadow 120ms ease; }
.cabinet-activation .revisit-review .review-submit:hover:not(:disabled), .cabinet-activation .product-review-card .review-submit:hover:not(:disabled){ background: #3971BB; transform: translate(-1px,-1px); box-shadow: 5px 5px 0 #34361B; }
.cabinet-activation .revisit-review .review-submit:active:not(:disabled), .cabinet-activation .product-review-card .review-submit:active:not(:disabled){ transform: translate(3px,3px); box-shadow: 1px 1px 0 #34361B; }
.cabinet-activation .revisit-review .review-form-status, .cabinet-activation .product-review-card .review-form-status{ margin: 0 .2rem; font-weight: 600; }
.cabinet-activation .review-form .review-submit, .cabinet-activation .revisit-review .review-submit, .cabinet-activation .product-review-card .review-submit{ min-height: 2.9rem; border: 0; border-radius: .85rem; box-shadow: none; background: #3971BB; font-size: .95rem; font-weight: 700; transform: none; }
.cabinet-activation .review-form .review-submit:hover:not(:disabled), .cabinet-activation .revisit-review .review-submit:hover:not(:disabled), .cabinet-activation .product-review-card .review-submit:hover:not(:disabled){ background: #2E5E9D; transform: none; box-shadow: none; }
.cabinet-activation .review-form .review-submit:active:not(:disabled), .cabinet-activation .revisit-review .review-submit:active:not(:disabled), .cabinet-activation .product-review-card .review-submit:active:not(:disabled){ transform: none; box-shadow: none; }
.cabinet-activation .review-edit, .cabinet-activation .review-cancel, .cabinet-activation .profile-review-edit{ min-height: 2.75rem; border: 0; border-radius: .85rem; background: #F5F5F5; color: #34361B; font-size: .9rem; font-weight: 700; }
@media (hover: hover) {.cabinet-activation .review-edit:hover, .cabinet-activation .review-cancel:hover, .cabinet-activation .profile-review-edit:hover{ background: #E6ECCB; }
}
.cabinet-activation .profile-review{ padding: .9rem 1rem; border-radius: 1.1rem; background: #EEF3FA; }
.cabinet-activation .profile-review.is-editing > header .review-brand-stars{ display: none; }
.cabinet-activation .profile-review .review-form{ display: none; flex-wrap: wrap; align-items: center; gap: .7rem .6rem; margin-top: .7rem; }
.cabinet-activation .profile-review.is-editing .review-form{ display: flex; }
.cabinet-activation .profile-review .review-form > fieldset, .cabinet-activation .profile-review .review-form > .review-details, .cabinet-activation .profile-review .review-form > .review-text-label, .cabinet-activation .profile-review .review-form > .review-text-meta, .cabinet-activation .profile-review .review-form > .review-form-status{ flex: 1 1 100%; margin: 0; }
.cabinet-activation .profile-review .review-details{ display: grid; gap: .7rem; margin: 0; }
.cabinet-activation .profile-review .review-details[hidden]{ display: none; }
.cabinet-activation .profile-review .review-form legend{ margin-bottom: .35rem; font-size: .85rem; font-weight: 700; }
.cabinet-activation .profile-review .review-rating-stars{ max-width: 11rem; gap: .1rem; }
.cabinet-activation .profile-review .review-form .review-rating-star{ height: 2.1rem; }
.cabinet-activation .profile-review .review-rating-star .rating-heart{ width: 1.6rem; height: 1.6rem; }
.cabinet-activation .profile-review .review-chips{ gap: .35rem; }
.cabinet-activation .profile-review .review-chip span{ padding: .3rem .65rem; border: 0; background: #fff; color: #34361B; font-size: .78rem; }
.cabinet-activation .profile-review .review-chip:has(input:checked) span{ background: #fff; color: #2F63A8; box-shadow: inset 0 0 0 1.5px #3971BB; }
.cabinet-activation .profile-review .review-text-label{ font-size: .85rem; font-weight: 500; line-height: 1.4; }
.cabinet-activation .profile-review .review-text-label > span{ font-weight: 500; }
.cabinet-activation .profile-review .review-form .review-text-label textarea{ min-height: 4.2rem; max-height: 9rem; margin-top: .4rem; padding: .6rem .8rem; border: 0; border-radius: .85rem; background: #fff; font-size: .85rem; }
.cabinet-activation .profile-review .review-form .review-text-label textarea:focus{ outline: 2px solid #3971BB; outline-offset: 0; }
.cabinet-activation .profile-review .review-text-meta{ margin: 0; }
.cabinet-activation .profile-review .review-form .review-submit, .cabinet-activation .profile-review .review-form .review-cancel{ flex: none; width: auto; min-height: 2.6rem; margin: 0; padding: 0 1.2rem; font-size: .9rem; }
.cabinet-activation .profile-review .review-form .review-cancel{ background: #fff; }
.cabinet-activation .profile-review .review-edit{ background: #fff; }
.cabinet-activation .review-form .review-text-label textarea, .cabinet-activation .review-form .review-text-label textarea::placeholder{ font-weight: 400; }
.cabinet-activation .profile-review{ position: relative; }
.cabinet-activation .profile-review-open{ position: absolute; inset: 0; z-index: 0; width: 100%; padding: 0; border: 0; border-radius: 1.1rem; background: none; cursor: pointer; }
.cabinet-activation .profile-review-open:focus-visible{ outline: 2px solid #3971BB; outline-offset: -2px; }
@media (hover: hover) {.cabinet-activation .profile-review:not(.is-editing):has(.profile-review-open:hover){ background: #E6EDF8; }
}
.cabinet-activation .profile-review.is-editing .profile-review-open{ display: none; }
.cabinet-activation .profile-review header, .cabinet-activation .profile-review > :not(.profile-review-open):not(.review-form){ position: relative; z-index: 1; pointer-events: none; }
.cabinet-activation .profile-review header{ align-items: center; }
.cabinet-activation .profile-review-hearts{ display: inline-flex; align-items: center; gap: .6rem; }
.cabinet-activation .profile-review-go{ pointer-events: auto; display: grid; place-items: center; flex: none; width: 2.1rem; height: 2.1rem; border-radius: .7rem; background: #fff; color: #34361B; }
.cabinet-activation .profile-review-go svg{ width: 1rem; height: 1rem; }
@media (hover: hover) {.cabinet-activation .profile-review-go:hover{ background: #E6ECCB; }
}
.cabinet-activation .profile-review-go:focus-visible{ outline: 2px solid #3971BB; outline-offset: 2px; }
.cabinet-activation .profile-review.is-editing .profile-review-go{ display: none; }
@media (hover: hover) {.cabinet-activation .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:hover) .review-rating-star{ color: #F3DDE2; }
.cabinet-activation .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(1):hover) .review-rating-star:nth-child(-n+1){ color: #F29BB0; }
.cabinet-activation .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(2):hover) .review-rating-star:nth-child(-n+2){ color: #F29BB0; }
.cabinet-activation .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(3):hover) .review-rating-star:nth-child(-n+3){ color: #F29BB0; }
.cabinet-activation .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(4):hover) .review-rating-star:nth-child(-n+4){ color: #F29BB0; }
.cabinet-activation .review-form:not([data-saved]) .review-rating-stars:has(.review-rating-star:nth-child(5):hover) .review-rating-star:nth-child(-n+5){ color: #F29BB0; }
}
.cabinet-activation .product-review-card > p + .review-form{ margin-top: .9rem; }
.cabinet-activation .review-fold{ display: flow-root; min-width: 0; }
.cabinet-activation .profile-review .review-details > .review-fold{ flex: 1 1 100%; margin: 0; }
.cabinet-activation .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cabinet-activation .step-body > label:has(> .sr-only:only-child){ position: absolute; }


  /* The order opens in place of the list, inside the «Мои подписки» block (owner's pick 12.10.2026: the «Приближение»
     motion, work/orders-variants/open-anim.html no. 6), laid out as the activation page by its link: the block only frames
     the order, everything inside is drawn by the page's own styles (ACTIVATION_EMBED_STYLE) and texts. */
  .cabinet-content { position: relative; }
  /* While the list and the order trade places, nothing of them goes past the block (the zoomed list over the banner and tabs). */
  .cabinet-content.co-zooming { overflow: clip; }
  #cabinet-order:focus { outline: none; }
  .co-back { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0 0 0.9rem; padding: 0.45rem 0.9rem 0.45rem 0.7rem; border: 0; border-radius: 999px; background: #F5F5F5; color: #34361B; font: inherit; font-size: 0.88rem; font-weight: 500; cursor: pointer; transition: background-color 140ms ease; }
  .co-back svg { width: 0.95rem; height: 0.95rem; pointer-events: none; }
  @media (hover: hover) { .co-back:hover { background: #EEF3FA; color: #3971BB; } }
  .co-back:focus-visible { outline: 2px solid #3971BB; outline-offset: 2px; }
  /* "Готово" in the block: the padlock scene a size smaller (owner's ask 10.10.2026), the space it leaves taken back. */
  #cabinet-order .cabinet-activation .stage-art-done { transform: scale(0.72); transform-origin: 50% 0; margin-bottom: calc(0.9rem - 10rem * 0.28); }
  /* The order in the colours of the site (owner's ask 11.10.2026): white surface and the soft tints the site's banners and notes
     use, instead of the activation page's cream, full sage, butter and pink. Every colour inside is a --brand-* variable. */
  #cabinet-order .cabinet-activation { --brand-page: var(--surface); --brand-card: var(--surface); --brand-sage: #E6ECCB; --brand-butter: #F7F0CC; --brand-pink: #FADBE3; }
  #cabinet-order .cabinet-activation .activation-card { max-width: 34rem; margin: 0 auto; padding: 0.4rem 0.4rem 0.8rem; }
  /* The order chip: the page has it in its header, top right; here it opens the card on the left. */
  #cabinet-order .cabinet-activation .order-number { position: static; display: inline-flex; margin: 0 0 0.9rem; }
  #cabinet-order .co-loading { padding: 3rem 1.5rem; background: transparent; }
  /* The product's sign as everywhere else on the site (owner's ask 10.10.2026): the product's own colour behind the dark sign,
     not the page's blue square with a cream one. */
  #cabinet-order .cabinet-activation .product-card-icon { background: var(--tile, #E6ECCB); color: #34361B; }
  #cabinet-order .cabinet-activation .product-card-icon svg, #cabinet-order .cabinet-activation .product-card-icon img { filter: none; }


  /* One step at a time (owner's pick 12.10.2026, work/orders-variants/concepts.html no. 1): while the order waits for the buyer's
     data, only the step at hand is shown, under a progress bar and «Шаг N из M»; passed and next steps are hidden («← Назад»
     opens the previous one again with its own pencil). Laid out as the mockup: left-aligned across the block, the product one
     row, text and tip first, the buttons in one row at the bottom (the link one light, the next one blue). */
  #cabinet-order .activation-card:is(:has(#activation-stepper), :has(.revisit)) { --co-muted: #7A7C62; max-width: none; margin: 0; padding: 0; text-align: left; font-size: 0.95rem; }
  #cabinet-order .activation-card:has(#activation-stepper) .activation-title,
  #cabinet-order .activation-card:has(#activation-stepper) .activation-lead,
  #cabinet-order .activation-card:has(#activation-stepper) .order-date,
  #cabinet-order .activation-card:has(#activation-stepper) .order-number { display: none; }
  /* Two blocks (owner's ask 12.10.2026): the product on a light plate, the progress and the step in a card of their own. */
  #cabinet-order .activation-card:is(:has(#activation-stepper), :has(.revisit)) .product-card { display: flex; align-items: center; gap: 0.75rem; width: auto; margin: 0 0 0.6rem; padding: 0.75rem 0.9rem; border: 0; border-radius: 1.2rem; background: #F7F7EF; box-shadow: none; }
  #cabinet-order .activation-card:is(:has(#activation-stepper), :has(.revisit)) .product-card-icon { width: 2.6rem; height: 2.6rem; padding: 0.5rem; border-radius: 50%; }
  #cabinet-order .activation-card:is(:has(#activation-stepper), :has(.revisit)) .product-card-name { font-size: 1rem; font-weight: 600; }
  #cabinet-order .activation-card:is(:has(#activation-stepper), :has(.revisit)) .product-card-subtitle, #cabinet-order .co-order-no { font-size: 0.78rem; font-weight: 400; color: var(--co-muted); }
  #cabinet-order .co-order-no { display: block; }
  #cabinet-order .co-stepcard { padding: 1rem 1rem 0.9rem; border: 1.5px solid #ECECDC; border-radius: 1.3rem; background: #fff; }
  #cabinet-order .co-stepcard.co-off { padding: 0; border: 0; }
  #cabinet-order .co-gift-invitation { margin-top: 1rem; padding: 0.9rem; border-radius: 1rem; background: #FAFAF4; text-align: left; }
  #cabinet-order .co-gift-invitation strong { display: block; font-size: 1rem; }
  #cabinet-order .co-gift-invitation p { margin: 0.35rem 0 0.75rem; font-size: 0.84rem; line-height: 1.5; }
  #cabinet-order .co-gift-invitation .btn { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0.65rem 1rem; border: 0; border-radius: 0.8rem; background: #3971BB; color: #FCFCEE; box-shadow: none; font-size: 0.88rem; }
  #cabinet-order .co-gift-invitation .btn:hover { background: #2F63A8; transform: none; box-shadow: none; }
  #cabinet-order .co-gift-invitation .btn svg { flex: none; width: 1rem; height: 1rem; }

  /* A completed subscription uses the same product plate and card as the activation steps. */
  #cabinet-order .activation-card:has(.revisit) > .order-number { display: none; }
  #cabinet-order .revisit { gap: 0.7rem; padding: 1rem 1rem 0.9rem; border: 1.5px solid #ECECDC; border-radius: 1.3rem; background: #fff; }
  #cabinet-order .co-result-head { padding: 0.85rem 1rem 0.9rem; border-radius: 1rem; background: #EEF3FA; }
  #cabinet-order .co-result-head .activation-title { margin: 0; text-align: left; font-size: 1.2rem !important; line-height: 1.25; letter-spacing: -0.01em !important; }
  #cabinet-order .revisit .revisit-dates { padding: 0.75rem 0.9rem; background: #F7F7EF; text-align: left; font-size: 0.84rem; line-height: 1.5; }
  #cabinet-order .revisit .btn { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; width: 100%; min-height: 3rem; padding: 0.6rem 1.1rem; border: 0; border-radius: 1rem; font-size: 0.95rem; transform: none; box-shadow: none; }
  #cabinet-order .revisit .stage-actions .btn { background: #3971BB; color: #FCFCEE; }
  #cabinet-order .revisit .stage-actions .btn:hover { background: #2F63A8; transform: none; box-shadow: none; }
  #cabinet-order .revisit .btn svg { flex: none; width: 0.95rem; height: 0.95rem; }

  #cabinet-order .co-steps { margin: 0 0 0.9rem; }
  /* The progress: a bar per step, and after each a little sign: a lock for a step not reached, a tick once it is passed.
     The step at hand is filled with running slanted stripes; going on, it turns solid, its lock turns into a tick, the next one starts. */
  #cabinet-order .co-track { display: flex; align-items: center; gap: 0.3rem; margin: 0 0 0.55rem; }
  #cabinet-order .co-seg { position: relative; flex: 1; height: 0.4rem; border-radius: 999px; background: #EFEFE3; overflow: hidden; }
  #cabinet-order .co-seg i { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: #3971BB; transition: width 600ms cubic-bezier(.2,.8,.2,1); }
  #cabinet-order .co-seg.done i { width: 100%; }
  /* The step at hand: the whole bar in running slanted stripes (the same as the «Активировать» button after a press). */
  #cabinet-order .co-seg.cur i { width: 100%; background: repeating-linear-gradient(-45deg, #3971BB 0 0.35rem, #9DBBE5 0.35rem 0.7rem); background-size: 0.99rem 0.99rem; animation: co-stripes 700ms linear infinite; }
  @keyframes co-stripes { from { background-position: 0 0; } to { background-position: 0.99rem 0; } }
  /* The circle is drawn whole in one picture (circle and sign together), not as a rounded background, and it is never scaled:
     a scaled, rounded background showed a thin white seam across it (owner 12.10.2026). The tick draws itself in instead. */
  #cabinet-order .co-node { flex: none; display: block; width: 22px; height: 22px; padding: 0; border: 0; background: none; color: #A4A68E; }
  #cabinet-order .co-node svg { display: block; width: 22px; height: 22px; overflow: visible; }
  #cabinet-order .co-node .co-dot { fill: #EFEFE3; transition: fill 250ms ease 250ms; }
  #cabinet-order .co-node .co-tick { display: none; fill: none; stroke: #FCFCEE; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 14; stroke-dashoffset: 0; }
  #cabinet-order .co-node .co-lock { fill: currentColor; }
  #cabinet-order .co-node .co-lock path { fill: none; stroke: currentColor; stroke-width: 1.7; }
  #cabinet-order .co-node.done { cursor: pointer; }
  #cabinet-order .co-node.done .co-dot { fill: #3971BB; }
  #cabinet-order .co-node.done:hover .co-dot { fill: #2F63A8; }
  #cabinet-order .co-node.done .co-lock { display: none; }
  #cabinet-order .co-node.done .co-tick { display: block; animation: co-draw 380ms ease-out 320ms backwards; }
  @keyframes co-draw { from { stroke-dashoffset: 14; } to { stroke-dashoffset: 0; } }
  #cabinet-order .co-steps.co-still .co-seg i, #cabinet-order .co-steps.co-still .co-dot, #cabinet-order .co-steps.co-still .co-tick { transition: none; animation: none; }
  #cabinet-order .co-steps.co-still .co-seg.cur i { animation: co-stripes 700ms linear infinite; }
  @media (prefers-reduced-motion: reduce) { #cabinet-order .co-seg i, #cabinet-order .co-dot, #cabinet-order .co-tick { transition: none; animation: none !important; } }
  /* «Шаг N из M» stands under its own bar and rides along with the progress (owner 12.10.2026). */
  #cabinet-order .co-kicker-row { position: relative; height: 1.2rem; }
  #cabinet-order .co-kicker { position: absolute; left: 0; top: 0; margin: 0; white-space: nowrap; font-size: 0.78rem; font-weight: 400; color: var(--co-muted); transition: transform 600ms cubic-bezier(.2,.8,.2,1); will-change: transform; }
  #cabinet-order .co-steps.co-still .co-kicker { transition: none; }
  @media (prefers-reduced-motion: reduce) { #cabinet-order .co-kicker { transition: none; } }
  /* One column, one left edge, one width (owner 12.10.2026: alignment that jumps, lines across the laptop's screen and a button
     that moves from step to step tire the eyes). The whole order — back, product, progress, step — sits in a column of about
     60 characters in the middle of the block; everything in it starts at the same line and everything to press is as wide as
     the column; the step's area is as tall as the tallest step (oneStep measures it), and the main button is always last, at
     its bottom, so it stays under the finger from step to step. */
  #cabinet-order .cabinet-activation { max-width: 30rem; margin: 0 auto; }
  #cabinet-order #activation-stepper { position: relative; display: flex; flex-direction: column; gap: 0; }
  #cabinet-order #activation-stepper .step:not(.stage-panel)[data-state="locked"],
  #cabinet-order #activation-stepper .step:not(.stage-panel)[data-state="done"] { display: none; }
  #cabinet-order #activation-stepper .step:not(.stage-panel)[data-state="active"] { flex: 1 0 auto; display: flex; flex-direction: column; height: auto !important; overflow: visible; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
  #cabinet-order #activation-stepper .step:not(.stage-panel)[data-state="active"]::after { content: none; }
  #cabinet-order #activation-stepper .step:not(.stage-panel)[data-state="active"] > .step-view-active { flex: 1 0 auto; display: flex; flex-direction: column; }
  /* The step's heading and its explanation on a light blue plate of their own (owner 12.10.2026): «what we do now» stands out
     from the warm plates of the tips and sub-steps. */
  #cabinet-order #activation-stepper .step-head { display: block; margin: 0; padding: 0.85rem 1rem 0.9rem; border-radius: 1rem; background: #EEF3FA; }
  #cabinet-order #activation-stepper .step-head .step-badge { display: none; }
  #cabinet-order #activation-stepper .step-heading h2 { margin: 0 0 0.35rem; font-size: 1.2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
  #cabinet-order #activation-stepper .step-hint { margin: 0; font-size: 0.92rem; font-weight: 400; line-height: 1.5; }
  #cabinet-order #activation-stepper .step-body { flex: 1 0 auto; display: flex; flex-direction: column; align-items: stretch; gap: 0.7rem; margin: 0.9rem 0 0; padding: 0; }
  #cabinet-order #activation-stepper .step-body > * { width: 100%; margin: 0; }
  #cabinet-order #activation-stepper .step-body > .step-note, #cabinet-order #activation-stepper .step-body > .step-error { order: 1; }
  #cabinet-order #activation-stepper .step-body > .btn-outline { order: 5; }
  #cabinet-order #activation-stepper .step-body > .btn-next, #cabinet-order #activation-stepper .step-body > .btn-accent { order: 6; }
  #cabinet-order #activation-stepper .step-body > .co-first-act { margin-top: auto; }
  /* On a step with a field the main button shows up once the field is right (owner 12.10.2026): its place is always kept
     (nothing moves), and until then a dashed frame there says what to fill in. */
  #cabinet-order #activation-stepper .step-body > .co-slot { position: relative; order: 6; }
  #cabinet-order #activation-stepper .co-slot > .btn { transition: opacity 300ms ease, transform 300ms cubic-bezier(.2,.8,.2,1); }
  #cabinet-order #activation-stepper .co-slot.waiting > .btn { opacity: 0 !important; transform: scale(0.97); pointer-events: none; }
  #cabinet-order .co-slot-hint { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 1rem; border: 1.5px dashed #D5D9C2; border-radius: 1rem; color: var(--co-muted, #7A7C62); font-size: 0.86rem; text-align: center; opacity: 0; pointer-events: none; transition: opacity 300ms ease; }
  #cabinet-order .co-slot.waiting .co-slot-hint { opacity: 1; }
  @media (prefers-reduced-motion: reduce) { #cabinet-order #activation-stepper .co-slot > .btn, #cabinet-order .co-slot-hint { transition: none; } }
  /* Sub-steps (owner 12.10.2026: «каша из текста, полотно»): a light block of their own, one row per sub-step with its number in
     a circle, rows parted by thin lines; in a row the short command in bold, its explanation small and grey under it, and its
     button if it has one. The explanation under the step's title is quieter, so the eye goes: what it is → the actions → next. */
  #cabinet-order #activation-stepper .step-hint { color: var(--co-muted); font-size: 0.88rem; }
  #cabinet-order #activation-stepper .step-substeps { list-style: none; counter-reset: co-sub; display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0.2rem 0.9rem; border-radius: 1rem; background: #FAFAF4; }
  #cabinet-order #activation-stepper .step-substeps li { counter-increment: co-sub; position: relative; display: flex; flex-direction: column; gap: 0.3rem; padding: 0.75rem 0 0.75rem 2.2rem; font-size: 0.9rem; }
  #cabinet-order #activation-stepper .step-substeps li + li { border-top: 1px solid #ECECDC; }
  #cabinet-order #activation-stepper .step-substeps li::before { content: counter(co-sub); position: absolute; left: 0; top: 0.68rem; display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: #E3ECF8; color: #3971BB; font-size: 0.78rem; font-weight: 600; }
  #cabinet-order #activation-stepper .step-substeps li > p { margin: 0; line-height: 1.4; }
  #cabinet-order #activation-stepper .step-substeps li > p:first-child { font-weight: 500; }
  #cabinet-order #activation-stepper .step-substep-hint { font-size: 0.8rem; font-weight: 400; line-height: 1.45; color: var(--co-muted); }
  #cabinet-order #activation-stepper .step-substeps li > .btn { min-height: 2.5rem; margin-top: 0.2rem; padding: 0.45rem 0.9rem; border-radius: 0.8rem; background: #fff; font-size: 0.88rem; }
  #cabinet-order #activation-stepper .step-substeps li > .btn:hover { background: #F3F6FA; }
  /* Tips (owner 12.10.2026): not yellow — the cabinet's own light plate, plain text, and a hand-drawn heart on the left. */
  #cabinet-order #activation-stepper .step-tip { position: relative; padding: 0.7rem 0.9rem 0.7rem 2.85rem; border-radius: 0.9rem; background: #F7F7EF; color: #34361B; font-size: 0.84rem; font-weight: 400; line-height: 1.45; }
  #cabinet-order #activation-stepper .step-tip::before { content: ""; position: absolute; left: 0.75rem; top: 0.6rem; width: 1.55rem; height: 1.55rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.2 20.1c-1.1-.8-6.6-4.6-8.2-8.3C2.6 8.5 4.3 5.2 7.4 5c2.1-.1 3.7 1.3 4.6 3.1.8-2 2.7-3.5 4.9-3.3 3.3.3 4.7 3.8 3.2 7-1.6 3.4-6.6 7.1-7.6 8.3z' fill='%23FADBE3'/%3E%3Cpath d='M12.2 20.1c-1.1-.8-6.6-4.6-8.2-8.3C2.6 8.5 4.3 5.2 7.4 5c2.1-.1 3.7 1.3 4.6 3.1.8-2 2.7-3.5 4.9-3.3 3.3.3 4.7 3.8 3.2 7-1.6 3.4-6.6 7.1-7.6 8.3' fill='none' stroke='%23D9587A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.6 19.4c-.9-.9-5.7-4.3-7-7.6' fill='none' stroke='%23D9587A' stroke-width='1.1' stroke-linecap='round' opacity='.6'/%3E%3Cpath d='M7.6 8.3c-.9.2-1.5 1-1.5 1.9' fill='none' stroke='%23FFFFFF' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; transform: rotate(-8deg); }
  #cabinet-order #activation-stepper .step-note { display: flex; align-items: center; gap: 0.35rem; font-size: 0.8rem; color: var(--co-muted); }
  #cabinet-order #activation-stepper .step-note[hidden], #cabinet-order #activation-stepper .step-error[hidden] { display: none; }
  #cabinet-order #activation-stepper textarea, #cabinet-order #activation-stepper .field-input { width: 100%; border: 2px solid #DCE6F4; border-radius: 1rem; background: #F3F6FA; font-size: 0.88rem; box-shadow: none; }
  #cabinet-order #activation-stepper textarea { min-height: 6.5rem; }
  #cabinet-order #activation-stepper textarea:focus, #cabinet-order #activation-stepper .field-input:focus { border-color: #3971BB; background: #fff; outline: none; }
  /* The buttons, all as wide as the column. A link to another site is a light row with its arrow at the end (you leave for
     there); the main button is the blue bar. */
  #cabinet-order #activation-stepper .btn { display: flex; align-items: center; width: 100%; min-height: 3rem; padding: 0.6rem 1.1rem; border-radius: 1rem; font-size: 0.95rem; font-weight: 600; gap: 0.4rem; transform: none; }
  #cabinet-order #activation-stepper .btn-outline { justify-content: space-between; border: 0; background: #F2F3EA; color: #34361B; box-shadow: none; }
  #cabinet-order #activation-stepper .btn-outline svg { color: #3971BB; }
  #cabinet-order #activation-stepper .btn-outline:hover { border: 0; background: #E9ECDA; }
  #cabinet-order #activation-stepper .btn-next, #cabinet-order #activation-stepper .btn-accent { justify-content: center; border: 0; background: #3971BB; color: #FCFCEE; box-shadow: none; }
  #cabinet-order #activation-stepper .btn-next:hover:not(:disabled), #cabinet-order #activation-stepper .btn-accent:hover:not(:disabled) { border: 0; background: #2F63A8; transform: none; box-shadow: none; }
  #cabinet-order #activation-stepper .btn-next:active:not(:disabled), #cabinet-order #activation-stepper .btn-accent:active:not(:disabled) { transform: scale(0.99); box-shadow: none; }
  #cabinet-order #activation-stepper .btn-next:disabled, #cabinet-order #activation-stepper #activate-submit:disabled { border: 0; background: #3971BB; color: #FCFCEE; opacity: 0.4; box-shadow: none; }
  #cabinet-order #activation-stepper .btn svg { width: 0.95rem; height: 0.95rem; }
  /* «← Шаг 1» under the previous step's bar (owner 12.10.2026, instead of «← Назад» under the main button); it rides along like
     «Шаг N из M» under the bar at hand. */
  #cabinet-order .co-stepback { position: absolute; left: 0; top: -0.15rem; display: inline-flex; align-items: center; gap: 0.25rem; margin: 0; padding: 0.15rem 0.45rem 0.15rem 0.3rem; border: 0; border-radius: 999px; background: none; color: #3971BB; font: inherit; font-size: 0.78rem; font-weight: 500; white-space: nowrap; cursor: pointer; transition: transform 600ms cubic-bezier(.2,.8,.2,1), opacity 250ms ease, background-color 140ms ease; }
  #cabinet-order .co-stepback svg { width: 0.85rem; height: 0.85rem; }
  #cabinet-order .co-stepback:hover { background: #EEF3FA; }
  #cabinet-order .co-stepback:focus-visible { outline: 2px solid #3971BB; outline-offset: 1px; }
  #cabinet-order .co-stepback.off { opacity: 0; pointer-events: none; }
  #cabinet-order .co-steps.co-still .co-stepback { transition: none; }
  @media (prefers-reduced-motion: reduce) { #cabinet-order .co-stepback { transition: none; } }

  /* Less bold (owner 12.10.2026: «дохуя жирного»): in the whole order — steps, waiting, «Готово» — text is regular, only the
     heading of a step or a state is bold, buttons and the product's name semi-bold. Emphasis inside text (strong) is semi-bold. */
  #cabinet-order .cabinet-activation, #cabinet-order .cabinet-activation * { font-weight: 400; }
  #cabinet-order .cabinet-activation :is(h1, h2, h3) { font-weight: 700; }
  #cabinet-order .cabinet-activation :is(strong, b, .btn, button, .product-card-name) { font-weight: 600; }

  /* The completed step shares one centre line; its controls keep the review's native keyboard semantics. */
  #cabinet-order .stage-panel:has(.activation-success) { padding: 0; border: 0; border-radius: 0; background: none; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; text-align: center; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success > * { box-sizing: border-box; width: 100%; margin: 0; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .stage-art-done { height: 7.2rem; margin: 0; transform: none; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .stage-art-circle { transform: scale(.72); transform-origin: 50% 0; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .step-head { display: block; padding: 0; background: none; text-align: center; }
  #cabinet-order #activation-stepper .activation-success .step-head { padding: 0; background: none; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .stage-icon { display: none; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .step-heading h2 { margin: 0 0 .5rem; text-align: center; font-size: 1.25rem; line-height: 1.3; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .step-hint { max-width: 40ch; margin: 0 auto; color: #5D614F; line-height: 1.5; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .stage-actions { display: flex; justify-content: center; padding: 0 0 .25rem; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: auto; min-height: 2.75rem; padding: .65rem 1.15rem; border: 0; border-radius: .85rem; background: #3971BB; color: #fff; box-shadow: none; transform: none; font-size: .9rem; line-height: 1.4; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .btn:hover { background: #2E5E9D; box-shadow: none; transform: none; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .btn svg { flex: none; width: 1rem; height: 1rem; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .thanks-note { padding: 1rem; border-radius: 1rem; background: #F5F7ED; text-align: center; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .thanks-note .drawn-star { display: none; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .thanks-note > strong,
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .thanks-note > p { padding: 0; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .thanks-note > strong { font-size: 1rem; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .thanks-note > p { color: #5D614F; font-size: .85rem; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-form { margin: 1rem 0 0; text-align: center; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-rating legend { float: none; width: 100%; margin: 0 0 .5rem; padding: 0; text-align: center; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-rating-stars { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .25rem; max-width: 16rem; margin: 0 auto; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-rating-star { position: relative; display: grid; place-items: center; min-height: 2.75rem; cursor: pointer; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-rating-star input { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; clip-path: inset(50%); overflow: hidden; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-rating-star .rating-heart { width: 2.25rem; height: 2.25rem; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .review-details { text-align: left; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .promo-offer { align-items: center; gap: .65rem; padding: 1.25rem 0 0; border-top: 1px solid #E6E6DA; border-radius: 0; background: none; text-align: center; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .promo-offer .guide-meta { max-width: 42ch; color: #5D614F; font-size: .85rem; line-height: 1.5; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .promo-offer .btn { align-self: center; margin: 0; background: #E6ECCB; color: #34361B; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .promo-offer .btn:hover { background: #D7E1B5; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .promo-offer-code { justify-content: center; }
  #cabinet-order :is(#activation-stepper, .activation-stage-anchor) .activation-success .co-gift-invitation { text-align: center; }

  /* The list of orders. */
  .cabinet-content .orders .order { position: relative; }
  .cabinet-content .orders .order.is-loading { cursor: progress; opacity: 0.6; transition: opacity 160ms ease; }
  .co-loading { margin: 0; padding: 1.5rem; border-radius: 1.75rem; background: #fff; text-align: center; opacity: 0.7; }

  .cabinet-content button.order { width: 100%; border: 0; font: inherit; text-align: left; cursor: pointer; }
  .s-buy-note { margin: 0.4rem 0 0; padding: 0.5rem 0.7rem; border-radius: 0.8rem; background: #FADBE3; font-size: 0.8rem; line-height: 1.4; }

  .site-footer { margin: 2rem 0 0; padding: 1rem 1.3rem; border-radius: 1.75rem; background: var(--surface); text-align: left; font-size: 0.74rem; line-height: 1.5; color: #34361B; }
  .site-footer-links { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; }
  .site-footer-links a { color: #34361B; font-weight: 400; opacity: 0.75; text-decoration: none; }
  .site-footer-links a:hover { opacity: 1; color: #3971BB; text-decoration: underline; text-underline-offset: 3px; }
  .site-footer-links a:focus-visible { outline: 2px solid #3971BB; outline-offset: 3px; border-radius: 4px; }
  .site-footer p { margin: 0.6rem 0 0; font-weight: 400; opacity: 0.55; }

  .legal-head { padding: 1.6rem 3.4rem 0.2rem 0.4rem; }
  .legal-head h1 { margin: 0; font-size: clamp(1.4rem, 4.5vw, 2rem); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; text-wrap: balance; }
  .legal-edition { margin: 0.5rem 0 0; font-size: 0.82rem; opacity: 0.6; }
  .legal-text h2 { margin: 1.3rem 0 0.5rem; font-size: 1.15rem; line-height: 1.3; font-weight: 800; }
  .legal-text h3 { margin: 1rem 0 0.4rem; font-size: 1rem; font-weight: 700; }
  .legal-text p { margin: 0.6rem 0; }
  .legal-text a { color: #3971BB; text-underline-offset: 3px; }
  .legal-text > :first-child { margin-top: 0; }
  .legal-card { margin: 1rem 0 0; padding: 1.1rem 1.3rem; border-radius: 1.5rem; background: #fff; font-size: 0.95rem; line-height: 1.55; }
  .legal-facts { display: grid; gap: 0.7rem; margin: 0 0 1rem; }
  .legal-facts div { display: grid; gap: 0.1rem; }
  .legal-facts dt { font-size: 0.78rem; opacity: 0.55; }
  .legal-facts dd { margin: 0; font-weight: 400; opacity: 0.8; overflow-wrap: anywhere; }
  .legal-note { margin: 0; padding: 0.7rem 0.9rem; border-radius: 1rem; background: #F7F0CC; font-weight: 600; }
  .legal-card ul { margin: 0.9rem 0 0.2rem; padding-left: 1.2rem; }
  .legal-card li { margin: 0.35rem 0; }

  .home-blog { margin-top:1.25rem; padding:1.3rem; border-radius:1.75rem; background:var(--surface); text-align:left; }
  .sb-section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
  .home-blog .sb-section-head h2 { margin:0; color:#34361B; font-size:clamp(1.25rem,3vw,1.6rem); font-weight:800; letter-spacing:-.02em; line-height:1.2; }
  .sb-all { flex:none; display:inline-flex; align-items:center; gap:.35rem; min-height:2.75rem; padding:.4rem .7rem; border-radius:999px; background:#EEF3FA; color:#3971BB; font-size:.78rem; font-weight:700; }
  .sb-all svg,.sb-preview-bottom svg,.sb-pagination svg { width:1rem; height:1rem; flex:none; }
  .sb-featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
  .sb-preview { display:flex; flex-direction:column; justify-content:space-between; gap:1.5rem; min-width:0; min-height:12rem; padding:1rem; border-radius:1rem; background:#F5F5F5; color:#34361B; text-decoration:none; }
  .sb-preview h3 { margin:0; font-size:.98rem; font-weight:800; line-height:1.25; letter-spacing:-.015em; overflow-wrap:anywhere; }
  .sb-preview p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:.6rem 0 0; color:#62644E; font-size:.76rem; line-height:1.45; }
  .sb-preview-bottom { display:flex; justify-content:space-between; align-items:center; gap:.5rem; color:#62644E; font-size:.65rem; }
  .sb-preview-bottom svg { color:#3971BB; }
  .sb-preview-pending { justify-content:flex-start; gap:1.1rem; }
  .sb-pending-label { font-size:.76rem; color:#62644E; }
  .sb-placeholder-lines { display:grid; gap:.55rem; }
  .sb-placeholder-lines i { height:.65rem; width:90%; border-radius:999px; background:#E4E5DF; }
  .sb-placeholder-lines i:nth-child(2) { width:70%; }
  .sb-placeholder-lines i:nth-child(3) { width:50%; }
  .sb-breadcrumbs { display:flex; align-items:center; gap:.55rem; color:#62644E; font-size:.8rem; }
  .sb-breadcrumbs a { color:#3971BB; }
  .sb-window-head { margin:1.5rem 0; padding:clamp(1.5rem,4vw,2.5rem); border-radius:1.75rem; background:#E6ECCB; }
  .blog-sheet .sb-window-title { font-family:"Onest Heading","Onest",system-ui,sans-serif; margin:0 !important; font-size:clamp(2rem,4vw,3rem) !important; line-height:1.1; font-weight:800; letter-spacing:-.03em !important; }
  .sb-window-head p { margin:.85rem 0 0; color:#535A35; font-size:1rem; line-height:1.5; }
  .sb-posts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  .sb-preview-full { min-height:14rem; padding:1.5rem; background:#fff; border-radius:1.25rem; }
  .sb-posts .sb-preview-full:first-child { grid-column:1 / -1; min-height:15rem; padding:2rem; }
  .sb-posts .sb-preview-full:first-child h3 { max-width:30ch; font-size:clamp(1.5rem,3vw,2rem); line-height:1.2; }
  .sb-posts .sb-preview-full:first-child p { max-width:65ch; font-size:1rem; }
  .sb-preview-full h3 { font-size:1.25rem; text-wrap:balance; }
  .sb-preview-full p { font-size:.88rem; -webkit-line-clamp:4; }
  .sb-preview-full .sb-preview-bottom { font-size:.75rem; }
  .sb-empty { padding:2rem 1.5rem; border-radius:1rem; background:#fff; }
  .sb-empty h3 { margin:0 0 .7rem; font-size:1.2rem; }
  .sb-empty p { margin:0; color:#62644E; font-size:.9rem; line-height:1.5; }
  .sb-pagination { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2rem; color:#62644E; font-size:.85rem; }
  .sb-pagination a { border-radius:999px; background:#fff; padding:.5rem 1rem; display:inline-flex; align-items:center; gap:.3rem; min-height:2.75rem; color:#3971BB; }
  .home-blog a:focus-visible,.blog-sheet a:focus-visible { outline:3px solid #3971BB; outline-offset:3px; }
  @media (hover:hover) { a.sb-preview:hover { background:#EEF3FA; } .sb-all:hover { background:#DDE8F7; } }
  @media (max-width:36rem) {
    .home-blog { padding:1rem; }
    .sb-featured { grid-template-columns:1fr; gap:0; }
    .sb-featured .sb-preview { min-height:0; padding:1rem 0; border-radius:0; background:none; border-top:1px solid #E4E5DF; gap:.75rem; }
    .sb-featured .sb-preview h3 { font-size:1rem; }
    .sb-featured .sb-preview p { font-size:.82rem; -webkit-line-clamp:2; }
    .sb-preview-pending .sb-placeholder-lines { max-width:15rem; gap:.4rem; }
    .sb-preview-pending .sb-placeholder-lines i { height:.4rem; }
    .sb-posts { grid-template-columns:1fr; }
    .sb-window-head { margin-block:1.5rem; }
    .sb-preview-full { min-height:12rem; padding:1.4rem; }
    .sb-posts .sb-preview-full:first-child { min-height:14rem; padding:1.4rem; }
    .sb-posts .sb-preview-full:first-child p { font-size:.88rem; }
    .sb-window-head { padding:1.5rem; }
    .sb-window-head p { font-size:.9rem; }
    .sb-pagination { gap:.5rem; font-size:.78rem; }
    .sb-pagination a { padding:.5rem .75rem; }
  }

.s-review-slot[hidden] { display:none; }
.product-review-card { min-width:0; padding:1.25rem; border-radius:1.25rem; background:#E6ECCB; }
.product-review-card h3 { margin:0 .25rem .2rem; font-size:1.15rem; font-weight:800; letter-spacing:-.02em; }
.product-review-card > p { margin:0 .25rem; font-size:.85rem; color:#424A2E; }
.product-review-card .review-form { margin-top:.9rem; }
.s-reviews { min-width:0; padding:1.5rem; border-radius:1.25rem; background:var(--surface); box-shadow:var(--surface-shadow); container-type:inline-size; }
.s-reviews-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.s-reviews h3 { margin:0; font-size:1.35rem; font-weight:800; letter-spacing:-.02em; }
.s-reviews-summary { text-align:right; }
.s-reviews-summary[hidden] { display:none; }
.s-reviews-average { display:flex; align-items:center; justify-content:flex-end; gap:.35rem; color:#3971BB; font-size:1.35rem; font-weight:800; font-variant-numeric:tabular-nums; }
.s-reviews-average svg { width:1.25rem; height:1.25rem; }
.s-reviews-count { display:block; margin-top:.1rem; font-size:.75rem; color:#62644E; }
.s-review-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:.75rem; list-style:none; margin:0; padding:0; }
.s-review { display:flex; flex-direction:column; min-width:0; padding:.85rem; border:1px solid #E8E9E3; border-radius:1rem; }
.s-review-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.65rem; min-height:2.8rem; }
.s-review-person-copy { display:grid; gap:.1rem; min-width:0; flex:1; }
.s-review-source { font-size:.6rem; color:#62644E; line-height:1.25; }
a.s-review-source { text-decoration:none; }
a.s-review-source:hover { color:#3971BB; }
a.s-review-source:focus-visible { outline:2px solid #3971BB; outline-offset:3px; }
.s-review-person { display:flex; align-items:center; gap:.45rem; min-width:0; flex:1; }
.s-review-avatar { width:1.6rem; height:1.6rem; flex:none; object-fit:contain; border-radius:50%; background:#F4F6EC; }
.s-review-author { display:block; min-width:0; font-size:.7rem; line-height:1.35; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.s-review-product { display:flex; align-items:center; gap:.4rem; min-width:0; margin-top:auto; padding:.45rem .5rem; border-radius:.6rem; background:#F5F6F1; }
.s-review-product-copy { display:flex; align-items:baseline; flex:1; gap:.4rem; min-width:0; }
.s-review-product-name { display:block; font-size:.7rem; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.s-review-product-term { display:block; font-size:.65rem; color:#62644E; margin-left:auto; white-space:nowrap; }
.s-review-product-image { width:1.2rem; height:1.2rem; flex:none; padding:.2rem; box-sizing:border-box; border-radius:.5rem; background:transparent; object-fit:contain; }
.s-review-text { min-width:0; margin:.65rem 0 .55rem; padding:.5rem .6rem; border:0; border-radius:.6rem; background:#F5F5F5; }
.s-review-body { margin:0; color:#34361B; font-size:.7rem; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.s-review-body.is-expanded { display:block; max-height:12rem; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#C9CBBF #F5F5F5; }
.s-review-profanity { display:inline-block; user-select:none; }
.s-review-profanity > span { filter:blur(4px); pointer-events:none; }
.s-review-actions { margin-top:.25rem; }
.s-review-actions:has(.s-review-expand[hidden]) { display:none; }
.s-review-expand { display:inline-flex; align-items:center; gap:.25rem; border:0; border-radius:.35rem; background:#F5F6F1; padding:.15rem .4rem; margin:0; font:600 .6rem/1.4 "Onest",system-ui,sans-serif; color:#62644E; cursor:pointer; }
.s-review-expand svg { width:.65rem; height:.65rem; transition:transform 150ms ease; }
.s-review-expand[aria-expanded="true"] svg { transform:rotate(180deg); }
@media (hover:hover) { .s-review-expand:hover { background:#E6ECCB; color:#34361B; } }
@media (prefers-reduced-motion:reduce) { .s-review-expand svg { transition:none; } }
.s-review-expand[hidden] { display:none; }
.s-review-badges { display:flex; flex-wrap:wrap; gap:.25rem; margin:auto 0 .55rem; }
.s-review-badges + .s-review-product { margin-top:0; }
.s-review-badge { padding:.2rem .4rem; border-radius:999px; background:#F0F4E2; color:#525E36; font-size:.6rem; line-height:1.35; }
.s-review-badge-improve { background:#FAE9ED; color:#82445A; }
.s-review-footer { display:grid; justify-items:end; flex:none; gap:.12rem; }
.s-review-meta { display:grid; gap:.15rem; color:#62644E; font-size:.6rem; line-height:1.4; font-variant-numeric:tabular-nums; }
.s-review-rating { display:inline-flex; gap:.1rem; color:#F29BB0; }
.s-review-rating svg { width:.85rem; height:.85rem; }
.s-review-rating .is-empty { color:#F3DDE2; }
.s-review-status { margin:.75rem 0 0; font-size:.75rem; line-height:1.5; color:#62644E; }
.s-review-status:empty { display:none; }
.s-review-more { display:block; width:100%; margin-top:1.1rem; min-height:2.75rem; padding:.65rem 1rem; border:0; border-radius:.85rem; background:#34361B; color:#fff; font:700 .85rem "Onest",system-ui,sans-serif; cursor:pointer; }
.s-review-more[hidden] { display:none; }
.s-review-more:disabled { opacity:.6; cursor:wait; }
.s-review-more:focus-visible,.s-review-expand:focus-visible { outline:2px solid #3971BB; outline-offset:3px; }
@media (hover:hover) { .s-review-more:not(:disabled):hover { background:#505334; } }
@container (max-width:480px) { .s-review-list { grid-template-columns:1fr; } }
@media (max-width:48rem) { .s-reviews { padding:1rem; } }

.s-activation-guide { min-width:0; padding:1.25rem; border-radius:1.25rem; background:var(--surface); box-shadow:var(--surface-shadow); }
.s-activation-guide h3 { margin:0; font-size:1.1rem; font-weight:800; letter-spacing:-.02em; }
.s-guide-lead { margin:.5rem 0 1rem; color:#62644E; font-size:.75rem; line-height:1.5; }
.s-guide-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; margin:0; padding:0; list-style:none; }
.s-guide-steps li { display:flex; align-items:flex-start; gap:.5rem; min-width:0; }
.s-guide-steps li > div { min-width:0; }
.s-guide-number { display:grid; place-items:center; width:1.4rem; height:1.4rem; flex:none; border-radius:50%; background:#34361B; color:#FCFCEE; font-size:.7rem; font-weight:800; font-variant-numeric:tabular-nums; }
.s-guide-steps h4 { margin:0 0 .2rem; font-size:.75rem; line-height:1.4; font-weight:800; overflow-wrap:anywhere; }
.s-guide-steps p { margin:0; color:#62644E; font-size:.7rem; line-height:1.5; }
.s-guide-note { margin:.8rem 0 0; color:#62644E; font-size:.7rem; line-height:1.5; }
.s-guide-more { display:inline-flex; align-items:center; gap:.45rem; margin-top:.85rem; padding:.55rem .8rem; border:0; border-radius:.5rem; background:#34361B; color:#FCFCEE; font:700 .7rem/1.4 "Onest",system-ui,sans-serif; cursor:pointer; }
.s-guide-more[data-restored-pointer-focus]:focus,.s-guide-dialog button[data-restored-pointer-focus]:focus { outline:none; }
.s-guide-more svg { width:.9rem; height:.9rem; flex:none; }
.s-guide-more:focus-visible,.s-guide-dialog button:focus-visible { outline:2px solid #3971BB; outline-offset:3px; }
.s-guide-dialog { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:1rem; border:0; background:transparent; color:#34361B; box-sizing:border-box; overflow:clip; }
.s-guide-dialog[open] { display:flex; align-items:center; justify-content:center; }
.s-guide-dialog::backdrop { background:rgba(52,54,27,.32); }
.s-guide-dialog[data-motion="opening"]::backdrop { animation:s-guide-shade-in 460ms cubic-bezier(.16,1,.3,1) both; }
.s-guide-dialog[data-motion="closing"]::backdrop { animation:s-guide-shade-out 320ms cubic-bezier(.4,0,.2,1) both; }
@keyframes s-guide-shade-in { from { opacity:0; } to { opacity:1; } }
@keyframes s-guide-shade-out { from { opacity:1; } to { opacity:0; } }
@media (prefers-reduced-motion:reduce) { .s-guide-dialog::backdrop { animation:none !important; } }
.s-guide-dialog-card { transform-origin:50% 50%; position:relative; width:100%; max-width:26rem; max-height:calc(100dvh - 2rem); overflow-y:auto; padding:1.5rem; border-radius:1.4rem; background:var(--surface); box-shadow:0 20px 65px rgba(52,54,27,.18); scrollbar-width:thin; scrollbar-color:#C9CBBF #F5F5F5; }
.s-guide-dialog .s-guide-dialog-card h2 { margin:0 2rem .35rem 0 !important; font-size:1.15rem !important; line-height:1.25; font-weight:800; letter-spacing:-.02em; }
.s-guide-dialog-product { margin:0; font-size:.7rem; line-height:1.5; color:#62644E; }
.s-guide-dialog-x { position:absolute; top:.7rem; right:.7rem; display:grid; place-items:center; width:1.8rem; height:1.8rem; padding:0; border:0; border-radius:50%; background:#F5F5F5; color:#34361B; cursor:pointer; }
.s-guide-dialog-x svg { width:.85rem; height:.85rem; }
.s-guide-dialog-done { display:block; width:100%; margin-top:1rem; padding:.6rem 1rem; border:0; border-radius:.7rem; background:#E6ECCB; color:#34361B; font:700 .75rem/1.4 "Onest",system-ui,sans-serif; cursor:pointer; }
@media (hover:hover) { .s-guide-more:hover { background:#505334; } .s-guide-dialog-x:hover { color:#3971BB; background:#EEF3FA; } .s-guide-dialog-done:hover { background:#D9E3B4; } }
.s-guide-full { display:grid; gap:.7rem; margin:.75rem 0 0; padding:.75rem 0 0 1rem; border-top:1px solid #E4E5DF; }
.s-guide-full li { padding-left:.25rem; font-size:.7rem; }
.s-guide-full h4 { margin:0 0 .2rem; font-size:.75rem; line-height:1.4; font-weight:700; }
.s-guide-full p { margin:0; font-size:.7rem; line-height:1.5; }
@media (max-width:48rem) { .s-guide-dialog-card { padding:1.2rem 1rem; } .s-activation-guide { padding:1rem; } }
@media (max-width:480px) { .s-guide-steps { grid-template-columns:1fr; gap:.7rem; } }
