@font-face {
  font-family: "Golos Text";
  src: url("fonts/golos-text-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0400-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}
@font-face {
  font-family: "Golos Text";
  src: url("fonts/golos-text-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF;
}

:root {
  color-scheme: dark;
  --bg: #070816;
  --panel: rgba(13, 17, 37, 0.78);
  --panel-strong: #0c1022;
  --line: rgba(155, 174, 255, 0.14);
  --text: #f6f7ff;
  --muted: #949bb8;
  --violet: #8b5cff;
  --blue: #19c9ff;
  --cyan: #25f2d0;
  --green: #5cff9d;
  --pink: #ff4fd8;
  --danger: #ff6685;
  --radius: 28px;
  --shadow: 0 40px 100px rgba(0, 0, 0, 0.45);
  font-family: "Golos Text", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  background:
    linear-gradient(180deg, rgba(5, 7, 17, .12) 0, rgba(5, 7, 17, .44) 38rem, rgba(7, 8, 22, .9) 76rem, #060711 112rem),
    linear-gradient(90deg, rgba(3, 7, 18, .42) 0, rgba(3, 7, 18, .1) 52%, rgba(3, 7, 18, .16) 100%),
    url("assets/vibe-security-bg-v1.webp") top center / max(100vw, 1672px) auto no-repeat,
    radial-gradient(circle at 50% -10%, rgba(92, 59, 255, 0.2), transparent 36rem),
    linear-gradient(180deg, #070a17 0%, var(--bg) 48%, #060711 100%);
  color: var(--text);
  font-size: 16px;
  line-height: 1.55;
}

button, textarea, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }

.noise {
  position: fixed; inset: 0; z-index: 30; pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}
.aurora { position: fixed; z-index: -1; width: 34rem; height: 34rem; border-radius: 50%; filter: blur(110px); opacity: .14; pointer-events: none; }
.aurora-a { top: 10rem; left: -12rem; background: var(--violet); animation: drift-a 13s ease-in-out infinite alternate; }
.aurora-b { top: 28rem; right: -15rem; background: var(--cyan); animation: drift-b 16s ease-in-out infinite alternate; }
@keyframes drift-a { to { transform: translate(8rem, 11rem) scale(1.16); } }
@keyframes drift-b { to { transform: translate(-8rem, -9rem) scale(.88); } }

.site-header {
  width: min(1240px, calc(100% - 40px)); height: 84px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 760; letter-spacing: -.03em; white-space: nowrap; }
.brand strong { color: var(--cyan); }
.brand-mark {
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px;
  background: linear-gradient(135deg, var(--violet), var(--blue) 62%, var(--green));
  box-shadow: 0 0 32px rgba(60, 191, 255, .35), inset 0 1px 0 rgba(255,255,255,.45);
}
.brand-mark svg { width: 27px; fill: none; stroke: white; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark.small { width: 32px; height: 32px; border-radius: 11px; color: white; }
.site-header nav { display: flex; align-items: center; gap: 34px; color: #aab0c8; font-size: 14px; }
.site-header nav a { transition: color .2s ease, transform .2s ease; }
.site-header nav a:hover { color: white; transform: translateY(-1px); }
.header-tools { display: flex; align-items: center; gap: 9px; }
.install-app { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid rgba(111,225,255,.28); border-radius: 999px; background: linear-gradient(135deg, rgba(119,75,255,.16), rgba(29,205,235,.11)); color: #bfeff0; font: 680 11px/1 "Golos Text", sans-serif; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.install-app[hidden] { display: none; }
.install-app:hover { transform: translateY(-2px); border-color: rgba(111,225,255,.55); box-shadow: 0 10px 28px rgba(30,178,224,.12), inset 0 1px 0 rgba(255,255,255,.12); }
.install-app:focus-visible { outline: 2px solid rgba(37,242,208,.65); outline-offset: 2px; }
.install-app svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.lang-switch { display: flex; align-items: center; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: rgba(5,8,20,.68); }
.lang-switch button { min-width: 34px; height: 28px; padding: 0 8px; border: 0; border-radius: 999px; background: transparent; color: #717a99; font-size: 10px; font-weight: 750; letter-spacing: .06em; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.lang-switch button:hover { color: white; }
.lang-switch button.active { color: #061b1a; background: linear-gradient(120deg, var(--cyan), #5ccfff); box-shadow: 0 0 20px rgba(37,242,208,.2); }
.header-status, .terminal-state {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(37,242,208,.18);
  border-radius: 999px; color: #78f8dc; background: rgba(37,242,208,.055); font: 720 10px/1 "Golos Text", sans-serif; letter-spacing: .13em;
}
.header-status i, .terminal-state i, .countdown-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); animation: blink 1.8s ease-in-out infinite; }
.header-status.offline { color: #ffd888; border-color: rgba(255,190,82,.25); background: rgba(255,174,52,.07); }
.header-status.offline i { background: #ffba52; box-shadow: 0 0 12px rgba(255,186,82,.8); animation: none; }
@keyframes blink { 50% { opacity: .35; transform: scale(.75); } }

.hero { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 62px 0 48px; }
.hero-copy {
  display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(300px, .76fr);
  grid-template-areas: "eyebrow eyebrow" "title body" "title trust";
  align-items: end; column-gap: 54px; max-width: none; margin-bottom: 46px;
}
.hero-copy > .eyebrow { grid-area: eyebrow; }
.eyebrow, .section-kicker {
  display: inline-flex; align-items: center; gap: 9px; color: #69efd9;
  font: 740 11px/1.2 "Golos Text", sans-serif; letter-spacing: .145em;
}
.eyebrow > span:first-child { color: var(--violet); }
.hero h1 { grid-area: title; margin: 25px 0 0; font-size: clamp(58px, 7vw, 98px); line-height: .9; letter-spacing: -.035em; font-weight: 800; text-wrap: balance; }
.hero h1 span { letter-spacing: -.012em; }
.hero h1 span, .security-copy h2 span {
  color: transparent; background: linear-gradient(95deg, var(--violet), #6477ff 34%, var(--blue) 64%, var(--cyan));
  background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 0 32px rgba(58,185,255,.15));
}
.hero-copy > p { grid-area: body; max-width: 760px; margin: 0 0 22px; color: #a7acc2; font-size: 16px; line-height: 1.72; }
.trust-row { grid-area: trust; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 0; }
.trust-row > span { padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); color: #8e95af; font: 650 11px/1.1 "Golos Text", sans-serif; letter-spacing: .045em; }
.trust-row b { color: #eff4ff; }

.generator-shell {
  position: relative; overflow: hidden; border: 1px solid rgba(134,154,255,.21); border-radius: 34px;
  background: linear-gradient(145deg, rgba(17,22,49,.92), rgba(7,11,26,.94));
  box-shadow: var(--shadow), 0 0 0 1px rgba(255,255,255,.02) inset, 0 -40px 100px rgba(53, 228, 235, .055) inset;
}
.generator-shell::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .22;
  background-image: linear-gradient(rgba(83,112,196,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(83,112,196,.07) 1px, transparent 1px);
  background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 80%);
}
.scan-line { position: absolute; z-index: 4; left: 0; top: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); box-shadow: 0 0 14px var(--cyan); opacity: .45; animation: scan-shell 8s linear infinite; pointer-events: none; }
@keyframes scan-shell { from { transform: translateY(0); } to { transform: translateY(720px); } }
.generator-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 29px 34px 25px; border-bottom: 1px solid var(--line); }
.generator-head h2 { margin: 6px 0 0; font-size: 25px; letter-spacing: -.04em; }
.first-run-guide { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(190px,.9fr) minmax(340px,1.45fr) auto; align-items: center; gap: 22px; margin: 18px 20px 0; padding: 18px 52px 18px 20px; border: 1px solid rgba(78,224,255,.22); border-radius: 20px; background: linear-gradient(110deg, rgba(92,67,220,.13), rgba(13,37,55,.76)); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 45px rgba(0,0,0,.18); }
.first-run-guide[hidden] { display: none; }
.first-run-copy { display: grid; gap: 6px; }
.first-run-copy strong { color: #f1f4ff; font-size: 17px; letter-spacing: -.018em; }
.first-run-copy p { margin: 0; color: #8692b1; font-size: 11px; line-height: 1.5; }
.first-run-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.first-run-steps li { display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 8px; min-height: 42px; padding: 7px 9px; border: 1px solid rgba(127,149,218,.12); border-radius: 12px; background: rgba(255,255,255,.025); }
.first-run-steps span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(37,242,208,.1); color: var(--cyan); font: 760 10px/1 ui-monospace,monospace; }
.first-run-steps b { color: #aeb8d3; font-size: 10px; line-height: 1.3; }
.first-run-action { min-height: 42px; padding: 0 18px; border: 0; border-radius: 12px; background: linear-gradient(110deg,var(--violet),var(--blue)); color: white; font: 730 11px/1 "Golos Text",sans-serif; cursor: pointer; box-shadow: 0 10px 28px rgba(76,78,255,.19); }
.first-run-close { position: absolute; top: 9px; right: 9px; width: 30px; height: 30px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #6f7898; font-size: 19px; cursor: pointer; }
.first-run-close:hover { color: #eaf2ff; border-color: var(--line); background: rgba(255,255,255,.035); }
.generator-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; }
.input-zone, .token-zone { min-width: 0; padding: 38px 38px 34px; }
.input-zone { border-right: 1px solid var(--line); transition: background .2s ease, box-shadow .2s ease; }
.input-zone.drag-active { background: rgba(37,242,208,.035); box-shadow: inset 0 0 0 2px rgba(37,242,208,.28), inset 0 0 55px rgba(37,242,208,.06); }
.token-zone { background: linear-gradient(155deg, rgba(8,14,31,.42), rgba(10,28,39,.18)); }
.zone-label, .token-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.zone-label > span:first-child { color: #d5daf0; font-size: 13px; font-weight: 700; }
.format-badge { color: #7d86a5; font: 700 9px/1 "Golos Text", sans-serif; letter-spacing: .12em; }
.secret-field-wrap { position: relative; margin-top: 13px; }
.secret-field-wrap textarea {
  display: block; width: 100%; min-height: 132px; resize: none; padding: 22px 56px 22px 22px;
  border: 1px solid rgba(120,141,218,.16); border-radius: 18px; outline: 0;
  background: rgba(3,6,18,.66); color: #e7eaff; font: 650 17px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em;
  caret-color: var(--cyan); transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.secret-field-wrap textarea:focus { border-color: rgba(64,219,255,.5); background: rgba(3,8,22,.86); box-shadow: 0 0 0 4px rgba(25,201,255,.07), 0 0 34px rgba(25,201,255,.06); }
.secret-field-wrap textarea::placeholder { color: #3d435e; }
.secret-field-wrap textarea.masked { -webkit-text-security: disc; }
.icon-button { position: absolute; top: 16px; right: 15px; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 11px; background: transparent; color: #636b8d; cursor: pointer; transition: .2s ease; }
.icon-button:hover { color: white; background: rgba(255,255,255,.05); }
.icon-button svg, .action-button svg, .copy-button svg, .privacy-strip svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.input-actions { display: grid; grid-template-columns: 1fr 1fr 52px; gap: 10px; margin-top: 12px; }
.action-button {
  min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 13px;
  border: 1px solid rgba(121,142,211,.15); border-radius: 14px; background: rgba(255,255,255,.025); color: #aeb5d1; font-size: 13px; font-weight: 690; cursor: pointer; transition: .22s ease;
}
.action-button:hover { transform: translateY(-2px); border-color: rgba(95,205,255,.35); color: white; background: rgba(72,119,255,.08); }
.action-button.primary-soft { background: linear-gradient(120deg, rgba(125,75,255,.1), rgba(39,216,255,.07)); }
.action-button.icon-only { padding: 0; color: #9b6cff; }
.qr-drop-hint { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 39px; margin-top: 9px; padding: 6px 10px; border: 1px dashed rgba(105,139,215,.16); border-radius: 12px; color: #616c8c; background: rgba(255,255,255,.012); transition: color .2s ease, border-color .2s ease, background .2s ease; }
.qr-drop-hint > span { color: #8b6dff; font-size: 18px; }
.qr-drop-hint p { display: flex; align-items: baseline; gap: 6px; margin: 0; }
.qr-drop-hint strong { color: #8894b3; font-size: 10px; }
.qr-drop-hint small { font-size: 9px; }
.input-zone.drag-active .qr-drop-hint { color: #91e9dc; border-color: rgba(37,242,208,.45); background: rgba(37,242,208,.065); }
.input-zone.drag-active .qr-drop-hint > span, .input-zone.drag-active .qr-drop-hint strong { color: var(--cyan); }
.status-message { min-height: 46px; display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px 14px; border: 1px solid rgba(37,242,208,.12); border-radius: 13px; background: rgba(37,242,208,.04); color: #8a94b4; font-size: 12px; }
.status-message.success { color: #70f2c5; border-color: rgba(37,242,208,.24); }
.status-message.error { color: #ff92a8; border-color: rgba(255,102,133,.28); background: rgba(255,102,133,.055); }
.status-icon { color: var(--cyan); }
.remember-row { display: flex; align-items: center; gap: 10px; margin-top: 17px; color: #7f89a8; font-size: 13px; cursor: pointer; user-select: none; }
.remember-row input { position: absolute; opacity: 0; pointer-events: none; }
.switch { width: 32px; height: 18px; padding: 2px; border-radius: 999px; background: #252b44; transition: .2s ease; }
.switch::after { content: ""; display: block; width: 14px; height: 14px; border-radius: 50%; background: #7e87a8; transition: .2s ease; }
.remember-row input:checked + .switch { background: rgba(37,242,208,.3); }
.remember-row input:checked + .switch::after { transform: translateX(14px); background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.remember-note { max-width: 580px; margin: 7px 0 0 42px; color: #626e8c; font-size: 11px; line-height: 1.55; }

.export-panel { display: block; margin-top: 22px; overflow: hidden; border: 1px solid rgba(121,142,211,.14); border-radius: 17px; background: linear-gradient(135deg, rgba(139,92,255,.045), rgba(25,201,255,.035)); transition: border-color .2s ease, background .2s ease; }
.export-panel[hidden] { display: none; }
.export-panel:hover { border-color: rgba(95,205,255,.2); }
.export-toggle { width: 100%; min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 16px; border: 0; border-bottom: 1px solid rgba(121,142,211,.1); background: rgba(255,255,255,.012); color: inherit; text-align: left; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.export-toggle:hover { background: rgba(72,119,255,.045); }
.export-toggle:focus-visible { outline: 2px solid rgba(55,224,244,.85); outline-offset: -3px; }
.export-heading { display: grid; gap: 5px; }
.export-heading strong { color: #dfe4f5; font-size: 15px; letter-spacing: -.015em; }
.export-toggle-side { display: inline-flex; align-items: center; justify-content: flex-end; gap: 10px; }
.export-local { color: #66708e; font: 680 8px/1.25 "Golos Text", sans-serif; letter-spacing: .08em; text-transform: uppercase; text-align: right; }
.export-toggle-label { color: #8792b0; font-size: 9px; font-weight: 680; }
.export-chevron { width: 18px; height: 18px; fill: none; stroke: #8da3c9; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .24s ease; }
.export-panel.is-collapsed .export-toggle { border-bottom-color: transparent; }
.export-panel.is-collapsed .export-chevron { transform: rotate(180deg); }
.export-body { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 17px; align-items: center; padding: 16px; }
.export-body[hidden] { display: none; }
.export-qr { width: 104px; height: 104px; display: grid; place-items: center; overflow: hidden; padding: 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.export-qr img { display: block; width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.export-content { min-width: 0; }
.export-content > p { margin: 0 0 12px; color: #747e9d; font-size: 11px; line-height: 1.55; }
.export-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.export-button { min-width: 0; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border: 1px solid rgba(121,142,211,.15); border-radius: 11px; background: rgba(255,255,255,.025); color: #aeb6d0; font-size: 10px; font-weight: 680; cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.export-button:hover { transform: translateY(-1px); border-color: rgba(95,205,255,.3); color: #eef5ff; background: rgba(72,119,255,.06); }
.export-button svg { width: 15px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.qr-size { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #66708e; font-size: 9px; font-weight: 650; }
.qr-size select { min-height: 30px; padding: 0 27px 0 10px; border: 1px solid rgba(121,142,211,.14); border-radius: 9px; outline: 0; background: #0a0e20; color: #aeb6d0; font: 650 10px/1 "Golos Text", sans-serif; color-scheme: dark; cursor: pointer; }

.token-topline > div:first-child { display: flex; flex-direction: column; gap: 8px; }
.account-label { color: #737d9d; font: 660 10px/1 "Golos Text", sans-serif; letter-spacing: .115em; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.countdown-pill { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid rgba(37,242,208,.17); border-radius: 10px; color: #70ecd4; background: rgba(37,242,208,.05); font: 660 12px/1 "Golos Text", sans-serif; }
.pulse-track { height: 24px; margin-top: 20px; display: grid; grid-template-columns: repeat(30, 1fr); align-items: end; gap: 3px; }
.pulse-track i { display: block; height: var(--h, 50%); min-height: 4px; border-radius: 2px; background: linear-gradient(to top, var(--violet), var(--blue), var(--cyan)); opacity: var(--o, .16); box-shadow: 0 0 8px rgba(25,201,255,.25); transition: opacity .25s ease, transform .25s ease; }
.token-display { position: relative; width: 100%; padding: 0 18px 25px; appearance: none; display: flex; align-items: center; justify-content: center; min-height: 120px; margin-top: 23px; border: 1px solid rgba(98,126,209,.17); border-radius: 20px; background: rgba(2,6,17,.72); color: #424a66; font: 820 clamp(35px, 5vw, 61px)/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-shadow: none; transition: color .25s ease, box-shadow .25s ease, border-color .25s ease, transform .2s ease, background .2s ease; }
.token-digits { display: flex; align-items: center; justify-content: center; gap: .7em; }
.token-copy-hint { position: absolute; left: 50%; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; color: #6f7b9d; font: 660 9px/1 "Golos Text", sans-serif; letter-spacing: .025em; opacity: .72; transform: translateX(-50%); white-space: nowrap; transition: color .2s ease, opacity .2s ease, transform .2s ease; }
.token-copy-hint svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.token-display:disabled { cursor: default; }
.token-display:disabled .token-copy-hint { opacity: 0; }
.token-display.active { color: #f7f9ff; border-color: rgba(66,218,255,.3); box-shadow: 0 0 45px rgba(70,117,255,.12), inset 0 0 40px rgba(32,228,255,.035); text-shadow: 0 0 22px rgba(81,208,255,.28); cursor: pointer; }
.token-display.active:hover { transform: translateY(-2px); border-color: rgba(65,235,220,.54); background: rgba(5,12,29,.82); box-shadow: 0 15px 48px rgba(70,117,255,.18), 0 0 35px rgba(37,242,208,.09), inset 0 0 40px rgba(32,228,255,.055); }
.token-display.active:hover .token-copy-hint, .token-display.active:focus-visible .token-copy-hint { color: #9ff9e7; opacity: 1; transform: translateX(-50%) translateY(-1px); }
.token-display.active:active { transform: translateY(0) scale(.992); }
.token-display.active:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; border-color: rgba(65,235,220,.62); }
.token-display.copied { animation: token-copied .58s cubic-bezier(.2,.8,.2,1); }
.token-display.copied .token-copy-hint { color: var(--cyan); opacity: 1; }
@keyframes token-copied {
  0% { transform: scale(1); }
  38% { transform: scale(1.018); border-color: rgba(37,242,208,.9); box-shadow: 0 0 0 4px rgba(37,242,208,.08), 0 0 58px rgba(37,242,208,.22); }
  100% { transform: scale(1); }
}
.token-meta { display: flex; justify-content: space-between; margin: 11px 4px 0; color: #4f5978; font: 660 9px/1 "Golos Text", sans-serif; letter-spacing: .115em; }
.countdown-orbit { position: relative; width: 90px; height: 90px; margin: 19px auto 16px; }
.countdown-orbit svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.countdown-orbit circle { fill: none; stroke-width: 5; }
.orbit-bg { stroke: rgba(120,143,213,.11); }
.orbit-progress { stroke: url(#none); stroke: var(--cyan); stroke-linecap: round; stroke-dasharray: 320.44; stroke-dashoffset: 0; filter: drop-shadow(0 0 5px var(--cyan)); transition: stroke-dashoffset .2s linear; }
.countdown-orbit > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.countdown-orbit strong { font: 800 23px/1 ui-monospace, monospace; }
.countdown-orbit span { margin-top: 4px; color: #656e8d; font-size: 9px; text-transform: uppercase; }
.copy-button { position: relative; overflow: hidden; width: 100%; min-height: 57px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 16px; background: linear-gradient(100deg, var(--violet), #5868ff 46%, var(--blue)); color: white; font-weight: 780; cursor: pointer; box-shadow: 0 13px 36px rgba(76,78,255,.24); transition: transform .2s ease, filter .2s ease, opacity .2s ease; }
.copy-button:not(:disabled):hover { transform: translateY(-2px); filter: brightness(1.11); }
.copy-button:disabled { opacity: .28; cursor: not-allowed; filter: saturate(.4); }
.copy-button kbd { position: absolute; right: 15px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; color: rgba(255,255,255,.66); font: 650 8px/1 ui-monospace, monospace; }
.copy-shine { position: absolute; top: -70%; left: -30%; width: 20%; height: 240%; transform: rotate(20deg); background: rgba(255,255,255,.22); filter: blur(10px); animation: shine 5s ease-in-out infinite; }
@keyframes shine { 0%, 65% { left: -35%; } 88%, 100% { left: 125%; } }
.privacy-strip { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 20px 34px; border-top: 1px solid var(--line); background: rgba(3,8,20,.45); }
.privacy-strip svg { width: 23px; color: var(--cyan); }
.privacy-strip p { margin: 0; color: #7d86a6; font-size: 11px; }
.privacy-strip strong { color: #cdd4ea; }
.privacy-strip > span { color: #58627f; font: 700 9px/1 ui-monospace, monospace; letter-spacing: .14em; }
.privacy-strip > .pwa-readiness { appearance: none; display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(37,242,208,.14); border-radius: 999px; color: #71e8d2; background: rgba(37,242,208,.045); font: 700 9px/1 ui-monospace,monospace; letter-spacing: .075em; white-space: nowrap; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.privacy-strip > .pwa-readiness:hover { transform: translateY(-1px); border-color: rgba(37,242,208,.34); background: rgba(37,242,208,.075); }
.privacy-strip > .pwa-readiness:focus-visible { outline: 2px solid rgba(37,242,208,.65); outline-offset: 3px; }
.pwa-readiness i { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px rgba(37,242,208,.75); }
.pwa-readiness b { font: inherit; }
.pwa-readiness.preparing { color: #9ba5c1; border-color: rgba(130,151,211,.14); background: rgba(130,151,211,.035); }
.pwa-readiness.preparing i { background: #7180a8; box-shadow: 0 0 9px rgba(113,128,168,.55); animation: blink 1.4s ease-in-out infinite; }
.pwa-readiness.unavailable { color: #ffcf82; border-color: rgba(255,190,82,.18); background: rgba(255,174,52,.045); }
.pwa-readiness.unavailable i { background: #ffba52; box-shadow: 0 0 9px rgba(255,186,82,.65); }

.marquee { overflow: hidden; margin-top: 55px; padding: 17px 0; border-block: 1px solid var(--line); background: rgba(9,12,28,.56); transform: rotate(-1deg) scale(1.02); }
.marquee div { width: max-content; display: flex; gap: 38px; align-items: center; color: #69718c; font: 750 11px/1 ui-monospace, monospace; letter-spacing: .15em; animation: ticker 25s linear infinite; }
.marquee i { color: var(--cyan); }
@keyframes ticker { to { transform: translateX(-50%); } }

.about-section, .content-section, .security-section { position: relative; isolation: isolate; width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 128px 0; }
.about-section {
  position: relative; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 74px;
}
.about-section::before {
  content: ""; position: absolute; inset: 17% 9% 10%; z-index: -1; border-radius: 50%;
  background: radial-gradient(circle, rgba(60,88,255,.12), transparent 68%); filter: blur(35px);
}
.about-copy h2 { margin: 18px 0 20px; font-size: clamp(46px, 6vw, 76px); line-height: .96; letter-spacing: -.04em; }
.about-copy > p { margin: 0; color: #959db7; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.75; }
.about-note { display: grid; grid-template-columns: 46px 1fr; gap: 15px; align-items: start; margin-top: 28px; padding: 18px; border: 1px solid rgba(37,242,208,.15); border-radius: 17px; background: rgba(37,242,208,.035); color: #8993b1; font-size: clamp(14px, 1vw, 16px); line-height: 1.65; }
.about-note i { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg, rgba(139,92,255,.25), rgba(37,242,208,.16)); color: #b9fff2; font-style: normal; font-weight: 800; box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.factor-equation { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; padding: 30px; border: 1px solid rgba(128,150,255,.2); border-radius: 30px; background: linear-gradient(145deg, rgba(18,23,49,.84), rgba(7,11,26,.9)); box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.035); }
.factor-equation::before { content: "AUTH LAYERS / 02"; position: absolute; top: 13px; right: 20px; color: #4c5678; font: 700 8px/1 "Golos Text", sans-serif; letter-spacing: .14em; }
.factor-card { position: relative; min-height: 188px; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; overflow: hidden; border: 1px solid rgba(120,143,222,.15); border-radius: 21px; background: rgba(2,6,18,.6); }
.factor-card::after { content: ""; position: absolute; width: 110px; height: 110px; top: -55px; right: -35px; border-radius: 50%; background: var(--violet); filter: blur(45px); opacity: .25; }
.factor-token::after { background: var(--cyan); }
.factor-orbit { position: absolute; top: 18px; left: 19px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(132,151,222,.22); border-radius: 50%; color: #667092; font-size: 10px; font-weight: 750; }
.factor-card small { color: #747d9b; font-size: 10px; font-weight: 650; letter-spacing: .045em; }
.factor-card strong { margin-top: 5px; font-size: 21px; letter-spacing: -.025em; }
.factor-dots, .mini-token { margin-top: 17px; min-height: 41px; display: flex; align-items: center; padding: 0 12px; border: 1px solid rgba(124,145,217,.13); border-radius: 11px; color: #7e6eff; background: rgba(0,0,0,.22); font: 750 15px/1 ui-monospace, monospace; letter-spacing: .13em; }
.mini-token { color: #75f5dd; letter-spacing: .08em; }
.equation-symbol { color: #586381; font-size: 24px; font-weight: 450; }
.factor-equation > .equation-symbol:nth-of-type(2) { display: none; }
.factor-result { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; margin-top: 1px; padding: 16px 18px; border: 1px solid rgba(37,242,208,.18); border-radius: 17px; background: linear-gradient(100deg, rgba(139,92,255,.08), rgba(37,242,208,.08)); color: #cfeee9; font-size: 13px; }
.factor-result svg { width: 31px; flex: 0 0 auto; fill: none; stroke: var(--cyan); stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 10px rgba(37,242,208,.32)); }
.section-heading { max-width: 760px; margin: 0 auto 53px; text-align: center; }
.section-heading h2, .security-copy h2 { margin: 18px 0 14px; font-size: clamp(38px, 5vw, 66px); line-height: 1; letter-spacing: -.035em; }
.section-heading p, .security-copy > p { color: #949db9; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.72; }
.content-section::before { content: ""; position: absolute; z-index: -1; inset: 8% -9% 3%; border-radius: 42%; pointer-events: none; background: radial-gradient(ellipse at 20% 47%, rgba(116,69,255,.18), transparent 39%), radial-gradient(ellipse at 82% 53%, rgba(21,207,230,.13), transparent 42%), radial-gradient(ellipse at 50% 50%, rgba(61,90,255,.13), transparent 68%); filter: blur(34px); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; perspective: 1100px; }
.steps article { position: relative; overflow: hidden; min-height: 340px; padding: clamp(30px, 2.5vw, 38px); border: 1px solid rgba(148,172,255,.32); border-radius: 26px; background: radial-gradient(circle at 12% 0%, rgba(128,87,255,.23), transparent 39%), radial-gradient(circle at 100% 100%, rgba(31,223,238,.12), transparent 38%), linear-gradient(145deg, rgba(31,39,77,.82), rgba(7,12,31,.87)); box-shadow: 0 34px 84px rgba(0,3,18,.56), 0 0 0 1px rgba(99,150,255,.07), inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(37,242,208,.045); backdrop-filter: blur(24px) saturate(1.35); -webkit-backdrop-filter: blur(24px) saturate(1.35); transform: translateZ(0); transition: transform .36s cubic-bezier(.2,.75,.2,1), border-color .28s ease, box-shadow .36s ease; }
.steps article > * { position: relative; z-index: 2; }
.steps article::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(125deg, rgba(255,255,255,.13) 0%, rgba(255,255,255,.035) 17%, transparent 38%), linear-gradient(90deg, transparent 8%, rgba(126,102,255,.9) 36%, rgba(37,242,208,.75) 68%, transparent 92%) top / 100% 1px no-repeat; opacity: .72; transition: opacity .32s ease; }
.steps article:hover { transform: translateY(-11px) rotateX(2deg) scale(1.012); border-color: rgba(92,221,255,.62); box-shadow: 0 42px 100px rgba(0,3,18,.68), 0 0 52px rgba(55,134,255,.16), 0 0 0 1px rgba(37,242,208,.08), inset 0 1px 0 rgba(255,255,255,.22); }
.steps article:hover::before { opacity: 1; }
.steps article::after { content: ""; position: absolute; z-index: 0; width: 190px; height: 190px; right: -78px; bottom: -88px; border-radius: 50%; background: linear-gradient(135deg, var(--violet), var(--cyan)); filter: blur(68px); opacity: .24; transition: opacity .35s ease, transform .35s ease; }
.steps article:hover::after { opacity: .38; transform: translate(-10px, -10px) scale(1.08); }
.step-number { color: #5e6889; font: 750 11px/1 ui-monospace, monospace; letter-spacing: .14em; }
.step-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 38px 0 29px; border: 1px solid rgba(91,226,255,.38); border-radius: 20px; background: linear-gradient(145deg, rgba(126,71,255,.3), rgba(31,223,238,.17)); color: var(--cyan); font-size: 32px; box-shadow: 0 15px 40px rgba(37,127,255,.18), inset 0 1px 0 rgba(255,255,255,.13), 0 0 24px rgba(37,242,208,.055); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.steps article:hover .step-icon { transform: translateY(-4px) scale(1.055); border-color: rgba(91,226,255,.68); box-shadow: 0 20px 48px rgba(37,127,255,.3), inset 0 1px 0 rgba(255,255,255,.2), 0 0 32px rgba(37,242,208,.14); }
.steps h3 { margin: 0 0 15px; font-size: clamp(22px, 1.55vw, 27px); line-height: 1.2; letter-spacing: -.035em; overflow-wrap: anywhere; }
.steps p { margin: 0; color: #8b94b1; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.68; overflow-wrap: anywhere; }
.steps code, .faq-list code { color: #75e7d5; font-family: ui-monospace, monospace; }

.security-section { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 72px; padding-top: 90px; }
.security-visual { position: relative; width: min(430px, 100%); aspect-ratio: 1; display: grid; place-items: center; margin: auto; }
.security-visual::before { content: ""; position: absolute; z-index: -1; inset: 2%; border: 1px solid rgba(112,159,255,.16); border-radius: 42% 58% 55% 45%; background: radial-gradient(circle at 44% 43%, rgba(44,210,255,.1), rgba(89,57,215,.09) 42%, rgba(7,11,27,.48) 72%); box-shadow: 0 34px 100px rgba(0,3,18,.38), inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transform: rotate(-5deg); }
.radar { position: absolute; border: 1px solid rgba(74,213,255,.13); border-radius: 50%; }
.radar::before, .radar::after { content: ""; position: absolute; inset: 50% 0 auto; height: 1px; background: rgba(74,213,255,.09); }
.radar::after { transform: rotate(90deg); }
.r1 { inset: 8%; animation: spin 28s linear infinite; }
.r2 { inset: 20%; border-style: dashed; animation: spin 21s linear infinite reverse; }
.r3 { inset: 32%; box-shadow: 0 0 70px rgba(37,242,208,.08); }
@keyframes spin { to { transform: rotate(360deg); } }
.shield-core { position: relative; z-index: 2; width: 118px; height: 118px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 35px; background: linear-gradient(145deg, rgba(126,70,255,.7), rgba(18,200,255,.42)); box-shadow: 0 0 70px rgba(45,179,255,.25), inset 0 1px 1px rgba(255,255,255,.45); transform: rotate(-7deg); }
.shield-core svg { width: 67px; fill: none; stroke: white; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; transform: rotate(7deg); }
.satellite { position: absolute; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #0b1022; color: #74809e; font: 700 9px/1 ui-monospace, monospace; letter-spacing: .1em; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.s1 { top: 17%; left: 4%; }.s2 { right: 5%; top: 27%; }.s3 { left: 13%; bottom: 15%; }
.security-copy { padding: clamp(29px, 3vw, 43px); border: 1px solid rgba(137,161,242,.24); border-radius: 28px; background: radial-gradient(circle at 100% 0, rgba(37,242,208,.1), transparent 35%), linear-gradient(145deg, rgba(27,34,68,.66), rgba(7,12,29,.75)); box-shadow: 0 34px 90px rgba(0,3,18,.48), 0 0 0 1px rgba(91,129,255,.05), inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter: blur(22px) saturate(1.25); -webkit-backdrop-filter: blur(22px) saturate(1.25); }
.security-copy h2 { font-size: clamp(44px, 5vw, 72px); }
.security-copy ul { display: grid; gap: 24px; margin: 34px 0 0; padding: 0; list-style: none; }
.security-copy li { display: grid; grid-template-columns: 34px 1fr; gap: 15px; color: #8c96b5; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.55; }
.security-copy li i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: rgba(37,242,208,.09); color: var(--cyan); font-size: 17px; font-style: normal; }
.security-copy li strong { display: block; margin-bottom: 5px; color: #e1e6f6; font-size: clamp(17px, 1.15vw, 19px); line-height: 1.35; }

.faq-section { padding-top: 90px; }
.faq-section::before { background: radial-gradient(ellipse at 50% 48%, rgba(37,242,208,.14), rgba(62,86,255,.075) 44%, transparent 72%); filter: blur(38px); }
.faq-list { max-width: 860px; display: grid; gap: 14px; margin: 0 auto; perspective: 900px; }
.faq-list details { position: relative; overflow: hidden; border: 1px solid rgba(137,162,245,.27); border-radius: 20px; background: radial-gradient(circle at 0 0, rgba(123,77,255,.13), transparent 34%), linear-gradient(145deg, rgba(29,36,72,.72), rgba(7,12,29,.82)); box-shadow: 0 22px 62px rgba(0,3,18,.42), inset 0 1px 0 rgba(255,255,255,.11); backdrop-filter: blur(20px) saturate(1.25); -webkit-backdrop-filter: blur(20px) saturate(1.25); transition: transform .3s ease, border-color .25s ease, background .25s ease, box-shadow .3s ease; }
.faq-list details::before { content: ""; position: absolute; inset: 0 12% auto; height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(127,101,255,.75), rgba(37,242,208,.65), transparent); opacity: .62; }
.faq-list details:hover { transform: translateY(-3px); border-color: rgba(93,205,255,.5); box-shadow: 0 28px 70px rgba(0,3,18,.52), 0 0 34px rgba(54,143,255,.1), inset 0 1px 0 rgba(255,255,255,.15); }
.faq-list details[open] { transform: translateY(-2px); border-color: rgba(37,242,208,.48); background: radial-gradient(circle at 100% 0, rgba(37,242,208,.13), transparent 37%), linear-gradient(145deg, rgba(28,42,76,.84), rgba(6,23,31,.86)); box-shadow: 0 30px 78px rgba(0,3,18,.56), 0 0 44px rgba(37,242,208,.11), inset 0 1px 0 rgba(255,255,255,.16); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; cursor: pointer; list-style: none; font-size: clamp(17px, 1.25vw, 20px); font-weight: 690; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline: 2px solid rgba(37,242,208,.55); outline-offset: -3px; border-radius: 17px; }
.faq-list summary > span:last-child { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; color: var(--cyan); transition: transform .25s ease; }
.faq-list details[open] summary > span:last-child { transform: rotate(45deg); }
.faq-list details p { margin: -3px 0 0; padding: 0 66px 24px 24px; color: #8c95b2; font-size: clamp(15px, 1vw, 17px); line-height: 1.75; }

.cursor-glow { position: fixed; z-index: 0; top: -210px; left: -210px; width: 420px; height: 420px; border-radius: 50%; pointer-events: none; opacity: 0; background: radial-gradient(circle, rgba(62,199,255,.085), rgba(107,72,255,.035) 38%, transparent 70%); transition: opacity .5s ease; will-change: transform; }
.cursor-glow.visible { opacity: 1; }
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.hero-copy[data-reveal] { transition-delay: .04s; }
.generator-shell[data-reveal] { transition-delay: .14s; }

.telegram-fab { position: fixed; z-index: 80; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid rgba(111,225,255,.45); border-radius: 50%; background: linear-gradient(145deg, #2aabee, #1285cf); color: white; box-shadow: 0 14px 36px rgba(16,133,207,.32), 0 0 0 7px rgba(42,171,238,.07); transition: transform .22s ease, box-shadow .22s ease; }
.telegram-fab:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 19px 46px rgba(16,133,207,.42), 0 0 0 9px rgba(42,171,238,.09); }
.telegram-fab svg { width: 29px; height: 29px; fill: currentColor; }
.telegram-fab > span { position: absolute; right: 66px; width: max-content; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(7,10,24,.96); color: #dce4fb; font-size: 11px; font-weight: 650; opacity: 0; transform: translateX(7px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
.telegram-fab:hover > span, .telegram-fab:focus-visible > span { opacity: 1; transform: translateX(0); }

footer { width: min(1240px, calc(100% - 40px)); min-height: 120px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid var(--line); color: #69718c; font-size: 12px; }
footer p { margin: 0; }

.toast { position: fixed; z-index: 100; top: 50%; left: 50%; bottom: auto; width: fit-content; max-width: min(560px, calc(100% - 32px)); min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 18px; border: 1px solid rgba(37,242,208,.42); border-radius: 16px; background: linear-gradient(105deg, rgba(21,31,61,.98), rgba(8,42,45,.98)); color: #ebfffb; box-shadow: 0 18px 50px rgba(0,0,0,.55), 0 0 34px rgba(37,242,208,.08), inset 0 1px 0 rgba(255,255,255,.07); transform: translate(-50%, -50%) scale(.94); opacity: 0; filter: blur(4px); pointer-events: none; visibility: hidden; transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1), filter .2s ease, visibility 0s linear .24s; }
.toast.show { transform: translate(-50%, -50%) scale(1); opacity: 1; filter: blur(0); visibility: visible; transition-delay: 0s; }
.toast .toast-icon { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: linear-gradient(135deg, var(--cyan), #61ffae); color: #06221c; font-size: 16px; font-weight: 900; box-shadow: 0 0 24px rgba(37,242,208,.24); }
.toast p { margin: 0; max-width: 100%; font-size: clamp(12px, 3.2vw, 16px); font-weight: 720; letter-spacing: -.01em; line-height: 1.35; text-align: center; overflow-wrap: anywhere; word-break: break-word; white-space: normal; }

.update-banner { position: fixed; z-index: 95; top: 50%; left: 50%; bottom: auto; width: min(560px, calc(100% - 32px)); display: grid; grid-template-columns: 42px minmax(0,1fr) auto 34px; align-items: center; gap: 13px; padding: 13px 14px; border: 1px solid rgba(93,220,255,.35); border-radius: 18px; background: linear-gradient(115deg, rgba(14,21,47,.98), rgba(9,34,45,.98)); color: #eef7ff; box-shadow: 0 24px 80px rgba(0,0,0,.62), 0 0 45px rgba(56,197,255,.11), inset 0 1px 0 rgba(255,255,255,.07); transform: translate(-50%, -50%); animation: update-enter .35s cubic-bezier(.2,.8,.2,1); }
.update-banner[hidden] { display: none; }
.update-signal { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, rgba(121,78,255,.32), rgba(37,242,208,.18)); color: var(--cyan); font-size: 25px; font-weight: 760; box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 0 22px rgba(37,242,208,.08); }
.update-copy { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.update-copy strong { font-size: 13px; }
.update-copy small { overflow: hidden; color: #8d98b7; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.update-action { min-height: 38px; padding: 0 15px; border: 0; border-radius: 11px; background: linear-gradient(110deg, var(--violet), var(--blue)); color: white; font: 720 11px/1 "Golos Text", sans-serif; cursor: pointer; box-shadow: 0 9px 24px rgba(76,78,255,.2); }
.update-action:hover { filter: brightness(1.1); transform: translateY(-1px); }
.update-dismiss { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); color: #8e98b4; font-size: 20px; cursor: pointer; }
@keyframes update-enter { from { opacity: 0; transform: translate(-50%, calc(-50% + 16px)) scale(.97); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }

.scanner-dialog, .install-dialog, .pwa-dialog { width: min(560px, calc(100% - 28px)); max-height: min(760px, calc(100% - 24px)); padding: 0; overflow: hidden; border: 1px solid rgba(120,150,255,.24); border-radius: 25px; background: #0a0e21; color: var(--text); box-shadow: 0 40px 120px rgba(0,0,0,.75); }
.scanner-dialog::backdrop, .install-dialog::backdrop, .pwa-dialog::backdrop { background: rgba(2,4,12,.76); backdrop-filter: blur(9px); }
.scanner-card { max-height: min(760px, calc(100dvh - 24px)); padding: 25px; overflow-y: auto; overscroll-behavior: contain; }
.install-card, .pwa-card { max-height: min(760px, calc(100dvh - 24px)); padding: 27px; overflow-y: auto; overscroll-behavior: contain; }
.install-dialog { width: min(680px, calc(100% - 24px)); height: min(860px, calc(100dvh - 24px)); max-height: none; overflow: hidden; }
.install-card { height: 100%; max-height: none; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: rgba(86,218,230,.4) transparent; }
.scanner-head { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; padding: 3px 0 12px; background: linear-gradient(180deg,rgba(10,14,33,.99) 0%,rgba(10,14,33,.97) 78%,rgba(10,14,33,0) 100%); backdrop-filter: blur(10px); }
.scanner-head h2 { margin: 6px 0 18px; font-size: 24px; }
.scanner-head > button { position: relative; z-index: 2; flex: 0 0 auto; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.055); font-size: 24px; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.18); transition: transform .18s ease,border-color .18s ease,background .18s ease; }
.scanner-head > button:hover { transform: translateY(-1px); border-color: rgba(94,224,235,.36); background: rgba(58,132,255,.1); }
.scanner-head > button:focus-visible { outline: 2px solid rgba(37,242,208,.68); outline-offset: 2px; }
.camera-frame { position: relative; overflow: hidden; aspect-ratio: 1.35; border: 1px solid rgba(53,226,255,.25); border-radius: 18px; background: #030612; }
.camera-frame video { width: 100%; height: 100%; object-fit: cover; }
.camera-corners { position: absolute; inset: 16%; border: 2px solid transparent; border-image: linear-gradient(135deg,var(--cyan),var(--violet)) 1; clip-path: polygon(0 0,26% 0,26% 3px,3px 3px,3px 26%,0 26%,0 0,100% 0,100% 26%,calc(100% - 3px) 26%,calc(100% - 3px) 3px,74% 3px,74% 0,100% 0,100% 100%,74% 100%,74% calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),calc(100% - 3px) 74%,100% 74%,100% 100%,0 100%,0 74%,3px 74%,3px calc(100% - 3px),26% calc(100% - 3px),26% 100%,0 100%); }
.camera-beam { position: absolute; left: 14%; right: 14%; top: 16%; height: 2px; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); animation: camera-scan 2.4s ease-in-out infinite alternate; }
@keyframes camera-scan { to { top: 83%; } }
.scanner-card > p { color: #8b94b0; font-size: 13px; text-align: center; }
.install-pwa-option > p { margin: 16px 4px; color: #aab2cb; font-size: 14px; line-height: 1.6; text-align: center; }
.install-site { display: inline-block; color: #84f5e5; font-weight: 780; text-decoration: underline; text-decoration-color: rgba(37,242,208,.58); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.install-menu-mark { display: inline-grid; min-width: 28px; min-height: 28px; place-items: center; padding: 2px 8px; border: 1px solid rgba(255,215,64,.44); border-radius: 8px; background: linear-gradient(145deg,#ffd83d,#ffb918); color: #171302; font: 900 18px/1 "Golos Text",sans-serif; text-decoration: none; box-shadow: 0 7px 18px rgba(255,191,29,.17); vertical-align: middle; }
.install-steps b em { color: #f4f7ff; font-style: normal; }
.install-visual { min-height: 125px; display: flex; align-items: center; justify-content: center; gap: 15px; border: 1px solid rgba(68,221,255,.18); border-radius: 20px; background: radial-gradient(circle at 50% 30%, rgba(37,242,208,.12), transparent 58%), linear-gradient(145deg, rgba(106,83,255,.11), rgba(18,29,61,.28)); color: #f3f7ff; font-size: 24px; font-weight: 760; letter-spacing: -.025em; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.install-visual .brand-mark { width: 58px; height: 58px; }
.install-visual .brand-mark svg { width: 34px; }
.install-visual strong { color: var(--cyan); }
.install-auth-apps, .install-pwa-option { margin-top: 17px; padding: 17px; border: 1px solid rgba(90,221,236,.2); border-radius: 18px; background: linear-gradient(135deg,rgba(37,242,208,.05),rgba(101,74,255,.055)); }
.install-pwa-option { border-color: rgba(127,117,255,.2); background: linear-gradient(135deg,rgba(112,79,255,.06),rgba(37,242,208,.035)); }
.install-pwa-option .install-visual { margin-top: 2px; }
.install-auth-apps-head, .install-pwa-head { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 11px; margin-bottom: 13px; }
.install-auth-apps-head > div, .install-pwa-head > div { display: grid; gap: 5px; }
.install-auth-apps-head strong, .install-pwa-head strong { color: #eef4ff; font-size: 15px; line-height: 1.25; }
.install-auth-apps-head span:not(.install-option-number), .install-pwa-head span:not(.install-option-number) { color: #8793b1; font-size: 11px; line-height: 1.5; }
.install-option-number { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(49,229,213,.2); border-radius: 12px; background: linear-gradient(145deg,rgba(37,242,208,.17),rgba(73,107,255,.1)); color: #87f5e2; font: 780 11px/1 ui-monospace,monospace; letter-spacing: .04em; }
.install-auth-app-list { display: grid; gap: 8px; }
.install-auth-app-row { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px; border: 1px solid rgba(126,148,213,.14); border-radius: 12px; background: rgba(4,9,24,.42); }
.install-auth-app-row > strong { min-width: 0; overflow: hidden; color: #d5ddf0; font-size: 12px; font-weight: 690; text-overflow: ellipsis; white-space: nowrap; }
.install-auth-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: white; font: 800 12px/1 "Golos Text",sans-serif; box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px rgba(0,0,0,.16); }
.install-auth-icon.google { background: linear-gradient(145deg,#4285f4,#34a853); }
.install-auth-icon.microsoft { background: linear-gradient(145deg,#6757ff,#35b7ff); }
.install-auth-icon.twofas { background: linear-gradient(145deg,#7549ff,#ec58b6); }
.install-auth-links { display: flex; gap: 5px; }
.install-auth-links a { min-height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid rgba(95,210,239,.2); border-radius: 9px; background: rgba(48,126,255,.065); color: #91e8df; font-size: 10px; font-weight: 700; text-decoration: none; transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.install-auth-links a:hover { transform: translateY(-1px); border-color: rgba(37,242,208,.46); background: rgba(37,242,208,.1); color: #dcfff8; box-shadow: 0 8px 20px rgba(18,181,181,.09); }
.install-auth-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 11px 0 0; padding: 0; list-style: none; }
.install-auth-guide li { min-width: 0; padding: 10px; border: 1px solid rgba(124,146,210,.12); border-radius: 11px; background: rgba(255,255,255,.022); }
.install-auth-guide li > span { width: 25px; height: 25px; display: grid; place-items: center; margin-bottom: 8px; border-radius: 8px; background: rgba(37,242,208,.1); color: #82eedb; font: 760 10px/1 ui-monospace,monospace; }
.install-auth-guide p { margin: 0; color: #8e99b6; font-size: 10px; line-height: 1.5; }
.install-steps { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.install-steps li { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; min-height: 44px; padding: 7px 11px; border: 1px solid rgba(124,146,210,.12); border-radius: 12px; background: rgba(255,255,255,.022); }
.install-steps li > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: linear-gradient(145deg, rgba(119,75,255,.2), rgba(37,242,208,.11)); color: #8ff4df; font: 760 11px/1 ui-monospace, monospace; }
.install-steps b { color: #bec7df; font-size: 12px; font-weight: 650; line-height: 1.35; }
.install-note { display: grid; grid-template-columns: 30px 1fr; align-items: start; gap: 11px; margin-bottom: 19px; padding: 14px; border: 1px solid rgba(37,242,208,.14); border-radius: 14px; background: rgba(37,242,208,.035); color: #818ca9; font-size: 12px; line-height: 1.55; }
.install-note i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(37,242,208,.12); color: var(--cyan); font-style: normal; font-weight: 800; }
.pwa-state-card { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; margin: 3px 0 15px; padding: 14px; border: 1px solid rgba(37,242,208,.2); border-radius: 15px; background: linear-gradient(120deg,rgba(37,242,208,.07),rgba(47,94,255,.045)); }
.pwa-state-card > i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: rgba(37,242,208,.11); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.pwa-state-card > i::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.pwa-state-card > div { display: grid; gap: 4px; }
.pwa-state-card strong { color: #a4fae8; font: 740 12px/1.2 ui-monospace,monospace; letter-spacing: .07em; }
.pwa-state-card span { color: #7782a2; font-size: 10px; }
.pwa-detail-list { display: grid; gap: 9px; margin: 0 0 18px; padding: 0; list-style: none; }
.pwa-detail-list li { display: grid; grid-template-columns: 32px 1fr; gap: 11px; padding: 12px; border: 1px solid rgba(121,142,211,.12); border-radius: 13px; background: rgba(255,255,255,.02); }
.pwa-detail-list li > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: rgba(102,85,255,.12); color: var(--cyan); font-weight: 800; }
.pwa-detail-list li > div { display: grid; gap: 4px; }
.pwa-detail-list strong { color: #cad2e8; font-size: 12px; }
.pwa-detail-list p { margin: 0; color: #7883a2; font-size: 11px; line-height: 1.5; }
.cache-refresh-panel { display: grid; gap: 13px; margin: 0 0 18px; padding: 15px; border: 1px solid rgba(255,202,74,.22); border-radius: 15px; background: linear-gradient(135deg,rgba(255,190,54,.055),rgba(42,188,255,.035)); }
.cache-refresh-copy { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; align-items: start; }
.cache-refresh-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,194,61,.12); color: #ffd468; font-size: 19px; font-weight: 850; }
.cache-refresh-copy div { display: grid; gap: 5px; }
.cache-refresh-copy strong { color: #e8edf9; font-size: 13px; }
.cache-refresh-copy p { margin: 0; color: #8c96b1; font-size: 11px; line-height: 1.55; }
.cache-refresh-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(255,202,74,.28); border-radius: 12px; background: rgba(255,190,54,.07); color: #ffe29a; font-weight: 720; cursor: pointer; transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.cache-refresh-button:hover { transform: translateY(-1px); border-color: rgba(255,213,110,.48); background: rgba(255,190,54,.11); box-shadow: 0 10px 28px rgba(0,0,0,.16); }
.cache-refresh-button:active { transform: translateY(0) scale(.985); }
.cache-refresh-button:focus-visible { outline: 2px solid rgba(255,211,104,.7); outline-offset: 2px; }
.cache-refresh-button:disabled { cursor: wait; opacity: .68; transform: none; }
.dialog-secondary { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.035); cursor: pointer; transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.dialog-secondary:hover { transform: translateY(-1px); border-color: rgba(91,217,238,.3); background: rgba(47,132,255,.07); box-shadow: 0 10px 28px rgba(0,0,0,.16); }
.dialog-secondary:active, .install-auth-links a:active, .store-links a:active, .dialog-primary:active { transform: translateY(0) scale(.985); }
.dialog-secondary:focus-visible, .install-auth-links a:focus-visible, .store-links a:focus-visible, .dialog-primary:focus-visible { outline: 2px solid rgba(37,242,208,.62); outline-offset: 2px; }

.account-vault { margin-top: 18px; overflow: hidden; border: 1px solid rgba(88,214,235,.2); border-radius: 17px; background: linear-gradient(135deg, rgba(37,242,208,.045), rgba(91,76,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); }
.account-vault[hidden] { display: none; }
.account-vault-toggle { width: 100%; min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border: 0; border-bottom: 1px solid rgba(121,142,211,.1); background: rgba(255,255,255,.012); color: inherit; text-align: left; cursor: pointer; }
.account-vault-toggle > span:first-child { display: grid; gap: 5px; }
.account-vault-toggle small { color: #62ead8; font: 730 9px/1 ui-monospace,monospace; letter-spacing: .14em; }
.account-vault-toggle strong { color: #e3e9f8; font-size: 13px; }
.account-vault-meta { display: inline-flex; align-items: center; gap: 9px; }
.account-vault-meta b { min-width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(37,242,208,.11); color: #92f8e7; font: 760 10px/1 ui-monospace,monospace; }
.account-vault-meta svg { width: 18px; fill: none; stroke: #8e98b7; stroke-width: 2; transition: transform .2s ease; }
.account-vault.is-collapsed .account-vault-toggle { border-bottom-color: transparent; }
.account-vault.is-collapsed .account-vault-meta svg { transform: rotate(180deg); }
.account-vault-body { padding: 13px; }
.account-vault-body[hidden] { display: none; }
.account-vault-note { margin: 0 2px 11px; color: #697590; font-size: 10px; line-height: 1.5; }
.account-list { display: grid; gap: 8px; }
.account-empty { display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 11px; min-height: 72px; padding: 11px; border: 1px dashed rgba(86,218,230,.22); border-radius: 13px; background: rgba(37,242,208,.025); }
.account-empty-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,rgba(119,75,255,.18),rgba(37,242,208,.1)); color: #7eeeda; font-size: 19px; }
.account-empty > span:last-child { min-width: 0; display: grid; gap: 5px; }
.account-empty strong { color: #dce5f5; font-size: 11px; }
.account-empty small { color: #6f7b98; font-size: 9px; line-height: 1.45; }
.account-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; min-width: 0; padding: 6px; border: 1px solid rgba(124,146,210,.12); border-radius: 13px; background: rgba(3,8,23,.42); transition: border-color .2s ease, background .2s ease; }
.account-item.is-active { border-color: rgba(37,242,208,.35); background: linear-gradient(105deg,rgba(37,242,208,.07),rgba(44,90,255,.04)); }
.account-select { min-width: 0; min-height: 48px; display: grid; grid-template-columns: 35px minmax(0,1fr); align-items: center; gap: 10px; padding: 4px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.account-marker { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: linear-gradient(145deg,rgba(125,84,255,.2),rgba(37,242,208,.09)); color: #75efdc; font: 760 10px/1 ui-monospace,monospace; }
.account-item.is-active .account-marker { background: linear-gradient(135deg,var(--cyan),#4ac5ff); color: #062120; box-shadow: 0 0 20px rgba(37,242,208,.15); }
.account-select > span:last-child { min-width: 0; display: grid; gap: 3px; }
.account-select strong { overflow: hidden; color: #dce4f5; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.account-select small { color: #687591; font-size: 9px; }
.account-item.is-active .account-select small { color: #69dbc9; }
.account-item-actions { display: flex; gap: 5px; }
.account-icon-button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(130,150,215,.14); border-radius: 10px; background: rgba(255,255,255,.025); color: #8b96b5; cursor: pointer; }
.account-icon-button:hover { color: #d8e1f7; border-color: rgba(101,201,245,.3); background: rgba(45,132,255,.07); }
.account-icon-button.danger:hover { color: #ff8299; border-color: rgba(255,102,133,.3); background: rgba(255,102,133,.07); }
.account-icon-button svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-add { width: 100%; min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 9px; border: 1px dashed rgba(86,218,230,.22); border-radius: 12px; background: rgba(37,242,208,.025); color: #8ddbcc; font-size: 10px; font-weight: 680; cursor: pointer; }
.account-add:hover { border-style: solid; background: rgba(37,242,208,.055); color: #bcfff2; }
.account-add[hidden] { display: none; }

.auth-apps-section, .local-risk-card { position: relative; width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.auth-apps-section { padding: 118px 0 62px; }
.auth-app-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.auth-app-card { position: relative; display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 19px; min-height: 288px; padding: 26px; overflow: hidden; border: 1px solid rgba(139,166,255,.24); border-radius: 25px; background: radial-gradient(circle at 8% 0,rgba(121,82,255,.19),transparent 36%),linear-gradient(145deg,rgba(25,32,67,.83),rgba(7,12,30,.9)); box-shadow: 0 28px 70px rgba(0,3,18,.42),inset 0 1px 0 rgba(255,255,255,.1); }
.auth-app-card::after { content: ""; position: absolute; right: -54px; bottom: -64px; width: 145px; height: 145px; border-radius: 50%; background: var(--app-glow,rgba(37,242,208,.12)); filter: blur(20px); }
.auth-app-card h3 { margin: 4px 0 10px; color: #f2f5ff; font-size: 21px; line-height: 1.2; letter-spacing: -.015em; }
.auth-app-card p { margin: 0; color: #929db9; font-size: 15px; line-height: 1.62; }
.auth-app-icon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; color: white; font-size: 23px; font-weight: 820; box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 15px 35px rgba(0,0,0,.25); }
.auth-app-icon.google { background: linear-gradient(135deg,#4285f4,#34a853 48%,#fbbc05 72%,#ea4335); }
.auth-app-icon.microsoft { background: linear-gradient(135deg,#5b7cff,#2b5fc7); }
.auth-app-icon.twofas { background: linear-gradient(135deg,#6756ff,#20d8c0); font-size: 18px; }
.store-links { position: relative; z-index: 1; grid-column: 1 / -1; align-self: end; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.store-links a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(145,166,225,.19); border-radius: 13px; background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(39,78,138,.035)); color: #c5cfe4; font-size: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,.035); transition: transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.store-links a:hover { transform: translateY(-2px); border-color: rgba(72,221,237,.4); background: rgba(37,242,208,.07); color: #effffc; box-shadow: 0 12px 28px rgba(9,171,185,.1); }
.store-links a span { color: #7beedb; }
.auth-app-tip { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 16px; margin-top: 17px; padding: 16px 17px 16px 19px; border: 1px solid rgba(37,242,208,.23); border-radius: 18px; background: linear-gradient(105deg,rgba(37,242,208,.075),rgba(72,85,255,.065)); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 16px 40px rgba(2,12,30,.15); }
.auth-app-tip-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(37,242,208,.18); border-radius: 14px; background: rgba(37,242,208,.13); color: var(--cyan); font-size: 18px; font-weight: 850; box-shadow: 0 8px 22px rgba(5,215,192,.08); }
.auth-app-tip-copy { min-width: 0; display: grid; gap: 4px; }
.auth-app-tip-copy strong { color: #dbe7f8; font-size: 17px; line-height: 1.25; }
.auth-app-tip-copy p { margin: 0; color: #8f9bb7; font-size: 14px; line-height: 1.5; }
.auth-app-tip-action { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 1px solid rgba(86,236,233,.28); border-radius: 13px; background: linear-gradient(135deg,rgba(116,73,255,.86),rgba(26,206,231,.88)); color: #fff; font: 750 14px/1 "Golos Text", sans-serif; white-space: nowrap; cursor: pointer; box-shadow: 0 12px 30px rgba(43,123,239,.16), inset 0 1px 0 rgba(255,255,255,.24); transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
.auth-app-tip-action:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 16px 36px rgba(43,123,239,.24), inset 0 1px 0 rgba(255,255,255,.28); }
.auth-app-tip-action:active { transform: translateY(0); }
.auth-app-tip-action:focus-visible { outline: 2px solid rgba(37,242,208,.8); outline-offset: 3px; }
.auth-app-tip-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.auth-app-usage { margin-top: 17px; padding: 20px; border: 1px solid rgba(126,150,225,.18); border-radius: 19px; background: linear-gradient(120deg,rgba(25,35,71,.68),rgba(7,20,39,.72)); box-shadow: inset 0 1px 0 rgba(255,255,255,.045); }
.auth-app-usage-head { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 13px; margin-bottom: 15px; }
.auth-app-usage-head > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(37,242,208,.17); border-radius: 13px; background: rgba(37,242,208,.09); color: var(--cyan); font-size: 23px; }
.auth-app-usage-head > div { display: grid; gap: 4px; }
.auth-app-usage-head strong { color: #e6ecfa; font-size: 16px; }
.auth-app-usage-head small { color: #7784a2; font-size: 11px; line-height: 1.45; }
.auth-app-usage ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.auth-app-usage li { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: start; gap: 9px; min-height: 72px; padding: 12px; border: 1px solid rgba(126,148,213,.12); border-radius: 13px; background: rgba(255,255,255,.02); }
.auth-app-usage li > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: linear-gradient(145deg,rgba(119,75,255,.18),rgba(37,242,208,.1)); color: #8ef3df; font: 760 11px/1 ui-monospace,monospace; }
.auth-app-usage li p { margin: 2px 0 0; color: #8f9ab6; font-size: 12px; line-height: 1.5; }

.local-risk-card { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 23px; padding: 27px; border: 1px solid rgba(255,183,75,.25); border-radius: 25px; background: radial-gradient(circle at 0 0,rgba(255,172,65,.1),transparent 30%),linear-gradient(130deg,rgba(36,25,33,.68),rgba(10,14,31,.85)); box-shadow: 0 26px 70px rgba(0,3,18,.4),inset 0 1px 0 rgba(255,255,255,.08); }
.local-risk-icon { width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid rgba(255,185,70,.3); border-radius: 21px; background: linear-gradient(145deg,rgba(255,173,54,.2),rgba(255,95,117,.09)); color: #ffd78c; font-size: 31px; font-weight: 850; }
.local-risk-card .eyebrow { color: #f3bb69; }
.local-risk-card h2 { margin: 10px 0 8px; font-size: clamp(24px,3vw,36px); line-height: 1.1; letter-spacing: -.025em; }
.local-risk-card p { max-width: 880px; margin: 0; color: #929bb6; font-size: 14px; line-height: 1.65; }
.policy-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.policy-links a, .footer-links a { color: #7cead8; text-decoration: underline; text-decoration-color: rgba(124,234,216,.3); text-underline-offset: 4px; }
.policy-links a { padding: 8px 11px; border: 1px solid rgba(97,214,218,.15); border-radius: 10px; background: rgba(37,242,208,.035); font-size: 11px; }
.policy-links a:hover, .footer-links a:hover { color: #c8fff5; }
.footer-copy { display: grid; gap: 4px; }
.footer-copy small { color: #555f7b; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; }

.consent-dialog, .rename-dialog { width: min(680px,calc(100% - 28px)); max-height: min(820px,calc(100% - 24px)); padding: 0; overflow: hidden; border: 1px solid rgba(121,153,255,.28); border-radius: 25px; background: #090e20; color: var(--text); box-shadow: 0 40px 120px rgba(0,0,0,.78),0 0 60px rgba(46,123,255,.08); }
.consent-dialog::backdrop, .rename-dialog::backdrop { background: rgba(2,4,12,.8); backdrop-filter: blur(10px); }
.consent-card, .rename-card { max-height: min(820px,calc(100dvh - 24px)); padding: 27px; overflow-y: auto; overscroll-behavior: contain; }
.consent-alert { display: grid; grid-template-columns: 42px 1fr; align-items: start; gap: 13px; margin: 5px 0 17px; padding: 15px; border: 1px solid rgba(255,184,77,.22); border-radius: 15px; background: rgba(255,173,54,.055); }
.consent-alert i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,178,55,.13); color: #ffd184; font-style: normal; font-size: 20px; font-weight: 850; }
.consent-alert p { margin: 0; color: #b6ae98; font-size: 14px; line-height: 1.55; }
.consent-list { display: grid; gap: 8px; margin: 0 0 17px; padding: 0; list-style: none; }
.consent-list li { position: relative; padding: 11px 13px 11px 39px; border: 1px solid rgba(125,146,210,.12); border-radius: 12px; background: rgba(255,255,255,.022); color: #929db8; font-size: 13px; line-height: 1.48; }
.consent-list li::before { content: "✓"; position: absolute; left: 13px; top: 9px; color: var(--cyan); font-weight: 800; }
.consent-check { display: grid; grid-template-columns: 20px 1fr; gap: 11px; align-items: start; padding: 15px; border: 1px solid rgba(37,242,208,.18); border-radius: 14px; background: rgba(37,242,208,.035); color: #c5d0e3; font-size: 13px; line-height: 1.5; cursor: pointer; }
.consent-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cyan); }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 17px; }
.dialog-primary { min-height: 50px; border: 0; border-radius: 13px; background: linear-gradient(110deg,var(--violet),var(--blue)); color: white; font-size: 14px; font-weight: 730; cursor: pointer; box-shadow: 0 12px 30px rgba(67,89,255,.16); transition: transform .18s ease,filter .18s ease,box-shadow .18s ease; }
.dialog-primary:not(:disabled):hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 16px 36px rgba(67,89,255,.23); }
.dialog-primary:disabled { opacity: .38; cursor: not-allowed; filter: saturate(.3); }
.consent-legal { margin: 14px 2px 0; color: #606b87; font-size: 11px; line-height: 1.55; }
.rename-card label { display: grid; gap: 8px; margin-top: 10px; color: #9ba5bf; font-size: 11px; }
.rename-card input { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid rgba(133,154,220,.2); border-radius: 13px; outline: 0; background: rgba(3,7,20,.68); color: white; }
.rename-card input:focus { border-color: rgba(37,242,208,.55); box-shadow: 0 0 0 3px rgba(37,242,208,.07); }

.policy-page { min-height: 100vh; background: radial-gradient(circle at 50% 0,rgba(94,63,255,.19),transparent 34rem),#070816; }
.policy-header { width: min(980px,calc(100% - 40px)); height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 auto; border-bottom: 1px solid var(--line); }
.policy-shell { width: min(900px,calc(100% - 40px)); margin: 0 auto; padding: 70px 0 100px; }
.policy-back { display: inline-flex; align-items: center; gap: 8px; color: #76e8d6; font-size: 12px; }
.policy-hero { margin: 25px 0 38px; padding: 30px; border: 1px solid rgba(137,161,245,.22); border-radius: 25px; background: linear-gradient(145deg,rgba(27,34,69,.8),rgba(8,13,31,.88)); box-shadow: var(--shadow),inset 0 1px 0 rgba(255,255,255,.08); }
.policy-hero h1 { margin: 10px 0 12px; font-size: clamp(38px,7vw,66px); line-height: .98; letter-spacing: -.04em; }
.policy-hero p { max-width: 700px; margin: 0; color: #9aa4c0; font-size: 16px; }
.policy-copy { display: grid; gap: 15px; }
.policy-copy[hidden] { display: none; }
.policy-copy section { padding: 24px 26px; border: 1px solid rgba(128,149,218,.15); border-radius: 20px; background: rgba(13,18,39,.7); }
.policy-copy h2 { margin: 0 0 10px; font-size: 21px; }
.policy-copy p, .policy-copy li { color: #939db8; font-size: 13px; line-height: 1.7; }
.policy-copy ul { margin: 8px 0 0; padding-left: 20px; }
.policy-copy a { color: #77e8d6; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1100px) {
  .site-header nav { gap: 20px; font-size: 13px; }
  .hero-copy { grid-template-columns: minmax(0, 1.12fr) minmax(290px, .88fr); column-gap: 38px; }
  .hero h1 { font-size: clamp(58px, 7.5vw, 86px); }
  .generator-head, .input-zone, .token-zone { padding-inline: 30px; }
  .first-run-guide { grid-template-columns: minmax(190px,.8fr) minmax(300px,1.2fr); }
  .first-run-action { grid-column: 1 / -1; width: 100%; }
  .about-section { gap: 48px; }
  .security-section { gap: 56px; }
}

@media (max-width: 720px) {
  body {
    background:
      linear-gradient(180deg, rgba(4, 7, 18, .28) 0, rgba(5, 7, 18, .62) 31rem, rgba(7, 8, 22, .94) 64rem, #060711 92rem),
      linear-gradient(90deg, rgba(3, 7, 18, .38), rgba(3, 7, 18, .16)),
      url("assets/vibe-security-bg-v1.webp") top 2rem center / auto 48rem no-repeat,
      linear-gradient(180deg, #070a17 0%, var(--bg) 48%, #060711 100%);
  }
}

@media (max-width: 900px) {
  .site-header nav { display: none; }
  .hero { padding-top: 65px; }
  .hero-copy { display: block; max-width: 830px; margin-bottom: 52px; }
  .hero h1 { margin-bottom: 23px; font-size: clamp(58px, 11vw, 96px); }
  .hero-copy > p { margin-bottom: 0; font-size: 18px; }
  .trust-row { margin-top: 28px; }
  .generator-grid { grid-template-columns: 1fr; }
  .input-zone { border-right: 0; border-bottom: 1px solid var(--line); }
  .security-section { grid-template-columns: 1fr; gap: 30px; }
  .about-section { grid-template-columns: 1fr; gap: 45px; }
  .security-copy { text-align: center; }
  .security-copy li { text-align: left; }
  .steps { grid-template-columns: 1fr; }
  .steps article { min-height: 280px; }
  .step-icon { margin: 30px 0 24px; }
  .auth-app-grid { grid-template-columns: 1fr; }
  .auth-app-card { min-height: 230px; grid-template-columns: 62px minmax(0,1fr); }
  .auth-app-usage ol { grid-template-columns: 1fr; }
  .auth-app-usage li { min-height: 0; }
}

@media (hover: none) {
  .steps article:hover { transform: none; }
  .steps article:hover::after { transform: none; }
  .faq-list details:hover { transform: none; }
}

@media (min-width: 701px) {
  .install-dialog { width: min(820px, calc(100% - 32px)); }
  .install-card { padding: 34px 36px; }
  .install-card .scanner-head h2 { margin-top: 8px; font-size: 29px; }
  .install-card .scanner-head > button { width: 44px; height: 44px; font-size: 27px; }
  .install-auth-apps, .install-pwa-option { padding: 22px; border-radius: 21px; }
  .install-auth-apps-head, .install-pwa-head { grid-template-columns: 44px minmax(0,1fr); gap: 14px; margin-bottom: 17px; }
  .install-option-number { width: 44px; height: 44px; font-size: 13px; }
  .install-auth-apps-head strong, .install-pwa-head strong { font-size: 20px; line-height: 1.3; }
  .install-auth-apps-head span:not(.install-option-number), .install-pwa-head span:not(.install-option-number) { font-size: 15px; line-height: 1.55; }
  .install-auth-app-list { gap: 10px; }
  .install-auth-app-row { grid-template-columns: 46px minmax(0,1fr) auto; gap: 13px; padding: 12px; border-radius: 15px; }
  .install-auth-icon { width: 46px; height: 46px; border-radius: 13px; font-size: 14px; }
  .install-auth-app-row > strong { font-size: 16px; }
  .install-auth-links { gap: 7px; }
  .install-auth-links a { min-height: 40px; padding-inline: 13px; border-radius: 11px; font-size: 13px; }
  .install-auth-guide { gap: 9px; margin-top: 14px; }
  .install-auth-guide li { padding: 14px; border-radius: 14px; }
  .install-auth-guide li > span { width: 29px; height: 29px; margin-bottom: 10px; font-size: 11px; }
  .install-auth-guide p { font-size: 14px; line-height: 1.55; }
  .install-visual { min-height: 145px; font-size: 28px; }
  .install-visual .brand-mark { width: 66px; height: 66px; }
  .install-visual .brand-mark svg { width: 38px; }
  .install-pwa-option > p { margin-block: 20px; font-size: 17px; line-height: 1.65; }
  .install-steps { gap: 10px; margin-bottom: 22px; }
  .install-steps li { grid-template-columns: 36px 1fr; min-height: 54px; gap: 12px; padding: 9px 14px; border-radius: 14px; }
  .install-steps li > span { width: 32px; height: 32px; font-size: 12px; }
  .install-steps b { font-size: 15px; line-height: 1.45; }
  .install-note { grid-template-columns: 36px 1fr; gap: 13px; padding: 17px; font-size: 15px; line-height: 1.6; }
  .install-note i { width: 36px; height: 36px; border-radius: 11px; }
  .install-card > .dialog-secondary { min-height: 56px; font-size: 16px; font-weight: 650; }
}

@media (max-width: 600px) {
  .site-header, .hero, .about-section, .auth-apps-section, .content-section, .security-section, .local-risk-card, footer { width: min(100% - 24px, 1240px); }
  .site-header { height: 72px; }
  .header-status { width: 18px; height: 18px; justify-content: center; padding: 0; border-color: transparent; background: transparent; }
  .header-status span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .header-status i { width: 8px; height: 8px; }
  .hero { padding-top: 48px; }
  .hero h1 { font-size: clamp(49px, 16vw, 78px); }
  .hero-copy > p { font-size: 16px; }
  .section-heading p, .security-copy > p, .about-copy > p { font-size: 17px; }
  .generator-shell { border-radius: 24px; }
  .generator-head, .input-zone, .token-zone { padding: 24px 20px; }
  .first-run-guide { grid-template-columns: 1fr; gap: 13px; margin: 12px 12px 0; padding: 18px 18px 16px; }
  .first-run-steps { grid-template-columns: 1fr; }
  .first-run-copy { padding-right: 24px; }
  .first-run-action { grid-column: auto; }
  .generator-head { align-items: flex-start; }
  .terminal-state { display: none; }
  .input-actions { grid-template-columns: 1fr 1fr 48px; }
  .action-button { font-size: 11px; }
  .token-display { min-height: 108px; padding-bottom: 27px; font-size: clamp(29px, 10vw, 45px); }
  .privacy-strip { grid-template-columns: auto 1fr; padding: 18px 20px; }
  .privacy-strip > span:not(.pwa-readiness) { display: none; }
  .privacy-strip > .pwa-readiness { grid-column: 1 / -1; justify-self: start; margin-left: 36px; }
  .copy-button kbd { display: none; }
  .about-section, .content-section, .security-section { padding: 90px 0; }
  .auth-apps-section { padding: 88px 0 48px; }
  .auth-app-card { min-height: 0; padding: 22px 19px; }
  .auth-app-card h3 { font-size: 19px; }
  .auth-app-card p { font-size: 14px; }
  .auth-app-usage { padding: 16px; }
  .auth-app-usage-head { grid-template-columns: 38px minmax(0,1fr); }
  .auth-app-usage-head > span { width: 38px; height: 38px; }
  .auth-app-tip { grid-template-columns: 38px minmax(0,1fr); align-items: start; padding: 15px; }
  .auth-app-tip-icon { width: 38px; height: 38px; border-radius: 12px; }
  .auth-app-tip-copy strong { font-size: 15px; }
  .auth-app-tip-copy p { font-size: 13px; }
  .auth-app-tip-action { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .install-dialog { width: calc(100% - 12px); height: calc(100dvh - 12px); border-radius: 20px; }
  .install-auth-app-row { grid-template-columns: 38px minmax(0,1fr); }
  .install-auth-links { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .install-auth-links a { min-height: 36px; }
  .install-auth-guide { grid-template-columns: 1fr; }
  .install-auth-guide li { display: grid; grid-template-columns: 25px minmax(0,1fr); align-items: start; gap: 9px; }
  .install-auth-guide li > span { margin: 0; }
  .install-auth-guide p { padding-top: 3px; font-size: 11px; }
  .install-pwa-option > p { font-size: 13px; }
  .local-risk-card { grid-template-columns: 52px minmax(0,1fr); gap: 16px; padding: 21px 18px; }
  .local-risk-icon { width: 52px; height: 52px; border-radius: 16px; font-size: 23px; }
  .local-risk-card h2 { font-size: 25px; }
  .factor-equation { grid-template-columns: 1fr; padding: 28px 18px 18px; }
  .factor-card { min-height: 164px; }
  .equation-symbol { height: 20px; line-height: 20px; text-align: center; }
  .factor-result { grid-column: auto; }
  .security-visual { width: 310px; }
  footer { padding: 30px 0; flex-direction: column; text-align: center; }
  .footer-links { justify-content: center; }
  .consent-card, .rename-card { padding: 21px 17px; }
  .consent-alert p { font-size: 13px; }
  .consent-list li, .consent-check { font-size: 12px; }
  .consent-legal { font-size: 10px; }
  .policy-header, .policy-shell { width: min(100% - 24px,980px); }
  .policy-shell { padding-top: 45px; }
  .policy-hero { padding: 24px 20px; }
  .policy-copy section { padding: 20px 18px; }
  .telegram-fab { width: 52px; height: 52px; right: 15px; bottom: 15px; }
  .telegram-fab > span { display: none; }
}

@media (max-width: 420px) {
  .site-header, .hero, .about-section, .auth-apps-section, .content-section, .security-section, .local-risk-card, footer { width: min(100% - 20px, 1240px); }
  .brand { gap: 9px; font-size: 17px; }
  .brand-mark { width: 38px; height: 38px; border-radius: 12px; }
  .lang-switch button { min-width: 31px; padding-inline: 6px; }
  .install-app { width: 36px; justify-content: center; padding: 0; }
  .install-app span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hero { padding-top: 38px; }
  .hero h1 { font-size: clamp(43px, 15.5vw, 65px); line-height: .93; }
  .eyebrow, .section-kicker { font-size: 10px; letter-spacing: .11em; }
  .generator-head, .input-zone, .token-zone { padding-inline: 16px; }
  .generator-head h2 { font-size: 22px; }
  .input-actions { grid-template-columns: 1fr 1fr; }
  .action-button.icon-only { grid-column: 1 / -1; min-height: 44px; }
  .token-topline { align-items: flex-start; }
  .countdown-pill { padding: 8px 9px; }
  .token-display { font-size: clamp(27px, 10vw, 39px); }
  .token-digits { gap: .42em; }
  .token-copy-hint { bottom: 9px; font-size: 8px; }
  .steps article { min-height: 0; padding: 26px 22px 30px; }
  .step-icon { width: 62px; height: 62px; margin: 27px 0 23px; }
  .security-visual { width: min(280px, 100%); }
  .security-copy h2 { font-size: clamp(40px, 13vw, 58px); }
  .security-copy li { grid-template-columns: 32px 1fr; gap: 12px; }
  .faq-list summary { padding: 21px 18px; }
  .faq-list details p { margin-top: -2px; padding: 0 52px 21px 18px; }
  .scanner-card, .install-card, .pwa-card { padding: 20px 16px; }
  .install-card { padding-right: 12px; padding-left: 14px; }
  .install-auth-apps, .install-pwa-option { padding: 13px; border-radius: 15px; }
  .install-auth-apps-head, .install-pwa-head { grid-template-columns: 34px minmax(0,1fr); gap: 9px; }
  .install-option-number { width: 34px; height: 34px; }
  .install-auth-apps-head strong, .install-pwa-head strong { font-size: 14px; }
  .install-visual { min-height: 105px; font-size: 20px; }
  .install-visual .brand-mark { width: 50px; height: 50px; }
  .install-steps b { font-size: 11px; }
  .qr-drop-hint p { display: grid; gap: 2px; }
  .remember-note { margin-left: 0; padding-left: 42px; }
  .cache-refresh-panel { padding: 13px; }
  .cache-refresh-button { width: 100%; }
  .account-vault-toggle { padding-inline: 12px; }
  .account-vault-body { padding: 9px; }
  .account-item { grid-template-columns: minmax(0,1fr); }
  .account-item-actions { justify-content: flex-end; padding: 0 4px 4px; }
  .account-icon-button { width: 42px; }
  .export-toggle { min-height: 58px; padding: 12px 13px; }
  .export-toggle-side { gap: 7px; }
  .export-local { display: none; }
  .export-body { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 13px; }
  .export-qr { width: 80px; height: 80px; padding: 5px; border-radius: 11px; }
  .export-content > p { margin: 0 0 10px; }
  .export-actions { grid-template-columns: 1fr; }
  .qr-size { grid-column: auto; }
  .auth-app-card { grid-template-columns: 50px minmax(0,1fr); gap: 14px; padding: 19px 16px; }
  .auth-app-icon { width: 50px; height: 50px; border-radius: 15px; font-size: 20px; }
  .store-links { grid-template-columns: 1fr; }
  .auth-app-tip { grid-template-columns: 32px minmax(0,1fr); gap: 12px; padding: 14px; }
  .auth-app-tip-icon { width: 32px; height: 32px; font-size: 15px; }
  .local-risk-card { grid-template-columns: 1fr; }
  .local-risk-icon { width: 46px; height: 46px; }
  .consent-alert { grid-template-columns: 34px 1fr; padding: 12px; }
  .consent-alert i { width: 34px; height: 34px; }
  .consent-actions { grid-template-columns: 1fr; }
  .toast { width: fit-content; max-width: calc(100% - 24px); min-height: 54px; gap: 10px; padding: 12px 14px; border-radius: 14px; }
  .toast p { font-size: clamp(12px, 3.6vw, 15px); }
  .toast .toast-icon { width: 32px; height: 32px; font-size: 16px; }
  .update-banner { top: 50%; bottom: auto; width: min(560px, calc(100% - 24px)); grid-template-columns: 38px minmax(0,1fr) 32px; gap: 10px; padding: 11px; }
  .update-signal { width: 38px; height: 38px; border-radius: 12px; font-size: 22px; }
  .update-copy small { white-space: normal; }
  .update-action { grid-column: 2; width: 100%; }
  .update-dismiss { grid-column: 3; grid-row: 1; }
  .telegram-fab { width: 48px; height: 48px; right: 10px; bottom: 10px; }
  .telegram-fab svg { width: 25px; height: 25px; }
}

@media (max-height: 600px) and (orientation: landscape) and (max-width: 900px) {
  .hero { padding-top: 36px; }
  .hero-copy { margin-bottom: 36px; }
  .hero h1 { font-size: clamp(50px, 9vw, 74px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .token-display.copied { animation: none; border-color: rgba(37,242,208,.72); }
}
