/* Native-feel chrome, states and sheets for Today */
.bottom-nav{
  height:74px;
  bottom:max(10px,env(safe-area-inset-bottom));
  border:1px solid rgba(240,195,155,.2);
  background:rgba(8,13,15,.84);
  -webkit-backdrop-filter:blur(24px) saturate(1.28);
  backdrop-filter:blur(24px) saturate(1.28);
  box-shadow:0 22px 64px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.045);
}
.bottom-nav button{
  min-height:54px;
  color:#87938f;
  transition:background .16s ease,color .16s ease,transform .16s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.bottom-nav button span{font-size:19px}
.bottom-nav button.active{
  background:linear-gradient(180deg,rgba(215,160,108,.13),rgba(215,160,108,.065));
  color:var(--today-copper-bright);
  box-shadow:inset 0 0 0 1px rgba(240,195,155,.09);
}
.bottom-nav button:active{transform:scale(.96)}

.status-card{
  border-color:var(--today-line);
  background:
    radial-gradient(circle at 100% 0,rgba(215,160,108,.12),transparent 15rem),
    linear-gradient(145deg,rgba(18,23,24,.96),rgba(8,13,15,.98));
  box-shadow:var(--today-shadow),inset 0 1px 0 rgba(255,255,255,.035);
}
.status-card small,.auth-card small{color:var(--today-copper-bright)}
.auth-lock{
  border:1px solid rgba(240,195,155,.28);
  background:linear-gradient(145deg,#2b1d14,#151516);
  color:var(--today-copper-bright);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
}
.error-card{
  border-color:rgba(223,136,127,.28);
  background:
    radial-gradient(circle at 100% 0,rgba(223,136,127,.11),transparent 15rem),
    linear-gradient(145deg,rgba(24,19,19,.96),rgba(11,13,15,.98));
}
.home-state[data-state="loading"]{position:relative;overflow:hidden}
.home-state[data-state="loading"]::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-110%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  animation:hybri8-premium-shimmer 1.5s ease-in-out infinite;
}
@keyframes hybri8-premium-shimmer{to{transform:translateX(110%)}}

.sheet-backdrop{background:rgba(1,4,5,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sheet-card{
  border-color:rgba(240,195,155,.2);
  background:
    radial-gradient(circle at 90% 0,rgba(215,160,108,.1),transparent 18rem),
    linear-gradient(180deg,#141a1c,#090e10);
  box-shadow:0 -26px 86px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.05);
  max-height:calc(100vh - env(safe-area-inset-top) - 8px);
  max-height:calc(100dvh - env(safe-area-inset-top) - 8px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.sheet-head small{color:var(--today-copper-bright)}
.checkin-row{border-color:rgba(255,255,255,.07)}
.checkin-row button{
  min-height:44px;
  border-color:rgba(240,195,155,.14);
  background:rgba(215,160,108,.045);
}
.checkin-row button.selected{
  border-color:var(--today-copper);
  background:linear-gradient(180deg,var(--today-copper-bright),var(--today-copper));
  color:#17100b;
}
.toast{
  bottom:max(96px,calc(env(safe-area-inset-bottom) + 86px));
  border:1px solid rgba(240,195,155,.28);
  background:rgba(24,19,16,.95);
  color:#fff5ec;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:0 16px 48px rgba(0,0,0,.42);
}

/* Mobile, safe-area and accessibility contracts */
:focus-visible{
  outline:3px solid var(--today-copper-bright);
  outline-offset:3px;
}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}

@media(max-width:760px){
  .shell{width:min(100% - 20px,1120px)}
  .topbar{margin-inline:-4px;padding-inline:4px}
  .focus-card{border-radius:25px}
  .focus-main h2{font-size:clamp(36px,11vw,52px)}
  .intel-card{min-height:188px}
  .week-brain-entry{min-height:82px}
}

@media(max-width:430px){
  body{padding-bottom:max(102px,calc(env(safe-area-inset-bottom) + 94px))}
  .bottom-nav{width:calc(100% - 16px);height:68px;padding:6px;border-radius:20px}
  .bottom-nav button{min-height:48px}
  .bottom-nav button small{font-size:10px}
  .home-start,.primary-btn,.adaptive-alt,.goal-link,.quick-grid button{min-height:50px}
  .sheet-card{padding-bottom:max(26px,calc(env(safe-area-inset-bottom) + 18px))}
  .checkin-row button{min-height:46px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .home-state[data-state="loading"]::after{display:none}
}

@media(prefers-contrast:more){
  :root{--today-line:rgba(255,255,255,.34);--today-line-strong:rgba(255,255,255,.58)}
  .focus-card,.signal-card,.adaptive-card,.coach-card,.week-brain-entry,.intel-card,.status-card,.bottom-nav{border-width:2px}
  .bottom-nav button.active{box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
}
