/* Ключ к себе — стиль */:root{--bg-1:#160f24;--bg-2:#2a1838;--line:rgba(255,255,255,.16);--text:#fff7ee;--muted:rgba(255,247,238,.72);--muted-2:rgba(255,247,238,.55);--accent:#f5c16c;--accent-2:#ff7eb6;--danger:#ff6b8a;--shadow:0 22px 55px rgba(0,0,0,.32);--radius:24px;--max-width:520px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 0%,rgba(255,126,182,.28),transparent 36%),radial-gradient(circle at 90% 10%,rgba(245,193,108,.22),transparent 30%),linear-gradient(145deg,var(--bg-1),var(--bg-2))}body{overflow-x:hidden}button,input{font:inherit}button{border:0;cursor:pointer}.app{width:100%;max-width:var(--max-width);min-height:100vh;margin:0 auto;padding:18px 14px 28px;position:relative}.app:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.24) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.16) 0 1px,transparent 1.5px);background-size:34px 34px,58px 58px;background-position:0 0,18px 20px;opacity:.22}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2;margin-bottom:14px}.brand{display:flex;align-items:center;gap:10px}.logo{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 12px 26px rgba(255,126,182,.24)}.brand-title{font-size:18px;line-height:1.05;font-weight:800}.brand-subtitle{margin-top:3px;color:var(--muted-2);font-size:12px}.screen{display:none;position:relative;z-index:2;animation:enter .22s ease-out}.screen.active{display:block}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero,.card,.balance-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.06));padding:20px}.eyebrow{display:inline-flex;color:#281525;background:linear-gradient(135deg,var(--accent),#ffe0a3);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;margin-bottom:12px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;line-height:1.04;letter-spacing:-.05em;margin-bottom:10px}.lead,.small-text{color:var(--muted);font-size:15px;line-height:1.48}.balance-card{margin-top:14px;padding:16px;background:rgba(0,0,0,.16);display:grid;gap:12px}.balance-row{display:flex;align-items:center;justify-content:space-between}.balance-label{color:var(--muted-2);font-size:13px}.balance-value{font-size:20px;font-weight:900;color:var(--accent)}.soon-btn,.main-btn,.ghost-btn,.back-btn{width:100%;min-height:48px;border-radius:16px;padding:13px 16px;font-weight:800}.main-btn{color:#241329;background:linear-gradient(135deg,var(--accent),#ffe1a7);box-shadow:0 14px 30px rgba(245,193,108,.22)}.soon-btn{color:rgba(255,255,255,.8);background:rgba(255,255,255,.12);border:1px dashed rgba(255,255,255,.23)}.ghost-btn{color:var(--text);background:rgba(255,255,255,.1);border:1px solid var(--line)}.back-btn{width:auto;min-height:40px;padding:10px 12px;color:var(--text);background:rgba(255,255,255,.1);border:1px solid var(--line);border-radius:14px}.menu{display:grid;gap:10px;margin-top:14px}.menu-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;width:100%;text-align:left;color:var(--text);background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:20px;padding:12px;min-height:74px}.menu-ico{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.11);font-size:22px}.menu-title,.menu-desc{display:block}.menu-title{font-size:16px;font-weight:900;margin-bottom:3px}.menu-desc{color:var(--muted-2);font-size:12.5px;line-height:1.28}.arrow{color:var(--muted-2);font-size:22px}.footer-note{margin:16px 4px 0;color:var(--muted-2);font-size:11.5px;line-height:1.4;text-align:center}.page-head{margin-bottom:12px}.page-title{font-size:22px;line-height:1.1;letter-spacing:-.03em;font-weight:900;margin:0}.card{background:rgba(255,255,255,.09);padding:16px;margin-bottom:12px;box-shadow:0 16px 38px rgba(0,0,0,.17)}.form-grid{display:grid;gap:10px}label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}input{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.18);color:var(--text);border-radius:16px;padding:13px 14px;outline:none;min-height:48px}.result{display:none;margin-top:12px}.result.show{display:block}.result-title{font-size:19px;line-height:1.17;font-weight:900;margin-bottom:8px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.pill{display:inline-flex;color:#241329;background:rgba(245,193,108,.94);border-radius:999px;padding:7px 10px;font-size:12.5px;font-weight:900}.pill.soft{color:var(--text);background:rgba(255,255,255,.12);border:1px solid var(--line)}.accent-box,.warn-box{border-radius:16px;padding:12px;color:var(--muted);line-height:1.45;font-size:14px;margin:10px 0}.accent-box{border-left:4px solid var(--accent);background:rgba(245,193,108,.1)}.warn-box{border-left:4px solid var(--danger);background:rgba(255,107,138,.1)}.mini-list{display:grid;gap:8px;padding:0;margin:10px 0 0;list-style:none}.mini-list li{border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.13);border-radius:15px;padding:10px 12px;color:var(--muted);font-size:14px}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.pay-card{border:1px dashed rgba(245,193,108,.5);background:rgba(245,193,108,.08)}.report-brand{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14);color:var(--muted-2);font-size:12px}.report-brand b{color:var(--accent);font-size:14px}.report-block{border:1px solid rgba(255,255,255,.13);background:rgba(0,0,0,.13);border-radius:18px;padding:13px;margin-top:10px}.report-block h3{margin:0 0 8px;font-size:15.5px;color:var(--accent)}.report-block p{margin:0;color:var(--muted);line-height:1.48;font-size:14px}.report-list{margin:8px 0 0;padding-left:19px;color:var(--muted);line-height:1.45;font-size:14px}.card-front{min-height:260px;border-radius:28px;padding:20px;background:linear-gradient(145deg,rgba(245,193,108,.25),rgba(255,126,182,.18));border:1px solid rgba(255,255,255,.2);display:grid;align-content:space-between;margin-bottom:12px}.card-symbol{font-size:52px;text-align:center}.card-name{text-align:center;font-weight:900;font-size:22px}.card-tag{text-align:center;color:var(--muted);font-size:13px}.hidden{display:none!important}.legal h3{margin:16px 0 8px}.legal p{color:var(--muted);line-height:1.5;font-size:14px}.toast{position:fixed;left:50%;bottom:18px;width:calc(100% - 28px);max-width:492px;transform:translateX(-50%) translateY(20px);opacity:0;z-index:10;background:rgba(32,18,42,.94);color:var(--text);border-radius:18px;padding:13px 14px;box-shadow:var(--shadow);transition:.2s ease;font-size:14px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media print{body.print-report{background:#fff!important;color:#111!important}body.print-report .app{max-width:none!important;padding:0!important}body.print-report .app:before,body.print-report .topbar,body.print-report .screen:not(#screen-full-report),body.print-report #screen-full-report .page-head,body.print-report .action-row,body.print-report .toast{display:none!important}body.print-report #screen-full-report,body.print-report #fullReportContent{display:block!important}body.print-report .card,body.print-report .report-block,body.print-report .accent-box{background:#fff!important;color:#111!important;border:1px solid #d9d9d9!important;box-shadow:none!important}body.print-report .small-text,body.print-report .report-block p,body.print-report .report-list{color:#222!important}}@media(max-width:380px){.app{padding-left:10px;padding-right:10px}h1{font-size:26px}.menu-item{grid-template-columns:42px 1fr auto}.menu-ico{width:42px;height:42px}.action-row{grid-template-columns:1fr}}

/* Astro paid-ready controls */
.label-note{
  display:block;
  margin-top:2px;
  font-size:11px;
  font-weight:600;
  color:#8b7b69;
}
.pay-options{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}
.buy-btn{
  border:1px solid rgba(139,91,46,.20);
  background:linear-gradient(135deg,#fff7ed,#ffffff);
  color:#4a2d18;
  border-radius:18px;
  padding:14px 16px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(80,46,20,.08);
}
.buy-btn span{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#8b7b69;
  margin-top:4px;
}
.buy-btn:hover{
  transform:translateY(-1px);
}
.locked-box{
  border:1px dashed rgba(139,91,46,.35);
  background:#fffaf4;
  border-radius:20px;
  padding:16px;
  margin-top:12px;
}
.locked-title{
  font-weight:900;
  font-size:18px;
  margin-bottom:8px;
}
.tech-list{
  margin:10px 0 0;
  padding-left:18px;
  color:#5f4a38;
  line-height:1.55;
}


/* Birth date report */
.report-grid{
  display:grid;
  gap:12px;
}
.report-mini{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.mini-stat{
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:10px;
  background:rgba(255,255,255,.06);
}
.mini-stat b{
  display:block;
  color:var(--accent);
  font-size:19px;
  margin-bottom:2px;
}
.mini-stat span{
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
}
.report-list{
  margin:8px 0 0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.5;
}


/* Full report demo button */
.full-demo-btn{
  width:100%;
  border:0;
  border-radius:22px;
  padding:16px 18px;
  margin-top:14px;
  cursor:pointer;
  text-align:left;
  color:#fff;
  font-weight:900;
  font-size:16px;
  background:linear-gradient(135deg,#8a4b20,#c8873d 48%,#5b2d15);
  box-shadow:0 16px 34px rgba(91,45,21,.28);
}
.full-demo-btn span{
  display:block;
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
  font-weight:650;
  color:rgba(255,255,255,.86);
}
.full-demo-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(91,45,21,.34);
}
.buy-btn{
  background:linear-gradient(135deg,#7b3f1d,#b87732 55%,#4e2410) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 30px rgba(91,45,21,.24) !important;
}
.buy-btn span{
  color:rgba(255,255,255,.86) !important;
}



/* Name full report button — no white placeholder */
.name-full-btn{
  width:100%;
  border:0;
  border-radius:22px;
  padding:16px 18px;
  margin-top:14px;
  cursor:pointer;
  text-align:left;
  color:#fff;
  font-weight:950;
  font-size:16px;
  background:
    radial-gradient(circle at 12% 8%, rgba(255,229,174,.42), transparent 34%),
    linear-gradient(135deg,#512313 0%,#9c5325 48%,#d39447 100%);
  box-shadow:0 16px 36px rgba(91,45,21,.32);
}
.name-full-btn span{
  display:block;
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
  font-weight:650;
  color:rgba(255,255,255,.88);
}
.name-full-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 40px rgba(91,45,21,.38);
}

/* Clean name letter calculation */
.name-calc-line{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.name-calc-line b{
  color:var(--text);
}



/* Combined portrait and pair */
.synthesis-card{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border-radius:24px;
  padding:16px;
}
.combo-table{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.combo-row{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.05);
}
.combo-row b{
  display:block;
  margin-bottom:5px;
  color:var(--text);
}
.combo-row span{
  color:var(--muted);
  line-height:1.45;
  font-size:14px;
}
.big-number-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:18px;
  background:linear-gradient(135deg,#8a4b20,#d39447);
  color:#fff;
  font-size:22px;
  font-weight:950;
  box-shadow:0 12px 28px rgba(91,45,21,.24);
  margin-right:8px;
}
.portrait-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.portrait-head strong{
  font-size:20px;
}



/* Rich portrait/pair report */
.rich-section-title{
  font-size:20px;
  font-weight:950;
  margin-bottom:8px;
}
.rich-two{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width:720px){
  .rich-two{grid-template-columns:1fr 1fr;}
}
.astro-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  font-weight:850;
  margin:4px 4px 0 0;
}
.deep-card{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
  border-radius:24px;
  padding:16px;
}
.deep-card h3{
  margin:0 0 8px;
  font-size:18px;
}
.mini-warning{
  font-size:12px;
  color:var(--muted);
  line-height:1.45;
  margin-top:8px;
}



/* Home order cleanup */
.bottom-balance{
  margin-top:14px;
}
.bottom-menu{
  margin-top:14px;
}



/* Day card decks */
.day-symbol{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  font-size:32px;
  background:linear-gradient(135deg,#8a4b20,#d39447);
  box-shadow:0 14px 30px rgba(91,45,21,.24);
  margin-bottom:12px;
}
.day-card-result{
  position:relative;
  overflow:hidden;
}
.day-card-result:before{
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(211,148,71,.12);
  pointer-events:none;
}


/* Day cards final UI */
.day-chooser-card{
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
}
.choice-title{
  margin:14px 0 8px;
  font-weight:950;
  color:var(--text);
  letter-spacing:.01em;
}
.deck-choice-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.deck-choice,.spread-choice{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-radius:18px;
  padding:13px 14px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.deck-choice b{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}
.deck-choice span{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.deck-choice.active,.spread-choice.active{
  border-color:rgba(211,148,71,.75);
  background:linear-gradient(135deg,#6a3118,#b66c31 55%,#d69a4f);
  color:#fff;
}
.deck-choice.active span{
  color:rgba(255,255,255,.86);
}
.spread-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.spread-choice{
  text-align:center;
  font-weight:900;
}
.day-draw-btn{
  width:100%;
  border:0;
  margin-top:16px;
  border-radius:20px;
  padding:15px 18px;
  cursor:pointer;
  font-weight:950;
  color:#4b250f;
  background:linear-gradient(135deg,#fff3c4,#f6bd63);
  box-shadow:0 14px 30px rgba(91,45,21,.24);
}
.day-draw-btn:hover{
  transform:translateY(-1px);
}
.day-card-result{
  overflow:hidden;
}
.day-image-wrap{
  width:100%;
  max-width:320px;
  margin:0 auto 14px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,.16);
  background:rgba(255,255,255,.06);
}
.day-card-img{
  width:100%;
  display:block;
  aspect-ratio:3/4;
  object-fit:cover;
}
.day-symbol,.day-card-title-only{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  font-size:32px;
  background:linear-gradient(135deg,#8a4b20,#d39447);
  box-shadow:0 14px 30px rgba(91,45,21,.24);
  margin-bottom:12px;
  color:#fff;
  font-weight:950;
}
.day-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.day-action-btn{
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:12px 10px;
  background:rgba(255,255,255,.07);
  color:var(--text);
  cursor:pointer;
  font-weight:850;
}
.day-action-btn.primary{
  background:linear-gradient(135deg,#8a4b20,#d39447);
  color:#fff;
  border:0;
}



/* Card draw effect */
.day-draw-stage{
  overflow:hidden;
  position:relative;
}
.draw-instruction{
  margin-top:12px;
  font-weight:950;
  font-size:17px;
  color:var(--text);
}
.draw-progress{
  margin:8px 0 14px;
  color:var(--muted);
  font-size:13px;
}
.card-back-grid{
  display:grid;
  gap:12px;
  margin-top:12px;
  perspective:1000px;
}
.card-back-grid.one{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.card-back-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (min-width:520px){
  .card-back-grid.one{
    grid-template-columns:repeat(7,minmax(0,1fr));
  }
  .card-back-grid.three{
    grid-template-columns:repeat(9,minmax(0,1fr));
  }
}
.card-back{
  position:relative;
  min-height:128px;
  border:0;
  border-radius:18px;
  padding:0;
  cursor:pointer;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,216,139,.30), transparent 28%),
    linear-gradient(145deg,#0d1427,#1d2746 50%,#080d1a);
  box-shadow:0 16px 32px rgba(0,0,0,.22);
  transform:rotate(var(--rot)) translateY(0);
  animation:cardDeal .42s ease both;
  animation-delay:var(--delay);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  overflow:hidden;
}
.card-back:before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:14px;
  border:1px solid rgba(241,190,104,.55);
}
.card-back:after{
  content:"";
  position:absolute;
  inset:-30%;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.16),transparent 65%);
  transform:rotate(14deg) translateX(-60%);
  transition:transform .45s ease;
}
.card-back:hover{
  transform:rotate(var(--rot)) translateY(-6px) scale(1.03);
  box-shadow:0 20px 38px rgba(0,0,0,.30);
}
.card-back:hover:after{
  transform:rotate(14deg) translateX(60%);
}
.card-back.chosen{
  background:linear-gradient(145deg,#8a4b20,#d39447);
  transform:rotate(0deg) translateY(-4px) scale(.98);
  filter:saturate(1.12);
}
.card-back-inner{
  position:relative;
  z-index:2;
  min-height:128px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#fff2cf;
  text-align:center;
}
.card-back-star{
  font-size:28px;
  text-shadow:0 0 18px rgba(255,220,140,.75);
}
.card-back-title{
  font-weight:950;
  font-size:12px;
  line-height:1.15;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.shuffle-again-btn{
  margin-top:14px;
  width:100%;
}
.reveal-card{
  animation:revealUp .34s ease both;
}
@keyframes cardDeal{
  from{opacity:0;transform:translateY(24px) rotate(0deg) scale(.92)}
  to{opacity:1;transform:rotate(var(--rot)) translateY(0) scale(1)}
}
@keyframes revealUp{
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}



/* Clean straight card backs */
.card-back-grid.one,
.card-back-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (min-width:520px){
  .card-back-grid.one{
    grid-template-columns:repeat(7,minmax(0,1fr));
  }
  .card-back-grid.three{
    grid-template-columns:repeat(9,minmax(0,1fr));
  }
}
.card-back{
  min-height:138px;
  border-radius:20px;
  transform:translateY(0) rotate(0deg) !important;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,220,150,.24), transparent 25%),
    radial-gradient(circle at 50% 72%, rgba(120,150,255,.14), transparent 34%),
    linear-gradient(145deg,#060b18 0%,#121b35 48%,#070a13 100%) !important;
}
.card-back:hover{
  transform:translateY(-6px) scale(1.025) rotate(0deg) !important;
}
.card-back.chosen{
  transform:translateY(-4px) scale(.98) rotate(0deg) !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,238,190,.35), transparent 35%),
    linear-gradient(145deg,#7a3b1c,#d39447) !important;
}
.card-back:before{
  inset:9px;
  border:1px solid rgba(241,190,104,.64);
  border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.card-back-inner{
  min-height:138px;
  gap:6px;
}
.card-back-title{
  display:none !important;
}
.card-back-moon{
  display:block;
  font-size:32px;
  color:#fff2cf;
  text-shadow:0 0 18px rgba(255,220,140,.82);
  line-height:1;
}
.card-back-star{
  display:block;
  font-size:26px;
  color:#fff2cf;
  text-shadow:0 0 18px rgba(255,220,140,.82);
  line-height:1;
}
.card-back-dot{
  width:7px;
  height:7px;
  display:block;
  border-radius:50%;
  background:#fff2cf;
  box-shadow:0 0 14px rgba(255,220,140,.9);
}
.card-back-inner.chosen-mark{
  min-height:138px;
}
@keyframes cardDeal{
  from{opacity:0;transform:translateY(24px) rotate(0deg) scale(.92)}
  to{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}
}



/* Hint opens only on request */
.closed-card-note{
  margin:10px 0 12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  text-align:center;
}
.hint-open-btn{
  width:100%;
  border:0;
  border-radius:18px;
  padding:13px 16px;
  cursor:pointer;
  font-weight:950;
  color:#4b250f;
  background:linear-gradient(135deg,#fff3c4,#f6bd63);
  box-shadow:0 12px 26px rgba(91,45,21,.20);
}
.hint-open-btn:hover{
  transform:translateY(-1px);
}
.day-hint-panel{
  margin-top:14px;
  animation:revealUp .28s ease both;
}
.hidden{
  display:none!important;
}


/* Card techniques */
.techniques-panel{
  margin-top:18px;
}
.technique-choice{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-radius:18px;
  padding:14px;
  text-align:left;
  cursor:pointer;
  margin-top:10px;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.technique-choice b{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}
.technique-choice span{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.technique-choice:hover{
  transform:translateY(-1px);
  border-color:rgba(211,148,71,.55);
}
.card-back-grid.technique{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (min-width:640px){
  .card-back-grid.technique{
    grid-template-columns:repeat(9,minmax(0,1fr));
  }
}



/* Hard fix for clickable day cards */
.card-back,
.hint-open-btn,
.deck-choice,
.spread-choice,
.technique-choice,
.day-draw-btn{
  pointer-events:auto!important;
  position:relative;
  z-index:3;
}
.card-back[disabled]{
  pointer-events:none!important;
}



/* Final cards click/image fix */
.day-image-wrap.image-missing{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.day-image-wrap.image-missing:after{
  content:"Карта выбрана";
  color:var(--muted);
  font-weight:900;
}



/* Better missing card image message */
.day-image-wrap.image-missing{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed rgba(255,255,255,.22);
  background:rgba(255,255,255,.05);
}
.missing-card-note{
  text-align:center;
  color:var(--muted);
  font-weight:900;
  line-height:1.45;
}
.missing-card-note small{
  font-weight:650;
  opacity:.78;
}



/* Local relative path diagnostic */
.missing-card-note small{
  display:block;
  max-width:280px;
  margin:4px auto 0;
}



/* Better local folder diagnostic */
.missing-card-note small{
  display:block;
  max-width:300px;
  margin:4px auto 0;
}



/* Technique intro explanations */
.technique-intro-card{
  position:relative;
  overflow:hidden;
}
.technique-kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  margin-bottom:10px;
  font-size:12px;
  font-weight:950;
  background:rgba(211,148,71,.16);
  color:var(--text);
  border:1px solid rgba(211,148,71,.25);
}
.technique-intro-box{
  margin-top:12px;
  padding:13px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.technique-intro-box b{
  display:block;
  margin-bottom:5px;
}
.technique-intro-box p{
  margin:0;
  color:var(--muted);
  line-height:1.48;
  font-size:13px;
}
.technique-positions{
  display:grid;
  gap:9px;
  margin-top:14px;
}
.tech-position{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}
.tech-position span{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#8a4b20,#d39447);
  color:#fff;
  font-weight:950;
}
.tech-position b{
  display:block;
  margin-bottom:2px;
}
.tech-position em{
  display:block;
  font-style:normal;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.technique-note{
  margin-top:14px;
  padding:12px 13px;
  border-radius:16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  background:rgba(255,235,190,.08);
  border:1px solid rgba(211,148,71,.18);
}



/* Clean cards/techniques layout */
.techniques-main-card{
  margin-bottom:14px;
}
.techniques-panel.clean{
  margin-top:12px;
}
.day-card-mode{
  margin-top:14px;
  opacity:.96;
}
.day-mode-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:12px;
}
@media (min-width:560px){
  .day-mode-actions{
    grid-template-columns:1fr 1fr;
  }
}
.day-card-mode .day-action-btn{
  width:100%;
}
.technique-subtitle{
  margin-top:15px;
  margin-bottom:8px;
  font-weight:950;
  color:var(--text);
}
.tech-position{
  cursor:default!important;
}
.tech-position:hover{
  transform:none!important;
}
.card-back{
  cursor:pointer!important;
}



/* Free card decks on top */
.day-free-card{
  margin-bottom:14px;
  border-color:rgba(211,148,71,.22);
  background:linear-gradient(135deg,rgba(211,148,71,.10),rgba(255,255,255,.04));
}
.free-deck-grid{
  margin-top:8px;
}
.day-free-card .day-mode-actions{
  margin-top:10px;
}
.techniques-main-card{
  margin-top:14px;
}



/* Main two buttons: Card day / Techniques */
.card-main-choice{
  border-color:rgba(211,148,71,.22);
  background:linear-gradient(135deg,rgba(211,148,71,.10),rgba(255,255,255,.04));
}
.main-choice-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
}
@media (min-width:560px){
  .main-choice-grid{
    grid-template-columns:1fr 1fr;
  }
}
.main-choice-btn{
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:18px 16px;
  min-height:118px;
  text-align:left;
  cursor:pointer;
  background:rgba(255,255,255,.06);
  color:var(--text);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}
.main-choice-btn b{
  display:block;
  font-size:20px;
  margin-bottom:8px;
}
.main-choice-btn span{
  display:block;
  color:var(--muted);
  font-size:13px;
  line-height:1.42;
}
.main-choice-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(211,148,71,.55);
}
.mode-panel{
  margin-top:14px;
}
.day-free-card{
  border-color:rgba(211,148,71,.22);
  background:linear-gradient(135deg,rgba(211,148,71,.10),rgba(255,255,255,.04));
}



/* Technique intro positions are not buttons */
.start-technique-now{
  margin-top:14px;
  margin-bottom:14px;
}
.technique-subtitle{
  margin-top:10px;
  padding-top:4px;
}
.technique-positions{
  gap:7px!important;
}
.tech-position{
  cursor:default!important;
  pointer-events:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:7px 0!important;
  border-radius:0!important;
  grid-template-columns:30px 1fr!important;
}
.tech-position:hover{
  transform:none!important;
}
.tech-position span{
  width:24px!important;
  height:24px!important;
  font-size:12px!important;
  box-shadow:none!important;
}
.tech-position b{
  font-size:14px;
}
.tech-position em{
  font-size:12px;
}
.technique-note{
  margin-top:12px;
}



/* Day card: word/question hint choice */
.day-hint-choice{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:12px;
}
@media (min-width:520px){
  .day-hint-choice{
    grid-template-columns:1fr 1fr;
  }
}
.hint-choice-btn{
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:13px 12px;
  cursor:pointer;
  font-weight:950;
  color:var(--text);
  background:rgba(255,255,255,.07);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.hint-choice-btn:hover,
.hint-choice-btn.active{
  border-color:rgba(211,148,71,.75);
  background:linear-gradient(135deg,#8a4b20,#d39447);
  color:#fff;
}
.day-word-box span,
.day-question-box span{
  font-size:20px;
  font-weight:950;
  line-height:1.25;
}
.day-question-box span{
  font-size:16px;
}



/* Astrology two main buttons layout */
.astro-main-card{
  border-color:rgba(211,148,71,.22);
  background:linear-gradient(135deg,rgba(211,148,71,.10),rgba(255,255,255,.04));
}
.astro-entry-grid{
  margin-top:12px;
}
.astro-entry-btn.active,
.astro-entry-btn:hover{
  border-color:rgba(211,148,71,.65);
  background:rgba(211,148,71,.12);
}
.astro-entry-btn.deep{
  background:linear-gradient(135deg,rgba(211,148,71,.18),rgba(110,54,21,.18));
}
.astro-panel{
  margin-top:14px;
}
.astro-deep-form{
  margin-top:12px;
}
#astroDeepPanel .astro-actions{
  margin-top:14px;
}
#astroDeepPanel .buy-btn{
  width:100%;
}



/* Astro deep locked state */
.astro-locked-actions .buy-btn{
  opacity:.82;
  filter:saturate(.75);
}
.astro-locked-actions .buy-btn span{
  color:var(--muted);
}
.astro-locked-actions .buy-btn:after{
  content:"Готовится";
  display:inline-flex;
  margin-top:8px;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  background:rgba(255,255,255,.10);
  color:var(--muted);
}



/* Real natal chart backend result */
.astro-natal-real-btn{
  border-color:rgba(255,210,133,.65)!important;
  background:linear-gradient(135deg,rgba(243,170,82,.45),rgba(111,55,24,.45))!important;
}
.astro-soon-btn{
  opacity:.78;
}
.natal-head-card{
  border-color:rgba(255,210,133,.35);
}
.natal-list{
  display:grid;
  gap:10px;
}
.natal-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.natal-row span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.natal-row strong{
  white-space:nowrap;
  color:var(--gold);
  text-align:right;
}
.natal-row.compact{
  padding:10px 12px;
}
.natal-house-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.natal-house{
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.natal-house b,
.natal-house strong,
.natal-house span{
  display:block;
}
.natal-house strong{
  margin-top:4px;
  color:var(--gold);
}
.natal-house span{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
@media (max-width:560px){
  .natal-row{
    display:block;
  }
  .natal-row strong{
    display:block;
    text-align:left;
    margin-top:7px;
  }
  .natal-house-grid{
    grid-template-columns:1fr;
  }
}



/* Astro accuracy notice */
.astro-accuracy-note{
  margin:12px 0 14px;
  padding:13px 14px;
  border-radius:18px;
  background:rgba(255,198,116,.10);
  border:1px solid rgba(255,198,116,.24);
}
.astro-accuracy-note b{
  display:block;
  margin-bottom:6px;
  color:var(--text);
}
.astro-accuracy-note p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}



/* Unknown birth time mode */
.astro-unknown-time-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.astro-unknown-time-row input{
  width:auto!important;
  min-width:auto!important;
}
.astro-unknown-time-row span{
  font-size:13px;
  color:var(--text);
}
.muted-field{
  opacity:.55;
}
.natal-house span{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.natal-row span{
  line-height:1.45;
}



/* Natal human reading cards */
.natal-head-card{
  border-color:rgba(255,210,133,.35);
}
.natal-list{
  display:grid;
  gap:10px;
}
.natal-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.natal-row span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.natal-row strong{
  white-space:nowrap;
  color:var(--gold);
  text-align:right;
}
.natal-house-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.natal-house{
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.natal-house b,
.natal-house span{
  display:block;
}
.natal-house span{
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
@media (max-width:560px){
  .natal-row{
    display:block;
  }
  .natal-row strong{
    display:block;
    text-align:left;
    margin-top:7px;
  }
  .natal-house-grid{
    grid-template-columns:1fr;
  }
}



/* Living natal reading */
.living-card .accent-box,
.living-card .warn-box{
  line-height:1.58;
}
.natal-head-card{
  border-color:rgba(255,210,133,.35);
}
.natal-list{
  display:grid;
  gap:10px;
}
.natal-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.natal-row span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.natal-row strong{
  white-space:nowrap;
  color:var(--gold);
  text-align:right;
}
.natal-house-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.natal-house{
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.natal-house b,
.natal-house span{
  display:block;
}
.natal-house span{
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
@media (max-width:560px){
  .natal-row{
    display:block;
  }
  .natal-row strong{
    display:block;
    text-align:left;
    margin-top:7px;
  }
  .natal-house-grid{
    grid-template-columns:1fr;
  }
}



/* Clear explanation layer for planets and houses */
.guide-card .accent-box{
  line-height:1.6;
}
.astro-formula{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.astro-formula div{
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.astro-formula b,
.astro-formula span{
  display:block;
}
.astro-formula span{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.explain-list{
  display:grid;
  gap:12px;
}
.explain-item{
  padding:13px 14px;
  border-radius:17px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.explain-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:8px;
}
.explain-top b{
  color:var(--text);
}
.explain-top span{
  color:var(--gold);
  font-size:12px;
  text-align:right;
  max-width:42%;
}
.explain-item p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.explain-item.compact p{
  margin-top:5px;
}
@media (max-width:560px){
  .astro-formula{
    grid-template-columns:1fr;
  }
  .explain-top{
    display:block;
  }
  .explain-top span{
    display:block;
    max-width:none;
    text-align:left;
    margin-top:5px;
  }
}



/* Plain human astrology explanation */
.big-help{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  margin:10px 0 12px;
}
.big-help p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.big-help p:last-child{
  margin-bottom:0;
}
.plain-grid{
  display:grid;
  gap:12px;
}
.plain-card{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.plain-card h4{
  margin:0 0 8px;
  font-size:15px;
  color:var(--text);
}
.plain-card p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.52;
}
.plain-card .ask{
  color:var(--text);
}
.plain-card.compact h4{
  margin-bottom:5px;
}



/* Concrete aspect instructions */
.plain-card.compact p{
  line-height:1.58;
}



/* Internal mechanisms cards */
.mechanism-card .tech-note{
  color:var(--muted);
  font-size:12px;
  opacity:.82;
}
.mechanism-card ul{
  margin:8px 0 0 18px;
  padding:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.mechanism-card li{
  margin:4px 0;
}



/* Sphere forecast */
.sphere-card .accent-box{
  line-height:1.58;
}
.sphere-small-list{
  display:grid;
  gap:9px;
}
.sphere-small-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.sphere-small-row b{
  color:var(--text);
}
.sphere-small-row span{
  color:var(--muted);
  font-size:12px;
  text-align:right;
}
@media (max-width:560px){
  .sphere-small-row{
    display:block;
  }
  .sphere-small-row span{
    display:block;
    text-align:left;
    margin-top:4px;
  }
}



/* Sphere day tone card */
.sphere-day-card .accent-box{
  line-height:1.55;
}



/* Forecast day combined */
.astro-entry-btn b{
  line-height:1.2;
}



/* Forecast day product view */
.forecast-big{
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  padding:14px;
  border-radius:18px;
  background:rgba(255,210,133,.10);
  border:1px solid rgba(255,210,133,.22);
}
.forecast-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mini-title{
  font-size:15px;
  margin-bottom:8px;
}
.good-list,
.bad-list{
  padding:13px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.good-list ul,
.bad-list ul{
  margin:0 0 0 18px;
  padding:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.good-list li,
.bad-list li{
  margin:5px 0;
}
.day-sphere-grid{
  display:grid;
  gap:12px;
}
.day-sphere-card{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.day-sphere-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.day-sphere-head b{
  color:var(--text);
}
.day-sphere-head span{
  color:var(--gold);
  font-size:12px;
  text-align:right;
}
.day-sphere-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.forecast-step-card .accent-box,
.forecast-step-card .warn-box{
  line-height:1.58;
}
.forecast-tech-details{
  display:block;
}
.forecast-tech-details summary{
  cursor:pointer;
  color:var(--text);
  font-weight:700;
  list-style:none;
}
.forecast-tech-details summary::-webkit-details-marker{
  display:none;
}
.sphere-small-list{
  display:grid;
  gap:9px;
  margin-top:10px;
}
.sphere-small-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.sphere-small-row b{
  color:var(--text);
}
.sphere-small-row span{
  color:var(--muted);
  font-size:12px;
  text-align:right;
}
@media (max-width:560px){
  .forecast-two-col{
    grid-template-columns:1fr;
  }
  .day-sphere-head,
  .sphere-small-row{
    display:block;
  }
  .day-sphere-head span,
  .sphere-small-row span{
    display:block;
    text-align:left;
    margin-top:4px;
  }
}



/* Forecast day final polish */
.free-badge{
  display:inline-flex;
  align-items:center;
  margin-left:10px;
  padding:4px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  color:var(--text);
  background:rgba(255,210,133,.14);
  border:1px solid rgba(255,210,133,.28);
  vertical-align:middle;
}
@media (max-width:560px){
.free-badge{
    margin-left:0;
    margin-top:8px;
    display:inline-flex;
  }
}



/* Natal paywall only */
.natal-offer-box{
  margin:12px 0 14px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,210,133,.10);
  border:1px solid rgba(255,210,133,.22);
}
.natal-offer-box b{
  display:block;
  margin-bottom:8px;
  color:var(--text);
}
.natal-offer-box ul{
  margin:0 0 0 18px;
  padding:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.natal-offer-box li{
  margin:5px 0;
}
.result-offer{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.10);
}
.paid-main-btn{
  width:100%;
  margin-top:8px;
}



/* Full portrait paywall */
.portrait-offer-box{
  margin:12px 0 14px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,210,133,.10);
  border:1px solid rgba(255,210,133,.22);
}
.portrait-offer-box b{
  display:block;
  margin-bottom:8px;
  color:var(--text);
}
.portrait-offer-box ul{
  margin:0 0 0 18px;
  padding:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.portrait-offer-box li{
  margin:5px 0;
}
.portrait-offer-box.result-offer{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.10);
}
.portrait-buy-btn{
  width:100%;
  margin-top:8px;
}



/* Safe portrait button note */
.portrait-temp-note{
  text-align:center;
  margin-top:8px;
}



/* Paid full buttons polish */
.paid-cta-card{
  margin-top:14px;
  padding:16px;
  border-radius:22px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,229,174,.20), transparent 35%),
    linear-gradient(135deg, rgba(74,35,17,.96), rgba(126,67,30,.94) 52%, rgba(75,36,17,.96));
  color:#fff;
  box-shadow:0 16px 36px rgba(45,24,12,.28);
  border:1px solid rgba(255,210,133,.20);
}
.paid-cta-kicker{
  font-size:12px;
  font-weight:800;
  color:rgba(255,229,174,.88);
  margin-bottom:4px;
}
.paid-cta-title{
  font-size:18px;
  font-weight:950;
  margin-bottom:7px;
}
.paid-cta-card p{
  margin:0 0 12px;
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.45;
}
.paid-cta-btn,
.locked-box .main-btn{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:16px;
  padding:13px 16px;
  color:#241329;
  font-weight:900;
  cursor:pointer;
  background:linear-gradient(135deg,var(--accent),#ffe1a7);
  box-shadow:0 14px 30px rgba(245,193,108,.22);
}
.locked-box{
  border:1px solid rgba(255,210,133,.20) !important;
  background:rgba(255,255,255,.07) !important;
  color:var(--text) !important;
}
.locked-box .small-text{
  color:var(--muted) !important;
}
.pair-real-astro-card .rich-two{
  margin:12px 0;
}
.pair-house-box{
  margin:12px 0;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.pair-house-box>b{
  display:block;
  color:var(--text);
  margin-bottom:10px;
}
.pair-house-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:9px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.pair-house-row:first-of-type{
  border-top:0;
}
.pair-house-row b{
  color:var(--text);
}
.pair-house-row span{
  color:var(--muted);
  font-size:13px;
  text-align:right;
}
@media (max-width:560px){
  .pair-house-row{
    display:block;
  }
  .pair-house-row span{
    display:block;
    text-align:left;
    margin-top:4px;
  }
}



/* Name FIO and child name picker */
.full-row{
  grid-column:1 / -1;
}
.form-grid textarea,
.form-grid select{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  color:var(--text);
  border-radius:14px;
  padding:12px;
  font:inherit;
  outline:none;
}
.form-grid textarea{
  resize:vertical;
}
.child-name-detail{
  margin:12px 0;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.child-name-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:8px;
}
.child-name-head b{
  color:var(--text);
  font-size:19px;
}
.child-name-head strong{
  color:var(--gold);
  font-size:22px;
}
.child-name-detail p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.name-match-list{
  display:grid;
  gap:10px;
}
.name-match-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.name-match-row b,
.name-match-row span{
  display:block;
}
.name-match-row span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}
.name-match-row strong{
  color:var(--gold);
  font-size:18px;
  white-space:nowrap;
}
@media (max-width:560px){
  .full-row{
    grid-column:auto;
  }
  .child-name-head{
    display:block;
  }
  .child-name-head strong{
    display:block;
    margin-top:5px;
  }
}



/* Child name paid/free logic */
.best-name-card.small{
  margin:12px 0;
  padding:16px;
  border-radius:20px;
  background:rgba(255,210,133,.12);
  border:1px solid rgba(255,210,133,.25);
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 12px;
  align-items:center;
}
.best-name-card.small b{
  font-size:18px;
  color:var(--text);
}
.best-name-card.small strong{
  font-size:22px;
  color:var(--gold);
}
.best-name-card.small span{
  grid-column:1/-1;
  color:var(--muted);
  font-size:13px;
}



/* Fix white select fields */
.form-grid select,
.form-grid option{
  background:#241329 !important;
  color:#fff7ec !important;
}
.form-grid select{
  appearance:none;
  -webkit-appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,230,180,.9) 50%),
    linear-gradient(135deg, rgba(255,230,180,.9) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 13px) calc(50% - 3px);
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:34px;
}



/* Mobile fields overflow + time input fix */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

.app,
.page,
.screen,
.card,
.form-grid,
.result,
.report-grid,
.pay-options,
.action-row,
.pill-row{
  max-width:100%;
  min-width:0;
}

.card{
  overflow:hidden;
}

.form-grid{
  width:100%;
  min-width:0;
}

.form-grid label,
.form-grid .full-row,
label{
  min-width:0;
  max-width:100%;
}

input,
select,
textarea,
button{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

.form-grid input,
.form-grid select,
.form-grid textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  display:block;
}

input[type="date"],
input[type="text"].time-text-field,
input[data-time-text="1"]{
  -webkit-appearance:none;
  appearance:none;
  min-height:52px;
  line-height:1.2;
  font-size:16px;
}

.time-text-field{
  letter-spacing:.02em;
}

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

  .app{
    width:100%;
    max-width:100%;
    padding-left:10px;
    padding-right:10px;
  }

  .screen{
    width:100%;
    max-width:100%;
    padding-left:0;
    padding-right:0;
  }

  .card{
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
    border-radius:20px;
  }

  .form-grid{
    grid-template-columns:1fr !important;
    gap:14px;
  }

  .form-grid label{
    width:100%;
  }

  .main-btn,
  .buy-btn,
  .ghost-btn,
  .paid-cta-btn,
  .name-full-btn{
    width:100%;
    max-width:100%;
    white-space:normal;
  }

  .pill-row,
  .action-row{
    width:100%;
    max-width:100%;
  }
}

@media (max-width:380px){
  .app{
    padding-left:8px;
    padding-right:8px;
  }

  .card{
    padding-left:14px;
    padding-right:14px;
  }

  .page-title{
    font-size:24px;
    line-height:1.15;
  }
}



/* Payment UI */
.payment-note{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}



/* Astro daily yes/no */
.astro-yesno-grid{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.astro-yesno-item{
  padding:13px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}

.astro-yesno-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:6px;
}

.astro-yesno-top b{
  color:var(--text);
  font-size:14px;
}

.astro-yesno-top span{
  flex:0 0 auto;
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.astro-yesno-item.ok .astro-yesno-top span{
  background:rgba(148, 255, 187, .14);
  border:1px solid rgba(148, 255, 187, .28);
  color:#d8ffe6;
}

.astro-yesno-item.warn .astro-yesno-top span{
  background:rgba(255, 210, 133, .14);
  border:1px solid rgba(255, 210, 133, .30);
  color:var(--gold);
}

.astro-yesno-item.no .astro-yesno-top span{
  background:rgba(255, 132, 132, .14);
  border:1px solid rgba(255, 132, 132, .28);
  color:#ffd0d0;
}

.astro-yesno-item p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

@media (max-width:560px){
  .astro-yesno-top{
    display:block;
  }
  .astro-yesno-top span{
    display:inline-flex;
    margin-top:6px;
  }
}



/* Payment prices */
.technique-choice span,
.paid-cta-btn,
.buy-btn,
.name-full-btn{
  line-height:1.25;
}



/* Separate payment buttons */
.pay-product-btn{
  margin-top:10px;
  width:100%;
}

.cardtech-pay-btn{
  margin:8px 0 12px;
}

.pay-options .pay-product-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}



/* Safe hide old balance card only */
.balance-card.bottom-balance{
  display:none !important;
}



/* Legal info */
.legal-card{
  margin-bottom:14px;
}

.legal-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:14px;
}

.legal-tab{
  min-height:44px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.07);
  color:var(--text);
  font-weight:800;
  cursor:pointer;
  padding:10px;
}

.legal-tab.active{
  background:rgba(255,210,133,.16);
  border-color:rgba(255,210,133,.34);
  color:var(--gold);
}

.legal-doc{
  display:none;
}

.legal-doc.active{
  display:block;
}

.legal-doc h3{
  margin:18px 0 8px;
  color:var(--text);
  font-size:16px;
}

.legal-doc p,
.legal-doc li{
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.legal-doc ul{
  margin:8px 0 0 18px;
  padding:0;
}

.legal-doc li{
  margin:6px 0;
}

@media (max-width:700px){
  .legal-tabs{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:430px){
  .legal-tabs{
    grid-template-columns:1fr;
  }
}

/* Матрица судьбы: выделяем новый раздел в главном меню */
.matrix-menu-item{
  border-color:rgba(118,83,111,.35);
  background:linear-gradient(135deg,rgba(118,83,111,.12),rgba(222,163,190,.12));
}

.matrix-menu-item .menu-ico{
  background:linear-gradient(135deg,#76536f,#bd789b);
  color:#fff;
  box-shadow:0 6px 16px rgba(118,83,111,.22);
}
