:root{
  --lb-screen-kicker-size:12px;
  --lb-screen-title-size:26.6px;
  --lb-screen-title-family:"Avenir Next",Avenir,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --lb-screen-title-weight:700;
  --lb-screen-title-line-height:1;
  --lb-screen-title-letter-spacing:-.34px;
  color-scheme:dark;
  --bg:#020205;
  --surface:#09090f;
  --surface-2:#0e0d16;
  --surface-3:#141120;
  --line:rgba(255,255,255,.075);
  --line-strong:rgba(255,255,255,.12);
  --text:#f6f4fb;
  --muted:#9692a4;
  --muted-2:#696575;
  --purple:#8a5cf2;
  --purple-2:#b08cff;
  --purple-soft:rgba(138,92,242,.16);
  --gold:#efc86c;
  --green:#72d7a6;
  --red:#ef7a91;
  --lb-runtime-stable-height:100dvh;
  --lb-runtime-visible-height:100dvh;
  --lb-runtime-safe-top:0px;
  --lb-telegram-header-clearance:0px;
  --lb-runtime-safe-right:0px;
  --lb-runtime-safe-bottom:0px;
  --lb-runtime-safe-left:0px;
  --lb-keyboard-inset:0px;
  --lb-visual-offset-top:0px;
  --lb-app-height:var(--lb-runtime-stable-height,100dvh);
  --lb-visible-height:var(--lb-runtime-visible-height,var(--lb-app-height));
  --lb-safe-top:max(env(safe-area-inset-top,0px),var(--lb-runtime-safe-top,0px));
  --lb-safe-right:max(env(safe-area-inset-right,0px),var(--lb-runtime-safe-right,0px));
  --lb-safe-bottom:max(env(safe-area-inset-bottom,0px),var(--lb-runtime-safe-bottom,0px));
  --lb-safe-left:max(env(safe-area-inset-left,0px),var(--lb-runtime-safe-left,0px));
  --nav-h:62px;
  --nav-bottom:calc(var(--lb-safe-bottom) + 10px);
  --content-bottom:calc(var(--nav-h) + var(--nav-bottom) + 28px);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:17px;
  --lb-primary-screen-content-top:94px;
  --lb-main-screen-top:calc(var(--lb-primary-screen-content-top) - 18px);
  --shadow:0 20px 50px rgba(0,0,0,.42);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:var(--lb-app-height);min-height:var(--lb-app-height);margin:0;overflow:hidden;background:#000;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,Arial,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
body{overscroll-behavior:none}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 76% -8%,rgba(91,49,166,.14),transparent 34%),radial-gradient(circle at -12% 72%,rgba(59,26,114,.09),transparent 31%),linear-gradient(180deg,#05040a 0%,#010104 70%,#000 100%)}
.app{position:relative;width:min(100vw,430px);height:var(--lb-app-height);min-height:var(--lb-app-height);margin:0 auto;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(7,6,12,.98),rgba(1,1,4,.995));box-shadow:0 0 100px rgba(0,0,0,.8)}
.viewport{position:absolute;inset:0;overflow:hidden;background:var(--bg)}
.screen{position:absolute;inset:0;z-index:1;visibility:hidden;opacity:0;pointer-events:none;overflow:hidden;background:var(--bg);transform:translate3d(0,0,0);contain:layout paint style}
.screen.is-active{z-index:2;visibility:visible;opacity:1;pointer-events:auto}
.screen.is-route-entering{will-change:opacity,transform}
.screen-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding:calc(var(--lb-safe-top) + 18px) calc(var(--lb-safe-right) + 16px) var(--content-bottom) calc(var(--lb-safe-left) + 16px);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
.screen-scroll::-webkit-scrollbar{display:none}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin-bottom:18px}
.topbar h1,.topbar h2{margin:2px 0 0;font-size:31px;line-height:1;letter-spacing:-.045em;font-weight:760}
.eyebrow{margin:0;color:var(--muted);font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.115em;font-weight:650}
.icon-button{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.016));box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 24px rgba(0,0,0,.23);transition:transform .12s ease,border-color .18s ease,background .18s ease}
.icon-button:active{transform:scale(.93)}
.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:rgba(238,234,248,.82)}
.text-button{border:0;background:none;padding:8px 0;color:var(--purple-2);font-size:10.4px;font-weight:650}
.section-block{margin-top:22px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 2px 12px}
.section-heading h2{margin:3px 0 0;font-size:20px;letter-spacing:-.025em}

/* Home */
.hero-card{position:relative;height:292px;border:1px solid rgba(255,255,255,.075);border-radius:30px;overflow:hidden;background:#07070d;box-shadow:0 25px 58px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.05)}
.hero-scene{position:absolute;inset:0;overflow:hidden}
.hero-layer{position:absolute;inset:-3% -3% auto;width:106%;height:106%;object-fit:cover;pointer-events:none;transform:translate3d(0,0,0)}
.hero-bg{opacity:.9}
.hero-light{opacity:.77;mix-blend-mode:screen}
.hero-core,.hero-character,.hero-cloak-root,.hero-cloak-mid,.hero-cloak-flow,.hero-cloak-tip{opacity:1}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,10,.06) 0%,rgba(3,3,8,.12) 45%,rgba(3,3,7,.88) 100%),linear-gradient(90deg,rgba(1,1,4,.3),transparent 50%,rgba(1,1,4,.18));pointer-events:none}
.hero-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:17px}
.level-chip{display:inline-flex;align-items:center;gap:10px;padding:6px 9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(5,5,9,.56);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:10px;color:rgba(230,225,240,.72);letter-spacing:.04em;text-transform:uppercase}
.level-chip strong{font-size:var(--lb-screen-kicker-size);color:#fff}
.hero-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-top:9px}
.hero-kicker{margin:0 0 2px;font-size:11px;color:var(--purple-2);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero-copy h2{margin:0;font-size:22px;letter-spacing:-.035em}
.xp-track{height:5px;margin-top:13px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.09)}
.xp-track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#7650d7,#bd96ff);box-shadow:0 0 14px rgba(143,89,245,.45);transition:width .35s cubic-bezier(.2,.75,.2,1)}
.hero-meta{display:flex;justify-content:space-between;gap:10px;margin-top:7px;color:rgba(224,219,232,.62);font-size:10px}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}
.metric-card{display:flex;align-items:center;gap:9px;min-width:0;padding:13px 11px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.metric-card div{display:flex;flex-direction:column;min-width:0}
.metric-card strong{font-size:17px;line-height:1.05;letter-spacing:-.03em}
.metric-card span:last-child{margin-top:2px;color:var(--muted);font-size:10px}
.metric-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:12px;font-size:16px;border:1px solid rgba(255,255,255,.07)}
.metric-icon--xp{color:#c4a7ff;background:rgba(124,79,218,.13)}
.metric-icon--coin{color:var(--gold);background:rgba(211,166,66,.11)}
.metric-icon--streak{color:#f0a379;background:rgba(198,79,65,.11)}
.today-summary-card{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:23px;background:linear-gradient(145deg,rgba(20,17,31,.9),rgba(8,8,14,.98));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.035);cursor:pointer}
.progress-orb{--p:0;display:grid;place-items:center;flex:0 0 auto;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at center,#0c0b13 58%,transparent 59%),conic-gradient(var(--purple-2) calc(var(--p)*1%),rgba(255,255,255,.08) 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 0 20px rgba(100,54,185,.12)}
.progress-orb strong{font-size:12px;letter-spacing:-.03em}
.today-summary-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.today-summary-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-summary-copy>span{margin-top:4px;color:var(--muted);font-size:11px}
.mini-progress{height:4px;margin-top:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.07)}
.mini-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),var(--purple-2));border-radius:inherit;transition:width .3s ease}
.chevron{color:rgba(255,255,255,.28);font-size:25px;font-weight:300}
.focus-card{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.025)}
.focus-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(128,83,224,.12);color:var(--purple-2);font-size:12px;font-weight:750}
.focus-card>div{display:flex;flex:1;min-width:0;flex-direction:column}
.focus-card strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-card span:last-child{margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.round-arrow{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:#ddd3ef}
.home-next-block{padding-bottom:8px}
.screen[data-route="home"].is-active .hero-light{animation:heroLight 7s ease-in-out infinite alternate}
.screen[data-route="home"].is-active .hero-cloak-flow{animation:cloakDrift 8s ease-in-out infinite alternate}
.screen[data-route="home"].is-active .hero-cloak-tip{animation:cloakTip 6.5s ease-in-out infinite alternate}
@keyframes heroLight{from{transform:translate3d(-.4%,0,0);opacity:.68}to{transform:translate3d(.5%,-.4%,0);opacity:.82}}
@keyframes cloakDrift{from{transform:translate3d(-.2%,0,0)}to{transform:translate3d(.55%,-.2%,0)}}
@keyframes cloakTip{from{transform:translate3d(0,0,0)}to{transform:translate3d(.7%,.15%,0)}}

/* Today — fixed viewport foundation. The screen itself does not scroll; future long content must use an inner scroller. */
.today-screen{
  padding-left:calc(var(--lb-safe-left) + 24px);
  padding-right:calc(var(--lb-safe-right) + 24px);
  padding-bottom:calc(var(--content-bottom) + 18px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-x:none;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.today-header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  margin:var(--lb-main-screen-top) 0 0;
  padding:0;
}
.today-date,
.today-title{
  text-align:left;
}
.today-date{
  display:flex;
  align-items:baseline;
  min-width:0;
  margin:0;
  color:rgba(203,211,207,.68);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.018em;
  white-space:nowrap;
}
.today-date-weekday{
  display:inline-block;
  max-width:120px;
  margin-right:4px;
  overflow:hidden;
  opacity:1;
  transform:translateX(0);
  transition:max-width .24s cubic-bezier(.22,.82,.28,1),margin-right .24s cubic-bezier(.22,.82,.28,1),opacity .16s ease,transform .24s cubic-bezier(.22,.82,.28,1);
}
.today-date-value{
  display:inline-block;
  transform:translateX(0);
  transition:transform .24s cubic-bezier(.22,.82,.28,1),opacity .16s ease;
}
.today-date.is-compact .today-date-weekday{
  max-width:0;
  margin-right:0;
  opacity:0;
  transform:translateX(-10px);
}
.today-title{
  margin:3px 0 0;
  color:rgba(248,251,249,.98);
  font-family:var(--lb-screen-title-family) !important;
  font-size:var(--lb-screen-title-size) !important;
  font-style:normal !important;
  font-weight:var(--lb-screen-title-weight) !important;
  font-stretch:normal !important;
  font-variant:normal !important;
  font-synthesis:none;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
  line-height:var(--lb-screen-title-line-height) !important;
  letter-spacing:var(--lb-screen-title-letter-spacing) !important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
.today-week{margin-top:21px}
.week-strip{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.week-selection-indicator{
  position:absolute;
  top:0;
  left:0;
  z-index:0;
  border:1px solid rgba(89,190,235,.34);
  border-radius:13px;
  background:linear-gradient(155deg,rgba(42,128,171,.28),rgba(16,58,79,.30));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 20px rgba(13,93,132,.16);
  pointer-events:none;
  will-change:transform;
  transition:transform .24s cubic-bezier(.22,.82,.28,1),width .2s ease,height .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.week-selection-indicator.no-transition,.week-selection-indicator.is-dragging{transition:none}
.week-selection-indicator.is-today{
  border-color:rgba(91,217,148,.30);
  background:linear-gradient(155deg,rgba(34,132,85,.25),rgba(15,68,45,.28));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px rgba(34,132,85,.14);
}
.week-strip.is-pressed .week-selection-indicator{
  border-color:rgba(120,207,241,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 24px rgba(13,93,132,.22);
}
.week-strip.is-pressed .week-selection-indicator.is-today{
  border-color:rgba(105,225,160,.44);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.065),0 10px 24px rgba(34,132,85,.20);
}
.week-day{
  position:relative;
  z-index:1;
  display:flex;
  min-width:0;
  height:68px;
  padding:0;
  border:0;
  border-radius:0;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  background:transparent;
  color:rgba(172,178,180,.58);
  transition:color .2s ease,transform .14s ease;
}
.week-day:active{transform:scale(.95)}
.week-day span{
  font-size:10px;
  font-weight:650;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.075em;
}
.week-day strong{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid transparent;
  border-radius:13px;
  color:rgba(231,235,234,.58);
  font-size:18px;
  font-weight:650;
  line-height:1;
  letter-spacing:-.025em;
  background:transparent;
  transition:border-color .22s ease,color .22s ease,box-shadow .22s ease;
}
.week-day i{
  position:absolute;
  left:50%;
  bottom:0;
  display:block;
  width:4px;
  height:4px;
  border-radius:50%;
  background:transparent;
  transform:translateX(-50%);
  transition:background .22s ease,box-shadow .22s ease;
}
.week-day.has-items:not(.is-selected):not(.is-today) i{background:rgba(82,183,227,.58)}
.week-day.is-today:not(.is-selected) span{color:rgba(110,218,157,.76)}
.week-day.is-today:not(.is-selected) strong{color:#f3f7f5;border-color:rgba(90,219,146,.22)}
.week-day.is-today:not(.is-selected) i{background:#63d99a;box-shadow:0 0 8px rgba(70,205,132,.28)}
.week-day.is-selected span,.week-day.is-preview span{color:rgba(138,207,236,.84)}
.week-day.is-selected strong,.week-day.is-preview strong{color:#f8fcff;border-color:transparent;background:transparent;box-shadow:none}
.week-day.is-selected i,.week-day.is-preview i{background:#67c9f0;box-shadow:0 0 8px rgba(77,190,236,.30)}
.week-day.is-selected.is-today span{color:rgba(110,218,157,.82)}
.week-day.is-selected.is-today strong,.week-day.is-preview.is-today strong{border-color:transparent;background:transparent}
.week-day.is-selected.is-today i{background:#63d99a;box-shadow:0 0 8px rgba(70,205,132,.30)}
.today-content{min-height:calc(100% - 180px)}

/* Goals */
.goal-list{display:grid;gap:11px}
.goal-card{border:1px solid var(--line);border-radius:23px;background:linear-gradient(145deg,rgba(18,15,28,.94),rgba(8,8,13,.98));overflow:hidden;box-shadow:0 16px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.03)}
.goal-card-head{display:flex;align-items:flex-start;gap:12px;padding:15px}
.goal-symbol{display:grid;place-items:center;flex:0 0 auto;width:43px;height:43px;border-radius:15px;background:rgba(130,82,225,.13);color:var(--purple-2);font-size:18px}
.goal-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.goal-copy strong{font-size:15px;line-height:1.25}
.goal-copy span{margin-top:5px;color:var(--muted);font-size:10px}
.goal-percent{font-size:12px;color:var(--purple-2);font-weight:700}
.goal-progress-track{height:4px;margin:0 15px 14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.065)}
.goal-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--purple-2));transition:width .3s ease}
.goal-steps{border-top:1px solid rgba(255,255,255,.055);padding:6px 13px 12px}
.goal-step{display:flex;align-items:center;gap:10px;min-height:43px;border-bottom:1px solid rgba(255,255,255,.04)}
.goal-step:last-child{border-bottom:0}
.goal-step span{flex:1;color:rgba(236,232,243,.82);font-size:11px}
.goal-step.is-done span{text-decoration:line-through;color:var(--muted-2)}
.goal-actions{display:flex;gap:8px;padding:0 13px 13px}
.small-button{height:36px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted);font-size:10px;font-weight:650}
.small-button--primary{flex:1;border-color:rgba(147,100,238,.15);background:rgba(125,79,215,.14);color:#e9defe}
.small-button--danger{color:rgba(239,122,145,.78)}

/* Shop */
.balance-card{display:flex;align-items:center;justify-content:space-between;padding:20px;border:1px solid rgba(233,197,108,.13);border-radius:26px;background:radial-gradient(circle at 86% 14%,rgba(229,190,92,.12),transparent 34%),linear-gradient(145deg,rgba(20,16,17,.98),rgba(7,7,11,.98));box-shadow:0 20px 46px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.035)}
.balance-card div{display:flex;flex-direction:column}
.balance-card strong{margin-top:4px;font-size:35px;line-height:1;letter-spacing:-.05em;color:#f4d681}
.balance-card div>span{margin-top:7px;color:var(--muted);font-size:11px}
.balance-gem{display:grid;place-items:center;width:57px;height:57px;border:1px solid rgba(244,210,116,.16);border-radius:20px;background:rgba(224,181,73,.09);color:#f2ce71;font-size:25px;box-shadow:0 0 24px rgba(222,177,65,.08)}
.shop-heading{margin-top:22px}
.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reward-card{position:relative;display:flex;min-height:141px;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,rgba(18,16,24,.96),rgba(7,7,11,.99));overflow:hidden;box-shadow:0 16px 35px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.03)}
.reward-card::before{content:"";position:absolute;inset:-40% -30% auto auto;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(132,81,223,.12),transparent 68%);pointer-events:none}
.reward-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(132,83,224,.11);font-size:23px}
.reward-card h3{margin:13px 0 5px;font-size:14px;line-height:1.25}
.reward-card p{margin:0;color:var(--muted);font-size:9px}
.reward-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:13px}
.reward-price{display:flex;align-items:center;gap:4px;color:#f0ce79;font-size:12px;font-weight:700}
.buy-button{height:33px;padding:0 10px;border:1px solid rgba(153,109,239,.16);border-radius:11px;background:rgba(127,79,216,.13);color:#e9dffe;font-size:10.5px;font-weight:700}
.buy-button[disabled]{opacity:.38}
.reward-delete{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:9px;background:rgba(0,0,0,.28);color:rgba(255,255,255,.3);font-size:15px}

/* More */
.profile-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(145deg,rgba(21,17,32,.96),rgba(8,8,13,.99));box-shadow:0 20px 45px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.035);cursor:pointer}
.profile-avatar{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border:1px solid rgba(175,134,252,.18);border-radius:20px;background:radial-gradient(circle at 38% 28%,rgba(188,151,255,.26),rgba(103,64,179,.14) 45%,rgba(15,12,23,.96));box-shadow:0 0 24px rgba(112,68,194,.11)}
.profile-avatar span{font-size:22px;font-weight:720}
.profile-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.profile-copy strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-copy>span{margin-top:4px;color:var(--muted);font-size:10px}
.profile-xp{height:4px;margin-top:10px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.065)}
.profile-xp span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--purple-2))}
.more-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}
.more-metrics article{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:13px 5px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.024)}
.more-metrics strong{font-size:16px}
.more-metrics span{margin-top:5px;color:var(--muted);font-size:9px}
.menu-card{margin-top:19px;border:1px solid var(--line);border-radius:23px;overflow:hidden;background:rgba(9,9,15,.88)}
.menu-card button{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 13px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;text-align:left}
.menu-card button:last-child{border-bottom:0}
.menu-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:13px;background:rgba(129,81,220,.1);color:var(--purple-2);font-size:15px}
.menu-card button>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}
.menu-card strong{font-size:13px}
.menu-card small{margin-top:4px;color:var(--muted);font-size:9px}
.menu-card i{color:rgba(255,255,255,.25);font-size:21px;font-style:normal}

/* Navigation — Stage537 compositor glass bubble */
.bottom-nav{
  --slot:calc((100% - 10px)/5);
  position:absolute;
  z-index:50;
  left:50%;
  bottom:var(--nav-bottom);
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
  width:min(390px,calc(100vw - 24px));
  height:var(--nav-h);
  padding:5px;
  border:0;
  border-radius:23px;
  background:transparent;
  box-shadow:none;
  transform:translate3d(-50%,0,0);
  overflow:visible;
  isolation:isolate;
  contain:layout style;
}
.nav-rail{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.072);
  border-radius:23px;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(8,8,12,.88),rgba(1,1,3,.96)),
    radial-gradient(90% 100% at 50% -40%,rgba(255,255,255,.048),transparent 64%);
  box-shadow:
    0 25px 58px rgba(0,0,0,.76),
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -1px 0 rgba(0,0,0,.92);
  -webkit-backdrop-filter:blur(24px) saturate(126%);
  backdrop-filter:blur(24px) saturate(126%);
  contain:paint;
}
.nav-rail::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,rgba(255,255,255,.042),transparent 27%,transparent 72%,rgba(151,111,226,.026)),
    radial-gradient(72% 74% at 50% -34%,rgba(255,255,255,.065),transparent 64%),
    linear-gradient(180deg,transparent 56%,rgba(0,0,0,.25));
}
.nav-rail::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  opacity:.64;
}
.nav-indicator{
  position:absolute;
  z-index:4;
  left:5px;
  top:5px;
  bottom:5px;
  width:var(--nav-slot-width,var(--slot));
  pointer-events:none;
  transform:translate3d(calc(var(--nav-index)*100%),0,0);
  will-change:auto;
}
.nav-lens{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.20);
  border-radius:19px;
  pointer-events:none;
  transform:translate3d(0,0,0) scale3d(1,1,1);
  transform-origin:center center;
  background:
    radial-gradient(110% 125% at 19% 2%,rgba(255,255,255,.19),transparent 48%),
    radial-gradient(88% 110% at 82% 94%,rgba(119,82,183,.10),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.036) 44%,rgba(126,89,196,.064) 78%,rgba(255,255,255,.02)),
    rgba(255,255,255,.018);
  box-shadow:
    0 14px 31px rgba(0,0,0,.52),
    0 1px 0 rgba(255,255,255,.12),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 1px 0 0 rgba(255,255,255,.055),
    inset -1px 0 0 rgba(130,94,202,.085),
    inset 0 -1px 0 rgba(0,0,0,.50),
    inset 0 -10px 21px rgba(0,0,0,.12);
  will-change:auto;
  contain:paint;
}
.nav-lens-icon svg{
  width:26px;
  height:26px;
  overflow:visible;
  fill:currentColor;
  transform:translate3d(0,0,0) scale(1.035);
}
.nav-lens-icon .nav-cut{fill:rgba(15,13,20,.98)}
.nav-item{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  min-width:0;
  height:100%;
  padding:0;
  border:0;
  border-radius:18px;
  background:transparent;
  color:rgba(175,174,186,.43);
  transition:color .13s linear,filter .13s linear;
  touch-action:manipulation;
  transform:translate3d(0,0,0);
}
.nav-item:active{transform:translate3d(0,0,0) scale(.97)}
.nav-item.is-active{color:rgba(255,255,255,.99)}
.nav-item.is-targeting{color:rgba(222,220,231,.71)}
.nav-item.is-departing{color:rgba(210,208,218,.62)}
.nav-item svg{width:25px;height:25px;fill:currentColor;overflow:visible;transform:translate3d(0,0,0)}
.nav-item .nav-cut{fill:#030305;transition:fill .13s linear}
.nav-item.is-active svg{filter:drop-shadow(0 1px 4px rgba(255,255,255,.10))}
.nav-item.is-active .nav-cut{fill:rgba(21,17,28,.96)}
.bottom-nav.is-nav-animating .nav-indicator,
.bottom-nav.is-nav-animating .nav-lens,
.bottom-nav.is-nav-animating .nav-lens-icons{will-change:transform}
.bottom-nav[data-lens-renderer="compositor"] .nav-lens{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.reduce-motion .nav-item{transition:none!important}
.reduce-motion .nav-indicator,.reduce-motion .nav-lens,.reduce-motion .nav-lens-icons{will-change:auto!important}

/* Modal */
.modal-layer{position:absolute;z-index:100;inset:0;visibility:hidden;pointer-events:none}
.modal-layer.is-open{visibility:visible;pointer-events:auto}
.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(0,0,0,.62);opacity:0;transition:opacity .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal-layer.is-open .modal-backdrop{opacity:1}
.modal-sheet{position:absolute;left:calc(var(--lb-safe-left) + 10px);right:calc(var(--lb-safe-right) + 10px);bottom:calc(var(--lb-safe-bottom) + var(--lb-keyboard-inset) + 10px);max-height:min(calc(var(--lb-visible-height) - var(--lb-safe-top) - var(--lb-safe-bottom) - var(--lb-keyboard-inset) - 24px),720px);overflow-y:auto;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(160deg,rgba(18,16,27,.985),rgba(5,5,9,.995));box-shadow:0 28px 80px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.045);transform:translate3d(0,26px,0);opacity:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .18s ease;scrollbar-width:none}
.modal-sheet::-webkit-scrollbar{display:none}
.modal-layer.is-open .modal-sheet{transform:translate3d(0,0,0);opacity:1}
.modal-handle{width:40px;height:4px;margin:0 auto 15px;border-radius:99px;background:rgba(255,255,255,.12)}
.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}
.modal-heading h2{margin:3px 0 0;font-size:22px;letter-spacing:-.035em}
.modal-close{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted);font-size:18px}
.form-grid{display:grid;gap:12px}
.field{display:grid;gap:7px}
.field label{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.field input,.field select{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:15px;outline:0;background:rgba(255,255,255,.035);color:#fff;appearance:none}
.field input:focus,.field select:focus{border-color:rgba(165,121,250,.35);box-shadow:0 0 0 3px rgba(128,78,222,.09)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-actions{display:flex;gap:9px;margin-top:17px}
.modal-actions button{flex:1;height:46px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.035);font-size:11px;font-weight:700}
.modal-actions .modal-primary{border-color:rgba(152,107,241,.18);background:linear-gradient(145deg,rgba(132,82,226,.25),rgba(86,55,145,.13));color:#f2eaff}
[data-shop-confirm-buy]{
  border-color:rgba(255,201,85,.32);
  color:#1d170b;
  background:linear-gradient(135deg,#FFE986 0%,#FFC85A 52%,#FFA553 100%);
  box-shadow:0 8px 22px rgba(242,166,60,.18),inset 0 1px 0 rgba(255,255,255,.34);
}
[data-shop-confirm-buy]:active{filter:brightness(.96);transform:scale(.985)}
.modal-message{padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);color:var(--muted);font-size:11px;line-height:1.5}
.action-list{display:grid;gap:8px}
.action-list button{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.03);font-size:12px}
.action-list button.is-danger{color:var(--red)}

/* Detail */
.detail-layer{position:absolute;z-index:80;inset:0;visibility:hidden;pointer-events:none;background:var(--bg);transform:translate3d(100%,0,0);transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility .26s}
.detail-layer.is-open{visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)}
.detail-page{height:100%;overflow:hidden;background:linear-gradient(180deg,#07060d,#020205)}
.detail-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;padding:calc(var(--lb-safe-top) + 16px) calc(var(--lb-safe-right) + 16px) 12px calc(var(--lb-safe-left) + 16px);border-bottom:1px solid rgba(255,255,255,.05)}
.detail-header>div{text-align:center}
.detail-header h2{margin:3px 0 0;font-size:21px;letter-spacing:-.03em}
.detail-back{width:40px;height:40px}
.detail-content{height:calc(100% - var(--lb-safe-top) - 69px);overflow-y:auto;padding:16px calc(var(--lb-safe-right) + 16px) calc(var(--lb-safe-bottom) + 24px) calc(var(--lb-safe-left) + 16px);scrollbar-width:none}
.detail-content::-webkit-scrollbar{display:none}
.detail-card{padding:15px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.027);margin-bottom:10px}
.detail-card h3{margin:0 0 7px;font-size:14px}
.detail-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.stat-chart{display:flex;align-items:flex-end;gap:8px;height:170px;padding:20px 7px 8px}
.stat-bar-wrap{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:flex-end;height:100%;gap:7px}
.stat-bar{width:100%;min-height:4px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#aa7dff,#6842bb);box-shadow:0 0 15px rgba(128,79,221,.12)}
.stat-bar-wrap span{color:var(--muted);font-size:9px}
.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.achievement{min-height:135px;padding:14px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.026)}
.achievement.is-locked{opacity:.38;filter:grayscale(.55)}
.achievement-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(133,83,226,.12);color:var(--purple-2);font-size:19px}
.achievement strong{display:block;margin-top:12px;font-size:12px}
.achievement span{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}
.activity-row{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.activity-row:last-child{border-bottom:0}
.activity-mark{display:grid;place-items:center;flex:0 0 auto;width:37px;height:37px;border-radius:13px;background:rgba(130,82,221,.1);color:var(--purple-2);font-size:14px}
.activity-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.activity-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-copy span{margin-top:4px;color:var(--muted);font-size:9px}
.activity-delta{align-self:center;color:var(--green);font-size:10px;font-weight:700}
.settings-list{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.025)}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:62px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05)}
.setting-row:last-child{border-bottom:0}
.setting-copy{display:flex;flex-direction:column}
.setting-copy strong{font-size:12px}
.setting-copy span{margin-top:4px;color:var(--muted);font-size:9px}
.switch{position:relative;width:46px;height:28px;border:0;border-radius:99px;background:rgba(255,255,255,.1);transition:background .2s ease}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.3);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.switch.is-on{background:rgba(132,83,226,.66)}
.switch.is-on::after{transform:translate3d(18px,0,0)}
.export-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:48px;margin-top:13px;border:1px solid rgba(147,102,235,.17);border-radius:16px;background:rgba(126,79,215,.14);color:#eee5ff;font-size:11px;font-weight:700}

/* Toast and loader */
.toast-stack{position:absolute;z-index:130;left:calc(var(--lb-safe-left) + 14px);right:calc(var(--lb-safe-right) + 14px);top:calc(var(--lb-safe-top) + 12px);display:grid;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(13,12,19,.94);box-shadow:0 16px 35px rgba(0,0,0,.46);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate3d(0,-12px,0);opacity:0;animation:toastIn .22s forwards,toastOut .22s 2.8s forwards;color:#eeeaf4;font-size:11px}
.toast.is-compact{
  width:70%;
  max-width:70%;
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
  text-align:center;
  line-height:1.35;
  white-space:normal;
}

.toast.is-error{border-color:rgba(239,122,145,.25)}
@keyframes toastIn{to{transform:translate3d(0,0,0);opacity:1}}
@keyframes toastOut{to{transform:translate3d(0,-7px,0);opacity:0}}
.boot-loader{position:absolute;z-index:200;inset:0;display:grid;place-content:center;place-items:center;gap:13px;background:#020205;transition:opacity .28s ease,visibility .28s ease}
.boot-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.boot-loader strong{margin:0;color:rgba(255,255,255,.96);font-size:19px;font-weight:650;line-height:1;letter-spacing:-.025em}
.boot-loader small{max-width:260px;color:rgba(255,255,255,.52);font-size:10px;line-height:1.35;text-align:center}
.boot-spinner{display:block;width:28px;height:28px;border:2px solid rgba(255,255,255,.16);border-top-color:rgba(255,255,255,.98);border-right-color:rgba(255,255,255,.42);border-radius:50%;animation:spin .72s linear infinite}
.boot-error-text{margin-top:2px}


/* Stage534: Telegram fullscreen, stable viewport and safe-area foundation */
html[data-platform="telegram"]{
  --lb-app-height:var(--tg-viewport-stable-height,var(--lb-runtime-stable-height,100dvh));
  --lb-visible-height:var(--tg-viewport-height,var(--lb-runtime-visible-height,var(--lb-app-height)));
  --lb-safe-top:max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px),var(--lb-runtime-safe-top,0px));
  --lb-safe-right:max(env(safe-area-inset-right,0px),var(--tg-safe-area-inset-right,0px),var(--tg-content-safe-area-inset-right,0px),var(--lb-runtime-safe-right,0px));
  --lb-safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px),var(--lb-runtime-safe-bottom,0px));
  --lb-safe-left:max(env(safe-area-inset-left,0px),var(--tg-safe-area-inset-left,0px),var(--tg-content-safe-area-inset-left,0px),var(--lb-runtime-safe-left,0px));
}
html[data-platform="telegram"],html[data-platform="telegram"] body{height:var(--lb-app-height);min-height:var(--lb-app-height);background:var(--bg)}
html[data-platform="telegram"] body::before{inset:0}
html[data-platform="telegram"] .app{width:100%;max-width:none;height:var(--lb-app-height);min-height:var(--lb-app-height);margin:0;box-shadow:none}
html[data-platform="telegram"] .bottom-nav{left:calc(var(--lb-safe-left) + 12px);right:calc(var(--lb-safe-right) + 12px);width:auto;transform:translate3d(0,0,0)}
html[data-platform="telegram"][data-keyboard-open="true"] .bottom-nav{opacity:0;pointer-events:none;transform:translate3d(0,14px,0);transition:opacity .14s ease,transform .18s ease}
html[data-platform="telegram"] .boot-loader{padding:var(--lb-safe-top) var(--lb-safe-right) var(--lb-safe-bottom) var(--lb-safe-left)}
html[data-platform="telegram"] .modal-layer,html[data-platform="telegram"] .detail-layer,html[data-platform="telegram"] .toast-stack{max-width:none}
html[data-platform="telegram"][data-telegram-active="false"] .screen.is-active .hero-light,
html[data-platform="telegram"][data-telegram-active="false"] .screen.is-active .hero-cloak-flow,
html[data-platform="telegram"][data-telegram-active="false"] .screen.is-active .hero-cloak-tip{animation-play-state:paused!important}
html[data-platform="telegram"][data-fullscreen="true"] .app{background:#020205}

@media (max-width:370px){
  .screen-scroll{padding-left:12px;padding-right:12px}
  .today-screen{padding-left:calc(var(--lb-safe-left) + 14px);padding-right:calc(var(--lb-safe-right) + 14px)}
 
  .week-day{height:64px}
  .hero-card{height:270px}
  .metric-card{padding:12px 8px;gap:7px}
  .metric-icon{width:24px;height:24px}
  .reward-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

html.compact-ui .hero-light,html.compact-ui .hero-cloak-flow,html.compact-ui .hero-cloak-tip{animation:none!important}
html.compact-ui .nav-rail{-webkit-backdrop-filter:none;backdrop-filter:none}
html.compact-ui .nav-lens{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035) 44%,rgba(118,81,184,.1)),rgba(12,11,17,.76)}
html.reduce-motion .nav-lens-glint{display:none}
html.reduce-motion .nav-indicator{transition:none!important}

/* Stage537: route isolation, fullscreen foundation and compositor glass bubble */
html[data-initial-route] .boot-loader{background:#020205}
.nav-item{appearance:none;-webkit-appearance:none;text-decoration:none}

/* Stage545 — compact oval compositor lens
   Keeps the proven Stage537 carrier motion while replacing the oversized slot-sized window. */
.bottom-nav{
  --nav-lens-width:66px;
  --nav-lens-height:52px;
}
.nav-indicator{
  z-index:1;
  left:5px;
  top:5px;
  bottom:auto;
  width:var(--nav-lens-width);
  height:var(--nav-lens-height);
}
.nav-lens{
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:
    radial-gradient(92% 82% at 24% 4%,rgba(255,255,255,.135),transparent 54%),
    radial-gradient(90% 96% at 78% 100%,rgba(112,78,174,.075),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.073),rgba(255,255,255,.025) 48%,rgba(92,65,142,.045)),
    rgba(12,11,17,.46);
  box-shadow:
    0 8px 18px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -1px 0 rgba(0,0,0,.42);
}
.nav-item{z-index:2}
.bottom-nav.is-nav-animating .nav-indicator,
.bottom-nav.is-nav-animating .nav-lens{will-change:transform}
.bottom-nav.is-nav-animating .nav-lens-icons{will-change:auto}
html.compact-ui .nav-lens{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:
    radial-gradient(92% 82% at 24% 4%,rgba(255,255,255,.11),transparent 54%),
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018) 52%,rgba(92,65,142,.04)),
    rgba(12,11,17,.55);
}
.reduce-motion .nav-indicator,.reduce-motion .nav-lens{will-change:auto!important}

/* Stage545 — clean directional oval lens component */
.bottom-nav{
  --nav-lens-width:74px;
  --nav-lens-height:48px;
}
.nav-indicator{
  position:absolute;
  z-index:1;
  left:5px;
  top:7px;
  bottom:auto;
  width:var(--nav-lens-width);
  height:var(--nav-lens-height);
  pointer-events:none;
  transform:translate3d(calc(var(--nav-index)*100%),0,0);
  will-change:auto;
}
.nav-lens{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.135);
  border-radius:999px;
  pointer-events:none;
  transform:translate3d(0,0,0) scale3d(1,1,1);
  transform-origin:center center;
  background:
    radial-gradient(110% 86% at 26% -8%,rgba(255,255,255,.13),transparent 50%),
    linear-gradient(145deg,rgba(255,255,255,.064),rgba(255,255,255,.021) 52%,rgba(92,65,142,.038)),
    rgba(10,9,15,.48);
  box-shadow:
    0 7px 17px rgba(0,0,0,.31),
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -1px 0 rgba(0,0,0,.38);
  contain:paint;
  will-change:auto;
}
.nav-lens-refraction,
.nav-lens-highlight{
  position:absolute;
  pointer-events:none;
}
.nav-lens-refraction{
  inset:0;
  border-radius:inherit;
  border:1px solid transparent;
  background:linear-gradient(128deg,rgba(255,255,255,.20),rgba(255,255,255,.02) 34%,transparent 62%,rgba(135,98,202,.055) 84%) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.30;
}
.nav-lens-highlight{
  left:14px;
  right:14px;
  top:2px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.018) 68%,transparent);
  opacity:.50;
}
.nav-item{z-index:2}
.bottom-nav.is-nav-animating .nav-indicator,
.bottom-nav.is-nav-animating .nav-lens{will-change:transform}
html.compact-ui .nav-lens{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:
    radial-gradient(110% 86% at 26% -8%,rgba(255,255,255,.10),transparent 50%),
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.016) 54%,rgba(92,65,142,.032)),
    rgba(10,9,15,.55);
}
.reduce-motion .nav-indicator,
.reduce-motion .nav-lens{will-change:auto!important}

/* Stage546 — single draggable liquid lens controller */
.bottom-nav{
  --slot:calc((100% - 10px)/5);
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.nav-indicator{
  z-index:5;
  width:var(--nav-slot-width,var(--slot));
  transform:translate3d(0,0,0);
  will-change:transform;
  pointer-events:none;
}
.nav-lens{
  border-radius:50% / 44%;
  overflow:hidden;
  transform-origin:center center;
  will-change:transform;
  background:
    radial-gradient(120% 88% at 50% -7%,rgba(255,255,255,.17),transparent 46%),
    radial-gradient(95% 110% at 86% 92%,rgba(132,89,212,.075),transparent 72%),
    linear-gradient(150deg,rgba(255,255,255,.095),rgba(255,255,255,.028) 48%,rgba(102,70,161,.052) 82%,rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.17);
  box-shadow:
    0 13px 29px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.50),
    inset 1px 0 0 rgba(255,255,255,.035),
    inset -1px 0 0 rgba(132,92,206,.065);
  contain:paint;
}
.nav-lens::before{
  content:"";
  position:absolute;
  z-index:4;
  left:14%;
  right:14%;
  top:2px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  opacity:calc(.44 + var(--nav-liquid-speed,0)*.28);
  pointer-events:none;
}
.nav-lens::after{
  content:"";
  position:absolute;
  z-index:4;
  left:18%;
  right:18%;
  bottom:2px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.76),transparent);
  opacity:calc(.44 + var(--nav-liquid-speed,0)*.22);
  pointer-events:none;
}
.nav-lens-refraction{
  position:absolute;
  z-index:3;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:
    inset 1px 0 0 rgba(121,196,255,.045),
    inset -1px 0 0 rgba(205,113,255,.055);
}
.nav-lens-highlight{
  position:absolute;
  z-index:3;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(108deg,rgba(255,255,255,.035),transparent 31%,transparent 70%,rgba(255,255,255,.018));
}
.nav-lens-icons{
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:5px;
  pointer-events:none;
  will-change:transform;
  filter:saturate(1.04) contrast(1.045);
}
.nav-lens-icon{
  display:grid;
  place-items:center;
  min-width:0;
  height:52px;
  color:rgba(184,182,194,.52);
}
.nav-lens-icon svg{
  width:25px;
  height:25px;
  fill:currentColor;
  overflow:visible;
  transform:none;
}
.nav-lens-icon .nav-cut{fill:rgba(10,9,14,.96)}
.nav-lens-icon.is-active{
  color:rgba(255,255,255,.99);
  filter:drop-shadow(0 1px 5px rgba(255,255,255,.12));
}
.nav-item{
  z-index:3;
  background:transparent !important;
  box-shadow:none !important;
  outline:none;
  touch-action:none;
}
.nav-item::before,.nav-item::after{content:none !important}
.nav-item.is-nearest{color:rgba(211,209,220,.58)}
.nav-item.is-active{color:rgba(255,255,255,.95)}
.bottom-nav.is-nav-dragging .nav-lens{
  box-shadow:
    0 17px 35px rgba(0,0,0,.54),
    inset 0 1px 0 rgba(255,255,255,.21),
    inset 0 -1px 0 rgba(0,0,0,.52),
    inset 1px 0 0 rgba(255,255,255,.045),
    inset -1px 0 0 rgba(132,92,206,.075);
}
.reduce-motion .nav-lens,.reduce-motion .nav-indicator,.reduce-motion .nav-lens-icons{transition:none !important}

/* Stage549 — static icons with a single transparent glass lens. */
.bottom-nav{
  --nav-lens-width:69px;
  --nav-lens-height:47px;
  --nav-liquid-progress:0;
  --nav-liquid-direction:0;
  touch-action:none;
  isolation:isolate;
}
.nav-rail{z-index:1}
.nav-indicator{
  z-index:5;
  left:5px;
  top:7px;
  bottom:auto;
  width:var(--nav-lens-width);
  height:var(--nav-lens-height);
  overflow:visible;
  pointer-events:none;
  will-change:transform;
}
.nav-lens{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:999px;
  transform-origin:50% 50%;
  will-change:transform;
  -webkit-backdrop-filter:blur(7px) saturate(1.34) contrast(1.04);
  backdrop-filter:blur(7px) saturate(1.34) contrast(1.04);
  background:
    radial-gradient(110% 82% at 45% -8%,rgba(255,255,255,.17),transparent 49%),
    radial-gradient(95% 78% at 78% 110%,rgba(119,79,190,.075),transparent 72%),
    linear-gradient(148deg,rgba(255,255,255,.085),rgba(255,255,255,.018) 50%,rgba(87,57,142,.052)),
    rgba(20,18,27,.30);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 8px 20px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.17),
    inset 0 -8px 16px rgba(0,0,0,.16),
    inset 1px 0 0 rgba(110,194,255,.045),
    inset -1px 0 0 rgba(194,111,255,.052);
}
.nav-lens::before{
  content:"";
  position:absolute;
  z-index:2;
  left:13%;
  right:13%;
  top:2px;
  height:1px;
  border-radius:999px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  opacity:calc(.50 + var(--nav-liquid-progress)*.18);
}
.nav-lens::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(104,193,255,calc(.018 + var(--nav-liquid-progress)*.035)),transparent 22%,transparent 78%,rgba(205,112,255,calc(.022 + var(--nav-liquid-progress)*.04))),
    radial-gradient(74% 42% at 50% 112%,rgba(88,58,142,.075),transparent 72%);
}
.nav-lens-refraction,
.nav-lens-highlight{display:none!important}
.nav-item{
  z-index:3;
  color:rgba(129,127,140,.72);
  transform:none!important;
}
.nav-item svg{
  width:25px;
  height:25px;
  fill:currentColor;
  overflow:visible;
  transform:none!important;
  opacity:1!important;
  transition:color 180ms cubic-bezier(.22,.72,.2,1),filter 180ms cubic-bezier(.22,.72,.2,1),opacity 180ms ease;
}
.nav-item .nav-cut{fill:#030305;transition:fill 180ms ease}
.nav-item.is-active{
  color:rgba(255,255,255,.98);
}
.nav-item.is-active svg{filter:drop-shadow(0 1px 4px rgba(255,255,255,.10))}
.nav-item.is-active .nav-cut{fill:rgba(17,15,23,.96)}
.nav-item.is-targeting{color:rgba(205,203,214,.80)}
.nav-item.is-departing{color:rgba(164,162,174,.70)}
.nav-item.is-nearest{color:rgba(190,188,201,.76)}
.bottom-nav.is-nav-animating .nav-lens,
.bottom-nav.is-nav-dragging .nav-lens{
  box-shadow:
    0 11px 25px rgba(0,0,0,.37),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -9px 18px rgba(0,0,0,.17),
    inset 1px 0 0 rgba(110,194,255,.065),
    inset -1px 0 0 rgba(194,111,255,.07);
}
.bottom-nav.is-nav-landing .nav-lens{filter:saturate(1.025)}
html.compact-ui .nav-lens{
  -webkit-backdrop-filter:blur(4px) saturate(1.18);
  backdrop-filter:blur(4px) saturate(1.18);
}
.reduce-motion .nav-indicator,
.reduce-motion .nav-lens,
.reduce-motion .nav-item svg{transition:none!important;will-change:auto!important}

/* Stage550 — refractive glass lens, fixed icons, reference-like vertical travel. */
.bottom-nav{
  --nav-lens-width:64px;
  --nav-lens-height:45px;
  overflow:visible;
}
.nav-indicator{
  left:7px;
  top:8px;
  width:var(--nav-lens-width);
  height:var(--nav-lens-height);
  transform-origin:50% 88%;
}
.nav-lens{
  overflow:hidden;
  transform-origin:50% 88%;
  -webkit-backdrop-filter:blur(1.25px) saturate(1.18) contrast(1.025);
  backdrop-filter:blur(1.25px) saturate(1.18) contrast(1.025);
  background:
    radial-gradient(105% 72% at 48% -8%,rgba(255,255,255,.20),transparent 52%),
    radial-gradient(92% 76% at 70% 112%,rgba(119,79,190,.065),transparent 72%),
    linear-gradient(150deg,rgba(255,255,255,.062),rgba(255,255,255,.008) 54%,rgba(89,57,144,.035)),
    rgba(10,9,15,.115);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:
    0 8px 20px rgba(0,0,0,.29),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(0,0,0,.34),
    inset 1px 0 0 rgba(104,193,255,.045),
    inset -1px 0 0 rgba(205,112,255,.052);
}
.nav-lens::before{
  left:15%;
  right:15%;
  opacity:calc(.46 + var(--nav-liquid-progress)*.16);
}
.nav-lens::after{
  background:
    linear-gradient(90deg,rgba(104,193,255,calc(.016 + var(--nav-liquid-progress)*.030)),transparent 20%,transparent 80%,rgba(205,112,255,calc(.018 + var(--nav-liquid-progress)*.034))),
    radial-gradient(78% 44% at 50% 112%,rgba(88,58,142,.052),transparent 72%);
}
.nav-lens-refraction{
  display:block!important;
  position:absolute;
  inset:1px;
  z-index:1;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(64% 110% at 14% 50%,rgba(112,197,255,.032),transparent 66%),
    radial-gradient(64% 110% at 86% 50%,rgba(205,118,255,.038),transparent 66%);
  opacity:calc(.55 + var(--nav-liquid-progress)*.18);
}
.nav-lens-highlight{
  display:block!important;
  position:absolute;
  z-index:4;
  left:18%;
  right:18%;
  top:3px;
  height:7px;
  border-radius:999px;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.12),transparent 72%);
  opacity:calc(.55 + var(--nav-liquid-progress)*.16);
}
.nav-lens-icons{
  display:block!important;
  position:absolute;
  z-index:3;
  left:0;
  top:0;
  height:100%;
  pointer-events:none;
  will-change:transform;
}
.nav-lens-icon{
  position:absolute;
  top:50%;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  color:rgba(129,127,140,.74);
  transform:translate(-50%,-50%);
}
.nav-lens-icon svg{
  width:25px;
  height:25px;
  fill:currentColor;
  overflow:visible;
  filter:contrast(1.03) saturate(1.06);
}
.nav-lens-icon .nav-cut{fill:rgba(5,4,8,.90)}
.nav-lens-icon.is-active{color:rgba(255,255,255,.98)}
.nav-lens-icon.is-active .nav-cut{fill:rgba(12,10,17,.91)}
.nav-item,
.nav-item svg{
  transform:none!important;
}
.nav-item{
  color:rgba(129,127,140,.72)!important;
  transition:color 120ms linear!important;
}
.nav-item.is-active{
  color:rgba(255,255,255,.98)!important;
}
.nav-item.is-targeting,
.nav-item.is-departing,
.nav-item.is-nearest{
  color:rgba(129,127,140,.72)!important;
}
.bottom-nav.is-nav-animating .nav-lens,
.bottom-nav.is-nav-dragging .nav-lens{
  box-shadow:
    0 12px 27px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.23),
    inset 0 -1px 0 rgba(0,0,0,.38),
    inset 1px 0 0 rgba(104,193,255,.06),
    inset -1px 0 0 rgba(205,112,255,.068);
}
html.compact-ui .nav-lens{
  -webkit-backdrop-filter:blur(.8px) saturate(1.10);
  backdrop-filter:blur(.8px) saturate(1.10);
  background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.012) 55%,rgba(89,57,144,.035)),rgba(10,9,15,.14);
}
.reduce-motion .nav-lens-icons{transition:none!important;will-change:auto!important}

/* Stage551 — symmetric vertical glass motion with truly static icons. */
.bottom-nav{
  --nav-lens-width:66px;
  --nav-lens-height:45px;
  overflow:visible;
}
.nav-indicator{
  left:6px;
  top:8px;
  width:var(--nav-lens-width);
  height:var(--nav-lens-height);
  transform-origin:50% 50%!important;
  overflow:visible;
}
.nav-lens{
  transform-origin:50% 50%!important;
  overflow:hidden;
  -webkit-backdrop-filter:blur(1.6px) saturate(1.16) contrast(1.035);
  backdrop-filter:blur(1.6px) saturate(1.16) contrast(1.035);
  background:
    radial-gradient(112% 76% at 48% -10%,rgba(255,255,255,.19),transparent 50%),
    radial-gradient(100% 78% at 52% 112%,rgba(113,76,180,.06),transparent 70%),
    linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.007) 52%,rgba(91,59,148,.032)),
    rgba(8,7,12,.075);
  border:1px solid rgba(255,255,255,.19);
  box-shadow:
    0 8px 20px rgba(0,0,0,.27),
    inset 0 1px 0 rgba(255,255,255,.19),
    inset 0 -1px 0 rgba(0,0,0,.25),
    inset 1px 0 0 rgba(101,193,255,.045),
    inset -1px 0 0 rgba(205,112,255,.05);
}
.nav-lens-icons,.nav-lens-icon{display:none!important}
.nav-item,.nav-item svg{
  transform:none!important;
  scale:1!important;
}
.nav-item{
  color:rgba(129,127,140,.72)!important;
  transition:color 145ms linear!important;
}
.nav-item svg{
  width:25px!important;
  height:25px!important;
  filter:none!important;
  opacity:1!important;
}
.nav-item.is-active{color:rgba(255,255,255,.98)!important}
.nav-item.is-active svg{filter:none!important}
.nav-item.is-active .nav-cut{fill:rgba(12,10,17,.90)}
.bottom-nav.is-nav-animating .nav-lens,
.bottom-nav.is-nav-dragging .nav-lens{
  box-shadow:
    0 10px 24px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.28),
    inset 1px 0 0 rgba(101,193,255,.06),
    inset -1px 0 0 rgba(205,112,255,.067);
}

/* Stage552 — clear optical glass: preserve static icons, remove muddy blur. */
.nav-lens{
  -webkit-backdrop-filter:blur(.12px) brightness(1.075) contrast(1.085) saturate(1.045);
  backdrop-filter:blur(.12px) brightness(1.075) contrast(1.085) saturate(1.045);
  background:
    radial-gradient(92% 58% at 48% -6%,rgba(255,255,255,.145),transparent 54%),
    radial-gradient(86% 70% at 50% 114%,rgba(96,64,154,.035),transparent 72%),
    linear-gradient(150deg,rgba(255,255,255,.032),rgba(255,255,255,.003) 52%,rgba(92,60,150,.018)),
    rgba(8,7,12,.018);
  border-color:rgba(255,255,255,.205);
  box-shadow:
    0 9px 22px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.19),
    inset 1px 0 0 rgba(106,195,255,.052),
    inset -1px 0 0 rgba(208,118,255,.058);
}
.nav-lens::before{
  left:17%;
  right:17%;
  top:2px;
  height:8px;
  opacity:calc(.42 + var(--nav-liquid-progress)*.12);
  background:radial-gradient(ellipse at center,rgba(255,255,255,.15),rgba(255,255,255,.025) 48%,transparent 76%);
}
.nav-lens::after{
  inset:0;
  opacity:1;
  background:
    linear-gradient(90deg,
      rgba(98,190,255,calc(.018 + var(--nav-liquid-progress)*.022)) 0%,
      transparent 17%,
      transparent 83%,
      rgba(210,116,255,calc(.020 + var(--nav-liquid-progress)*.024)) 100%),
    radial-gradient(70% 34% at 50% 104%,rgba(91,60,145,.04),transparent 74%);
}
.nav-lens-refraction{
  display:block!important;
  position:absolute;
  inset:1px;
  z-index:1;
  border-radius:inherit;
  pointer-events:none;
  opacity:calc(.48 + var(--nav-liquid-progress)*.16);
  background:
    radial-gradient(42% 118% at -4% 50%,rgba(115,204,255,.075),transparent 68%),
    radial-gradient(42% 118% at 104% 50%,rgba(215,126,255,.080),transparent 68%),
    radial-gradient(58% 82% at 50% 50%,transparent 62%,rgba(255,255,255,.018) 100%);
  box-shadow:
    inset 7px 0 10px -12px rgba(116,205,255,.50),
    inset -7px 0 10px -12px rgba(216,127,255,.48);
}
.nav-lens-highlight{
  display:block!important;
  position:absolute;
  z-index:4;
  left:20%;
  right:20%;
  top:3px;
  height:6px;
  border-radius:999px;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.13),transparent 74%);
  opacity:calc(.50 + var(--nav-liquid-progress)*.12);
}
.bottom-nav.is-nav-animating .nav-lens,
.bottom-nav.is-nav-dragging .nav-lens{
  -webkit-backdrop-filter:blur(.16px) brightness(1.085) contrast(1.095) saturate(1.05);
  backdrop-filter:blur(.16px) brightness(1.085) contrast(1.095) saturate(1.05);
  background:
    radial-gradient(94% 62% at 48% -8%,rgba(255,255,255,.16),transparent 54%),
    radial-gradient(88% 72% at 50% 114%,rgba(96,64,154,.04),transparent 72%),
    linear-gradient(150deg,rgba(255,255,255,.036),rgba(255,255,255,.004) 52%,rgba(92,60,150,.02)),
    rgba(8,7,12,.016);
}
html.compact-ui .nav-lens{
  -webkit-backdrop-filter:blur(.1px) brightness(1.06) contrast(1.07) saturate(1.035);
  backdrop-filter:blur(.1px) brightness(1.06) contrast(1.07) saturate(1.035);
  background:
    radial-gradient(92% 58% at 48% -6%,rgba(255,255,255,.13),transparent 54%),
    linear-gradient(150deg,rgba(255,255,255,.028),rgba(255,255,255,.003) 54%,rgba(92,60,150,.016)),
    rgba(8,7,12,.018);
}

/* Stage553 — real clipped optical refraction; no painted top stripe. */
.nav-lens{
  background:
    linear-gradient(150deg,rgba(255,255,255,.022),rgba(255,255,255,.002) 54%,rgba(91,59,148,.014)),
    rgba(8,7,12,.012)!important;
  -webkit-backdrop-filter:brightness(1.025) contrast(1.025) saturate(1.02)!important;
  backdrop-filter:brightness(1.025) contrast(1.025) saturate(1.02)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:
    0 9px 22px rgba(0,0,0,.28),
    inset 0 -1px 0 rgba(0,0,0,.20),
    inset 1px 0 0 rgba(106,195,255,.045),
    inset -1px 0 0 rgba(208,118,255,.05)!important;
}
.nav-lens::before,
.nav-lens-highlight{display:none!important}
.nav-lens::after{
  inset:0!important;
  opacity:1!important;
  background:
    linear-gradient(90deg,
      rgba(98,190,255,calc(.022 + var(--nav-liquid-progress)*.025)) 0%,
      transparent 15%,transparent 85%,
      rgba(210,116,255,calc(.024 + var(--nav-liquid-progress)*.028)) 100%),
    radial-gradient(92% 34% at 50% 106%,rgba(96,64,154,.026),transparent 76%)!important;
}
.nav-lens-refraction{
  display:block!important;
  inset:1px!important;
  z-index:2!important;
  opacity:calc(.52 + var(--nav-liquid-progress)*.16)!important;
  background:
    radial-gradient(42% 125% at -5% 50%,rgba(115,204,255,.075),transparent 68%),
    radial-gradient(42% 125% at 105% 50%,rgba(215,126,255,.08),transparent 68%),
    radial-gradient(80% 105% at 50% 50%,transparent 72%,rgba(255,255,255,.018) 100%)!important;
  box-shadow:
    inset 8px 0 11px -13px rgba(116,205,255,.48),
    inset -8px 0 11px -13px rgba(216,127,255,.46)!important;
}
.nav-lens-optics{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  transform-origin:50% 50%;
  will-change:transform;
}
.nav-lens-optical-icon{
  position:absolute;
  top:50%;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  color:rgba(129,127,140,.78);
  transform:translate(-50%,-50%);
  opacity:.96;
}
.nav-lens-optical-icon svg{
  width:25px;
  height:25px;
  fill:currentColor;
  overflow:visible;
  filter:contrast(1.035) saturate(1.025);
}
.nav-lens-optical-icon .nav-cut{fill:rgba(8,7,12,.93)}
.nav-lens-optical-icon.is-active{color:rgba(255,255,255,.99)}
.nav-lens-optical-icon.is-active .nav-cut{fill:rgba(10,9,14,.94)}
.bottom-nav.is-nav-animating .nav-lens,
.bottom-nav.is-nav-dragging .nav-lens{
  -webkit-backdrop-filter:brightness(1.03) contrast(1.03) saturate(1.025)!important;
  backdrop-filter:brightness(1.03) contrast(1.03) saturate(1.025)!important;
}
html.compact-ui .nav-lens{
  -webkit-backdrop-filter:brightness(1.02) contrast(1.02)!important;
  backdrop-filter:brightness(1.02) contrast(1.02)!important;
}
.reduce-motion .nav-lens-optics{transition:none!important;will-change:auto!important}


/* Stage563: Telegram fullscreen clearance + isolated navigation gestures */
html[data-platform="telegram"][data-fullscreen="true"]{
  --lb-telegram-header-clearance:0px;
}
/* Stage672 — one Telegram top geometry for every primary screen.
   Telegram's runtime safe inset remains the source of truth; 66px is the
   single visual clearance below the native header controls. */
html[data-platform="telegram"]{
  --lb-main-screen-top:calc(var(--lb-safe-top) + var(--lb-telegram-header-clearance) + 66px);
}
html[data-platform="telegram"] .today-screen,
html[data-platform="telegram"] .statistics-screen,
html[data-platform="telegram"] .shop-screen,
html[data-platform="telegram"] .more-v1-screen{
  padding-top:var(--lb-main-screen-top);
}
html[data-platform="telegram"] .today-header,
html[data-platform="telegram"] .statistics-header,
html[data-platform="telegram"] .shop-header,
html[data-platform="telegram"] .more-v1-header{
  margin-top:0;
}
html[data-platform="telegram"] .home-greeting{
  top:var(--lb-main-screen-top);
}
html[data-platform="telegram"] .detail-page{
  display:flex;
  flex-direction:column;
}
html[data-platform="telegram"] .detail-header{
  flex:0 0 auto;
  padding-top:calc(var(--lb-main-screen-top) - 20px);
}
html[data-platform="telegram"] .detail-content{
  flex:1 1 auto;
  min-height:0;
  height:auto;
}
html[data-platform="telegram"] .toast-stack{
  top:calc(var(--lb-safe-top) + var(--lb-telegram-header-clearance) + 12px);
}
.bottom-nav,
.bottom-nav *{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.bottom-nav{
  touch-action:none!important;
  overscroll-behavior:contain;
}

/* Stage609 — black, white and green premium avatar scene. */
.screen[data-route="home"]{background:#010302}
.home-avatar-screen{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 47%,rgba(18,92,48,.16) 0%,rgba(5,26,14,.08) 40%,transparent 70%),
    linear-gradient(180deg,#020504 0%,#010302 100%);
}
.home-avatar-screen::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.9%,rgba(64,214,119,.024) 50%,transparent 50.1%),
    linear-gradient(0deg,transparent 49.9%,rgba(64,214,119,.014) 50%,transparent 50.1%);
  background-size:112px 112px;
  mask-image:radial-gradient(circle at 50% 48%,#000 0%,transparent 72%);
  opacity:.32;
}
.home-avatar-stage{
  position:absolute;
  top:var(--lb-safe-top,0px);
  right:var(--lb-safe-right,0px);
  bottom:calc(var(--nav-h,62px) + var(--nav-bottom,10px) + 12px);
  left:var(--lb-safe-left,0px);
  min-width:1px;
  min-height:1px;
  overflow:hidden;
  touch-action:pan-y;
  background:transparent;
  contain:layout paint size;
}
#homeAvatarCanvas{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  display:block;
  opacity:1;
  visibility:visible;
  filter:none!important;
  transform:none;
  mix-blend-mode:normal;
  isolation:isolate;
  pointer-events:none;
}
.home-avatar-aura{
  position:absolute;
  z-index:1;
  left:50%;
  top:46%;
  width:min(68vw,390px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(43,214,111,.13) 0%,rgba(12,76,39,.055) 44%,transparent 73%);
  filter:blur(24px);
  animation:home-avatar-aura-breathe 8.5s ease-in-out infinite;
}
.home-avatar-floor{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:3.8%;
  width:min(48vw,250px);
  height:24px;
  transform:translateX(-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(43,214,111,.17) 0%,rgba(8,79,37,.06) 48%,transparent 76%);
  filter:blur(10px);
  opacity:.62;
}
.home-avatar-loader{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  display:grid;
  justify-items:center;
  gap:12px;
  transform:translate(-50%,-50%);
  transition:opacity .45s ease,visibility .45s ease;
  color:rgba(230,226,255,.68);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-avatar-loader>span{
  width:32px;
  height:32px;
  border:1px solid rgba(83,214,132,.22);
  border-top-color:rgba(139,242,176,.92);
  border-radius:50%;
  animation:home-avatar-loader-spin 1s linear infinite;
  box-shadow:0 0 22px rgba(43,214,111,.18);
}
.home-avatar-loader.is-hidden{opacity:0;visibility:hidden}
.home-avatar-loader.is-error>span{animation:none;border-color:rgba(239,122,145,.55)}
@keyframes home-avatar-loader-spin{to{transform:rotate(360deg)}}
@keyframes home-avatar-aura-breathe{0%,100%{transform:translate(-50%,-50%) scale(.97);opacity:.54}50%{transform:translate(-50%,-50%) scale(1.035);opacity:.82}}
html.reduce-motion .home-avatar-aura{animation:none}
@media (max-width:420px){
  .home-avatar-stage{bottom:calc(var(--nav-h,62px) + var(--nav-bottom,10px) + 9px)}
  .home-avatar-floor{bottom:3.2%}
}

/* Stage609 — avatar composition and touch controls. */
.home-avatar-stage{
  touch-action:pan-y;
  cursor:grab;
}
.home-avatar-stage.is-dragging{
  cursor:grabbing;
}
#homeAvatarCanvas{
  pointer-events:none;
}


/* Stage609 — dynamic greeting for the hero screen. */
.home-greeting{
  position:absolute;
  z-index:6;
  top:calc(var(--lb-safe-top,0px) + var(--lb-telegram-header-clearance,0px) + var(--lb-primary-screen-content-top));
  left:max(24px,calc(var(--lb-safe-left) + 24px));
  max-width:calc(100% - 104px);
  pointer-events:none;
  opacity:0;
  transform:translate3d(0,8px,0);
  transition:opacity .46s ease,transform .58s cubic-bezier(.2,.8,.2,1);
}
.home-greeting.is-visible{opacity:1;transform:translate3d(0,0,0)}
.home-greeting p{
  margin:0 0 6px;
  color:rgba(203,211,207,.68);
  font-size:var(--lb-screen-kicker-size);
  line-height:1.2;
  font-weight:600;
  letter-spacing:.018em;
  text-transform:none;
}
.home-greeting h1{
  margin:0;
  color:rgba(248,251,249,.98);
  font-family:var(--lb-screen-title-family);
  font-size:var(--lb-screen-title-size);
  font-style:normal;
  font-weight:var(--lb-screen-title-weight);
  font-stretch:normal;
  font-variant:normal;
  font-synthesis:none;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
  line-height:var(--lb-screen-title-line-height);
  letter-spacing:var(--lb-screen-title-letter-spacing);
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  text-shadow:0 0 28px rgba(53,232,126,.06);
}
@media (max-height:700px){
  :root{--lb-primary-screen-content-top:73px}
  .home-greeting{top:calc(var(--lb-safe-top,0px) + var(--lb-telegram-header-clearance,0px) + var(--lb-primary-screen-content-top))}
  
}
html.reduce-motion .home-greeting{transition:none}

/* Stage609 — avatar readability and grounded platform polish. */
.home-avatar-aura{
  width:min(76vw,330px);
  height:min(68vh,510px);
  opacity:.78;
  filter:blur(24px);
  background:radial-gradient(ellipse at 50% 48%,rgba(23,126,65,.34) 0%,rgba(9,82,42,.20) 34%,rgba(3,37,20,.08) 58%,transparent 76%);
}

/* Stage609 — dynamic real-data hero HUD. */
.hero-ello-ring{
  position:absolute;
  z-index:2;
  left:50%;
  top:calc(47.2% - 12px);
  width:min(54vw,260px);
  aspect-ratio:1;
  overflow:visible;
  transform:translate(-50%,-50%);
  pointer-events:none;
  filter:drop-shadow(0 0 13px rgba(53,232,126,.14));
}
.hero-ello-ring path{
  fill:none;
  stroke-linecap:round;
  stroke-width:2.2;
  vector-effect:non-scaling-stroke;
}
.hero-ello-ring__track{stroke:rgba(132,151,141,.12)}
.hero-ello-ring__value{
  stroke:#42e886;
  filter:drop-shadow(0 0 4px rgba(66,232,134,.55));
}
.hero-stats-hud{
  position:absolute;
  z-index:4;
  inset:0;
  pointer-events:none;
  font-variant-numeric:tabular-nums;
}
.hero-stat{
  position:absolute;
  width:min(27vw,116px);
  opacity:0;
  transform:translate3d(0,8px,0);
  transition:opacity .44s ease,transform .56s cubic-bezier(.2,.8,.2,1);
}
.hero-stats-hud.is-visible .hero-stat{opacity:1;transform:translate3d(0,0,0)}
.hero-stat:nth-child(2),.hero-stat:nth-child(5){transition-delay:70ms}
.hero-stat:nth-child(3),.hero-stat:nth-child(6){transition-delay:140ms}
.hero-stat--left{left:max(14px,calc(var(--lb-safe-left) + 12px));text-align:left}
.hero-stat--right{right:max(14px,calc(var(--lb-safe-right) + 12px));text-align:right}
.hero-stat--level,.hero-stat--coins{top:31%}
.hero-stat--ello,.hero-stat--streak{top:45.5%}
.hero-stat--productivity,.hero-stat--recovery{top:60%}
.hero-stat span{
  display:block;
  margin-bottom:5px;
  color:rgba(185,199,190,.54);
  font-size:9px;
  line-height:1.15;
  font-weight:650;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.hero-stat--productivity span{letter-spacing:.035em}
.hero-stat strong{
  display:block;
  color:rgba(244,249,246,.94);
  font-size:21px;
  line-height:1;
  font-weight:680;
  letter-spacing:-.045em;
  text-shadow:0 0 16px rgba(71,230,133,.08);
}
.hero-stat strong b,.hero-stat strong em{font:inherit}
.hero-stat strong em{color:rgba(192,207,198,.48);font-size:.55em;font-style:normal;font-weight:560;letter-spacing:-.01em}
.hero-stat--productivity strong{color:rgba(244,249,246,.94)}
.hero-stat--productivity strong em{margin-left:3px;color:rgba(192,207,198,.58)}
.hero-stat--ello strong b{color:#78eba5}
.hero-stat--ello strong em{color:rgba(192,207,198,.48)}
.hero-stat--coins strong{color:#d9f6e4}
.hero-stat::after{
  content:"";
  display:block;
  width:30px;
  height:1px;
  margin-top:7px;
  background:linear-gradient(90deg,rgba(63,226,126,.42),transparent);
}
.hero-stat--right::after{margin-left:auto;transform:scaleX(-1)}
@media (max-width:360px){
  .hero-stat{width:102px}
  .hero-stat span{font-size:8px}
  .hero-stat strong{font-size:18px}
  .hero-stat--left{left:10px}.hero-stat--right{right:10px}
  .hero-ello-ring{width:52vw}
}
html.reduce-motion .hero-stat{transition:none}
html.reduce-motion .hero-ello-ring__value{transition:none}

/* Stage609 — prevent accidental page zoom without blocking app scrolling or avatar drag. */
html,body,.app{touch-action:manipulation}
input,select,textarea{font-size:max(16px,1em)}

/* Stage609 — lift the complete avatar/HUD composition and add sleep recovery. */
.home-avatar-stage{transform:translate3d(0,-19px,0)}
.sleep-recovery-panel{position:absolute;z-index:7;left:max(18px,calc(var(--lb-safe-left) + 18px));right:max(18px,calc(var(--lb-safe-right) + 18px));top:68.5%;max-height:68px;border:1px solid rgba(122,162,139,.13);border-radius:20px;background:linear-gradient(145deg,rgba(7,17,11,.72),rgba(2,7,4,.48));box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 12px 34px rgba(0,0,0,.16);overflow:hidden;transition:max-height .38s cubic-bezier(.2,.75,.2,1),border-color .32s ease,background .32s ease,box-shadow .32s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sleep-recovery-panel.is-open{max-height:236px;border-color:rgba(83,222,135,.24);background:linear-gradient(145deg,rgba(7,22,13,.9),rgba(2,9,5,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 42px rgba(0,0,0,.22)}
.sleep-recovery-summary{width:100%;height:66px;border:0;background:transparent;padding:0 17px;display:flex;align-items:center;justify-content:space-between;text-align:left}
.sleep-summary-left,.sleep-summary-right{display:flex;flex-direction:column;gap:5px;min-width:0}.sleep-summary-right{text-align:right;align-items:flex-end}
.sleep-recovery-summary small{font-size:8px;letter-spacing:.095em;color:rgba(185,199,190,.5);font-weight:700}.sleep-recovery-summary strong{font-size:16px;color:rgba(244,249,246,.93);font-weight:650;letter-spacing:-.025em}.sleep-summary-right strong{font-size:14px;color:rgba(191,202,195,.46)}
.sleep-recovery-panel[data-status="good"] .sleep-summary-right strong{color:#62e998}.sleep-recovery-panel[data-status="medium"] .sleep-summary-right strong{color:#e7c858}.sleep-recovery-panel[data-status="poor"] .sleep-summary-right strong{color:#f06c70}
.sleep-recovery-details{padding:0 17px 16px;opacity:0;transform:translate3d(0,-8px,0);pointer-events:none;transition:opacity .30s ease .10s,transform .38s cubic-bezier(.2,.75,.2,1) .07s}.sleep-recovery-panel.is-open .sleep-recovery-details{opacity:1;transform:none;pointer-events:auto}
.sleep-duration-control{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:9px;margin:2px 0 12px}.sleep-duration-control>strong{text-align:center;font-size:20px;font-variant-numeric:tabular-nums}.sleep-step{width:34px;height:34px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);font-size:20px;line-height:1}
.sleep-duration-range{--sleep-fill:87.3%;--sleep-color:#56df83;--sleep-glow:rgba(86,223,131,.34);width:100%;height:20px;margin:0;appearance:none;background:transparent}.sleep-duration-range::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,var(--sleep-color) 0 var(--sleep-fill),rgba(255,255,255,.1) var(--sleep-fill) 100%)}.sleep-duration-range::-moz-range-track{height:5px;border-radius:999px;background:linear-gradient(90deg,var(--sleep-color) 0 var(--sleep-fill),rgba(255,255,255,.1) var(--sleep-fill) 100%)}.sleep-duration-range::-webkit-slider-thumb{appearance:none;width:20px;height:20px;margin-top:-7.5px;border:2px solid rgba(1,6,3,.9);border-radius:50%;background:var(--sleep-color);box-shadow:0 0 17px var(--sleep-glow)}.sleep-duration-range::-moz-range-thumb{width:17px;height:17px;border:2px solid rgba(1,6,3,.9);border-radius:50%;background:var(--sleep-color);box-shadow:0 0 17px var(--sleep-glow)}
.sleep-range-scale {
  position: relative;
  height: 16px;
  margin-top: 2px;
  color: rgba(210, 220, 214, .42);
  font-size: 9px;
  line-height: 1;
  letter-spacing: .02em;
  pointer-events: none;
}
.sleep-range-scale span {
  position: absolute;
  left: var(--sleep-mark);
  top: 0;
  white-space: nowrap;
  transform: translateX(-50%);
}
.sleep-range-scale span:first-child { transform: none; }
.sleep-range-scale span:last-child { transform: translateX(-100%); }.sleep-details-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.sleep-details-footer>span{font-size:10px;color:var(--sleep-preview-color,rgba(197,210,201,.62));transition:color .18s linear}.sleep-save-button{height:34px;padding:0 16px;border:1px solid rgba(84,231,139,.28);border-radius:12px;background:rgba(39,171,87,.16);color:#8bf0ae;font-size:11px;font-weight:700}.sleep-save-button:disabled{opacity:.36}
.hero-stat--recovery strong{color:rgba(244,249,246,.94);font-size:21px;letter-spacing:-.045em}.hero-stat--recovery.is-pending strong{color:rgba(193,205,198,.42);font-size:15px;letter-spacing:-.02em}
@media (max-height:760px){.sleep-recovery-panel{top:67%;}.sleep-recovery-panel.is-open{max-height:214px}.sleep-recovery-details{padding-bottom:12px}}
html.reduce-motion .sleep-recovery-panel,html.reduce-motion .sleep-recovery-details{transition:none}

/* Stage609 — scrollable sleep expansion without changing the closed home composition. */
.home-avatar-screen{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.home-avatar-screen::-webkit-scrollbar{display:none}
.home-avatar-screen.is-sleep-expanded{
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scroll-behavior:smooth;
}
.sleep-scroll-spacer{
  position:relative;
  z-index:0;
  width:1px;
  height:100%;
  min-height:0;
  visibility:hidden;
  pointer-events:none;
}
.home-avatar-screen.is-sleep-expanded .sleep-scroll-spacer{
  height:calc(100% + 230px + var(--lb-safe-bottom, 0px));
  min-height:calc(100% + 230px + var(--lb-safe-bottom, 0px));
}
@media (max-height:760px){
  .home-avatar-screen.is-sleep-expanded .sleep-scroll-spacer{
    height:calc(100% + 210px + var(--lb-safe-bottom, 0px));
    min-height:calc(100% + 210px + var(--lb-safe-bottom, 0px));
  }
}
html.reduce-motion .home-avatar-screen.is-sleep-expanded{scroll-behavior:auto}


/* Stage609 — stable rank strip lifecycle, exact spacing and directional edge light. */
.home-avatar-screen{
  --rank-strip-top:66.2%;
  --rank-strip-height:70px;
  --rank-to-sleep-gap:17px;
}
.rank-progress-strip{
  --rank-current-color:#4BE58B;--rank-current-rgb:75,229,139;--rank-next-color:#65CFFF;--rank-next-rgb:101,207,255;
  position:absolute;z-index:7;left:max(24px,calc(var(--lb-safe-left) + 24px));right:max(24px,calc(var(--lb-safe-right) + 24px));top:var(--rank-strip-top);height:var(--rank-strip-height);display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:start;gap:9px;pointer-events:none;font-variant-numeric:tabular-nums;opacity:0;transform:translate3d(0,7px,0);transition:opacity .42s ease,transform .56s cubic-bezier(.2,.8,.2,1)
}
.rank-progress-strip.is-visible{opacity:1;transform:none}
.rank-progress-edge{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.rank-progress-edge strong{position:relative;display:grid;place-items:center;width:42px;height:42px;color:var(--rank-current-color);font-size:23px;font-weight:690;line-height:1;text-shadow:0 0 17px rgba(var(--rank-current-rgb),.28)}
.rank-progress-edge strong::before,.rank-progress-edge strong::after{content:"";position:absolute;top:0;bottom:0;width:1px;pointer-events:none}
.rank-progress-edge--current strong::before{left:0;background:linear-gradient(to bottom,transparent 0%,rgba(var(--rank-current-rgb),.05) 18%,rgba(var(--rank-current-rgb),.52) 63%,transparent 100%);box-shadow:0 0 7px rgba(var(--rank-current-rgb),.13)}
.rank-progress-edge--current strong::after{right:0;background:linear-gradient(to bottom,transparent 0%,rgba(var(--rank-current-rgb),.18) 30%,rgba(var(--rank-current-rgb),.38) 68%,transparent 100%);box-shadow:0 0 6px rgba(var(--rank-current-rgb),.09)}
.rank-progress-edge span{max-width:72px;color:rgba(var(--rank-current-rgb),.82);font-size:8px;line-height:1;text-align:center;font-weight:650;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-progress-edge--next strong{color:var(--rank-next-color);text-shadow:0 0 18px rgba(var(--rank-next-rgb),.28)}
.rank-progress-edge--next strong::before{left:0;background:linear-gradient(to bottom,rgba(var(--rank-next-rgb),.52) 0%,rgba(var(--rank-next-rgb),.31) 42%,rgba(var(--rank-next-rgb),.07) 78%,transparent 100%);box-shadow:0 0 7px rgba(var(--rank-next-rgb),.14)}
.rank-progress-edge--next strong::after{right:0;background:linear-gradient(to bottom,rgba(var(--rank-next-rgb),.38) 0%,rgba(var(--rank-next-rgb),.22) 35%,rgba(var(--rank-next-rgb),.05) 76%,transparent 100%);box-shadow:0 0 6px rgba(var(--rank-next-rgb),.11)}
.rank-progress-edge--next span{color:rgba(var(--rank-next-rgb),.84)}
.rank-progress-center{min-width:0;padding-top:17px;text-align:center}
.rank-progress-line{position:relative;height:12px}
.rank-progress-line::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:linear-gradient(90deg,rgba(var(--rank-current-rgb),.25),rgba(145,151,150,.18) 45%,rgba(var(--rank-next-rgb),.31));box-shadow:0 0 9px rgba(90,206,139,.06)}
.rank-progress-fill{--rank-progress:0%;position:absolute;z-index:2;left:0;top:4px;width:var(--rank-progress);height:2px;border-radius:999px;background:linear-gradient(90deg,var(--rank-current-color),var(--rank-current-color) 72%,var(--rank-next-color));box-shadow:0 0 10px rgba(var(--rank-current-rgb),.35);will-change:width}
.rank-progress-marker{--rank-progress:0%;position:absolute;z-index:4;left:var(--rank-progress);top:1px;width:8px;height:8px;border-radius:50%;transform:translateX(-50%);background:var(--rank-current-color);box-shadow:0 0 10px rgba(var(--rank-current-rgb),.72),0 0 2px rgba(255,255,255,.9);will-change:left}
.rank-progress-points{--rank-progress:0%;position:absolute;z-index:3;inset:0}
.rank-progress-points i{position:absolute;left:var(--rank-point-position);top:3px;width:5px;height:5px;border-radius:50%;transform:translateX(-50%);background:rgba(125,137,132,.34);box-shadow:0 0 0 1px rgba(0,0,0,.26)}
.rank-progress-points i:first-child{background:var(--rank-current-color)}.rank-progress-points i:last-child{background:var(--rank-next-color);box-shadow:0 0 7px rgba(var(--rank-next-rgb),.25)}
.rank-progress-center small{display:block;margin-top:7px;color:rgba(194,204,198,.38);font-size:9px;line-height:1;font-weight:600;letter-spacing:.055em;text-transform:uppercase}
.sleep-recovery-panel{top:calc(var(--rank-strip-top) + var(--rank-strip-height) + var(--rank-to-sleep-gap))}
.home-avatar-screen.is-sleep-expanded .sleep-scroll-spacer{height:calc(100% + 320px + var(--lb-safe-bottom,0px));min-height:calc(100% + 320px + var(--lb-safe-bottom,0px))}
@media (max-height:760px){
  .home-avatar-screen{--rank-strip-top:64.2%;--rank-strip-height:62px}
  .rank-progress-strip{grid-template-columns:52px minmax(0,1fr) 52px}
  .rank-progress-edge strong{width:37px;height:37px;font-size:20px}
  .rank-progress-center{padding-top:15px}
  .home-avatar-screen.is-sleep-expanded .sleep-scroll-spacer{height:calc(100% + 295px + var(--lb-safe-bottom,0px));min-height:calc(100% + 295px + var(--lb-safe-bottom,0px))}
}
@media (max-width:360px){.rank-progress-strip{left:16px;right:16px;gap:6px}.rank-progress-edge span{font-size:7px}.rank-progress-center small{font-size:8px}}

.rank-progress-strip.is-terminal .rank-progress-edge--next span{visibility:hidden}
.rank-progress-strip.is-complete .rank-progress-marker{background:var(--rank-current-color);box-shadow:0 0 14px rgba(var(--rank-current-rgb),.82),0 0 3px rgba(255,255,255,.92)}
.rank-progress-strip.is-complete .rank-progress-center small{color:rgba(var(--rank-current-rgb),.72);letter-spacing:.08em}

html.reduce-motion .rank-progress-strip{transition:none}

/* Stage619 — Home group scale and Today productivity polish */
.today-content{
  position:relative;
  min-height:0;
}
.today-productivity-scene{
  --productivity-aqua:#58cbed;
  --productivity-green:#61d99a;
  position:relative;
  width:100%;
  height:221px;
  margin-top:-15px;
  isolation:isolate;
  opacity:1;
  transition:opacity .22s ease,filter .22s ease;
}
.today-productivity-scene.is-loading{
  opacity:.48;
  filter:saturate(.72);
}
.productivity-ambient{
  position:absolute;
  z-index:-2;
  left:50%;
  top:46%;
  width:190px;
  height:171px;
  border-radius:50%;
  pointer-events:none;
  transform:translate3d(-50%,-50%,0);
  background:
    radial-gradient(circle at 46% 42%,rgba(73,210,161,.085),transparent 42%),
    radial-gradient(circle at 62% 58%,rgba(75,185,231,.07),transparent 53%);
  filter:blur(12px);
}
.productivity-ring{
  position:absolute;
  z-index:2;
  left:50%;
  top:48%;
  display:grid;
  place-items:center;
  width:141px;
  height:141px;
  border-radius:50%;
  transform:translate3d(-50%,-50%,0);
}
.productivity-ring::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:50%;
  background:
    radial-gradient(circle at 38% 27%,rgba(255,255,255,.052),transparent 32%),
    radial-gradient(circle at 50% 55%,rgba(18,46,38,.18),rgba(1,4,4,.10) 68%,transparent 70%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 44px rgba(0,0,0,.34);
}
.productivity-ring-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  transform:rotate(-90deg);
}
.productivity-ring-track,.productivity-ring-halo,.productivity-ring-value{
  fill:none;
  stroke-linecap:round;
}
.productivity-ring-track{
  stroke:rgba(220,235,230,.07);
  stroke-width:7;
}
.productivity-ring-halo{
  stroke:rgba(85,211,167,.06);
  stroke-width:12;
  filter:blur(5px);
}
.productivity-ring-value{
  --productivity-progress:0;
  stroke:url(#todayProductivityGradient);
  stroke-width:7;
  stroke-dasharray:100;
  stroke-dashoffset:calc(100 - var(--productivity-progress));
  filter:url(#todayProductivityGlow);
}
.productivity-ring-copy{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  pointer-events:none;
}
.productivity-ring-copy strong{
  display:flex;
  align-items:center;
  color:rgba(250,253,252,.98);
  font-family:"Avenir Next",Avenir,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:30.4px;
  font-weight:680;
  line-height:.95;
  letter-spacing:-1.44px;
  text-shadow:0 4px 18px rgba(0,0,0,.34);
}
.productivity-ring-copy strong em{
  margin:0 0 0 2px;
  color:rgba(242,249,246,.88);
  font-size:15px;
  font-style:normal;
  font-weight:650;
  letter-spacing:-.2px;
}
.productivity-bubble{
  position:absolute;
  z-index:4;
  display:block;
  width:66px;
  height:66px;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  overflow:hidden;
  color:rgba(245,251,249,.91);
  text-align:center;
  background:
    radial-gradient(circle at 31% 20%,rgba(255,255,255,.19),transparent 27%),
    radial-gradient(circle at 69% 76%,rgba(0,0,0,.34),transparent 55%),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 46%,rgba(9,20,18,.16));
  box-shadow:
    0 20px 42px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 1px 0 0 rgba(255,255,255,.055),
    inset 0 -12px 24px rgba(0,0,0,.20);
  -webkit-backdrop-filter:blur(9px) saturate(128%);
  backdrop-filter:blur(9px) saturate(128%);
  transform:translate3d(0,0,0);
  will-change:transform;
}
.productivity-bubble::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:inherit;
  pointer-events:none;
}
.productivity-bubble-shine{
  position:absolute;
  left:14px;
  top:10px;
  width:23px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));
  filter:blur(.4px);
  opacity:.72;
  transform:rotate(-18deg);
}
.productivity-bubble-content{
  position:absolute;
  z-index:1;
  inset:0;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  pointer-events:none;
}
.productivity-bubble-content svg{
  display:block;
  width:14px;
  height:14px;
  margin:0 auto 2px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.88;
}
.productivity-bubble-content>span{
  color:rgba(221,231,228,.62);
  font-size:6px;
  font-weight:640;
  line-height:1.1;
}
.productivity-bubble-content strong{
  margin-top:3px;
  font-size:13px;
  font-weight:680;
  line-height:1;
  letter-spacing:-.2px;
}
.productivity-bubble-content strong b{font:inherit}
.productivity-bubble--tasks{
  left:42px;
  top:45px;
  color:#72cff3;
  border-color:rgba(91,194,235,.18);
  box-shadow:0 20px 42px rgba(0,0,0,.38),0 0 26px rgba(65,166,209,.07),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -12px 24px rgba(0,0,0,.20);
  animation:productivityFloatTasks 7.48s ease-in-out infinite;
}
.productivity-bubble--habits{
  right:39px;
  top:70px;
  color:#72e0a6;
  border-color:rgba(91,217,148,.18);
  box-shadow:0 20px 42px rgba(0,0,0,.38),0 0 26px rgba(63,196,126,.07),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -12px 24px rgba(0,0,0,.20);
  animation:productivityFloatHabits 8.17s ease-in-out -2.1s infinite;
}
.productivity-bubble--goals{
  left:calc(50% - 9px);
  bottom:-7px;
  width:62px;
  height:62px;
  color:rgba(222,239,246,.92);
  border-color:rgba(170,214,231,.15);
  transform:translate3d(-50%,0,0);
  animation:productivityFloatGoals 8.87s ease-in-out -4.3s infinite;
}
.productivity-bubble.is-updated .productivity-bubble-content{
  animation:productivityBubbleUpdate .42s cubic-bezier(.2,.82,.28,1);
}
@keyframes productivityFloatTasks{
  0%,100%{transform:translate3d(0,.92px,0)}
  35%{transform:translate3d(3.68px,-2.76px,0)}
  70%{transform:translate3d(-1.84px,2.76px,0)}
}
@keyframes productivityFloatHabits{
  0%,100%{transform:translate3d(0,-.92px,0)}
  38%{transform:translate3d(-3.68px,2.76px,0)}
  72%{transform:translate3d(1.84px,-2.76px,0)}
}
@keyframes productivityFloatGoals{
  0%,100%{transform:translate3d(-50%,0,0)}
  40%{transform:translate3d(calc(-50% + 2.76px),-3.68px,0)}
  72%{transform:translate3d(calc(-50% - 2.76px),1.84px,0)}
}
@keyframes productivityBubbleUpdate{
  0%{filter:brightness(1);}
  46%{filter:brightness(1.18);}
  100%{filter:brightness(1);}
}
@media (max-height:700px){
  .today-productivity-scene{height:186px;margin-top:-23px}
  .productivity-ring{top:46%;width:120px;height:120px}
  .productivity-bubble{width:58px;height:58px}
  .productivity-bubble--tasks,.productivity-bubble--habits{top:38px}
  .productivity-bubble--goals{width:54px;height:54px}
  .productivity-ring-copy strong{font-size:26.4px}
}
@media (prefers-reduced-motion:reduce){
  .productivity-bubble{animation:none!important}
  .today-productivity-scene,.productivity-ring-value{transition:none!important}
}
html.reduce-motion .productivity-bubble{animation:none!important}


/* Stage626 — Today action panel */
.today-action-panel{
  position:relative;
  display:flex;
  min-height:0;
  height:auto;
  margin-top:6px;
  margin-bottom:18px;
  border:0;
  border-radius:0;
  overflow:visible;
  flex-direction:column;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}
.today-action-panel::before{
  content:none;
}
.today-action-tabs{
  --today-tab-index:0;
  position:relative;
  display:grid;
  flex:0 0 42px;
  margin:8px 0 10px;
  padding:0 3px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:16px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:
    linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.012)),
    rgba(7,10,11,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 12px 28px rgba(0,0,0,.20);
}
.today-action-tab-indicator{
  position:absolute;
  z-index:0;
  left:calc(3px + ((100% - 6px) / 3) * .20);
  bottom:3px;
  width:calc(((100% - 6px) / 3) * .60);
  height:2px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(77,204,236,.78),rgba(92,221,153,.88));
  box-shadow:0 0 12px rgba(81,211,173,.16);
  transform:translate3d(calc(var(--today-tab-index) * 166.6667%),0,0);
  transition:transform .24s cubic-bezier(.22,.82,.28,1);
}
.today-action-tabs button{
  position:relative;
  z-index:1;
  display:flex;
  min-width:0;
  height:100%;
  padding:0 4px 2px;
  border:0;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:rgba(204,211,209,.48);
  font-size:12px;
  font-weight:640;
  line-height:1;
  text-align:center;
  transition:color .18s ease;
}
.today-action-tabs button.is-active{
  color:rgba(247,251,249,.95);
}
.today-action-viewport{
  position:relative;
  min-height:0;
  padding:0;
  overflow:visible;
  flex:0 0 auto;
  touch-action:pan-y;
}
.today-action-list{
  position:relative;
  min-height:0;
  transition:opacity .11s ease,transform .16s cubic-bezier(.22,.82,.28,1);
}


.today-action-list.is-switching-out{
  opacity:0;
  transform:translate3d(0,-5px,0);
}
.today-action-list.is-switching-in{
  animation:todayActionListIn .18s cubic-bezier(.22,.82,.28,1);
}
@keyframes todayActionListIn{
  from{opacity:0;transform:translate3d(0,6px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
.today-action-row{
  position:relative;
  min-height:70px;
  border-bottom:1px solid rgba(91,184,210,.085);
  overflow:hidden;
  border-radius:0;
}
.today-action-row:last-child{border-bottom:0}
.today-action-row.is-pending{opacity:.48;pointer-events:none}
.today-action-delete{
  position:absolute;
  z-index:0;
  top:9px;
  right:0;
  bottom:9px;
  display:grid;
  width:60px;
  padding:0;
  border:1px solid rgba(237,94,116,.16);
  border-radius:16px;
  place-items:center;
  color:rgba(244,116,136,.90);
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.05),transparent 36%),
    linear-gradient(145deg,rgba(96,24,39,.34),rgba(28,9,14,.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 8px 20px rgba(0,0,0,.22);
  opacity:1;
  visibility:visible;
  transform:none;
  transition:transform .14s ease,filter .14s ease;
  overflow:hidden;
}
.today-action-delete:disabled{
  opacity:.28;
}
.today-action-delete svg{
  width:22px;
  height:22px;
  fill:currentColor;
  stroke:none;
  opacity:.98;
  transform:none;
  transition:transform .14s ease,opacity .14s ease;
}
.today-action-delete:active{
  transform:scale(.95);
  filter:brightness(1.08);
}
.today-action-delete:active svg{
  transform:scale(.88);
}








.today-action-row-content{
  position:relative;
  z-index:1;
  display:grid;
  min-height:70px;
  padding:11px 4px;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  background:var(--bg);
  transform:translate3d(0,0,0);
  transition:transform .50s cubic-bezier(.20,.82,.24,1);
  will-change:transform;
  touch-action:pan-y;
  cursor:pointer;
}
.today-action-row-content::before{
  content:"";
  position:absolute;
  z-index:0;
  left:33px;
  top:0;
  bottom:0;
  width:1px;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(94,195,228,.08),
    rgba(94,195,228,.26) 44%,
    rgba(91,211,163,.22) 72%,
    rgba(91,211,163,.08)
  );
  box-shadow:0 0 7px rgba(78,198,185,.08);
  transform:translateX(-.5px);
}
.today-action-row:first-child .today-action-row-content::before{
  top:50%;
}
.today-action-row:last-child .today-action-row-content::before{
  bottom:50%;
}
.today-action-row:first-child:last-child .today-action-row-content::before{
  top:50%;
  bottom:50%;
}
.today-action-copy,
.today-action-reward{
  position:relative;
  z-index:1;
}

.today-action-row.is-swipe-open .today-action-row-content{
  transform:translate3d(-60px,0,0);
}
.today-action-check{
  --check-accent:104,201,239;
  position:relative;
  z-index:2;
  display:grid;
  width:38px;
  height:38px;
  margin-left:10px;
  padding:0;
  border:0;
  border-radius:50%;
  place-items:center;
  background:var(--bg);
  color:rgb(var(--check-accent));
  transition:transform .22s cubic-bezier(.22,.82,.28,1),opacity .18s ease;
}
.today-action-check--task{
  --check-accent:104,201,239;
}
.today-action-check--habit{
  --check-accent:99,219,157;
}
.today-action-check--goal{
  --check-accent:224,235,239;
}
.today-action-check:active:not(:disabled){
  transform:none;
}
.today-action-check:disabled{
  cursor:default;
}
.today-action-check-circle{
  position:absolute;
  inset:1px;
  display:grid;
  border:1.5px solid rgba(var(--check-accent),.62);
  border-radius:50%;
  place-items:center;
  background:var(--bg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 0 0 1px rgba(var(--check-accent),.025),
    0 0 12px rgba(var(--check-accent),.035);
  transition:
    border-color .5s cubic-bezier(.22,.82,.28,1),
    background .5s cubic-bezier(.22,.82,.28,1),
    box-shadow .5s cubic-bezier(.22,.82,.28,1),
    transform .5s cubic-bezier(.22,.82,.28,1);
}
.today-action-checkmark{
  width:19px;
  height:19px;
  fill:none;
  stroke:rgba(255,255,255,.96);
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:22;
  stroke-dashoffset:22;
  opacity:0;
  transform:scale(.72);
  transition:
    stroke-dashoffset .5s cubic-bezier(.22,.82,.28,1),
    opacity .18s ease,
    transform .5s cubic-bezier(.22,.82,.28,1);
}
.today-action-check.is-done{
  transform:scale(1);
}
.today-action-check.is-done .today-action-check-circle{
  border-color:rgba(var(--check-accent),.92);
  background:linear-gradient(
    145deg,
    rgba(var(--check-accent),.72),
    rgba(var(--check-accent),.36)
  );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 18px rgba(var(--check-accent),.12);
  transform:scale(1.035);
}
.today-action-check.is-done .today-action-checkmark{
  stroke-dashoffset:0;
  opacity:1;
  transform:scale(1);
}
.today-action-copy{
  min-width:0;
}
.today-action-copy strong{
  position:relative;
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  color:rgba(242,247,245,.91);
  font-size:13.5px;
  font-weight:640;
  line-height:1.18;
  letter-spacing:-.012em;
  text-overflow:ellipsis;
  white-space:nowrap;
  transition:color .34s ease;
}
.today-action-copy strong::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:52%;
  height:1.2px;
  border-radius:999px;
  background:rgba(224,232,229,.58);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,.82,.28,1) .5s;
}

.today-action-copy span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:rgba(183,193,190,.43);
  font-size:9.5px;
  font-weight:560;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.today-action-row.is-done .today-action-copy strong{
  color:rgba(213,222,218,.50);
  text-decoration:none;
}
.today-action-row.is-done .today-action-copy strong::after{
  transform:scaleX(1);
}
.today-action-row.is-completing .today-action-check-circle{
  border-color:rgba(var(--check-accent),.92);
  background:linear-gradient(
    145deg,
    rgba(var(--check-accent),.72),
    rgba(var(--check-accent),.36)
  );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 18px rgba(var(--check-accent),.12);
  transform:scale(1.035);
}
.today-action-row.is-completing .today-action-checkmark{
  stroke-dashoffset:0;
  opacity:1;
  transform:scale(1);
}
.today-action-row.is-completing .today-action-copy strong{
  color:rgba(242,247,245,.91);
  animation:todayActionTitleDim .22s ease .5s forwards;
}
.today-action-row.is-completing .today-action-copy strong::after{
  transform:scaleX(1);
}
.today-action-row.is-completing .today-action-reward{
  opacity:.48;
}

.today-action-row.is-done:not(.is-completing) .today-action-check-circle,
.today-action-row.is-done:not(.is-completing) .today-action-checkmark,
.today-action-row.is-done:not(.is-completing) .today-action-copy strong::after{
  transition:none;
}


.today-action-reward{
  padding-left:8px;
  color:rgba(181,188,186,.56);
  font-size:13.5px;
  font-weight:620;
  line-height:1;
  letter-spacing:-.015em;
  white-space:nowrap;
  transition:opacity .25s ease,color .25s ease;
}
.today-action-row.is-done .today-action-reward{opacity:.48}
.today-action-add{
  --add-accent:99,219,157;
  display:flex;
  flex:0 0 50px;
  width:100%;
  margin:12px 0 0;
  padding:0 16px;
  border:1px solid rgba(var(--add-accent),.14);
  border-radius:17px;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:rgba(var(--add-accent),.72);
  background:
    radial-gradient(circle at 50% 0%,rgba(var(--add-accent),.05),transparent 58%),
    linear-gradient(180deg,rgba(var(--add-accent),.026),rgba(255,255,255,.008)),
    rgba(5,8,8,.38);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 10px 22px rgba(0,0,0,.16);
  font-size:11px;
  font-weight:620;
  letter-spacing:.012em;
  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .14s ease;
}
.today-action-add span{
  font-size:13px;
  font-weight:400;
  transform:translateY(-.5px);
}
.today-action-add b{font:inherit}
.today-action-add[data-variant="task"]{
  --add-accent:104,201,239;
}
.today-action-add[data-variant="habit"]{
  --add-accent:99,219,157;
}
.today-action-add[data-variant="goal"]{
  --add-accent:224,235,239;
}
.today-action-add:active{
  transform:scale(.985);
  border-color:rgba(var(--add-accent),.24);
  color:rgba(var(--add-accent),.90);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 8px 18px rgba(var(--add-accent),.055);
}
.today-action-add[hidden]{display:none}
.today-action-empty{
  display:flex;
  min-height:92px;
  padding:14px 20px;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.today-action-loading{
  display:flex;
  min-height:112px;
  padding:16px 20px;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.today-action-empty>span{
  display:grid;
  width:29px;
  height:29px;
  margin-bottom:7px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  place-items:center;
  color:rgba(119,205,169,.48);
}
.today-action-empty svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.today-action-empty strong{
  color:rgba(221,229,226,.57);
  font-size:10.5px;
  font-weight:620;
}
.today-action-empty small{
  display:none;
}
.today-action-loading small{
  max-width:230px;
  margin-top:4px;
  color:rgba(172,183,179,.34);
  font-size:8px;
  line-height:1.35;
}
.today-action-loading span{
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.08);
  border-top-color:rgba(102,211,158,.62);
  border-radius:50%;
  animation:todayActionSpin .8s linear infinite;
}
@keyframes todayActionTitleDim{
  from{color:rgba(242,247,245,.91)}
  to{color:rgba(213,222,218,.50)}
}
@keyframes todayActionSpin{to{transform:rotate(360deg)}}
.today-action-list.is-swiping{user-select:none;-webkit-user-select:none}

@media (max-height:700px){
  .today-action-panel{
    min-height:0;
    height:auto;
    margin-top:2px;
    border-radius:21px;
  }
  .today-action-tabs{flex-basis:44px;margin-top:7px}
  .today-action-row,.today-action-row-content{min-height:64px}
  .today-action-add{flex-basis:46px}
}
@media (prefers-reduced-motion:reduce){
  .today-action-tab-indicator,
  .today-action-list,
  .today-action-row-content{transition:none!important;animation:none!important}
}
html.reduce-motion .today-action-tab-indicator,
html.reduce-motion .today-action-list,
html.reduce-motion .today-action-row-content{transition:none!important;animation:none!important}


/* Stage633 — neutral native create dialog */
.today-native-dialog{
  width:min(calc(100% - 28px),430px);
  max-width:430px;
  max-height:min(76dvh,620px);
  margin:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  overflow:hidden;
  color:#f3f4f4;
  background:rgba(24,25,27,.985);
  box-shadow:0 28px 80px rgba(0,0,0,.62);
  color-scheme:dark;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}
.today-native-dialog::backdrop{
  background:rgba(0,0,0,.56);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
.today-native-dialog[open]{
  animation:todayNativeDialogIn .18s cubic-bezier(.22,.82,.28,1);
}
@keyframes todayNativeDialogIn{
  from{opacity:0;transform:translate3d(0,8px,0) scale(.985)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
.today-native-dialog-form{
  display:grid;
  gap:18px;
  padding:18px;
}
.today-native-dialog-header{
  display:flex;
  min-width:0;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.today-native-dialog-header small{
  display:block;
  margin-bottom:4px;
  color:rgba(220,225,224,.52);
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  text-transform:capitalize;
}
.today-native-dialog-header h2{
  margin:0;
  color:#f4f5f5;
  font-size:21px;
  font-weight:650;
  line-height:1.15;
  letter-spacing:-.025em;
}
.today-native-dialog-close{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  padding:0 0 2px;
  border:0;
  border-radius:50%;
  place-items:center;
  color:rgba(239,241,241,.66);
  background:rgba(255,255,255,.075);
  font:400 22px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.today-native-dialog-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.today-native-field{
  display:grid;
  min-width:0;
  gap:7px;
}
.today-native-field>span{
  color:rgba(224,228,227,.64);
  font-size:11px;
  font-weight:520;
  line-height:1.2;
}
.today-native-field input,
.today-native-field select{
  width:100%;
  min-width:0;
  height:44px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  outline:none;
  color:#f2f3f3;
  background:rgba(255,255,255,.065);
  box-shadow:none;
  font:400 15px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  appearance:auto;
  -webkit-appearance:auto;
}
.today-native-field input::placeholder{
  color:rgba(220,225,224,.34);
}
.today-native-field input:focus,
.today-native-field select:focus{
  border-color:rgba(127,178,211,.58);
  background:rgba(255,255,255,.085);
}
.today-native-field--title input{
  height:48px;
  font-size:16px;
}
.today-native-dialog-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:2px;
}
.today-native-dialog-actions button{
  height:44px;
  padding:0 12px;
  border:0;
  border-radius:11px;
  color:#e9ebea;
  background:rgba(255,255,255,.08);
  font:600 14px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}
.today-native-dialog-actions button[type="submit"]{
  color:#071014;
  background:#78c9ef;
}
.today-native-dialog[data-kind="habit"] .today-native-dialog-actions button[type="submit"]{
  color:#06120d;
  background:#86d8ae;
}
.today-native-dialog[data-kind="goal"] .today-native-dialog-actions button[type="submit"]{
  color:#151719;
  background:#edf0f1;
}
.today-native-dialog-actions button:disabled{
  opacity:.48;
}
.today-native-dialog.is-submitting{
  pointer-events:none;
}
body.today-native-dialog-open{
  overflow:hidden;
}
@media (max-width:380px){
  .today-native-dialog-grid{
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion:reduce){
  .today-native-dialog[open]{
    animation:none;
  }
}


/* ==========================================================================
   Stage639 — Statistics Dashboard V1
   ========================================================================== */

.statistics-screen{
  --stats-green:99,219,157;
  --stats-blue:101,207,255;
  --stats-orange:255,160,72;
  padding-bottom:calc(var(--bottom-nav-height,88px) + 42px);
}
.statistics-topbar{
  margin-bottom:22px;
}
.statistics-dashboard{
  display:grid;
  gap:34px;
  padding:0 16px 28px;
  transition:opacity .2s ease;
}
.statistics-dashboard.is-loading{
  opacity:.42;
}
.statistics-loading{
  display:none;
  height:34px;
  margin:0 16px 8px;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.statistics-loading.is-visible{
  display:flex;
}
.statistics-loading span{
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(226,235,232,.48);
  animation:statsLoadingPulse .9s ease-in-out infinite;
}
.statistics-loading span:nth-child(2){animation-delay:.12s}
.statistics-loading span:nth-child(3){animation-delay:.24s}
@keyframes statsLoadingPulse{
  0%,100%{opacity:.22;transform:translateY(0)}
  50%{opacity:.9;transform:translateY(-3px)}
}

.stats-section{
  position:relative;
  min-width:0;
}
.stats-section + .stats-section{
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.055);
}
.stats-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.stats-section-head>div{
  min-width:0;
}
.stats-section-head span{
  display:block;
  margin-bottom:5px;
  color:rgba(205,216,212,.38);
  font-size:9px;
  font-weight:620;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.stats-section-head h2{
  margin:0;
  color:rgba(246,249,248,.96);
  font-size:19px;
  font-weight:650;
  line-height:1.08;
  letter-spacing:-.025em;
}
.stats-section-head>strong{
  flex:0 0 auto;
  color:rgb(var(--stats-green));
  font-size:23px;
  font-weight:690;
  letter-spacing:-.04em;
}
.stats-section-head>strong.is-blue{color:rgb(var(--stats-blue))}
.stats-section-head>strong.is-orange{color:rgb(var(--stats-orange))}
.stats-section-head>small{
  max-width:132px;
  overflow:hidden;
  color:rgba(215,225,222,.48);
  font-size:10px;
  font-weight:560;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.stats-week-chart{
  min-height:174px;
}
.stats-week-svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.stats-week-guide{
  stroke:rgba(255,255,255,.045);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.stats-week-area{
  fill:url(#statsWeekArea);
}
.stats-week-line{
  fill:none;
  stroke:rgb(var(--stats-green));
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#statsWeekGlow);
  vector-effect:non-scaling-stroke;
}
.stats-week-point-halo{
  fill:rgba(var(--stats-green),.11);
}
.stats-week-point-dot{
  fill:rgb(var(--stats-green));
  stroke:rgba(4,10,8,.92);
  stroke-width:1.5;
}
.stats-week-point.is-future{
  opacity:.22;
}
.stats-week-label{
  fill:rgba(204,214,211,.44);
  font-size:9px;
  font-weight:560;
}

.stats-month-heatmap{
  display:grid;
  gap:10px;
}
.stats-month-weekdays,
.stats-month-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}
.stats-month-weekdays span{
  color:rgba(204,214,211,.30);
  font-size:8px;
  font-weight:600;
  text-align:center;
  text-transform:uppercase;
}
.stats-month-blank{
  aspect-ratio:1;
}
.stats-heat-cell{
  display:block;
  aspect-ratio:1;
  border-radius:5px;
  border:1px solid rgba(255,255,255,.03);
  background:rgba(255,255,255,.025);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.stats-heat-cell.tone-blue.level-1{background:rgba(var(--stats-blue),.10);border-color:rgba(var(--stats-blue),.08)}
.stats-heat-cell.tone-blue.level-2{background:rgba(var(--stats-blue),.23);border-color:rgba(var(--stats-blue),.14)}
.stats-heat-cell.tone-blue.level-3{background:rgba(var(--stats-blue),.48);border-color:rgba(var(--stats-blue),.28);box-shadow:0 0 12px rgba(var(--stats-blue),.055)}
.stats-heat-cell.tone-blue.level-4{background:rgba(var(--stats-blue),.82);border-color:rgba(var(--stats-blue),.56);box-shadow:0 0 14px rgba(var(--stats-blue),.11)}
.stats-heat-cell.tone-orange.level-1{background:rgba(var(--stats-orange),.10);border-color:rgba(var(--stats-orange),.08)}
.stats-heat-cell.tone-orange.level-2{background:rgba(var(--stats-orange),.22);border-color:rgba(var(--stats-orange),.13)}
.stats-heat-cell.tone-orange.level-3{background:rgba(var(--stats-orange),.46);border-color:rgba(var(--stats-orange),.25)}
.stats-heat-cell.tone-orange.level-4{background:rgba(var(--stats-orange),.82);border-color:rgba(var(--stats-orange),.50);box-shadow:0 0 11px rgba(var(--stats-orange),.09)}
.stats-heat-cell.is-future{
  opacity:.20;
}
.stats-heat-cell.is-neutral:not(.is-future){
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.025);
}

.stats-legend{
  display:flex;
  margin-top:12px;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  color:rgba(201,211,208,.30);
  font-size:7px;
}
.stats-legend i{
  display:block;
  width:9px;
  height:9px;
  border-radius:2px;
  background:rgba(255,255,255,.03);
}
.stats-legend--blue i.level-1{background:rgba(var(--stats-blue),.10)}
.stats-legend--blue i.level-2{background:rgba(var(--stats-blue),.23)}
.stats-legend--blue i.level-3{background:rgba(var(--stats-blue),.48)}
.stats-legend--blue i.level-4{background:rgba(var(--stats-blue),.82)}
.stats-legend--orange i.level-1{background:rgba(var(--stats-orange),.10)}
.stats-legend--orange i.level-2{background:rgba(var(--stats-orange),.22)}
.stats-legend--orange i.level-3{background:rgba(var(--stats-orange),.46)}
.stats-legend--orange i.level-4{background:rgba(var(--stats-orange),.82)}

.stats-radar{
  min-height:274px;
}
.stats-radar-svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.stats-radar-ring{
  fill:none;
  stroke:rgba(255,255,255,.07);
  stroke-width:1;
}
.stats-radar-axis{
  stroke:rgba(255,255,255,.055);
  stroke-width:1;
}
.stats-radar-value{
  fill:url(#statsRadarFill);
  stroke:rgba(var(--stats-blue),.72);
  stroke-width:1.5;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(var(--stats-blue),.08));
}
.stats-radar-label{
  fill:rgba(220,228,225,.54);
  font-size:8.5px;
  font-weight:560;
}

.stats-metrics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:0;
}
.stats-metric{
  min-width:0;
  padding:15px 0 14px;
  border-bottom:1px solid rgba(255,255,255,.048);
}
.stats-metric:nth-last-child(-n+2){
  border-bottom:0;
}
.stats-metric strong{
  display:block;
  overflow:hidden;
  color:rgba(244,248,246,.93);
  font-size:17px;
  font-weight:650;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.stats-metric span{
  display:block;
  margin-top:5px;
  color:rgba(200,211,207,.34);
  font-size:8.5px;
  font-weight:560;
  letter-spacing:.025em;
}

.stats-year-shell{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:7px;
  align-items:start;
}
.stats-year-days{
  display:grid;
  grid-template-rows:repeat(7,9px);
  row-gap:4px;
  padding-top:1px;
}
.stats-year-days span{
  display:flex;
  align-items:center;
  color:rgba(203,213,210,.25);
  font-size:6px;
}
.stats-year-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 0 7px;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.stats-year-scroll::-webkit-scrollbar{display:none}
.stats-year-grid{
  display:grid;
  width:max-content;
  grid-template-columns:repeat(53,9px);
  grid-template-rows:repeat(7,9px);
  grid-auto-flow:column;
  gap:4px;
}
.stats-year-grid .stats-heat-cell{
  width:9px;
  height:9px;
  aspect-ratio:auto;
  border-radius:2px;
}

@media (max-width:380px){
  .statistics-dashboard{padding-left:14px;padding-right:14px}
  .stats-month-weekdays,.stats-month-grid{gap:6px}
  .stats-section-head h2{font-size:18px}
  .stats-section-head>strong{font-size:21px}
  .stats-metrics-grid{column-gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .statistics-loading span{animation:none}
  .statistics-dashboard{transition:none}
}


/* ==========================================================================
   Stage640 — Statistics refresh + header parity + compact charts
   ========================================================================== */

.statistics-screen{
  padding-left:0;
  padding-right:0;
}

.statistics-topbar{
  margin:
    calc(var(--lb-primary-screen-content-top) - 18px)
    24px
    22px;
  padding:0;
}

.statistics-topbar .eyebrow{
  margin:0 0 4px;
  color:rgba(220,225,223,.54);
  font-family:var(--lb-screen-title-family);
  font-size:var(--lb-screen-subtitle-size,14px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:0;
  text-transform:none;
}

.statistics-topbar h1{
  margin:0;
  color:rgba(249,250,250,.98);
  font-family:var(--lb-screen-title-family);
  font-size:var(--lb-screen-title-size);
  font-weight:700;
  line-height:var(--lb-screen-title-line-height,1.05);
  letter-spacing:-.028em;
}

.statistics-dashboard{
  gap:28px;
  padding:0 24px 28px;
}

.stats-week-chart{
  min-height:124px;
}

.stats-month-heatmap{
  width:max-content;
  max-width:100%;
  gap:7px;
}

.stats-month-weekdays,
.stats-month-grid{
  grid-template-columns:repeat(7,15px);
  gap:5px;
  justify-content:start;
}

.stats-month-weekdays span{
  width:15px;
  font-size:6.5px;
}

.stats-month-grid .stats-heat-cell,
.stats-month-blank{
  width:15px;
  height:15px;
  aspect-ratio:auto;
  border-radius:3px;
}

.stats-section--month .stats-legend{
  justify-content:flex-start;
  margin-top:10px;
}

.stats-year-grid{
  grid-template-columns:repeat(var(--stats-year-weeks,53),9px);
}

@media (max-width:380px){
  .statistics-topbar{
    margin-left:22px;
    margin-right:22px;
  }
  .statistics-dashboard{
    padding-left:22px;
    padding-right:22px;
  }
  .stats-month-weekdays,
  .stats-month-grid{
    grid-template-columns:repeat(7,14px);
    gap:5px;
  }
  .stats-month-weekdays span,
  .stats-month-grid .stats-heat-cell,
  .stats-month-blank{
    width:14px;
    height:14px;
  }
}


/* ==========================================================================
   Stage641 — Statistics visual polish
   ========================================================================== */

/* Same horizontal content geometry as Today. */
.statistics-screen{
  padding-left:calc(var(--lb-safe-left) + 24px);
  padding-right:calc(var(--lb-safe-right) + 24px);
}

/* Header mirrors Today 1:1 in geometry and typography. */
.statistics-header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  margin:var(--lb-main-screen-top) 0 0;
  padding:0;
}

.statistics-caption,
.statistics-title{
  text-align:left;
}

.statistics-caption{
  display:flex;
  align-items:baseline;
  min-width:0;
  margin:0;
  color:rgba(203,211,207,.68);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.018em;
  white-space:nowrap;
}

.statistics-title{
  margin:3px 0 0;
  color:rgba(248,251,249,.98);
  font-family:var(--lb-screen-title-family) !important;
  font-size:var(--lb-screen-title-size) !important;
  font-style:normal !important;
  font-weight:var(--lb-screen-title-weight) !important;
  font-stretch:normal !important;
  font-variant:normal !important;
  font-synthesis:none;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
  line-height:var(--lb-screen-title-line-height) !important;
  letter-spacing:var(--lb-screen-title-letter-spacing) !important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}

.statistics-dashboard{
  gap:28px;
  padding:22px 0 28px;
}

/* Weekly analytics: taller plot, thinner line, restrained glow and proper Y axis. */
.stats-week-chart{
  width:100%;
  min-height:164px;
}

.stats-week-svg{
  width:100%;
  max-width:none;
}

.stats-week-guide{
  stroke:rgba(255,255,255,.055);
  stroke-width:.75;
}

.stats-week-line{
  stroke:rgba(var(--stats-green),.94);
  stroke-width:1.55;
  filter:none;
}

.stats-week-area{
  fill:url(#statsWeekArea);
}

.stats-week-point-halo{
  fill:rgba(var(--stats-green),.075);
}

.stats-week-point-dot{
  fill:rgb(var(--stats-green));
  stroke:rgba(3,8,7,.96);
  stroke-width:1.15;
}

.stats-week-label{
  fill:rgba(204,214,211,.48);
  font-size:8.5px;
  font-weight:560;
}

.stats-week-y-label{
  fill:rgba(204,214,211,.28);
  font-size:7px;
  font-weight:540;
}

/* Month: full-width composition without oversized cells. */
.stats-month-heatmap{
  width:100%;
  max-width:none;
  gap:9px;
}

.stats-month-weekdays,
.stats-month-grid{
  width:100%;
  grid-template-columns:repeat(7,32px);
  column-gap:0;
  row-gap:8px;
  justify-content:space-between;
}

.stats-month-weekdays span{
  width:32px;
  color:rgba(204,214,211,.32);
  font-size:7px;
}

.stats-month-grid .stats-heat-cell,
.stats-month-blank{
  width:32px;
  height:32px;
  aspect-ratio:auto;
  border-radius:5px;
}

.stats-section--month .stats-legend{
  justify-content:flex-end;
  margin-top:11px;
}

/* Radar gets room for six persistent labels. */
.stats-radar{
  min-height:300px;
}

.stats-radar-label{
  fill:rgba(220,228,225,.54);
  font-size:8.2px;
  font-weight:560;
}

@media (max-width:380px){
  .statistics-screen{
    padding-left:calc(var(--lb-safe-left) + 22px);
    padding-right:calc(var(--lb-safe-right) + 22px);
  }

  .stats-month-weekdays,
  .stats-month-grid{
    grid-template-columns:repeat(7,29px);
    row-gap:7px;
  }

  .stats-month-weekdays span,
  .stats-month-grid .stats-heat-cell,
  .stats-month-blank{
    width:29px;
    height:29px;
  }
}


/* ==========================================================================
   Stage642 — Interactive analytics visual system
   ========================================================================== */

/* Week: equal breathing room around both axes, white analytical series. */
.stats-week-chart{
  min-height:176px;
  touch-action:pan-y;
}

.stats-week-svg{
  display:block;
  width:100%;
  overflow:visible;
}

.stats-week-guide{
  stroke:rgba(255,255,255,.052);
  stroke-width:.72;
}

.stats-week-line-glow{
  fill:none;
  stroke:rgba(255,255,255,.46);
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#statsWeekWhiteGlow);
  opacity:.34;
  vector-effect:non-scaling-stroke;
}

.stats-week-line{
  fill:none;
  stroke:rgba(249,251,250,.96);
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.stats-week-area{
  fill:url(#statsWeekAreaWhite);
  opacity:.72;
}

.stats-week-point{
  opacity:1;
  transition:opacity .18s ease, transform .18s ease;
  transform-box:fill-box;
  transform-origin:center;
}

.stats-week-point.is-future{
  opacity:.45;
}

.stats-week-point-halo{
  fill:rgba(255,255,255,.075);
}

.stats-week-point-dot{
  fill:#fff;
  stroke:rgba(4,7,6,.98);
  stroke-width:.72;
}

.stats-week-point.is-selected{
  transform:scale(1.15);
}

.stats-week-label,
.stats-week-y-label{
  fill:rgba(204,214,211,.42);
  font-weight:540;
}

.stats-week-label{
  font-size:8.5px;
}

.stats-week-y-label{
  font-size:7px;
}

.stats-week-cursor{
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease;
}

.stats-week-cursor.is-visible{
  opacity:1;
}

.stats-week-cursor-line{
  stroke:rgba(255,255,255,.23);
  stroke-width:.85;
  stroke-dasharray:2.4 3.2;
  vector-effect:non-scaling-stroke;
}

.stats-week-cursor-halo{
  fill:rgba(255,255,255,.10);
}

.stats-week-cursor-dot{
  fill:#fff;
  stroke:rgba(5,7,7,.94);
  stroke-width:1.15;
}

.stats-week-hit-area{
  fill:transparent;
  pointer-events:all;
  cursor:crosshair;
  touch-action:none;
}

/* Entrance: line draws left-to-right, glow/area/dots appear as one calm wave. */
.stats-week-svg .stats-week-line,
.stats-week-svg .stats-week-line-glow{
  stroke-dasharray:1000;
  stroke-dashoffset:0;
  transition:stroke-dashoffset .72s cubic-bezier(.22,.7,.25,1);
}

.stats-week-svg .stats-week-area{
  transition:opacity .5s ease .28s;
}

.stats-week-svg .stats-week-point{
  transition:
    opacity .28s ease .38s,
    transform .18s ease;
}

.stats-week-svg.is-entering .stats-week-line,
.stats-week-svg.is-entering .stats-week-line-glow{
  stroke-dashoffset:1000;
}

.stats-week-svg.is-entering .stats-week-area,
.stats-week-svg.is-entering .stats-week-point{
  opacity:0;
}

/* Month: 30/31 chronological days in three compact rows, red intensity scale. */
.stats-month-heatmap{
  width:100%;
}

.stats-month-compact-shell{
  width:100%;
  overflow:hidden;
  padding:2px 0 1px;
}

.stats-month-compact-grid{
  display:grid;
  width:100%;
  grid-template-columns:repeat(var(--stats-month-columns,11), minmax(0,1fr));
  grid-template-rows:repeat(3,22px);
  column-gap:7px;
  row-gap:7px;
}

.stats-month-compact-grid .stats-heat-cell{
  width:100%;
  height:22px;
  aspect-ratio:auto;
  border-radius:4px;
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.026);
}

.stats-heat-cell.tone-red.level-1{
  background:rgba(255,71,71,.11);
  border-color:rgba(255,71,71,.10);
}
.stats-heat-cell.tone-red.level-2{
  background:rgba(255,71,71,.27);
  border-color:rgba(255,71,71,.18);
}
.stats-heat-cell.tone-red.level-3{
  background:rgba(255,71,71,.53);
  border-color:rgba(255,91,91,.30);
  box-shadow:0 0 9px rgba(255,58,58,.05);
}
.stats-heat-cell.tone-red.level-4{
  background:rgba(255,65,65,.88);
  border-color:rgba(255,106,106,.52);
  box-shadow:0 0 11px rgba(255,58,58,.10);
}

.stats-section--month .stats-legend{
  justify-content:flex-end;
}

.stats-section--month .stats-legend i.level-1{background:rgba(255,71,71,.11)}
.stats-section--month .stats-legend i.level-2{background:rgba(255,71,71,.27)}
.stats-section--month .stats-legend i.level-3{background:rgba(255,71,71,.53)}
.stats-section--month .stats-legend i.level-4{background:rgba(255,65,65,.88)}

/* Radar: reference-style muted labels, scores below and clear vertex markers.
   The SVG itself is 10px shorter, so no negative section margin is needed. */
.stats-radar{
  min-height:304px;
}

.stats-radar-ring{
  stroke:rgba(255,255,255,.075);
  stroke-width:.82;
}

.stats-radar-axis{
  stroke:rgba(255,255,255,.055);
  stroke-width:.75;
}

.stats-radar-value{
  fill:url(#statsRadarFill);
  stroke:rgba(113,207,255,.83);
  stroke-width:1.35;
  stroke-linejoin:round;
  filter:none;
}

.stats-radar-vertex{
  fill:rgba(113,207,255,.96);
  stroke:rgba(5,8,9,.95);
  stroke-width:1.05;
}

.stats-radar-label{
  fill:rgba(205,213,210,.46);
  font-size:8.1px;
  font-weight:560;
}

.stats-radar-score{
  fill:rgba(238,242,241,.82);
  font-size:8.4px;
  font-weight:690;
}

@media (max-width:380px){
  .stats-month-compact-grid{
    grid-template-rows:repeat(3,20px);
    column-gap:6px;
    row-gap:6px;
  }
  .stats-month-compact-grid .stats-heat-cell{
    height:20px;
  }
}

@media (prefers-reduced-motion:reduce){
  .stats-week-svg .stats-week-line,
  .stats-week-svg .stats-week-line-glow,
  .stats-week-svg .stats-week-area,
  .stats-week-svg .stats-week-point{
    transition:none;
  }
}


/* ==========================================================================
   Stage643 — Statistics smooth entry + percentage hierarchy
   ========================================================================== */

/* Never flash the statistics loader/dim state during normal refresh. */
.statistics-loading{
  display:none !important;
}
.statistics-dashboard.is-loading{
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Weekly and monthly headline percentages: 30% smaller than the 23px base. */
.stats-section--week .stats-section-head > strong{
  color:rgba(248,250,250,.94) !important;
  font-size:16px !important;
}

.stats-section--month .stats-section-head > strong,
.stats-section--month .stats-section-head > strong.is-blue{
  color:rgba(155,65,72,.96) !important;
  font-size:16px !important;
}

/* Slower, calmer graph entrance: roughly 2x the Stage642 duration. */
.stats-week-svg .stats-week-line,
.stats-week-svg .stats-week-line-glow{
  transition:stroke-dashoffset 2.88s cubic-bezier(.22,.7,.25,1);
}

.stats-week-svg .stats-week-area{
  transition:opacity .60s ease .56s;
}

.stats-week-svg .stats-week-point{
  transition:
    opacity .34s ease .78s,
    transform .18s ease;
}


/* ==========================================================================
   Stage645 — Shop Reward System V1
   ========================================================================== */
.shop-screen{
  padding-left:calc(var(--lb-safe-left) + 24px);
  padding-right:calc(var(--lb-safe-right) + 24px);
  padding-bottom:calc(var(--content-bottom) + 28px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}
/* Stage646 shop header + balance are normalized against Today. */
.shop-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  margin:var(--lb-main-screen-top) 0 0;
  gap:18px;
}
.shop-header-copy{min-width:0}
.shop-caption{
  margin:0;
  color:rgba(203,211,207,.68);
  font-family:var(--lb-screen-title-family);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.018em;
  white-space:nowrap;
}
.shop-title{
  margin:3px 0 0;
  color:rgba(248,251,249,.98);
  font-family:var(--lb-screen-title-family) !important;
  font-size:var(--lb-screen-title-size) !important;
  font-style:normal !important;
  font-weight:var(--lb-screen-title-weight) !important;
  font-stretch:normal !important;
  font-variant:normal !important;
  font-synthesis:none;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
  line-height:var(--lb-screen-title-line-height) !important;
  letter-spacing:var(--lb-screen-title-letter-spacing) !important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
.shop-create-button{
  display:grid;
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-top:2px;
  padding:0;
  border:0;
  border-radius:0;
  place-items:center;
  color:inherit;
  background:transparent;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s cubic-bezier(.22,.82,.28,1),opacity .18s ease,filter .18s ease;
}
.shop-create-button svg{
  width:24px;
  height:24px;
  overflow:visible;
  fill:none;
  stroke-width:1.55;
  stroke-linecap:round;
  filter:
    drop-shadow(0 0 5px rgba(255,211,104,.34))
    drop-shadow(0 0 11px rgba(255,151,78,.16));
}
.shop-create-button:active{transform:scale(.91);opacity:.76;filter:brightness(1.06)}

.shop-balance{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:20px;
  padding:0;
  gap:1px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.shop-balance-kicker{
  color:rgba(205,212,209,.40);
  font-size:9px;
  font-weight:650;
  line-height:1.1;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.shop-balance-value{
  display:grid;
  width:max-content;
  grid-template-columns:34px max-content;
  align-items:center;
  justify-content:center;
  column-gap:8px;
  min-height:30px;
}
.shop-balance-number-slot{
  display:grid;
  width:max-content;
  min-width:0;
  align-items:center;
}
.shop-balance-number-measure,
.shop-balance-value strong{
  grid-area:1 / 1;
  color:rgba(246,248,247,.98);
  font-family:var(--lb-screen-title-family);
  font-size:30px;
  font-weight:720;
  line-height:1;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.shop-balance-number-measure{
  visibility:hidden;
  pointer-events:none;
  user-select:none;
}
.shop-balance-value strong{
  justify-self:start;
  text-align:left;
}
.shop-balance-icon,
.shop-coin-icon{
  display:grid;
  place-items:center;
  color:rgba(221,226,224,.74);
}
.shop-balance-icon{
  display:grid;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:0;
  border-radius:50%;
  place-items:center;
  color:inherit;
  background:transparent;
  transform-origin:50% 50%;
  will-change:transform,filter,opacity;
}
.shop-balance-icon svg{
  width:34px;
  height:34px;
  overflow:visible;
}
.shop-balance-icon .shop-balance-coin-sphere{
  stroke-width:1.05;
  filter:drop-shadow(0 0 7px rgba(255,196,96,.19));
}
.shop-balance-icon .shop-balance-coin-star{stroke:none}
.shop-balance-icon .shop-balance-coin-shine{stroke:none}
.shop-coin-icon svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.shop-balance-icon.is-enter-pending{
  opacity:.10;
  transform:scale(.28) rotate(0deg);
  filter:blur(.7px) brightness(.78);
}
.shop-balance-icon.is-entering{
  animation:shopCoinEntrance 1.05s cubic-bezier(.16,.76,.22,1) both;
}
@keyframes shopCoinEntrance{
  0%{
    opacity:.10;
    transform:scale(.28) rotate(0deg);
    filter:blur(.7px) brightness(.78);
  }
  68%{
    opacity:1;
    transform:scale(1.08) rotate(1180deg);
    filter:blur(0) brightness(1.18) drop-shadow(0 0 11px rgba(255,196,92,.28));
  }
  100%{
    opacity:1;
    transform:scale(1) rotate(1440deg);
    filter:blur(0) brightness(1);
  }
}
.shop-balance-label{
  margin:0;
  color:rgba(205,212,209,.31);
  font-size:9px;
  font-weight:560;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.shop-rewards-section{margin-top:21px}
.shop-section-caption{margin:0 0 10px;color:rgba(218,224,222,.42);font-size:10px;font-weight:650;letter-spacing:.16em;text-transform:uppercase}
.shop-reward-list{display:grid;gap:0}
.shop-reward-row{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.065);
  border-radius:0;
}
.shop-reward-row:first-child{border-top:1px solid rgba(255,255,255,.055)}
.shop-reward-row.is-busy{opacity:.54;pointer-events:none}
.shop-reward-delete{
  position:absolute;
  z-index:0;
  top:9px;
  right:0;
  bottom:9px;
  display:grid;
  width:60px;
  padding:0;
  border:1px solid rgba(237,94,116,.16);
  border-radius:16px;
  place-items:center;
  color:rgba(244,116,136,.90);
  background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.05),transparent 36%),linear-gradient(145deg,rgba(96,24,39,.34),rgba(28,9,14,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 20px rgba(0,0,0,.22);
}
.shop-reward-delete svg{width:22px;height:22px;fill:currentColor;stroke:none;transition:transform .14s ease}
.shop-reward-delete:active{transform:scale(.95);filter:brightness(1.08)}
.shop-reward-delete:active svg{transform:scale(.88)}
.shop-reward-content{
  position:relative;
  z-index:1;
  background:var(--bg);
  transform:translate3d(0,0,0);
  transition:transform .50s cubic-bezier(.20,.82,.24,1);
  will-change:transform;
}
.shop-reward-row.is-delete-open .shop-reward-content{transform:translate3d(-60px,0,0)}
.shop-reward-row.is-holding .shop-reward-content{filter:brightness(1.06)}
.shop-reward-summary{
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  width:100%;
  min-height:70px;
  padding:10px 4px;
  border:0;
  grid-template-columns:45px minmax(0,1fr) 72px;
  align-items:center;
  gap:11px;
  color:inherit;
  background:var(--bg);
  text-align:left;
  opacity:1;
  transform:translateY(0) scale(1);
  transition:
    opacity .20s ease,
    transform .28s cubic-bezier(.20,.82,.24,1),
    visibility 0s linear 0s;
}
.shop-reward-summary:active{background:rgba(255,255,255,.022)}
.shop-reward-row.is-expanded .shop-reward-summary{
  opacity:0;
  transform:translateY(-5px) scale(.992);
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .20s ease,
    transform .28s cubic-bezier(.20,.82,.24,1),
    visibility 0s linear .20s;
}

.shop-reward-category-icon{
  --cat-rgb:225,112,72;
  position:relative;
  display:grid;
  width:44px;
  height:44px;
  overflow:hidden;
  border:1px solid rgba(var(--cat-rgb),.28);
  border-radius:15px;
  place-items:center;
  background:
    radial-gradient(circle at 34% 20%,rgba(255,255,255,.07),transparent 26%),
    radial-gradient(circle at 50% 32%,rgba(var(--cat-rgb),.22),transparent 62%),
    linear-gradient(155deg,rgba(var(--cat-rgb),.12),rgba(7,9,12,.96) 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),inset 0 -12px 24px rgba(0,0,0,.24),0 0 20px rgba(var(--cat-rgb),.10);
}
.shop-reward-category-icon::before{
  content:"";
  position:absolute;
  inset:-14px;
  background:radial-gradient(circle,rgba(var(--cat-rgb),.12),transparent 56%);
  pointer-events:none;
}
.shop-reward-category-icon::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid rgba(255,255,255,.035);
  border-radius:11px;
  pointer-events:none;
}
.shop-reward-category-icon[data-category="rest"]{--cat-rgb:210,220,232}
.shop-reward-category-icon[data-category="cinema"]{--cat-rgb:177,91,245}
.shop-reward-category-icon[data-category="games"]{--cat-rgb:78,125,248}
.shop-reward-category-icon[data-category="food"]{--cat-rgb:233,165,57}
.shop-reward-category-icon[data-category="shopping"]{--cat-rgb:239,80,79}
.shop-reward-category-icon[data-category="personal"]{--cat-rgb:72,181,201}
.shop-reward-category-icon .shop-emblem-svg{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  overflow:visible;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.28)) drop-shadow(0 0 5px rgba(var(--cat-rgb),.14));
}

.shop-reward-copy{display:grid;min-width:0;gap:4px}
.shop-reward-copy strong{
  overflow:hidden;
  color:rgba(245,247,246,.92);
  font-size:14px;
  font-weight:650;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.shop-reward-copy small{color:rgba(207,214,211,.35);font-size:9px;font-weight:560}

.shop-reward-price{
  display:grid;
  width:72px;
  grid-template-columns:17px 44px;
  align-items:center;
  justify-self:end;
  column-gap:6px;
  margin-left:auto;
  color:rgba(229,230,225,.67);
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
}
.shop-reward-price .shop-coin-icon{
  justify-self:center;
  transform:none;
  margin:0;
}
.shop-reward-price-number{
  width:44px;
  min-width:44px;
  text-align:right;
  font-variant-numeric:tabular-nums;
  letter-spacing:.005em;
}

.shop-coin-icon{
  display:grid;
  width:17px;
  height:17px;
  place-items:center;
}
.shop-coin-svg{
  display:block;
  width:17px;
  height:17px;
  overflow:visible;
  filter:drop-shadow(0 0 5px rgba(255,188,82,.14));
}

/* Expanded reward becomes an edge-to-edge image between the same divider lines. */
.shop-reward-row{
  transition:margin-left .66s cubic-bezier(.20,.82,.24,1),margin-right .66s cubic-bezier(.20,.82,.24,1);
}
.shop-reward-row.is-expanded{
  margin-left:calc(0px - var(--lb-safe-left, 0px) - 24px);
  margin-right:calc(0px - var(--lb-safe-right, 0px) - 24px);
}
.shop-reward-content{
  position:relative;
  z-index:1;
  height:70px;
  overflow:hidden;
  background:var(--bg);
  transform:translate3d(0,0,0);
  transition:
    height .66s cubic-bezier(.20,.82,.24,1),
    transform .50s cubic-bezier(.20,.82,.24,1);
  will-change:height,transform;
}
.shop-reward-row.is-delete-open .shop-reward-content{transform:translate3d(-60px,0,0)}
.shop-reward-row.is-holding .shop-reward-content{filter:brightness(1.06)}

.shop-reward-cinematic{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:0;
  color:inherit;
  background:#08090a;
  box-shadow:none;
  text-align:left;
  isolation:isolate;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.982);
  transition:
    opacity .34s ease .08s,
    transform .64s cubic-bezier(.20,.82,.24,1),
    visibility 0s linear .40s;
}
.shop-reward-row.is-expanded .shop-reward-cinematic{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:scale(1);
  transition:
    opacity .38s ease .08s,
    transform .66s cubic-bezier(.20,.82,.24,1),
    visibility 0s linear 0s;
}
.shop-reward-cinematic:disabled{cursor:default}

.shop-reward-visual-image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.045);
  filter:saturate(.88) contrast(1.04) brightness(.76);
  transition:
    transform .78s cubic-bezier(.20,.82,.24,1),
    filter .52s ease;
}
.shop-reward-row.is-expanded .shop-reward-visual-image{
  transform:scale(1);
  filter:saturate(.98) contrast(1.03) brightness(.88);
}

.shop-reward-visual-shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,3,4,.04) 0%,rgba(2,3,4,.055) 35%,rgba(2,3,4,.24) 58%,rgba(2,3,4,.87) 100%),
    linear-gradient(90deg,rgba(2,3,4,.18) 0%,transparent 47%,rgba(2,3,4,.06) 100%);
}

.shop-reward-overlay{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:14px;
  padding:
    52px calc(var(--lb-safe-right, 0px) + 24px) 16px
    calc(var(--lb-safe-left, 0px) + 24px);
  opacity:0;
  transform:translateY(10px);
  transition:
    opacity .32s ease,
    transform .44s cubic-bezier(.20,.82,.24,1);
}
.shop-reward-row.is-expanded .shop-reward-overlay{
  opacity:1;
  transform:translateY(0);
  transition:
    opacity .34s ease .15s,
    transform .50s cubic-bezier(.20,.82,.24,1) .12s;
}
.shop-reward-overlay-copy{
  display:grid;
  min-width:0;
  gap:4px;
}
.shop-reward-overlay-copy small{
  color:rgba(232,228,220,.64);
  font-size:8px;
  font-style:normal;
  font-weight:680;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.shop-reward-overlay-copy strong{
  overflow:hidden;
  color:rgba(252,251,248,.99);
  font-size:16px;
  font-weight:710;
  line-height:1.17;
  letter-spacing:-.018em;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 2px 12px rgba(0,0,0,.44);
}
.shop-reward-overlay-copy em{
  display:-webkit-box;
  max-width:235px;
  overflow:hidden;
  color:rgba(235,233,226,.68);
  font-size:9px;
  font-style:normal;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.shop-reward-overlay-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  padding-bottom:1px;
}
.shop-reward-overlay-price{
  display:inline-flex;
  width:auto;
  min-width:0;
  align-items:center;
  gap:5px;
  padding-bottom:0;
  color:rgba(255,239,194,.94);
  font-size:14px;
  font-weight:720;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  text-shadow:0 2px 11px rgba(0,0,0,.42);
}
.shop-reward-overlay-price .shop-coin-icon{
  flex:0 0 17px;
  transform:none;
  margin:0;
}
.shop-reward-overlay-price .shop-coin-svg{width:17px;height:17px}
.shop-reward-overlay-price-number{
  width:auto;
  min-width:0;
  text-align:left;
}
.shop-reward-buy-button{
  display:grid;
  min-width:54px;
  height:28px;
  padding:0 11px;
  border:1px solid rgba(118,239,159,.26);
  border-radius:10px;
  place-items:center;
  color:rgba(237,255,243,.96);
  background:
    radial-gradient(circle at 50% 0%,rgba(180,255,203,.18),transparent 52%),
    linear-gradient(145deg,rgba(42,157,92,.94),rgba(18,91,57,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 5px 16px rgba(14,101,58,.22);
  font-size:10px;
  font-weight:720;
  letter-spacing:.01em;
  -webkit-tap-highlight-color:transparent;
}
.shop-reward-buy-button:active{
  transform:scale(.96);
  filter:brightness(1.08);
}
.shop-reward-buy-button:disabled{
  opacity:.48;
  pointer-events:none;
}

.shop-reward-close{
  position:absolute;
  z-index:5;
  top:7px;
  right:calc(var(--lb-safe-right, 0px) + 15px);
  display:grid;
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:0;
  place-items:center;
  color:rgba(250,249,244,.82);
  background:transparent;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-4px) scale(.90);
  transition:
    opacity .24s ease,
    transform .34s cubic-bezier(.20,.82,.24,1),
    visibility 0s linear .35s;
}
.shop-reward-row.is-expanded .shop-reward-close{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  transition:
    opacity .26s ease .20s,
    transform .38s cubic-bezier(.20,.82,.24,1) .17s,
    visibility 0s linear 0s;
}
.shop-reward-close span{
  display:block;
  font:300 27px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-shadow:0 2px 12px rgba(0,0,0,.68);
}
.shop-reward-close:active span{transform:scale(.88)}
.shop-empty-state{display:grid;min-height:170px;place-items:center;align-content:center;gap:8px;text-align:center;color:rgba(220,225,223,.40)}
.shop-empty-icon{display:grid;width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:15px;place-items:center;color:rgba(230,234,233,.46);background:rgba(255,255,255,.02)}
.shop-empty-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.shop-empty-state strong{color:rgba(235,238,237,.68);font-size:13px}
.shop-empty-state>span:last-child{max-width:250px;font-size:10px;line-height:1.45}

.shop-native-dialog textarea{
  width:100%;
  min-width:0;
  min-height:78px;
  padding:11px 12px;
  resize:none;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  outline:none;
  color:#f2f3f3;
  background:rgba(255,255,255,.065);
  box-shadow:none;
  font:400 14px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}
.shop-native-dialog textarea::placeholder{color:rgba(220,225,224,.34)}
.shop-native-dialog input:focus,
.shop-native-dialog input:focus-visible,
.shop-native-dialog textarea:focus,
.shop-native-dialog textarea:focus-visible,
.shop-native-dialog select:focus,
.shop-native-dialog select:focus-visible{
  border-color:rgba(246,196,86,.74)!important;
  outline:none!important;
  background:rgba(255,244,194,.055)!important;
  box-shadow:
    0 0 0 1px rgba(255,214,111,.08),
    0 0 18px rgba(255,177,71,.09)!important;
}
.shop-native-dialog .today-native-dialog-actions button[type="submit"]{
  color:#2a1a08;
  border-color:rgba(255,221,126,.26);
  background:linear-gradient(135deg,#FFF0A2 0%,#FFD36A 48%,#FF9A55 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.40),
    0 8px 24px rgba(255,164,75,.14);
  font-weight:700;
}
.shop-native-dialog .today-native-dialog-actions button[type="submit"]:active{
  transform:scale(.985);
  filter:brightness(.94);
}

@media (max-width:380px){
  .shop-screen{padding-left:calc(var(--lb-safe-left) + 22px);padding-right:calc(var(--lb-safe-right) + 22px)}
  .shop-reward-visual{height:150px}
}
@media (prefers-reduced-motion:reduce){
  .shop-reward-content,
  .shop-reward-summary,
  .shop-reward-cinematic,
  .shop-reward-visual-image,
  .shop-reward-overlay,
  .shop-reward-close{transition:none!important}
}


/* Stage649 — Shop entrance polish */
.reduce-motion .shop-balance-icon.is-enter-pending{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}
.reduce-motion .shop-balance-icon.is-entering{
  animation:none !important;
}


/* Stage651 — morph reward card respects reduced motion. */
.reduce-motion .shop-reward-content,
.reduce-motion .shop-reward-summary,
.reduce-motion .shop-reward-cinematic,
.reduce-motion .shop-reward-visual-image,
.reduce-motion .shop-reward-overlay,
.reduce-motion .shop-reward-close{
  transition:none !important;
}

/* Stage655 — Shop UI polish. Morph geometry/timing intentionally untouched. */

/* Keep the fixed price grid; move only the coin glyph 10px to the right. */
.shop-reward-price .shop-coin-icon{
  transform:translateX(17px);
}
/* Same dimensions; transparent glass interior with green gradient outline. */
.shop-reward-buy-button{
  border:1px solid transparent;
  color:rgba(225,255,235,.96);
  background:
    linear-gradient(145deg,rgba(8,24,17,.58),rgba(13,34,24,.38)) padding-box,
    linear-gradient(135deg,#9AF7B8 0%,#54DF91 38%,#20AE69 68%,#7DEDA7 100%) border-box;
  -webkit-backdrop-filter:blur(9px) saturate(1.08);
  backdrop-filter:blur(9px) saturate(1.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.065),
    0 4px 14px rgba(24,173,101,.12);
}
.shop-reward-buy-button:active{
  transform:scale(.96);
  filter:brightness(1.10);
}

/* Stage656 — Shop purchase confirmation uses the same native dialog system as reward creation. */
.shop-purchase-dialog-summary{
  display:grid;
  gap:8px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 0%,rgba(255,198,84,.08),transparent 38%),
    rgba(255,255,255,.025);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.shop-purchase-dialog-label{
  color:rgba(235,235,239,.48);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.shop-purchase-dialog-summary>strong{
  color:rgba(249,249,250,.96);
  font-size:19px;
  line-height:1.22;
  font-weight:720;
  overflow-wrap:anywhere;
}
.shop-purchase-dialog-cost{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  padding-top:9px;
  margin-top:3px;
  border-top:1px solid rgba(255,255,255,.07);
}
.shop-purchase-dialog-cost span{
  color:rgba(235,235,239,.50);
  font-size:12px;
  font-weight:600;
}
.shop-purchase-dialog-cost b{
  color:rgba(255,220,134,.94);
  font-size:15px;
  font-weight:720;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}



/* ==========================================================================
   Stage659 — More screen V1
   ========================================================================== */
.more-v1-screen{
  --more-rank-accent:#67d9b0;
  --more-rank-rgb:103,217,176;
  width:100%;
  height:100%;
  padding-left:calc(var(--lb-safe-left) + 24px);
  padding-right:calc(var(--lb-safe-right) + 24px);
  padding-bottom:calc(var(--content-bottom) + 28px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.more-v1-screen::-webkit-scrollbar{display:none}

.more-v1-header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  margin:var(--lb-main-screen-top) 0 0;
  padding:0;
}
.more-v1-caption{
  margin:0;
  color:rgba(203,211,207,.68);
  font-family:var(--lb-screen-title-family);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.018em;
}
.more-v1-title{
  margin:3px 0 0;
  color:rgba(248,251,249,.98);
  font-family:var(--lb-screen-title-family)!important;
  font-size:var(--lb-screen-title-size)!important;
  font-style:normal!important;
  font-weight:var(--lb-screen-title-weight)!important;
  font-stretch:normal!important;
  font-variant:normal!important;
  font-synthesis:none;
  line-height:var(--lb-screen-title-line-height)!important;
  letter-spacing:var(--lb-screen-title-letter-spacing)!important;
  -webkit-font-smoothing:antialiased;
}

.more-profile-panel{
  position:relative;
  display:grid;
  grid-template-columns:78px minmax(0,1fr) 22px;
  align-items:center;
  width:100%;
  min-height:114px;
  margin:29px 0 0;
  padding:15px 16px 15px 14px;
  gap:16px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:27px;
  color:#fff;
  background:
    radial-gradient(circle at 16% 50%,rgba(var(--more-rank-rgb),.105),transparent 31%),
    linear-gradient(145deg,rgba(13,17,18,.96),rgba(5,7,8,.99));
  box-shadow:
    0 20px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.035);
  text-align:left;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s cubic-bezier(.22,.82,.28,1),border-color .22s ease,background .22s ease;
}
.more-profile-panel::after{
  content:"";
  position:absolute;
  inset:auto 14% -40px 14%;
  height:60px;
  border-radius:50%;
  background:rgba(var(--more-rank-rgb),.07);
  filter:blur(28px);
  pointer-events:none;
}
.more-profile-panel:active{transform:scale(.986)}
.more-profile-panel:focus-visible{outline:1px solid rgba(var(--more-rank-rgb),.6);outline-offset:3px}

.more-profile-avatar-shell{
  position:relative;
  display:grid;
  width:78px;
  height:78px;
  place-items:center;
  border-radius:50%;
  isolation:isolate;
}
.more-profile-avatar-shell img{
  display:block;
  width:70px;
  height:70px;
  border-radius:50%;
  object-fit:cover;
  background:#080b0b;
  box-shadow:0 8px 24px rgba(0,0,0,.34);
}
.more-profile-avatar-ring{
  position:absolute;
  inset:0;
  border:1.5px solid rgba(var(--more-rank-rgb),.72);
  border-radius:50%;
  box-shadow:
    0 0 0 4px rgba(var(--more-rank-rgb),.055),
    0 0 18px rgba(var(--more-rank-rgb),.16);
  pointer-events:none;
}
.more-profile-avatar-ring::after{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
}
.more-profile-copy{
  position:relative;
  z-index:1;
  display:flex;
  min-width:0;
  flex-direction:column;
}
.more-profile-copy strong{
  overflow:hidden;
  color:rgba(249,251,250,.98);
  font-size:20px;
  font-weight:740;
  line-height:1.15;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.more-profile-copy>span{
  margin-top:7px;
  overflow:hidden;
  color:var(--more-rank-accent);
  font-size:10px;
  font-weight:730;
  line-height:1.2;
  letter-spacing:.085em;
  text-transform:uppercase;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.more-profile-copy b{
  margin-top:8px;
  color:rgba(226,232,229,.78);
  font-size:12px;
  font-weight:670;
  line-height:1.2;
  letter-spacing:.04em;
}
.more-profile-chevron{
  position:relative;
  z-index:1;
  justify-self:end;
  color:rgba(var(--more-rank-rgb),.72);
  font-size:31px;
  font-weight:250;
  line-height:1;
}

.more-v1-menu{
  margin:29px 0 22px;
  border-top:1px solid rgba(255,255,255,.065);
  border-bottom:1px solid rgba(255,255,255,.065);
}
.more-v1-menu button{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 18px;
  align-items:center;
  width:100%;
  min-height:76px;
  padding:11px 2px;
  gap:13px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.055);
  color:inherit;
  background:transparent;
  text-align:left;
  -webkit-tap-highlight-color:transparent;
  transition:background .18s ease,transform .18s ease;
}
.more-v1-menu button:last-child{border-bottom:0}
.more-v1-menu button:active{background:rgba(255,255,255,.018);transform:scale(.993)}
.more-v1-menu-icon{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid rgba(var(--more-rank-rgb),.13);
  border-radius:15px;
  background:rgba(var(--more-rank-rgb),.055);
  color:rgba(var(--more-rank-rgb),.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.more-v1-menu-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 4px currentColor);
}
.more-v1-menu-icon .more-icon-accent{
  stroke-width:2.25;
  opacity:.9;
}
.more-v1-menu-icon--achievements{color:#f0cb72;background:rgba(226,176,75,.06);border-color:rgba(226,176,75,.13)}
.more-v1-menu-icon--activity{color:#66d6ae}
.more-v1-menu-icon--about{color:#8dc9d9;background:rgba(73,151,170,.055);border-color:rgba(73,151,170,.13)}
.more-v1-menu-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.more-v1-menu-copy strong{
  overflow:hidden;
  color:rgba(244,247,246,.94);
  font-size:15px;
  font-weight:690;
  line-height:1.25;
  letter-spacing:-.012em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.more-v1-menu-copy small{
  margin-top:4px;
  overflow:hidden;
  color:rgba(187,194,191,.46);
  font-size:10px;
  font-weight:540;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.more-v1-menu button>i{
  justify-self:end;
  color:rgba(255,255,255,.2);
  font-size:26px;
  font-style:normal;
  font-weight:250;
  line-height:1;
}

/* More profile native dialog */
.more-profile-dialog{
  width:min(92vw,430px);
}
.more-profile-dialog-form{
  max-height:min(82dvh,690px);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.more-profile-dialog-form::-webkit-scrollbar{display:none}
.more-profile-name-field input:focus,
.more-profile-name-field input:focus-visible{
  border-color:rgba(89,214,172,.72)!important;
  box-shadow:0 0 0 1px rgba(89,214,172,.18),0 0 20px rgba(64,190,148,.08)!important;
}
.more-avatar-picker{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.more-avatar-picker-label{
  color:rgba(227,232,230,.7);
  font-size:12px;
  font-weight:590;
}
.more-avatar-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.more-avatar-option{
  position:relative;
  display:block;
  aspect-ratio:1;
  padding:3px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  background:rgba(255,255,255,.02);
  box-shadow:none;
  overflow:visible;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s cubic-bezier(.22,.82,.28,1),border-color .18s ease,box-shadow .18s ease;
}
.more-avatar-option img{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
}
.more-avatar-option:active{transform:scale(.93)}
.more-avatar-option.is-selected{
  border-color:rgba(98,224,179,.84);
  box-shadow:0 0 0 3px rgba(98,224,179,.09),0 0 18px rgba(98,224,179,.15);
}
.more-avatar-check{
  position:absolute;
  right:-1px;
  bottom:-1px;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border:2px solid #171b1a;
  border-radius:50%;
  color:#07120e;
  background:#72ddb7;
  font-size:10px;
  font-weight:900;
  opacity:0;
  transform:scale(.65);
  transition:opacity .16s ease,transform .16s ease;
}
.more-avatar-option.is-selected .more-avatar-check{opacity:1;transform:scale(1)}
.more-profile-dialog .today-native-dialog-actions button[type="submit"]{
  color:#08120e;
  background:linear-gradient(135deg,#a9efd5 0%,#6bd9b0 48%,#48bb91 100%);
  box-shadow:0 10px 28px rgba(66,178,135,.14),inset 0 1px 0 rgba(255,255,255,.22);
}

/* More details */
.more-achievement-hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:2px 0 22px;
  padding:25px 18px 23px;
  border:1px solid rgba(241,204,112,.13);
  border-radius:26px;
  background:radial-gradient(circle at 50% 14%,rgba(230,183,77,.12),transparent 50%),rgba(255,255,255,.018);
}
.more-achievement-crown{
  display:block;
  color:#f5cf69;
  font-size:42px;
  font-weight:700;
  line-height:1;
  text-shadow:
    0 0 8px rgba(245,207,105,.34),
    0 0 22px rgba(224,177,71,.18),
    0 8px 20px rgba(0,0,0,.38);
  transform:translateY(-1px);
}
.more-achievement-hero>strong{
  margin-top:14px;
  color:#f8f9f8;
  font-size:32px;
  font-weight:760;
  letter-spacing:-.045em;
}
.more-achievement-hero>strong span{
  margin-left:5px;
  color:rgba(255,255,255,.35);
  font-size:17px;
  font-weight:650;
}
.more-achievement-hero p{
  margin:5px 0 0;
  color:rgba(207,214,211,.5);
  font-size:11px;
}
.more-achievement-list{
  border-top:1px solid rgba(255,255,255,.06);
}
.more-achievement-item{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 18px;
  align-items:center;
  min-height:72px;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.more-achievement-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid rgba(237,194,91,.10);
  border-radius:14px;
  color:#f1cf79;
  background:radial-gradient(circle at 50% 38%,rgba(233,188,80,.12),rgba(226,180,76,.045) 68%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.more-achievement-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(241,207,121,.16));
}
.more-achievement-item>div{display:flex;min-width:0;flex-direction:column}
.more-achievement-item strong{font-size:14px;color:rgba(245,248,247,.94)}
.more-achievement-item>div span{margin-top:4px;color:rgba(192,199,196,.44);font-size:10px}
.more-achievement-item i{color:#69d9af;font-size:13px;font-style:normal}
.more-achievement-item.is-locked{opacity:.38;filter:saturate(.42)}
.more-achievement-item.is-locked i{color:rgba(255,255,255,.4)}


.more-activity-empty{
  display:grid;
  min-height:42vh;
  place-items:center;
  color:rgba(218,224,221,.52);
  font-size:14px;
  font-weight:560;
  letter-spacing:-.01em;
  text-align:center;
}

.more-activity-groups{display:flex;flex-direction:column;gap:23px}
.more-activity-day>h3{
  margin:0 0 9px;
  color:rgba(205,213,209,.54);
  font-size:10px;
  font-weight:720;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.more-activity-list{border-top:1px solid rgba(255,255,255,.06)}
.more-activity-item{
  display:grid;
  grid-template-columns:37px 34px minmax(0,1fr) auto;
  align-items:center;
  min-height:65px;
  gap:9px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.more-activity-item time{color:rgba(191,198,195,.38);font-size:9px;font-variant-numeric:tabular-nums}
.more-activity-mark{
  display:grid;
  width:31px;
  height:31px;
  place-items:center;
  border-radius:11px;
  color:#70d9b1;
  background:rgba(83,197,153,.055);
  font-size:12px;
}
.more-activity-item>div{display:flex;min-width:0;flex-direction:column}
.more-activity-item strong{overflow:hidden;color:rgba(242,246,244,.91);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.more-activity-item>div span{margin-top:4px;overflow:hidden;color:rgba(183,191,187,.4);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.more-activity-item>i{color:#68d6ad;font-size:9px;font-style:normal;font-weight:650;white-space:nowrap}
.more-activity-item>i.is-negative{color:#e98091}

.more-about-hero{
  display:flex;
  align-items:center;
  gap:15px;
  padding:18px 0 23px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.more-about-mark{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid rgba(103,217,176,.18);
  border-radius:19px;
  color:#7de2bc;
  background:radial-gradient(circle at 35% 25%,rgba(103,217,176,.14),transparent 60%),rgba(255,255,255,.025);
  font-size:25px;
  font-weight:800;
}
.more-about-hero h3{margin:0;color:#f6f8f7;font-size:20px}
.more-about-hero p{margin:4px 0 0;color:rgba(197,204,201,.48);font-size:11px}
.more-about-copy{
  padding:21px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.more-about-copy p{
  margin:0 0 13px;
  color:rgba(217,223,220,.63);
  font-size:12px;
  line-height:1.62;
}
.more-about-copy p:last-child{margin-bottom:0}
.more-about-meta{display:flex;flex-direction:column}
.more-about-meta>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.more-about-meta span{color:rgba(190,198,194,.42);font-size:10px}
.more-about-meta strong{color:rgba(239,243,241,.86);font-size:11px;font-weight:650}

@media (max-width:360px){
  .more-profile-panel{grid-template-columns:70px minmax(0,1fr) 18px;gap:12px}
  .more-profile-avatar-shell{width:70px;height:70px}
  .more-profile-avatar-shell img{width:63px;height:63px}
  .more-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .more-activity-item{grid-template-columns:34px 31px minmax(0,1fr)}
  .more-activity-item>i{display:none}
}

@media (prefers-reduced-motion:reduce){
  .more-profile-panel,
  .more-v1-menu button,
  .more-avatar-option,
  .more-avatar-check{transition:none}
}


/* ==========================================================================\n   Stage660 — More header parity + compact profile avatar picker\n   ========================================================================== */
/* More keeps its browser spacing; Telegram uses the shared Stage672 top geometry. */
.more-v1-screen{
  padding-top:calc(var(--lb-safe-top) + 18px);
}
.more-v1-header{
  margin:var(--lb-main-screen-top) 0 0;
}
html[data-platform="telegram"] .more-v1-screen{
  padding-top:var(--lb-main-screen-top);
}
html[data-platform="telegram"] .more-v1-header{
  margin-top:0;
}
.more-v1-caption{
  font-family:var(--lb-screen-title-family);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.018em;
  white-space:nowrap;
}
.more-v1-title{
  margin:3px 0 0;
  font-family:var(--lb-screen-title-family)!important;
  font-size:var(--lb-screen-title-size)!important;
  font-weight:var(--lb-screen-title-weight)!important;
  line-height:var(--lb-screen-title-line-height)!important;
  letter-spacing:var(--lb-screen-title-letter-spacing)!important;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
  text-rendering:geometricPrecision;
}

.more-profile-dialog{
  width:min(calc(100% - 40px),350px);
  max-width:350px;
  max-height:none;
  overflow:hidden;
  border-radius:18px;
}
.more-profile-dialog-form{
  display:grid;
  gap:14px;
  max-height:none;
  padding:16px;
  overflow:visible;
  overscroll-behavior:none;
}
.more-profile-dialog-header{
  align-items:flex-start;
}
.more-profile-dialog-header small{
  margin-bottom:3px;
  font-size:10px;
}
.more-profile-dialog-header h2{
  font-size:19px;
}
.more-profile-dialog-close{
  display:grid;
  width:28px;
  height:28px;
  flex:0 0 28px;
  margin:-2px -2px 0 0;
  padding:0 0 2px;
  border:0;
  border-radius:0;
  place-items:center;
  color:rgba(245,247,247,.82);
  background:transparent;
  box-shadow:none;
  font:300 25px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  -webkit-tap-highlight-color:transparent;
  transition:opacity .16s ease,transform .16s ease;
}
.more-profile-dialog-close:active{
  opacity:.58;
  transform:scale(.9);
}
.more-profile-name-field{
  gap:6px;
}
.more-profile-name-field input{
  height:42px;
  border-radius:11px;
  font-size:14px;
}
.more-profile-name-field input:focus,
.more-profile-name-field input:focus-visible{
  border-color:rgba(89,214,172,.72)!important;
  box-shadow:0 0 0 1px rgba(89,214,172,.16),0 0 18px rgba(64,190,148,.07)!important;
}
.more-avatar-picker{
  display:grid;
  gap:7px;
}
.more-avatar-picker-label{
  color:rgba(227,232,230,.66);
  font-size:11px;
  font-weight:560;
}
.more-current-avatar{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 17px;
  align-items:center;
  width:100%;
  min-height:66px;
  padding:7px 10px 7px 7px;
  gap:10px;
  border:1px solid rgba(255,255,255,.095);
  border-radius:14px;
  color:inherit;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  text-align:left;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .18s ease,background .18s ease;
}
.more-current-avatar:active{
  background:rgba(255,255,255,.055);
}
.more-current-avatar.is-expanded{
  border-color:rgba(102,218,176,.22);
}
.more-current-avatar-image-wrap{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border:1px solid rgba(104,222,180,.26);
  border-radius:50%;
  background:#090c0b;
  box-shadow:0 0 0 2px rgba(104,222,180,.045);
  overflow:hidden;
}
.more-current-avatar-image-wrap img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.more-current-avatar-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.more-current-avatar-copy strong{
  color:rgba(242,246,244,.92);
  font-size:12px;
  font-weight:650;
  line-height:1.2;
}
.more-current-avatar-copy small{
  margin-top:4px;
  color:rgba(192,200,196,.42);
  font-size:9px;
  line-height:1.2;
}
.more-current-avatar-chevron{
  justify-self:end;
  color:rgba(205,212,209,.36);
  font-size:24px;
  font-weight:260;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .22s cubic-bezier(.22,.82,.28,1),color .18s ease;
}
.more-current-avatar.is-expanded .more-current-avatar-chevron{
  color:rgba(107,219,178,.68);
  transform:rotate(90deg);
}
.more-avatar-expand{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transform:translate3d(0,-5px,0);
  transition:grid-template-rows .26s cubic-bezier(.22,.82,.28,1),opacity .2s ease,transform .26s cubic-bezier(.22,.82,.28,1);
}
.more-avatar-expand.is-expanded{
  grid-template-rows:1fr;
  opacity:1;
  transform:translate3d(0,0,0);
}
.more-avatar-expand-inner{
  min-height:0;
  overflow:hidden;
}
.more-avatar-hint{
  margin:9px 1px 8px;
  color:rgba(190,199,195,.42);
  font-size:9px;
  font-weight:520;
  line-height:1.25;
}
.more-avatar-rail{
  display:flex;
  width:100%;
  gap:9px;
  padding:2px 1px 6px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.more-avatar-rail::-webkit-scrollbar{display:none}
.more-avatar-option{
  position:relative;
  display:block;
  width:58px;
  height:58px;
  min-width:58px;
  flex:0 0 58px;
  aspect-ratio:auto;
  padding:2px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:50%;
  background:rgba(255,255,255,.018);
  box-shadow:none;
  overflow:visible;
  scroll-snap-align:start;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s cubic-bezier(.22,.82,.28,1),border-color .18s ease,box-shadow .18s ease;
}
.more-avatar-option img{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  background:#080b0a;
}
.more-avatar-option:active{transform:scale(.92)}
.more-avatar-option.is-selected{
  border-color:rgba(98,224,179,.8);
  box-shadow:0 0 0 2px rgba(98,224,179,.08),0 0 14px rgba(98,224,179,.11);
}
.more-avatar-check{
  right:-1px;
  bottom:-1px;
  width:18px;
  height:18px;
  border:2px solid #181b1a;
  font-size:9px;
}
.more-profile-dialog-actions{
  margin-top:0;
}
.more-profile-dialog-actions button{
  height:41px;
  border-radius:10px;
  font-size:13px;
}
.more-profile-dialog .today-native-dialog-actions button[type="submit"]{
  color:#08120e;
  background:linear-gradient(135deg,#a9efd5 0%,#6bd9b0 48%,#48bb91 100%);
  box-shadow:0 9px 24px rgba(66,178,135,.12),inset 0 1px 0 rgba(255,255,255,.2);
}

@media (max-width:360px){
  .more-profile-dialog{
    width:min(calc(100% - 28px),336px);
  }
  .more-profile-dialog-form{
    padding:14px;
    gap:12px;
  }
  .more-avatar-option{
    width:54px;
    height:54px;
    min-width:54px;
    flex-basis:54px;
  }
}
@media (prefers-reduced-motion:reduce){
  .more-avatar-expand,
  .more-current-avatar-chevron,
  .more-profile-dialog-close{transition:none}
}

/* Stage661 — achievements/content polish */

/* ==========================================================================\n   Stage662 — LifeBot logo default + icon corrections\n   ========================================================================== */
.more-about-mark{padding:0;overflow:hidden;background:#020403}
.more-about-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.more-v1-menu-icon--activity svg{width:25px;height:25px;stroke-width:1.7}
.more-achievement-icon svg{width:27px;height:27px;stroke-width:1.65}


/* Stage674 — More / safe reset journey */
.more-reset-section{
  margin:4px 0 calc(var(--nav-h,62px) + var(--nav-bottom,10px) + 28px);
  padding-top:4px;
}
.more-reset-button{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 16px;
  align-items:center;
  width:100%;
  min-height:62px;
  padding:10px 12px;
  gap:11px;
  border:1px solid rgba(235,104,121,.13);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(65,18,25,.16),rgba(12,8,10,.28));
  color:inherit;
  text-align:left;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.more-reset-button:active{
  transform:scale(.992);
  border-color:rgba(235,104,121,.22);
  background:linear-gradient(145deg,rgba(78,22,30,.2),rgba(12,8,10,.32));
}
.more-reset-icon{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid rgba(236,112,128,.16);
  border-radius:12px;
  color:rgba(242,139,151,.78);
  background:rgba(126,39,51,.08);
}
.more-reset-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.more-reset-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.more-reset-copy strong{
  color:rgba(244,219,222,.86);
  font-size:13px;
  font-weight:650;
  line-height:1.2;
  letter-spacing:-.008em;
}
.more-reset-copy small{
  margin-top:4px;
  color:rgba(200,155,162,.42);
  font-size:9.5px;
  font-weight:520;
  line-height:1.25;
}
.more-reset-button>i{
  justify-self:end;
  color:rgba(236,130,143,.28);
  font-size:23px;
  font-style:normal;
  font-weight:250;
  line-height:1;
}
.more-reset-modal-copy{
  padding:14px 15px;
  border:1px solid rgba(237,111,128,.12);
  border-radius:17px;
  background:rgba(93,24,34,.08);
}
.more-reset-modal-copy p{
  margin:0;
  color:rgba(247,236,238,.88);
  font-size:12px;
  font-weight:560;
  line-height:1.5;
}
.more-reset-modal-copy small{
  display:block;
  margin-top:8px;
  color:rgba(211,184,188,.5);
  font-size:10px;
  line-height:1.45;
}
.more-reset-modal-copy.is-final{
  border-color:rgba(239,100,120,.18);
  background:rgba(108,25,38,.11);
}
.more-reset-modal-actions .more-reset-continue{
  border-color:rgba(239,126,140,.2);
  color:#f3dfe2;
  background:rgba(112,34,46,.16);
}
.more-reset-modal-actions .more-reset-danger{
  border-color:rgba(241,101,120,.3);
  color:#fff0f2;
  background:linear-gradient(145deg,rgba(184,52,70,.78),rgba(124,30,45,.86));
  box-shadow:0 8px 22px rgba(131,25,40,.16),inset 0 1px 0 rgba(255,255,255,.08);
}
.more-reset-modal-actions .more-reset-danger:disabled{
  opacity:.55;
  pointer-events:none;
}
