/* ORVAN Landing Experience */
.orvan-experience {
  --orvan-bg: #050505;
  --orvan-card: #121212;
  --orvan-border: #242424;
  --orvan-accent: #38c7ae;
  --orvan-text: #f6f6f6;
  --orvan-muted: #a0a7ad;
  --orvan-transition: 760ms;
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  color: var(--orvan-text);
  background: var(--orvan-bg);
  font-family: "Yekan Bakh", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.orvan-experience *,
.orvan-experience *::before,
.orvan-experience *::after { box-sizing: border-box; }
.orvan-experience button,
.orvan-experience input { font: inherit; }
.orvan-experience button { color: inherit; }
.orvan-experience svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.orvan-stage { position: absolute; inset: 0; overflow: hidden; }
.orvan-screen {
  position: absolute;
  inset: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(6.5%, 0, 0) scale(.992);
  pointer-events: none;
  transition:
    opacity calc(var(--orvan-transition) * .76) cubic-bezier(.2,.8,.2,1),
    transform var(--orvan-transition) cubic-bezier(.2,.8,.2,1),
    visibility 0s linear var(--orvan-transition);
}
.orvan-screen.is-active {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  pointer-events: auto;
  transition-delay: 0s;
}
.orvan-screen.is-before {
  transform: translate3d(-5%,0,0) scale(.994);
}
.orvan-screen-shell {
  position: relative;
  z-index: 2;
  width: min(1040px, calc(100% - 160px));
  height: 100%;
  margin: 0 auto;
  padding: clamp(54px, 7vh, 88px) 0 86px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.orvan-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.018), rgba(255,255,255,0) 52%),
    color-mix(in srgb, var(--orvan-card) 96%, transparent);
  border: 1px solid color-mix(in srgb, var(--orvan-border) 86%, transparent);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018), 0 22px 65px rgba(0,0,0,.12);
}
.orvan-section-heading { margin: 0 0 22px; }
.orvan-section-heading > span {
  display: block;
  margin-bottom: 11px;
  color: var(--orvan-accent);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .18em;
}
.orvan-section-heading h2 {
  margin: 0;
  color: var(--orvan-text);
  font-size: clamp(34px, 3vw, 52px);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 670;
}
.orvan-section-heading p {
  margin: 12px 0 0;
  color: color-mix(in srgb, var(--orvan-muted) 82%, transparent);
  font-size: 13px;
}
.orvan-card-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.orvan-card-row strong { font-size: 14px; font-weight: 610; }
.orvan-card-row span { color: var(--orvan-muted); font-size: 12px; }

/* Hero */
.orvan-screen--hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5,5,5,0) 0%, rgba(5,5,5,.18) 31%, rgba(5,5,5,.9) 76%, var(--orvan-bg) 100%),
    linear-gradient(90deg, rgba(5,5,5,.08), transparent 62%);
}
.orvan-ambient,
.orvan-waitlist-ambient { position: absolute; inset: 0; z-index: -2; overflow: hidden; background: #07100e; }
.orvan-blob { position: absolute; border-radius: 48% 52% 54% 46%; filter: blur(72px); will-change: transform, opacity; }
.orvan-blob--a {
  width: 118vw;
  height: 72vh;
  left: -8vw;
  top: -39vh;
  background: radial-gradient(circle at 51% 52%, rgba(199,255,235,.96) 0%, rgba(82,191,158,.7) 29%, rgba(14,72,56,.42) 57%, transparent 74%);
  animation: orvanAmbientA var(--orvan-motion-speed,18s) cubic-bezier(.45,.05,.35,1) infinite alternate;
}
.orvan-blob--b {
  width: 69vw;
  height: 54vh;
  right: -18vw;
  top: 3vh;
  background: radial-gradient(circle at 44% 50%, rgba(86,215,177,.38), rgba(8,61,45,.2) 48%, transparent 72%);
  animation: orvanAmbientB calc(var(--orvan-motion-speed,18s) * 1.18) cubic-bezier(.45,.05,.35,1) infinite alternate;
}
.orvan-grain {
  position: absolute;
  inset: -18%;
  opacity: .045;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  animation: orvanGrain .72s steps(2) infinite;
}
.orvan-hero-content {
  position: relative;
  z-index: 2;
  width: min(780px, calc(100% - 128px));
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 0 0 clamp(102px, 12vh, 150px) clamp(60px, 5.3vw, 108px);
}
.orvan-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 30px; font-size: 19px; color: rgba(246,246,246,.88); }
.orvan-brand img,
.orvan-global-brand img {
  object-fit: cover;
  border-radius: 11px;
  mix-blend-mode: screen;
  filter: saturate(.88) contrast(1.06);
}
.orvan-hero-title {
  margin: 0;
  max-width: 780px;
  font-size: clamp(52px, 4.15vw, 82px);
  line-height: 1.05;
  letter-spacing: -.052em;
  font-weight: 650;
}
.orvan-hero-title span { display: block; }
.orvan-hero-title em { color: var(--orvan-accent); font-style: normal; font-weight: inherit; }
.orvan-hero-subtitle { margin: 24px 0 28px; color: var(--orvan-muted); font-size: clamp(16px,1.25vw,21px); letter-spacing: -.01em; }
.orvan-primary-cta,
.orvan-submit-button,
.orvan-telegram-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 28px;
  border: 1px solid rgba(99,224,196,.55);
  border-radius: 18px;
  cursor: pointer;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(180deg, rgba(10,54,45,.96), rgba(7,42,35,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 42px rgba(0,0,0,.24);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, filter .35s ease;
}
.orvan-primary-cta { width: min(324px,100%); font-size: 17px; }
.orvan-primary-cta i,
.orvan-submit-button i {
  position: absolute;
  inset: -130% -36%;
  z-index: -1;
  background: radial-gradient(ellipse at center, rgba(205,255,239,.9), rgba(56,199,174,.34) 30%, transparent 64%);
  transform: translate3d(-34%,44%,0) rotate(-7deg);
  animation: orvanButtonGlow 5.8s cubic-bezier(.4,0,.2,1) infinite alternate;
}
.orvan-primary-cta:hover,
.orvan-submit-button:hover,
.orvan-telegram-button:hover { transform: translateY(-2px); border-color: rgba(153,255,226,.85); }
.orvan-key-hint { margin-top: 24px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.025); border-radius: 11px; background: rgba(10,12,12,.38); color: rgba(160,167,173,.58); font-size: 11px; }
.orvan-key-hint span { color: rgba(160,167,173,.78); }
[data-reveal] { opacity: 0; transform: translate3d(0,18px,0); }
.orvan-screen--hero.is-active [data-reveal] { animation: orvanReveal .9s cubic-bezier(.2,.8,.2,1) forwards; }
.orvan-screen--hero.is-active [data-reveal="2"] { animation-delay: .08s; }
.orvan-screen--hero.is-active [data-reveal="3"] { animation-delay: .16s; }
.orvan-screen--hero.is-active [data-reveal="4"] { animation-delay: .24s; }
.orvan-screen--hero.is-active [data-reveal="5"] { animation-delay: .32s; }

/* Persistent navigation */
.orvan-global-brand {
  position: absolute;
  z-index: 20;
  top: 26px;
  left: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(246,246,246,.48);
  font-size: 13px;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease;
}
.orvan-experience:not([data-current="0"]) .orvan-global-brand { opacity: 1; transform: translateY(0); }
.orvan-global-brand img { width: 25px; height: 25px; border-radius: 7px; }
.orvan-pagination {
  position: absolute;
  z-index: 25;
  left: 50%;
  bottom: 27px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.025);
  border-radius: 999px;
  background: rgba(8,10,10,.42);
  backdrop-filter: blur(16px);
}
.orvan-pagination button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  background: rgba(160,167,173,.24);
  transition: width .42s cubic-bezier(.2,.8,.2,1), background .3s ease, box-shadow .3s ease;
}
.orvan-pagination button.is-active { width: 30px; background: var(--orvan-accent); box-shadow: 0 0 16px rgba(56,199,174,.25); }
.orvan-pagination button span { display: none; }
.orvan-nav-actions {
  position: absolute;
  z-index: 25;
  right: 28px;
  bottom: 24px;
  display: flex;
  gap: 9px;
}
.orvan-next,
.orvan-back {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 16px;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s ease, background .25s ease;
}
.orvan-next { color: #fff; background: var(--orvan-accent); box-shadow: 0 12px 28px color-mix(in srgb, var(--orvan-accent) 22%, transparent), inset 0 1px 0 rgba(255,255,255,.24); }
.orvan-back { color: rgba(246,246,246,.7); background: rgba(18,18,18,.78); border: 1px solid rgba(255,255,255,.045); }
.orvan-next:hover,
.orvan-back:hover { transform: translateY(-3px); }
.orvan-back:disabled { opacity: 0; pointer-events: none; transform: translateX(10px); }
.orvan-progress-rail { position: absolute; z-index: 22; left: 0; bottom: 0; width: 100%; height: 2px; background: rgba(255,255,255,.025); }
.orvan-progress-rail i { display: block; width: 0; height: 100%; background: var(--orvan-accent); box-shadow: 0 0 18px color-mix(in srgb,var(--orvan-accent) 45%,transparent); transition: width var(--orvan-transition) cubic-bezier(.2,.8,.2,1); }
.orvan-sr-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Progress */
.orvan-progress-shell { max-width: 950px; }
.orvan-season-card { padding: 18px 20px 14px; margin-bottom: 14px; }
.orvan-season-track { position: relative; height: 20px; margin: 17px 0 4px; }
.orvan-season-track::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 7px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.orvan-season-track > i {
  position: absolute;
  left: 0;
  top: 7px;
  width: 0;
  height: 6px;
  border-radius: 999px;
  background: var(--orvan-accent);
  box-shadow: 0 0 12px color-mix(in srgb,var(--orvan-accent) 35%,transparent);
  transition: width 1.45s cubic-bezier(.18,.88,.3,1);
}
.orvan-screen--progress.is-animated .orvan-season-track > i { width: var(--target); }
.orvan-season-track button {
  position: absolute;
  z-index: 2;
  top: 2px;
  width: 16px;
  height: 16px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 5px;
  cursor: pointer;
  background: #161b1a;
  transform: translateX(-50%) scale(.85);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), background .3s ease;
}
.orvan-season-track button:nth-of-type(1) { left: 28%; }
.orvan-season-track button:nth-of-type(2) { left: 58%; }
.orvan-season-track button:nth-of-type(3) { left: 92%; }
.orvan-screen--progress.is-animated .orvan-season-track button { transform: translateX(-50%) scale(1); }
.orvan-season-track button.is-current { background: var(--orvan-accent); color: #04110e; border-color: rgba(255,255,255,.28); }
.orvan-season-track button span {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  transform: translateX(-50%);
  width: max-content;
  max-width: 220px;
  padding: 6px 9px;
  border-radius: 8px;
  background: rgba(33,45,42,.94);
  color: var(--orvan-text);
  font-size: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}
.orvan-level-labels { display: flex; justify-content: space-between; color: rgba(160,167,173,.55); font-size: 9px; }
.orvan-progress-grid { display: grid; grid-template-columns: 1fr 1fr 1.36fr; gap: 14px; min-height: 0; }
.orvan-gauge-card,
.orvan-streak-card { min-height: 178px; padding: 18px; }
.orvan-gauge-card { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.orvan-gauge {
  --value: 0deg;
  position: relative;
  width: 136px;
  height: 78px;
  overflow: hidden;
}
.orvan-gauge::before,
.orvan-gauge::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 5px;
  width: 128px;
  height: 128px;
  border-radius: 50%;
}
.orvan-gauge::before { background: conic-gradient(from 270deg, rgba(255,255,255,.065) 0 180deg, transparent 180deg 360deg); }
.orvan-gauge::after {
  background: conic-gradient(from 270deg, var(--orvan-accent) 0 var(--value), transparent var(--value) 360deg);
  mask: radial-gradient(circle at center, transparent 56%, #000 58%);
  -webkit-mask: radial-gradient(circle at center, transparent 56%, #000 58%);
  transition: --value 1.4s cubic-bezier(.18,.88,.3,1);
}
.orvan-gauge > div { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; text-align: center; }
.orvan-gauge strong { display: block; font-size: 28px; line-height: 1; }
.orvan-gauge small { color: var(--orvan-muted); font-size: 9px; }
.orvan-gauge-card p { margin: 13px 0 0; color: var(--orvan-accent); font-size: 10px; }
.orvan-streak-card > span { color: var(--orvan-muted); font-size: 10px; }
.orvan-streak-card > div:not(.orvan-streak-top) { display: grid; grid-template-columns: auto auto 1fr; align-items: end; gap: 7px; height: calc(100% - 24px); }
.orvan-streak-card strong { font-size: 47px; line-height: .9; letter-spacing: -.06em; }
.orvan-streak-card small { margin-bottom: 3px; color: var(--orvan-muted); font-size: 10px; }
.orvan-streak-card > i {
  justify-self: end;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffb12d;
  background: radial-gradient(circle at 50% 60%, rgba(255,177,45,.24), transparent 62%);
  border: 6px solid rgba(255,177,45,.18);
  box-shadow: 0 0 0 1px rgba(255,177,45,.1);
}
.orvan-streak-card > i svg { width: 30px; height: 30px; stroke-width: 1.5; }
.orvan-bars-card { grid-column: 3; grid-row: 1 / span 2; padding: 18px; }
.orvan-bars { height: calc(100% - 28px); display: flex; align-items: flex-end; gap: 9px; padding-top: 18px; }
.orvan-bars button {
  position: relative;
  flex: 1;
  height: 100%;
  padding: 0 0 19px;
  border: 0;
  background: none;
  cursor: pointer;
}
.orvan-bars button i {
  position: absolute;
  left: 13%;
  right: 13%;
  bottom: 25px;
  height: 0;
  min-height: 4px;
  border-radius: 6px 6px 3px 3px;
  background: #26302e;
  transition: height 1.05s cubic-bezier(.18,.88,.3,1), background .25s ease;
}
.orvan-screen--progress.is-animated .orvan-bars button i { height: calc(var(--bar) / 14 * 78%); }
.orvan-bars button:nth-child(6) i,
.orvan-bars button:hover i { background: var(--orvan-accent); }
.orvan-bars button::before {
  content: attr(data-value);
  position: absolute;
  left: 50%;
  bottom: calc(25px + var(--bar) / 14 * 78% + 7px);
  transform: translate(-50%,6px);
  padding: 4px 6px;
  border-radius: 6px;
  background: var(--orvan-accent);
  color: #04110e;
  font-size: 8px;
  font-weight: 700;
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
}
.orvan-bars button:nth-child(6)::before,
.orvan-bars button:hover::before { opacity: 1; transform: translate(-50%,0); }
.orvan-bars button span { position: absolute; left: 0; right: 0; bottom: 0; color: rgba(160,167,173,.62); font-size: 9px; }
.orvan-focus-card { grid-column: 1 / span 2; min-height: 168px; padding: 18px; }
.orvan-focus-card svg { width: 100%; height: 104px; margin-top: 9px; overflow: visible; }
.orvan-focus-card .orvan-line {
  fill: none;
  stroke: var(--orvan-accent);
  stroke-width: 2.1;
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  transition: stroke-dashoffset 1.5s cubic-bezier(.18,.88,.3,1);
}
.orvan-focus-card .orvan-area { opacity: 0; transition: opacity .8s ease .35s; }
.orvan-focus-card circle { fill: var(--orvan-accent); stroke: rgba(205,255,239,.7); stroke-width: 2; opacity: 0; transition: opacity .3s ease 1s; }
.orvan-screen--progress.is-animated .orvan-focus-card .orvan-line { stroke-dashoffset: 0; }
.orvan-screen--progress.is-animated .orvan-focus-card .orvan-area,
.orvan-screen--progress.is-animated .orvan-focus-card circle { opacity: 1; }
.orvan-time-card { grid-column: 3; padding: 18px; }
.orvan-time-row { display: grid; grid-template-columns: 58px 1fr 36px; align-items: center; gap: 9px; margin-top: 10px; font-size: 9px; }
.orvan-time-row > span { color: var(--orvan-muted); }
.orvan-time-row > i { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.045); }
.orvan-time-row > i b { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--orvan-accent); transition: width 1.1s cubic-bezier(.18,.88,.3,1); }
.orvan-screen--progress.is-animated .orvan-time-row > i b { width: var(--fill); }
.orvan-time-row > strong { text-align: right; font-size: 9px; }

/* Tasks */
.orvan-tasks-shell { max-width: 850px; }
.orvan-day-tabs { display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; margin-bottom: 12px; }
.orvan-day-tabs button {
  min-height: 54px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 13px;
  cursor: pointer;
  background: #111514;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.orvan-day-tabs button:hover { transform: translateY(-2px); }
.orvan-day-tabs button.is-active { color: #06130f; background: var(--orvan-accent); border-color: rgba(255,255,255,.22); box-shadow: 0 10px 24px color-mix(in srgb,var(--orvan-accent) 16%,transparent); }
.orvan-day-tabs small,
.orvan-day-tabs strong { display: block; }
.orvan-day-tabs small { margin-bottom: 3px; font-size: 9px; opacity: .66; }
.orvan-day-tabs strong { font-size: 14px; }
.orvan-xp-card { position: relative; padding: 14px 16px; margin-bottom: 11px; }
.orvan-xp-card > div:first-child { display: flex; align-items: center; gap: 12px; color: var(--orvan-muted); font-size: 10px; }
.orvan-level-pill { padding: 6px 10px; border-radius: 8px; background: color-mix(in srgb,var(--orvan-accent) 82%,#000); color: #06130f; font-weight: 750; }
.orvan-xp-track { height: 7px; margin: 12px 0 1px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.05); }
.orvan-xp-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--orvan-accent); box-shadow: 0 0 14px color-mix(in srgb,var(--orvan-accent) 30%,transparent); transition: width .72s cubic-bezier(.2,.8,.2,1); }
.orvan-streak-inline { position: absolute; top: 14px; right: 16px; color: var(--orvan-muted); font-size: 10px; }
.orvan-streak-inline i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #ffb12d; box-shadow: 0 0 10px rgba(255,177,45,.42); }
.orvan-task-list { display: flex; flex-direction: column; gap: 8px; min-height: 0; }
.orvan-task {
  position: relative;
  min-height: 70px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 11px 14px;
  overflow: hidden;
  transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1), border-color .3s ease, background .3s ease;
}
.orvan-task.is-hidden { display: none; }
.orvan-task::after {
  content: "";
  position: absolute;
  top: 13px;
  bottom: 13px;
  right: 0;
  width: 2px;
  border-radius: 2px;
  background: var(--priority-color,#d59a38);
  opacity: .82;
}
.orvan-task.is-complete { border-color: color-mix(in srgb,var(--orvan-accent) 20%,var(--orvan-border)); background: color-mix(in srgb,var(--orvan-accent) 5%,var(--orvan-card)); }
.orvan-task.is-complete .orvan-task-copy strong { color: color-mix(in srgb,var(--orvan-text) 52%,transparent); text-decoration: line-through; text-decoration-thickness: 1px; }
.orvan-task-check {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  cursor: pointer;
  background: rgba(0,0,0,.12);
  transition: background .28s ease, transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease;
}
.orvan-task-check svg { width: 18px; height: 18px; opacity: 0; transform: scale(.45) rotate(-12deg); transition: opacity .25s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.orvan-task.is-complete .orvan-task-check { color: #06130f; background: var(--orvan-accent); border-color: rgba(255,255,255,.25); transform: scale(1.04); }
.orvan-task.is-complete .orvan-task-check svg { opacity: 1; transform: scale(1) rotate(0); }
.orvan-task-copy { text-align: right; }
.orvan-task-copy strong { display: block; font-size: 14px; font-weight: 550; transition: color .3s ease; }
.orvan-task-copy span { display: flex; flex-direction: row-reverse; justify-content: flex-start; gap: 12px; margin-top: 5px; font-size: 9px; color: var(--orvan-muted); }
.orvan-task-copy b { font-weight: 500; }
.orvan-task-copy em { color: color-mix(in srgb,var(--orvan-muted) 76%,transparent); font-style: normal; }
.orvan-priority {
  --priority-color: #d59a38;
  min-width: 66px;
  padding: 7px 9px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  color: var(--priority-color);
  background: color-mix(in srgb,var(--priority-color) 11%,transparent);
  font-size: 9px;
}
.orvan-priority--high { --priority-color: #e07c68; }
.orvan-priority--medium { --priority-color: #d59a38; }
.orvan-priority--low { --priority-color: #81908d; }
.orvan-level-toast {
  position: absolute;
  left: 50%;
  bottom: 76px;
  z-index: 10;
  min-width: 360px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  border: 1px solid rgba(152,255,224,.25);
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(90deg, color-mix(in srgb,var(--orvan-accent) 80%,#08241d), #143a31);
  box-shadow: 0 18px 50px rgba(0,0,0,.32);
  opacity: 0;
  transform: translate(-50%,18px) scale(.96);
  pointer-events: none;
  transition: opacity .4s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}
.orvan-level-toast.is-visible { opacity: 1; transform: translate(-50%,0) scale(1); }
.orvan-level-toast > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.17); }
.orvan-level-toast strong,
.orvan-level-toast small { display: block; }
.orvan-level-toast strong { font-size: 14px; }
.orvan-level-toast small { margin-top: 2px; color: rgba(255,255,255,.72); font-size: 9px; }
.orvan-xp-float {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  padding: 7px 10px;
  border-radius: 9px;
  color: #06130f;
  background: var(--orvan-accent);
  font-size: 10px;
  font-weight: 750;
  opacity: 0;
  pointer-events: none;
}

/* Leaderboard */
.orvan-leaderboard-shell { max-width: 760px; }
.orvan-segmented {
  align-self: flex-start;
  display: flex;
  padding: 3px;
  margin-bottom: 16px;
  border-radius: 11px;
  background: #111514;
  border: 1px solid rgba(255,255,255,.035);
}
.orvan-segmented button { padding: 8px 16px; border: 0; border-radius: 8px; cursor: pointer; color: var(--orvan-muted); background: transparent; font-size: 10px; }
.orvan-segmented button.is-active { color: #06130f; background: var(--orvan-accent); }
.orvan-podium { height: 250px; display: grid; grid-template-columns: repeat(3,1fr); align-items: end; gap: 8px; margin-bottom: 12px; padding: 0 12px; }
.orvan-podium-item {
  position: relative;
  height: var(--podium-height,58%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 24px;
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 18px 18px 8px 8px;
  background: linear-gradient(180deg, color-mix(in srgb,var(--orvan-accent) 13%,#111614), #111514 62%);
  transform: scaleY(.08);
  transform-origin: bottom;
  opacity: .15;
  transition: transform 1s cubic-bezier(.18,.88,.3,1), opacity .55s ease;
}
.orvan-screen--leaderboard.is-animated .orvan-podium-item { transform: scaleY(1); opacity: 1; transition-delay: calc(var(--podium-order) * 80ms); }
.orvan-podium-item--1 { --podium-height: 92%; }
.orvan-podium-item--2 { --podium-height: 70%; background: linear-gradient(180deg, color-mix(in srgb,var(--orvan-accent) 38%,#0e1c18), #111514 70%); }
.orvan-podium-item--3 { --podium-height: 58%; }
.orvan-podium-item > * { transform: scaleY(calc(1 / .08)); transition: transform 1s cubic-bezier(.18,.88,.3,1); }
.orvan-screen--leaderboard.is-animated .orvan-podium-item > * { transform: scaleY(1); }
.orvan-podium-item .orvan-avatar { margin-bottom: 7px; }
.orvan-podium-item strong { font-size: 12px; }
.orvan-podium-item span { margin-top: 3px; color: var(--orvan-accent); font-size: 10px; }
.orvan-podium-item i {
  position: absolute;
  bottom: 18px;
  font-size: 34px;
  font-style: normal;
  color: rgba(255,255,255,.6);
}
.orvan-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #26302e; color: rgba(246,246,246,.82); font-size: 13px; font-weight: 700; }
.orvan-podium-item--2 .orvan-avatar { background: var(--orvan-accent); color: #06130f; }
.orvan-leader-list { padding: 5px 14px; }
.orvan-leader-row {
  position: relative;
  min-height: 54px;
  display: grid;
  grid-template-columns: 28px 36px 1fr auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,.035);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s ease, transform .45s cubic-bezier(.2,.8,.2,1), background .35s ease;
}
.orvan-leader-row:last-child { border-bottom: 0; }
.orvan-screen--leaderboard.is-animated .orvan-leader-row { opacity: 1; transform: translateY(0); }
.orvan-screen--leaderboard.is-animated .orvan-leader-row:nth-child(2) { transition-delay: .06s; }
.orvan-screen--leaderboard.is-animated .orvan-leader-row:nth-child(3) { transition-delay: .12s; }
.orvan-screen--leaderboard.is-animated .orvan-leader-row:nth-child(4) { transition-delay: .18s; }
.orvan-leader-row > b { color: var(--orvan-muted); font-size: 10px; text-align: center; }
.orvan-leader-row > div strong,
.orvan-leader-row > div small { display: block; }
.orvan-leader-row > div strong { font-size: 11px; }
.orvan-leader-row > div small { margin-top: 2px; color: var(--orvan-muted); font-size: 8px; }
.orvan-leader-row > em { font-style: normal; font-size: 10px; }
.orvan-leader-row.is-user {
  margin: 3px -7px;
  padding: 0 7px;
  border-radius: 12px;
  color: var(--orvan-accent);
  background: color-mix(in srgb,var(--orvan-accent) 6%,transparent);
  border-bottom-color: transparent;
}
.orvan-leader-row.is-user .orvan-avatar { background: var(--orvan-accent); color: #06130f; }
.orvan-user-level {
  position: absolute;
  right: 8px;
  top: -10px;
  padding: 4px 6px;
  border-radius: 6px;
  color: #06130f;
  background: var(--orvan-accent);
  font-size: 7px;
  opacity: 0;
  transform: scale(.8);
  transition: opacity .35s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
.orvan-leader-row.is-level-up .orvan-user-level { opacity: 1; transform: scale(1); animation: orvanLevelPulse .8s ease 1; }

/* Profile */
.orvan-profile-shell { max-width: 720px; }
.orvan-profile-card { padding: 18px; margin-bottom: 18px; }
.orvan-profile-head { display: flex; align-items: center; gap: 13px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.04); }
.orvan-profile-head strong,
.orvan-profile-head span { display: block; }
.orvan-profile-head strong { font-size: 14px; }
.orvan-profile-head span { margin-top: 3px; color: var(--orvan-muted); font-size: 9px; }
.orvan-profile-avatar { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 13px; background: var(--orvan-accent); color: #06130f; font-size: 20px; font-weight: 750; transition: border-radius .45s cubic-bezier(.2,.8,.2,1), background .35s ease, transform .35s ease; }
.orvan-profile-avatar[data-shape="soft"] { border-radius: 22px; }
.orvan-profile-avatar[data-shape="circle"] { border-radius: 50%; }
.orvan-profile-avatar[data-shape="leaf"] { border-radius: 6px 28px 6px 28px; }
.orvan-profile-avatar[data-shape="pill"] { border-radius: 999px 999px 14px 999px; }
.orvan-profile-stats { display: grid; grid-template-columns: repeat(3,1fr); padding: 16px 0 13px; }
.orvan-profile-stats > div { text-align: center; border-right: 1px solid rgba(255,255,255,.04); }
.orvan-profile-stats > div:last-child { border-right: 0; }
.orvan-profile-stats strong,
.orvan-profile-stats span { display: block; }
.orvan-profile-stats strong { font-size: 19px; }
.orvan-profile-stats span { margin-top: 2px; color: var(--orvan-muted); font-size: 8px; }
.orvan-badge-inline { display: flex; align-items: center; gap: 10px; color: var(--orvan-muted); font-size: 9px; }
.orvan-badge-inline i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: #06130f; background: var(--orvan-accent); }
.orvan-badge-inline svg { width: 13px; height: 13px; }
.orvan-customize-group { margin-top: 15px; }
.orvan-customize-group > span { display: block; margin-bottom: 8px; color: var(--orvan-muted); font-size: 10px; }
.orvan-choice-row,
.orvan-chip-row,
.orvan-badge-grid { display: flex; gap: 9px; flex-wrap: wrap; }
.orvan-choice-row button {
  width: 49px;
  height: 49px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 12px;
  cursor: pointer;
  background: #1a211f;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.orvan-choice-row button:hover,
.orvan-chip-row button:hover,
.orvan-badge-grid button:hover { transform: translateY(-2px); }
.orvan-choice-row button.is-active { border-color: var(--orvan-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--orvan-accent) 22%,transparent); }
.orvan-choice-row .shape-soft { border-radius: 20px; }
.orvan-choice-row .shape-circle { border-radius: 50%; }
.orvan-choice-row .shape-leaf { border-radius: 5px 24px 5px 24px; }
.orvan-choice-row .shape-pill { border-radius: 999px 999px 12px 999px; }
.orvan-theme-choices button { width: 34px; height: 34px; border-radius: 50%; background: var(--swatch); }
.orvan-theme-choices button.is-active { box-shadow: 0 0 0 3px var(--orvan-bg), 0 0 0 4px var(--orvan-accent); }
.orvan-chip-row button {
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 9px;
  cursor: pointer;
  color: var(--orvan-muted);
  background: transparent;
  font-size: 9px;
}
.orvan-chip-row button.is-active { color: #06130f; background: var(--orvan-accent); border-color: transparent; }
.orvan-badge-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.orvan-badge-grid button {
  min-height: 76px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 13px;
  cursor: pointer;
  color: color-mix(in srgb,var(--orvan-muted) 68%,transparent);
  background: #101413;
  font-size: 8px;
}
.orvan-badge-grid button i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.035); }
.orvan-badge-grid button svg { width: 13px; height: 13px; }
.orvan-badge-grid button.is-active { color: var(--orvan-text); border-color: color-mix(in srgb,var(--orvan-accent) 56%,transparent); }
.orvan-badge-grid button.is-active i { color: #06130f; background: var(--orvan-accent); }

/* Waitlist */
.orvan-screen--waitlist::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,var(--orvan-bg) 0%,rgba(5,5,5,.88) 47%,rgba(5,5,5,.28) 76%,rgba(5,5,5,.02) 100%);
  pointer-events: none;
  z-index: -1;
}
.orvan-waitlist-ambient { background: var(--orvan-bg); }
.orvan-waitlist-ambient > span {
  position: absolute;
  left: -10%;
  bottom: -46%;
  width: 120%;
  height: 66%;
  border-radius: 48% 52% 42% 58%;
  filter: blur(54px);
  background: radial-gradient(ellipse at 50% 34%, rgba(180,255,230,.78), rgba(56,199,174,.48) 34%, rgba(13,65,51,.32) 58%, transparent 74%);
  animation: orvanWaitlistWave var(--orvan-motion-speed,18s) cubic-bezier(.45,.05,.35,1) infinite alternate;
}
.orvan-waitlist-ambient > span:nth-child(2) {
  left: 23%;
  bottom: -52%;
  width: 80%;
  height: 60%;
  opacity: .55;
  animation-delay: -6s;
  animation-duration: calc(var(--orvan-motion-speed,18s) * 1.25);
}
.orvan-waitlist-wrap {
  position: relative;
  z-index: 2;
  width: min(470px, calc(100% - 48px));
  height: 100%;
  margin: 0 auto;
  display: grid;
  place-items: center;
  padding: 70px 0 76px;
}
.orvan-waitlist-form-state,
.orvan-success-state { width: 100%; }
.orvan-waitlist-kicker {
  width: max-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 auto 18px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 999px;
  color: color-mix(in srgb,var(--orvan-muted) 72%,transparent);
  background: rgba(12,17,15,.62);
  backdrop-filter: blur(10px);
  font-size: 9px;
}
.orvan-waitlist-kicker svg { width: 12px; height: 12px; color: var(--orvan-accent); }
.orvan-waitlist-form-state > h2,
.orvan-success-state h2 { margin: 0 0 24px; text-align: center; font-size: clamp(32px,3vw,47px); line-height: 1; letter-spacing: -.045em; }
.orvan-waitlist-form {
  padding: 20px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 22px;
  background: rgba(13,18,16,.64);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 24px 70px rgba(0,0,0,.23);
  backdrop-filter: blur(14px);
}
.orvan-waitlist-form > label { display: block; margin-bottom: 13px; }
.orvan-waitlist-form > label > span { display: block; margin-bottom: 6px; color: var(--orvan-muted); font-size: 9px; }
.orvan-waitlist-form input {
  width: 100%;
  height: 47px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 10px;
  outline: 0;
  color: var(--orvan-text);
  background: rgba(255,255,255,.035);
  font-size: 12px;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.orvan-waitlist-form input:focus { border-color: color-mix(in srgb,var(--orvan-accent) 52%,transparent); background: rgba(255,255,255,.045); box-shadow: 0 0 0 3px color-mix(in srgb,var(--orvan-accent) 8%,transparent); }
.orvan-waitlist-form label.has-error input,
.orvan-waitlist-form label.has-error .orvan-phone-field { border-color: rgba(224,124,104,.68); }
.orvan-waitlist-form label > small { min-height: 13px; display: block; margin-top: 4px; color: #e07c68; font-size: 8px; }
.orvan-phone-field { display: grid; grid-template-columns: auto 1fr; align-items: center; height: 47px; border: 1px solid rgba(255,255,255,.05); border-radius: 10px; background: rgba(255,255,255,.035); overflow: hidden; transition: border-color .25s ease; }
.orvan-phone-field b { padding: 0 11px; color: var(--orvan-muted); font-size: 9px; font-weight: 500; border-right: 1px solid rgba(255,255,255,.05); }
.orvan-phone-field input { height: 45px; border: 0; border-radius: 0; background: transparent; box-shadow: none !important; }
.orvan-submit-button { width: 100%; min-height: 50px; margin-top: 2px; font-size: 11px; }
.orvan-submit-button.is-loading { pointer-events: none; opacity: .72; }
.orvan-submit-button.is-loading svg { animation: orvanSpin .8s linear infinite; }
.orvan-form-message { min-height: 16px; margin: 9px 0 -4px; color: #e07c68; text-align: center; font-size: 9px; }
.orvan-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.orvan-success-state {
  text-align: center;
  opacity: 0;
  transform: translateY(16px) scale(.98);
}
.orvan-success-state.is-visible { animation: orvanSuccessIn .72s cubic-bezier(.2,.8,.2,1) forwards; }
.orvan-success-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  border-radius: 18px;
  color: #06130f;
  background: var(--orvan-accent);
  box-shadow: 0 18px 54px color-mix(in srgb,var(--orvan-accent) 22%,transparent);
}
.orvan-success-icon svg { width: 30px; height: 30px; }
.orvan-success-state p { max-width: 420px; margin: 0 auto 20px; color: var(--orvan-muted); font-size: 13px; line-height: 1.8; }
.orvan-success-state p strong { color: var(--orvan-text); }
.orvan-success-rewards { display: flex; justify-content: center; gap: 8px; margin-bottom: 18px; }
.orvan-success-rewards span { padding: 8px 10px; border: 1px solid rgba(255,255,255,.05); border-radius: 9px; color: var(--orvan-accent); background: rgba(9,19,16,.54); font-size: 9px; }
.orvan-telegram-button { width: min(330px,100%); margin: 0 auto; min-height: 52px; background: #159bd7; border-color: rgba(255,255,255,.18); box-shadow: 0 14px 40px rgba(21,155,215,.18); font-size: 11px; }

/* Animations */
@keyframes orvanAmbientA {
  0% { transform: translate3d(-3%,-2%,0) scale(1.02) rotate(-1deg); border-radius: 48% 52% 54% 46%; }
  52% { transform: translate3d(2%,4%,0) scale(1.08) rotate(1deg); border-radius: 54% 46% 45% 55%; }
  100% { transform: translate3d(5%,-1%,0) scale(1.04); border-radius: 46% 54% 52% 48%; }
}
@keyframes orvanAmbientB { from { transform: translate3d(0,-3%,0) scale(1); opacity:.65; } to { transform: translate3d(-12%,9%,0) scale(1.15); opacity:.9; } }
@keyframes orvanButtonGlow { from { transform: translate3d(-34%,44%,0) rotate(-7deg); } to { transform: translate3d(32%,34%,0) rotate(7deg); } }
@keyframes orvanGrain { 0%{transform:translate3d(0,0,0)}25%{transform:translate3d(2%,-1%,0)}50%{transform:translate3d(-1%,2%,0)}75%{transform:translate3d(1%,1%,0)}100%{transform:translate3d(-2%,-1%,0)} }
@keyframes orvanReveal { to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes orvanWaitlistWave { from { transform: translate3d(-2%,1%,0) scale(1.02) rotate(-1deg); } to { transform: translate3d(4%,-8%,0) scale(1.12) rotate(1deg); } }
@keyframes orvanLevelPulse { 0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--orvan-accent) 0%,transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--orvan-accent) 0%,transparent)} }
@keyframes orvanSpin { to { transform: rotate(360deg); } }
@keyframes orvanSuccessIn { to { opacity:1; transform:translateY(0) scale(1); } }

/* Responsive */
@media (max-width: 900px) {
  .orvan-screen-shell { width: min(760px,calc(100% - 72px)); }
  .orvan-progress-grid { grid-template-columns: 1fr 1fr; }
  .orvan-bars-card { grid-column: 1 / span 2; grid-row: auto; min-height: 190px; }
  .orvan-time-card { grid-column: 2; }
  .orvan-focus-card { grid-column: 1; }
}
@media (max-width: 767px) {
  .orvan-experience { min-height: 560px; }
  .orvan-screen { transform: translate3d(10%,0,0) scale(.996); }
  .orvan-screen.is-before { transform: translate3d(-8%,0,0) scale(.996); }
  .orvan-screen-shell {
    width: 100%;
    padding: max(54px,env(safe-area-inset-top)) 20px calc(72px + env(safe-area-inset-bottom));
    justify-content: flex-start;
    overflow-y: auto;
    scrollbar-width: none;
  }
  .orvan-screen-shell::-webkit-scrollbar { display: none; }
  .orvan-section-heading { margin-bottom: 15px; }
  .orvan-section-heading > span { margin-bottom: 8px; font-size: 8px; }
  .orvan-section-heading h2 { font-size: clamp(29px,8.4vw,38px); }
  .orvan-section-heading p { margin-top: 8px; font-size: 9px; }
  .orvan-card { border-radius: 17px; }

  .orvan-screen--hero::after { background: linear-gradient(180deg,rgba(5,5,5,0) 0%,rgba(5,5,5,.18) 30%,rgba(5,5,5,.92) 70%,var(--orvan-bg) 100%); }
  .orvan-blob--a { width: 168vw; height: 64vh; left: -35vw; top: -26vh; filter: blur(55px); }
  .orvan-blob--b { width: 105vw; height: 43vh; right: -48vw; top: 22vh; filter: blur(56px); }
  .orvan-hero-content { width: 100%; padding: 0 23px calc(68px + env(safe-area-inset-bottom)); }
  .orvan-brand { margin-bottom: 20px; font-size: 15px; gap: 8px; }
  .orvan-brand img { width: 34px; height: 34px; border-radius: 9px; }
  .orvan-hero-title { font-size: clamp(38px,11.6vw,56px); line-height: 1.06; }
  .orvan-hero-subtitle { margin: 17px 0 22px; font-size: 14px; }
  .orvan-primary-cta { width: 100%; font-size: 14px; }
  .orvan-key-hint { display: none; }

  .orvan-global-brand { display: none; }
  .orvan-pagination { left: 19px; bottom: calc(22px + env(safe-area-inset-bottom)); transform: none; gap: 6px; padding: 7px 9px; }
  .orvan-pagination button { width: 7px; height: 7px; }
  .orvan-pagination button.is-active { width: 24px; }
  .orvan-nav-actions { right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); }
  .orvan-next { width: 49px; height: 49px; border-radius: 14px; }
  .orvan-back { display: none; }

  .orvan-progress-shell { padding-top: max(58px,env(safe-area-inset-top)); }
  .orvan-season-card { padding: 14px 14px 11px; margin-bottom: 10px; }
  .orvan-season-track button span { font-size: 7px; }
  .orvan-progress-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .orvan-gauge-card,
  .orvan-streak-card { min-height: 126px; padding: 13px; }
  .orvan-gauge { width: 104px; height: 60px; }
  .orvan-gauge::before,
  .orvan-gauge::after { width: 96px; height: 96px; }
  .orvan-gauge strong { font-size: 21px; }
  .orvan-streak-card strong { font-size: 35px; }
  .orvan-streak-card > i { width: 48px; height: 48px; border-width: 5px; }
  .orvan-streak-card > i svg { width: 23px; height: 23px; }
  .orvan-bars-card { grid-column: 1 / span 2; min-height: 165px; padding: 13px; }
  .orvan-focus-card { grid-column: 1 / span 2; min-height: 143px; padding: 13px; }
  .orvan-focus-card svg { height: 80px; }
  .orvan-time-card { display: none; }

  .orvan-tasks-shell { padding-top: max(55px,env(safe-area-inset-top)); }
  .orvan-day-tabs { gap: 5px; margin-bottom: 8px; }
  .orvan-day-tabs button { min-height: 47px; padding: 4px; border-radius: 10px; }
  .orvan-day-tabs small { font-size: 7px; }
  .orvan-day-tabs strong { font-size: 11px; }
  .orvan-xp-card { padding: 11px 12px; margin-bottom: 8px; border-radius: 14px; }
  .orvan-xp-track { margin-top: 9px; }
  .orvan-task-list { gap: 6px; }
  .orvan-task { min-height: 62px; grid-template-columns: 36px 1fr auto; gap: 9px; padding: 9px 10px; border-radius: 14px; }
  .orvan-task-check { width: 31px; height: 31px; border-radius: 9px; }
  .orvan-task-copy strong { font-size: 11px; }
  .orvan-priority { min-width: 52px; padding: 6px; font-size: 7px; }
  .orvan-level-toast { min-width: 0; width: calc(100% - 40px); bottom: calc(73px + env(safe-area-inset-bottom)); }

  .orvan-leaderboard-shell { padding-top: max(56px,env(safe-area-inset-top)); }
  .orvan-podium { height: 210px; margin-top: 0; }
  .orvan-podium-item { border-radius: 15px 15px 7px 7px; }
  .orvan-leader-list { padding: 4px 10px; }
  .orvan-leader-row { min-height: 49px; grid-template-columns: 22px 32px 1fr auto; gap: 8px; }
  .orvan-avatar { width: 32px; height: 32px; border-radius: 9px; font-size: 10px; }

  .orvan-profile-shell { padding-top: max(56px,env(safe-area-inset-top)); }
  .orvan-profile-card { padding: 14px; margin-bottom: 13px; }
  .orvan-profile-avatar { width: 48px; height: 48px; }
  .orvan-customize-group { margin-top: 12px; }
  .orvan-choice-row button { width: 43px; height: 43px; }
  .orvan-theme-choices button { width: 31px; height: 31px; }
  .orvan-badge-grid button { min-height: 68px; }

  .orvan-waitlist-wrap { width: min(430px,calc(100% - 34px)); padding: max(50px,env(safe-area-inset-top)) 0 calc(70px + env(safe-area-inset-bottom)); align-items: center; }
  .orvan-waitlist-form-state > h2,
  .orvan-success-state h2 { margin-bottom: 19px; font-size: 30px; }
  .orvan-waitlist-form { padding: 16px; border-radius: 18px; }
  .orvan-waitlist-form > label { margin-bottom: 9px; }
  .orvan-waitlist-form input,
  .orvan-phone-field { height: 43px; }
  .orvan-phone-field input { height: 41px; }
  .orvan-submit-button { min-height: 46px; }
  .orvan-waitlist-ambient > span { width: 170%; left: -35%; height: 54%; bottom: -31%; }
}
@media (max-height: 690px) and (min-width: 768px) {
  .orvan-screen-shell { padding-top: 44px; padding-bottom: 72px; }
  .orvan-section-heading { margin-bottom: 14px; }
  .orvan-section-heading h2 { font-size: 36px; }
  .orvan-progress-grid { gap: 9px; }
  .orvan-gauge-card,
  .orvan-streak-card { min-height: 140px; }
  .orvan-focus-card { min-height: 135px; }
  .orvan-podium { height: 210px; }
  .orvan-task { min-height: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .orvan-experience *,
  .orvan-experience *::before,
  .orvan-experience *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
@property --value {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

/* =========================================================
   ORVAN v1.1 refinements — August 2026
   ========================================================= */
.orvan-card { border-radius: var(--orvan-card-radius,22px); }
.orvan-nav-actions { right: var(--orvan-nav-right,30px); bottom: var(--orvan-nav-bottom,40px); }
.orvan-pagination { bottom: var(--orvan-pagination-bottom,31px); }

/* Hero ambient: organic rotation + pointer/touch/wheel response. */
.orvan-ambient[data-reactive-ambient],
.orvan-waitlist-ambient[data-reactive-ambient] {
  inset: -7%;
  transform: translate3d(var(--orvan-ambient-x,0px), var(--orvan-ambient-y,0px), 0) rotate(var(--orvan-ambient-wheel,0deg));
  transition: transform .34s cubic-bezier(.2,.75,.2,1);
  will-change: transform;
}
.orvan-ambient::before {
  content: "";
  position: absolute;
  width: 72vw;
  height: 72vw;
  min-width: 780px;
  min-height: 780px;
  left: 7vw;
  top: -43vw;
  border-radius: 42% 58% 48% 52%;
  background: conic-gradient(from 35deg, rgba(181,255,231,.46), rgba(56,199,174,.08) 24%, rgba(9,57,45,.12) 51%, rgba(118,235,199,.34) 74%, rgba(181,255,231,.46));
  filter: blur(82px);
  opacity: .78;
  animation: orvanAmbientOrbit calc(var(--orvan-motion-speed,18s) * 1.45) linear infinite;
  transform-origin: 53% 57%;
}
@keyframes orvanAmbientOrbit { to { transform: rotate(360deg) scale(1.04); } }

/* Progress — reconstructed to match the desktop reference hierarchy. */
.orvan-progress-shell {
  max-width: 1040px;
  overflow-y: auto;
  scrollbar-width: none;
  justify-content: center;
}
.orvan-progress-shell::-webkit-scrollbar { display: none; }
.orvan-season-card { padding: 19px 22px 15px; margin-bottom: 13px; }
.orvan-season-track { height: 28px; margin: 18px 0 3px; }
.orvan-season-track::before { top: 10px; height: 7px; }
.orvan-season-fill { top: 10px !important; height: 7px !important; }
.orvan-season-marker {
  position: absolute;
  z-index: 4;
  left: var(--marker);
  top: 3px;
  width: 21px;
  height: 21px;
  transform: translateX(-50%) scale(.72);
  opacity: .65;
  transition: transform .52s cubic-bezier(.18,.88,.3,1), opacity .35s ease, background .35s ease;
}
.orvan-season-marker > i {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(160,167,173,.32);
  border-radius: 6px;
  color: #06130f;
  background: #111817;
  box-shadow: 0 0 0 1px rgba(255,255,255,.02);
}
.orvan-season-marker > i svg { width: 12px; height: 12px; stroke-width: 2.5; }
.orvan-season-marker.is-passed > i { border-color: rgba(255,255,255,.18); background: var(--orvan-accent); }
.orvan-screen--progress.is-animated .orvan-season-marker { transform: translateX(-50%) scale(1); opacity: 1; }
.orvan-season-marker > b {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  width: max-content;
  max-width: 220px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  color: var(--orvan-text);
  background: rgba(27,36,34,.94);
  font-size: 9px;
  font-weight: 570;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}
.orvan-season-marker > small {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  width: max-content;
  transform: translate(-50%,4px);
  color: var(--orvan-accent);
  font-size: 8px;
  font-weight: 680;
  opacity: 0;
}
.orvan-season-marker > small.is-pulsing { animation: orvanMilestoneXp .82s cubic-bezier(.2,.8,.2,1) both; }
@keyframes orvanMilestoneXp { 0%{opacity:0;transform:translate(-50%,5px) scale(.82)} 45%{opacity:1;transform:translate(-50%,0) scale(1.06)} 100%{opacity:.72;transform:translate(-50%,0) scale(1)} }

.orvan-progress-grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-template-rows: minmax(184px,auto) minmax(170px,auto);
  gap: 13px;
}
.orvan-gauge-card { grid-column: 1 / span 6; grid-row: 1; min-height: 184px; padding: 22px 30px; display: grid; grid-template-columns: 180px 1fr; align-items: center; justify-items: stretch; }
.orvan-bars-card { grid-column: 7 / span 6; grid-row: 1; min-height: 184px; padding: 20px 22px; }
.orvan-focus-card { grid-column: 1 / span 6; grid-row: 2; min-height: 170px; padding: 19px 22px; }
.orvan-time-card { grid-column: 7 / span 3; grid-row: 2; min-height: 170px; padding: 18px 17px; display: block; }
.orvan-streak-card { grid-column: 10 / span 3; grid-row: 2; min-height: 170px; padding: 17px 18px; }

.orvan-weekly-ring {
  --ring-value: 0%;
  position: relative;
  width: 142px;
  height: 142px;
  border-radius: 50%;
  background: conic-gradient(var(--orvan-accent) var(--ring-value), #25302e var(--ring-value) 100%);
  transform: rotate(-22deg);
  transition: --ring-value 1.35s cubic-bezier(.18,.88,.3,1);
  box-shadow: 0 0 0 1px rgba(255,255,255,.02), 0 18px 42px rgba(0,0,0,.13);
}
.orvan-weekly-ring::after { content:""; position:absolute; inset:13px; border-radius:50%; background: color-mix(in srgb,var(--orvan-card) 96%,#0a0d0c); }
.orvan-weekly-ring i { position:absolute; z-index:2; width:13px; height:13px; top:3px; left:57%; border-radius:50%; background:var(--orvan-accent); border:2px solid rgba(226,255,247,.6); box-shadow:0 0 12px color-mix(in srgb,var(--orvan-accent) 35%,transparent); }
.orvan-weekly-copy { align-self:center; }
.orvan-weekly-copy > strong { display:block; font-size:50px; line-height:.95; letter-spacing:-.055em; font-weight:650; }
.orvan-weekly-copy > span { display:block; margin-top:10px; color:var(--orvan-muted); font-size:14px; }
.orvan-weekly-copy > p { margin:12px 0 0; color:var(--orvan-muted); font-size:12px; }
.orvan-weekly-copy > p::first-letter { color:var(--orvan-accent); }

/* Correct active-day behavior: no hardcoded sixth bar. */
.orvan-bars button:nth-child(6) i { background:#26302e; }
.orvan-bars button:nth-child(6)::before { opacity:0; transform:translate(-50%,6px); }
.orvan-bars button.is-selected i,
.orvan-bars button:hover i { background:var(--orvan-accent); }
.orvan-bars button.is-selected::before,
.orvan-bars button:hover::before { opacity:1; transform:translate(-50%,0); }

.orvan-focus-chart { position:relative; margin-top:8px; min-height:115px; }
.orvan-focus-card svg { height:106px; margin-top:0; overflow:visible; touch-action:manipulation; }
.orvan-focus-card .orvan-line { stroke-width:2.25; stroke-linejoin:round; stroke-linecap:round; }
.orvan-focus-card circle { cursor:pointer; opacity:0; transition:opacity .3s ease 1s, r .22s ease, fill .22s ease, stroke-width .22s ease; outline:none; }
.orvan-focus-card circle:hover,
.orvan-focus-card circle:focus,
.orvan-focus-card circle.is-active { r:7; fill:var(--orvan-accent); stroke:#dffff6; stroke-width:2.4; }
.orvan-focus-tooltip {
  position:absolute;
  z-index:6;
  min-width:72px;
  padding:7px 9px;
  transform:translate(-50%,calc(-100% - 11px));
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  color:var(--orvan-text);
  background:rgba(18,25,23,.94);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  pointer-events:none;
  backdrop-filter:blur(12px);
}
.orvan-focus-tooltip strong,.orvan-focus-tooltip span{display:block;white-space:nowrap;font-size:9px}.orvan-focus-tooltip span{margin-top:2px;color:var(--orvan-accent);font-weight:700}

.orvan-time-bars { height:128px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; align-items:end; padding-top:13px; }
.orvan-time-column { height:100%; display:grid; grid-template-rows:18px 1fr 20px; justify-items:center; align-items:end; }
.orvan-time-column strong { font-size:9px; font-weight:650; }
.orvan-time-column > i { position:relative; width:8px; height:82px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.055); }
.orvan-time-column > i b { position:absolute; left:0; right:0; bottom:0; height:0; border-radius:inherit; background:var(--orvan-accent); transition:height 1.15s cubic-bezier(.18,.88,.3,1); }
.orvan-time-column:nth-child(2) > i b { filter:brightness(1.45); }
.orvan-time-column:nth-child(3) > i b { background:var(--orvan-medium); }
.orvan-time-column:nth-child(4) > i b { background:#788986; }
.orvan-screen--progress.is-animated .orvan-time-column > i b { height:var(--fill); }
.orvan-time-column span { align-self:end; color:var(--orvan-muted); font-size:8px; white-space:nowrap; }

.orvan-streak-card { display:flex; flex-direction:column; justify-content:center; }
.orvan-streak-top { display:flex; align-items:center; gap:15px; }
.orvan-streak-ring {
  --ring-value:0%;
  position:relative;
  width:84px;
  height:84px;
  flex:0 0 84px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--orvan-streak,#ffb12d) var(--ring-value), rgba(255,177,45,.16) var(--ring-value) 100%);
  transition:--ring-value 1.4s cubic-bezier(.18,.88,.3,1);
  transform:rotate(-18deg);
}
.orvan-streak-ring::after { content:""; position:absolute; inset:9px; border-radius:50%; background:#151a18; }
.orvan-streak-ring > i { position:relative; z-index:2; width:50px; height:50px; display:grid; place-items:center; color:var(--orvan-streak,#ffb12d); transform:rotate(18deg); }
.orvan-streak-ring svg { width:31px; height:31px; stroke-width:1.7; }
.orvan-streak-top > div strong { display:block; font-size:43px; line-height:.9; letter-spacing:-.06em; }
.orvan-streak-top > div span { display:block; margin-top:7px; color:var(--orvan-muted); font-size:9px; }
.orvan-streak-card h3 { margin:13px 0 5px; font-size:12px; font-weight:620; }
.orvan-streak-card p { margin:0; color:var(--orvan-muted); font-size:8.5px; line-height:1.55; }

/* Tasks */
.orvan-priority--high { --priority-color:var(--orvan-high,#e07c68); }
.orvan-priority--medium { --priority-color:var(--orvan-medium,#d59a38); }
.orvan-priority--low { --priority-color:var(--orvan-low,#81908d); }
.orvan-new-task { margin-top:8px; }
.orvan-new-task-trigger {
  width:100%; min-height:50px; display:flex; align-items:center; justify-content:center; gap:9px; padding:0 14px;
  border:1px dashed color-mix(in srgb,var(--orvan-border) 88%,#fff 4%); border-radius:15px; cursor:pointer; color:var(--orvan-muted); background:rgba(255,255,255,.012);
  transition:border-color .25s ease,color .25s ease,background .25s ease,transform .25s ease;
}
.orvan-new-task-trigger:hover{color:var(--orvan-accent);border-color:color-mix(in srgb,var(--orvan-accent) 35%,var(--orvan-border));background:color-mix(in srgb,var(--orvan-accent) 3%,transparent);transform:translateY(-1px)}
.orvan-new-task-trigger svg{width:16px;height:16px}.orvan-new-task-trigger span{font-size:10px;font-weight:600}
.orvan-new-task-form { display:grid; grid-template-columns:1.7fr .7fr .7fr auto auto; gap:7px; padding:9px; border:1px solid rgba(255,255,255,.05); border-radius:15px; background:rgba(18,18,18,.8); }
.orvan-new-task-form[hidden]{display:none}.orvan-new-task-form input,.orvan-new-task-form select,.orvan-new-task-form button{min-height:38px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:#151918;color:var(--orvan-text);padding:0 9px;font-size:9px;outline:none}.orvan-new-task-form button{cursor:pointer}.orvan-new-task-form button[type="submit"]{color:#06130f;background:var(--orvan-accent);font-weight:700}

/* Level toast: desktop corner; iOS-like spring entry on mobile. */
.orvan-level-toast {
  position:fixed;
  left:auto;
  right:calc(var(--orvan-nav-right,30px) + 2px);
  top:28px;
  bottom:auto;
  min-width:330px;
  border-color:rgba(255,255,255,.09);
  background:rgba(28,39,36,.82);
  backdrop-filter:blur(22px) saturate(1.15);
  box-shadow:0 18px 55px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.07);
  transform:translate3d(18px,-12px,0) scale(.96);
}
.orvan-level-toast.is-visible { transform:translate3d(0,0,0) scale(1); }
.orvan-level-toast strong b { font:inherit; }

/* Leaderboard */
.orvan-podium-item > i { display:none !important; }
.orvan-rank-gain { position:absolute; left:3px; top:-10px; padding:3px 6px; border-radius:999px; color:#06130f; background:var(--orvan-accent); font-size:8px; font-weight:760; }
.orvan-leader-row.is-user.is-rank-up { animation:orvanRankLift 1.15s cubic-bezier(.18,.88,.3,1); }
@keyframes orvanRankLift { 0%{transform:translateY(0)}45%{transform:translateY(-14px);box-shadow:0 14px 30px color-mix(in srgb,var(--orvan-accent) 9%,transparent)}100%{transform:translateY(0)} }

/* Country picker */
.orvan-phone-field { grid-template-columns:minmax(112px,auto) 1fr; overflow:visible; }
.orvan-country-picker { position:relative; height:100%; }
.orvan-country-trigger { height:45px; display:flex; align-items:center; gap:6px; padding:0 9px; border:0; border-right:1px solid rgba(255,255,255,.05); cursor:pointer; color:var(--orvan-muted); background:transparent; }
.orvan-country-trigger > span{font-size:9px;letter-spacing:.06em}.orvan-country-trigger > strong{font-size:9px;font-weight:600;color:var(--orvan-text)}.orvan-country-trigger svg{width:13px;height:13px;transition:transform .22s ease}.orvan-country-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.orvan-country-menu { position:absolute; z-index:100; left:0; top:calc(100% + 7px); width:min(330px,82vw); padding:8px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(15,20,18,.98); box-shadow:0 24px 70px rgba(0,0,0,.48); backdrop-filter:blur(22px); }
.orvan-country-menu[hidden]{display:none}.orvan-country-menu input{height:38px!important;margin-bottom:6px;border-radius:9px!important;font-size:10px!important}
.orvan-country-list { max-height:245px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(160,167,173,.28) transparent; }
.orvan-country-list button { width:100%; min-height:37px; display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:8px; padding:0 7px; border:0; border-radius:8px; cursor:pointer; color:var(--orvan-text); background:transparent; text-align:left; }
.orvan-country-list button:hover,.orvan-country-list button[aria-selected="true"]{background:color-mix(in srgb,var(--orvan-accent) 8%,transparent)}.orvan-country-list button>span{color:var(--orvan-accent);font-size:8px;font-weight:720}.orvan-country-list button>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:520}.orvan-country-list button>em{color:var(--orvan-muted);font-size:8px;font-style:normal}

/* Short desktop heights: keep all progress widgets accessible instead of clipping the last row. */
@media (max-height:780px) and (min-width:768px){
  .orvan-progress-shell{justify-content:flex-start;padding-top:48px;padding-bottom:86px}
  .orvan-progress-grid{grid-template-rows:minmax(160px,auto) minmax(148px,auto)}
  .orvan-gauge-card,.orvan-bars-card{min-height:160px}.orvan-focus-card,.orvan-time-card,.orvan-streak-card{min-height:148px}
  .orvan-weekly-ring{width:118px;height:118px}.orvan-gauge-card{grid-template-columns:150px 1fr}.orvan-weekly-copy>strong{font-size:43px}.orvan-time-bars{height:104px}.orvan-time-column>i{height:63px}.orvan-streak-ring{width:68px;height:68px;flex-basis:68px}.orvan-streak-ring>i{width:43px;height:43px}.orvan-streak-top>div strong{font-size:36px}
}

@media (max-width:900px){
  .orvan-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .orvan-gauge-card{grid-column:1;grid-row:auto;grid-template-columns:112px 1fr;padding:15px;min-height:145px}.orvan-weekly-ring{width:96px;height:96px}.orvan-weekly-ring::after{inset:10px}.orvan-weekly-copy>strong{font-size:34px}.orvan-weekly-copy>span{font-size:10px}.orvan-weekly-copy>p{font-size:9px}
  .orvan-streak-card{grid-column:2;grid-row:1;min-height:145px;padding:13px}.orvan-streak-ring{width:58px;height:58px;flex-basis:58px}.orvan-streak-ring::after{inset:7px}.orvan-streak-ring>i{width:38px;height:38px}.orvan-streak-ring svg{width:24px;height:24px}.orvan-streak-top>div strong{font-size:32px}.orvan-streak-card h3{margin-top:9px;font-size:10px}.orvan-streak-card p{font-size:7.5px}
  .orvan-bars-card{grid-column:1 / span 2;grid-row:auto;min-height:165px}.orvan-focus-card{grid-column:1 / span 2;grid-row:auto;min-height:145px}.orvan-time-card{grid-column:1 / span 2;grid-row:auto;min-height:150px}
  .orvan-time-bars{height:110px}.orvan-time-column>i{height:67px}
}

@media (max-width:767px){
  .orvan-nav-actions{right:18px;bottom:calc(22px + env(safe-area-inset-bottom))}.orvan-pagination{bottom:calc(25px + env(safe-area-inset-bottom))}
  .orvan-ambient[data-reactive-ambient],.orvan-waitlist-ambient[data-reactive-ambient]{inset:-12%}
  .orvan-ambient::before{width:170vw;height:170vw;min-width:0;min-height:0;left:-35vw;top:-77vw;filter:blur(55px)}
  .orvan-progress-shell{padding-bottom:calc(85px + env(safe-area-inset-bottom));overflow-y:auto}
  .orvan-season-marker>b{font-size:7px}.orvan-season-marker>small{font-size:6px;top:calc(100% + 5px)}
  .orvan-gauge-card{grid-template-columns:94px 1fr}.orvan-weekly-ring{width:82px;height:82px}.orvan-weekly-copy>strong{font-size:29px}
  .orvan-time-card{display:block!important;padding:13px}.orvan-time-bars{height:102px;gap:12px}.orvan-time-column>i{height:60px;width:7px}
  .orvan-focus-tooltip{padding:6px 8px}
  .orvan-new-task-form{grid-template-columns:1fr 1fr}.orvan-new-task-form input[name="task_title"]{grid-column:1 / span 2}.orvan-new-task-form button{min-height:36px}
  .orvan-level-toast{left:50%;right:auto;top:calc(12px + env(safe-area-inset-top));bottom:auto;width:calc(100% - 28px);min-width:0;border-radius:18px;transform:translate3d(-50%,-24px,0) scale(.96);transition:opacity .36s ease,transform .62s cubic-bezier(.16,1,.3,1)}
  .orvan-level-toast.is-visible{transform:translate3d(-50%,0,0) scale(1)}
  .orvan-country-menu{position:fixed;left:17px;right:17px;top:auto;bottom:calc(82px + env(safe-area-inset-bottom));width:auto;max-height:62vh}.orvan-country-list{max-height:48vh}
  .orvan-phone-field{grid-template-columns:minmax(104px,auto) 1fr}.orvan-country-trigger{height:41px}
}

/* v1.1.1 navigation viewport safety + variable controls */
.orvan-experience { height: 100svh; min-height: 100svh; }
@supports (height: 100dvh) { .orvan-experience { height: 100dvh; min-height: 100dvh; } }
.orvan-nav-actions {
  bottom: max(var(--orvan-nav-bottom,40px), calc(16px + env(safe-area-inset-bottom)));
}
.orvan-next,
.orvan-back {
  width: var(--orvan-nav-size,54px);
  height: var(--orvan-nav-size,54px);
  border-radius: var(--orvan-nav-radius,16px);
}
.orvan-next svg,
.orvan-back svg,
.orvan-next i,
.orvan-back i { width: var(--orvan-nav-icon-size,22px); height: var(--orvan-nav-icon-size,22px); }
.orvan-level-toast strong { display:flex; align-items:baseline; gap:4px; }


/* =========================================================
   ORVAN Core v1.2 — Progress reference alignment
   Elementor Free compatible: no Elementor Custom CSS needed.
   ========================================================= */

/* Weekly Goals: the reference ring has no decorative marker dot. */
.orvan-screen--progress .orvan-weekly-ring > i { display:none !important; }
.orvan-screen--progress .orvan-gauge-card { align-items:center; }
.orvan-screen--progress .orvan-weekly-ring { margin:0 auto; }

/* Streak card: protect the modern layout from legacy broad selectors. */
.orvan-screen--progress .orvan-streak-card {
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
  padding:17px 18px;
  overflow:hidden;
}
.orvan-screen--progress .orvan-streak-card > .orvan-streak-top {
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
}
.orvan-screen--progress .orvan-streak-ring {
  width:64px;
  height:64px;
  flex:0 0 64px;
}
.orvan-screen--progress .orvan-streak-ring::after { inset:7px; }
.orvan-screen--progress .orvan-streak-ring > i {
  width:40px;
  height:40px;
  justify-self:auto;
  border:0;
  box-shadow:none;
  background:transparent;
}
.orvan-screen--progress .orvan-streak-ring svg { width:25px; height:25px; }
.orvan-screen--progress .orvan-streak-top > div strong {
  font-size:36px;
  line-height:.9;
  letter-spacing:-.05em;
}
.orvan-screen--progress .orvan-streak-top > div span {
  display:block;
  margin-top:5px;
  font-size:8.5px;
  line-height:1.2;
}
.orvan-screen--progress .orvan-streak-card h3 {
  margin:11px 0 5px;
  font-size:11px;
  line-height:1.2;
  white-space:normal;
}
.orvan-screen--progress .orvan-streak-card p {
  margin:0;
  width:100%;
  max-width:100%;
  font-size:8px;
  line-height:1.45;
  overflow:visible;
  white-space:normal;
}

@media (max-width:900px) {
  .orvan-screen--progress .orvan-streak-ring { width:58px; height:58px; flex-basis:58px; }
  .orvan-screen--progress .orvan-streak-top > div strong { font-size:32px; }
}

@media (max-width:767px) {
  .orvan-screen--progress .orvan-streak-card > .orvan-streak-top { gap:10px !important; }
  .orvan-screen--progress .orvan-streak-card { padding:14px; }
  .orvan-screen--progress .orvan-streak-card h3 { margin-top:9px; font-size:10px; }
  .orvan-screen--progress .orvan-streak-card p { font-size:7.5px; line-height:1.45; }
}
