:root {
  --site-cyan:#27cbff;
  --site-blue:#248dff;
  --site-violet:#8454ff;
  --site-panel:rgba(7,31,70,.88);
  --site-line:rgba(52,154,226,.56);
}

body {
  display:flex;
  flex-direction:column;
  min-height:100vh;
  overflow-x:hidden;
  background:#020a1d url('../images/homepage-neon-city-v1.png') center top / cover fixed no-repeat;
}
body.page-home { overflow-x:clip; }
body.page-programs,body.page-market {
  background:#020a1d url('../images/homepage-neon-city-v1.png') center top / cover fixed no-repeat;
}
body::before { display:none; }
body > main {
  flex:1 0 auto;
  min-height:calc(100vh - 170px);
  background:linear-gradient(180deg,rgba(1,8,24,.06),rgba(1,8,24,.26) 48%,rgba(1,7,20,.72));
}

/* The approved home navigation is shared by every page. */
.site-header {
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  max-width:none;
  height:70px;
  margin:0;
  padding:0 max(72px,calc((100vw - 1248px)/2));
  gap:25px;
  border:0;
  border-bottom:1px solid rgba(55,143,214,.24);
  background:linear-gradient(180deg,rgba(2,10,28,.38),rgba(2,10,28,.14));
  box-shadow:none;
  backdrop-filter:blur(16px);
}
.brand-logo { display:block; width:190px; height:44px; object-fit:contain; mix-blend-mode:screen; }
.main-nav { align-self:stretch; align-items:center; gap:3px; }
.main-nav a,.icon-link {
  height:auto;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:18px;
  color:#d3e0ef;
  font-size:13px;
  font-weight:600;
}
.main-nav a::after { display:none; }
.main-nav a:hover,.main-nav a.active,.icon-link:hover {
  color:#fff;
  border-color:rgba(65,160,239,.48);
  background:linear-gradient(135deg,rgba(20,84,161,.62),rgba(32,63,134,.52));
  box-shadow:inset 0 0 15px rgba(68,173,255,.12);
}
.header-actions { gap:10px; }
.coin-balance,.language-button {
  min-height:38px;
  padding:6px 10px;
  border-color:rgba(64,135,199,.34);
  border-radius:18px;
  background:rgba(3,18,43,.55);
}
.header-diamond { width:28px; height:28px; overflow:visible; filter:drop-shadow(0 0 8px rgba(49,197,255,.52)); }
.header-login,.header-register,.header-actions .button-danger {
  min-height:38px;
  padding:8px 17px;
  border-radius:17px;
  font-size:13px;
}
.header-login { min-width:76px; border-color:rgba(83,169,235,.72); background:rgba(3,19,45,.5); }
.header-register,.header-actions .button-danger {
  border-color:transparent;
  color:#fff;
  background:linear-gradient(105deg,#24c7ff,#2d82ff 55%,#824cff);
  box-shadow:none;
}
.language-switch { position:relative; z-index:20; }
.language-menu { z-index:21; border-radius:16px; overflow:hidden; background:rgba(3,15,38,.97); }
.language-button { display:flex; align-items:center; gap:8px; }
.language-button .flag,.language-menu .flag {
  width:27px;
  height:20px;
  border:1px solid rgba(176,230,255,.55);
  border-radius:7px;
  background-position:center;
  background-size:cover;
  box-shadow:0 0 10px rgba(55,184,255,.22);
}

/* Shared rounded vector-interface language for forms, cards and data pages. */
.page-hero { background:linear-gradient(135deg,rgba(4,22,53,.82),rgba(22,22,70,.62)); }
.page-hero h1 { text-transform:none; }
.panel,.program-card,.listing-card,.payment-card,.profile-summary > div,.contact-grid a,
.gallery img,.status,.input,.admin-row button,.empty-state {
  border-radius:18px;
}
.panel,.program-card,.listing-card,.payment-card,.profile-summary > div,.contact-grid a {
  border-color:var(--site-line);
  background:linear-gradient(145deg,rgba(7,31,70,.91),rgba(6,17,44,.91));
  backdrop-filter:blur(15px);
}
.button { border-radius:18px; }
.button-primary { background:linear-gradient(105deg,#24c7ff,#2d82ff 55%,#824cff); }
.button-secondary { background:linear-gradient(105deg,#7654ff,#455ee9 58%,#238ccc); }
.resource-actions [data-resource-return][data-mode="stop"]::before {
  width:15px;
  height:15px;
  border-radius:3px;
  background:#fff;
  box-shadow:0 0 8px rgba(255,255,255,.55);
}
.device-rename .button,.resource-timer .timer-save {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.device-rename .button::before,.resource-timer .timer-save::before {
  position:static;
  display:block;
  width:22px;
  height:22px;
  margin:0;
  border:0;
  background:url('../images/control-check.svg') center/contain no-repeat;
}
.device-rename .button::before {
  transform:translateX(2px);
}
.resource-timer .timer-save {
  min-width:42px;
  width:42px;
  min-height:40px;
  height:40px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.march-row>strong {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
}
.input { background:rgba(2,12,31,.84); }
.program-card { clip-path:none; }
.listing-card,.gallery img { overflow:hidden; }
table { overflow:hidden; border-radius:16px; background:rgba(4,18,43,.72); }

/* Full site content system: the same rounded vector/glass language as the
   approved homepage and the resource control center. */
.page-hero,.page-section,.narrow-section {
  width:min(1248px,calc(100% - 56px));
  max-width:1248px;
  margin-left:auto;
  margin-right:auto;
  border-left:0;
  border-right:0;
}
.page-hero {
  min-height:230px;
  margin-top:28px;
  padding:48px 54px;
  overflow:hidden;
  border:1px solid rgba(61,151,221,.52);
  border-radius:28px;
  background:
    radial-gradient(circle at 84% 15%,rgba(127,78,255,.28),transparent 34%),
    linear-gradient(125deg,rgba(8,38,81,.95),rgba(5,24,59,.91));
  box-shadow:0 24px 55px rgba(0,5,20,.34),inset 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
}
.page-hero::after {
  content:'';
  position:absolute;
  right:-55px;
  bottom:-110px;
  width:360px;
  height:260px;
  border:1px solid rgba(44,204,255,.18);
  border-radius:50%;
  box-shadow:0 0 70px rgba(54,132,255,.16),inset 0 0 50px rgba(91,67,255,.12);
  transform:rotate(-13deg);
  pointer-events:none;
}
.page-hero h1 {
  max-width:800px;
  margin:0 0 13px;
  font-family:Inter,'Segoe UI',Arial,sans-serif;
  font-size:clamp(38px,4.3vw,62px);
  line-height:1.05;
  letter-spacing:-.025em;
  text-transform:none;
}
.page-hero p { max-width:690px; margin:0; color:#bfd0e3; font-size:17px; }
.page-section { padding:30px 0 48px; background:transparent; }
.narrow-section { max-width:860px; padding:52px 0; background:transparent; }
.narrow-section.wide { max-width:1180px; }
.eyebrow {
  color:#5cdbff;
  font-size:11px;
  letter-spacing:.18em;
}

.panel,.payment-card,.catalog-program-card,.personal-listing-card,.admin-stat-grid>div,
.admin-user-card,.market-filter,.market-empty,.gallery-thumbnail,.image-lightbox {
  clip-path:none;
  border-radius:24px;
  border-color:rgba(56,145,211,.55);
  background:
    radial-gradient(circle at 8% 0,rgba(37,151,238,.12),transparent 32%),
    linear-gradient(145deg,rgba(8,34,74,.94),rgba(5,20,49,.93));
  box-shadow:0 20px 48px rgba(0,5,20,.35),inset 0 1px rgba(255,255,255,.045);
  backdrop-filter:blur(16px);
}
.panel { padding:28px; }
.panel h1,.panel h2 { color:#f5fbff; letter-spacing:-.02em; }
.panel h1 { margin-top:8px; font-size:clamp(30px,4vw,46px); }
.panel>p,.payment-card>p { color:#aebfd2; line-height:1.55; }

.button,.program-link,.section-heading>a,.market-tabs a,.program-renew-button,
.admin-row button,.gallery-thumbnail span,.image-lightbox-close {
  clip-path:none;
  border-radius:18px;
  text-transform:none;
  letter-spacing:0;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.button::before { display:none; }
.resource-actions .button::before { display:block; }
.button {
  min-height:42px;
  border-color:rgba(78,190,246,.58);
  background:rgba(7,38,78,.78);
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.button-primary {
  border-color:transparent;
  background:linear-gradient(105deg,#24c7ff,#2d82ff 55%,#824cff);
  box-shadow:0 10px 24px rgba(42,124,255,.22);
}
.button-secondary {
  border-color:rgba(132,94,255,.65);
  background:linear-gradient(115deg,rgba(103,69,225,.86),rgba(48,102,202,.86));
}
.button-danger { border-color:rgba(255,99,125,.65); background:rgba(90,25,54,.74); }
.button:hover,.program-link:hover,.market-tabs a:hover { transform:translateY(-2px); }

.input {
  min-height:46px;
  padding:12px 15px;
  border:1px solid rgba(59,133,190,.58);
  border-radius:15px;
  background:rgba(2,14,36,.76);
  box-shadow:inset 0 1px 8px rgba(0,0,0,.18);
}
.input:focus { border-color:#44d3ff; box-shadow:0 0 0 3px rgba(50,200,255,.13),inset 0 1px 8px rgba(0,0,0,.18); }
.form-grid { gap:17px; }
.form-grid label { color:#c6d6e7; font-size:13px; font-weight:650; }
.form-grid .button { justify-self:start; min-width:190px; }
.auth-panel { padding:38px; }
.auth-panel form { margin-top:25px; }
.auth-panel>p { margin:22px 0 0; color:#9fb3c9; }

.section-heading { margin-bottom:18px; padding:0 0 13px; border-top:0; border-bottom:1px solid rgba(55,130,185,.28); }
.section-heading h1,.section-heading h2 { margin:0; color:#fff; font-size:28px; text-transform:none; }
.section-line { width:8px; height:25px; border-radius:8px; background:linear-gradient(#35d8ff,#367cff); }
.section-line.violet { background:linear-gradient(#b26dff,#6253ff); }
.section-heading>a { border-color:rgba(65,160,226,.42); background:rgba(5,28,62,.65); }

/* Program catalog and program details. */
.catalog-hero { background-image:radial-gradient(circle at 83% 22%,rgba(117,71,255,.3),transparent 34%),linear-gradient(125deg,rgba(8,38,81,.96),rgba(5,24,59,.93)); }
.catalog-section { min-height:470px; padding:30px 0 48px; background:transparent; }
.catalog-program-grid { gap:20px; }
.catalog-program-card {
  min-height:215px;
  overflow:hidden;
  border-radius:24px;
  background:radial-gradient(circle at 9% 50%,rgba(32,145,229,.2),transparent 30%),linear-gradient(120deg,rgba(9,39,82,.95),rgba(6,25,60,.92));
}
.catalog-program-card.tone-violet { border-color:rgba(126,88,234,.65); background:radial-gradient(circle at 9% 50%,rgba(128,67,229,.22),transparent 31%),linear-gradient(120deg,rgba(20,31,78,.96),rgba(24,20,73,.92)); }
.catalog-program-icon { filter:drop-shadow(0 0 17px rgba(53,190,255,.3)); }
.catalog-program-copy h2 { color:#fff; text-transform:none; letter-spacing:-.015em; }
.catalog-program-meta>span { border-left-color:rgba(86,139,180,.38); }
.program-link {
  display:inline-flex;
  min-width:166px;
  justify-content:center;
  gap:24px;
  padding:9px 17px;
  border:1px solid rgba(48,199,243,.68);
  background:rgba(4,32,70,.72);
}
.program-renew-button { padding:9px 14px; border:1px solid rgba(78,130,175,.42); background:rgba(3,20,48,.55); }
.program-detail { gap:30px; border-radius:26px; }
.program-detail-visual { border-radius:20px; clip-path:none; }
.program-detail-icon { border-radius:24px; }

/* Marketplace, listings and order cards. */
.market-filter { padding:14px; border-radius:20px; }
.filter-input svg { z-index:2; }
.market-tabs { gap:8px; padding:0 0 14px; border-bottom-color:rgba(55,130,185,.28); }
.market-tabs a { padding:10px 16px; border:1px solid transparent; }
.market-tabs a.active { border-color:rgba(67,175,234,.5); border-bottom-color:rgba(67,175,234,.5); border-radius:16px; background:linear-gradient(120deg,rgba(20,86,160,.72),rgba(52,52,142,.62)); }
.listing-grid .listing-card,.personal-listing-card { border-radius:22px; }
.listing-grid .listing-card { border-color:rgba(55,143,207,.55); background:linear-gradient(125deg,rgba(9,37,78,.95),rgba(5,24,58,.92)); }
.listing-card::before { width:0; display:none; }
.listing-grid .listing-image { border-radius:18px 0 0 18px; }
.listing-grid .listing-body h3,.personal-listing-heading h2 { text-transform:none; letter-spacing:-.01em; }
.personal-listing-card { border-color:rgba(55,143,207,.55); }
.personal-listing-image { border-radius:20px 0 0 20px; }
.status {
  padding:7px 12px;
  border-radius:999px;
  background:rgba(14,42,76,.72);
  font-size:12px;
}
.admin-note,.deal-state { border-left:0; border-radius:14px; background:rgba(19,31,75,.72); }
.purchase-panel { border-radius:24px; }
.purchase-panel dl>div { border-bottom-color:rgba(67,119,160,.3); }
.deal-steps span { padding:10px 12px; border-left:0; border-radius:12px; background:rgba(5,26,58,.65); }
.deal-process { margin-top:26px; padding-top:22px; border-top:1px solid rgba(68,137,183,.3); }
.deal-process h2 { margin:0 0 17px; color:#fff; font-size:16px; letter-spacing:-.01em; }
.deal-process-list { position:relative; display:grid; gap:12px; }
.deal-process-list::before { content:""; position:absolute; left:25px; top:50px; bottom:50px; width:1px; background:linear-gradient(#41ddff,#8659ff); box-shadow:0 0 9px rgba(68,207,255,.5); }
.deal-process-step { position:relative; display:grid; grid-template-columns:50px 1fr; min-height:76px; align-items:center; gap:14px; padding:12px 13px; border:1px solid rgba(66,142,198,.34); border-radius:17px; background:linear-gradient(125deg,rgba(5,33,70,.82),rgba(13,24,63,.76)); }
.deal-process-number { position:absolute; right:12px; top:9px; color:rgba(111,190,230,.25); font-size:20px; font-weight:950; }
.deal-process-icon { z-index:1; display:grid; width:50px; height:50px; place-items:center; border:1px solid rgba(73,207,246,.58); border-radius:15px; color:#72e7ff; background:linear-gradient(145deg,rgba(16,111,181,.86),rgba(48,52,145,.75)); box-shadow:0 8px 20px rgba(0,0,0,.2); }
.deal-process-step:nth-child(2) .deal-process-icon { border-color:rgba(127,102,245,.65); color:#b6a2ff; background:linear-gradient(145deg,rgba(42,78,168,.82),rgba(76,43,154,.76)); }
.deal-process-step:nth-child(3) .deal-process-icon { border-color:rgba(66,221,176,.58); color:#71f1c6; background:linear-gradient(145deg,rgba(15,116,137,.8),rgba(36,63,135,.76)); }
.deal-process-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.deal-process-step p { margin:0; padding-right:21px; color:#c2d4e6; font-size:12px; font-weight:700; line-height:1.48; }
.gallery { gap:14px; }
.gallery-thumbnail { border-radius:19px; }
.gallery-thumbnail span { border-color:rgba(72,167,219,.5); background:rgba(3,19,44,.88); }
.image-lightbox { border-radius:24px; }
.image-lightbox-close { border-radius:50%; }

/* Account, balance, contact and administration pages. */
.profile-summary>div,.payment-card,.contact-grid a { border-radius:19px; }
.profile-summary>div { padding:19px; background:linear-gradient(135deg,rgba(7,40,81,.82),rgba(15,27,70,.75)); }
.profile-balance { display:flex; align-items:center; gap:9px; }
.profile-diamond { width:29px; height:27px; overflow:visible; filter:drop-shadow(0 0 7px rgba(48,197,255,.48)); }
.profile-diamond path:first-child { fill:#319fff; }
.profile-diamond path:last-child { fill:none; stroke:#c8f8ff; stroke-width:1.4; stroke-linejoin:round; }
.payment-card { padding:27px; }
.payment-card code { border:1px solid rgba(53,136,195,.42); border-radius:13px; background:rgba(2,12,31,.74); }
.payment-qr { border-radius:18px; }
.contact-grid a { padding:17px 19px; background:rgba(7,39,80,.76); }
.contact-hero,.about-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); align-items:center; gap:36px; width:min(1180px,calc(100% - 48px)); margin:34px auto 0; padding:50px 54px; overflow:hidden; border:1px solid rgba(58,176,235,.44); border-radius:28px; background:radial-gradient(circle at 84% 30%,rgba(72,89,224,.34),transparent 34%),linear-gradient(130deg,rgba(5,35,75,.96),rgba(8,19,51,.93)); box-shadow:0 24px 70px rgba(0,0,0,.34); }
.contact-hero h1,.about-hero h1 { margin:5px 0 14px; color:#fff; font-size:clamp(38px,5vw,62px); line-height:1.02; letter-spacing:-.04em; }
.contact-hero p,.about-hero p { max-width:720px; margin:0; color:#a7bed5; font-size:17px; line-height:1.65; }
.contact-orbit { position:relative; width:230px; height:230px; margin:auto; border:1px solid rgba(65,210,255,.5); border-radius:50%; box-shadow:inset 0 0 60px rgba(48,114,235,.18),0 0 40px rgba(48,181,245,.14); }
.contact-orbit::before,.contact-orbit::after { content:""; position:absolute; inset:33px; border:1px solid rgba(139,85,255,.55); border-radius:50%; }
.contact-orbit::after { inset:74px; background:radial-gradient(circle,#56e6ff 0 7px,#5651ee 8px 20px,transparent 21px); box-shadow:0 0 34px #4bdcff; }
.contact-orbit span,.contact-orbit i,.contact-orbit b { position:absolute; width:13px; height:13px; border-radius:50%; background:#55e3ff; box-shadow:0 0 16px #55e3ff; }
.contact-orbit span { top:23px; left:108px; }.contact-orbit i { right:25px; bottom:56px; }.contact-orbit b { left:21px; bottom:70px; background:#9d6cff; }
.contact-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:min(1180px,calc(100% - 48px)); margin:24px auto; }
.contact-card { position:relative; display:flex; min-height:315px; flex-direction:column; align-items:flex-start; padding:28px; overflow:hidden; border:1px solid rgba(61,151,210,.45); border-radius:23px; background:linear-gradient(135deg,rgba(7,37,78,.95),rgba(8,22,55,.92)); transition:transform .2s,border-color .2s; }
.contact-card::after { content:""; position:absolute; right:-42px; top:-42px; width:140px; height:140px; border-radius:50%; background:rgba(49,180,241,.11); filter:blur(2px); }.contact-card:hover { transform:translateY(-5px); border-color:#4edcff; }
.contact-card-telegram { border-color:rgba(77,114,239,.58); }.contact-card-vk { border-color:rgba(139,86,245,.55); }
.contact-icon { display:grid; width:62px; height:62px; margin-bottom:26px; place-items:center; border:1px solid rgba(77,214,250,.58); border-radius:19px; background:linear-gradient(145deg,rgba(22,132,206,.45),rgba(31,59,151,.45)); color:#dffbff; }
.contact-icon svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.contact-card-telegram .contact-icon svg { fill:currentColor; stroke:none; }.contact-icon-vk { font-size:20px; font-weight:950; }
.contact-card small { color:#5fddff; font-size:10px; font-weight:900; letter-spacing:.16em; }.contact-card h2 { margin:8px 0 11px; color:#fff; font-size:21px; overflow-wrap:anywhere; }.contact-card p { flex:1; margin:0 0 20px; color:#99b1c9; font-size:13px; line-height:1.62; }.contact-card strong { color:#8ee9ff; font-size:13px; }.contact-card strong span { margin-left:7px; }
.support-hint,.about-disclaimer { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:20px; width:min(1180px,calc(100% - 48px)); margin:0 auto 54px; padding:23px 27px; border:1px solid rgba(132,84,244,.5); border-radius:21px; background:linear-gradient(120deg,rgba(26,27,78,.92),rgba(15,24,64,.88)); }
.support-hint-icon { display:grid; width:46px; height:46px; place-items:center; border:1px solid #a06cff; border-radius:50%; color:#d4bcff; font-size:22px; font-weight:900; box-shadow:0 0 22px rgba(144,83,255,.24); }.support-hint h2 { margin:0 0 6px; color:#fff; font-size:18px; }.support-hint p,.about-disclaimer p { margin:0; color:#9fb4cb; font-size:13px; line-height:1.6; }
.about-emblem { position:relative; width:250px; height:250px; margin:auto; }.about-ring { position:absolute; inset:10px; border:1px solid rgba(74,217,255,.48); border-radius:50%; box-shadow:0 0 30px rgba(49,180,244,.16); }.about-ring-two { inset:48px; border-color:rgba(147,88,255,.62); }.about-core { position:absolute; inset:83px; display:grid; place-items:center; clip-path:polygon(50% 0,100% 100%,50% 78%,0 100%); background:linear-gradient(145deg,#4de4ff,#347ce9 55%,#9052ff); color:#fff; font-size:38px; font-weight:950; }
.about-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }.about-intro { width:min(920px,calc(100% - 48px)); margin:70px auto 34px; text-align:center; }.section-kicker { color:#5bdcff; font-size:10px; font-weight:900; letter-spacing:.18em; }.about-intro h2,.about-values h2 { margin:10px 0 16px; color:#fff; font-size:clamp(27px,4vw,43px); line-height:1.15; letter-spacing:-.03em; }.about-intro p { margin:0; color:#9fb5cb; font-size:15px; line-height:1.75; }
.about-directions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:min(1180px,calc(100% - 48px)); margin:0 auto 60px; }.about-directions article { position:relative; min-height:300px; padding:28px; border:1px solid rgba(55,143,205,.42); border-radius:23px; background:linear-gradient(135deg,rgba(6,34,75,.94),rgba(9,21,54,.9)); }.about-card-number { position:absolute; right:22px; top:18px; color:rgba(109,199,241,.3); font-size:36px; font-weight:950; }.about-card-icon { display:grid; width:60px; height:60px; margin-bottom:30px; place-items:center; border:1px solid rgba(74,210,249,.5); border-radius:18px; color:#72e6ff; background:rgba(22,82,143,.3); }.about-card-icon svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.about-directions h3 { margin:0 0 13px; color:#fff; font-size:20px; }.about-directions p { margin:0; color:#9cb3ca; font-size:13px; line-height:1.7; }
.about-values { display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; width:min(1180px,calc(100% - 48px)); margin:0 auto 24px; padding:35px; border:1px solid rgba(80,126,200,.42); border-radius:25px; background:linear-gradient(125deg,rgba(12,34,77,.94),rgba(30,21,76,.87)); }.about-values ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:0; padding:0; list-style:none; }.about-values li { display:grid; gap:6px; padding:17px; border:1px solid rgba(75,143,197,.3); border-radius:16px; background:rgba(5,23,56,.48); }.about-values strong { color:#71e1ff; font-size:14px; }.about-values li span { color:#98afc7; font-size:12px; line-height:1.55; }.about-disclaimer { grid-template-columns:180px 1fr; }.about-disclaimer strong { color:#c4a9ff; font-size:17px; }
.legal-hero {
  width:min(1180px,calc(100% - 48px));
  margin:34px auto 0;
  padding:48px 52px;
  border:1px solid rgba(59,179,236,.42);
  border-radius:28px;
  background:radial-gradient(circle at 82% 20%,rgba(82,76,224,.28),transparent 35%),linear-gradient(130deg,rgba(5,34,73,.94),rgba(7,20,53,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.legal-hero h1 { margin:5px 0 12px; color:#fff; font-size:clamp(34px,5vw,58px); letter-spacing:-.035em; }
.legal-hero p { max-width:720px; margin:0; color:#a8bfd5; font-size:17px; line-height:1.65; }
.legal-updated { display:inline-flex; margin-top:22px; padding:8px 13px; border:1px solid rgba(81,190,232,.35); border-radius:999px; color:#75dfff; font-size:11px; }
.legal-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:24px; width:min(1180px,calc(100% - 48px)); margin:24px auto 54px; }
.legal-summary { position:sticky; top:98px; height:max-content; padding:23px; border:1px solid rgba(71,144,199,.38); border-radius:22px; background:rgba(5,25,59,.88); }
.legal-summary strong { color:#fff; font-size:17px; }
.legal-summary ul { display:grid; gap:13px; margin:18px 0 0; padding:0; list-style:none; }
.legal-summary li { position:relative; padding-left:18px; color:#98b0c9; font-size:13px; line-height:1.55; }
.legal-summary li::before { content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; border-radius:50%; background:#45d9ff; box-shadow:0 0 10px #45d9ff; }
.legal-document { display:grid; gap:14px; }
.legal-document section { display:grid; grid-template-columns:52px 1fr; gap:18px; padding:25px 28px; border:1px solid rgba(55,129,183,.34); border-radius:22px; background:linear-gradient(125deg,rgba(6,29,66,.91),rgba(8,20,51,.88)); }
.legal-document section>span { display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(65,207,246,.54); border-radius:14px; color:#5bddff; font-size:12px; font-weight:900; }
.legal-document h2 { margin:2px 0 11px; color:#fff; font-size:21px; }
.legal-document p { margin:0 0 11px; color:#9fb5cb; font-size:14px; line-height:1.72; }
.legal-document p:last-child { margin-bottom:0; }
.legal-document .legal-accent { border-color:rgba(132,83,247,.58); background:linear-gradient(125deg,rgba(17,38,86,.95),rgba(34,22,84,.9)); }
.legal-document .legal-accent section>span,.legal-document .legal-accent>span { border-color:#945eff; color:#c7a9ff; }
.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; width:min(1180px,calc(100% - 48px)); margin:24px auto 54px; }
.faq-grid details { padding:22px 24px; border:1px solid rgba(57,141,202,.42); border-radius:20px; background:linear-gradient(130deg,rgba(6,31,68,.92),rgba(11,23,58,.9)); }
.faq-grid summary { color:#fff; font-size:16px; font-weight:800; }
.faq-grid details[open] { border-color:rgba(83,207,244,.65); }
.faq-grid p { margin:14px 0 0; color:#9fb6cd; font-size:14px; line-height:1.65; }
.error-panel>strong { background:linear-gradient(105deg,#32d5ff,#7b56ff); background-clip:text; -webkit-background-clip:text; color:transparent; }
.admin-page { padding-top:42px; }
.admin-page>h1 { color:#fff; font-size:42px; letter-spacing:-.025em; }
.admin-stat-grid>div { border-radius:19px; }
.admin-stat-grid strong { color:#fff; }
.admin-section { border-radius:22px; }
.admin-user-card { border-radius:17px; }
.admin-row { align-items:center; padding:14px 0; border-bottom-color:rgba(57,112,153,.3); }
.admin-row button { padding:8px 12px; border:1px solid rgba(71,157,210,.48); background:rgba(9,45,85,.75); }
details summary { color:#58d4ff; cursor:pointer; }
.table-wrap { border:1px solid rgba(53,124,177,.36); border-radius:17px; background:rgba(2,14,35,.6); }
table { border-collapse:separate; border-spacing:0; background:transparent; }
th { color:#8fdfff; font-size:11px; letter-spacing:.06em; text-transform:uppercase; background:rgba(11,48,88,.72); }
th,td { border-bottom-color:rgba(48,105,148,.25); }
tbody tr:hover { background:rgba(38,124,187,.08); }
.empty-state { border-radius:20px; background:rgba(5,28,61,.66); }

/* The approved compact footer, full-width on every route. */
.site-footer {
  flex:0 0 auto;
  position:relative;
  display:grid;
  grid-template-columns:minmax(390px,1.45fr) auto auto minmax(140px,.45fr);
  align-items:center;
  gap:28px;
  min-height:100px;
  width:100%;
  max-width:none;
  margin:0;
  padding:18px max(72px,calc((100vw - 1390px)/2));
  border-top:1px solid rgba(56,140,207,.34);
  background:rgba(1,8,23,.86);
  backdrop-filter:blur(18px);
}
.site-footer .footer-brand { display:flex; align-items:center; gap:22px; }
.site-footer .footer-brand p { max-width:310px; margin:0; padding-left:22px; border-left:1px solid rgba(65,123,174,.46); }
.site-footer .brand-logo { width:164px; height:auto; }
.site-footer p,.site-footer a,.site-footer span { color:#91a8c1; font-size:11px; }
.site-footer .footer-nav { display:flex; align-items:center; gap:23px; white-space:nowrap; }
.site-footer .footer-nav a:hover { color:#fff; }
.site-footer .footer-socials { display:flex; grid-auto-flow:column; align-items:center; gap:14px; padding-right:20px; border-right:1px solid rgba(65,123,174,.46); }
.site-footer .footer-socials a { display:grid; width:22px; height:22px; place-items:center; color:#a9c4e6; }
.site-footer .footer-socials svg { width:20px; height:20px; fill:currentColor; }
.site-footer .footer-socials strong { font-size:11px; }
.site-footer .footer-socials a:hover { color:#55d5ff; }
.site-footer .footer-legal { display:grid; gap:4px; }
.price-diamond { display:inline-block; flex:0 0 24px; width:24px; height:22px; margin-right:6px; vertical-align:middle; filter:drop-shadow(0 0 6px rgba(50,190,255,.42)); }
.diamond-price { display:flex; align-items:center; justify-content:flex-end; }
.balance-rate-card { display:flex; align-items:center; gap:18px; margin:0 0 22px; padding:20px 24px; border:1px solid rgba(70,196,244,.48); border-radius:22px; background:linear-gradient(120deg,rgba(5,37,70,.94),rgba(35,25,91,.9)); box-shadow:0 18px 48px rgba(0,0,0,.28); }
.balance-rate-card .price-diamond { flex:0 0 52px; width:52px; height:48px; margin:0; }
.balance-rate-card>div { display:grid; gap:4px; }
.balance-rate-card small { color:#61dfff; font-size:10px; font-weight:900; letter-spacing:.16em; }
.balance-rate-card strong { color:#fff; font-size:clamp(20px,3vw,30px); }
.balance-rate-card span { color:#99b2ca; font-size:13px; }
.payment-grid.single { grid-template-columns:minmax(0,1fr); }
.cis-payment-card { display:flex; flex-direction:column; gap:20px; overflow:hidden; background:radial-gradient(circle at 9% 8%,rgba(67,215,255,.13),transparent 30%),linear-gradient(145deg,rgba(7,24,47,.98),rgba(13,25,65,.95)); border-color:rgba(67,215,255,.48); }
.payment-card-heading { display:flex; align-items:center; gap:14px; }
.payment-card-heading small { color:#61dfff; font-size:10px; font-weight:900; letter-spacing:.15em; }
.payment-card-heading h2 { margin:3px 0 2px; }
.payment-card-heading p { margin:0; color:#9db7cf; }
.payment-icon-card { display:grid; place-items:center; flex:0 0 54px; width:54px; height:54px; border:1px solid rgba(89,220,255,.55); border-radius:17px; color:#6beaff; background:linear-gradient(145deg,rgba(16,131,187,.24),rgba(83,65,188,.24)); }
.payment-icon-card svg { width:31px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; }
.cis-payment-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:18px; }
.cis-qr-wrap { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:16px; border:1px solid rgba(83,125,165,.46); border-radius:19px; background:rgba(2,9,23,.62); }
.cis-qr-wrap>span { color:#8ddff9; font-size:10px; font-weight:900; letter-spacing:.13em; }
.cis-qr-wrap p { margin:0; color:#829db7; font-size:11px; line-height:1.45; text-align:center; }
.cis-payment-qr { display:block; width:142px; max-width:100%; aspect-ratio:1; object-fit:cover; padding:7px; border-radius:15px; background:#fff; box-shadow:0 12px 34px rgba(0,0,0,.3); }
.cis-payment-details { display:grid; gap:10px; }
.payment-detail-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; align-items:center; padding:12px 13px; border:1px solid rgba(61,102,142,.5); border-radius:14px; background:rgba(3,12,29,.6); }
.payment-detail-row>span { grid-column:1/-1; color:#829db7; font-size:11px; }
.payment-detail-row strong { color:#eefbff; font-size:15px; letter-spacing:.035em; }
.payment-detail-row button,.payment-user-id button { border:0; padding:5px 8px; color:#6de5ff; background:transparent; font-size:11px; font-weight:800; cursor:pointer; }
.payment-detail-row button:hover,.payment-user-id button:hover { color:#fff; }
.payment-bank-info { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; }
.payment-bank-info>div { padding:10px 12px; border-radius:12px; background:rgba(27,42,76,.62); }
.payment-bank-info dt { color:#819bb3; font-size:10px; }
.payment-bank-info dd { margin:3px 0 0; color:#fff; font-weight:800; }
.payment-user-id { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; align-items:center; padding:12px 14px; border:1px solid rgba(128,103,255,.65); border-radius:14px; background:linear-gradient(120deg,rgba(71,51,151,.42),rgba(7,97,147,.37)); }
.payment-user-id span { grid-column:1/-1; color:#b8b8f7; font-size:11px; }
.payment-user-id strong { color:#fff; font-size:20px; }
.payment-notice { display:flex; gap:11px; padding:13px 15px; border:1px solid rgba(255,200,70,.38); border-radius:14px; color:#c8d6e6; background:rgba(105,69,9,.16); font-size:12px; line-height:1.5; }
.payment-notice strong { color:#ffd270; }
.payment-support-button { width:100%; border-radius:14px; }
.international-payment-card { border-color:rgba(138,102,255,.58); background:radial-gradient(circle at 9% 8%,rgba(133,90,255,.16),transparent 31%),linear-gradient(145deg,rgba(9,20,48,.98),rgba(31,20,74,.95)); }
.payment-icon-ton { color:#b29bff; border-color:rgba(159,128,255,.62); }
.payment-icon-ton svg { width:32px; }
.crypto-address-row strong { min-width:0; overflow-wrap:anywhere; font-size:12px; line-height:1.4; }
.international-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.ton-method-card { display:flex; flex-direction:column; gap:10px; min-width:0; padding:14px; border:1px solid rgba(117,91,211,.38); border-radius:17px; background:rgba(3,11,31,.42); }
.ton-method-title { display:flex; align-items:center; gap:10px; }
.ton-method-title>span { display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; border:1px solid rgba(157,126,255,.62); border-radius:10px; color:#fff; background:linear-gradient(145deg,#7350da,#247fc8); font-weight:900; }
.ton-method-title>div { display:grid; gap:2px; min-width:0; }
.ton-method-title strong { color:#f3f0ff; font-size:13px; }
.ton-method-title small { color:#8da4bc; font-size:10px; }
.ton-instruction { padding:13px 15px; border:1px solid rgba(131,102,229,.46); border-radius:14px; background:rgba(28,20,71,.45); }
.ton-instruction>strong { color:#d0c5ff; font-size:13px; }
.ton-instruction ol { display:grid; gap:6px; margin:9px 0 0; padding-left:20px; color:#aebed1; font-size:11px; line-height:1.45; }
.payment-notice-required { border-color:rgba(170,123,255,.48); background:rgba(74,39,127,.2); }
.payment-notice-required strong { color:#d0b2ff; }

@media(max-width:1100px) {
  .site-header { padding:0 22px; gap:16px; }
  .main-nav { gap:2px; }
  .main-nav a { padding:8px 7px; font-size:12px; }
  .site-footer { grid-template-columns:1fr auto; padding:22px; gap:18px; }
  .site-footer .footer-brand { grid-column:1/-1; }
  .site-footer .footer-nav { flex-wrap:wrap; }
  .page-hero,.page-section { width:calc(100% - 40px); }
}
@media(max-width:700px) {
  html,body { width:100%; max-width:100%; overflow-x:clip; }
  body { background-attachment:scroll; background-size:auto 720px; background-position:64% 108px; }
  .site-header { width:100%; max-width:100%; min-height:68px; height:auto; margin:0; padding:10px 14px; border-radius:0; }
  .brand-logo { width:180px; height:42px; }
  .main-nav { top:68px; max-height:calc(100dvh - 68px); padding:12px; overflow-y:auto; border-bottom:1px solid var(--site-line); background:rgba(2,12,32,.98); box-shadow:0 24px 48px rgba(0,0,0,.58); }
  .main-nav a { border-radius:14px; }
  .main-nav>.header-actions,body.page-home .main-nav>.header-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; min-width:0; margin:8px 0 0; padding-top:12px; gap:8px; overflow:visible; border-top:1px solid rgba(61,132,179,.35); }
  .main-nav>.header-actions>* { width:100%; min-width:0; margin:0; }
  .main-nav>.header-actions .language-switch { position:relative; z-index:20; overflow:visible; }
  .main-nav>.header-actions .coin-balance,.main-nav>.header-actions .language-button,.main-nav>.header-actions .header-login,.main-nav>.header-actions .header-register,.main-nav>.header-actions .button-danger,.main-nav>.header-actions .icon-link { display:flex; width:100%; min-height:42px; justify-content:center; padding:8px 10px; border-radius:13px; font-size:13px; }
  .main-nav>.header-actions .language-menu { z-index:21; right:0; left:0; top:46px; width:100%; }
  .main-nav>.header-actions form { width:100%; }
  .site-footer { grid-template-columns:1fr; padding:26px 20px; }
  .site-footer .footer-brand { grid-column:auto; flex-wrap:wrap; }
  .site-footer .footer-brand p { padding-left:0; border-left:0; }
  .site-footer .footer-nav { gap:13px 18px; }
  .site-footer .footer-socials { padding-right:0; border-right:0; }
  .page-hero,.page-section,.narrow-section { width:calc(100% - 28px); }
  .page-hero { margin-top:14px; padding:34px 22px; border-radius:22px; }
  .page-section,.catalog-section { padding:22px 0 36px; }
  .narrow-section { padding:28px 0; }
  .panel,.payment-card { padding:21px; border-radius:20px; }
  .balance-rate-card { align-items:flex-start; padding:17px; border-radius:18px; }
  .balance-rate-card .price-diamond { flex-basis:38px; width:38px; height:35px; }
  .legal-hero { width:calc(100% - 28px); margin-top:14px; padding:30px 22px; border-radius:22px; }
  .contact-hero,.about-hero { grid-template-columns:1fr; width:calc(100% - 28px); margin-top:14px; padding:30px 22px; border-radius:22px; }.contact-orbit,.about-emblem { width:190px; height:190px; }.contact-orbit::after { inset:58px; }.contact-orbit span { left:88px; }.about-core { inset:64px; }.about-ring-two { inset:37px; }
  .contact-cards,.about-directions { grid-template-columns:1fr; width:calc(100% - 28px); }.contact-card { min-height:285px; padding:23px; }.support-hint,.about-disclaimer { grid-template-columns:1fr; width:calc(100% - 28px); padding:21px; }.about-intro { width:calc(100% - 28px); margin-top:44px; }.about-values { grid-template-columns:1fr; width:calc(100% - 28px); padding:22px; gap:20px; }.about-values ul { grid-template-columns:1fr; }
  .legal-layout { grid-template-columns:1fr; width:calc(100% - 28px); margin-top:14px; }
  .legal-summary { position:static; }
  .legal-document section { grid-template-columns:1fr; padding:21px; }
  .faq-grid { grid-template-columns:1fr; width:calc(100% - 28px); margin-top:14px; }
  .form-grid .button { width:100%; justify-self:stretch; }
  .catalog-program-card { border-radius:20px; }
  .market-listing-grid { grid-template-columns:minmax(0,1fr); align-items:start; }
  .market-listing-grid .listing-card { width:100%; height:210px; min-height:210px; max-height:210px; overflow:hidden; }
  .market-listing-grid .listing-card>a { grid-template-columns:42% minmax(0,1fr); width:100%; height:210px; min-width:0; }
  .market-listing-grid .listing-image,.market-listing-grid .listing-image img { width:100%; height:210px; min-height:210px; border-radius:18px 0 0 18px; }
  .market-listing-grid .listing-body { height:210px; min-width:0; padding:14px 13px; overflow:hidden; }
  .market-listing-grid .listing-body h3 { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .market-listing-grid .listing-description { display:-webkit-box; max-height:58px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .market-tabs { flex-wrap:wrap; overflow-x:visible; }
  .listing-grid .listing-image,.personal-listing-image { border-radius:18px 18px 0 0; }
  .admin-page { padding-top:28px; }
}

@media(max-width:820px) {
  .cis-payment-layout { grid-template-columns:1fr; }
  .cis-qr-wrap { max-width:none; }
  .international-methods { grid-template-columns:1fr; }
}

@media(max-width:520px) {
  .payment-card-heading { align-items:flex-start; }
  .payment-icon-card { flex-basis:46px; width:46px; height:46px; border-radius:14px; }
  .payment-bank-info { grid-template-columns:1fr; }
  .payment-detail-row strong { font-size:13px; }
  .payment-notice { flex-direction:column; }
}
