/* ============================================================
   SCRIPTUM — Smėlio rytas design direction
   Caveat + Nunito Sans · warm off-white · soft shadows
   ============================================================ */
:root {
  --bg: #FBF8F2;
  --card: #FFFFFF;
  --ink: #4B4340;
  --ink-2: #5C534C;
  --ink-3: #7C7065;
  --mut: #97897D;
  --mut-2: #B3A594;
  --line: #E8DFD3;
  --line-soft: #F1EAE0;
  --wash: #F5EFE5;
  --ak: #C4795A;          /* oklch(0.62 0.09 42) */
  --ak-deep: #9C5A3F;     /* oklch(0.50 0.09 42) */
  --ak-light: #D9A08A;    /* oklch(0.72 0.07 42) */
  --ak-soft: #F6E7DE;     /* oklch(0.94 0.025 50) */
  --ak-softer: #FAF1EA;
  --good: #7A8B6F;
  --warn: #B85C48;
  --red-suit: #B0563F;
  --shadow: 0 10px 30px -12px rgba(75, 67, 64, .18);
  --shadow-sm: 0 4px 14px -6px rgba(75, 67, 64, .14);
  --r: 20px;
  --r-sm: 13px;
  --sidebar-w: 248px;
  font-size: 16px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: radial-gradient(1100px 700px at 50% -120px, #F3EDDF, #E9E1D0) fixed;
  color: var(--ink);
  font-family: 'Nunito Sans', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { margin: 0; font-weight: 800; color: var(--ink); }
p { margin: 0; }
a { color: var(--ak-deep); text-decoration: none; }
a:hover { text-decoration: underline; }
button { font-family: inherit; cursor: pointer; }
input, select { font-family: inherit; }

.script { font-family: 'Caveat', cursive; font-weight: 600; }

/* Zodiac glyphs: plain drawn symbols (no colored emoji), inherit text color */
.zg {
  font-family: 'Segoe UI Symbol', 'Noto Sans Symbols 2', 'Noto Sans Symbols', 'Nunito Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
}

/* ---------- animations ---------- */
@keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes pop { from { opacity: 0; transform: scale(.93); } to { opacity: 1; transform: scale(1); } }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes spinSlow { to { transform: rotate(360deg); } }
@keyframes pageTurn {
  0% { transform: perspective(1800px) rotateY(-15deg); opacity: 0; }
  55% { opacity: 1; }
  100% { transform: perspective(1800px) rotateY(0deg); opacity: 1; }
}
@keyframes pageShade { from { opacity: 1; } to { opacity: 0; } }
.page-flip { position: relative; transform-origin: left center; }
.page-flip.flip { animation: pageTurn .55s cubic-bezier(.2, .7, .3, 1) both; }
.page-flip.flip::before {
  content: ''; position: absolute; inset: -20px; z-index: 50; pointer-events: none;
  background: linear-gradient(90deg, rgba(90, 74, 58, .16), rgba(90, 74, 58, 0) 35%);
  animation: pageShade .55s ease both;
}
@media (prefers-reduced-motion: reduce) {
  .page-flip.flip { animation: none; }
  .page-flip.flip::before { display: none; }
}
.anim { animation: fadeUp .5s ease both; }
.anim-2 { animation: fadeUp .5s .08s ease both; }
.anim-3 { animation: fadeUp .5s .16s ease both; }
/* soft re-render (tab/bubble change on the same page): the page itself stays
   still, only the tab content fades in gently */
.page-flip.settled .anim, .page-flip.settled .anim-2, .page-flip.settled .anim-3 { animation: none; }
@keyframes tabIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.tabfade { animation: tabIn .3s ease both; }
@media (prefers-reduced-motion: reduce) {
  .tabfade { animation: none; }
}

/* ============================================================
   AUTH SCREEN — closed book cover
   ============================================================ */
.auth-wrap {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  padding: 44px 16px; position: relative; overflow: hidden;
  background:
    radial-gradient(1100px 700px at 50% -120px, #F3EDE2, rgba(243, 237, 226, 0)),
    #E9E1D0;
}
.fl-sym { position: absolute; color: #E5D6C2; animation: floaty 5.5s ease-in-out infinite; pointer-events: none; }
.fl-sym.s1 { top: 13%; left: 16%; font-size: 20px; }
.fl-sym.s2 { top: 21%; right: 14%; font-size: 26px; animation-delay: 1.2s; }
.fl-sym.s3 { bottom: 17%; left: 22%; font-size: 14px; animation-delay: 2.1s; }
.fl-sym.s4 { bottom: 24%; right: 19%; font-size: 17px; animation-delay: .6s; }
.book { position: relative; width: 100%; max-width: 484px; }
.bk-l1 {
  position: absolute; inset: 0 -9px -9px 0; background: #F1E9D8;
  border-radius: 10px 26px 26px 10px;
  box-shadow: 0 34px 70px rgba(90, 74, 58, .3);
}
.bk-l2 {
  position: absolute; inset: 0 -4px -4px 0; background: #F8F2E4;
  border-radius: 10px 25px 25px 10px;
}
.bk-cover {
  position: relative; background: #FDFAF3;
  border: 1px solid #EFE6D5; border-radius: 10px 24px 24px 10px;
  padding: 32px 40px 24px;
  animation: pop .45s ease both;
}
.bk-cover::before {
  content: ''; position: absolute; left: 14px; top: 14px; bottom: 14px; width: 1px;
  background: linear-gradient(180deg, rgba(0,0,0,0), #E6DCC9 18%, #E6DCC9 82%, rgba(0,0,0,0));
}
.bk-logo { display: block; width: 167px; height: auto; margin: 0 auto 4px; }
.bk-tagline {
  text-align: center; font-size: 10.5px; font-weight: 800;
  letter-spacing: .2em; text-transform: uppercase; color: #C4B8A8; margin-bottom: 14px;
}
.bk-div { display: flex; align-items: center; gap: 10px; margin: 0 4px 20px; }
.bk-div .ln { flex: 1; height: 1px; background: #E8DECB; }
.bk-div .st { color: #E3D4BF; font-size: 12px; }
.auth-card {
  background: #fff; border-radius: 24px;
  box-shadow: 0 14px 40px rgba(124, 102, 86, .1);
  padding: 24px 24px 22px;
}
.auth-motto { text-align: center; color: #97897D; font-size: 22px; margin: 18px 0 2px; }
.bk-foot {
  text-align: center; font-size: 10px; font-weight: 800;
  letter-spacing: .24em; text-transform: uppercase; color: #CFC4B2; margin-top: 10px;
}
.auth-lang { display: flex; justify-content: center; margin-top: 16px; }
.forgot { text-align: center; color: var(--mut); font-size: 12.5px; margin-top: 12px; cursor: pointer; }
.forgot:hover { color: var(--ak-deep); }
.forgot-note { text-align: center; color: var(--mut); font-size: 12px; margin-top: 6px; }
.consent {
  display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px;
  color: var(--mut); margin: 4px 0 12px; cursor: pointer; line-height: 1.5; text-align: left;
}
.consent input { margin-top: 2px; flex-shrink: 0; accent-color: var(--ak-deep); }
.consent a { color: var(--ak-deep); font-weight: 700; }
.pw-wrap { position: relative; }
.pw-wrap input { width: 100%; padding-inline-end: 40px; }
.pw-eye {
  position: absolute; inset-inline-end: 6px; top: 50%; transform: translateY(-50%);
  background: none; border: 0; cursor: pointer; color: var(--mut);
  padding: 5px; display: flex; align-items: center; line-height: 1;
}
.pw-eye:hover { color: var(--ink); }
.fp-title { font-weight: 800; font-size: 16px; color: var(--ink); margin: 2px 0 4px; }
.fp-intro { color: var(--mut); font-size: 12.5px; line-height: 1.55; margin-bottom: 14px; }
.fp-intro b { color: var(--ink); word-break: break-all; }
.auth-tabs { display: flex; background: #F4EDE3; border-radius: 999px; padding: 4px; margin-bottom: 20px; }
.auth-tabs button {
  flex: 1; border: 0; background: transparent; border-radius: 999px;
  padding: 8px 0; font-weight: 700; font-size: 13px; color: #A99C8E;
  transition: all .18s; cursor: pointer;
}
.auth-tabs button.on { background: #fff; color: #453D39; box-shadow: 0 4px 12px rgba(124, 102, 86, .12); }
@media (max-width: 520px) {
  .bk-cover { padding: 26px 22px 20px; }
  .auth-card { padding: 20px 16px; }
}

.field { margin-bottom: 15px; position: relative; }
.field label {
  display: block; font-size: 11px; letter-spacing: .14em; font-weight: 800;
  color: var(--mut); text-transform: uppercase; margin-bottom: 6px;
}
.field label .opt { color: var(--mut-2); font-weight: 600; letter-spacing: .02em; text-transform: none; }
.field input, .field select {
  width: 100%; border: 1px solid #E8DFD3; border-radius: 14px;
  background: #fff; padding: 11px 14px; font-size: 15px; color: var(--ink);
  outline: none; transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}
.field input:focus { border-color: var(--ak-light); box-shadow: 0 0 0 4px var(--ak-soft); }
.field input::placeholder { color: #BFB3A4; }
.hint { font-size: 12.5px; color: var(--mut); margin-top: 5px; line-height: 1.45; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 0; border-radius: 999px; padding: 12px 26px;
  background: var(--ak); color: #fff; font-weight: 800; font-size: 14px;
  box-shadow: 0 8px 20px -8px rgba(156, 90, 63, .5);
  transition: transform .15s, box-shadow .15s, background .15s;
  cursor: pointer;
}
.btn:hover { background: var(--ak-deep); transform: translateY(-1px); }
.btn:disabled { opacity: .55; cursor: wait; transform: none; }
.btn.full { width: 100%; }
.btn.ghost {
  background: transparent; color: var(--ak-deep);
  border: 1.5px solid var(--ak-light); box-shadow: none;
}
.btn.ghost:hover { background: var(--ak-softer); }
.btn.sm { padding: 8px 18px; font-size: 13.5px; }

.form-err {
  background: #FBEDE9; color: var(--warn); border: 1px solid #F0D5CC;
  border-radius: var(--r-sm); padding: 10px 14px; font-size: 13.5px; margin-bottom: 14px;
  display: none;
}
.form-err.show { display: block; animation: fadeUp .3s ease; }

/* geo autocomplete */
.geo-box { position: relative; }
.geo-list {
  position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px);
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r-sm);
  box-shadow: var(--shadow); max-height: 230px; overflow: auto; display: none;
}
.geo-list.show { display: block; animation: fadeUp .18s ease; }
.geo-item { padding: 10px 14px; cursor: pointer; font-size: 14.5px; display: flex; justify-content: space-between; gap: 10px; }
.geo-item:hover, .geo-item.hl { background: var(--ak-softer); }
.geo-item .sub { color: var(--mut); font-size: 12.5px; }
.geo-ok {
  display: none; margin-top: 6px; font-size: 12.5px; color: var(--good); font-weight: 700;
}
.geo-ok.show { display: block; }

/* ============================================================
   APP SHELL
   ============================================================ */
.shell {
  display: flex; align-items: stretch; min-height: calc(100vh - 56px);
  max-width: 1520px; width: calc(100% - 52px); margin: 28px auto;
  /* the left-page fold is painted on the book itself, full height,
     so it can never detach from the cover while scrolling */
  background:
    linear-gradient(90deg,
      rgba(122, 100, 78, 0) 183px,
      rgba(122, 100, 78, 0.06) 233px,
      rgba(122, 100, 78, 0.13) 248px,
      rgba(122, 100, 78, 0) 248px),
    #FDFAF3;
  border: 1px solid #EFE6D5;
  border-radius: 14px;
  position: relative;
}
/* stacked pages peeking below and to the sides — the book is thicker than one page */
.shell::before {
  content: ''; position: absolute; inset: 12px -10px -10px; z-index: -2;
  background: #F1E9D8; border-radius: 16px;
  box-shadow: rgba(90, 74, 58, 0.26) 0px 34px 70px;
}
.shell::after {
  content: ''; position: absolute; inset: 6px -5px -5px; z-index: -1;
  background: #F8F2E4; border-radius: 15px;
}
.sidebar {
  width: 248px; flex: 0 0 auto; align-self: flex-start;
  background: transparent;
  padding: 34px 22px 28px;
  display: flex; flex-direction: column; gap: 28px;
  position: sticky; top: 28px;
  height: calc(100vh - 56px); max-height: calc(100vh - 56px);
  overflow-y: auto; min-height: 0;
  box-sizing: border-box;
}
/* the fold line lives on the content side so it runs the full book height */
.mainwrap { flex: 1; min-width: 0; border-left: 1px solid #EDE4D2; }
.sb-logo { width: 142px; height: auto; align-self: center; }
.side-tag {
  font-family: 'Caveat', cursive; font-size: 16.5px; color: #A99C8E;
  text-align: center; margin: -18px 0 0;
}
.navwrap { display: flex; flex-direction: column; gap: 4px; }
.side-contents {
  font-size: 10px; font-weight: 800; letter-spacing: 2.6px; text-transform: uppercase;
  color: #C9BDAC; padding: 0 18px 6px;
}
.nav-item .rn {
  margin-left: auto; font-family: 'Caveat', cursive;
  font-size: 16px; color: #C6BAA9; font-weight: 400;
}
.chapter-kick {
  font-size: 10.5px; letter-spacing: 2.6px; text-transform: uppercase;
  color: #C4B8A8; font-weight: 800; margin-bottom: 2px;
}
.chapter-kick .ck-sym { font-size: 12px; letter-spacing: 0; margin-right: 2px; }
.page-foot {
  margin-top: 26px; display: flex; align-items: center; gap: 16px;
  color: #B3A594; font-family: 'Caveat', cursive; font-size: 20px;
}
.page-foot .ln { flex: 1; height: 1px; background: #E8DECB; }
.nav-item {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 18px; border-radius: 999px; border: 0; background: transparent;
  color: #97897D; font-size: 14px; font-weight: 600; text-align: left;
  transition: background .2s, color .2s; width: 100%; cursor: pointer;
}
.nav-item .ic { width: 18px; text-align: center; font-size: 15px; }
.nav-item .ic.cv { font-family: 'Caveat', cursive; font-size: 17px; }
.nav-item:hover { background: rgba(122, 100, 78, 0.05); }
.nav-item.on { background: var(--ak-soft); color: #8A4E36; font-weight: 700; }
.nav-item.on .rn { color: #8A4E36; }
.side-foot {
  margin-top: auto;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.lang-row {
  display: flex; border: 0; border-radius: 999px;
  overflow: visible; font-size: 12px; padding: 0; margin: 0; background: transparent;
}
.lang-sel {
  width: 100%; padding: 7px 10px; border-radius: 10px; border: 1px solid #E8DFD3;
  background: #fff; color: #4B4340; font-family: inherit; font-size: 12.5px;
  font-weight: 700; cursor: pointer;
}
.mobilebar .lang-sel { width: auto; padding: 4px 8px; border-radius: 8px; }
.auth-lang .lang-sel { width: auto; min-width: 150px; }
.lang-btn {
  border: 0; background: transparent; border-radius: 0;
  font-size: 12px; font-weight: 700; padding: 6px 14px; color: #A99C8E;
  cursor: pointer; transition: background .2s;
}
.lang-btn.on { background: #fff; color: #4B4340; box-shadow: none; }
.mobilebar .lang-btn { border: 1px solid var(--line); background: var(--card); padding: 4px 11px; border-radius: 8px; }
.mobilebar .lang-btn.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.logout-btn { background: none; border: 0; color: #A99C8E; font-size: 12.5px; font-weight: 600; padding: 2px; cursor: pointer; transition: color .2s; }
.logout-btn:hover { color: #8A4E36; }
.logout-btn:hover { color: var(--warn); }

.main { flex: 1; min-width: 0; padding: 42px 46px 64px; max-width: 1172px; margin: 0 auto; position: relative; }

/* ---------- kompaktiška meniu juosta žemesniems ekranams (Full HD ~950px viewport):
   viskas telpa be slinkties — mažesnis logotipas, tankesni punktai, mažesni tarpai ---------- */
@media (min-width: 861px) and (max-height: 1040px) {
  .sidebar { padding: 22px 18px 18px; gap: 16px; }
  .sb-logo { width: 112px; }
  .side-tag { font-size: 14.5px; margin-top: -10px; }
  .navwrap { gap: 2px; }
  .nav-item { padding: 8px 16px; font-size: 13.5px; }
  .side-foot { gap: 8px; }
  .stars-chip { padding: 7px 11px; margin-bottom: 4px; }
  .stars-chip .sc-txt b { font-size: 14px; }
  .plus-chip { padding: 7px 11px; margin-bottom: 4px; }
  .lang-sel { padding: 5px 9px; font-size: 12px; }
}
@media (min-width: 861px) and (max-height: 880px) {
  .sidebar { padding: 16px 16px 14px; gap: 12px; }
  .sb-logo { width: 96px; }
  .side-tag { display: none; }
  .nav-item { padding: 7px 14px; font-size: 13px; }
  .stars-chip .sc-txt small, .plus-chip .pc-txt small { display: none; }
}

/* topbar (mobile) */
.mobilebar { display: none; }

/* ---------- page header ---------- */
.page-head { margin-bottom: 26px; }
.page-head .hello { font-size: 44px; line-height: 1.05; }
.page-head .sub { color: var(--ink-3); font-size: 14px; margin-top: 4px; }
.page-head .sub .sep { color: var(--mut-2); margin: 0 7px; }
.page-title {
  font-family: 'Caveat', cursive; font-weight: 600;
  font-size: 44px; line-height: 1.05; color: #453D39;
}
.avatar-mini {
  position: absolute; top: 44px; right: 46px; z-index: 5;
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--ak-soft); color: #8A4E36;
  font-family: 'Caveat', cursive; font-size: 21px; font-weight: 600;
  border: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: transform .15s;
}
.avatar-mini:hover { transform: scale(1.08); }

/* ---------- cards & grid ---------- */
.grid { display: grid; gap: 26px; grid-template-columns: repeat(12, 1fr); }
.panel {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  box-shadow: var(--shadow-sm); padding: 24px 26px; min-width: 0;
}
.panel.accent { background: linear-gradient(135deg, #FFF9F3, var(--ak-softer)); }
.p-kicker {
  font-size: 11px; letter-spacing: .17em; text-transform: uppercase;
  font-weight: 800; color: var(--mut); margin-bottom: 10px;
  display: flex; align-items: center; gap: 8px;
}
.p-kicker .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ak); display: inline-block; }
.p-title { font-size: 25px; margin-bottom: 8px; }
.p-text { color: var(--ink-2); font-size: 14.5px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.chip {
  background: var(--ak-soft); color: var(--ak-deep); font-size: 12.5px; font-weight: 800;
  border-radius: 999px; padding: 5px 13px;
}
.chip.plain { background: var(--wash); color: var(--ink-3); }
.link-more { display: inline-block; margin-top: 14px; font-weight: 800; font-size: 13.5px; }

.col-12 { grid-column: span 12; } .col-8 { grid-column: span 8; }
.col-7 { grid-column: span 7; } .col-6 { grid-column: span 6; }
.col-5 { grid-column: span 5; } .col-4 { grid-column: span 4; }
.col-3 { grid-column: span 3; }

/* ---------- numbers ---------- */
.num-row { display: flex; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
.num-cell { text-align: center; flex: 1; min-width: 76px; }
.num-ball {
  width: 62px; height: 62px; border-radius: 50%; margin: 0 auto 8px;
  background: radial-gradient(circle at 32% 28%, #fff, var(--ak-soft));
  border: 1.5px solid var(--ak-light); color: var(--ak-deep);
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; font-weight: 800;
  box-shadow: var(--shadow-sm);
}
.num-cell .lbl { font-size: 12px; color: var(--ink-3); font-weight: 700; line-height: 1.3; }
.num-cell.sel .num-ball { background: var(--ak-deep); color: #fff; border-color: var(--ak-deep); }

/* ---------- moon widget ---------- */
.moon-row { display: flex; align-items: center; gap: 18px; }
.moon-vis { width: 74px; height: 74px; flex-shrink: 0; filter: drop-shadow(0 6px 10px rgba(75,67,64,.18)); }
.moon-big { font-size: 22px; font-weight: 800; }
.moon-sub { color: var(--ink-3); font-size: 13.5px; margin-top: 3px; }

/* ---------- week strip ---------- */
.week-strip { display: flex; gap: 8px; margin-top: 4px; }
.wday {
  flex: 1; text-align: center; border-radius: 14px; padding: 10px 4px 9px;
  border: 1px solid var(--line-soft); background: #FFFDF9;
}
.wday .dn { font-size: 11px; color: var(--mut); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.wday .dd { font-size: 19px; font-weight: 800; margin: 2px 0; }
.wday .pd { font-size: 11px; color: var(--mut); font-weight: 800; }
.wday .pd.on { color: var(--ak-deep); }
/* fonas = dienos kokybė (ta pati skalė kaip kalendoriuje) */
.wday.q-great { background: #FBF3DE; border-color: #EEDCB0; }
.wday.q-good { background: #F2F5EE; border-color: #DCE5D4; }
.wday.q-care { background: #F9EFEC; border-color: #EBD3C7; }

/* ---------- playing card (SVG: cream + gold frame, real pip layout) ---------- */
.pcard {
  width: 136px; height: 199px; border-radius: 13px;
  box-shadow: var(--shadow);
  position: relative; flex-shrink: 0;
}
.pcard svg { display: block; width: 100%; height: 100%; }
.pcard.sm { width: 68px; height: 99px; border-radius: 7px; }

/* card chip (related people) */
.cchip {
  display: inline-flex; align-items: center; gap: 7px;
  border: 1px solid var(--line); background: #FFFDF9; border-radius: 11px;
  padding: 6px 11px 6px 8px; font-size: 13px; font-weight: 800; cursor: pointer;
  transition: transform .12s, box-shadow .12s, border-color .12s;
}
.cchip:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); border-color: var(--ak-light); }
.cchip .sym { font-size: 15px; }
.cchip.red .sym { color: var(--red-suit); }
.cchip .nm { color: var(--ink-3); font-weight: 700; font-size: 12px; }

/* ---------- attribute blocks (value + explanation) ---------- */
.attr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.attr {
  background: transparent; border-radius: 0;
  border-left: 2px solid rgba(201, 162, 75, .38);
  padding: 4px 0 6px 16px;
}
.attr-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.attr-k { font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--mut); font-weight: 800; }
.attr-v {
  font-family: 'Caveat', cursive; font-weight: 600;
  font-size: 22px; line-height: 1.15; color: var(--ink); text-align: right;
}
.attr-x { font-size: 13px; color: var(--ink-3); margin-top: 6px; line-height: 1.55; }
.attr-grid.cols3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 900px) { .attr-grid.cols3 { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .attr-grid { grid-template-columns: 1fr; } }

/* ---------- info table ---------- */
.info-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-top: 14px; }
.info-cell { background: var(--wash); border-radius: var(--r-sm); padding: 11px 14px; }
.info-cell .k { font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--mut); font-weight: 800; }
.info-cell .v { font-size: 14px; font-weight: 700; margin-top: 3px; color: var(--ink-2); }

.long-text { color: var(--ink-2); font-size: 14.5px; line-height: 1.65; margin-top: 10px; }
.pill-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pill-list .pl {
  background: #FFFDF9; border: 1px solid var(--line); color: var(--ink-2);
  border-radius: 999px; padding: 5px 13px; font-size: 12.5px; font-weight: 700;
}
ul.dashlist { margin: 10px 0 0; padding-left: 0; list-style: none; }
ul.dashlist li {
  position: relative; padding: 6px 0 6px 22px; color: var(--ink-2); font-size: 14px;
  border-bottom: 1px dashed var(--line-soft);
}
ul.dashlist li:last-child { border-bottom: 0; }
ul.dashlist li::before { content: '✦'; position: absolute; left: 2px; color: var(--ak-light); font-size: 11px; top: 9px; }

/* section tabs */
.tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 18px; }
.tab-btn {
  border: 1px solid var(--line); background: var(--card); color: var(--ink-3);
  border-radius: 999px; padding: 8px 18px; font-size: 13.5px; font-weight: 800;
}
.tab-btn.on { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---------- zodiac ---------- */
.zod-head { display: flex; align-items: center; gap: 20px; }
.zod-glyph {
  width: 84px; height: 84px; border-radius: 50%; flex-shrink: 0;
  background: radial-gradient(circle at 30% 25%, #fff, var(--ak-soft));
  border: 1.5px solid var(--ak-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 40px; color: var(--ak-deep); box-shadow: var(--shadow-sm);
}
.zod-glyph.moon { background: radial-gradient(circle at 30% 25%, #fff, var(--ak-soft)); border-color: var(--ak-light); color: var(--ak-deep); } /* brand paletė kaip visų glifų (buvo šalta pilkai violetinė) */

/* ---------- compatibility ---------- */
.compat-vs { display: flex; align-items: center; justify-content: center; gap: 26px; margin: 10px 0 4px; flex-wrap: wrap; }
.compat-person { text-align: center; }
.compat-person .who { font-weight: 800; margin-top: 10px; font-size: 15px; }
.compat-person .meta { color: var(--mut); font-size: 12.5px; }
.compat-heart { font-size: 30px; color: var(--ak); animation: floaty 3.4s ease-in-out infinite; }
.score-ring { position: relative; width: 128px; height: 128px; margin: 0 auto; }
.score-ring svg { transform: rotate(-90deg); }
.score-ring .val {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 30px; font-weight: 800; color: var(--ak-deep);
}
.layer-row {
  display: flex; justify-content: space-between; gap: 14px; align-items: baseline;
  padding: 9px 0; border-bottom: 1px dashed var(--line-soft); font-size: 14px;
}
.layer-row:last-child { border-bottom: 0; }
.layer-row .lk { color: var(--ink-2); font-weight: 700; }
.layer-row .lv { color: var(--ak-deep); font-weight: 800; white-space: nowrap; }

/* ---------- relationship circles ---------- */
.circle-stage { display: flex; justify-content: center; overflow: hidden; }
.circle-canvas { position: relative; width: 780px; height: 780px; flex-shrink: 0; }
.cring {
  position: absolute; border: 1.5px dashed #E3D7BE; border-radius: 50%;
  transform: translate(-50%, -50%); pointer-events: none;
}
/* žiedo pavadinimas — kapsulė virš žiedo linijos, visada viršuje (ratas su daug žmonių, 2026-09-13); padėtis iš variklio */
.cring-label {
  position: absolute; transform: translate(-50%, -50%);
  background: #FFFDF6; border: 1px solid #EBDFC6; border-radius: 999px;
  padding: 4px 14px; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; line-height: 1.2;
  text-transform: uppercase; color: #B9A276; white-space: nowrap; z-index: 8; pointer-events: none;
}
/* „+N“ pumpuras šalia žiedo pavadinimo: sulankstyti žmonės → juosta po ratu */
.cring-bud {
  position: absolute; transform: translate(-50%, -50%); z-index: 8; height: 22px; padding: 0 9px; border-radius: 999px;
  border: 1.5px dashed #C9A24B; background: #FFFDF6; color: #A6812E; font: 800 11px/19px 'Nunito Sans', sans-serif; cursor: pointer; white-space: nowrap;
}
.cring-bud:hover { background: #FBF3DC; }
.cring-bud.on { border-style: solid; background: #C9A24B; color: #fff; }
.cnode {
  position: absolute; transform: translateX(-50%);
  width: 96px; text-align: center; cursor: pointer; z-index: 4;
  transition: transform .15s;
}
.cnode:hover { transform: translateX(-50%) scale(1.08); z-index: 7; }
.cavatar {
  position: relative; width: 54px; height: 54px; margin: 0 auto;
  border-radius: 50%; border: 2.5px solid #E0D3B8;
  background: radial-gradient(circle at 32% 28%, #FFFDF6, #F3E9D2);
  box-shadow: 0 3px 10px rgba(90, 74, 58, .10);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Caveat', cursive; font-size: 31px; font-weight: 700;
  color: #9C5A3F; line-height: 1;
}
.cnode.v-good .cavatar { border-color: #8FA983; box-shadow: 0 3px 10px rgba(120, 150, 110, .25); }
.cnode.v-warn .cavatar { border-color: #C98B76; box-shadow: 0 3px 10px rgba(190, 120, 95, .25); }
.cavatar .win {
  position: absolute; top: -4px; right: -4px; width: 13px; height: 13px;
  border-radius: 50%; background: #D9A441; border: 2px solid #FDFAF3;
}
.cavatar .kmark {
  position: absolute; top: -5px; left: -5px; width: 17px; height: 17px;
  border-radius: 50%; background: #9C5A3F; color: #FBF8F2;
  border: 2px solid #FDFAF3; font-size: 9px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Nunito Sans', sans-serif;
}
.circle-legend .kml {
  display: inline-flex; width: 15px; height: 15px; border-radius: 50%;
  background: #9C5A3F; color: #FBF8F2; font-size: 8px;
  align-items: center; justify-content: center; margin-right: 6px; vertical-align: -3px;
}
.cavatar.me {
  width: 66px; height: 66px; font-size: 38px; color: #FBF8F2;
  background: radial-gradient(circle at 32% 28%, #C4795A, #9C5A3F);
  border-color: #8A4E36; box-shadow: 0 6px 16px rgba(156, 90, 63, .30);
}
.cnode-name {
  font-size: 13px; font-weight: 800; color: var(--ink); margin-top: 6px;
  line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cnode-rel { font-size: 10.5px; color: var(--mut); line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cnode-pct { font-size: 12px; font-weight: 800; color: #C08A2D; margin-top: 1px; }
.cnode-pct.v-good { color: #6E8F63; }
.cnode-pct.v-warn { color: #B4694F; }
/* ratas be Scriptum+ (variantas A, 2026-09-13): užrakinti pritemę, be tonų; atverti — auksinis apvadas; filtrai su ✦ → Scriptum+ */
.cnode.locked, .cs-chip.locked { opacity: .45; }
.cnode.locked .cavatar, .cs-chip.locked .cavatar { border-style: dashed; border-color: #B9BFCF; background: #EEF0F5; color: #8A93AA; box-shadow: none; }
.cnode.locked .cnode-name, .cs-chip.locked .cnode-name { color: var(--mut); font-weight: 700; }
.cnode.open .cavatar { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #E6CB86, 0 3px 10px rgba(90, 74, 58, .12); }
.cfl.lk { color: var(--mut); }
.cfl.lk .st { color: #A6812E; font-weight: 800; margin-left: 2px; }
.cir-locked { margin: 6px auto 0; max-width: 560px; }
.cnode.center { cursor: default; z-index: 5; }
.cnode.center:hover { transform: translateX(-50%); }
/* dydžio klasės pagal matomų žmonių skaičių (2026-09-13): cs0 ≤12 — kaip anksčiau (vardas, ryšys, tonas);
   toliau mažėja kamuoliukas ir raidė, VARDAS lieka visada (ilgas jau sutrumpintas variklyje) */
.circle-canvas.cs1 .cnode { width: 84px; }
.circle-canvas.cs1 .cavatar { width: 44px; height: 44px; font-size: 25px; }
.circle-canvas.cs1 .cnode-name { font-size: 12px; margin-top: 4px; }
.circle-canvas.cs2 .cnode { width: 72px; }
.circle-canvas.cs2 .cavatar { width: 36px; height: 36px; font-size: 20px; border-width: 2px; }
.circle-canvas.cs2 .cnode-name { font-size: 10.5px; margin-top: 3px; }
.circle-canvas.cs3 .cnode { width: 62px; }
.circle-canvas.cs3 .cavatar { width: 30px; height: 30px; font-size: 17px; border-width: 2px; }
.circle-canvas.cs3 .cnode-name { font-size: 9.5px; margin-top: 3px; }
.circle-canvas.cs2 .cavatar .kmark, .circle-canvas.cs3 .cavatar .kmark { width: 13px; height: 13px; font-size: 7px; top: -4px; left: -4px; }
.circle-canvas.cs2 .cavatar .win, .circle-canvas.cs3 .cavatar .win { width: 10px; height: 10px; top: -3px; right: -3px; }
.circle-stage.busy .circle-canvas { opacity: .55; transition: opacity .2s; }
/* filtrų žetonai (buvusi legenda — tie patys ženklai, dabar spaudžiami, su skaičiais) + vardo paieška */
.circle-legend.cfl-bar { gap: 6px 8px; align-items: center; margin-bottom: 8px; }
.cfl {
  display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: var(--card); border-radius: 999px;
  padding: 5px 11px; font: 700 12px 'Nunito Sans', sans-serif; color: var(--ink-3); cursor: pointer; line-height: 1.2;
}
.cfl b { color: var(--mut); font-weight: 800; }
.cfl:hover { border-color: #C9A24B; }
.cfl.on { background: #A6812E; border-color: #A6812E; color: #fff; }
.cfl.on b { color: rgba(255, 255, 255, .8); }
.cfl .sw, .cfl .kml, .cfl .dotw { margin-right: 0; }
.cfl-search { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--line); border-radius: 999px; padding: 3px 8px 3px 10px; background: var(--card); }
.cfl-search .ico { color: var(--mut); font-size: 15px; line-height: 1; }
.cfl-search.on { border-color: #C9A24B; }
.cfl-q { border: 0; background: transparent; font: 700 12px 'Nunito Sans', sans-serif; color: var(--ink); width: 118px; outline: none; }
.cfl-q::placeholder { color: var(--mut); font-weight: 600; }
/* atidaryto pumpuro juosta po ratu */
.cir-strip { max-width: 780px; margin: 8px auto 0; background: var(--wash); border-radius: 16px; padding: 10px 12px; }
.cs-head { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mut); margin-bottom: 6px; }
.cs-row { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.cs-chip { flex: 0 0 auto; width: 88px; text-align: center; cursor: pointer; background: var(--card); border-radius: 14px; padding: 8px 4px 7px; }
.cs-chip:hover { box-shadow: 0 3px 10px rgba(90, 74, 58, .12); }
.cs-chip .cavatar { width: 40px; height: 40px; font-size: 22px; }
.cs-chip .cnode-name { font-size: 11.5px; margin-top: 4px; }
.cs-chip.v-good .cavatar { border-color: #8FA983; }
.cs-chip.v-warn .cavatar { border-color: #C98B76; }
.cir-none { text-align: center; font-size: 13px; color: var(--ink-3); margin: 4px 0 6px; }
.cir-none button { border: 0; background: transparent; font: inherit; font-weight: 800; color: #A6812E; cursor: pointer; padding: 0; text-decoration: underline; }
/* card badge — used in the person modal */
.cnode-card { position: relative; display: inline-block; border-radius: 11px; padding: 2px; border: 2px solid transparent; }
.cnode-card.v-good { border-color: #8FA983; }
.cnode-card.v-warn { border-color: #C98B76; }
.cnode-card .win {
  position: absolute; top: -5px; left: -5px; width: 12px; height: 12px;
  border-radius: 50%; background: #D9A441; border: 2px solid #FDFAF3; z-index: 5;
}
.circle-legend {
  display: flex; justify-content: center; gap: 22px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--ink-3); margin-bottom: 4px;
}
.circle-legend .sw {
  display: inline-block; width: 14px; height: 14px; border-radius: 50%;
  border: 2.5px solid; margin-right: 6px; vertical-align: -2px; background: #FCF8EE;
}
.circle-legend .dotw {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  background: #D9A441; margin-right: 6px;
}
@media (max-width: 1180px) {
  .circle-canvas { transform: scale(.8); transform-origin: top center; margin-bottom: -156px; }
}
@media (max-width: 900px) {
  .circle-canvas { transform: scale(.66); transform-origin: top center; margin-bottom: -265px; }
}
@media (max-width: 560px) {
  .circle-canvas { transform: scale(.45); margin-bottom: -428px; }
}

/* ---------- onboarding — įžangos kelionė ---------- */
.ob-wrap {
  min-height: 100vh; display: flex; flex-direction: column;
  align-items: center; justify-content: center; padding: 40px 16px;
  position: relative; overflow: hidden;
}
.ob-stage {
  width: 100%; max-width: 1020px; display: flex; justify-content: center;
  animation: pageTurn .6s cubic-bezier(.2, .7, .3, 1) both;
  transform-origin: left center;
}
.ob-intro { text-align: center; max-width: 580px; padding: 20px 0; }
.ob-intro .t { font-size: 60px; color: var(--ink-2); margin-bottom: 22px; animation: fadeUp .8s ease both; }
.ob-line {
  font-size: 15.5px; line-height: 1.85; color: var(--ink-3);
  margin: 15px 0; opacity: 0; animation: fadeUp .9s ease both;
}
.ob-line.accent { font-size: 27px; color: var(--ak-deep); margin-top: 24px; }
/* — knyga per StPageFlip: kiekvienas lapas — atskiras popieriaus puslapis — */
.ob-stage.isbook { display: block; }
.ob-bookwrap { width: 100%; }
.ob-bookwrap .stf__parent { margin: 0 auto; }
.ob-pfpage {
  background: #FDFAF3; border: 1px solid #EFE6D5; border-radius: 4px;
  padding: 36px 42px 24px; overflow: hidden;
  box-shadow: 0 16px 34px rgba(90, 74, 58, .13);
}
.ob-pin { height: 100%; min-height: 0; display: flex; flex-direction: column; overflow-y: auto; }
.ob-pfpage.pgL { border-radius: 14px 4px 4px 14px; }
.ob-pfpage.pgR { border-radius: 4px 14px 14px 4px; }
/* nugarėlės šešėlis vidiniame lapo krašte */
.ob-pfpage.pgL::after, .ob-pfpage.pgR::before {
  content: ''; position: absolute; top: 0; bottom: 0; width: 26px; pointer-events: none;
}
.ob-pfpage.pgL::after { right: 0; background: linear-gradient(90deg, rgba(122, 100, 78, 0), rgba(122, 100, 78, .1)); }
.ob-pfpage.pgR::before { left: 0; background: linear-gradient(90deg, rgba(122, 100, 78, .1), rgba(122, 100, 78, 0)); }
/* kieti viršeliai */
.ob-pfpage.ob-cover-pg {
  padding: 42px 34px 30px; border-radius: 8px;
  background: #FBF6EA; border-color: #EBDFC8;
}
.ob-cover-pg .ob-pin { align-items: center; text-align: center; justify-content: space-between; }
.ob-pfpage.ob-cover-pg::after {
  content: ''; position: absolute; inset: 14px; pointer-events: none;
  border: 1px solid #E6DCC9; border-radius: 6px;
}
.ob-cv-brand { font-size: 16px; font-weight: 800; letter-spacing: .38em; color: var(--mut); margin-top: 16px; }
.ob-cv-mid { margin: 24px 0; }
.ob-cv-name { font-size: 64px; color: var(--ink); line-height: 1.12; }
.ob-cv-meta { font-size: 16px; color: var(--ink-3); margin-top: 10px; }
.ob-cv-foot { font-size: 11px; font-weight: 800; letter-spacing: .3em; color: #CFC4B2; margin-bottom: 8px; }
@media (max-height: 820px) {
  .ob-cv-name { font-size: 52px; }
}
.ob-pgno { margin-top: auto; text-align: center; font-size: 10.5px; letter-spacing: .22em; color: #CFC4B2; padding-top: 16px; }
.ob-numrow { display: flex; gap: 13px; align-items: center; margin: 11px 0; }
.ob-numrow .nb {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  border: 1.5px solid var(--ak-light); background: #FFFDF6;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 16px; color: var(--ak-deep);
}
.ob-ctrl { display: flex; gap: 18px; align-items: center; margin-top: 28px; animation: fadeUp .8s .3s ease both; }
.ob-dots { display: flex; gap: 8px; }
.ob-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line); transition: background .2s; }
.ob-dot.on { background: var(--ak); }
.ob-skip {
  position: absolute; top: 22px; right: 26px; background: none; border: none;
  color: var(--mut); font-size: 12.5px; font-weight: 700; z-index: 5;
}
.ob-skip:hover { color: var(--ak-deep); }
@media (max-width: 760px) {
  .ob-pfpage { padding: 26px 22px 16px; }
  .ob-pfpage.ob-cover-pg { padding: 34px 24px 24px; }
  .ob-cv-name { font-size: 44px; }
  .ob-intro .t { font-size: 46px; }
}

/* ---------- reports (AI analizės) ---------- */
.rep-pick { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
/* naujos analizės konstruktorius — sekcijos ir grupuoti žmonės */
.rb-head { display: flex; justify-content: space-between; align-items: center; }
.rb-x {
  width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--card); color: var(--ink-3); font-size: 15px; cursor: pointer;
  transition: background .18s, color .18s;
}
.rb-x:hover { background: var(--ak-soft); color: var(--ak-deep); }
.rb-grp { display: flex; gap: 14px; align-items: flex-start; margin-top: 10px; }
.rb-glabel {
  flex: 0 0 86px; font-size: 10.5px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--mut-2); padding-top: 10px; text-align: right;
}
.rb-desc { font-size: 13px; color: var(--ink-3); margin: 8px 0 0; }
@media (max-width: 640px) {
  .rb-grp { flex-direction: column; gap: 4px; }
  .rb-glabel { flex: none; padding-top: 0; text-align: left; }
}
.rep-pill {
  border: 1.5px solid var(--line); border-radius: 999px; padding: 9px 18px;
  background: #FFFDF6; font-weight: 800; font-size: 13.5px; color: var(--ink-2);
  cursor: pointer; font-family: inherit; transition: all .15s; text-align: left;
}
.rep-pill:hover { border-color: var(--ak-light); }
.rep-pill.on { background: var(--ak); border-color: var(--ak); color: #FFFDF6; }
.rep-pill.on .rp-sub { color: rgba(255, 253, 246, .75); }
.rep-pill.dash { border-style: dashed; color: var(--mut); font-weight: 700; }
.rep-pill .rp-sub { font-weight: 600; font-size: 11.5px; color: var(--mut); margin-left: 4px; }
.rep-item {
  display: flex; align-items: center; gap: 14px; padding: 14px 6px;
  border-bottom: 1px solid var(--line-soft);
}
.rep-item:last-child { border-bottom: 0; }
.rep-ic {
  width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  background: radial-gradient(circle at 32% 28%, #FFFDF6, #F3E9D2);
  border: 1.5px solid #E0D3B8; color: var(--ak-deep);
  display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.rep-mid { flex: 1; min-width: 0; }
.rep-name { font-weight: 800; font-size: 14.5px; color: var(--ink); overflow-wrap: anywhere; }
.rep-meta { font-size: 12px; color: var(--mut); margin-top: 2px; }
.rep-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
@media (max-width: 640px) {
  .rep-item { flex-wrap: wrap; }
  .rep-actions { flex-basis: 100%; justify-content: flex-end; margin-top: 2px; }
}
.repgen-bar { height: 7px; background: var(--wash); border-radius: 999px; overflow: hidden; }
.repgen-fill { height: 100%; background: var(--ak); border-radius: 999px; transition: width .5s ease; }
.spin { display: inline-block; animation: spinSlow 1.6s linear infinite; }

/* firminis krovimosi ženklas: pulsuojanti auksinė plunksna + besisukanti ✦ */
.brand-load .bl-wrap { position: relative; width: 72px; height: 72px; margin: 0 auto 12px; }
.brand-load .bl-logo { width: 100%; height: 100%; object-fit: contain;
  filter: drop-shadow(0 0 16px rgba(201, 162, 75, .5));
  animation: blBreath 2.6s ease-in-out infinite; }
.brand-load .bl-star { position: absolute; right: -13px; bottom: -2px;
  color: var(--ak-deep); font-size: 16px; line-height: 1;
  animation: spinSlow 2.4s linear infinite; }
@keyframes blBreath {
  0%, 100% { transform: scale(.94); opacity: .7; }
  50% { transform: scale(1.05); opacity: 1; }
}
/* didžioji generavimo scena */
.repgen { padding: 26px 10px 18px; }
.repgen-orb {
  position: relative; width: 128px; height: 128px; margin: 0 auto 18px;
  border: 1.5px dashed #E3D7BE; border-radius: 50%;
}
.repgen-orb .q {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 44px; color: var(--ak-deep); animation: floaty 3s ease-in-out infinite;
}
.repgen-orb i {
  position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; margin: -5.5px;
  border-radius: 50%; background: var(--ak); opacity: .85;
  animation: orbCirc 2.8s linear infinite;
}
.repgen-orb i:nth-child(3) { animation-delay: -0.93s; background: #C08A2D; }
.repgen-orb i:nth-child(4) { animation-delay: -1.87s; background: #8FA983; }
@keyframes orbCirc {
  from { transform: rotate(0deg) translateX(64px); }
  to { transform: rotate(360deg) translateX(64px); }
}
.repgen-title { text-align: center; font-size: 32px; color: var(--ink-2); margin-bottom: 16px; }
.repgen-steps { max-width: 460px; margin: 0 auto; }
.gstep {
  display: flex; align-items: center; gap: 12px; padding: 9px 14px;
  border-radius: 10px; font-size: 13.5px; font-weight: 700; color: var(--mut);
}
.gstep .gs-ic { width: 20px; text-align: center; flex-shrink: 0; }
.gstep.done { color: #6E8F63; }
.gstep.now { background: var(--wash); color: var(--ink); }
.gstep.err { background: #F9EFEC; color: #B4694F; }
/* plaukiojantis fono generavimo ženkliukas */
.genpill {
  position: fixed; right: 22px; bottom: 22px; z-index: 90;
  background: #FFFDF6; border: 1.5px solid var(--ak-light); border-radius: 999px;
  padding: 11px 20px; font-size: 13px; font-weight: 800; color: var(--ink-2);
  box-shadow: 0 8px 26px rgba(90, 74, 58, .18); cursor: pointer; max-width: 340px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  animation: pop .3s ease both;
}
.genpill:hover { box-shadow: 0 10px 30px rgba(90, 74, 58, .26); }
.genpill.done { background: #F2F5EE; border-color: #8FA983; color: #55703F; }
.genpill.err { background: #F9EFEC; border-color: #C98B76; color: #B4694F; }
.report-body { max-width: 860px; }
.report-body h3 {
  font-family: 'Caveat', cursive; font-size: 27px; font-weight: 700;
  color: var(--ink-2); margin: 22px 0 8px; line-height: 1.2;
}
.report-body h3:first-child { margin-top: 4px; }
.report-body p { font-size: 14.5px; line-height: 1.8; color: var(--ink-2); margin: 9px 0; }
.report-body ul { margin: 9px 0 9px 20px; }
.report-body li { font-size: 14.5px; line-height: 1.75; color: var(--ink-2); margin: 4px 0; }
.report-body .callout {
  background: var(--wash); border-left: 3px solid var(--ak);
  border-radius: 0 12px 12px 0; padding: 13px 17px; margin: 13px 0;
  font-size: 13.8px; line-height: 1.75; color: var(--ink-3);
}
.report-body .callout b { color: var(--ak-deep); }
.rep-tblwrap { overflow-x: auto; margin: 12px 0; }
.report-body table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.report-body th {
  text-align: left; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--mut); font-weight: 800; padding: 8px 10px; border-bottom: 1.5px solid var(--line);
}
.report-body td { padding: 9px 10px; border-bottom: 1px solid var(--line-soft); vertical-align: top; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 640px) {
  /* mobiliame stulpeliai nesusispaudžia iki neįskaitomumo — lentelė slenkama,
     o paskutinis (patarimų) stulpelis išlaiko skaitomą plotį */
  .report-body table { font-size: 12.5px; }
  .report-body th, .report-body td { padding: 8px 8px; }
  .report-body td { min-width: 72px; }
  .report-body td:last-child { min-width: 180px; }
}

/* ---------- ataskaitos rodinys v2 (2026-09-03): ranka rašytų prototipų dizainas ---------- */
.rep-head { margin-bottom: 4px; }
.rep-head .rep-kicker { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; font-weight: 800; color: var(--mut); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rep-head .rep-kicker .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ak); display: inline-block; }
.rep-head .rep-title { font-family: 'Caveat', cursive; font-weight: 700; font-size: 46px; line-height: 1.1; margin: 6px 0 4px; color: var(--ink); }
.rep-head .rep-title .amp { color: var(--ak); }
.rep-head .rep-sub { color: var(--mut); font-size: 14px; }
.report-body p.lead { font-size: 16.5px; color: var(--ink); line-height: 1.7; }
.report-body h4 { font-size: 14.5px; font-weight: 800; letter-spacing: .02em; color: var(--ink); margin: 18px 0 6px; }
.report-body li b { color: var(--ink); }
.report-body.rb-v2 { counter-reset: rs; }
.report-body.rb-v2 > h3 { counter-increment: rs; font-size: 30px; color: var(--ink); margin: 30px 0 8px; }
.report-body.rb-v2 > h3::before { content: counter(rs); color: var(--ak); margin-right: 9px; }
.report-body.rb-v2 > h3:first-child { margin-top: 4px; }
.report-body.rb-v2 > h3.sub { counter-increment: none; font-family: 'Nunito Sans', system-ui, sans-serif; font-size: 14.5px; font-weight: 800; letter-spacing: .02em; color: var(--ink); margin: 20px 0 6px; }
.report-body.rb-v2 > h3.sub::before { content: none; }
.report-body .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 12px 0 6px; }
.report-body .box { border-radius: 14px; padding: 14px 16px; border-left: 3px solid var(--ak); background: var(--wash); }
.report-body .box h4 { margin: 0 0 6px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ak-deep); font-weight: 800; }
.report-body .box p { margin: 0; font-size: 14px; }
.report-body p.quote { font-family: 'Caveat', cursive; font-size: 25px; color: var(--ak-deep); margin: 16px 0 6px; line-height: 1.3; font-weight: 600; }
.report-body p.quote b { font-weight: 600; color: var(--ak-deep); }
.report-body ul.steps { counter-reset: st; list-style: none; padding: 0; margin: 8px 0 12px; }
.report-body ul.steps li { counter-increment: st; position: relative; padding-left: 38px; margin: 10px 0; }
.report-body ul.steps li::before { content: counter(st); position: absolute; left: 0; top: 3px; width: 26px; height: 26px; border-radius: 50%; background: var(--ak); color: #fff; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.report-body .basis { font-size: 13px; color: var(--mut); border-top: 1px solid var(--line); padding-top: 14px; margin-top: 30px; line-height: 1.65; }
.report-body .basis b { color: var(--ink-3); }
.report-body .basis p { font-size: 13px; color: var(--mut); margin: 4px 0; }
@media (max-width: 640px) {
  .report-body .grid2 { grid-template-columns: 1fr; }
  .rep-head .rep-title { font-size: 38px; }
  .report-body.rb-v2 > h3 { font-size: 26px; }
}

/* ---------- calendar ---------- */
.cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cal-head .cm { font-size: 24px; font-weight: 800; }
.cal-nav { display: flex; gap: 6px; }
.cal-nav button {
  width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--card); font-size: 17px; color: var(--ink-2);
}
.cal-nav button:hover { background: var(--wash); }
.cal-nav button { position: relative; }
.cal-nav button.lockp { color: var(--mut); }
.cal-nav button.lockp::after { content: '✦'; position: absolute; top: -4px; right: -3px; font-size: 10px; color: var(--ak-deep); }
.cal-nav .cal-today { width: auto; border-radius: 999px; padding: 0 16px; font-size: 13px; font-weight: 800; }
/* savaitės juosta: 7 dienos, braukiama arba perjungiama rodyklėmis */
.calw-strip { display: flex; gap: 10px; margin: 2px 0 4px; touch-action: pan-y; }
.calw-day {
  flex: 1; min-width: 0; text-align: center;
  border: 1px solid var(--line-soft); border-radius: 16px; background: #FFFDF9;
  padding: 12px 4px 10px; cursor: pointer;
  transition: box-shadow .12s, transform .12s;
}
.calw-day:hover { box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.calw-day .dn { font-size: 11px; color: var(--mut); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.calw-day .dd { font-size: 22px; font-weight: 800; margin: 3px 0 1px; }
.calw-day .pdn { font-size: 11.5px; font-weight: 800; color: var(--mut); }
.calw-day .pdn.on { color: var(--ak-deep); }
.calw-day .marks { min-height: 16px; margin-top: 3px; font-size: 11px; line-height: 16px; }
/* fonas = dienos kokybė (mėnulio dienos lygis): auksinis / žalsvas / baltas / rausvas */
.calw-day.q-great { background: #FBF3DE; border-color: #EEDCB0; }
.calw-day.q-good { background: #F2F5EE; border-color: #DCE5D4; }
.calw-day.q-care { background: #F9EFEC; border-color: #EBD3C7; }
/* šiandien = auksinis skaičius (be rėmelio), pasirinkta = užpildytas skritulys +
   auksinis rėmelis; abu kartu = auksinis skritulys (kaip Apple kalendoriuje) */
.calw-day .dd { width: 32px; height: 32px; line-height: 32px; border-radius: 50%; margin: 3px auto 1px; }
.calw-day.today .dn, .calw-day.today .dd { color: var(--ak-deep); }
.calw-day.today .dd { box-shadow: inset 0 0 0 2px var(--ak-deep); }
.calw-day.today::after { content: attr(data-today); display: block; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ak-deep); margin-top: 3px; }
.calw-day.sel { outline: 2.5px solid var(--ak-deep); outline-offset: -1px; }
.calw-day.sel .dd { background: var(--ink); color: #fff; }
.calw-day.sel.today .dd { background: var(--ak-deep); color: #fff; }
@media (max-width: 640px) {
  .calw-strip { gap: 6px; }
  .calw-day { padding: 9px 2px 8px; border-radius: 12px; }
  .calw-day .dd { font-size: 17px; }
  .cal-head { flex-wrap: wrap; gap: 8px; }
  .cal-head .cm { font-size: 19px; }
}
.cal-legend { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 14px; font-size: 12.5px; color: var(--ink-3); }
.cal-legend .sw { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-right: 6px; vertical-align: -1px; }
/* moon-day tier marks (week cells + legend) */
.calw-day .mday { font-size: 11px; }
.calw-day .mday.t-good, .calw-day .mday.t-care { font-size: 9px; }
.mleg { margin-right: 5px; font-size: 11px; }
.mleg.t-good, .mleg.t-care { font-size: 9px; }
.t-great { color: #C08A2D; }
.t-good { color: #8FA983; }
.t-care { color: #C4795A; }
/* "today with this person" level pill (circles modal) */
.pt-lvl {
  display: inline-block; font-weight: 800; font-size: 12px;
  padding: 2px 11px; border-radius: 999px; margin-right: 4px;
}
.pt-lvl.pt-good { background: #F2F5EE; color: #6E8F63; }
.pt-lvl.pt-mid { background: #F4EFE4; color: #8A7B66; }
.pt-lvl.pt-care { background: #F9EFEC; color: #B4694F; }

/* ---------- people day tones (dashboard / calendar / person modal) ---------- */
.tdot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-right: 6px; vertical-align: 1px; flex-shrink: 0;
}
.tdot.good { background: #8FA983; }
.tdot.mid { background: #CBBFA6; }
.tdot.care { background: #C98B76; }
.tone-row {
  display: flex; align-items: baseline; gap: 10px 14px; padding: 10px 0;
  border-bottom: 1px dashed var(--line-soft); flex-wrap: wrap;
}
.tone-row:last-child { border-bottom: 0; padding-bottom: 2px; }
.tone-row .pt-lvl { flex-shrink: 0; margin-right: 0; }
.tone-people { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; min-width: 220px; }
.pchip {
  display: inline-flex; align-items: center;
  background: #FFFDF9; border: 1px solid var(--line-soft); border-radius: 999px;
  padding: 5px 13px 5px 11px; font-size: 12.5px; font-weight: 800; color: var(--ink-2);
  cursor: pointer; transition: box-shadow .18s ease, transform .18s ease;
}
.pchip:hover { box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.pchip .rel { color: var(--mut); font-weight: 700; margin-left: 4px; }
.pchip.on { background: var(--ak-deep); border-color: var(--ak-deep); color: #fff; }
.pchip.on .rel { color: rgba(255, 255, 255, .75); }
/* person modal week strip: tone-tinted cells, today outlined */
.wday.tone-good { background: #E3EDDB; border-color: #AFC79E; }
.wday.tone-mid { background: #F3F1EC; border-color: var(--line); }
.wday.tone-care { background: #F4DDD3; border-color: #D9A88F; }
.wday.wtoday { outline: 2px solid var(--ak-deep); outline-offset: -1px; }
.week-strip .wday[data-goday] { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.week-strip .wday[data-goday]:hover { transform: translateY(-2px); box-shadow: 0 8px 18px -10px rgba(37, 44, 63, .35); }
a.link-more[data-goday] { cursor: pointer; }
.tm-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* gimimo žemėlapio skaitymo gidas */
.nat-how { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px 20px; margin-top: 14px; }
.nat-how .nh { display: flex; gap: 11px; align-items: flex-start; }
.nat-how .nh span { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%;
  background: #F5EDD5; border: 1px solid #E8D9AB; color: var(--ak-deep);
  display: flex; align-items: center; justify-content: center; font-size: 14px; }
.nat-how .nh p { margin: 1px 0 0; font-size: 13px; color: var(--ink-3); line-height: 1.6; }

/* artimiausių Mėnulio fazių juosta pagrindiniame */
.moon-next { display: flex; gap: 6px; }
.mn-item { flex: 1; min-width: 0; text-align: center; background: #FFFDF9;
  border: 1px solid var(--line-soft); border-radius: 12px; padding: 10px 3px 8px; }
.mn-item .mn-g { font-size: 20px; display: block; line-height: 1.2; }
.mn-item b { display: block; font-size: 12px; color: var(--ink); margin-top: 3px; }
.mn-item small { display: block; font-size: 9.5px; color: var(--mut); line-height: 1.25; margin-top: 2px; }
.wday .tn { margin-top: 3px; }
.wday .tn .tdot { margin-right: 0; }
/* calendar cell dot: person tone on that day (marks row) */
.calw-day .pdot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-left: 4px; vertical-align: 1px;
}
.calw-day .pdot.good { background: #8FA983; }
.calw-day .pdot.care { background: #C98B76; }

/* ---------- profile ---------- */
.avatar {
  width: 74px; height: 74px; border-radius: 50%;
  background: var(--ak-deep); color: #fff; font-size: 30px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.prof-head { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.kv-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed var(--line-soft); font-size: 14px; }
.kv-row .k { color: var(--mut); font-weight: 700; }
.kv-row .v { font-weight: 800; color: var(--ink-2); text-align: right; }

/* ---------- modal ---------- */
.modal-bg {
  position: fixed; inset: 0; background: rgba(60, 50, 44, .45); z-index: 90;
  display: none; align-items: center; justify-content: center; padding: 24px;
  backdrop-filter: blur(3px);
}
.modal-bg.show { display: flex; }
.modal {
  background: var(--card); border-radius: 24px; box-shadow: var(--shadow);
  max-width: 620px; width: 100%; max-height: 86vh; overflow-y: auto;
  padding: 30px 32px; animation: pop .3s ease both; position: relative;
}
.modal-x {
  position: absolute; top: 14px; right: 16px; border: 0; background: var(--wash);
  width: 34px; height: 34px; border-radius: 50%; font-size: 16px; color: var(--ink-3);
}
.modal-x:hover { background: var(--ak-soft); color: var(--ak-deep); }

/* ---------- misc ---------- */
.note {
  background: #FDF6EC; border: 1px solid #F0E3CC; color: #8A6D3B;
  font-size: 12.5px; border-radius: var(--r-sm); padding: 8px 13px; margin-top: 10px;
}
.divider { height: 1px; background: var(--line-soft); margin: 20px 0; border: 0; }
.mt0 { margin-top: 0; } .mt10 { margin-top: 10px; } .mt16 { margin-top: 16px; } .mt24 { margin-top: 24px; }
.muted { color: var(--mut); }
.small { font-size: 12.5px; }
.spin {
  display: inline-block; width: 16px; height: 16px; border-radius: 50%;
  border: 2.5px solid rgba(255,255,255,.4); border-top-color: #fff;
  animation: spinSlow .7s linear infinite; vertical-align: -3px;
}
.empty-view { text-align: center; color: var(--mut); padding: 46px 0; }
.empty-view .big { font-size: 42px; margin-bottom: 10px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1020px) {
  .col-8, .col-7, .col-6, .col-5, .col-4, .col-3 { grid-column: span 12; }
  .main { padding: 24px 20px 90px; }
}
@media (max-width: 1020px) {
  .shell { margin: 0; border-radius: 0; box-shadow: none; min-height: 100vh; }
  .shell::before, .shell::after { display: none; }
}
@media (max-width: 860px) {
  .sidebar { display: none; }
  .mainwrap { border-left: 0; }
  .shell { background: #FDFAF3; }
  .avatar-mini { display: none; }
  body { background: var(--bg); }
  .mobilebar {
    display: flex; align-items: center; justify-content: space-between;
    position: sticky; top: 0; z-index: 60;
    background: rgba(251, 248, 242, .92); backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--line); padding: 12px 18px;
  }
  .mobilebar .mb-logo { display: flex; align-items: center; }
  .mobilebar .mb-logo img { width: 42px; }
  .bottom-nav {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 60;
    display: flex; background: rgba(255, 253, 248, .96); backdrop-filter: blur(8px);
    border-top: 1px solid var(--line); padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .bottom-nav button {
    flex: 1; border: 0; background: none; font-size: 10px; font-weight: 800;
    color: var(--mut); display: flex; flex-direction: column; gap: 3px; align-items: center; padding: 6px 0;
  }
  .bottom-nav button .ic { font-size: 17px; height: 20px; line-height: 20px; display: block; overflow: hidden; }
  .bottom-nav button.on { color: var(--ak-deep); }
  .page-head .hello { font-size: 32px; }
  .auth-card { padding: 30px 24px; }
}
@media (min-width: 861px) { .bottom-nav { display: none; } }

/* ---------- psichomatrica ---------- */
.psy-wrap { display: flex; gap: 34px; flex-wrap: wrap; margin-top: 12px; }
.psy-left { width: 320px; max-width: 100%; }
.psy-right { flex: 1; min-width: 260px; }
.psy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.psy-cell { border: 1px solid var(--line-soft); border-radius: 14px; padding: 12px 6px 10px; text-align: center; cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; background: #fff; }
.psy-cell.lv0 { border-style: dashed; }
.psy-cell.lv1 { background: #FBF8EF; }
.psy-cell.lv2 { background: #F7EFDA; }
.psy-cell.lv3 { background: #F0E5C3; }
.psy-cell:hover { transform: translateY(-1px); }
.psy-cell.on { border-color: #C9A24B; box-shadow: 0 0 0 1px #C9A24B inset; }
.psy-cell-t { font-size: 8.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); font-weight: 800; }
.psy-cell-d { font-size: 30px; line-height: 1.15; color: var(--ink); }
.psy-cell.lv0 .psy-cell-d { color: var(--mut); }
.psy-work { margin-top: 10px; font-size: 12px; color: var(--mut); }
.psy-line { padding: 7px 10px; border-radius: 10px; cursor: pointer; }
.psy-line:hover { background: rgba(201, 162, 75, .06); }
.psy-line.on { background: rgba(201, 162, 75, .11); }
.psy-line-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.psy-line-top .nm { font-size: 13px; font-weight: 700; color: var(--ink); }
.psy-line-top .ct { font-size: 11px; font-weight: 800; white-space: nowrap; }
.psy-line-top .ct.good { color: var(--good); }
.psy-line-top .ct.mid { color: #A6812E; }
.psy-line-top .ct.low { color: var(--mut); }
.psy-bar { height: 5px; border-radius: 99px; background: rgba(0, 0, 0, .07); margin-top: 6px; overflow: hidden; }
.psy-bar .fill { display: block; height: 100%; border-radius: 99px; }
.psy-bar .fill.good { background: var(--good); }
.psy-bar .fill.mid { background: #C9A24B; }
.psy-bar .fill.low { background: #B9C0D1; }

/* pagalbiniai skaičiai */
.num-help { display: flex; gap: 14px; flex-wrap: wrap; margin: 4px 0 6px; }
.help-card { display: flex; gap: 12px; align-items: flex-start; flex: 1; min-width: 240px; border: 1px solid var(--line-soft); border-radius: 14px; padding: 12px 14px; background: #FDFCF8; }
.hc-t { font-weight: 800; font-size: 13px; color: var(--ink); }
.hc-a { font-size: 11px; color: #A6812E; font-weight: 700; margin-top: 1px; }
.hc-x { font-size: 12px; color: var(--ink-3); margin-top: 4px; line-height: 1.5; }

/* gimimo žemėlapio planetų pasirinkimas */
.nat-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.nat-pl { display: inline-flex; gap: 6px; align-items: center; padding: 7px 13px; border-radius: 99px; border: 1px solid var(--line-soft); cursor: pointer; font-size: 12.5px; font-weight: 700; color: var(--ink); background: #fff; transition: border-color .15s, background .15s; }
.nat-pl:hover { border-color: #C9A24B; }
.nat-pl.on { background: rgba(201, 162, 75, .12); border-color: #C9A24B; }
.nat-pl .g { color: #A6812E; font-size: 15px; }
.nat-pl .rr { color: var(--warn); font-size: 10px; font-weight: 800; }
.nat-head { display: flex; gap: 16px; align-items: center; margin-top: 4px; }
.nat-g { font-size: 30px; color: #A6812E; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line-soft); border-radius: 50%; background: #FDFCF8; flex: none; }
.nat-asp { cursor: pointer; border-radius: 8px; padding-left: 6px; padding-right: 6px; }
.nat-asp:hover { background: rgba(201, 162, 75, .07); }

/* kinų zodiako piešti gyvūnai — Noto Emoji (monochrome, OFL) subset */
@font-face {
  font-family: 'NotoEmojiZodiac';
  src: url('../assets/fonts/NotoEmojiZodiac.ttf') format('truetype');
  font-display: swap;
}
.chn-glyph { font-family: 'NotoEmojiZodiac', sans-serif; color: #A6812E; }
.num-ball .chn-glyph { color: inherit; }

/* Ryšių žemėlapis (Ratai → Ryšiai) */
.bm-wrap { max-width: 640px; margin: 0 auto; }
.bm-svg { width: 100%; height: auto; display: block; }
.bm-e { transition: opacity .25s; }
.bm-e.dim { opacity: .07 !important; }
.bm-av { fill: var(--card); stroke: var(--ns, var(--mut-2)); stroke-width: var(--nw, 1.4); }   /* --ns/--nw: Ratas 2.0 — spalva pagal ryšį su tavimi */
.bm-av.me { fill: #C9A24B; stroke: #A6812E; }
.bm-node.sel .bm-av { stroke: var(--ak-deep); stroke-width: 2.6; }
.bm-ini { fill: var(--ink); font-size: 13px; font-weight: 700; }
.bm-ini.me { fill: #fff; }
.bm-name { fill: var(--ink-2); font-size: 13.5px; font-weight: 600; }
.bm-sub { fill: var(--mut); font-size: 10.5px; font-weight: 600; }
.bm-node { transition: opacity .25s; }
.bm-node.dim { opacity: .3; }
.bm-info { max-width: 640px; margin: 8px auto 12px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--card); font-size: 13px; line-height: 1.45; color: var(--ink-2); }
.bm-info b { color: var(--ink); }
.bm-info .mut { color: var(--mut); }
.bm-pairs { display: flex; flex-wrap: wrap; gap: 8px; }
.bm-pair { border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px;
  font-size: 13px; color: var(--ink-2); background: var(--card); }
.bm-mode { display: flex; gap: 6px; margin: 2px 0 10px; }
.bm-mbtn { border: 1px solid var(--line); background: var(--card); color: var(--ink-2);
  border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600;
  cursor: pointer; font-family: inherit; }
.bm-mbtn.on { background: #C9A24B; border-color: #A6812E; color: #fff; }
/* ryšių žemėlapis su daug žmonių (variantas A, 2026-09-13): žiedai, antraštės su „+N“, skaičiai, be ryšio eilutė, poros sulankstytos */
.bm-ring { fill: none; stroke: #E3D7BE; stroke-width: 1.5; stroke-dasharray: 4 5; }
.bm-lbl rect { fill: #FFFDF6; stroke: #EBDFC6; }
.bm-lbl text { fill: #B9A276; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; }
.bm-bud rect { fill: #FFFDF6; stroke: #C9A24B; stroke-width: 1.5; stroke-dasharray: 4 3; }
.bm-bud text { fill: #A6812E; font-size: 11px; font-weight: 800; }
.bm-bud.on rect { fill: #C9A24B; stroke-dasharray: none; }
.bm-bud.on text { fill: #fff; }
.bm-e.bm-hid { display: none; }
.bm-counts { text-align: center; font-size: 12.5px; color: var(--mut); font-weight: 700; margin: 4px 0 6px; }
.bm-counts b { color: var(--ink); }
/* be Scriptum+ — subtili auksinė eilutė po skaičiais: kiek paslėptų žmonių turi tokį ryšį; paspaudus — Scriptum+ langas (2026-09-13) */
.bm-locked { display: block; width: 100%; text-align: center; background: none; border: 0; padding: 2px 0 8px; font: inherit; font-size: 12.5px; font-weight: 800; color: #A6812E; cursor: pointer; }
.bm-locked:hover { text-decoration: underline; }
.bm-none { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; max-width: 640px; margin: 4px auto 0; }
.bm-none .t { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mut); margin-right: 4px; }
.bm-none .pl { border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; background: var(--wash); color: var(--ink-3); cursor: pointer; border: 1px solid transparent; }
.bm-none .pl.logic { border-color: #B3BBCF; border-style: dashed; background: transparent; }
.bm-none .pl.more { background: var(--ak-soft); color: var(--ak-deep); font: inherit; font-size: 12px; font-weight: 800; }
.bm-none.fold .extra { display: none; }
.bm-pairs.fold .bm-pair:nth-child(n+13) { display: none; }
.bm-strip { max-width: 640px; }
.bm-strip .cs-chip .cavatar { border-width: 2px; }
.bm-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: center;
  margin: 8px 0 2px; font-size: 12.5px; color: var(--mut); }
.bm-legend span { display: inline-flex; align-items: center; gap: 7px; }
.bm-lsw { width: 34px; height: 10px; flex: none; }

/* Kalendorius su pasirinktu žmogumi — visa diena nuspalvinta pagal toną */
.calw-day.ptone-good { background: #E9F1E2; border-color: #B9CDA9; }
.calw-day.ptone-care { background: #F6E3DC; border-color: #DDAE9C; }
.calw-day.ptone-neutral { background: #F3F1EC; border-color: var(--line); }
.cal-person { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 12px 0 2px; }
.cal-person-lbl { font-size: 11px; font-weight: 800; color: var(--mut); text-transform: uppercase; letter-spacing: .06em; margin-right: 4px; }

/* Pagalbiniai skaičiai — kompaktiška juosta prie grandinės */
.help-inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 0; }
.hi-lbl { font-size: 11px; font-weight: 800; color: var(--mut); text-transform: uppercase; letter-spacing: .05em; }
.hi-chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line);
  background: var(--card); border-radius: 999px; padding: 4px 12px 4px 5px;
  font-size: 13px; font-weight: 700; color: var(--ink-2); }
.hi-ball { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; font-size: 12px; font-weight: 800; color: #fff; background: #C9A24B; flex: none; }
.hi-sub { color: var(--mut); font-weight: 500; }
/* psichomatricų dermės eilutės žmogaus kortelėje */
.psyc-row { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px;
  color: var(--ink-2); line-height: 1.6; margin: 5px 0; }
.psyc-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; margin-top: 6px; }

/* darbinių skaičių paaiškinimai psichomatricoje */
.psw-list { display: flex; flex-direction: column; gap: 6px; margin: 8px 0 2px; }
.psw { display: flex; gap: 9px; align-items: flex-start; }
.psw-n { min-width: 30px; height: 24px; padding: 0 6px; border-radius: 999px;
  background: #F5EDD5; border: 1px solid #E8D9AB; color: var(--ak-deep);
  font-size: 12px; font-weight: 800; display: inline-flex;
  align-items: center; justify-content: center; flex: 0 0 auto; }
.psw-x { font-size: 12.5px; color: var(--ink-3); line-height: 1.55; }
.psw-x b { color: var(--ink); }

/* meistriško skaičiaus kortelė */
.master-box { background: linear-gradient(150deg, #FFFDF4, #FBF0D2);
  border: 1.2px solid #E3CD92; border-radius: 14px;
  padding: 14px 17px 12px; margin: 12px 0 4px;
  box-shadow: 0 10px 26px -18px rgba(166, 129, 46, .55); }
.master-box .mb-t { font-size: 24px; color: var(--ak-deep); }
.master-box .mb-x { margin: 6px 0 0; font-size: 13.5px; color: var(--ink-2); line-height: 1.7; }
.master-box .mb-note { margin: 8px 0 0; font-size: 11.5px; color: var(--mut); }
/* pozicijos lęšis (2026-09-07): klausimas + atsakymas po skaičiaus antrašte („Ko man reikia · stabilumo“) */
.num-lens { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: -4px 0 10px; }
.num-lens .nl-q { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: var(--ak-deep); white-space: nowrap; }
.num-lens .nl-a { font-size: 25px; line-height: 1.15; color: var(--ink); }
.num-ball .nb-star { position: absolute; top: -4px; right: -6px; font-size: 12px;
  color: var(--ak-deep); text-shadow: 0 0 6px rgba(230, 203, 134, .9); }

/* DI ataskaitos reklama numerologijoje */
.num-promo { text-align: center; background: linear-gradient(150deg, #FFFDF6, #FBF3DE);
  border-color: #E8D9AB; }
.np-pill { display: inline-flex; align-items: center; gap: 5px;
  font-size: 10px; font-weight: 800; letter-spacing: .14em;
  background: #F5EDD5; border: 1px solid #E8D9AB; color: var(--ak-deep);
  border-radius: 999px; padding: 5px 13px; }

/* pagalbiniai skaičiai — šalutinė dėžutė, atskirta nuo pagrindinio aprašymo */
.help-aside { background: #fff; border: 1px solid var(--line-soft); border-radius: 14px;
  padding: 13px 15px 12px; margin: 14px 0 2px; }
.help-aside .ha-lbl { font-size: 10px; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: var(--mut); margin-bottom: 8px; }
.hi-chip { white-space: nowrap; cursor: pointer; border-color: #E8D9AB;
  box-shadow: 0 1px 3px rgba(90, 74, 40, .08);
  transition: border-color .15s ease, background .15s ease; }
.hi-chip:hover { border-color: var(--ak-deep); background: #FFFDF6; }
.hi-chip.on { border-color: var(--ak-deep); background: #FBF5E3; }
.hi-car { color: var(--ak-deep); font-size: 10px; margin-left: 2px;
  display: inline-block; transition: transform .18s ease; }
.hi-chip.on .hi-car { transform: rotate(180deg); }
.hlp-det { background: #FFFDF6; border: 1px solid #EDE3C8; border-radius: 12px;
  padding: 12px 15px 13px; margin-top: 10px; }
.hlp-det .hc-t { font-weight: 800; color: var(--ink); }
.hlp-det .hc-a { font-size: 10.5px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: var(--ak-deep); margin-top: 1px; }
.hi-sub { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) { .hi-sub { display: none; } }

/* Gimimo žemėlapio aspektų kortelės */
.nat-aspc { border-left: 3px solid var(--mut-2); padding: 8px 10px 8px 14px; margin: 8px 0;
  border-radius: 0 12px 12px 0; background: var(--card); cursor: pointer; transition: box-shadow .15s; }
.nat-aspc:hover { box-shadow: var(--shadow-sm); }
.nat-aspc.tone-flow { border-left-color: var(--good); }
.nat-aspc.tone-friction { border-left-color: var(--warn); }
.nat-aspc.tone-blend { border-left-color: #C9A24B; }
.na-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; color: var(--ink); }
.na-sym { font-weight: 800; font-size: 15px; }
.tone-flow .na-sym { color: var(--good); }
.tone-friction .na-sym { color: var(--warn); }
.tone-blend .na-sym { color: #A6812E; }
.na-badge { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  padding: 2px 8px; border-radius: 999px; background: var(--wash); color: var(--ink-3); }
.tone-flow .na-badge { background: #EAF1E3; color: var(--good); }
.tone-friction .na-badge { background: #F7E8E2; color: var(--warn); }
.tone-blend .na-badge { background: #F6EEDC; color: #A6812E; }
.na-x { font-size: 13.5px; color: var(--ink-2); line-height: 1.55; margin: 5px 0 0; }
.nat-pl .hp-g { color: var(--ink-3); margin-left: 6px; letter-spacing: 2px; font-size: 13px; }

/* ---------- socialinis prisijungimas ---------- */
.soc-div { display: flex; align-items: center; gap: 10px; margin: 16px 0 12px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); font-weight: 800; }
.soc-div .ln { flex: 1; border-top: 1px solid var(--line); }
.soc-btn { display: block; width: 100%; max-width: 280px; margin: 0 auto 10px; padding: 11px 16px; border-radius: 24px; font-size: 14px; font-weight: 700; cursor: pointer; border: 1px solid var(--line); background: #fff; color: var(--ink); transition: transform .12s; }
.soc-btn:hover { transform: translateY(-1px); }
.soc-btn.apple { background: #000; color: #fff; border-color: #000; }
.soc-gwrap { display: flex; justify-content: center; margin-bottom: 6px; min-height: 44px; }

/* ---------- Scriptum+ ---------- */
.plus-chip{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:10px;
  padding:9px 12px;border-radius:12px;cursor:pointer;text-align:left;
  background:rgba(201,162,75,.10);border:1px solid rgba(201,162,75,.45);color:#EFE6CE}
.plus-chip:hover{background:rgba(201,162,75,.18)}
.plus-chip .pc-star{color:#E6CB86;font-size:15px}
.plus-chip .pc-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.plus-chip .pc-txt b{font-size:13px;letter-spacing:.3px}
.plus-chip .pc-txt small{font-size:10.5px;color:rgba(239,230,206,.62);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plus-modal{text-align:center;padding:6px 4px 2px}
.plus-modal .pm-star{font-size:30px;color:#C9A24B;text-shadow:0 0 18px rgba(201,162,75,.5)}
.plus-modal h3{font-size:30px;margin:4px 0 2px}
.plus-modal .pm-tag{color:#7A85A1;font-size:14px;margin-bottom:14px}
.plus-modal .pm-active{background:rgba(143,169,131,.14);border:1px solid rgba(143,169,131,.5);
  border-radius:12px;padding:10px;margin-bottom:14px;font-weight:700;color:#5d7a52;
  display:flex;flex-direction:column;gap:3px}
.plus-modal .pm-active small{font-weight:500;color:#7A85A1;font-size:12px}
.plus-modal .pm-offnote{color:#7A85A1;font-size:11.5px;margin:4px 0 0}
.pm-code{display:flex;gap:8px;margin-top:4px}
.pm-code input{flex:1;border:1.5px solid #E4DACE;border-radius:12px;background:#fff;
  padding:9px 12px;font:inherit;font-size:13.5px;color:var(--ink);outline:none;text-transform:uppercase}
.pm-code input:focus{border-color:#C9A24B}
.pm-code .btn-ghost{background:none;border:1.5px solid #C9A24B;color:#8A6A2C;
  border-radius:12px;padding:9px 16px;font-weight:700;font-size:13px;cursor:pointer}
.pm-code .btn-ghost:hover{background:#FAF4E4}
.pm-codeok{font-size:12.5px;color:var(--warn);margin-top:6px}
.pm-codeok.ok{color:#5E7F52}
.intro-tip{display:flex;gap:12px;align-items:center;background:#FBF6E7;border:1px solid #E6CB86;
  border-radius:14px;padding:12px 16px;margin-bottom:16px}
.intro-tip .it-star{color:#C9A24B;font-size:18px;flex:none}
.intro-tip .it-txt{flex:1;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.intro-tip button{flex:none;background:none;border:1.5px solid #C9A24B;color:#8A6A2C;border-radius:999px;
  padding:7px 16px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
.intro-tip button:hover{background:#F6EBCF}
@media (max-width:640px){.intro-tip{flex-wrap:wrap}.intro-tip .it-txt{min-width:200px}}
.plus-modal .pm-trial{color:#7A85A1;font-size:12.5px;margin-bottom:10px}
.plus-modal .pm-note{color:#A6812E;font-size:12.5px;font-weight:600}

.plus-note-sm{font-size:11.5px;color:#A6812E;margin-top:6px;text-align:center}

.plus-locked{position:relative;overflow:hidden}
.plus-locked .pl-fake{filter:blur(7px);opacity:.9;user-select:none;pointer-events:none}
.plus-locked .pl-cover{position:absolute;inset:0;z-index:2;display:flex;
  align-items:center;justify-content:center;padding:20px;
  background:linear-gradient(180deg,rgba(37,44,63,.10),rgba(37,44,63,.22))}
.plus-locked .pl-card{background:#FFFDF7;border:1px solid rgba(201,162,75,.55);
  border-radius:22px;padding:24px 28px;max-width:460px;width:100%;text-align:center;
  box-shadow:0 18px 50px rgba(30,26,10,.28);display:flex;flex-direction:column;
  align-items:center;gap:9px}
.plus-locked .pl-pill{display:inline-flex;align-items:center;gap:5px;
  background:#FAF6E8;border:1px solid rgba(201,162,75,.5);color:#A6812E;
  border-radius:999px;padding:4px 12px;font-size:10.5px;font-weight:800;
  letter-spacing:.5px;text-transform:uppercase}
.plus-locked .pl-ft{font-size:30px;color:#252C3F;line-height:1.05;margin-top:2px}
.plus-locked .pl-d{color:#5A6480;font-size:13.5px;line-height:1.5;margin-bottom:2px}
.plus-locked .pl-bls{display:flex;flex-direction:column;gap:6px;text-align:left;margin:2px 0 4px}
.plus-locked .pl-bl{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#252C3F}
.plus-locked .pl-bl span{color:#C9A24B;font-weight:800;flex:0 0 auto}
.plus-locked .pl-btn{background:linear-gradient(180deg,#E6CB86,#C9A24B);color:#241A02;border:0;
  border-radius:999px;padding:11px 34px;font-weight:800;font-size:14px;cursor:pointer;
  box-shadow:0 8px 22px rgba(166,129,46,.4);margin-top:2px}
.plus-locked .pl-btn:hover{filter:brightness(1.05)}
.plus-locked .pl-trial{color:#7A85A1;font-size:11.5px;margin:0}
.plus-locked.mini-wrap{margin:16px 0;border-radius:14px;min-height:360px;display:block}
.plus-locked.mini-wrap .pl-card{padding:18px 22px;max-width:420px}
.plus-locked.mini-wrap .pl-ft{font-size:25px}

/* Lyties pasirinkimas formose */
.gsel { display: flex; gap: 8px; }
.gsel .gopt { flex: 1; padding: 9px 6px; border: 1px solid var(--line); border-radius: 10px;
  background: transparent; font: inherit; font-size: 13.5px; color: var(--ink); cursor: pointer;
  transition: background .15s, color .15s, border-color .15s; }
.gsel .gopt:hover { border-color: var(--ak); }
.gsel .gopt.on { background: var(--ak); color: #fff; border-color: var(--ak); }

/* Moters ciklas */
:root { --cyc: #C9748F; --cyc-soft: #F7E9EE; }
.cyc-ball { width: 56px; height: 56px; font-size: 20px; margin: 0; flex-shrink: 0;
  background: linear-gradient(150deg, #D98CA5, var(--cyc)); border-color: transparent; color: #fff; }
.cyc-ball small { font-size: 11px; opacity: .85; margin-left: 1px; font-weight: 600; }
.cyc-meter { display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--ink); margin-top: 4px; }
.cyc-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--line); display: inline-block; }
.cyc-dot.on { background: var(--cyc); }
.cyc-bar { position: relative; display: flex; height: 8px; border-radius: 5px; margin-top: 16px; }
.cyc-bar .seg { height: 100%; }
.cyc-bar .seg:first-child { border-radius: 5px 0 0 5px; }
.cyc-bar .seg:last-child { border-radius: 0 5px 5px 0; }
.cyc-bar .sg-m { background: var(--cyc); }
.cyc-bar .sg-f { background: #EBD8BC; }
.cyc-bar .sg-o { background: #E3BE7A; }
.cyc-bar .sg-l { background: #E4DACE; }
.cyc-pos { position: absolute; top: -4px; width: 15px; height: 15px; border-radius: 50%;
  background: #fff; border: 3px solid var(--ink); transform: translateX(-50%); box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.cyc-form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cyc-form input[type="date"] { padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px;
  font: inherit; font-size: 14px; background: #fff; color: var(--ink); }
.cyc-form input[type="number"] { padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px;
  font: inherit; font-size: 14px; background: #fff; color: var(--ink); }
.cyc-dows { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .5px; color: var(--ink); opacity: .55; text-align: center; text-transform: uppercase; }
.cyc-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; max-width: 560px; }
.cyc-dows { max-width: 560px; }
.cyc-cal .cc { position: relative; aspect-ratio: 1.8; display: flex; align-items: center; justify-content: center;
  border-radius: 8px; font-size: 12px; font-weight: 600; color: var(--ink); background: #FFFDF9; border: 1px solid var(--line); }
.cyc-cal .cc.oth { opacity: .35; }
.cyc-cal .cc.ph-M { background: #F7E3EA; border-color: #E9C4D0; }
.cyc-cal .cc.ph-F { background: #FBF3DE; border-color: #EEDCB0; }
.cyc-cal .cc.ph-O { background: #F3D9A4; border-color: #E3BE7A; }
.cyc-cal .cc.ph-L { background: #F2EDE6; border-color: #E0D6C8; }
.cyc-cal .cc.tdy { box-shadow: 0 0 0 2px var(--ink) inset; }
.cyc-cal .cc .st { position: absolute; top: 4px; right: 5px; width: 8px; height: 8px; border-radius: 50%;
  background: #fff; border: 2px solid var(--cyc); }
.cal-legend .sw.sg-m { background: #F7E3EA; border: 1px solid #E9C4D0; }
.cal-legend .sw.sg-f { background: #FBF3DE; border: 1px solid #EEDCB0; }
.cal-legend .sw.sg-o { background: #F3D9A4; border: 1px solid #E3BE7A; }
.cal-legend .sw.sg-l { background: #F2EDE6; border: 1px solid #E0D6C8; }
.cyc-hist { display: inline-flex; align-items: center; gap: 8px; }
.cyc-hist .x { cursor: pointer; color: var(--warn); font-style: normal; }
.cyc-guide { border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: #FFFDF9; }
.cyc-guide .cg-bar { height: 6px; border-radius: 4px; margin-bottom: 10px; }
.cyc-guide .cg-bar.sg-m { background: #E9AABE; }
.cyc-guide .cg-bar.sg-f { background: #EBD8BC; }
.cyc-guide .cg-bar.sg-o { background: #E3BE7A; }
.cyc-guide .cg-bar.sg-l { background: #E4DACE; }
.cyc-guides { display: flex; flex-direction: column; gap: 10px; }
.cyc-guide { position: relative; padding: 0; overflow: hidden; }
.cyc-guide.now { border-color: var(--cyc); box-shadow: 0 0 0 1px var(--cyc); }
.cyc-guide .cg-head { display: flex; align-items: center; gap: 10px; padding: 13px 14px; cursor: pointer; user-select: none; }
.cyc-guide .cg-head:hover { background: #FBF7F0; }
.cyc-guide .cg-head .cg-bar { width: 26px; height: 7px; border-radius: 4px; margin-bottom: 0; flex-shrink: 0; }
.cyc-guide .cg-now { margin-left: auto; font-size: 11px; font-weight: 800; color: var(--cyc); letter-spacing: .3px; }
.cyc-guide .cg-chev { margin-left: 8px; color: var(--ink); opacity: .45; transition: transform .18s; }
.cyc-guide .cg-now + .cg-chev { margin-left: 8px; }
.cyc-guide:not(.now) .cg-chev { margin-left: auto; }
.cyc-guide.open .cg-chev { transform: rotate(180deg); }
.cyc-guide .cg-body { display: none; padding: 0 14px 14px; }
.cyc-guide.open .cg-body { display: block; }
#cyc-mode .gopt.on { background: var(--cyc); border-color: var(--cyc); }
.btn-cyc { background: var(--cyc); }
.btn-cyc:hover { background: #B65E7B; }
.cyc-cal .cc.tap { cursor: pointer; }
.cyc-cal .cc.tap:hover { box-shadow: 0 0 0 2px var(--cyc) inset; }
.cyc-cal .cc.fut { border-style: dashed; opacity: .8; }

/* ================= Registracijos kelionė (klausimynas) ================= */
.onb-wrap { position: fixed; inset: 0; overflow-y: auto; color: #F3EBDB;
  background: radial-gradient(1200px 700px at 75% -10%, #232C52 0%, #141B33 55%); }
.onb-sky { position: fixed; inset: 0; overflow: hidden; pointer-events: none; }
.onb-sky .st { position: absolute; border-radius: 50%; background: #F3EBDB;
  animation: onbTw var(--d) ease-in-out var(--dl) infinite; }
.onb-sky .st.big { box-shadow: 0 0 6px 1px rgba(227,200,137,.55); background: #E3C889; }
@keyframes onbTw { 0%, 100% { opacity: var(--o); transform: scale(1); }
  50% { opacity: calc(var(--o) * .25); transform: scale(.72); } }
.onb-sky .glow { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .5; }
.onb-sky .g1 { width: 420px; height: 420px; left: -140px; top: 8%;
  background: radial-gradient(circle, rgba(201,164,92,.32), transparent 65%);
  animation: onbD1 26s ease-in-out infinite alternate; }
.onb-sky .g2 { width: 520px; height: 520px; right: -180px; bottom: -6%;
  background: radial-gradient(circle, rgba(58,74,140,.5), transparent 65%);
  animation: onbD2 34s ease-in-out infinite alternate; }
@keyframes onbD1 { to { transform: translate(70px, 60px) scale(1.18); } }
@keyframes onbD2 { to { transform: translate(-60px, -80px) scale(1.12); } }
.onb-sky .shoot { position: absolute; width: 130px; height: 1.5px; border-radius: 2px; opacity: 0;
  background: linear-gradient(90deg, rgba(243,235,219,.95), transparent);
  animation: onbShoot var(--t) linear var(--dl) infinite; }
@keyframes onbShoot { 0%, 92% { opacity: 0; transform: rotate(24deg) translateX(0); }
  93% { opacity: .9; } 100% { opacity: 0; transform: rotate(24deg) translateX(48vh); } }
@media (prefers-reduced-motion: reduce) { .onb-sky .st, .onb-sky .glow, .onb-sky .shoot { animation: none; } }
.onb-col { position: relative; max-width: 480px; margin: 0 auto; min-height: 100vh; min-height: 100dvh;
  display: flex; flex-direction: column; padding: 22px 22px 26px; }
.onb-top { display: flex; align-items: center; gap: 14px; min-height: 34px; }
.onb-back { background: none; border: none; color: rgba(243,235,219,.62); font-size: 21px;
  cursor: pointer; padding: 4px 8px 4px 0; }
.onb-dots { display: flex; gap: 7px; margin: 0 auto; }
.onb-dots i { width: 7px; height: 7px; border-radius: 50%; background: rgba(243,235,219,.16); transition: all .3s; }
.onb-dots i.on { background: #C9A45C; }
.onb-dots i.done { background: rgba(201,164,92,.45); }
.onb-mid { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 8px 0;
  animation: onbIn .38s ease both; }
@keyframes onbIn { from { opacity: 0; transform: translateX(26px); } to { opacity: 1; transform: none; } }
.onb-h { font-size: 40px; line-height: 1.1; color: #F3EBDB; }
.onb-sub { color: rgba(243,235,219,.62); font-size: 15px; margin-top: 8px; line-height: 1.55; }
.onb-caps { margin-top: 22px; font-size: 11.5px; letter-spacing: .8px; font-weight: 800;
  color: rgba(243,235,219,.45); }
.onb-logo { display: block; margin: 0 auto; width: 130px; }
.onb-tagline { font-size: 24px; color: #E3C889; text-align: center; margin-top: 14px; }
.onb-div { display: flex; align-items: center; gap: 12px; margin: 26px 0; color: #C9A45C; }
.onb-div .ln { flex: 1; height: 1px; background: rgba(243,235,219,.16); }
.onb-field { margin-top: 24px; background: rgba(255,255,255,.055); border: 1px solid rgba(243,235,219,.16);
  border-radius: 14px; padding: 4px 16px; position: relative; }
.onb-field input { width: 100%; background: none; border: none; outline: none; color: #F3EBDB;
  font: inherit; font-size: 19px; padding: 13px 0; color-scheme: dark; }
.onb-field input::placeholder { color: rgba(243,235,219,.35); }
.onb-field .geo-list { position: absolute; left: 0; right: 0; top: 100%; z-index: 10;
  background: #1B2342; border: 1px solid rgba(243,235,219,.2); border-radius: 12px; overflow: hidden; }
.onb-field .geo-list div { color: #F3EBDB; }
.onb-field .geo-list div:hover { background: rgba(201,164,92,.18); }
.onb-field .geo-ok { color: #E3C889; }
.onb-glbl { margin-top: 18px; font-size: 12px; letter-spacing: .6px; color: rgba(243,235,219,.62); font-weight: 700; }
.onb-gsel { display: flex; gap: 9px; margin-top: 12px; }
.onb-gsel button { flex: 1; padding: 12px 6px; border-radius: 999px; font: inherit; font-size: 14.5px;
  background: rgba(255,255,255,.055); border: 1px solid rgba(243,235,219,.25); color: rgba(243,235,219,.85);
  cursor: pointer; transition: all .18s; }
.onb-gsel button.on { background: #C9A45C; border-color: #C9A45C; color: #241A05; font-weight: 800; }
.onb-why { margin-top: 24px; display: flex; gap: 12px; background: rgba(201,164,92,.08);
  border: 1px solid rgba(201,164,92,.28); border-radius: 14px; padding: 14px 16px; }
.onb-why .ic { color: #C9A45C; font-size: 17px; line-height: 1.4; }
.onb-why p { color: rgba(243,235,219,.78); font-size: 13.5px; line-height: 1.6; margin: 0; }
.onb-why b { color: #E3C889; font-weight: 700; }
.onb-bottom { padding-top: 18px; }
.onb-btn { display: block; width: 100%; border: none; border-radius: 999px; padding: 16px;
  font: inherit; font-size: 16px; font-weight: 800; color: #241A05; cursor: pointer;
  background: linear-gradient(180deg, #E3C889, #C9A45C); box-shadow: 0 6px 22px rgba(201,164,92,.32);
  transition: transform .15s; }
.onb-btn:hover { transform: translateY(-1px); }
.onb-btn:disabled { opacity: .4; box-shadow: none; cursor: default; transform: none; }
.onb-link { display: block; margin: 16px auto 0; background: none; border: none;
  color: rgba(243,235,219,.62); font: inherit; font-size: 14.5px; text-decoration: underline; cursor: pointer; }
.onb-lang { margin-top: 18px; display: flex; justify-content: center; }
.onb-chk { display: flex; align-items: center; gap: 10px; margin-top: 18px; color: rgba(243,235,219,.8);
  font-size: 14.5px; cursor: pointer; user-select: none; }
.onb-chk .sw { width: 44px; height: 26px; border-radius: 999px; background: rgba(255,255,255,.12);
  position: relative; transition: background .2s; flex-shrink: 0; }
.onb-chk .sw::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
  border-radius: 50%; background: #F3EBDB; transition: left .2s; }
.onb-chk.on .sw { background: #C9A45C; }
.onb-chk.on .sw::after { left: 21px; }
.onb-orb { width: 84px; height: 84px; margin: 0 auto 26px; border-radius: 50%; position: relative;
  border: 2px solid rgba(201,164,92,.25); }
.onb-orb::before { content: '✦'; position: absolute; inset: 0; display: flex; align-items: center;
  justify-content: center; font-size: 30px; color: #C9A45C; animation: onbPulse 1.6s ease infinite; }
.onb-orb::after { content: ''; position: absolute; inset: -2px; border-radius: 50%;
  border: 2px solid transparent; border-top-color: #C9A45C; animation: onbRot 1.1s linear infinite; }
@keyframes onbRot { to { transform: rotate(360deg); } }
@keyframes onbPulse { 50% { opacity: .45; } }
.onb-csteps { margin-top: 30px; text-align: left; max-width: 300px; margin-left: auto; margin-right: auto; }
.onb-csteps .cstep { display: flex; gap: 12px; align-items: baseline; padding: 9px 0;
  color: rgba(243,235,219,.35); font-size: 15px; transition: color .3s; }
.onb-csteps .m { width: 18px; color: #C9A45C; opacity: 0; }
.onb-csteps .run { color: #F3EBDB; }
.onb-csteps .run .m { opacity: 1; animation: onbPulse 1s infinite; }
.onb-csteps .ok { color: rgba(243,235,219,.75); }
.onb-csteps .ok .m { opacity: 1; animation: none; }
.onb-rows { margin-top: 12px; border-top: 1px solid rgba(243,235,219,.16); }
.onb-rows .rrow { display: flex; align-items: baseline; gap: 12px; padding: 11px 2px;
  border-bottom: 1px solid rgba(243,235,219,.09); opacity: 0; transform: translateX(-16px);
  transition: all .4s ease; }
.onb-rows .rrow.show { opacity: 1; transform: none; }
.onb-rows .g { width: 26px; text-align: center; color: #C9A45C; font-size: 16px; }
.onb-rows .n { font-size: 14.5px; color: rgba(243,235,219,.85); }
.onb-rows .v { margin-left: auto; color: #E3C889; font-weight: 800; font-size: 15px; }
.onb-rows .lock { opacity: .55; }
.onb-rows .lock .v { font-weight: 400; font-style: italic; font-size: 12.5px; color: rgba(243,235,219,.45); }
.onb-note { margin-top: 16px; color: rgba(243,235,219,.62); font-size: 13.5px; text-align: center; line-height: 1.6; }
#onb-cerr.form-err { color: #E8A2A2; }

/* Kūdikio vardo patikra */
.baby-card { margin-top: 14px; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px;
  background: #FFFDF9; animation: fadeUp .35s ease both; }
.baby-card.ok { border-color: #E3BE7A; background: linear-gradient(150deg, #FFFDF6, #FBF3DE); }
.baby-card.moon { border-color: #B9C4E2; background: linear-gradient(150deg, #FDFDFF, #EFF2FA); }
.baby-badge { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .8px;
  text-transform: uppercase; padding: 4px 12px; border-radius: 999px; background: var(--ink); color: #fff; }
.baby-card.ok .baby-badge { background: #A8843E; }
.baby-card.moon .baby-badge { background: #5A6CA8; }

/* Natal: karmos taškai + balansas */
.nat-kp { margin-top: 12px; font-size: 14px; color: var(--ink); }
.nat-kp .na-x { margin-top: 4px; }
.nat-el { display: flex; align-items: center; gap: 10px; margin-top: 7px; font-size: 13.5px; }
.nat-el .ne-l { width: 72px; font-weight: 700; color: var(--ink); }
.nat-el .ne-d { display: flex; gap: 3px; flex: 1; }
.nat-el .ne-d i { width: 9px; height: 9px; border-radius: 50%; background: var(--line); }
.nat-el .ne-d i.on.el-fire { background: #D98455; }
.nat-el .ne-d i.on.el-earth { background: #8FA86B; }
.nat-el .ne-d i.on.el-air { background: #8FB4D9; }
.nat-el .ne-d i.on.el-water { background: #7B8FC9; }

/* Natal: tranzitų kortelės, karmos taškų trejetas, balanso stulpeliai */
.nat-trs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 860px) { .nat-trs { grid-template-columns: 1fr; } }
.nat-tr { border: 1px solid var(--line); border-left-width: 3px; border-radius: 12px;
  padding: 12px 14px; background: #FFFDF9; }
.nat-tr.tone-flow { border-left-color: #9DB98A; }
.nat-tr.tone-friction { border-left-color: #C98A6E; }
.nat-tr.tone-blend { border-left-color: #C9A45C; }
.nat-tr .tr-h { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.nat-tr .tr-g { color: var(--ink); opacity: .75; font-size: 14px; white-space: nowrap; }
.nat-tr .tr-h b { font-size: 13.5px; color: var(--ink); }
.nat-tr .tr-o { margin-left: auto; font-size: 11.5px; color: var(--ink); opacity: .5; white-space: nowrap; }
.nat-tr .tr-x { margin-top: 6px; font-size: 13px; line-height: 1.65; color: var(--ink); opacity: .82; }
.nat-kp3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 860px) { .nat-kp3 { grid-template-columns: 1fr; } }
.kp-card { border: 1px solid var(--line); border-radius: 12px; padding: 14px 15px; background: #FFFDF9; }
.kp-card.main { border-color: #E3BE7A; background: linear-gradient(150deg, #FFFDF6, #FBF3DE); }
.kp-card .kp-h { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink); }
.kp-card .kp-g { color: #A8843E; font-size: 17px; }
.kp-card .kp-sign { margin-top: 4px; font-size: 12.5px; color: var(--ink); opacity: .65; font-weight: 600; }
.kp-card .kp-x { margin-top: 8px; font-size: 13px; line-height: 1.65; color: var(--ink); opacity: .82; }
.nat-bal { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) { .nat-bal { grid-template-columns: 1fr; } }

/* ── Klausimų pokalbis ── */
.askc { display: flex; flex-direction: column; gap: 10px; max-height: 460px; overflow-y: auto; padding: 6px 2px 4px; scroll-behavior: smooth; }
.askm { max-width: 78%; padding: 11px 15px; border-radius: 16px; font-size: 14.5px; line-height: 1.65; white-space: pre-wrap; }
.askm.me { align-self: flex-end; background: var(--ak-soft, #F6EEDC); border: 1px solid #EADFC2; border-bottom-right-radius: 5px; color: var(--ink); }
.askm.ai { align-self: flex-start; background: #FFFDF8; border: 1px solid var(--line); border-bottom-left-radius: 5px; color: var(--ink-2); }
.askm.typing { display: flex; gap: 5px; align-items: center; padding: 15px 17px; }
.askm.typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--mut); opacity: .4; animation: askdot 1.2s infinite; }
.askm.typing i:nth-child(2) { animation-delay: .2s; }
.askm.typing i:nth-child(3) { animation-delay: .4s; }
@keyframes askdot { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.ask-bar { display: flex; gap: 10px; align-items: flex-end; margin-top: 14px; }
.ask-bar textarea { flex: 1; padding: 11px 14px; border: 1px solid var(--line); border-radius: 12px; font: inherit; font-size: 14.5px; line-height: 1.5; resize: none; min-height: 44px; max-height: 120px; background: #fff; }
.ask-bar textarea:focus { outline: none; border-color: var(--ak); }
.ask-cost { margin-top: 7px; font-size: 10.5px; color: var(--mut); opacity: .75; text-align: right; }

/* — ✦ Žvaigždės: šoninės juostos ženkliukas ir langas — */
.stars-chip { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; margin-bottom: 8px; border: 1px solid rgba(201, 162, 75, .35); border-radius: 12px; background: rgba(201, 162, 75, .10); color: #fff; cursor: pointer; text-align: left; font: inherit; }
.stars-chip:hover { background: rgba(201, 162, 75, .18); }
.stars-chip .sc-star { color: #C9A24B; font-size: 18px; }
.stars-chip .sc-txt { display: flex; flex-direction: column; line-height: 1.15; }
.stars-chip .sc-txt b { font-size: 15px; }
.stars-chip .sc-txt small { font-size: 10.5px; opacity: .7; }
.stars-modal { text-align: center; }
.st-bal { font-size: 30px; font-weight: 800; color: var(--ak-deep); margin: 4px 0 8px; }
.st-costs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 12px 0; }
.st-cost { background: #FDF6EC; border: 1px solid #F0E3CC; border-radius: 12px; padding: 10px 8px; font-size: 12px; color: var(--ink-2); }
.st-cost b { display: block; font-size: 16px; color: var(--ink); margin-top: 2px; }
.st-packs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 10px 0 6px; }
.st-pack { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 8px; }
.st-pack b { font-size: 17px; }
.st-pack span { font-size: 12px; opacity: .85; }
.st-need { margin: 8px 0; text-align: left; }
.st-log { text-align: left; margin-top: 6px; max-height: 220px; overflow: auto; }
.st-row { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; padding: 5px 0; border-bottom: 1px dashed var(--line); }
.st-row .d { color: var(--mut); min-width: 64px; }
.st-row .pos { color: var(--good); font-weight: 700; }
.st-row .neg { color: var(--warn); font-weight: 700; }
.ask-hint { font-size: 11px; color: var(--mut); margin-top: 6px; }
.st-ref { text-align: left; }
.st-code { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #FDF6EC; border: 1px dashed #D9C08A; border-radius: 12px; padding: 10px 14px; }
.st-code span { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); font-weight: 800; }
.st-code b { font-size: 20px; letter-spacing: .12em; color: var(--ak-deep); }
.st-refbtns { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.st-apply { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.st-apply input { flex: 1; min-width: 120px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.rep-cost { font-weight: 600; opacity: .85; }
@media (max-width: 560px) { .st-costs, .st-packs { grid-template-columns: 1fr 1fr 1fr; gap: 6px; } .st-cost { font-size: 11px; } }

/* — Kortos energijos: nori / gali pasiekti / gali gauti (šviesioji ir tamsioji pusė) — */
.en-row { margin-top: 7px; }
.en-k { display: block; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); font-weight: 800; opacity: .8; }
.en-v { display: block; font-size: 13.5px; line-height: 1.5; color: var(--ink); margin-top: 1px; font-weight: 500; }

/* — Sąvokų paaiškinimai žmogaus lange (suskleidžiama) — */
.pm-gloss { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 10px; }
.pm-gloss summary { cursor: pointer; font-size: 12.5px; font-weight: 700; color: var(--ak-deep); list-style: none; user-select: none; }
.pm-gloss summary::-webkit-details-marker { display: none; }
.pm-gloss summary::before { content: '▸ '; }
.pm-gloss[open] summary::before { content: '▾ '; }
.gl-item { margin-top: 10px; }
.gl-item b { font-size: 12.5px; color: var(--ink); }
.gl-item p { font-size: 12.5px; line-height: 1.55; color: var(--ink-2); margin: 2px 0 0; }
/* ryšių žemėlapyje — atviras paaiškinimų langelis po ryšio rūšies antrašte */
/* brand'inis šiltas kremas (kaip .note), ne --wash — naktinė tema jį perrašo į melsvą */
.bm-gloss { background: #FDF6EC; border: 1px solid #F0E3CC; border-radius: var(--r-sm); padding: 10px 14px 12px; margin: 4px 0 14px; }
.bm-gloss .gl-item:first-child { margin-top: 0; }

/* — Ataskaitos konstruktorius: 3 žingsniai (tipas → žmonės → kaina) — */
.rb-steps { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 14px 0 12px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 800; color: var(--mut); }
.rb-step.on { color: var(--ak-deep); }
.rb-step.done { color: var(--good); }
.rb-arr { color: var(--line); font-weight: 400; }
.rk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.rk-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px 14px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; text-align: left; cursor: pointer; font: inherit; color: var(--ink); transition: border-color .15s, box-shadow .15s; }
.rk-card:hover { border-color: var(--ak); box-shadow: 0 4px 18px rgba(0,0,0,.05); }
.rk-card.on { border-color: var(--ak-deep); background: #FDF6EC; }
.rk-card .rk-ic { font-size: 22px; color: var(--ak-deep); line-height: 1; }
.rk-card b { font-size: 14.5px; }
.rk-card small { font-size: 12px; line-height: 1.45; color: var(--ink-2); }
.rb-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.rc-sum { max-width: 620px; }
.rc-kind { display: flex; gap: 12px; align-items: flex-start; }
.rc-kind .rk-ic { font-size: 24px; color: var(--ak-deep); line-height: 1.1; }
.rc-kind b { display: block; font-size: 15px; }
.rc-kind small { font-size: 12.5px; color: var(--ink-2); }
.rc-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px; color: var(--ink-2); }
.rc-row b { color: var(--ink); white-space: nowrap; }
.rc-total { border-bottom: 0; padding-top: 10px; font-size: 14px; }
.rc-total b { font-size: 20px; color: var(--ak-deep); }

/* Vidinis pranešimas (2026-09-04) */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#252C3F;color:#fff;padding:12px 18px;border-radius:14px;box-shadow:0 12px 30px -10px rgba(8,14,32,.5);z-index:9999;cursor:pointer;font-size:14px;max-width:min(92vw,520px);line-height:1.45;animation:toastIn .25s ease-out}
.toast b{color:#C9A24B;font-weight:800;white-space:nowrap}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* Ataskaitos konstruktorius: „apie ką“ kortelės ir žmonių sąrašas (2026-09-04) */
.who-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; max-width: 720px; }
.who-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 18px 16px; border: 1.5px solid var(--line); border-radius: 16px; background: #fff; text-align: left; cursor: pointer; font: inherit; color: var(--ink); transition: all .15s; }
.who-card:hover { border-color: var(--ak); box-shadow: 0 6px 22px rgba(0,0,0,.06); }
.who-card.on { border-color: var(--ak-deep); background: #FDF6EC; }
.who-card .who-ic { font-size: 26px; color: var(--ak-deep); line-height: 1; margin-bottom: 4px; }
.who-card b { font-size: 16px; }
.who-card small { font-size: 12.5px; color: var(--mut); }
.who-card .who-x { font-size: 12.5px; line-height: 1.5; color: var(--ink-2); margin-top: 6px; }
.rp-search { margin: 10px 0 2px; max-width: 420px; }
.rp-search input { width: 100%; padding: 10px 14px; border: 1.5px solid var(--line); border-radius: 12px; font: inherit; font-size: 14px; background: #FFFDF6; color: var(--ink); }
.rp-search input:focus { outline: none; border-color: var(--ak-light); box-shadow: 0 0 0 4px var(--ak-soft); }
.rp-list { margin-top: 6px; max-width: 720px; }
.rp-grp { margin-top: 12px; }
.rp-glabel { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mut-2); margin: 0 0 6px 4px; }
.rp-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 12px; border: 1.5px solid var(--line); border-radius: 14px; background: #FFFDF6; cursor: pointer; font: inherit; text-align: left; color: var(--ink); margin-bottom: 6px; transition: all .15s; }
.rp-row:hover { border-color: var(--ak-light); }
.rp-row.on { border-color: var(--ak-deep); background: #FDF6EC; }
.rp-av { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--ak-soft); color: var(--ak-deep); font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.rp-row.on .rp-av { background: var(--ak-deep); color: #FFFDF6; }
.rp-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.rp-main b { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-main small { font-size: 12px; color: var(--mut); }
.rp-chk { flex: none; width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--line); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #FFFDF6; }
.rp-row.on .rp-chk { background: var(--ak-deep); border-color: var(--ak-deep); }
.rp-row.dash { border-style: dashed; color: var(--mut); font-weight: 700; justify-content: center; background: transparent; }

/* Ciklo datos parinkiklis (2026-09-04) */
.btn-cyc-ghost { background: #fff; color: var(--cyc); border: 1.5px solid var(--cyc); }
.btn-cyc-ghost:hover { background: var(--cyc-soft); }
.dp-anchor { position: relative; display: inline-block; }
.dp-pop { position: absolute; left: 0; top: calc(100% + 8px); z-index: 60; width: 316px; max-width: calc(100vw - 40px); background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 16px 40px -12px rgba(30, 20, 40, .28); padding: 14px 14px 10px; animation: toastIn .18s ease-out; }
.dp-quick { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.dp-chip { font: inherit; font-size: 12.5px; font-weight: 700; color: var(--cyc); background: var(--cyc-soft); border: 1px solid transparent; border-radius: 999px; padding: 6px 12px; cursor: pointer; }
.dp-chip:hover { border-color: var(--cyc); }
.dp-head { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 8px; }
.dp-head b { font-size: 14px; color: var(--ink); }
.dp-nav { font: inherit; font-size: 18px; line-height: 1; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer; }
.dp-nav:hover { border-color: var(--cyc); color: var(--cyc); }
.dp-nav:disabled { opacity: .3; cursor: default; }
.dp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.dp-wd { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mut-2); text-align: center; padding: 2px 0 4px; }
.dp-day { font: inherit; font-size: 13.5px; font-weight: 700; color: var(--ink); background: transparent; border: 1.5px solid transparent; border-radius: 50%; width: 38px; height: 38px; margin: 0 auto; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.dp-day:hover { background: var(--cyc-soft); }
.dp-day.today { border-color: var(--ink); }
.dp-day.on { background: var(--cyc); color: #fff; }
.dp-day.on:hover { background: #B65E7B; }
.dp-day.dis { color: var(--mut-2); cursor: default; background: transparent; }
.dp-day.mut { cursor: default; }
.dp-note { font-size: 11.5px; color: var(--mut); margin: 8px 2px 0; line-height: 1.45; }

/* ---------- Scriptum+ langas v2 (2026-09-06): būsena, Free vs Plus lentelė, planų kortelės, viena CTA ---------- */
.pm2{padding-top:0}
.pm2 .pm-star{font-size:22px;line-height:1;margin:-4px 0 4px}
.pm2 h3{font-size:28px;line-height:1.1;margin:0 0 2px}
.pm2 .pm-tag{margin-bottom:16px}
.pm-cta-sub{font-size:12.5px;color:#7A85A1;margin:10px 0 6px;font-variant-numeric:tabular-nums}
.pm-codewrap{margin-top:6px}
.pm-codewrap summary{cursor:pointer;font-size:12.5px;color:#A6812E;font-weight:700;list-style:none}
.pm-codewrap summary::-webkit-details-marker{display:none}
.pm-codewrap .pm-code{margin:8px auto 0;max-width:420px}
.pm2 .pm-trial{margin:16px 0 4px}
.pm-legal{font-size:11.5px;color:#A0A8BA;margin:0}
.pm-legal a{color:#7A85A1;text-decoration:underline}
/* ── Scriptum+ langas v5 (2026-09-06, Manto pasirinktas maketo 1 variantas „Trys kolonos“): trukmės jungiklis, trys stulpeliai
   su sulygiuotomis eilutėmis, pasirinktas planas — šiltas atspalvis + auksinė linija viršuje, vienas mygtukas ── */
.plus-page{max-width:980px;margin:0 auto}
.plus-panel{padding:30px 40px 28px}
.plus-back{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:4px 0;margin:0 0 12px;font:inherit;font-size:13px;font-weight:800;color:var(--mut);cursor:pointer}
.plus-back:hover{color:var(--ak-deep)}
.pm-segrow{text-align:center;margin:0 0 18px}
.pm-seg{display:inline-flex;background:var(--wash);border-radius:999px;padding:3px;gap:2px}
.pm-seg button{border:0;background:transparent;padding:7px 16px;border-radius:999px;font:inherit;font-size:13px;font-weight:700;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.pm-seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(20,20,30,.14)}
.pm-seg em{font-style:normal;color:var(--ak-deep);font-size:11.5px;font-weight:800}
.pm-offline{font-size:12.5px;color:var(--ak-deep);font-weight:700;margin:-8px 0 14px}
.pm-offline b{font-variant-numeric:tabular-nums}
.pm-cols{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto repeat(6,auto) auto;grid-auto-flow:column;text-align:left}
.pm-cell{padding:0 22px;position:relative;transition:background .15s}
.pm-cell.c-plus,.pm-cell.c-star,.pm-cell.c-duo{cursor:pointer;border-left:1px solid var(--line-soft,#EAEEF6)}
.pm-cell.c-plus{border-left:0}
.pm-cell.h{padding-top:22px;padding-bottom:12px;border-radius:18px 18px 0 0}
.pm-cell.l{padding-top:9px;padding-bottom:9px;font-size:13.5px;display:flex;gap:9px;align-items:flex-start;color:var(--ink-2);line-height:1.4}
.pm-cell.c-free.l{color:var(--ink-3)}
.pm-cell.f{padding-top:14px;padding-bottom:22px;border-radius:0 0 18px 18px;min-height:48px}
.pm-cell.hov{background:#FCFAF4}
.pm-cell.sel{background:var(--ak-softer,#FAF6E8);border-left-color:transparent}
.pm-cell.sel.h{box-shadow:inset 0 3px 0 var(--ak)}
.pm-pop{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ak-deep);font-weight:800;white-space:nowrap;margin-bottom:8px;min-height:16px}
.pm-name{font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink)}
.pm-cell.sel .pm-name{color:var(--ak-deep)}
.pm-tagl{font-size:13px;color:var(--mut);margin:3px 0 16px;min-height:40px;line-height:1.4}
.pm-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--mut-2,#9AA4BC);flex:0 0 auto;position:relative;background:#fff}
.pm-cell.sel .pm-radio{border-color:var(--ak)}
.pm-cell.sel .pm-radio::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--ak)}
.pm-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.pm-price .num{font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.pm-price s{font-size:14px;color:var(--mut-2,#9AA4BC);font-weight:600}
.pm-price .per{font-size:13px;color:var(--mut);font-weight:600}
.pm-price .sub{flex-basis:100%;font-size:12.5px;color:var(--mut);margin-top:5px}
.pm-ck{display:inline-flex;width:16px;height:16px;color:var(--ak);flex:0 0 auto;margin-top:2px}
.pm-ck svg{width:16px;height:16px}
.pm-dot{display:inline-block;width:16px;text-align:center;color:var(--mut-2,#9AA4BC);flex:0 0 auto;font-weight:800}
.pm-cell.l b{color:var(--ak-deep)}
.pm-pick{font-size:12.5px;font-weight:800;color:var(--mut)}
.pm-cell.sel .pm-pick{color:var(--ak-deep)}
.pm-cta-block{text-align:center;margin-top:24px}
/* Scriptum+ Duo — antra paskyra (2026-09-14) */
.pm-duo{margin:14px auto 0;max-width:440px;text-align:left;background:var(--wash);border-radius:14px;padding:14px 16px}
.pm-duo-t{font-weight:800;font-size:14px;margin-bottom:6px;color:var(--ink)}
.pm-duo-hint{font-size:12.5px;color:var(--mut);margin:0 0 10px;line-height:1.45}
.pm-duo-st{font-size:13.5px;font-weight:700;color:var(--ak-deep)}
.pm-duo-acts{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}
.pm-duo small,.pm-duo-lock{font-size:12px;color:var(--mut);display:block;margin-top:6px}
.pm-duo .pm-code{margin-top:0}
.pm5 .pm-cta{width:auto;min-width:320px;font-size:15px;padding:14px 36px;border-radius:999px;margin:0;box-shadow:0 12px 26px -12px rgba(166,129,46,.7)}
@media (max-width:640px){
  .plus-panel{padding:22px 14px 20px}
  .pm-cols{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none}
  .pm-cell{padding-left:16px;padding-right:16px;border-left:0}
  .pm-cell.c-free.l,.pm-cell.c-free.f{display:none}
  .pm-cell.c-free.h{border-radius:16px;padding:14px 16px;background:var(--wash);margin-bottom:10px}
  .pm-cell.c-free .pm-tagl{min-height:0;margin-bottom:0}
  .pm-cell.c-free .pm-pop{display:none}
  .pm-cell.c-plus.h,.pm-cell.c-star.h,.pm-cell.c-duo.h{border-radius:16px 16px 0 0;border:1px solid var(--line);border-bottom:0;padding-top:16px}
  .pm-cell.c-plus.l,.pm-cell.c-star.l,.pm-cell.c-duo.l{border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .pm-cell.c-plus.f,.pm-cell.c-star.f,.pm-cell.c-duo.f{border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;margin-bottom:10px;padding-top:6px;padding-bottom:14px;min-height:0}
  .pm-cell.sel{border-color:var(--ak) !important}
  .pm-tagl{min-height:0;margin-bottom:10px}
  .pm-pop{min-height:0;margin-bottom:4px}
  .pm-price .num{font-size:24px}
  .pm5 .pm-cta{width:100%;min-width:0}
  .pm-seg button{padding:7px 10px;font-size:12.5px;gap:4px}
  .pm-seg em{font-size:11px}
}

/* ── Kvietimo nuoroda žvaigždžių lange + kvietimas registruojantis (2026-09-06) ── */
.st-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; background: #FDF6EC; border: 1px dashed #D9C08A; border-radius: 12px; padding: 10px 14px; cursor: pointer; font: inherit; text-align: left; color: inherit; }
.st-link span { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); font-weight: 800; white-space: nowrap; }
.st-link b { font-size: 15px; color: var(--ak-deep); font-weight: 800; word-break: break-all; text-align: right; }
.st-link:hover { border-style: solid; }
.rg-ref { margin: 0 0 12px; }
.rg-ref-ok { font-size: 13px; line-height: 1.45; color: #2F6B45; background: #EEF7F0; border: 1px solid #CFE8D6; border-radius: 10px; padding: 9px 12px; }
.rg-ref-ok b { letter-spacing: .1em; }
.rg-ref-tgl { display: inline-block; font-size: 13px; color: var(--mut); text-decoration: underline; cursor: pointer; }
.rg-ref .st-apply { margin-top: 6px; }

/* ── Ryšių skilties antraštė: skirtukai + juosta (2026-09-06, pasiūlymas 1) ── */
.cg-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin: 0 0 12px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.cg-tabs::-webkit-scrollbar { display: none; }
.cg-tab { border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--mut); padding: 8px 12px 10px;
  cursor: pointer; display: inline-flex; align-items: center; gap: 7px; border-bottom: 2.5px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.cg-tab i { font-style: normal; font-size: 15px; }
.cg-tab .n { font-size: 11px; font-weight: 800; background: var(--line-soft, #EAEEF6); color: var(--ink-3); border-radius: 999px; padding: 1px 7px; }
.cg-tab.on { color: var(--ak-deep); border-bottom-color: var(--ak); }
.cg-tab.on .n { background: var(--ak-soft); color: var(--ak-deep); }
.cg-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 6px; }
.cg-grow { flex: 1; }
.cg-cnt { font-size: 12.5px; color: var(--mut); font-weight: 600; white-space: nowrap; }
.cg-seg { display: inline-flex; background: var(--line-soft, #EAEEF6); border-radius: 999px; padding: 3px; }
.cg-seg button { border: 0; background: transparent; font: inherit; font-size: 12.5px; font-weight: 800; color: var(--ink-3); padding: 6px 12px;
  border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.cg-seg button.on { background: var(--card); color: var(--ink); box-shadow: 0 1px 4px rgba(20, 28, 52, .14); }
.cg-seg.gold button.on { background: var(--ak); color: #fff; }
.cg-seg.dim { opacity: .45; }
.cg-seg.dim:hover { opacity: .8; }
.kdot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex: none; }
@media (max-width: 480px) { .cg-tab { padding: 8px 9px 10px; font-size: 13px; } .cg-seg button { padding: 6px 9px; } }


/* ── Išsamios ataskaitos pasiūlymas žmogaus lange (2026-09-06) ── */
.rep-offer{margin-top:18px;padding:18px 20px 16px;border-radius:18px;background:linear-gradient(135deg,#FFFDF7,var(--ak-softer,#FAF6E8));border:1px solid rgba(201,162,75,.35);text-align:left}
.rep-offer .ro-kick{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ak-deep);font-weight:800}
.rep-offer .ro-title{font-size:26px;line-height:1.05;margin:4px 0 6px;color:var(--ink);font-weight:600}
.rep-offer .ro-text{font-size:13.5px;line-height:1.5;color:var(--ink-2);margin:0 0 12px}
.ro-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ro-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.ro-opt:hover{border-color:var(--ak);box-shadow:0 6px 22px rgba(0,0,0,.06)}
.ro-opt .ro-ic{font-size:22px;color:var(--ak-deep);line-height:1;flex:0 0 auto}
.ro-opt .ro-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.ro-opt b{font-size:14px}
.ro-opt small{font-size:12px;color:var(--mut);line-height:1.35}
.ro-opt .ro-cost{flex:0 0 auto;font-size:13px;font-weight:800;color:var(--ak-deep);white-space:nowrap}
.ro-opts.one{grid-template-columns:minmax(0,520px)}
.rep-offer.me{margin-top:22px}
.rep-offer .ro-text b{color:var(--ink);font-weight:700}
@media (max-width:640px){.ro-opts{grid-template-columns:1fr}}

/* ── Pokalbis apie ataskaitą (2026-09-06) ── */
.rask .askc{min-height:56px}
.rask-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 6px}
.rask-chip{border:1px solid var(--ak-light);background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:700;color:var(--ak-deep);cursor:pointer;transition:background .15s}
.rask-chip:hover{background:var(--ak-soft)}

/* ---------- Giminės medis (2026-09-08, „Auksinė gija“) ---------- */
.ft-head { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12.5px; color: var(--mut); font-weight: 700; margin: 4px 0 10px; }
.ft-head b { color: var(--ink); }
.ft-wrap { background: #FFFDF9; border: 1px solid var(--line); border-radius: 18px; padding: 6px; overflow: auto; }
.ft-svg { display: block; min-width: 760px; width: 100%; height: auto; }
.ft-svg text { font-family: inherit; }
.ft-band { fill: #FAF6E8; } .ft-band.alt { fill: #FFFDF9; }
.ft-rowlbl { fill: var(--mut); font-size: 10.5px; font-weight: 800; letter-spacing: 1.6px; }
.ft-e { fill: none; stroke: #D9BE7A; stroke-width: 1.8; stroke-linecap: round; transition: opacity .25s, stroke .2s; }
.ft-e.faint { stroke: #E9DCB8; }
.ft-e.dim { opacity: .12; }
.ft-e.hl { stroke: var(--ak-deep); stroke-width: 3; }
.ft-ring { fill: #fff; stroke: #D9BE7A; stroke-width: 1.5; } .ft-ringc { fill: #D9BE7A; }
.ft-node, .ft-slot { cursor: pointer; transition: opacity .25s; outline: none; }
.ft-node.dim, .ft-slot.dim { opacity: .26; }
.ft-ball { fill: url(#ftBall); stroke: none; }
.ft-ball.me { fill: url(#ftMe); stroke: var(--ak-deep); stroke-width: 1; }
.ft-ball.nodate { fill: #fff; stroke: var(--line); stroke-width: 1; }
.ft-halo { fill: none; stroke: var(--ak-deep); stroke-width: 1; opacity: .25; }
.ft-node.sel .ft-ball { stroke: var(--ak-deep); stroke-width: 2.4; }
.ft-node.sel .ft-halo { opacity: .6; }
.ft-ini { fill: var(--ak-deep); font-size: 20px; font-weight: 800; text-anchor: middle; }
.ft-ini.me { fill: #fff; font-size: 24px; } .ft-ini.nodate { fill: var(--mut); }
.ft-nb { fill: var(--ak-deep); stroke: #FFFDF9; stroke-width: 2; } .ft-nb.me { fill: #fff; stroke: var(--ak-deep); stroke-width: 1.2; }
.ft-nbt { fill: #fff; font-size: 11px; font-weight: 800; text-anchor: middle; } .ft-nbt.me { fill: var(--ak-deep); }
.ft-sb { fill: #fff; stroke: var(--ak-light); stroke-width: 1.3; }
.ft-sbt { fill: var(--ak-deep); font-size: 12px; text-anchor: middle; font-family: 'Segoe UI Symbol', 'Noto Sans Symbols 2', 'Noto Sans Symbols', 'Apple Symbols', sans-serif; }
.ft-name { fill: var(--ink); font-size: 13px; font-weight: 800; text-anchor: middle; } .ft-name.slot { fill: var(--mut); }
.ft-rel { fill: var(--mut); font-size: 10px; font-weight: 800; letter-spacing: 1.2px; text-anchor: middle; }
.ft-year { fill: var(--mut); font-size: 10.5px; text-anchor: middle; }
.ft-slotc { fill: #FFFDF9; stroke: var(--ak-light); stroke-width: 1.5; stroke-dasharray: 5 4; }
.ft-slot:hover .ft-slotc, .ft-slot:focus .ft-slotc { fill: var(--ak-softer); stroke: var(--ak-deep); }
.ft-plus { fill: var(--ak-light); font-size: 28px; font-weight: 600; text-anchor: middle; }
.ft-slot:hover .ft-plus, .ft-slot:focus .ft-plus { fill: var(--ak-deep); }
.ft-info { margin: 10px 0 8px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); font-size: 13.5px; color: var(--ink-2); line-height: 1.5; }
.ft-info .mut { color: var(--mut); }
.ft-info .ft-line { margin-top: 4px; color: var(--ak-deep); font-weight: 700; }
.ft-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ft-btns .btn { padding: 6px 13px; font-size: 12.5px; }
.ft-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12px; color: var(--mut); margin: 4px 0 6px; }
.ft-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ft-lg { width: 14px; height: 14px; border-radius: 50%; display: inline-block; background: radial-gradient(circle at 32% 28%, #fff, var(--ak-soft)); box-shadow: 0 2px 5px -2px rgba(43,36,22,.35); }
.ft-lg.me { background: var(--ak-deep); }
.ft-lg.slot { background: transparent; border: 1.5px dashed var(--ak-light); box-shadow: none; }
.ft-lg.ring { background: #fff; border: 1.5px solid #D9BE7A; box-shadow: none; width: 10px; height: 10px; }
.ft-lg.num { background: var(--ak-deep); color: #fff; font-size: 9px; font-weight: 800; font-style: normal; display: inline-flex; align-items: center; justify-content: center; box-shadow: none; }
.ft-ins { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 12px; }
.ft-ins .c { background: var(--wash); border-radius: 16px; padding: 14px 16px; min-width: 0; }
.ft-insp { margin: 6px 0 0; font-size: 13.5px; color: var(--ink-2); line-height: 1.5; }
.ft-insp.muted { color: var(--mut); }
.ft-cmpw { overflow: auto; }
table.ft-cmp { border-collapse: collapse; font-size: 12.5px; margin-top: 6px; }
table.ft-cmp th, table.ft-cmp td { padding: 5px 8px; text-align: center; border: 1px solid var(--line); min-width: 44px; }
table.ft-cmp th { background: #fff; color: var(--ink-3); font-weight: 800; text-align: left; white-space: nowrap; }
table.ft-cmp tr:first-child th { text-align: center; }
table.ft-cmp td.h1 { background: #F1E6C7; } table.ft-cmp td.h2 { background: #E6D3A0; color: #5A4611; } table.ft-cmp td.h3 { background: var(--ak-deep); color: #fff; font-weight: 800; }
table.ft-cmp td.na { color: var(--mut); }
.ft-pick { max-height: 300px; overflow: auto; border: 1px solid var(--line); border-radius: 14px; }
.ft-row { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-top: 1px solid var(--line-soft); cursor: pointer; }
.ft-row:first-child { border-top: 0; }
.ft-row:hover { background: var(--ak-softer); }
/* giminės medis — šešios kartos ir dvi pusės (2026-09-10): partnerio pusė variniu tonu, smulkūs proseneliai, anūkai */
.ft-svg.wide { min-width: 1100px; }
.ft-band.cu { fill: #FBF3EC; } .ft-band.cu.alt { fill: #FFFDF9; }
.ft-split { stroke: #E6DCC2; stroke-width: 1; stroke-dasharray: 2 6; }
.ft-side { fill: var(--ak-deep); font-size: 11px; font-weight: 800; letter-spacing: 2px; } .ft-side.cu { fill: #B5673B; }
.ft-e.cu { stroke: #DDB394; } .ft-e.cu.faint { stroke: #EFD9C8; } .ft-e.thin { stroke-width: 1.2; } .ft-e.hl.cu { stroke: #9A5530; }
.ft-ring.cu { stroke: #DDB394; } .ft-ringc.cu { fill: #DDB394; }
.ft-ball.cu { fill: url(#ftBallC); }
.ft-ball.root { fill: url(#ftPt); stroke: #B5673B; stroke-width: 1; }
.ft-node.root .ft-halo { stroke: #B5673B; }
.ft-node.cu .ft-ini { fill: #B5673B; } .ft-node.cu .ft-nb { fill: #B5673B; } .ft-node.cu .ft-sb { stroke: #E0A882; } .ft-node.cu .ft-sbt { fill: #B5673B; }
.ft-node.root .ft-ini { fill: #fff; } .ft-node.root .ft-nb { fill: #fff; stroke: #B5673B; } .ft-node.root .ft-nbt { fill: #B5673B; }
.ft-ini.tiny { font-size: 13px; } .ft-nbt.tiny { font-size: 8.5px; } .ft-nb.tiny { stroke-width: 1.5; } .ft-year.tiny { font-size: 9px; }
.ft-slot.cu .ft-slotc { stroke: #E0A882; } .ft-slot.cu .ft-plus { fill: #E0A882; }
.ft-slot.cu:hover .ft-slotc, .ft-slot.cu:focus .ft-slotc { fill: #FBF3EC; stroke: #B5673B; } .ft-slot.cu:hover .ft-plus, .ft-slot.cu:focus .ft-plus { fill: #B5673B; }
.ft-slot.tslot .ft-slotc { stroke-dasharray: 3 3; stroke-width: 1.2; } .ft-slot.tslot .ft-plus { font-size: 17px; }
.ft-lg.cu { background: radial-gradient(circle at 32% 28%, #fff, #F6E6DA); }
.ft-head .ft-sides { margin-right: 6px; } .ft-head .ft-sides button { padding: 5px 11px; font-size: 12px; }
/* brolio / sesers šeimos ženkliukas ⌂ N (sulankstyta) / ⌂ – (išskleista) (2026-09-10) */
.ft-fam { cursor: pointer; }
.ft-fam rect { fill: var(--ak-deep); stroke: #FFFDF9; stroke-width: 1.5; transition: fill .15s; }
.ft-fam text { fill: #fff; font-size: 10px; font-weight: 800; text-anchor: middle; }
.ft-fam.empty rect { fill: #FFFDF9; stroke: var(--ak-light); stroke-dasharray: 3 2; } .ft-fam.empty text { fill: var(--ak-deep); }
.ft-fam.open rect { fill: #fff; stroke: var(--ak-deep); } .ft-fam.open text { fill: var(--ak-deep); }
.ft-fam:hover rect { stroke: var(--ak-deep); }
.ft-node.cu .ft-fam rect { fill: #B5673B; } .ft-node.cu .ft-fam.empty rect { fill: #FFFDF9; stroke: #E0A882; } .ft-node.cu .ft-fam.empty text, .ft-node.cu .ft-fam.open text { fill: #B5673B; }
.ft-node.cu .ft-fam.open rect { fill: #fff; stroke: #B5673B; }
.ft-lg.fam { background: var(--ak-deep); color: #fff; font-size: 9px; font-weight: 800; font-style: normal; display: inline-flex; align-items: center; justify-content: center; box-shadow: none; border-radius: 7px; width: 18px; }
/* išsiskleidžianti tranzito eilutė (2026-09-11, tranzitai-gyvi-2 1 variantas): tamsus rato langelis + blokai + laiko juosta */
.nat-tr.trx { cursor: pointer; position: relative; transition: background .2s; padding-right: 26px; }
.nat-tr.trx:hover { background: var(--ak-softer); }
.nat-tr.trx .tr-chev { position: absolute; right: 10px; top: 8px; color: var(--ak-light); font-size: 15px; font-weight: 800; transition: transform .25s; }
.nat-tr.trx.on .tr-chev { transform: rotate(90deg); color: var(--ak-deep); }
.nat-tr.trx.on { background: var(--ak-softer); grid-column: 1 / -1; }
.nat-trs.dim .nat-tr:not(.on) { opacity: .45; }
.nat-tr.trx .trx-exp { display: none; }
.nat-tr.trx.on .trx-exp { display: grid; grid-template-columns: 236px 1fr; gap: 12px 18px; align-items: start; margin-top: 10px; border-top: 1px dashed var(--line); padding-top: 12px; animation: trxIn .35s ease-out; }
@keyframes trxIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.trx-mini { width: 236px; border-radius: 18px; background: #17203A; color: #E8ECF5; padding: 10px 10px 8px; cursor: pointer;
  background-image: radial-gradient(circle at 9% 12%, rgba(255,255,255,.10) 0 1px, transparent 2px), radial-gradient(circle at 23% 62%, rgba(255,255,255,.07) 0 1px, transparent 2px),
    radial-gradient(circle at 48% 18%, rgba(255,255,255,.08) 0 1px, transparent 2px), radial-gradient(circle at 71% 78%, rgba(255,255,255,.07) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 30%, rgba(255,255,255,.10) 0 1px, transparent 2px), radial-gradient(ellipse at 50% 60%, rgba(201,162,75,.10), transparent 60%); }
.trx-box { position: relative; width: 216px; height: 216px; margin: 0 auto; }
.trx-box svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.trx-box text { font-family: 'Segoe UI Symbol', 'Noto Sans Symbols 2', 'Noto Sans Symbols', 'Apple Symbols', sans-serif; }
.trx-cap { text-align: center; margin-top: 4px; min-height: 40px; }
.trx-cap .n { font-family: 'Caveat', cursive; font-weight: 600; font-size: 20px; line-height: 1.05; color: #F3E8C8; }
.trx-cap .s { font-size: 10.5px; color: rgba(232,236,245,.65); letter-spacing: .04em; }
.trx-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.trx-chip { font-size: 11px; font-weight: 800; border-radius: 999px; padding: 3px 9px; background: var(--ak-soft); color: var(--ak-deep); }
.trx-chip.cu { background: #F6E6DA; color: #9A5530; } .trx-chip.bl { background: #F1EEE6; color: var(--ink-3); }
.trx-blk { font-size: 13px; color: var(--ink-2); line-height: 1.5; } .trx-blk + .trx-blk { margin-top: 8px; }
.trx-blk b { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--mut); margin-bottom: 2px; }
.trx-tl { grid-column: 1 / -1; margin-top: 2px; }
.trx-tl .bar { position: relative; height: 6px; border-radius: 99px; background: var(--line-soft); }
.trx-tl .bar i { position: absolute; inset: 0; border-radius: 99px; background: linear-gradient(90deg, var(--ak-soft), var(--ak-light), var(--ak-soft)); }
.trx-tl .pt { position: absolute; top: 50%; width: 12px; height: 12px; border-radius: 50%; transform: translate(-50%, -50%); background: #fff; border: 2px solid var(--ak-deep); }
.trx-tl .pt.ex { background: var(--ak-deep); }
.trx-tl .lbl { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--mut); margin-top: 6px; font-weight: 700; }
.trx-tl .lbl b { color: var(--ak-deep); }
@media (max-width: 760px) { .nat-tr.trx.on .trx-exp { grid-template-columns: 1fr; } .trx-mini { width: 100%; } }
.ft-row .ft-ini2 { width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; background: radial-gradient(circle at 32% 28%, #fff, var(--ak-soft)); border: 1.5px solid var(--ak-light); color: var(--ak-deep); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.ft-row .ft-main { display: flex; flex-direction: column; min-width: 0; }
.ft-row .ft-main b { font-size: 14px; }
.ft-row .ft-sub2 { font-size: 12px; color: var(--mut); }
@media (max-width: 760px) { .ft-ins { grid-template-columns: 1fr; } }
/* giminės medis — 2 etapas (2026-09-08): išėjusieji, punktyrinės jungtys, dalinimasis, pradžios kortelė */
.ft-node.dead { opacity: .58; }
.ft-node.dead.dim { opacity: .18; }
.ft-e.dashed { stroke-dasharray: 5 5; }
.ft-head .ft-grow { flex: 1; }
.ft-share { padding: 5px 12px; font-size: 12px; }
.ft-lg.dash { background: transparent; border-top: 2px dashed #D9BE7A; border-radius: 0; height: 0; width: 18px; box-shadow: none; }
.ft-lg.dead { opacity: .45; }
.ft-dash-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ft-dash-row .btn { text-decoration: none; }

/* ── Gyva Mėnulio dienos kortelė (2026-09-08; plataus ekrano kompozicija — docs/design/menulio-diena-web.html) ──
   Konteinerio užklausos: iki 600 px — stulpelis (panelė viršuje), 600–780 px — 240 px panelė, nuo 780 px — 300 px panelė. */
.mdcard { position: relative; container-type: inline-size; }
.mdcard .md-grid { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
/* dangaus panelė */
.mdcard .md-skyp { position: relative; border-radius: 20px; overflow: hidden; color: #E8ECF5; padding: 16px 16px 14px;
  background: radial-gradient(ellipse at 50% 28%, #243052 0%, #17203A 55%, #121A30 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 14px 34px -16px rgba(8,14,32,.7); }
.mdcard .md-stars { position: absolute; inset: 0; width: 100%; height: 100%; }
.mdcard .md-star { fill: #fff; animation: mdTwinkle 3.4s ease-in-out infinite; }
@keyframes mdTwinkle { 0%,100% { opacity: .2; } 50% { opacity: .85; } }
.mdcard .md-moonbox { position: relative; width: 190px; height: 190px; margin: 0 auto; }
.mdcard .md-moonbox svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.mdcard .md-glow { animation: mdBreathe var(--md-p, 5.2s) ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes mdBreathe { 0%,100% { opacity: calc(var(--md-o, .6) * .6); transform: scale(.94); } 50% { opacity: var(--md-o, .6); transform: scale(1.06); } }
.mdcard .md-disk { fill: #2A3352; }
.mdcard .md-ring { fill: none; stroke: rgba(255,255,255,.10); stroke-width: 1.4; }
.mdcard .md-arc { fill: none; stroke: var(--ak); stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(201,162,75,.6)); }
.mdcard .md-tick { stroke: rgba(255,255,255,.26); stroke-width: 1.3; cursor: pointer; }
.mdcard .md-tick.great { stroke: #EBD07A; stroke-width: 2; }
.mdcard .md-tick.good { stroke: #D5BB70; stroke-width: 1.7; }
.mdcard .md-tick.care { stroke: #D9A268; stroke-width: 1.7; }
.mdcard .md-tick.now { stroke: #FFF2C4; stroke-width: 2.6; animation: mdPulse 2.4s ease-in-out infinite; }
.mdcard .md-tick:hover { stroke: #fff; stroke-width: 3; }
@keyframes mdPulse { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
.mdcard .md-ph { font: 700 9px 'Nunito Sans', sans-serif; fill: rgba(255,255,255,.6); }
.mdcard .md-cap { position: relative; text-align: center; margin-top: 6px; min-height: 40px; }
.mdcard .md-cap .n { font-family: 'Caveat', cursive; font-weight: 600; font-size: 24px; line-height: 1.05; color: #F3E8C8; }
.mdcard .md-cap .s { font-size: 11.5px; color: rgba(232,236,245,.65); letter-spacing: .04em; }
.mdcard .md-skyp hr { border: 0; border-top: 1px solid rgba(255,255,255,.1); margin: 10px 0 8px; }
.mdcard .md-phases { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 5px 12px; }
.mdcard .md-phase { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: rgba(232,236,245,.85); min-width: 0; }
.mdcard .md-phase .g { width: 20px; text-align: center; filter: saturate(.6); flex-shrink: 0; }
.mdcard .md-phase .nm { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mdcard .md-phase .d { margin-left: auto; color: rgba(232,236,245,.55); font-size: 11.5px; white-space: nowrap; padding-left: 6px; }
.mdcard .md-phase.first { color: #F3E8C8; font-weight: 700; }
/* turinio stulpelis */
.mdcard .md-info { position: relative; min-width: 0; max-width: 720px; }
.mdcard .md-aura { position: absolute; left: -60px; top: -60px; width: 400px; height: 280px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(ellipse at 40% 45%, var(--md-c, #E6DCC0) 0%, transparent 62%); opacity: var(--md-o, .6); animation: mdAura var(--md-p, 5.2s) ease-in-out infinite; }
@keyframes mdAura { 0%,100% { opacity: calc(var(--md-o, .6) * .45); transform: scale(.96); } 50% { opacity: var(--md-o, .6); transform: scale(1.04); } }
.mdcard .md-bigrow { position: relative; display: flex; align-items: baseline; gap: 12px; }
.mdcard .md-num { font-family: 'Caveat', cursive; font-weight: 700; font-size: 72px; line-height: .85; color: var(--ak-deep); min-width: 72px; }
.mdcard .md-lbl { font-size: 11px; letter-spacing: .17em; text-transform: uppercase; font-weight: 800; color: var(--mut); }
.mdcard .md-title { position: relative; font-family: 'Caveat', cursive; font-weight: 600; font-size: 34px; line-height: 1.05; margin: 6px 0 6px; color: var(--ink);
  background: linear-gradient(var(--ak-light), var(--ak-light)) no-repeat 0 100% / 0 2.5px; display: inline-block; padding-bottom: 3px; }
.mdcard .md-chips { position: relative; display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.mdcard .md-txt { position: relative; color: var(--ink-3); font-size: 15px; line-height: 1.8; margin: 0; max-width: 62ch; }
.mdcard .md-goals { position: relative; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }
.mdcard .md-lists { position: relative; display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 14px; max-width: 640px; }
.mdcard .md-lists > div { background: var(--wash); border-radius: 14px; padding: 12px 14px 8px; }
.mdcard .md-lists .p-kicker { margin-bottom: 4px; }
.mdcard .md-lists ul.dashlist { margin: 0; }
/* platesnis konteineris — panelė šone */
@container (min-width: 600px) {
  .mdcard .md-grid { grid-template-columns: 240px minmax(0, 1fr); gap: 24px; }
  .mdcard .md-moonbox { width: 176px; height: 176px; }
  .mdcard .md-phases { grid-template-columns: 1fr; }
  .mdcard .md-lists { grid-template-columns: 1fr 1fr; }
  .mdcard .md-num { font-size: 78px; min-width: 80px; }
  .mdcard .md-title { font-size: 36px; }
}
@container (min-width: 780px) {
  .mdcard:not(.compact) .md-grid { grid-template-columns: 300px minmax(0, 1fr); gap: 28px; }
  .mdcard:not(.compact) .md-skyp { padding: 18px 18px 16px; }
  .mdcard:not(.compact) .md-moonbox { width: 230px; height: 230px; }
  .mdcard:not(.compact) .md-num { font-size: 96px; min-width: 96px; }
  .mdcard:not(.compact) .md-title { font-size: 42px; }
  .mdcard:not(.compact) .md-txt { font-size: 16px; }
}
/* įėjimas: .fx elementai paslėpti, kol kortelė gauna .play */
.mdcard .fx { opacity: 0; }
.mdcard.play .fx { animation: mdRise .6s cubic-bezier(.2,.7,.2,1) both; }
@keyframes mdRise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.mdcard.play .md-title { animation: mdRise .6s cubic-bezier(.2,.7,.2,1) 1.2s both, mdUnderline .7s ease-out 1.9s both; }
@keyframes mdUnderline { to { background-size: 100% 2.5px; } }
.mdcard .md-phase { opacity: 0; }
.mdcard.play .md-phase { animation: mdRise .5s ease-out both; }
.mdcard .md-cap { opacity: 0; }
.mdcard.play .md-cap { animation: mdRise .6s ease-out 1.5s both; }
.mdcard.still .fx, .mdcard.still .md-title, .mdcard.still .md-phase, .mdcard.still .md-cap { opacity: 1 !important; animation: none !important; }
.mdcard.still .md-title { background-size: 100% 2.5px; }
@media (prefers-reduced-motion: reduce) {
  .mdcard .md-star, .mdcard .md-glow, .mdcard .md-tick.now, .mdcard .md-aura { animation: none !important; }
  .mdcard .fx, .mdcard .md-title, .mdcard .md-phase, .mdcard .md-cap { opacity: 1 !important; animation: none !important; }
  .mdcard .md-title { background-size: 100% 2.5px !important; }
}

/* ---------- gyvos ženklų kortelės astrologijoje (2026-09-08; ta pati šeima kaip .mdcard) ---------- */
.zcard .zc-scene { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.zcard .zc-ring { fill: none; stroke: rgba(255,255,255,.11); stroke-width: 1.4; }
.zcard .zc-rt { stroke: rgba(255,255,255,.18); stroke-width: 1; }
.zcard .zc-rg { font: 700 11px 'Nunito Sans', sans-serif; fill: rgba(255,255,255,.34); text-anchor: middle; dominant-baseline: central; }
.zcard .zc-rg.me { fill: #EBD07A; font-size: 13px; }
.zcard .zc-facts { position: relative; display: grid; gap: 6px; }
.zcard .zc-f { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 12.5px; color: rgba(232,236,245,.85); }
.zcard .zc-f span { color: rgba(232,236,245,.55); font-size: 11.5px; }
.zcard .zc-f b { font-weight: 700; color: #F3E8C8; text-align: right; }
.zcard .zc-f b i { font-style: normal; color: #EBD07A; }
.zcard .zc-glyph { font-family: Georgia, 'Times New Roman', serif; font-size: 58px; line-height: 1; color: var(--ak-deep); min-width: 60px; text-shadow: 0 6px 18px rgba(166,129,46,.28); }
.zcard .zc-glyph.chn-glyph { font-family: 'NotoEmojiZodiac', sans-serif; font-size: 52px; }
.zcard .md-title .zc-latin { font-weight: 500; color: var(--mut); font-size: .68em; margin-left: 10px; }
.zcard .zc-locked { border-radius: 16px; min-height: 320px; }
/* saulė — žvaigždynas: žvaigždės įsižiebia, linijos nusibraižo, simbolis išryškėja, Saulės taškas */
.zcard .zc-cs { fill: #fff; opacity: 0; transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 3px rgba(255,255,255,.8)); }
.zcard.play .zc-cs { animation: zcPop .5s cubic-bezier(.2,.9,.3,1.4) calc(.3s + var(--i) * .16s) forwards; }
@keyframes zcPop { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: scale(1); } }
.zcard .zc-cl { fill: none; stroke: rgba(243,232,200,.75); stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: 1; }
.zcard.play .zc-cl { animation: zcDraw .7s ease-out calc(1s + var(--i) * .32s) forwards; }
@keyframes zcDraw { to { stroke-dashoffset: 0; } }
.zcard .zc-wm { font-size: 120px; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; opacity: 0; transform-box: fill-box; transform-origin: center; }
.zcard.play .zc-wm { animation: zcWm 1.2s ease-out 2.1s forwards; }
@keyframes zcWm { from { opacity: 0; transform: scale(1.3); } to { opacity: .13; transform: scale(1); } }
.zcard .zc-sunm { fill: #EBD07A; opacity: 0; filter: drop-shadow(0 0 5px rgba(235,208,122,.95)); transform-box: fill-box; transform-origin: center; }
.zcard.play .zc-sunm { animation: zcPop .5s ease-out 2.4s forwards, mdPulse 2.4s ease-in-out 3s infinite; }
/* kylantis — horizontas */
.zcard .zc-eg { font: 700 15px 'Nunito Sans', sans-serif; fill: rgba(255,255,255,.4); text-anchor: middle; dominant-baseline: central; }
.zcard .zc-eg.me { fill: rgba(235,208,122,.55); font-size: 20px; }
.zcard .zc-eg.me.up { fill: #FFF2C4; filter: drop-shadow(0 0 6px rgba(235,208,122,.9)); }
.zcard .zc-q { font: 700 15px 'Nunito Sans', sans-serif; fill: rgba(235,208,122,.8); text-anchor: middle; dominant-baseline: central; }
.zcard .zc-shim { animation: zcShim 4s ease-in-out infinite; }
@keyframes zcShim { 0%,100% { opacity: .35; } 50% { opacity: .85; } }
/* metinis — 12 pieštinių gyvūnų ratas */
.zcard .zc-an { font: 16px 'NotoEmojiZodiac', sans-serif; fill: rgba(232,222,190,.55); text-anchor: middle; dominant-baseline: central; }
.zcard .zc-an.me { fill: #EBD07A; }
.zcard .zc-tm { fill: none; stroke: #EBD07A; stroke-width: 1.5; opacity: 0; filter: drop-shadow(0 0 4px rgba(235,208,122,.8)); }
.zcard .zc-big { font: 48px 'NotoEmojiZodiac', sans-serif; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; opacity: 0; transform-box: fill-box; transform-origin: center; }
.zcard .zc-yy { font: 700 11px 'Nunito Sans', sans-serif; fill: rgba(232,236,245,.6); text-anchor: middle; letter-spacing: .1em; opacity: 0; }
.zcard .done .zc-tm { animation: zcFin .5s ease-out forwards; }
.zcard .done .zc-big { animation: zcPop .6s cubic-bezier(.2,.9,.3,1.3) .1s forwards; }
.zcard .done .zc-yy { animation: zcFin .6s ease-out .5s forwards; }
@keyframes zcFin { to { opacity: 1; } }
/* gimimo Mėnulis — taškas žiede ties Mėnulio ilguma */
.zcard .zc-mm { fill: #F3E8C8; opacity: 0; filter: drop-shadow(0 0 4px rgba(243,232,200,.9)); }
.zcard .done .zc-mm { animation: zcFin .5s ease-out forwards; }
/* rami būsena (pakartojimas per 20 s, sumažintas judesys) — galutinė scena be judesio */
.zcard.still .zc-cs, .zcard.still .zc-sunm, .zcard.still .zc-tm, .zcard.still .zc-big, .zcard.still .zc-yy, .zcard.still .zc-mm { opacity: 1 !important; animation: none !important; }
.zcard.still .zc-wm { opacity: .13 !important; animation: none !important; }
.zcard.still .zc-cl { stroke-dashoffset: 0 !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .zcard .zc-cs, .zcard .zc-sunm, .zcard .zc-tm, .zcard .zc-big, .zcard .zc-yy, .zcard .zc-mm { opacity: 1 !important; animation: none !important; }
  .zcard .zc-wm { opacity: .13 !important; animation: none !important; }
  .zcard .zc-cl { stroke-dashoffset: 0 !important; animation: none !important; }
  .zcard .zc-shim { animation: none !important; }
}

/* ---------- gyva skaičiaus kortelė numerologijoje (2026-09-08; .mdcard/.zcard šeima) ---------- */
.nccard .nc-ring { fill: none; stroke: rgba(255,255,255,.11); stroke-width: 1.4; }
.nccard .nc-rt { stroke: rgba(255,255,255,.18); stroke-width: 1; }
.nccard .nc-rn { font: 700 11px 'Nunito Sans', sans-serif; fill: rgba(255,255,255,.34); text-anchor: middle; dominant-baseline: central; }
.nccard .nc-rn.me { fill: #EBD07A; font-size: 13px; }
.nccard .nc-rn.hlp { fill: #EBD07A; opacity: .4; }
.nccard .nc-bead circle { fill: #2A3352; stroke: rgba(243,232,200,.7); stroke-width: 1.2; }
.nccard .nc-bead.dim circle { stroke: rgba(243,232,200,.25); }
.nccard .nc-bead text { font: 800 12px 'Nunito Sans', sans-serif; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; }
.nccard .nc-bead.big text { font-size: 14px; }
.nccard .nc-bead.dim text { fill: rgba(243,232,200,.4); }
.nccard .nc-bead .nc-bv { font: 700 7px 'Nunito Sans', sans-serif; fill: rgba(235,208,122,.85); }   /* raidės reikšmė (likimo skaičius iš vardo) */
.nccard .nc-mid { font: 700 44px 'Caveat', cursive; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; }
.nccard .nc-fin { font: 700 74px 'Caveat', cursive; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; filter: drop-shadow(0 0 14px rgba(235,208,122,.55)); }
.nccard .nc-fin.master { fill: #FFF2C4; }
.nccard .nc-burst { fill: none; stroke: #EBD07A; stroke-width: 1.5; }
.nccard .nc-star { fill: #EBD07A; font-size: 13px; text-anchor: middle; dominant-baseline: central; }
.nccard .nc-num { font-family: 'Caveat', cursive; font-weight: 700; font-size: 84px; line-height: .85; color: var(--ak-deep); min-width: 60px; }
.nccard .nc-num .st { font-size: 28px; vertical-align: top; margin-left: 2px; }
.nccard .nc-path { font-family: 'Caveat', cursive; font-size: 22px; line-height: 1.3; color: var(--ink-3); margin: 0 0 10px; }
.nccard .num-lens { margin: 2px 0 6px; }

/* ---------- gyva karmos korta (2026-09-08; .mdcard/.zcard šeima) ---------- */
.kccard .kc-box { position: relative; }
.kccard .kc-date { position: absolute; left: 0; right: 0; top: 2px; text-align: center; font: 800 10.5px 'Nunito Sans', sans-serif; letter-spacing: .28em; color: rgba(243,232,200,.8); opacity: 0; z-index: 3; }
.kccard .kc-deck { position: absolute; inset: 0; z-index: 1; }
.kccard .kc-cb { position: absolute; left: 50%; top: 50%; width: 46px; height: 68px; margin: -34px 0 0 -23px; border-radius: 6px; opacity: 0;
  background: linear-gradient(160deg, #1E2A4A, #0F1730); border: 1.2px solid rgba(243,232,200,.55); box-shadow: 0 6px 14px -8px rgba(0,0,0,.8); transform-origin: 50% 160%; }
.kccard .kc-cb::before { content: ''; position: absolute; inset: 4px; border-radius: 4px; border: 1px solid rgba(235,208,122,.35);
  background: repeating-linear-gradient(45deg, rgba(235,208,122,.16) 0 1px, transparent 1px 7px), repeating-linear-gradient(-45deg, rgba(235,208,122,.16) 0 1px, transparent 1px 7px); }
.kccard .kc-cb::after { content: '✦'; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(235,208,122,.8); font-size: 13px; }
.kccard .kc-ring { z-index: 2; pointer-events: none; }
.kccard .kc-r { fill: rgba(255,255,255,.14); }
.kccard .kc-r.red { fill: rgba(176,86,63,.45); }
.kccard .kc-r.me { fill: #EBD07A; filter: drop-shadow(0 0 5px rgba(235,208,122,.9)); animation: mdPulse 2.4s ease-in-out infinite; }
.kccard .kc-sl { font: 800 9px 'Nunito Sans', sans-serif; text-anchor: middle; dominant-baseline: central; fill: rgba(232,236,245,.55); }
.kccard .kc-sl.red { fill: rgba(216,140,120,.85); }
.kccard .kc-hero { position: absolute; left: 50%; top: 50%; width: 92px; height: 135px; margin: -67px 0 0 -46px; perspective: 700px; opacity: 0; z-index: 4; }
.kccard .kc-flip { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; }
.kccard .kc-side { position: absolute; inset: 0; border-radius: 9px; backface-visibility: hidden; overflow: hidden; }
.kccard .kc-back { background: linear-gradient(160deg, #1E2A4A, #0F1730); border: 1.5px solid rgba(243,232,200,.6); }
.kccard .kc-back::before { content: ''; position: absolute; inset: 6px; border-radius: 6px; border: 1px solid rgba(235,208,122,.4);
  background: repeating-linear-gradient(45deg, rgba(235,208,122,.16) 0 1px, transparent 1px 8px), repeating-linear-gradient(-45deg, rgba(235,208,122,.16) 0 1px, transparent 1px 8px); }
.kccard .kc-back::after { content: '✦'; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(235,208,122,.85); font-size: 22px; }
.kccard .kc-front { transform: rotateY(180deg); box-shadow: 0 14px 30px -14px rgba(0,0,0,.8); }
.kccard .kc-front .pcard { width: 100%; height: 100%; border-radius: 9px; box-shadow: none; }
.kccard .kc-front .pip { opacity: 0; transform-box: fill-box; transform-origin: center; }
.kccard.kc-face .kc-front .pip { animation: kcPip .45s cubic-bezier(.2,.9,.3,1.4) calc(var(--i) * .07s) forwards; }
@keyframes kcPip { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: scale(1); } }
.kccard .kc-front .pc-cap { opacity: 0; }
.kccard.kc-face .kc-front .pc-cap { animation: zcFin .5s ease-out .9s forwards; }
.kccard.still .kc-front .pip, .kccard.still .kc-front .pc-cap { opacity: 1 !important; animation: none !important; }
.kccard .kc-sym { font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: 60px; line-height: .9; color: #4B4340; min-width: 60px; }
.kccard .kc-sym.red { color: #B0563F; }
.kccard .kc-dates { font-size: 12.5px; color: var(--mut); margin: 0 0 8px; }
.kccard .md-cap { animation-delay: 3.0s !important; }
@media (prefers-reduced-motion: reduce) { .kccard .kc-front .pip, .kccard .kc-front .pc-cap { opacity: 1 !important; animation: none !important; } }

/* ---------- gyva gimimo žemėlapio kortelė „Platus dangus", tranzitų kortelė, stichijų indai (2026-09-08; .mdcard/.zcard šeima) ---------- */
.natcard-sec { overflow: hidden; }
.natcard .nat-head { max-width: none; display: grid; grid-template-columns: 1fr; gap: 10px 28px; align-items: end; margin-bottom: 16px; }
.natcard .nat-hl { position: relative; }
.natcard .nat-txt { margin: 0; }
.natcard .nat-sky { padding: 20px 22px 16px; }
.natcard .nat-lay3 { position: relative; display: grid; grid-template-columns: 1fr; gap: 16px; align-items: center; }
.natcard .nat-box { position: relative; width: 100%; max-width: 600px; margin: 0 auto; aspect-ratio: 1; order: -1; }
.natcard .nat-box svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.natcard .nat-lg { display: grid; gap: 3px; align-self: center; }
.natcard .nat-lgt { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: rgba(232,236,245,.5); margin-bottom: 6px; }
.natcard .nat-lgr { display: grid; grid-template-columns: 22px 1fr auto 20px; gap: 8px; align-items: baseline; padding: 5px 8px; border-radius: 10px; font-size: 13px; color: rgba(232,236,245,.85); cursor: default; transition: background .2s; }
.natcard .nat-lgr:hover, .natcard .nat-lgr.on { background: rgba(235,208,122,.12); }
.natcard .nat-lgr .g { font: 700 15px Georgia, 'Times New Roman', serif; color: #F3E8C8; }
.natcard .nat-lgr .n i { font-style: normal; font-size: 10px; font-weight: 800; color: #E8B08A; margin-left: 2px; }
.natcard .nat-lgr .s { color: rgba(232,236,245,.6); font-size: 12px; white-space: nowrap; }
.natcard .nat-lgr .h { font-weight: 800; color: rgba(235,208,122,.9); text-align: right; font-size: 12px; }
.natcard .nat-lgr.r .g { color: #E8B08A; }
.natcard .nat-fc { display: grid; gap: 12px; align-self: center; }
.natcard .nat-f .k { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: rgba(232,236,245,.5); }
.natcard .nat-f .v { font-family: 'Caveat', cursive; font-size: 24px; line-height: 1.1; color: #F3E8C8; }
.natcard .nat-f .s { font-size: 12.5px; color: rgba(232,236,245,.75); }
.natcard .nat-f .s i { display: inline-block; width: 18px; height: 0; border-top: 2px solid; vertical-align: middle; margin-right: 6px; }
.natcard .nat-f .s i.flow { border-color: #EBD07A; } .natcard .nat-f .s i.friction { border-color: #D9895E; } .natcard .nat-f .s i.blend { border-color: rgba(243,232,200,.8); border-top-style: dashed; }
/* ratas */
.natcard .nat-ring { fill: none; stroke: rgba(255,255,255,.12); stroke-width: 1.2; }
.natcard .nat-ring.dash { stroke-dasharray: 2 4; }
.natcard .nat-cusp { stroke: rgba(255,255,255,.14); stroke-width: 1; }
.natcard .nat-tk { stroke: rgba(255,255,255,.2); stroke-width: .45; }
.natcard .nat-sg { font: 700 10px 'Nunito Sans', sans-serif; fill: rgba(243,232,200,.55); text-anchor: middle; dominant-baseline: central; }
.natcard .nat-sg.me { fill: #EBD07A; }
.natcard .nat-hn { font: 800 7.5px 'Nunito Sans', sans-serif; fill: rgba(232,236,245,.35); text-anchor: middle; dominant-baseline: central; }
.natcard .nat-axis { stroke: #EBD07A; stroke-width: 1.4; opacity: 0; }
.natcard .nat-axl { font: 800 8px 'Nunito Sans', sans-serif; fill: #EBD07A; letter-spacing: .1em; opacity: 0; }
.natcard .nat-np { cursor: pointer; }
.natcard .nat-np circle { fill: #1B2440; stroke: rgba(243,232,200,.7); stroke-width: 1.1; }
.natcard .nat-np text { font: 700 11px Georgia, 'Times New Roman', serif; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; }
.natcard .nat-np.r text { fill: #E8B08A; }
.natcard .nat-np .rr { font: 800 4px 'Nunito Sans', sans-serif; fill: #E8B08A; }
.natcard .nat-dg { font: 700 5px 'Nunito Sans', sans-serif; fill: rgba(243,232,200,.6); text-anchor: middle; dominant-baseline: central; }
.natcard .nat-stem line { stroke: rgba(243,232,200,.5); stroke-width: .6; }
.natcard .nat-stem circle { fill: #F3E8C8; }
.natcard .nat-band { stroke: rgba(243,232,200,.25); stroke-width: 1; stroke-dasharray: 3 4; }
.natcard .nat-na { fill: none; stroke-width: 1.1; opacity: .85; transition: opacity .25s, stroke-width .25s; }
.natcard .nat-na.flow { stroke: #EBD07A; } .natcard .nat-na.friction { stroke: #D9895E; } .natcard .nat-na.blend { stroke: rgba(243,232,200,.75); stroke-dasharray: 2 2; }
.natcard svg.hl .nat-na { opacity: .08; } .natcard svg.hl .nat-na.on { opacity: 1; stroke-width: 1.6; }
.natcard svg.hl .nat-np { opacity: .35; } .natcard svg.hl .nat-np.on { opacity: 1; }
/* didelio rato proporcijos (viewBox 230 → 600 px) */
.natcard svg.big .nat-ring { stroke-width: .55; } .natcard svg.big .nat-cusp { stroke-width: .5; }
.natcard svg.big .nat-sg { font-size: 8.5px; } .natcard svg.big .nat-hn { font-size: 4.3px; fill: rgba(235,208,122,.6); }
.natcard svg.big .nat-axis { stroke-width: .9; } .natcard svg.big .nat-axl { font-size: 6px; }
.natcard svg.big .nat-np circle { stroke-width: .6; } .natcard svg.big .nat-np text { font-size: 8.5px; }
.natcard svg.big .nat-na { stroke-width: .7; } .natcard svg.big.hl .nat-na.on { stroke-width: 1.2; }
.natcard .nat-trs-below { margin-top: 16px; }
.natcard .nat-note { margin: 10px 0 0; }
.natcard.still .nat-axis, .natcard.still .nat-axl { opacity: 1 !important; }
@container (min-width: 700px) {
  .natcard .nat-head { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
  .natcard .nat-lay3 { grid-template-columns: 1fr 1fr; gap: 12px 28px; }
  .natcard .nat-box { grid-column: 1 / -1; }
}
@container (min-width: 980px) {
  .natcard .nat-lay3 { grid-template-columns: 220px minmax(0, 1fr) 220px; gap: 22px; }
  .natcard .nat-box { grid-column: auto; order: 0; }
}
@container (max-width: 520px) {
  .natcard .nat-tk, .natcard .nat-dg, .natcard .nat-stem { display: none; }
  .natcard svg.big .nat-sg { font-size: 11px; } .natcard svg.big .nat-hn { font-size: 6px; } .natcard svg.big .nat-np text { font-size: 10px; }
  .natcard svg.big .nat-axl { font-size: 8px; } .natcard svg.big .nat-ring { stroke-width: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .natcard .nat-axis, .natcard .nat-axl { opacity: 1 !important; }
}
/* stichijų indai (balanso panelė, balta) */
.nat-vs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 30px 0 36px; }
.nat-v { position: relative; height: var(--vh, 150px); border: 1.5px solid var(--line); border-top: 0; border-radius: 0 0 18px 18px; }
.nat-v.lack { border-style: dashed; border-color: rgba(194,123,58,.55); }
.nat-vl { position: absolute; top: -22px; left: 0; right: 0; text-align: center; font: 800 9.5px 'Nunito Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--mut); }
.nat-vfill { position: absolute; left: 0; right: 0; bottom: 0; height: 0; border-radius: 0 0 16px 16px; background: var(--vc); opacity: .22; transition: height .6s ease-out; }
.nat-vb { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; flex-direction: column-reverse; align-items: center; gap: 4px; }
.nat-bead { width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 1px solid var(--ak); display: grid; place-items: center; font: 700 13px Georgia, 'Times New Roman', serif; color: var(--ink); opacity: 0; transform: translateY(-120px); transition: transform .6s cubic-bezier(.2,.8,.3,1.15), opacity .3s; }
.nat-bead.in { opacity: 1; transform: none; }
.nat-vc { position: absolute; bottom: -28px; left: 0; right: 0; text-align: center; font-family: 'Caveat', cursive; font-size: 22px; line-height: 1; color: var(--ink); opacity: 0; transition: opacity .5s; }
.nat-v.lack .nat-vc { color: var(--warn); }
.nat-vs.done .nat-vc { opacity: 1; }
@media (max-width: 560px) { .nat-vs { gap: 6px; } .nat-bead { width: 22px; height: 22px; font-size: 11px; } .nat-vl { font-size: 8.5px; letter-spacing: .08em; } }
@media (prefers-reduced-motion: reduce) { .nat-bead, .nat-vc { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* ---------- gyva psichomatricos kortelė (2026-09-09; .mdcard/.zcard šeima) ---------- */
.pscard .md-moonbox { height: auto !important; aspect-ratio: 230 / 220; }
.pscard .ps-glyph { font-size: 54px; line-height: 1; color: var(--ak-deep); min-width: 60px; }
.pscard .ps-bd circle { fill: #2A3352; stroke: rgba(243,232,200,.7); stroke-width: 1.2; }
.pscard .ps-bd text { font: 800 11px 'Nunito Sans', sans-serif; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; }
.pscard .ps-bd.zero circle { stroke: rgba(243,232,200,.25); } .pscard .ps-bd.zero text { fill: rgba(243,232,200,.4); }
.pscard .ps-wn rect { fill: rgba(235,208,122,.12); stroke: rgba(235,208,122,.5); stroke-width: 1; }
.pscard .ps-wn text { font: 800 10px 'Nunito Sans', sans-serif; fill: #EBD07A; text-anchor: middle; dominant-baseline: central; }
.pscard .ps-wl { font: 700 6.5px 'Nunito Sans', sans-serif; fill: rgba(232,236,245,.5); text-anchor: middle; letter-spacing: .12em; }
.pscard .ps-cell { cursor: pointer; }
.pscard .ps-cell rect { fill: rgba(255,255,255,.035); stroke: rgba(255,255,255,.14); stroke-width: 1; transition: fill .25s, stroke .25s; }
.pscard .ps-cell.empty rect { stroke-dasharray: 3 3; stroke: rgba(255,255,255,.12); }
.pscard .ps-cell.on rect { fill: rgba(235,208,122,.10); stroke: rgba(235,208,122,.5); }
.pscard .ps-cell .dg { font: 800 12px 'Nunito Sans', sans-serif; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; letter-spacing: .06em; }
.pscard .ps-cell.empty .dg { fill: rgba(243,232,200,.35); font-weight: 600; }
.pscard .ps-cell .nm { font: 700 6.5px 'Nunito Sans', sans-serif; fill: rgba(232,236,245,.5); text-anchor: middle; letter-spacing: .06em; }
.pscard .ps-cell .num { font: 800 6px 'Nunito Sans', sans-serif; fill: rgba(235,208,122,.6); }
.pscard .ps-ln { fill: none; stroke-linecap: round; opacity: 0; }
.pscard .ps-ln.l2 { stroke: #EBD07A; stroke-width: 2.4; filter: drop-shadow(0 0 4px rgba(235,208,122,.75)); }
.pscard .ps-ln.l1 { stroke: rgba(243,232,200,.75); stroke-width: 1.3; }
.pscard .ps-ln.l0 { stroke: rgba(243,232,200,.4); stroke-width: 1; stroke-dasharray: 2 3; }
.pscard .ps-hit { fill: none; stroke: transparent; stroke-width: 14; cursor: pointer; }
.pscard .ps-fly { pointer-events: none; }
.pscard .ps-fly circle { fill: #2A3352; stroke: rgba(243,232,200,.7); stroke-width: 1.2; }
.pscard .ps-fly text { font: 800 11px 'Nunito Sans', sans-serif; fill: #F3E8C8; text-anchor: middle; dominant-baseline: central; }
.pscard .ps-lg { position: relative; display: grid; gap: 3px; margin-top: 4px; }
.pscard .ps-lgr { display: grid; grid-template-columns: 1fr auto 64px; gap: 10px; align-items: center; padding: 6px 10px; border-radius: 10px; font-size: 13px; color: var(--ink-3); cursor: pointer; opacity: 0; transform: translateX(-8px); transition: background .2s, opacity .45s, transform .45s; }
.pscard .ps-lgr.in { opacity: 1; transform: none; }
.pscard .ps-lgr:hover, .pscard .ps-lgr.on { background: var(--ak-soft); }
.pscard .ps-lgr .n { font-weight: 700; color: var(--ink); }
.pscard .ps-lgr .c { font-size: 12px; color: var(--mut); white-space: nowrap; }
.pscard .ps-lgr .bar { height: 6px; border-radius: 3px; background: var(--line-soft); overflow: hidden; }
.pscard .ps-lgr .bar i { display: block; height: 100%; width: 0; border-radius: 3px; background: var(--ak); transition: width .6s ease-out; }
.pscard .ps-lgr.l1 .bar i { background: var(--ak-light); } .pscard .ps-lgr.l0 .bar i { background: #D9CDB0; }
.pscard .ps-txt { position: relative; margin-top: 12px; font-size: 14px; color: var(--ink-3); line-height: 1.65; min-height: 48px; }
.pscard .ps-txt b { color: var(--ink); }
.pscard .ps-txt.hint { color: var(--mut); font-style: italic; }
.pscard.still .ps-lgr { opacity: 1 !important; transform: none !important; }
.pscard.still .ps-lgr .bar i { width: var(--w) !important; }
.pscard-sec .psy-wrap { margin-top: 18px; }
@media (prefers-reduced-motion: reduce) { .pscard .ps-lgr { opacity: 1 !important; transform: none !important; transition: none !important; } .pscard .ps-lgr .bar i { width: var(--w) !important; } }

/* ── „Judu“ v3 (2026-09-15): scena „tu + tuščia vieta“ (#/pair) ir puslapis su „dangaus“ antrašte (#/pair/<id>, #/pair/check/<data>/<vardas>[/<laikas>]) ── */
.pair-page{max-width:900px}
.pr-h2{font-size:34px;margin:2px 0 4px}
.pr-sub{margin:0 0 14px}
@keyframes prTwinkle{0%,100%{opacity:.25}50%{opacity:.9}}
@keyframes prPulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.18);opacity:1}}
@keyframes prPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes prRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes prFromL{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes prFromR{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes prGlow{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes prSpin{to{transform:rotate(360deg)}}
@keyframes prDraw{to{stroke-dashoffset:0}}
@keyframes prUnderline{to{background-size:100% 2.5px}}
.pr-st{position:absolute;color:#E6CB86;opacity:.4;animation:prTwinkle 4s ease-in-out infinite;pointer-events:none}
/* scena: tu ir tuščia vieta kitam */
.pr-scene{position:relative;width:100%;max-width:640px;aspect-ratio:16/9;margin:0 auto;border-radius:28px;overflow:hidden;background:radial-gradient(120% 90% at 50% -10%,#2B3860,#131C36 60%,#0F1730);box-shadow:0 24px 60px -28px rgba(4,9,24,.8)}
.pr-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.pr-thread path{fill:none;stroke:#E6CB86;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(230,203,134,.8));stroke-dasharray:400;stroke-dashoffset:400;opacity:0}
.pr-scene.go .pr-thread path{opacity:1;animation:prDraw .7s ease-out both}
.pr-duo{position:absolute;inset:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:center;padding:0 6%}
.pr-me2,.pr-other{text-align:center;position:relative;z-index:3;animation:prPop .6s ease both}
.pr-meav,.pr-oav{display:flex;width:78px;height:78px;margin:0 auto;border-radius:50%;align-items:center;justify-content:center;font-family:'Caveat',cursive;font-size:44px;font-weight:700;line-height:1}
.pr-meav{color:#FBF8F2;background:radial-gradient(circle at 32% 28%,#C4795A,#9C5A3F);border:2.5px solid #8A4E36;box-shadow:0 0 0 10px rgba(201,162,75,.12),0 10px 26px rgba(156,90,63,.45)}
.pr-men,.pr-onm{display:block;margin-top:7px;font-size:12.5px;font-weight:800;color:#F5EDD5}
.pr-men small{font-weight:700;color:rgba(245,237,213,.6);font-size:11px}
.pr-mchips,.pr-ochips{display:block;font-size:11px;color:rgba(245,237,213,.65);margin-top:3px;min-height:16px;white-space:nowrap}
.pr-oav{position:relative;color:rgba(245,237,213,.5);border:2.5px dashed rgba(230,203,134,.6);background:rgba(255,255,255,.05);transition:color .35s,background .35s,box-shadow .35s}
.pr-oav::after{content:'';position:absolute;inset:-10px;border-radius:50%;border:1.5px dashed rgba(230,203,134,.35);animation:floaty 6s ease-in-out infinite}
.pr-other.on .pr-oav{color:#9C5A3F;border-style:solid;border-color:#E0D3B8;background:radial-gradient(circle at 32% 28%,#FFFDF6,#F3E9D2);box-shadow:0 0 0 10px rgba(201,162,75,.12),0 10px 26px rgba(0,0,0,.4)}
.pr-other.on .pr-oav::after{display:none}
.pr-onm{color:rgba(245,237,213,.5)}
.pr-other.on .pr-onm{color:#F5EDD5}
.pr-heart{display:block;color:#E6CB86;font-size:32px;line-height:1;margin:0 0 44px;animation:prPulse 2.4s ease-in-out infinite;text-shadow:0 0 14px rgba(230,203,134,.7);transition:font-size .5s;z-index:3;font-family:'Noto Sans Symbols 2','Noto Sans Symbols','Segoe UI Symbol',sans-serif}
.pr-scene.go .pr-heart{font-size:46px;text-shadow:0 0 30px rgba(230,203,134,1)}
.pr-hint{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:11.5px;color:rgba(198,205,226,.75);pointer-events:none;padding:0 12px}
.pr-form{display:grid;grid-template-columns:1.1fr 1fr auto;gap:10px 12px;align-items:end;margin:14px auto 0;max-width:640px}
.pr-form label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-weight:800;min-width:0}
.pr-form input{font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);min-width:0;width:100%}
.pr-form input:focus{outline:2px solid var(--ak-light);border-color:var(--ak)}
.pr-form .tog{grid-column:1/3;flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:700;color:var(--ink-3);cursor:pointer}
.pr-form .tog input{width:18px;height:18px;margin:0;padding:0}
.pr-form .time{grid-column:3;display:none}
.pr-form.hastime .time{display:flex}
.pr-form .btn{padding:12px 22px;white-space:nowrap}
.pr-form .btn[disabled]{opacity:.45;cursor:default;box-shadow:none}
.pr-form .form-err{grid-column:1/-1;margin:0}
@media(max-width:640px){.pr-form{grid-template-columns:1fr 1fr}.pr-form .btn{grid-column:1/-1}.pr-form .tog{grid-column:1/-1}.pr-form .time{grid-column:1/-1}.pr-meav,.pr-oav{width:62px;height:62px;font-size:36px}.pr-heart{font-size:26px;margin-bottom:36px}.pr-hint{display:none}}
/* puslapio antraštės juosta: tu varinis, žmogus kreminis, tiesūs siūlai į žiedą (app.js), už žiedo besisukantis zodiako ratas */
.pr-band{position:relative;border-radius:22px;overflow:hidden;color:#E8ECF5;padding:34px 34px 30px;margin:10px 0 18px;background:radial-gradient(ellipse at 50% 20%,#263356 0%,#17203A 55%,#111A30 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 18px 40px -18px rgba(8,14,32,.8)}
.pr-band .pr-st{opacity:.35}
.pr-aura{position:absolute;left:50%;top:50%;width:420px;height:300px;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,rgba(201,162,75,.28),transparent 62%);animation:prGlow 5.2s ease-in-out infinite}
.pr-arc{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.pr-arc path{fill:none;stroke:#E6CB86;stroke-width:1.6;stroke-linecap:round;opacity:.85;filter:drop-shadow(0 0 5px rgba(230,203,134,.7));stroke-dasharray:300;stroke-dashoffset:300}
.pr-band.play .pr-arc path{animation:prDraw .9s ease-out .35s both}
.pr-bgrid{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:20px;z-index:2}
.pr-bwho{text-align:center;position:relative;z-index:2;padding-top:43px}
.pr-bav{display:flex;width:84px;height:84px;margin:0 auto 8px;border-radius:50%;align-items:center;justify-content:center;font-family:'Caveat',cursive;font-size:46px;font-weight:700;line-height:1;color:#FBF8F2;background:radial-gradient(circle at 32% 28%,#C4795A,#9C5A3F);border:2.5px solid #8A4E36;box-shadow:0 0 0 10px rgba(201,162,75,.12),0 10px 26px rgba(156,90,63,.45)}
.pr-bwho.r .pr-bav{color:#9C5A3F;background:radial-gradient(circle at 32% 28%,#FFFDF6,#F3E9D2);border-color:#E0D3B8;box-shadow:0 0 0 10px rgba(201,162,75,.12),0 10px 26px rgba(0,0,0,.4)}
.pr-bnm{font-size:30px;line-height:1;color:#F5EDD5}
.pr-bnm small{font-family:'Nunito Sans',sans-serif;font-size:11px;font-weight:800;color:rgba(232,236,245,.6);letter-spacing:.08em;text-transform:uppercase;margin-left:6px}
.pr-bbd{font-size:12px;color:rgba(232,236,245,.65);margin-top:4px}
.pr-bchips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:8px}
.pr-bchips span{font-size:11px;font-weight:700;color:#F3E8C8;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:2px 9px;white-space:nowrap}
.pr-bchips span span{background:none;border:0;padding:0}
.pr-bchips .chn-glyph,.pr-prof .chn-glyph{color:inherit}
.pr-band.play .pr-bwho.l{animation:prFromL .8s cubic-bezier(.2,.7,.2,1) both}
.pr-band.play .pr-bwho.r{animation:prFromR .8s cubic-bezier(.2,.7,.2,1) both}
.pr-bmid{text-align:center;min-width:240px}
.pr-bring{position:relative;width:170px;height:170px;margin:0 auto}
.pr-ringsvg{width:170px;height:170px;transform:rotate(-90deg);position:relative;z-index:1}
.pr-ringsvg circle.tr{fill:none;stroke:rgba(255,255,255,.1);stroke-width:10}
.pr-ringsvg circle.fg{fill:none;stroke:url(#prg);stroke-width:10;stroke-linecap:round;stroke-dasharray:0 402;transition:stroke-dasharray 1.4s cubic-bezier(.2,.7,.2,1) .5s}
.pr-band.play .pr-ringsvg circle.fg{stroke-dasharray:var(--dash,0) 402}
.pr-bring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;z-index:2}
.pr-bring .hh{font-size:34px;line-height:1;color:#E6CB86;text-shadow:0 0 16px rgba(230,203,134,.8);animation:prPulse 2.4s ease-in-out infinite;font-family:'Noto Sans Symbols 2','Noto Sans Symbols','Segoe UI Symbol',sans-serif}
.pr-bring .pct{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;color:#F5EDD5;font-variant-numeric:tabular-nums}
.pr-bring .pl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,236,245,.6);font-weight:800}
.pr-wheel{position:absolute;left:50%;top:50%;width:470px;height:470px;transform:translate(-50%,-50%);z-index:0;pointer-events:none;overflow:visible}
.pr-wheel .rot{transform-origin:200px 200px;animation:prSpin 120s linear infinite}
.pr-wheel .orb{transform-origin:200px 200px;animation:prSpin 40s linear infinite reverse}
.pr-wheel circle{fill:none;stroke:#E6CB86}
.pr-wheel line{stroke:#E6CB86;opacity:.3}
.pr-wheel text{font-family:'Noto Sans Symbols 2','Noto Sans Symbols','Segoe UI Symbol',serif;font-size:15px;fill:#E6CB86;opacity:.4;text-anchor:middle;dominant-baseline:central}
.pr-wheel text.hi{opacity:1;font-size:21px;filter:drop-shadow(0 0 7px rgba(230,203,134,.95))}
.pr-wheel .halo{fill:rgba(230,203,134,.14);stroke:rgba(230,203,134,.5);stroke-width:1}
.pr-wheel .moon{fill:#F3E8C8;filter:drop-shadow(0 0 5px rgba(243,232,200,.9))}
.pr-btier{font-size:46px;line-height:1;color:#F3E8C8;margin-top:10px;opacity:0;background:linear-gradient(#DCC27C,#DCC27C) no-repeat 50% 100% / 0 2.5px;display:inline-block;padding-bottom:4px}
.pr-band.play .pr-btier{animation:prRise .6s ease-out 1.5s both,prUnderline .7s ease-out 2.1s both}
.pr-bsub{font-size:12.5px;color:rgba(232,236,245,.7);margin-top:8px;opacity:0}
.pr-band.play .pr-bsub{animation:prRise .6s ease-out 1.9s both}
@media(max-width:760px){.pr-bgrid{grid-template-columns:1fr;gap:14px;justify-items:center}.pr-arc{display:none}.pr-bmid{order:-1}.pr-band{padding:24px 18px}.pr-bwho{padding-top:0}.pr-wheel{width:360px;height:360px}}
/* puslapio kūnas — kortelės išnyra po antraštės */
.pr-v3 .fx{opacity:0}
.pr-v3.play .fx{animation:prRise .6s cubic-bezier(.2,.7,.2,1) both}
.pr-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 20px;box-shadow:var(--shadow-sm);margin-top:12px}
.pr-today{display:flex;flex-direction:column;gap:6px}
.pr-tone{font-size:26px;line-height:1}
.pr-tone.tone-good{color:#5F7A52}
.pr-tone.tone-care{color:#B85C48}
.pr-tone.tone-mid{color:var(--ink-3)}
.pr-tone small{font-family:'Nunito Sans',sans-serif;font-size:12px;color:var(--mut);font-weight:700}
.pr-today p{margin:0;font-size:13.5px;color:var(--ink-2)}
.pr-today p b{color:var(--ak-deep)}
.pr-today .vals{font-size:11.5px;color:var(--mut)}
.pr-axes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}
.pr-ax{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.pr-ax .ic{position:absolute;right:14px;top:10px;font-size:30px;color:var(--ak-soft);font-weight:700;line-height:1;font-family:'Noto Sans Symbols 2','Noto Sans Symbols','Segoe UI Symbol','Caveat',cursive}
.pr-ax .t{display:flex;align-items:baseline;gap:10px}
.pr-ax .t b{font-size:15px}
.pr-ax .t .v{font-family:'Caveat',cursive;font-weight:700;font-size:40px;line-height:.9;color:var(--ak-deep);font-variant-numeric:tabular-nums}
.pr-ax .g{height:7px;border-radius:999px;background:var(--wash);margin:10px 0 8px;overflow:hidden}
.pr-ax .g i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--ak-light),var(--ak-deep));transition:width 1s cubic-bezier(.2,.7,.2,1) .4s}
.pr-v3.play .pr-ax .g i{width:var(--w)}
.pr-ax .src{font-size:11.5px;color:var(--mut);line-height:1.4}
.pr-ax p{margin:6px 0 0;font-size:13px;color:var(--ink-2)}
.pr-lists{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.pr-list{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-sm)}
.pr-list h5{margin:0 0 8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ak-deep)}
.pr-list h5.w{color:#B85C48}
.pr-list ul{margin:0;padding:0;list-style:none}
.pr-list li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-2);padding:5px 0;border-bottom:1px dashed var(--line-soft)}
.pr-list li:last-child{border-bottom:0}
.pr-list li .ic{color:var(--ak);font-weight:800;flex:0 0 14px}
.pr-list li .ic.w{color:#B85C48}
.pr-list li .s{margin-left:auto;font-size:10.5px;color:var(--mut);white-space:nowrap;font-weight:700;padding-left:8px}
.pr-week .wday .best{color:var(--ak-deep);font-size:12px}
.pr-made{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.pr-prof{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-sm)}
.pr-prof .nm{font-size:26px;line-height:1;margin-top:4px}
.pr-prof .bd{font-size:12px;color:var(--mut);margin:2px 0 8px}
.pr-prof ul{margin:0;padding:0;list-style:none}
.pr-prof li{font-size:12.5px;color:var(--ink-2);padding:4px 0;border-bottom:1px dashed var(--line-soft)}
.pr-prof li:last-child{border-bottom:0}
.pr-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:16px}
.pr-addlink{background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--ak-deep);cursor:pointer;border-bottom:1px dashed var(--ak-light)}
.pr-note{margin-top:12px;line-height:1.45}
.pr-locked{margin-top:12px}
/* v3 papildymai: judviejų dangus, kortų ryšys, matricos greta, laikas judviem */
.pr-card .p-kicker{margin-bottom:6px}
.pr-sky .sub{margin:0 0 8px}
.pr-srow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line-soft)}
.pr-srow:last-child{border-bottom:0}
.pr-srow .pt{font-size:13px;color:var(--ink);font-weight:700}
.pr-srow .pt.r{text-align:right}
.pr-srow .pt .g{font-family:'Noto Sans Symbols 2','Noto Sans Symbols','Segoe UI Symbol',serif;font-size:15px;color:var(--ak-deep);margin-right:4px}
.pr-srow .pt small{display:block;font-weight:600;color:var(--mut);font-size:11px}
.pr-srow .asp{text-align:center;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.pr-srow .asp.flow{background:#E3EDDB;color:#5F7A52}
.pr-srow .asp.hard{background:#F4DDD3;color:#B85C48}
.pr-srow .asp.blend{background:var(--ak-soft);color:var(--ak-deep)}
.pr-srow .asp small{display:block;font-size:10px;letter-spacing:0;text-transform:none;font-weight:700;opacity:.8}
.pr-srow .th{grid-column:1/-1;font-size:12px;color:var(--ink-3);margin-top:-2px}
.pr-srow .th i{font-style:normal;color:var(--mut)}
.pr-cardrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 8px}
.pr-cardrow .who{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}
.pr-cardrow .who small{display:block;color:var(--mut);font-weight:600;font-size:11px}
.pr-cardrow .plus{font-size:20px;color:var(--ak-deep)}
.pr-bsec{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line-soft)}
.pr-bsec h5{margin:0 0 4px;font-size:13px;color:var(--ak-deep)}
.pr-bsec p{margin:0 0 4px;font-size:13px;color:var(--ink-2)}
.pr-bsec ul{margin:4px 0 0;padding-left:18px;font-size:12.5px;color:var(--ink-2)}
.pr-mtable{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:6px}
.pr-mtable th{text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:800;padding:4px 6px;border-bottom:1px solid var(--line)}
.pr-mtable th.c,.pr-mtable td.c{text-align:center}
.pr-mtable td{padding:6px 6px;border-bottom:1px dashed var(--line-soft);color:var(--ink-2)}
.pr-mtable tr:last-child td{border-bottom:0}
.pr-mtable .lv{display:inline-flex;gap:3px;vertical-align:middle;margin-right:6px}
.pr-mtable .lv i{width:8px;height:8px;border-radius:50%;background:var(--wash);border:1px solid var(--line)}
.pr-mtable .lv i.on{background:var(--ak);border-color:var(--ak-deep)}
.pr-mtable .lv.hi i.on{background:var(--ak-deep)}
.pr-mtable td .w{font-size:11px;color:var(--mut)}
.pr-mitems{margin:10px 0 0;padding:0;list-style:none}
.pr-mitems li{display:flex;gap:8px;font-size:12.5px;color:var(--ink-2);padding:4px 0}
.pr-mitems li .ic{flex:0 0 12px;font-weight:800;color:var(--ak)}
.pr-mitems li.clash .ic,.pr-mitems li.gap .ic{color:#B85C48}
.pr-time ul{margin:0;padding:0;list-style:none}
.pr-time li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-2);padding:5px 0;border-bottom:1px dashed var(--line-soft)}
.pr-time li:last-child{border-bottom:0}
.pr-time li .ic{flex:0 0 16px;color:var(--ak-deep);font-weight:800}
.pr-time li small{display:block;color:var(--mut);font-size:11.5px;margin-top:2px}
.pr-talk ul{margin:4px 0 0}
.pr-card .p-kicker.mt16{margin-top:0}
.pr-cards .pcard.sm{flex:0 0 auto}
@media(max-width:640px){.pr-srow{grid-template-columns:1fr auto}.pr-srow .pt.r{grid-column:1;text-align:left}.pr-srow .asp{grid-row:1/3;align-self:center}}
.pm-pair{margin:6px 0 2px}
@media(max-width:900px){.pr-axes{grid-template-columns:1fr}.pr-lists,.pr-made{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.pr-wheel .rot,.pr-wheel .orb,.pr-heart,.pr-bring .hh,.pr-aura,.pr-st,.pr-oav::after,.pr-me2,.pr-other{animation:none!important}.pr-v3 .fx{opacity:1!important;animation:none!important}.pr-band .pr-arc path{stroke-dashoffset:0;animation:none!important}.pr-band .pr-ringsvg circle.fg{stroke-dasharray:var(--dash,0) 402;transition:none}.pr-btier,.pr-bsub{opacity:1;animation:none!important}.pr-btier{background-size:100% 2.5px}.pr-ax .g i{width:var(--w);transition:none}}
.pr-band.still .pr-bwho,.pr-band.still .pr-btier,.pr-band.still .pr-bsub,.pr-v3.still .fx{animation:none!important;opacity:1}
.pr-band.still .pr-arc path{animation:none!important;stroke-dashoffset:0}
.pr-band.still .pr-ringsvg circle.fg,.pr-v3.still .pr-ax .g i{transition:none}
.pr-band.still .pr-btier{background-size:100% 2.5px}
