/* Dorax Finance — a goal opened, the owner's, in the v6 look (v350; the markup: features/phone/r6-goalv.js; the canvas "Meta-abierta-V6").
   The panel takes the whole phone on the page's black #070808, no forest and no sheet; its own header (the way back, "···" and ×) floats over the
   top row's ends as round glass buttons and its name is kept for screen readers only (the row under it shows the goal's icon and name); the
   cards as the summary's (#121414 with the edge of light); Withdraw and Contribute at the foot, over the page as it fades. Only while the panel
   holds .r6gv (the owner on a phone, r6Mine): it can open over a screen outside the v6 look, so nothing here leans on :root.r6. */
@media (max-width: 920px) {
  /* ---------- the panel: the whole phone, on the page's black ---------- */
  :root #overlay .drawer:has(> .body.r6gv) { top: 0; bottom: 0; height: 100dvh; max-height: none; padding-top: var(--safe-t, 0px); box-sizing: border-box; border: 0; border-radius: 0; background: #070808; color: #EFF1F6; }
  :root #overlay .drawer:has(> .body.r6gv) > .grab { display: none; }
  /* its header floats over the top row: the way back on the left, "···" and × on the right, side by side; its name for screen readers only */
  :root #overlay .drawer:has(> .body.r6gv) > header { position: absolute; top: var(--safe-t, 0px); left: 0; right: 0; z-index: 6; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 14px 16px; border: 0; background: none; pointer-events: none; }
  :root #overlay .drawer:has(> .body.r6gv) > header > *, :root #overlay .drawer:has(> .body.r6gv) > header .dr-back { pointer-events: auto; }
  :root #overlay .drawer:has(> .body.r6gv) > header h2 { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  :root #overlay .drawer:has(> .body.r6gv) > header .dr-back { margin-right: auto; }      /* its slot is display: contents: the button itself is the row's first item */
  :root #overlay .drawer:has(> .body.r6gv) > header :is([data-a="close"], .cvl-more, .dr-back) { all: unset; box-sizing: border-box; pointer-events: auto; cursor: pointer; -webkit-tap-highlight-color: transparent; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
    background: rgba(239, 241, 246, .08); box-shadow: inset 0 0 0 1px rgba(239, 241, 246, .14); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); color: #EFF1F6; transition: transform .34s cubic-bezier(.2, .9, .3, 1.25); }
  :root #overlay .drawer:has(> .body.r6gv) > header :is([data-a="close"], .cvl-more, .dr-back) svg { width: 18px; height: 18px; }
  :root #overlay .drawer:has(> .body.r6gv) > header :is([data-a="close"], .cvl-more, .dr-back):active { transform: scale(.94); }
  :root #overlay .drawer:has(> .body.r6gv) > header :is([data-a="close"], .cvl-more, .dr-back):focus-visible { outline: 2px solid #9FD182; outline-offset: 3px; }
  /* "···": Pause, Mark as completed, Archive, Delete, in a dark card under it */
  :root #overlay .drawer:has(> .body.r6gv) > header .cvl-mw { position: relative; flex: none; }
  :root #overlay .drawer:has(> .body.r6gv) > header .cvl-menu { top: 54px; bottom: auto; left: auto; right: 0; z-index: 6; width: 236px; padding: 6px; border: 0; border-radius: 22px; background: rgba(26, 29, 29, .97); box-shadow: inset 0 0 0 1px rgba(239, 241, 246, .12), 0 18px 40px -12px rgba(0, 0, 0, .8); }
  :root #overlay .drawer:has(> .body.r6gv) > header .cvl-menu .umenu-item { min-height: 48px; padding: 0 12px; border-radius: 14px; color: #EFF1F6; font-size: 15px; }
  :root #overlay .drawer:has(> .body.r6gv) > header .cvl-menu .umenu-item svg { color: rgba(239, 241, 246, .66); }
  :root #overlay .drawer:has(> .body.r6gv) > header .cvl-menu .umenu-item:is(.out, .danger), :root #overlay .drawer:has(> .body.r6gv) > header .cvl-menu .umenu-item:is(.out, .danger) svg { color: #FF8A80; }

  /* ---------- the page ---------- */
  :root #overlay .body.r6gv { gap: 0; padding: 0 16px 150px; background: #070808; color: #EFF1F6; overflow-x: hidden; }
  /* the top row, kept while scrolling: the goal's own 3D icon and name, what it is and where it is kept; room at its ends for the header's buttons */
  :root #overlay .r6gv-row { position: sticky; top: 0; z-index: 4; flex: none; display: flex; align-items: center; gap: 12px; min-height: 72px; margin: 0 -16px; padding: 12px 120px 10px 16px; box-sizing: border-box;
    background: rgba(7, 8, 8, .92); -webkit-backdrop-filter: saturate(150%) blur(20px); backdrop-filter: saturate(150%) blur(20px); }
  :root #overlay .r6gv-row.bk { padding-left: 68px; }
  :root #overlay .r6gv-ic { flex: none; display: grid; width: 48px; height: 48px; }
  :root #overlay .r6gv-ic .dxi { width: 48px; height: 48px; }
  :root #overlay .r6gv-nm { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  :root #overlay .r6gv-nm b { overflow: hidden; font-size: 20px; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  :root #overlay .r6gv-nm small { overflow: hidden; color: rgba(239, 241, 246, .55); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }

  /* ---------- its own top: what is set aside, large; the steps; the pill ---------- */
  :root #overlay .r6gv-hero { flex: none; display: flex; flex-direction: column; padding-top: 14px; }
  :root #overlay .r6gv-hero > small { color: rgba(239, 241, 246, .6); font-size: 15px; }
  :root #overlay .r6gv-fig { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 4px; }
  :root #overlay .r6gv-fig > b:first-child { font-size: 52px; font-weight: 300; letter-spacing: -.045em; line-height: 1; white-space: nowrap; }
  :root #overlay .r6gv-fig .cents { color: rgba(239, 241, 246, .42); font-size: .5em; letter-spacing: 0; }
  :root #overlay .r6gv-pct { flex: none; color: #9FD182; font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
  :root #overlay .r6gv-hero.r6gv-zero .r6gv-fig > b:first-child { color: rgba(239, 241, 246, .42); }
  :root #overlay .r6gv-hero.r6gv-zero .r6gv-pct { color: rgba(239, 241, 246, .35); }
  /* the goal as its monthly contributions: those in lit (the last one in full lime), the next ringed, the ones to go dim, the last one edged */
  :root #overlay .r6gv-steps { display: flex; flex-direction: column; gap: 8px; margin: 24px 0 0; }
  :root #overlay .r6gv-st, :root #overlay .r6gv-sl, :root #overlay .r6gv-sy { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 4px; }
  :root #overlay .r6gv-st { position: relative; padding-top: 22px; }
  :root #overlay .r6gv-st i { display: block; height: 34px; box-sizing: border-box; border-radius: 9px; background: rgba(239, 241, 246, .08); transform-origin: 50% 100%; animation: r6gv-step .5s cubic-bezier(.2, .9, .25, 1) both; }
  :root #overlay .r6gv-st i.in { background: rgba(159, 209, 130, .62); }
  :root #overlay .r6gv-st i.in.last { background: #9FD182; }
  :root #overlay .r6gv-st i.now { background: none; box-shadow: inset 0 0 0 2px #9FD182; }
  :root #overlay .r6gv-st i.end { box-shadow: inset 0 0 0 1px rgba(159, 209, 130, .45); }
  :root #overlay .r6gv-flag { position: absolute; top: 0; right: 0; display: inline-flex; align-items: center; gap: 4px; color: #9FD182; font-size: 12px; font-weight: 500; white-space: nowrap; }
  :root #overlay .r6gv-sl small { color: rgba(239, 241, 246, .38); font-size: 11px; font-weight: 500; text-align: center; }
  :root #overlay .r6gv-sl small.now { color: #EFF1F6; }
  :root #overlay .r6gv-sy span { overflow: hidden; color: rgba(239, 241, 246, .38); font-size: 11px; white-space: nowrap; }
  /* nothing in yet: the steps wait as outlines, this month's ringed; the flag quiet */
  :root #overlay .r6gv-hero.r6gv-zero .r6gv-st i:not(.now) { background: none; box-shadow: none; border: 1.5px dashed rgba(239, 241, 246, .16); }
  :root #overlay .r6gv-hero.r6gv-zero .r6gv-st i.end { border-color: rgba(239, 241, 246, .3); }
  :root #overlay .r6gv-hero.r6gv-zero .r6gv-flag { color: rgba(239, 241, 246, .42); }
  /* a target too far for steps: one bar */
  :root #overlay .r6gv-bar { display: block; height: 10px; margin-top: 24px; overflow: hidden; border-radius: 999px; background: rgba(159, 209, 130, .1); }
  :root #overlay .r6gv-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(159, 209, 130, .55), #9FD182); transform-origin: 0 50%; animation: r6gv-fill 1s cubic-bezier(.2, .9, .25, 1) .15s both; }
  :root #overlay .r6gv-tl { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; color: rgba(239, 241, 246, .55); font-size: 13.5px; }
  :root #overlay .r6gv-tl b { color: #EFF1F6; font-weight: 500; }
  :root #overlay .r6gv-pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; margin-top: 16px; padding: 4px 14px; box-sizing: border-box; border-radius: 999px; background: rgba(239, 241, 246, .08); color: #EFF1F6; font-size: 13.5px; font-weight: 500; line-height: 1.3; }
  :root #overlay .r6gv-pill svg { flex: none; width: 15px; height: 15px; }
  :root #overlay .r6gv-pill.good { background: rgba(159, 209, 130, .12); color: #9FD182; }
  :root #overlay .r6gv-pill.warn { background: rgba(247, 210, 122, .12); color: #F7D27A; }
  :root #overlay .r6gv-pill.quiet { background: rgba(239, 241, 246, .06); color: rgba(239, 241, 246, .7); }
  :root #overlay .r6gv-q { margin: 16px 0 0; color: rgba(239, 241, 246, .5); font-size: 13.5px; line-height: 1.45; }
  :root #overlay .r6gv > .banner { margin-top: 16px; }

  /* ---------- the parts under it ---------- */
  :root #overlay .r6gv-sec { flex: none; display: flex; flex-direction: column; gap: 12px; margin-top: 32px; }
  :root #overlay .r6gv .r6-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0; }
  :root #overlay .r6gv .r6-h > span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  :root #overlay .r6gv :is(.r6-h h2, .r6gv-none h2) { margin: 0; color: #EFF1F6; font-size: 20px; font-weight: 500; letter-spacing: -.02em; }
  :root #overlay .r6gv .r6-h small { color: rgba(239, 241, 246, .55); font-size: 14px; line-height: 1.35; }
  :root #overlay .r6gv .r6-card { position: relative; overflow: hidden; border: 1px solid transparent; border-radius: 32px;
    background: radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .03), rgba(255, 255, 255, 0) 55%) padding-box, linear-gradient(#121414, #121414) padding-box,
      linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05) 30%, rgba(255, 255, 255, .025) 70%, rgba(255, 255, 255, .06)) border-box; }
  :root #overlay .r6gv .r6-band { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 52px; padding: 0 20px;
    border-top: 1px solid rgba(239, 241, 246, .07); background: rgba(255, 255, 255, .025); color: #9FD182; font-size: 14.5px; font-weight: 500; }
  :root #overlay .r6gv .r6-band svg { width: 16px; height: 16px; stroke-width: 2.2; }
  :root #overlay .r6gv :is(.r6-band, .r6gv-link, .r6gv-if, .r6gv-df, .r6gv-x):focus-visible { outline: 2px solid #9FD182; outline-offset: 2px; border-radius: 16px; }
  /* this month: what is in and what is missing, side by side; another amount */
  :root #overlay .r6gv-two { display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: 18px; }
  :root #overlay .r6gv-two > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
  :root #overlay .r6gv-two > i { background: rgba(239, 241, 246, .1); }
  :root #overlay .r6gv-two small { color: rgba(239, 241, 246, .55); font-size: 13px; }
  :root #overlay .r6gv-two b { font-size: 24px; font-weight: 500; letter-spacing: -.02em; }
  :root #overlay .r6gv-two b.due { color: #F7D27A; }
  :root #overlay .r6gv-link { all: unset; box-sizing: border-box; cursor: pointer; align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; min-height: 44px; color: #9FD182; font-size: 14.5px; font-weight: 500; }
  :root #overlay .r6gv-link svg { width: 15px; height: 15px; stroke-width: 2.3; }
  /* what if: one card */
  :root #overlay .r6gv-if { all: unset; box-sizing: border-box; cursor: pointer; -webkit-tap-highlight-color: transparent; flex: none; display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 16px 18px 16px 16px; border-radius: 28px; transition: transform .34s cubic-bezier(.2, .9, .3, 1.25); }
  :root #overlay .r6gv-if:active, :root #overlay .r6gv-df:active { transform: scale(.98); }
  :root #overlay .r6gv-if-i { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(159, 209, 130, .14); color: #9FD182; }
  :root #overlay .r6gv-t { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  :root #overlay .r6gv-t > b { overflow: hidden; font-size: 15px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
  :root #overlay .r6gv-t > small { display: flex; align-items: center; min-width: 0; overflow: hidden; color: rgba(239, 241, 246, .55); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
  :root #overlay .r6gv-go { flex: none; display: grid; color: rgba(239, 241, 246, .45); }
  :root #overlay .r6gv-go svg { width: 16px; height: 16px; stroke-width: 2.2; }
  /* the movements: the date as plain text, the account's logo, the amount (in, lime) */
  :root #overlay .r6gv-mvs ul { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
  :root #overlay .r6gv-dfs { display: flex; flex-direction: column; }      /* its rows are buttons: a column stretches them to the card's width */
  :root #overlay .r6gv-mv { display: flex; align-items: center; gap: 14px; min-height: 68px; margin: 0 20px 0 18px; }
  :root #overlay .r6gv-mv + .r6gv-mv { border-top: 1px solid rgba(239, 241, 246, .07); }
  :root #overlay .r6gv-mv .r6gv-t > b { font-weight: 500; }
  :root #overlay .r6gv-day { flex: none; width: 34px; display: flex; flex-direction: column; align-items: center; gap: 1px; }
  :root #overlay .r6gv-day b { font-size: 18px; font-weight: 500; line-height: 1; }
  :root #overlay .r6gv-day small { color: rgba(239, 241, 246, .45); font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
  :root #overlay .r6gv-amt { flex: none; font-size: 16px; font-weight: 500; white-space: nowrap; }
  :root #overlay .r6gv-amt.pos { color: #9FD182; }
  :root #overlay .r6gv-x { all: unset; box-sizing: border-box; cursor: pointer; flex: none; display: grid; place-items: center; width: 44px; height: 44px; margin-right: -12px; border-radius: 50%; color: rgba(239, 241, 246, .5); }
  :root #overlay .r6gv-x svg { width: 16px; height: 16px; }
  :root #overlay .r6gv-acct { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; }
  :root #overlay .r6gv-acct .atag { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
  :root #overlay .r6gv-acct .atag-n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  :root #overlay .r6gv-mv .r6gv-acct .inst { flex: none; width: 16px; height: 16px; min-width: 16px; border-radius: 50%; font-size: 7px; }
  :root #overlay .r6gv-mv .r6gv-acct .inst img { width: 16px; height: 16px; border-radius: 50%; }
  /* nothing in yet: the app's empty line, and where the movements will go, dashed */
  :root #overlay .r6gv-none { gap: 6px; margin-top: 30px; }
  :root #overlay .r6gv-none p { margin: 0; color: rgba(239, 241, 246, .6); font-size: 15px; line-height: 1.45; }
  :root #overlay .r6gv-ghost { display: flex; flex-direction: column; margin-top: 16px; padding: 0 18px 0 16px; border: 1.5px dashed rgba(239, 241, 246, .14); border-radius: 28px; }
  :root #overlay .r6gv-ghost > span { display: flex; align-items: center; gap: 12px; min-height: 64px; }
  :root #overlay .r6gv-ghost > span + span { border-top: 1px dashed rgba(239, 241, 246, .1); }
  :root #overlay .r6gv-ghost i { display: block; height: 12px; border-radius: 6px; background: rgba(239, 241, 246, .06); }
  :root #overlay .r6gv-ghost i.c { flex: none; width: 40px; height: 40px; box-sizing: border-box; border: 1.5px dashed rgba(239, 241, 246, .22); border-radius: 50%; background: none; }
  :root #overlay .r6gv-ghost > span > span { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; }
  :root #overlay .r6gv-ghost > span > span i:first-child { width: 48%; }
  :root #overlay .r6gv-ghost > span > span i:last-child { width: 28%; height: 9px; }
  :root #overlay .r6gv-ghost i.v { flex: none; width: 58px; }
  /* what defines it: one card, a row each, opening its form */
  :root #overlay .r6gv-df { all: unset; box-sizing: border-box; cursor: pointer; -webkit-tap-highlight-color: transparent; display: flex; align-items: center; gap: 12px; min-height: 60px; margin: 0 18px 0 20px; }
  :root #overlay .r6gv-df + .r6gv-df { border-top: 1px solid rgba(239, 241, 246, .07); }
  :root #overlay .r6gv-df > span:first-child { flex: none; width: 112px; color: rgba(239, 241, 246, .55); font-size: 14px; }
  :root #overlay .r6gv-df > b { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; overflow: hidden; font-size: 15.5px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
  :root #overlay .r6gv-df .r6gv-acct .inst { flex: none; width: 22px; height: 22px; min-width: 22px; border-radius: 50%; font-size: 9px; }
  :root #overlay .r6gv-df .r6gv-acct .inst img { width: 22px; height: 22px; border-radius: 50%; }
  :root #overlay .r6gv-ni { display: inline-flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  :root #overlay .r6gv-ni .dxi { flex: none; width: 24px; height: 24px; }
  :root #overlay .r6gv-v { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* ---------- at the foot, at the thumb: Withdraw (dark glass) and Contribute (lime); the page fades under them ---------- */
  :root #overlay .drawer:has(> .body.r6gv) > footer.r6gv-foot { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 10px; padding: 40px 20px calc(28px + var(--safe-b, 0px)); border: 0;
    background: linear-gradient(180deg, rgba(7, 8, 8, 0), rgba(7, 8, 8, .92) 45%, #070808); pointer-events: none; }
  :root #overlay .r6gv-foot .r6-db { all: unset; box-sizing: border-box; pointer-events: auto; cursor: pointer; -webkit-tap-highlight-color: transparent; flex: 0 1 auto; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 20px 0 16px; border-radius: 999px;
    background: rgba(26, 29, 29, .92); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: inset 0 0 0 1px rgba(239, 241, 246, .14), 0 8px 22px rgba(0, 0, 0, .45); color: #EFF1F6; font-size: 15px; font-weight: 500; white-space: nowrap; transition: transform .34s cubic-bezier(.2, .9, .3, 1.25); }
  :root #overlay .r6gv-foot .r6-db.go { padding: 0 22px 0 18px; background: #9FD182; box-shadow: 0 8px 22px rgba(0, 0, 0, .45); color: #101212; }
  :root #overlay .r6gv-foot .r6-db svg { flex: none; width: 19px; height: 19px; stroke-width: 2.3; }
  :root #overlay .r6gv-foot .r6-db > span { overflow: hidden; text-overflow: ellipsis; }
  :root #overlay .r6gv-foot .r6-db:active { transform: scale(.965); }
  :root #overlay .r6gv-foot .r6-db:focus-visible { outline: 2px solid #9FD182; outline-offset: 3px; }
  @media (max-width: 359px) { :root #overlay .r6gv-foot { gap: 8px; } :root #overlay .r6gv-foot .r6-db { padding: 0 14px; font-size: 14px; } :root #overlay .r6gv-foot .r6-db:not(.go) > svg { display: none; } }

  @keyframes r6gv-step { from { opacity: 0; transform: scaleY(.4); } to { opacity: 1; transform: none; } }
  @keyframes r6gv-fill { from { transform: scaleX(0); } to { transform: none; } }
  @media (prefers-reduced-motion: reduce) {
    :root #overlay .r6gv-st i, :root #overlay .r6gv-bar i { animation: none; }
    :root #overlay .r6gv-foot .r6-db, :root #overlay .r6gv-if, :root #overlay .drawer:has(> .body.r6gv) > header :is([data-a="close"], .cvl-more, .dr-back) { transition: none; }
  }
}
