/* ==========================================================================
   Design tokens — "Scan Void"
   ========================================================================== */
:root{
  --bg:#0a0a13; --bg-soft:#0e0e19; --bg-elev:#141322; --bg-elev2:#1b1a2c;
  --line:#262441; --line-strong:#39365c;
  --fg:#f1eef8; --muted:#9791b8; --muted-dim:#615c85;
  --accent:#8266ff; --accent-soft:#8266ff33; --accent-strong:#a894ff;
  --teal:#2fe0c6; --amber:#ffb454; --danger:#ff6b6b;
  --font-d: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-b: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-m: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;
}
:root[data-theme="light"]{
  --bg:#f3f1fb; --bg-soft:#ece9f7; --bg-elev:#ffffff; --bg-elev2:#eeebf9;
  --line:#dcd7ef; --line-strong:#c7c0e6;
  --fg:#161329; --muted:#5b5578; --muted-dim:#8b84ab;
  --accent:#6a4dff; --accent-soft:#6a4dff22; --accent-strong:#5535e8;
  --teal:#0f9e89; --amber:#b6740c; --danger:#c23b3b;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg:#f3f1fb; --bg-soft:#ece9f7; --bg-elev:#ffffff; --bg-elev2:#eeebf9;
    --line:#dcd7ef; --line-strong:#c7c0e6;
    --fg:#161329; --muted:#5b5578; --muted-dim:#8b84ab;
    --accent:#6a4dff; --accent-soft:#6a4dff22; --accent-strong:#5535e8;
    --teal:#0f9e89; --amber:#b6740c; --danger:#c23b3b;
  }
}

/* ==========================================================================
   Base / reset
   ========================================================================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0; background:var(--bg); color:var(--fg);}
body{font-family:var(--font-b); line-height:1.55; position:relative; overflow-x:hidden; -webkit-font-smoothing:antialiased;}
::selection{background:var(--accent); color:#fff;}
a{color:inherit;}
img,svg{display:block; max-width:100%;}
button{font:inherit;}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:2px;}
ul{margin:0;}
main{display:block;}

/* ==========================================================================
   Icons (mask-based SVG, tinted via currentColor — no emoji/text glyphs)
   ========================================================================== */
.icon{
  display:inline-block; width:1em; height:1em; vertical-align:-0.15em; flex:none;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
}
.icon[hidden]{display:none;}
.icon-check{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
}
.icon-arrow-right{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
}
.icon-arrow-left{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20l1.41-1.41L7.83 13H20v-2H7.83l5.58-5.59L12 4l-8 8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20l1.41-1.41L7.83 13H20v-2H7.83l5.58-5.59L12 4l-8 8z'/%3E%3C/svg%3E");
}
.icon-arrow-down{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
}
.icon-swap{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z'/%3E%3C/svg%3E");
}
.icon-diamond{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 22 12 12 22 2 12z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 22 12 12 22 2 12z'/%3E%3C/svg%3E");
}
.icon-image{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z'/%3E%3C/svg%3E");
}
.icon-mail{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z'/%3E%3C/svg%3E");
}
.icon-lock{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z'/%3E%3C/svg%3E");
}
.icon-user{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z'/%3E%3C/svg%3E");
}
.icon-cloud-upload{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20H13Q12.18 20 11.59 19.41 11 18.83 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18H9V20M12 13Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20H13Q12.18 20 11.59 19.41 11 18.83 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18H9V20M12 13Z'/%3E%3C/svg%3E");
}
.icon-folder{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z'/%3E%3C/svg%3E");
}
.icon-shield-check{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9'/%3E%3C/svg%3E");
}
.icon-file-document{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z'/%3E%3C/svg%3E");
}
.icon-video{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15,8V16H5V8H15M16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5V7A1,1 0 0,0 16,6Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15,8V16H5V8H15M16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5V7A1,1 0 0,0 16,6Z'/%3E%3C/svg%3E");
}
.icon-music-note{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3V13.55A4 4 0 1 0 14 17V7H18V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3V13.55A4 4 0 1 0 14 17V7H18V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z'/%3E%3C/svg%3E");
}
.icon-file-pdf{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.5 11.5C9.5 12.3 8.8 13 8 13H7V15H5.5V9H8C8.8 9 9.5 9.7 9.5 10.5V11.5M14.5 13.5C14.5 14.3 13.8 15 13 15H10.5V9H13C13.8 9 14.5 9.7 14.5 10.5V13.5M18.5 10.5H17V11.5H18.5V13H17V15H15.5V9H18.5V10.5M12 10.5H13V13.5H12V10.5M7 10.5H8V11.5H7V10.5Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.5 11.5C9.5 12.3 8.8 13 8 13H7V15H5.5V9H8C8.8 9 9.5 9.7 9.5 10.5V11.5M14.5 13.5C14.5 14.3 13.8 15 13 15H10.5V9H13C13.8 9 14.5 9.7 14.5 10.5V13.5M18.5 10.5H17V11.5H18.5V13H17V15H15.5V9H18.5V10.5M12 10.5H13V13.5H12V10.5M7 10.5H8V11.5H7V10.5Z'/%3E%3C/svg%3E");
}
.icon-headphones{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,3A9,9 0 0,0 3,12V19A3,3 0 0,0 6,22H8V13H5V12A7,7 0 0,1 12,5A7,7 0 0,1 19,12V13H16V22H18A3,3 0 0,0 21,19V12A9,9 0 0,0 12,3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,3A9,9 0 0,0 3,12V19A3,3 0 0,0 6,22H8V13H5V12A7,7 0 0,1 12,5A7,7 0 0,1 19,12V13H16V22H18A3,3 0 0,0 21,19V12A9,9 0 0,0 12,3Z'/%3E%3C/svg%3E");
}
.icon-logout{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17,17.25V14H10V10H17V6.75L22.25,12L17,17.25M13,3A2,2 0 0,1 15,5V8H13V5H5V19H13V16H15V19A2,2 0 0,1 13,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H13Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17,17.25V14H10V10H17V6.75L22.25,12L17,17.25M13,3A2,2 0 0,1 15,5V8H13V5H5V19H13V16H15V19A2,2 0 0,1 13,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H13Z'/%3E%3C/svg%3E");
}
.icon-broom{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.36,2.72L20.78,4.14L15.06,9.85C16.13,11.39 16.28,13.24 15.38,14.44L9.06,8.12C10.26,7.22 12.11,7.37 13.65,8.44L19.36,2.72M5.93,17.57C3.92,15.56 2.69,13.16 2.35,10.92L7.23,8.83L14.67,16.27L12.58,21.15C10.34,20.81 7.94,19.58 5.93,17.57Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.36,2.72L20.78,4.14L15.06,9.85C16.13,11.39 16.28,13.24 15.38,14.44L9.06,8.12C10.26,7.22 12.11,7.37 13.65,8.44L19.36,2.72M5.93,17.57C3.92,15.56 2.69,13.16 2.35,10.92L7.23,8.83L14.67,16.27L12.58,21.15C10.34,20.81 7.94,19.58 5.93,17.57Z'/%3E%3C/svg%3E");
}
.icon-close{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z'/%3E%3C/svg%3E");
}
.icon-globe{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'/%3E%3C/svg%3E");
}

/* Platform marks — official icon shapes (Simple Icons, CC0), rendered
   single-color via mask so they read as our own UI, not co-branding. */
.icon-platform-facebook, .icon-platform-instagram, .icon-platform-whatsapp, .icon-platform-telegram, .icon-platform-tiktok, .icon-platform-vk, .icon-platform-x, .icon-platform-youtube, .icon-platform-meta, .icon-platform-pinterest{ -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; background-color:currentColor; display:inline-block; }
.icon-platform-facebook{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E"); }
.icon-platform-instagram{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'/%3E%3C/svg%3E"); }
.icon-platform-whatsapp{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E"); }
.icon-platform-telegram{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E"); }
.icon-platform-tiktok{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E"); }
.icon-platform-vk{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.489.004.729-.003h3.564l.73.003.914.01.433.007.418.011.403.014.388.016.374.021.36.025.345.03.333.033c1.74.196 2.933.616 3.833 1.516.9.9 1.32 2.092 1.516 3.833l.034.333.029.346.025.36.02.373.025.588.012.41.013.644.009.915.004.98-.001 3.313-.003.73-.01.914-.007.433-.011.418-.014.403-.016.388-.021.374-.025.36-.03.345-.033.333c-.196 1.74-.616 2.933-1.516 3.833-.9.9-2.092 1.32-3.833 1.516l-.333.034-.346.029-.36.025-.373.02-.588.025-.41.012-.644.013-.915.009-.98.004-3.313-.001-.73-.003-.914-.01-.433-.007-.418-.011-.403-.014-.388-.016-.374-.021-.36-.025-.345-.03-.333-.033c-1.74-.196-2.933-.616-3.833-1.516-.9-.9-1.32-2.092-1.516-3.833l-.034-.333-.029-.346-.025-.36-.02-.373-.025-.588-.012-.41-.013-.644-.009-.915-.004-.98.001-3.313.003-.73.01-.914.007-.433.011-.418.014-.403.016-.388.021-.374.025-.36.03-.345.033-.333c.196-1.74.616-2.933 1.516-3.833.9-.9 2.092-1.32 3.833-1.516l.333-.034.346-.029.36-.025.373-.02.588-.025.41-.012.644-.013.915-.009ZM6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.489.004.729-.003h3.564l.73.003.914.01.433.007.418.011.403.014.388.016.374.021.36.025.345.03.333.033c1.74.196 2.933.616 3.833 1.516.9.9 1.32 2.092 1.516 3.833l.034.333.029.346.025.36.02.373.025.588.012.41.013.644.009.915.004.98-.001 3.313-.003.73-.01.914-.007.433-.011.418-.014.403-.016.388-.021.374-.025.36-.03.345-.033.333c-.196 1.74-.616 2.933-1.516 3.833-.9.9-2.092 1.32-3.833 1.516l-.333.034-.346.029-.36.025-.373.02-.588.025-.41.012-.644.013-.915.009-.98.004-3.313-.001-.73-.003-.914-.01-.433-.007-.418-.011-.403-.014-.388-.016-.374-.021-.36-.025-.345-.03-.333-.033c-1.74-.196-2.933-.616-3.833-1.516-.9-.9-1.32-2.092-1.516-3.833l-.034-.333-.029-.346-.025-.36-.02-.373-.025-.588-.012-.41-.013-.644-.009-.915-.004-.98.001-3.313.003-.73.01-.914.007-.433.011-.418.014-.403.016-.388.021-.374.025-.36.03-.345.033-.333c.196-1.74.616-2.933 1.516-3.833.9-.9 2.092-1.32 3.833-1.516l.333-.034.346-.029.36-.025.373-.02.588-.025.41-.012.644-.013.915-.009ZM6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z'/%3E%3C/svg%3E"); }
.icon-platform-x{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z'/%3E%3C/svg%3E"); }
.icon-platform-youtube{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E"); }
.icon-platform-pinterest{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z'/%3E%3C/svg%3E"); }
.icon-platform-meta{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.915 4.03c-1.968 0-3.683 1.28-4.871 3.113C.704 9.208 0 11.883 0 14.449c0 .706.07 1.369.21 1.973a6.624 6.624 0 0 0 .265.86 5.297 5.297 0 0 0 .371.761c.696 1.159 1.818 1.927 3.593 1.927 1.497 0 2.633-.671 3.965-2.444.76-1.012 1.144-1.626 2.663-4.32l.756-1.339.186-.325c.061.1.121.196.183.3l2.152 3.595c.724 1.21 1.665 2.556 2.47 3.314 1.046.987 1.992 1.22 3.06 1.22 1.075 0 1.876-.355 2.455-.843a3.743 3.743 0 0 0 .81-.973c.542-.939.861-2.127.861-3.745 0-2.72-.681-5.357-2.084-7.45-1.282-1.912-2.957-2.93-4.716-2.93-1.047 0-2.088.467-3.053 1.308-.652.57-1.257 1.29-1.82 2.05-.69-.875-1.335-1.547-1.958-2.056-1.182-.966-2.315-1.303-3.454-1.303zm10.16 2.053c1.147 0 2.188.758 2.992 1.999 1.132 1.748 1.647 4.195 1.647 6.4 0 1.548-.368 2.9-1.839 2.9-.58 0-1.027-.23-1.664-1.004-.496-.601-1.343-1.878-2.832-4.358l-.617-1.028a44.908 44.908 0 0 0-1.255-1.98c.07-.109.141-.224.211-.327 1.12-1.667 2.118-2.602 3.358-2.602zm-10.201.553c1.265 0 2.058.791 2.675 1.446.307.327.737.871 1.234 1.579l-1.02 1.566c-.757 1.163-1.882 3.017-2.837 4.338-1.191 1.649-1.81 1.817-2.486 1.817-.524 0-1.038-.237-1.383-.794-.263-.426-.464-1.13-.464-2.046 0-2.221.63-4.535 1.66-6.088.454-.687.964-1.226 1.533-1.533a2.264 2.264 0 0 1 1.088-.285z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.915 4.03c-1.968 0-3.683 1.28-4.871 3.113C.704 9.208 0 11.883 0 14.449c0 .706.07 1.369.21 1.973a6.624 6.624 0 0 0 .265.86 5.297 5.297 0 0 0 .371.761c.696 1.159 1.818 1.927 3.593 1.927 1.497 0 2.633-.671 3.965-2.444.76-1.012 1.144-1.626 2.663-4.32l.756-1.339.186-.325c.061.1.121.196.183.3l2.152 3.595c.724 1.21 1.665 2.556 2.47 3.314 1.046.987 1.992 1.22 3.06 1.22 1.075 0 1.876-.355 2.455-.843a3.743 3.743 0 0 0 .81-.973c.542-.939.861-2.127.861-3.745 0-2.72-.681-5.357-2.084-7.45-1.282-1.912-2.957-2.93-4.716-2.93-1.047 0-2.088.467-3.053 1.308-.652.57-1.257 1.29-1.82 2.05-.69-.875-1.335-1.547-1.958-2.056-1.182-.966-2.315-1.303-3.454-1.303zm10.16 2.053c1.147 0 2.188.758 2.992 1.999 1.132 1.748 1.647 4.195 1.647 6.4 0 1.548-.368 2.9-1.839 2.9-.58 0-1.027-.23-1.664-1.004-.496-.601-1.343-1.878-2.832-4.358l-.617-1.028a44.908 44.908 0 0 0-1.255-1.98c.07-.109.141-.224.211-.327 1.12-1.667 2.118-2.602 3.358-2.602zm-10.201.553c1.265 0 2.058.791 2.675 1.446.307.327.737.871 1.234 1.579l-1.02 1.566c-.757 1.163-1.882 3.017-2.837 4.338-1.191 1.649-1.81 1.817-2.486 1.817-.524 0-1.038-.237-1.383-.794-.263-.426-.464-1.13-.464-2.046 0-2.221.63-4.535 1.66-6.088.454-.687.964-1.226 1.533-1.533a2.264 2.264 0 0 1 1.088-.285z'/%3E%3C/svg%3E"); }

.wrap{max-width:1180px; margin:0 auto; padding:0 30px;}
.wrap-narrow{max-width:820px; margin:0 auto; padding:0 30px;}
section{padding:110px 0;}
section.tight{padding:64px 0;}

.eyebrow{
  font-family:var(--font-m); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--teal); box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 18%, transparent);}
.eyebrow.center{display:flex; justify-content:center; width:100%;}

h2.section-title{
  font-family:var(--font-d); font-weight:800; letter-spacing:-0.025em; line-height:1.04;
  font-size:clamp(28px,4vw,46px); margin:0 0 16px; text-wrap:balance;
}
p.section-lede{color:var(--muted); font-size:16.5px; max-width:52ch; margin:0 auto 56px; line-height:1.6;}
.center{text-align:center;}

/* ==========================================================================
   Chrome: noise + progress + cursor
   ========================================================================== */
.grain{
  position:fixed; inset:0; z-index:998; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.progress-rail{position:fixed; top:0; left:0; right:0; height:2px; z-index:1000;}
.progress-bar{height:100%; width:0%; background:linear-gradient(90deg, var(--teal), var(--accent)); transition:width .08s linear;}
.cursor-dot, .cursor-ring{position:fixed; top:0; left:0; pointer-events:none; z-index:999; border-radius:50%; transform:translate(-50%,-50%); will-change:transform;}
.cursor-dot{width:6px; height:6px; background:var(--accent); transition:opacity .2s;}
.cursor-ring{width:34px; height:34px; border:1px solid var(--muted-dim); transition:width .18s,height .18s,border-color .18s,opacity .2s;}
.cursor-ring.hover{width:54px; height:54px; border-color:var(--accent);}
@media (pointer:coarse){ .cursor-dot,.cursor-ring{display:none;} }

/* ==========================================================================
   Nav
   ========================================================================== */
header.nav{
  position:fixed; top:0; left:0; right:0; z-index:900; width:100%;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px;
  padding:16px 40px; border-radius:0; border:none; border-bottom:1px solid transparent;
  background:transparent; backdrop-filter:none; transition:background .35s ease, border-color .35s ease, padding .35s ease, box-shadow .35s ease;
}
header.nav.scrolled{
  background:color-mix(in srgb, var(--bg-elev) 78%, transparent); border-bottom-color:var(--line);
  backdrop-filter:blur(14px) saturate(1.4); padding:13px 40px; box-shadow:0 12px 34px -18px rgba(0,0,0,.55);
}
.brand{font-family:var(--font-d); font-weight:800; font-size:15.5px; letter-spacing:-0.01em; text-decoration:none; color:var(--fg); display:flex; align-items:center; gap:9px; justify-self:start;}
.brand .mark{width:20px; height:20px; position:relative; flex:none;}
.brand .mark svg{width:100%; height:100%;}
nav.links{display:flex; gap:46px; font-size:15px; font-weight:600; justify-self:center;}
nav.links a{text-decoration:none; color:var(--muted); position:relative; white-space:nowrap;}
nav.links a::after{content:""; position:absolute; left:0; right:0; bottom:-5px; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:right; transition:transform .25s ease;}
nav.links a:hover{color:var(--fg);}
nav.links a:hover::after{transform:scaleX(1); transform-origin:left;}
.nav-right{display:flex; align-items:center; gap:16px; justify-self:end;}

.nav-cta{
  font-size:13.5px; font-weight:700; padding:9px 18px; border-radius:999px;
  background:linear-gradient(135deg, var(--accent-strong), var(--accent)); color:#fff; text-decoration:none;
  display:inline-flex; align-items:center; gap:7px; box-shadow:0 10px 24px -12px var(--accent-soft);
  transition:filter .2s ease, transform .2s ease;
}
.nav-cta:hover{filter:brightness(1.08); transform:translateY(-1px);}
.nav-cta .icon{width:13px; height:13px;}

.nav-cta-group{display:flex; align-items:stretch;}
.nav-cta-group .nav-cta{border-radius:999px 0 0 999px; box-shadow:none;}
.nav-cta-secondary{
  font-size:13.5px; font-weight:700; padding:9px 16px; border-radius:0 999px 999px 0;
  background:var(--bg-elev2); color:var(--fg); text-decoration:none;
  border:1px solid var(--line-strong); border-left:none;
  display:inline-flex; align-items:center; transition:border-color .2s ease, color .2s ease;
}
.nav-cta-secondary:hover{border-color:var(--accent); color:var(--accent);}

.lang-switch{position:relative; font-family:var(--font-m); font-size:12px;}
.lang-switch summary{
  display:flex; align-items:center; gap:6px; list-style:none; cursor:pointer; user-select:none;
  padding:8px 12px; border-radius:999px; border:1px solid var(--line-strong); color:var(--muted);
  transition:border-color .2s ease, color .2s ease;
}
.lang-switch summary::-webkit-details-marker{display:none;}
.lang-switch summary .icon{width:13px; height:13px; flex:none;}
.lang-switch summary .icon-arrow-down{width:9px; height:9px; transition:transform .2s ease;}
.lang-switch[open] summary{border-color:var(--accent); color:var(--fg);}
.lang-switch[open] summary .icon-arrow-down{transform:rotate(180deg);}
.lang-menu{
  position:absolute; top:calc(100% + 8px); right:0; min-width:150px; background:var(--bg-elev2);
  border:1px solid var(--line-strong); border-radius:12px; padding:6px; display:flex; flex-direction:column; gap:2px;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.5); z-index:20;
}
.lang-menu a{text-decoration:none; color:var(--muted); padding:8px 10px; border-radius:8px; font-size:12.5px;}
.lang-menu a:hover{background:var(--bg-elev); color:var(--fg);}
.lang-menu a.active{color:var(--accent); font-weight:600;}
main{padding-top:0;}

/* ==========================================================================
   Buttons / magnetic + spark
   ========================================================================== */
.btn{position:relative; display:inline-flex; align-items:center; gap:8px; cursor:pointer; border:none; overflow:visible; text-decoration:none;}
.btn-primary, .btn{
  font-family:var(--font-b); font-weight:700; font-size:15px; padding:16px 28px; border-radius:12px;
  background:linear-gradient(135deg, var(--accent-strong), var(--accent)); color:#fff;
  box-shadow:0 14px 34px -14px var(--accent-soft), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:hover, .btn:hover{filter:brightness(1.08);}
.btn-ghost, .btn-secondary{
  font-family:var(--font-b); font-weight:600; font-size:14.5px; padding:15px 22px; border-radius:12px;
  background:transparent; color:var(--fg); border:1px solid var(--line-strong);
  box-shadow:none;
}
.btn-ghost:hover, .btn-secondary:hover{border-color:var(--accent); color:var(--accent); filter:none;}
.btn.small, .btn-ghost.small{padding:10px 16px; font-size:13.5px;}
.spark{position:absolute; width:4px; height:4px; border-radius:50%; background:#fff; pointer-events:none; animation:spark .6s ease-out forwards;}
@keyframes spark{ to{ transform:translate(var(--dx), var(--dy)) scale(0); opacity:0; } }

/* ==========================================================================
   Reveal-on-scroll utility
   ========================================================================== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.16,.8,.24,1), transform .8s cubic-bezier(.16,.8,.24,1); transition-delay:var(--d,0s);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal.zoom{transform:scale(.94);}
.reveal.zoom.in{transform:scale(1);}
.reveal.left{transform:translateX(-32px);}
.reveal.left.in{transform:translateX(0);}
.reveal.right{transform:translateX(32px);}
.reveal.right.in{transform:translateX(0);}

/* ==========================================================================
   Hero (landing)
   ========================================================================== */
.hero{position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center; padding:140px 0 80px; overflow:hidden;}
.hero-glow{position:absolute; top:-20%; left:50%; width:1100px; height:900px; transform:translateX(-50%);
  background:radial-gradient(circle at 50% 30%, var(--accent-soft), transparent 60%); pointer-events:none; z-index:0;}
#particleCanvas{position:absolute; inset:0; z-index:0; opacity:.8;}
.hero-inner{position:relative; z-index:2; text-align:center;}
.hero h1{
  font-family:var(--font-d); font-weight:800; letter-spacing:-0.035em; line-height:.98;
  font-size:clamp(38px, 6.6vw, 92px); margin:0 auto 26px; max-width:18ch;
}
.hero h1 .word{display:inline-block; overflow:hidden; vertical-align:top;}
.hero h1 .word span{display:inline-block; transform:translateY(110%); animation:wordUp .8s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:var(--wd,0s);}
.hero h1 .accent-word span{background:linear-gradient(100deg, var(--accent-strong), var(--teal)); -webkit-background-clip:text; background-clip:text; color:transparent;}
@keyframes wordUp{ to{ transform:translateY(0); } }
.hero p.lede{color:var(--muted); font-size:18px; max-width:52ch; margin:0 auto 40px; opacity:0; animation:fadeUp .8s ease forwards; animation-delay:.9s;}
.hero .cta-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; opacity:0; animation:fadeUp .8s ease forwards; animation-delay:1.05s;}
@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

.hero-stats{
  position:relative; z-index:2; display:flex; justify-content:center; gap:0; margin-top:76px; flex-wrap:wrap;
  opacity:0; animation:fadeUp .8s ease forwards; animation-delay:1.2s;
}
.hero-stats div{padding:0 40px; text-align:center; border-left:1px solid var(--line);}
.hero-stats div:first-child{border-left:none;}
.hero-stats b{font-family:var(--font-m); font-size:26px; display:block; font-variant-numeric:tabular-nums;}
.hero-stats span{font-size:12px; color:var(--muted-dim); text-transform:uppercase; letter-spacing:.08em;}

.scroll-cue{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--muted-dim); font-family:var(--font-m); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;}
.scroll-cue .line{width:1px; height:34px; background:linear-gradient(var(--muted-dim), transparent); position:relative; overflow:hidden;}
.scroll-cue .line::after{content:""; position:absolute; top:-20px; left:0; width:100%; height:20px; background:linear-gradient(var(--accent), transparent); animation:cueDrop 1.8s ease-in-out infinite;}
@keyframes cueDrop{ 0%{top:-20px;} 100%{top:40px;} }

/* generic page header (non-landing pages) */
.page-hero{padding:150px 0 30px; text-align:center;}
.page-hero h1{font-family:var(--font-d); font-weight:800; letter-spacing:-0.03em; font-size:clamp(30px,5vw,52px); margin:0 0 14px; text-wrap:balance;}
.page-hero p{color:var(--muted); font-size:16.5px; max-width:56ch; margin:0 auto;}

/* ==========================================================================
   Platform scatter — decorative floating brand marks in the hero background
   ========================================================================== */
.platform-scatter{position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;}
.pfloat{
  position:absolute; width:var(--ps,54px); height:var(--ps,54px); border-radius:calc(var(--ps,54px) * .28);
  background:var(--bg-elev); border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  opacity:var(--po,.5); box-shadow:0 20px 40px -22px rgba(0,0,0,.55);
  transform:rotate(var(--pr,0deg)); animation:floaty var(--pdur,7s) ease-in-out infinite; animation-delay:var(--pd,0s);
}
.pfloat .icon{width:var(--pis,24px); height:var(--pis,24px);}
.icon-platform-facebook{color:#0866FF;}
.icon-platform-instagram{color:#FF0069;}
.icon-platform-whatsapp{color:#25D366;}
.icon-platform-telegram{color:#26A5E4;}
.icon-platform-tiktok{color:var(--fg);}
.icon-platform-vk{color:#0077FF;}
.icon-platform-x{color:var(--fg);}
.icon-platform-youtube{color:#FF0000;}
.icon-platform-meta{color:#0467DF;}
.icon-platform-pinterest{color:#BD081C;}
@keyframes floaty{ 0%,100%{ transform:rotate(var(--pr,0deg)) translateY(0); } 50%{ transform:rotate(var(--pr,0deg)) translateY(-16px); } }
.platform-caption{
  position:relative; z-index:2; text-align:center; font-family:var(--font-m); font-size:12px; color:var(--muted-dim);
  margin-top:20px; opacity:0; animation:fadeUp .8s ease forwards; animation-delay:1.3s;
}
@media (max-width:960px){ .platform-scatter{display:none;} }
@media (prefers-reduced-motion: reduce){ .pfloat{animation:none;} }

/* ==========================================================================
   Marquee
   ========================================================================== */
.marquee-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; overflow:hidden; background:var(--bg-soft); position:relative;}
.marquee-track{display:flex; width:max-content; animation:marquee 26s linear infinite;}
.marquee-strip:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{font-family:var(--font-m); font-size:14px; color:var(--muted); white-space:nowrap; display:flex; align-items:center; gap:10px; margin-right:56px;}
.marquee-track span::before{content:""; display:inline-block; width:7px; height:7px; background:var(--accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 22 12 12 22 2 12z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 22 12 12 22 2 12z'/%3E%3C/svg%3E") center/contain no-repeat;}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ==========================================================================
   Scan story (pinned)
   ========================================================================== */
.story{position:relative; padding:0;}
.story-sticky-wrap{height:340vh; position:relative;}
.story-pin{position:sticky; top:0; height:100vh; display:flex; align-items:center; overflow:hidden;}
.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; width:100%;}
.story-copy .eyebrow{margin-bottom:20px;}
.story-copy h2{font-family:var(--font-d); font-weight:800; letter-spacing:-0.025em; font-size:clamp(28px,3.6vw,42px); line-height:1.08; margin:0 0 20px; text-wrap:balance;}
.story-copy p{color:var(--muted); font-size:16px; max-width:44ch; margin:0 0 28px;}
.story-readout{font-family:var(--font-m); font-size:15px; color:var(--muted-dim); display:flex; gap:34px;}
.story-readout b{color:var(--teal); font-variant-numeric:tabular-nums; font-size:19px; display:inline-flex; align-items:center; gap:10px;}
.story-readout .icon{width:.8em; height:.8em;}

.scan-card{position:relative; border:1px solid var(--line-strong); border-radius:18px; background:var(--bg-elev); overflow:hidden; aspect-ratio:4/3.6; box-shadow:0 40px 80px -40px rgba(0,0,0,.6);}
.scan-photo{position:absolute; inset:0; background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.08), transparent 45%),
    linear-gradient(150deg,#3a3560 0%, #221f3d 35%, #171533 70%, #100e26 100%);
}
.scan-beam{position:absolute; left:0; right:0; height:2px; top:0%; background:linear-gradient(90deg, transparent, var(--accent-strong), var(--teal), transparent); box-shadow:0 0 22px 4px var(--accent-soft); z-index:7;}
.scan-chip{
  position:absolute; background:color-mix(in srgb, var(--bg-elev2) 92%, transparent); border:1px solid var(--line-strong);
  border-radius:10px; padding:9px 15px; font-family:var(--font-m); font-size:13.5px; color:var(--muted);
  opacity:0; transform:scale(.85); transition:opacity .35s ease, transform .35s ease, color .3s ease; backdrop-filter:blur(6px); z-index:4;
}
.scan-chip.visible{opacity:1; transform:scale(1);}
.scan-chip.stripped{color:var(--muted-dim); text-decoration:line-through; text-decoration-color:var(--amber); border-color:var(--line);}
.scan-frame{position:absolute; inset:14px; border:1px dashed color-mix(in srgb, var(--fg) 14%, transparent); border-radius:12px; z-index:2; pointer-events:none;}

.badge-spinner{
  width:11px; height:11px; border-radius:50%; display:inline-block; flex:none; vertical-align:middle;
  border:2px solid color-mix(in srgb, currentColor 25%, transparent); border-top-color:currentColor;
  animation:badgeSpin .8s linear infinite;
}
.badge-spinner[hidden]{display:none;}
@keyframes badgeSpin{ to{transform:rotate(360deg);} }
@media (prefers-reduced-motion: reduce){ .badge-spinner{animation:none;} }

/* ==========================================================================
   Bento
   ========================================================================== */
.bento{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:14px;}
.bcard{
  position:relative; border-radius:16px; border:1px solid var(--line); background:var(--bg-elev); padding:20px 24px 22px;
  overflow:hidden; display:flex; flex-direction:column; justify-content:flex-start;
}
.bcard::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .35s;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 70%);
}
.bcard:hover::before{opacity:1;}
.bcard:hover{border-color:var(--line-strong); transform:translateY(-3px); transition:transform .3s ease, border-color .3s ease;}
.bcard .tag{
  font-family:var(--font-m); font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--accent);
  position:relative; z-index:1; display:block; min-height:1.2em;
}
.bcard h3{font-size:18px; margin:8px 0 6px; font-weight:700; position:relative; z-index:1; min-height:2.5em; line-height:1.25;}
.bcard p{color:var(--muted); font-size:13.5px; margin:0; position:relative; z-index:1; line-height:1.5; min-height:4em;}
.bcard.big{grid-column:span 2; grid-row:span 2;}
.bcard.big h3{font-size:23px;}
.bcard.wide{grid-column:span 2;}
.bcard .num{position:absolute; top:20px; right:22px; font-family:var(--font-m); font-size:34px; color:var(--line-strong); font-weight:700; z-index:0;}

.bcard-visual{
  position:relative; height:140px; border-radius:14px; margin-bottom:20px; flex:none;
  background:linear-gradient(160deg, var(--bg-elev2), var(--bg-soft)); border:1px solid var(--line);
  overflow:hidden; display:flex; align-items:center; justify-content:center; z-index:1;
}
.bcard-visual .icon{width:36px; height:36px; color:var(--muted-dim); position:relative; z-index:1;}
.bcard-visual .beam{
  position:absolute; left:0; right:0; height:2px; top:-10%;
  background:linear-gradient(90deg, transparent, var(--accent-strong), var(--teal), transparent);
  box-shadow:0 0 16px 2px var(--accent-soft); animation:bcardBeam 3.6s ease-in-out infinite;
}
@keyframes bcardBeam{ 0%,100%{top:-10%;} 50%{top:104%;} }
.bcard-visual .tagchip{
  position:absolute; font-family:var(--font-m); font-size:10px; padding:4px 9px; border-radius:999px;
  background:color-mix(in srgb, var(--bg-elev2) 90%, transparent); border:1px solid var(--line-strong);
  color:var(--muted-dim); animation:bcardFade 3.6s ease-in-out infinite;
}
.bcard-visual .tagchip.t2{animation-delay:.5s;}
@keyframes bcardFade{
  0%,100%{opacity:.4; text-decoration:none; text-decoration-color:var(--amber);}
  45%{opacity:1; text-decoration:none;}
  65%,90%{opacity:.55; text-decoration:line-through; text-decoration-color:var(--amber);}
}
@media (prefers-reduced-motion: reduce){ .bcard-visual .beam{animation:none; opacity:.6;} .bcard-visual .tagchip{animation:none; opacity:.6;} }

/* ==========================================================================
   Drag before/after slider
   ========================================================================== */
.slider-wrap{
  position:relative; display:grid; max-width:640px; margin:0 auto;
  border:1px solid var(--line-strong); border-radius:18px; overflow:hidden;
  cursor:ew-resize; user-select:none; box-shadow:0 30px 70px -40px rgba(0,0,0,.55);
}
.slider-panel{grid-area:1/1; padding:24px 28px; display:flex; flex-direction:column;}
.slider-panel.before{background:linear-gradient(160deg, var(--bg-elev2), var(--bg-elev));}
.slider-panel.after{background:linear-gradient(160deg, color-mix(in srgb, var(--teal) 10%, var(--bg-elev)), var(--bg-elev)); clip-path:inset(0 0 0 50%);}
.slider-panel .plabel{font-family:var(--font-m); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted-dim); margin-bottom:12px;}
.slider-panel.after .plabel{color:var(--teal);}
.sfield{display:flex; justify-content:space-between; gap:14px; font-family:var(--font-m); font-size:13px; padding:8px 0; border-bottom:1px solid var(--line);}
.sfield:last-child{border-bottom:none;}
.slider-panel.before .sfield span:last-child{color:var(--fg);}
.slider-panel.after .sfield span:last-child{color:var(--muted-dim); font-style:italic;}
.slider-handle{position:absolute; top:0; bottom:0; left:50%; width:0; z-index:5; transform:translateX(-50%);}
.slider-handle::before{content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; background:var(--fg); transform:translateX(-50%); box-shadow:0 0 18px var(--accent-soft);}
.slider-grip{position:absolute; top:50%; left:50%; width:46px; height:46px; border-radius:50%; background:var(--fg); transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; color:var(--bg); box-shadow:0 8px 20px -6px rgba(0,0,0,.5);}
.slider-grip .icon{width:20px; height:20px;}

/* ==========================================================================
   Steps carousel
   ========================================================================== */
.steps-carousel{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:20px calc(50% - min(360px, 82vw)/2) 34px; margin:0; scrollbar-width:none; cursor:grab;
  perspective:1400px;
}
.steps-carousel::-webkit-scrollbar{display:none;}
.steps-carousel.dragging{cursor:grabbing; scroll-snap-type:none;}
.steps-carousel.dragging .step-card{pointer-events:none;}
.step-card{
  scroll-snap-align:center; scroll-snap-stop:always; flex:0 0 min(360px, 82vw); border:1px solid var(--line); border-radius:16px; background:var(--bg-elev);
  padding:28px; position:relative; transition:border-color .3s ease; will-change:transform, opacity, filter;
}
.step-card.active{border-color:var(--accent); box-shadow:0 30px 60px -34px rgba(0,0,0,.55);}
.step-card .snum{font-family:var(--font-m); font-size:34px; font-weight:700; color:var(--line-strong); margin-bottom:18px;}
.step-card.active .snum{color:var(--accent);}
.step-card h4{font-size:17px; margin:0 0 8px;}
.step-card p{color:var(--muted); font-size:14px; margin:0;}
.dots{display:flex; gap:8px; justify-content:center;}
.dots span{width:6px; height:6px; border-radius:50%; background:var(--line-strong); transition:background .3s, width .3s;}
.dots span.active{background:var(--accent); width:20px; border-radius:4px;}

.carousel-nav{display:flex; align-items:center; justify-content:center; gap:22px; margin-top:6px;}
.carousel-arrow{
  width:40px; height:40px; border-radius:50%; border:1px solid var(--line-strong); background:var(--bg-elev);
  color:var(--fg); display:flex; align-items:center; justify-content:center; cursor:pointer; flex:none;
  transition:border-color .2s, color .2s, opacity .2s;
}
.carousel-arrow:hover{border-color:var(--accent); color:var(--accent);}
.carousel-arrow:disabled{opacity:.35; cursor:default; border-color:var(--line-strong); color:var(--fg);}
.carousel-arrow .icon{width:16px; height:16px;}

/* ==========================================================================
   Ticker / trust
   ========================================================================== */
.ticker-panel{border:1px solid var(--line); border-radius:16px; background:var(--bg-elev); overflow:hidden;}
.ticker-row{display:flex; justify-content:space-between; align-items:center; padding:13px 22px; border-bottom:1px solid var(--line); font-family:var(--font-m); font-size:12.5px; color:var(--muted); gap:12px;}
.ticker-row:last-child{border-bottom:none;}
.ticker-row b{color:var(--fg); font-weight:600; text-align:right;}
.ticker-row .ok{color:var(--teal);}

/* ==========================================================================
   Pricing
   ========================================================================== */
.toggle-row{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; margin-bottom:20px;}
.toggle-row > span:first-child{justify-self:end;}
.toggle-row > span:last-child{justify-self:start;}
.toggle-row span{font-size:14px; color:var(--muted); font-weight:600;}
.toggle-row span.active{color:var(--fg);}
@media (max-width:480px){
  .toggle-row{grid-template-columns:1fr; justify-items:center; gap:10px;}
  .toggle-row > span:first-child, .toggle-row > span:last-child{justify-self:center;}
}
.switch{position:relative; width:52px; height:28px; border-radius:999px; background:var(--line-strong); border:none; cursor:pointer; flex:none;}
.switch::after{content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:var(--fg); transition:transform .28s cubic-bezier(.2,.9,.3,1);}
.switch.on{background:var(--accent);}
.switch.on::after{transform:translateX(24px);}
.toggle-row .save-badge{
  display:inline-block; font-family:var(--font-m); font-size:11.5px; font-weight:700;
  background:linear-gradient(135deg, var(--teal), var(--accent-strong)); color:#fff;
  padding:4px 10px; border-radius:999px; letter-spacing:.02em;
  box-shadow:0 6px 16px -6px var(--accent-soft); animation:saveBadgePulse 2.2s ease-in-out infinite;
}
@keyframes saveBadgePulse{ 0%,100%{transform:scale(1);} 50%{transform:scale(1.1);} }
@media (prefers-reduced-motion:reduce){ .save-badge{animation:none;} }

.pricing-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.pcard{border:1px solid var(--line); border-radius:20px; background:var(--bg-elev); padding:34px; position:relative; overflow:hidden;}
.pcard.pro{border-color:var(--line-strong);}
.pcard.pro::before{content:""; position:absolute; inset:-1px; padding:1px; border-radius:20px;
  background:conic-gradient(from var(--ang,0deg), var(--accent), var(--teal), var(--accent));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; animation:spin 5s linear infinite; opacity:.9;}
@keyframes spin{ to{ --ang:360deg; } }
@property --ang{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
.pcard-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:26px;}
.pcard .ptag{
  font-family:var(--font-m); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted);
  border:1px solid var(--line-strong); border-radius:999px; padding:5px 12px; flex:none;
}
.pcard.pro .ptag{color:var(--accent-strong); border-color:var(--accent); background:var(--accent-soft);}
.pcard .pamt{font-family:var(--font-d); font-weight:800; font-size:40px; margin:-6px 0 0; letter-spacing:-0.02em;}
.pcard .pamt small{font-size:14px; font-weight:500; color:var(--muted);}
.pcard ul{list-style:none; padding:0; margin:26px 0 30px; display:flex; flex-direction:column; gap:11px; font-size:14.5px; color:var(--muted);}
.pcard li{display:flex; align-items:center; gap:9px;}
.pcard li::before{content:""; display:inline-block; width:14px; height:14px; background:var(--teal); flex:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pcard .btn-ghost, .pcard .btn-primary, .pcard .btn{width:100%; justify-content:center;}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; text-align:left; background:none; border:none; color:var(--fg); padding:22px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:16px; font-weight:600; cursor:pointer;}
.faq-q .plus{width:20px; height:20px; position:relative; flex:none;}
.faq-q .plus::before, .faq-q .plus::after{content:""; position:absolute; background:var(--muted); top:50%; left:50%; transform:translate(-50%,-50%);}
.faq-q .plus::before{width:14px; height:1.6px;}
.faq-q .plus::after{width:1.6px; height:14px; transition:transform .3s;}
.faq-item.open .faq-q .plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
.faq-item.open .faq-q{color:var(--accent);}
.faq-a-wrap{display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease;}
.faq-item.open .faq-a-wrap{grid-template-rows:1fr;}
.faq-a-inner{overflow:hidden;}
.faq-a-inner p{color:var(--muted); font-size:14.5px; margin:0 0 22px; max-width:64ch; line-height:1.6;}

/* ==========================================================================
   CTA banner
   ========================================================================== */
.cta-banner{position:relative; border-radius:28px; overflow:hidden; padding:90px 40px; text-align:center; isolation:isolate;}
.cta-banner .bg{position:absolute; inset:0; z-index:-1; background:
    radial-gradient(circle at 20% 20%, var(--accent-soft), transparent 55%),
    radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--teal) 16%, transparent), transparent 55%),
    var(--bg-elev);
  border:1px solid var(--line);}
.cta-banner h2{font-family:var(--font-d); font-weight:800; font-size:clamp(30px,4.6vw,52px); letter-spacing:-0.03em; margin:0 0 18px; text-wrap:balance;}
.cta-banner p{color:var(--muted); font-size:16.5px; margin:0 0 34px;}

/* ==========================================================================
   Footer
   ========================================================================== */
footer{padding:80px 0 40px;}
footer .wrap{max-width:none; padding:0 40px;}
.foot-top{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:56px; border-bottom:1px solid var(--line);}
.foot-brand p{color:var(--muted); font-size:14px; max-width:32ch; margin:14px 0 0;}
.foot-col h5{font-family:var(--font-m); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted-dim); margin:0 0 16px;}
.foot-col a{display:block; color:var(--muted); text-decoration:none; font-size:14.5px; margin-bottom:11px;}
.foot-col a:hover{color:var(--fg);}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:13px; color:var(--muted-dim); flex-wrap:wrap; gap:12px;}
.foot-word{font-family:var(--font-d); font-weight:800; font-size:min(16vw,168px); letter-spacing:-0.04em; line-height:.8; text-align:center; margin:60px 0 0; color:var(--bg-elev2); user-select:none;}

/* ==========================================================================
   Функциональные блоки: dropzone / file-list / meta-diff (uploader.js)
   ========================================================================== */
.tool-shell{padding:0 0 130px;}
.dropzone{
  margin-top:8px; padding:14px; border:none; border-radius:22px;
  cursor:pointer; background:var(--bg-elev); position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:12px;
  box-shadow:0 30px 70px -46px rgba(0,0,0,.5);
}
.dz-header{
  flex:1; min-height:210px; border:2px dashed var(--line-strong); border-radius:16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  transition:border-color .25s ease, background .25s ease;
}
.dz-header .icon{width:52px; height:52px; color:var(--accent); flex:none;}
.dz-header p{
  font-family:var(--font-m); font-size:14px; color:var(--muted); margin:0; letter-spacing:.02em; text-align:center;
}
.dropzone.dragover .dz-header{border-color:var(--accent); background:var(--accent-soft);}
.dz-footer{
  background:var(--accent-soft); border-radius:14px; padding:13px 18px;
  display:flex; align-items:center; gap:10px; color:var(--accent-strong); font-weight:700; font-size:13.5px;
}
.dz-footer .icon-folder{width:19px; height:19px; flex:none;}
.dz-footer p{flex:1; margin:0;}
.dz-footer .icon-arrow-right{width:13px; height:13px; opacity:.75;}

.file-list{list-style:none; padding:0; margin:26px 0 0; display:flex; flex-direction:column; gap:10px;}
.file-row{
  padding:16px 18px; background:var(--bg-elev); border:1px solid var(--line); border-radius:12px;
}
.file-row-main{display:flex; align-items:center; gap:14px;}
.file-name{flex:0 0 auto; max-width:38%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--font-m); font-size:13px;}
.progress{flex:1 1 auto; height:6px; background:var(--line); border-radius:999px; overflow:hidden;}
.progress-bar{height:100%; width:0; background:linear-gradient(90deg, var(--accent-strong), var(--teal)); border-radius:999px; transition:width .2s ease;}
.file-status{flex:0 0 auto; font-family:var(--font-m); font-size:12.5px; color:var(--muted);}
.file-status a{color:var(--teal); text-decoration:none; font-weight:600;}
.file-status.error{color:var(--danger);}

.batch-actions{margin-top:18px; text-align:right;}

.modal-overlay{
  position:fixed; inset:0; z-index:1200; background:color-mix(in srgb, var(--bg) 72%, transparent);
  backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:24px;
}
.modal-overlay[hidden]{display:none;}
.modal-card{
  position:relative; width:100%; max-width:420px; background:var(--bg-elev); border:1px solid var(--line);
  border-radius:20px; padding:36px 32px 32px; text-align:center; box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
}
.modal-close{
  position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:50%; border:none; cursor:pointer;
  background:var(--bg-elev2); color:var(--muted); display:flex; align-items:center; justify-content:center;
  transition:color .2s ease, background .2s ease;
}
.modal-close .icon{width:14px; height:14px;}
.modal-close:hover{color:var(--fg); background:var(--line);}
.modal-icon{
  display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px;
  background:var(--accent-soft); color:var(--accent); margin-bottom:16px;
}
.modal-icon .icon{width:24px; height:24px;}
.modal-card h3{margin:0 0 10px; font-size:19px;}
.modal-card p{color:var(--muted); font-size:14.5px; line-height:1.6; margin:0 0 24px;}
.modal-actions{display:flex; flex-direction:column; gap:10px;}

.meta-diff{font-size:13px; margin-top:12px;}
.meta-toggle{
  background:none; border:none; color:var(--accent); cursor:pointer; padding:0; font-family:var(--font-m);
  font-size:12.5px; text-decoration:underline; text-underline-offset:3px;
}
.meta-details{margin-top:10px; padding:14px 16px; background:var(--bg); border:1px solid var(--line); border-radius:10px;}
.meta-details ul{margin:0; padding-left:0; list-style:none; color:var(--muted); font-family:var(--font-m); font-size:12.5px; display:flex; flex-direction:column; gap:6px;}
.meta-details ul strong{color:var(--fg); font-weight:600;}
.meta-after{margin:12px 0 0; font-weight:600; color:var(--teal); font-family:var(--font-m); font-size:12.5px;}

/* ==========================================================================
   Функциональные блоки: auth (auth.js) + account
   ========================================================================== */
.account-shell{padding:0 0 130px;}
.card{background:var(--bg-elev); border:1px solid var(--line); border-radius:18px; padding:34px;}
.card.narrow{max-width:440px; margin:0 auto; transition:border-color .3s ease;}

.auth-center{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:60px 0;}
.auth-center .wrap-narrow{width:100%;}
.auth-center .card.narrow{
  max-width:500px; padding:30px 38px; background:var(--bg-elev2); border-radius:20px; border:1px solid var(--line);
  transition:border-color .3s ease;
}
.auth-center .card.narrow:hover{border-color:var(--line-strong);}

.auth-heading{font-size:22px; font-weight:800; text-align:center; margin:0;}
.auth-form{display:flex; flex-direction:column; min-height:540px;}
.auth-form[hidden]{display:none;}
.auth-form-middle{flex:1; display:flex; flex-direction:column; justify-content:center;}
.auth-form-top{display:flex; flex-direction:column; gap:10px;}
.auth-form-bottom{display:flex; flex-direction:column; gap:10px;}
.auth-form label{color:var(--fg); font-weight:600; font-size:13.5px;}
.auth-field{
  border:1.5px solid var(--line-strong); border-radius:10px; height:50px;
  display:flex; align-items:center; gap:10px; padding:0 14px; background:var(--bg);
  transition:border-color .2s ease-in-out;
}
.auth-field:focus-within{border-color:var(--accent);}
.auth-field .icon{width:18px; height:18px; flex:none; color:var(--muted-dim);}
.auth-field:focus-within .icon{color:var(--accent);}
.auth-input{
  border:none; outline:none; background:none; width:100%; height:100%;
  color:var(--fg); font-size:14.5px; font-family:var(--font-b);
}
.auth-input::placeholder{color:var(--muted-dim);}
.auth-input:-webkit-autofill,
.auth-input:-webkit-autofill:hover,
.auth-input:-webkit-autofill:focus,
.auth-input:-webkit-autofill:active{
  -webkit-text-fill-color:var(--fg); caret-color:var(--fg);
  -webkit-box-shadow:0 0 0 1000px var(--bg) inset; box-shadow:0 0 0 1000px var(--bg) inset;
  transition:background-color 5000s ease-in-out 0s;
}

.auth-row{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.auth-remember{display:flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); font-weight:400; cursor:pointer;}
.auth-remember input[type="checkbox"]{accent-color:var(--accent); width:15px; height:15px; cursor:pointer;}
.auth-link{font-size:13.5px; color:var(--accent); font-weight:600; cursor:pointer;}
.auth-link.dim{color:var(--muted-dim); cursor:default;}

.auth-submit{
  margin:16px 0 4px; background:linear-gradient(135deg, var(--accent-strong), var(--accent));
  border:none; color:#fff; font-size:15px; font-weight:700; border-radius:10px; height:50px; width:100%;
  cursor:pointer; transition:filter .2s ease;
}
.auth-submit:hover{filter:brightness(1.08);}
.auth-switch{text-align:center; color:var(--muted); font-size:13.5px; margin:6px 0 0;}
.auth-error{color:var(--danger); font-size:13.5px; margin:0; text-align:center;}

.account-header{display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; margin-bottom:28px;}
.account-header h1{font-size:26px; margin:0 0 6px;}
.plan-pill{font-family:var(--font-m); font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; padding:5px 12px; border-radius:999px; border:1px solid var(--line-strong); color:var(--muted);}
.plan-pill.premium{color:var(--accent-strong); border-color:var(--accent); background:var(--accent-soft);}

/* ==========================================================================
   Личный кабинет — вкладки, статистика, чат поддержки
   ========================================================================== */
.dash-layout{display:grid; grid-template-columns:240px 1fr; gap:36px; align-items:start;}
.dash-sidebar{position:sticky; top:100px; display:flex; flex-direction:column; gap:18px;}
.dash-content{min-width:0;}

.dash-tabs{display:flex; flex-direction:column; gap:2px;}
.dash-tab{
  position:relative; width:100%; padding:12px 14px; background:none; border:none; border-radius:11px;
  color:var(--muted); font-weight:600; font-size:14.5px; cursor:pointer; display:flex; align-items:center; gap:12px;
  font-family:var(--font-b); text-align:left; transition:background .2s ease, color .2s ease;
}
.dash-tab .icon{width:18px; height:18px; flex:none; color:var(--muted-dim); transition:color .2s ease;}
.dash-tab:hover{color:var(--fg); background:var(--bg-elev2);}
.dash-tab.active{color:var(--fg); background:var(--accent-soft);}
.dash-tab.active .icon{color:var(--accent);}
.dash-tab-badge{background:var(--danger); color:#fff; font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; line-height:1.5; margin-left:auto;}

.dash-sidebar-group{padding-top:16px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px;}
.dash-sidebar-label{padding:0 14px; font-family:var(--font-m); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted-dim);}
.dash-tab-link{
  position:relative; width:100%; padding:12px 14px; background:none; border-radius:11px;
  color:var(--muted); font-weight:600; font-size:14.5px; cursor:pointer; display:flex; align-items:center; gap:12px;
  font-family:var(--font-b); text-align:left; text-decoration:none; transition:background .2s ease, color .2s ease;
}
.dash-tab-link .icon{width:18px; height:18px; flex:none; color:var(--muted-dim); transition:color .2s ease;}
.dash-tab-link:hover{color:var(--fg); background:var(--bg-elev2);}
.dash-tab-link:hover .icon{color:var(--accent);}

.dash-sidebar-logout{padding-top:16px; border-top:1px solid var(--line);}
.dash-logout-btn{
  display:flex; align-items:center; gap:12px; width:100%; background:none; border:none; cursor:pointer;
  color:var(--muted); font-size:14.5px; font-weight:600; padding:12px 14px; border-radius:11px; font-family:var(--font-b);
  transition:color .2s ease, background .2s ease;
}
.dash-logout-btn .icon{width:18px; height:18px; flex:none;}
.dash-logout-btn:hover{color:var(--danger); background:var(--bg-elev2);}

.dash-panel[hidden]{display:none;}
.dash-card-title{margin:0 0 6px; font-size:17px;}
.dash-card-text{color:var(--muted); font-size:13.5px; margin:0 0 20px;}

.stat-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.stat-tile{
  background:var(--bg-elev); border:1px solid var(--line); border-radius:16px; padding:16px 18px;
  display:flex; flex-direction:column; gap:8px; transition:border-color .2s ease, transform .2s ease;
}
.stat-tile:hover{border-color:var(--line-strong); transform:translateY(-2px);}
.stat-tile-top{display:flex; align-items:center; gap:10px;}
.stat-tile .icon{width:19px; height:19px; color:var(--accent); flex:none;}
.stat-tile b{font-family:var(--font-m); font-size:19px; font-variant-numeric:tabular-nums; font-weight:700;}
.stat-tile span{color:var(--muted); font-size:12.5px;}

.format-bars{display:flex; flex-direction:column; gap:14px;}
.format-bar-row{display:flex; align-items:center; gap:12px;}
.format-bar-row .icon{width:18px; height:18px; color:var(--muted-dim); flex:none;}
.format-bar-label{flex:0 0 110px; font-size:13.5px; color:var(--muted);}
.format-bar-track{flex:1; height:8px; border-radius:999px; background:var(--line); overflow:hidden;}
.format-bar-fill{display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, var(--accent-strong), var(--teal)); transition:width .6s ease;}
.format-bar-count{flex:0 0 30px; text-align:right; font-family:var(--font-m); font-size:13px; color:var(--muted-dim);}

.recent-list{display:flex; flex-direction:column;}
.recent-row{display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid var(--line);}
.recent-row:last-child{border-bottom:none;}
.recent-icon{width:38px; height:38px; border-radius:10px; background:var(--bg-elev2); display:flex; align-items:center; justify-content:center; flex:none;}
.recent-icon .icon{width:18px; height:18px; color:var(--muted);}
.recent-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px;}
.recent-name{font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.recent-meta{font-size:12px; color:var(--muted-dim); font-family:var(--font-m);}
.recent-status{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted-dim); flex:none;}
.recent-status.ok{color:var(--teal);}
.recent-status.error{color:var(--danger);}

.security-card{display:flex; flex-direction:column; gap:28px; max-width:460px; margin:0 auto;}
.security-section{max-width:420px;}
.security-divider{height:1px; background:var(--line);}

.settings-form{display:flex; flex-direction:column; gap:14px; max-width:420px;}
.settings-form-row{display:flex; align-items:center; gap:14px;}
.settings-success{color:var(--teal); font-size:13px; font-weight:600; opacity:0; transition:opacity .3s ease;}
.settings-success.show{opacity:1;}

.chat-shell{display:flex; flex-direction:column; padding:0; overflow:hidden; height:560px;}
.chat-header{display:flex; align-items:center; gap:12px; padding:20px 24px; border-bottom:1px solid var(--line); flex:none;}
.chat-header-avatar{
  width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg, var(--accent-strong), var(--teal));
  color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; flex:none;
}
.chat-header-avatar .icon{width:20px; height:20px;}
.chat-avatar .icon{width:16px; height:16px;}
.chat-header-name{font-weight:700; font-size:15px;}
.chat-header-sub{color:var(--muted); font-size:12.5px;}
.chat-body{flex:1; overflow-y:auto; padding:20px 24px; display:flex; flex-direction:column; gap:16px;}
.chat-empty{color:var(--muted-dim); font-size:13.5px; text-align:center; margin:auto;}
.chat-row{display:flex; gap:10px; max-width:78%;}
.chat-row.mine{align-self:flex-end; flex-direction:row-reverse;}
.chat-row.theirs{align-self:flex-start;}
.chat-avatar{
  width:30px; height:30px; border-radius:50%; background:var(--bg-elev2); border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:var(--muted); flex:none;
}
.chat-row.mine .chat-avatar{background:linear-gradient(135deg, var(--accent-strong), var(--accent)); color:#fff; border:none;}
.chat-col{display:flex; flex-direction:column; gap:5px; min-width:0;}
.chat-row.mine .chat-col{align-items:flex-end;}
.chat-bubble{padding:11px 15px; border-radius:16px; background:var(--bg-elev2); font-size:14px; line-height:1.5; word-break:break-word; display:flex; flex-direction:column; gap:8px;}
.chat-row.mine .chat-bubble{background:linear-gradient(135deg, var(--accent-strong), var(--accent)); color:#fff; border-bottom-right-radius:4px;}
.chat-row.theirs .chat-bubble{border-bottom-left-radius:4px;}
.chat-bubble-images{display:flex; gap:6px; flex-wrap:wrap;}
.chat-bubble-images a{display:block; border-radius:10px; overflow:hidden; flex:none;}
.chat-bubble-images img{width:110px; height:110px; object-fit:cover; display:block; cursor:zoom-in;}
.chat-meta{font-size:10.5px; color:var(--muted-dim); font-family:var(--font-m);}

.chat-input-row{display:flex; flex-direction:column; gap:10px; padding:16px 20px; border-top:1px solid var(--line); flex:none;}
.chat-attach-previews{display:flex; gap:8px; flex-wrap:wrap;}
.chat-attach-previews[hidden]{display:none;}
.chat-attach-preview{position:relative; width:52px; height:52px; border-radius:10px; overflow:hidden; border:1px solid var(--line-strong); flex:none;}
.chat-attach-preview img{width:100%; height:100%; object-fit:cover; display:block;}
.chat-attach-remove{
  position:absolute; top:2px; right:2px; width:16px; height:16px; border-radius:50%; border:none; cursor:pointer; padding:0;
  background:rgba(0,0,0,.65); color:#fff; display:flex; align-items:center; justify-content:center;
}
.chat-attach-remove .icon{width:9px; height:9px;}
.chat-input-box{
  display:flex; align-items:center; gap:6px; height:46px; flex:none;
  background:var(--bg); border:1.5px solid var(--line-strong); border-radius:999px; padding:0 6px;
  transition:border-color .2s ease;
}
.chat-input-box:focus-within{border-color:var(--accent);}
.chat-attach-btn{
  cursor:pointer; width:32px; height:32px; border-radius:50%; flex:none; position:relative; margin-left:4px;
  display:flex; align-items:center; justify-content:center; color:var(--muted-dim); transition:color .2s ease, background .2s ease;
}
.chat-attach-btn:hover{color:var(--accent); background:var(--bg-elev2);}
.chat-attach-btn .icon{width:17px; height:17px;}
.chat-tooltip{
  position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); white-space:nowrap;
  background:var(--bg-elev2); color:var(--fg); font-size:11px; padding:5px 9px; border-radius:6px; border:1px solid var(--line-strong);
  opacity:0; pointer-events:none; transition:opacity .2s ease; box-shadow:0 8px 18px -8px rgba(0,0,0,.5);
}
.chat-attach-btn:hover .chat-tooltip{opacity:1;}
.chat-input{
  flex:1; border:none; border-radius:0; padding:0 4px; background:none;
  color:var(--fg); font-size:14px; outline:none; height:100%;
}
.chat-send{
  width:36px; height:36px; border-radius:50%; border:none; flex:none; cursor:pointer;
  background:linear-gradient(135deg, var(--accent-strong), var(--accent)); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:filter .2s ease, transform .2s ease;
}
.chat-send:hover{filter:brightness(1.1); transform:translateY(-1px);}
.chat-send .icon{width:16px; height:16px;}

.admin-conv-list{display:flex; flex-direction:column;}
.admin-conv-row{
  display:flex; align-items:center; gap:14px; padding:16px 4px; border-bottom:1px solid var(--line);
  text-decoration:none; color:inherit; transition:background .2s ease;
}
.admin-conv-row:last-child{border-bottom:none;}
.admin-conv-row:hover{background:var(--bg-elev2);}
.admin-conv-avatar{
  width:40px; height:40px; border-radius:50%; background:var(--bg-elev2); border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--muted); flex:none;
}
.admin-conv-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.admin-conv-name{font-weight:600; font-size:14.5px;}
.admin-conv-email{font-size:12.5px; color:var(--muted-dim); font-family:var(--font-m);}
.admin-conv-time{font-size:12px; color:var(--muted-dim); flex:none;}
.admin-conv-badge{background:var(--danger); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; flex:none;}

/* ==========================================================================
   Документы (privacy/terms) — утилитарная типографика
   ========================================================================== */
.doc-shell{padding:0 0 130px;}
.doc-shell .card{max-width:760px; margin:0 auto;}
.doc-shell h1{font-family:var(--font-d); font-weight:800; letter-spacing:-0.02em; font-size:clamp(26px,3.6vw,36px); margin:0 0 28px;}
.doc-shell p{color:var(--muted); font-size:15.5px; line-height:1.75; margin:0 0 20px;}
.doc-shell p:last-child{margin-bottom:0;}

/* ==========================================================================
   404
   ========================================================================== */
.error-shell{min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:150px 0;}
.error-shell .code{font-family:var(--font-m); font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-dim); margin-bottom:18px; position:relative; display:inline-block; padding-bottom:10px;}
.error-shell .code::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg, transparent, var(--accent), transparent); animation:errScan 2.4s ease-in-out infinite;}
@keyframes errScan{ 0%,100%{opacity:.3;} 50%{opacity:1;} }
.error-shell h1{font-family:var(--font-d); font-weight:800; font-size:clamp(42px,7vw,72px); letter-spacing:-0.03em; margin:0 0 16px;}
.error-shell p{color:var(--muted); font-size:16px; margin:0 0 32px;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:960px){
  .story-grid{grid-template-columns:1fr;}
  .story-sticky-wrap{height:auto;}
  .story-pin{position:relative; height:auto; padding:60px 0;}
  .bento{grid-template-columns:repeat(2,1fr); grid-auto-rows:160px;}
  .bcard.big{grid-column:span 2; grid-row:span 1;}
  .pricing-grid{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr 1fr; gap:32px;}
  nav.links{display:none;}
  section{padding:80px 0;}
  .hero{padding-top:120px;}
  .file-name{max-width:26%;}
  .stat-tiles{grid-template-columns:repeat(2,1fr);}
  .dash-layout{grid-template-columns:1fr; gap:20px;}
  .dash-sidebar{position:static; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px;}
  .dash-tabs{flex-direction:row; flex-wrap:wrap; flex:1;}
  .dash-sidebar-group{padding-top:0; border-top:none; flex-direction:row; align-items:center; gap:10px;}
  .dash-sidebar-label{padding:0;}
  .dash-sidebar-logout{padding-top:0; border-top:none; margin-left:auto;}
}
@media (max-width:600px){
  .bento{grid-template-columns:1fr;}
  .bcard.big,.bcard.wide{grid-column:span 1;}
  .foot-top{grid-template-columns:1fr;}
  .account-header{flex-direction:column;}
  .file-row-main{flex-wrap:wrap;}
  .file-name{max-width:100%;}
  .progress{flex-basis:100%;}
  .stat-tiles{grid-template-columns:1fr;}
  .dash-tab{font-size:13px; padding:9px 12px;}
  .dash-sidebar-logout{width:100%; margin-left:0;}
  .chat-row{max-width:90%;}
  .chat-shell{height:70vh;}
  .chat-bubble-images img{width:88px; height:88px;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{transition:none; opacity:1; transform:none;}
  .hero h1 .word span{animation:none; transform:none;}
  .hero p.lede,.hero .cta-row,.hero-stats{animation:none; opacity:1;}
  .marquee-track{animation:none;}
  .scroll-cue .line::after{animation:none;}
  .pcard.pro::before{animation:none;}
  .error-shell .code::after{animation:none;}
}

/* ============ shared additions ============ */
.hero-lead{color:var(--muted); font-size:16px; max-width:52ch; margin:18px auto 0; line-height:1.6;}
.btn-danger{background:color-mix(in srgb, var(--danger) 16%, transparent); color:var(--danger); border:1px solid color-mix(in srgb, var(--danger) 45%, transparent); border-radius:12px; padding:12px 20px; font-weight:600;}
.btn-danger:hover{background:var(--danger); color:#fff; filter:none;}
.nav-admin-link{color:var(--amber) !important; font-weight:600;}

/* ============ premium payment page ============ */
.pay-card{background:var(--bg-elev); border:1px solid var(--line); border-radius:20px; padding:38px; max-width:560px; margin:0 auto;}
.pay-card-done{text-align:center;}
.pay-done-icon{width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:color-mix(in srgb, var(--teal) 18%, transparent); color:var(--teal); font-size:28px; display:flex; align-items:center; justify-content:center;}
.pay-already{font-size:18px; font-weight:600; margin:0 0 20px;}
.pay-price{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:22px;}
.pay-amount{font-family:var(--font-d); font-weight:800; font-size:38px; letter-spacing:-0.02em;}
.pay-per{color:var(--muted);}
.pay-year{margin-left:auto; color:var(--muted-dim); font-size:14px;}
.pay-steps{list-style:none; padding:0; margin:0 0 26px; display:grid; gap:14px;}
.pay-steps li{display:flex; gap:12px; align-items:flex-start; color:var(--fg); font-size:15px; line-height:1.5;}
.pay-step-n{flex:none; width:24px; height:24px; border-radius:50%; background:var(--accent-soft); color:var(--accent-strong); font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; margin-top:1px;}
.pay-wallets-title{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-dim); margin-bottom:12px;}
.pay-wallet{background:var(--bg-elev2); border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin-bottom:12px;}
.pay-wallet-label{font-size:13px; color:var(--muted); margin-bottom:8px; font-weight:600;}
.pay-wallet-row{display:flex; align-items:center; gap:10px;}
.pay-wallet-addr{flex:1; font-family:var(--font-m); font-size:13px; color:var(--fg); word-break:break-all; background:transparent;}
.pay-copy{flex:none; cursor:pointer; border:1px solid var(--line-strong); background:var(--bg-elev); color:var(--fg); border-radius:9px; padding:8px 14px; font-size:13px; font-weight:600; transition:.2s;}
.pay-copy:hover{border-color:var(--accent); color:var(--accent);}
.pay-copy.copied{background:color-mix(in srgb, var(--teal) 18%, transparent); border-color:var(--teal); color:var(--teal);}
.pay-support{width:100%; justify-content:center; margin-top:10px;}
.pay-login-note{color:var(--muted); font-size:14px; margin:22px 0 12px;}

/* ============ admin panel ============ */
.admin-stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin-bottom:26px;}
.admin-stat{background:var(--bg-elev); border:1px solid var(--line); border-radius:16px; padding:22px 20px;}
.admin-stat b{font-family:var(--font-d); font-size:30px; font-weight:800; display:block; letter-spacing:-0.02em;}
.admin-stat span{color:var(--muted); font-size:13px;}
.admin-stat-alert{border-color:color-mix(in srgb, var(--amber) 55%, transparent);}
.admin-stat-alert b{color:var(--amber);}
.admin-nav-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px;}
.admin-nav-card{display:block; background:var(--bg-elev); border:1px solid var(--line); border-radius:16px; padding:22px; text-decoration:none; transition:.2s;}
.admin-nav-card:hover{border-color:var(--accent); transform:translateY(-2px);}
.admin-nav-card-title{display:block; font-weight:700; font-size:17px; color:var(--fg); margin-bottom:6px;}
.admin-nav-card-sub{display:block; color:var(--muted); font-size:13.5px;}
.admin-search{display:flex; gap:10px; align-items:center; margin-bottom:20px; flex-wrap:wrap;}
.admin-search input{flex:1; min-width:200px; background:var(--bg-elev); border:1px solid var(--line-strong); border-radius:11px; padding:12px 16px; color:var(--fg); font-size:14px;}
.admin-search input:focus{outline:none; border-color:var(--accent);}
.admin-search-clear{color:var(--muted); font-size:13.5px; text-decoration:none;}
.admin-table-wrap{overflow-x:auto;}
.admin-table{width:100%; border-collapse:collapse; font-size:14px; min-width:640px;}
.admin-table th{text-align:left; padding:14px 16px; color:var(--muted-dim); font-size:12px; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid var(--line);}
.admin-table td{padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:color-mix(in srgb, var(--accent) 5%, transparent);}
.admin-td-id{color:var(--muted-dim); font-family:var(--font-m);}
.admin-td-email{display:block; font-weight:600;}
.admin-td-name{display:block; color:var(--muted); font-size:12.5px;}
.admin-td-date{color:var(--muted); font-size:12.5px; white-space:nowrap;}
.admin-td-open{color:var(--accent); text-decoration:none; font-weight:600; white-space:nowrap;}
.admin-pill{display:inline-block; padding:3px 11px; border-radius:999px; font-size:12px; font-weight:600; background:var(--bg-elev2); color:var(--muted); border:1px solid var(--line);}
.admin-pill-role{background:color-mix(in srgb, var(--amber) 16%, transparent); color:var(--amber); border-color:transparent;}
.admin-pill-premium{background:color-mix(in srgb, var(--accent) 18%, transparent); color:var(--accent-strong); border-color:transparent;}
.admin-detail-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start;}
.admin-detail-files{grid-column:1 / -1;}
.admin-detail-actions h3, .admin-detail-info h3, .admin-detail-files h3{margin:0 0 18px; font-size:16px;}
.admin-dl{display:grid; grid-template-columns:auto 1fr; gap:10px 18px; margin:0; font-size:14px;}
.admin-dl dt{color:var(--muted-dim);}
.admin-dl dd{margin:0; color:var(--fg); word-break:break-word;}
.admin-dl dd a{color:var(--accent); text-decoration:none;}
.admin-action-block{padding:18px 0; border-top:1px solid var(--line);}
.admin-action-block:first-of-type{border-top:none; padding-top:0;}
.admin-action-head{display:flex; align-items:center; justify-content:space-between; font-weight:600; margin-bottom:12px;}
.admin-action-note{color:var(--muted); font-size:13px; margin:0 0 12px;}
.admin-grant-row{display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap;}
.admin-grant-row label{display:flex; flex-direction:column; gap:6px; font-size:12.5px; color:var(--muted);}
.admin-grant-row input[type=date]{background:var(--bg-elev2); border:1px solid var(--line-strong); border-radius:10px; padding:9px 12px; color:var(--fg); font-size:14px;}
.admin-grant-row .btn, .admin-grant-row .btn-ghost, .admin-grant-row .btn-danger{padding:11px 18px; font-size:14px;}
.admin-danger{border-top-color:color-mix(in srgb, var(--danger) 35%, transparent);}
.admin-action-status{padding:10px 14px; border-radius:10px; font-size:13.5px; margin:0 0 16px;}
.admin-action-status.ok{background:color-mix(in srgb, var(--teal) 15%, transparent); color:var(--teal);}
.admin-action-status.err{background:color-mix(in srgb, var(--danger) 15%, transparent); color:var(--danger);}
.admin-files-list{display:grid; gap:2px;}
.admin-file-row{display:grid; grid-template-columns:1fr auto auto auto; gap:14px; align-items:center; padding:11px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.admin-file-row:last-child{border-bottom:none;}
.admin-file-name{font-weight:500; word-break:break-all;}
.admin-file-cat{color:var(--muted-dim); font-family:var(--font-m); font-size:12px;}
.admin-file-status{font-size:12px; padding:2px 9px; border-radius:999px; background:var(--bg-elev2); color:var(--muted);}
.admin-file-status-done{background:color-mix(in srgb, var(--teal) 15%, transparent); color:var(--teal);}
.admin-file-status-failed{background:color-mix(in srgb, var(--danger) 15%, transparent); color:var(--danger);}
.admin-file-date{color:var(--muted); font-size:12px; white-space:nowrap;}
@media (max-width:760px){
  .admin-detail-grid{grid-template-columns:1fr;}
}

/* ============ account subscription card ============ */
.sub-card{display:flex; align-items:center; gap:20px; background:var(--bg-elev); border:1px solid var(--line); border-radius:18px; padding:22px 26px; margin-bottom:20px; flex-wrap:wrap;}
.sub-card-premium{border-color:color-mix(in srgb, var(--accent) 45%, transparent); background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--bg-elev)), var(--bg-elev));}
.sub-card-main{display:flex; flex-direction:column; gap:4px; flex:1; min-width:220px;}
.sub-card-label{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-dim);}
.sub-card-plan{font-family:var(--font-d); font-weight:800; font-size:24px; letter-spacing:-0.02em;}
.sub-card-premium .sub-card-plan{color:var(--accent-strong);}
.sub-card-status{color:var(--muted); font-size:13.5px; display:flex; align-items:center; gap:6px; line-height:1.4;}
.sub-card-status .icon{width:15px; height:15px; background:var(--teal);}
.sub-card-cta{flex:none;}
@media (max-width:560px){
  .sub-card-cta{width:100%; justify-content:center;}
}
