/* Sprint 21: global hidden-state repair and neutral visual system */
[hidden]{display:none!important}

:root{
  --ink:#202433;
  --text:#202433;
  --text-soft:#687083;
  --muted:#7a8292;
  --paper:#f5f4f8;
  --surface:#ffffff;
  --panel:#ffffff;
  --card:#ffffff;
  --line:#dde1ea;
  --border:#dde1ea;
  --border-strong:#c8cfdb;
  --green:#5d5a88;
  --green2:#eceaf5;
  --brand:#5d5a88;
  --brand-deep:#454264;
  --executive:#5d5a88;
  --personal:#df5f7d;
  --creative:#7a63d8;
  --learning:#4f83d1;
  --news:#d28a2f;
  --social:#39a5b8;
  --shadow:0 12px 32px rgba(35,39,58,.08);
  --shadow-sm:0 8px 22px rgba(35,39,58,.07);
  --shadow-md:0 15px 36px rgba(35,39,58,.11);
}
html,body{background:linear-gradient(180deg,#f7f6fa 0%,#f2f3f7 100%);color:var(--text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3,.brand strong{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;letter-spacing:-.03em}

.shell>aside,
aside{
  background:linear-gradient(180deg,#202333 0%,#171925 100%)!important;
  color:#f4f5fa!important;
  border-right:1px solid rgba(255,255,255,.06);
}
.brand>span,.brand-mark{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.07)!important;color:#fff!important}
.brand small,.storage small,.arena-nav small{color:#aeb4c5!important}
.nav,.arena-nav,.storage button{color:#c5c9d5!important}
.nav:hover,.nav.active,.arena-nav:hover,.arena-nav.active{background:rgba(255,255,255,.09)!important;color:#fff!important}
.nav-group-title{color:#7f879b!important}
.nav-divider,.storage{border-color:rgba(255,255,255,.1)!important}
.command-hint{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important;color:#cfd3de!important}

.primary{
  background:linear-gradient(135deg,#66638f,#4b496c)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(70,68,103,.2)!important;
}
.primary:hover{box-shadow:0 12px 24px rgba(70,68,103,.27)!important}
.text-button,.link-button{color:#59567f!important}
.secondary{background:#fff!important;border-color:var(--border-strong)!important;color:var(--text)!important}

.briefing-hero{
  background:linear-gradient(135deg,#3d4059 0%,#5f5b82 62%,#7a6c95 100%)!important;
  box-shadow:0 24px 54px rgba(60,63,90,.22)!important;
}
.briefing-kicker,.briefing-focus-panel .executive-label{color:#d9d8e8!important}
.live-dot{background:#d6a85f!important;box-shadow:0 0 0 5px rgba(214,168,95,.14)!important}

.card,.object-card,.arena-library-card,.watch-card,.watch-guide-card,.guide-poster-card,.news-story,.executive-card,.intelligence-item,.next-action-item,.knowledge-result{
  background:rgba(255,255,255,.96)!important;
  border-color:var(--border)!important;
  box-shadow:var(--shadow-sm)!important;
}
.card:hover,.object-card:hover,.arena-library-card:hover,.watch-card:hover,.watch-guide-card:hover,.guide-poster-card:hover{border-color:#c9ceda!important}
.badge,.status-chip{background:#eeedf5!important;color:#555278!important}

.auth-gate{
  background:
    radial-gradient(circle at 18% 16%,rgba(122,99,216,.13),transparent 34%),
    radial-gradient(circle at 82% 82%,rgba(210,138,47,.10),transparent 30%),
    linear-gradient(145deg,#f8f7fb,#eeeff5)!important;
}
.auth-card{
  background:rgba(255,255,255,.92)!important;
  border-color:#d9ddea!important;
  box-shadow:0 28px 70px rgba(42,44,65,.16)!important;
  backdrop-filter:blur(16px);
}
.auth-mark{background:linear-gradient(135deg,#66638f,#4b496c)!important;box-shadow:0 10px 25px rgba(70,68,103,.25)}
.auth-card input{border-color:#d7dbe5!important;border-radius:12px!important}
.auth-card input:focus{border-color:#8581ad!important;box-shadow:0 0 0 4px rgba(102,99,143,.1)!important}

.news-mode.active,.news-category.active{background:linear-gradient(135deg,#484b62,#303244)!important;border-color:#484b62!important}
.watchos,.watch-guide{background:rgba(255,255,255,.9)!important}

@media(max-width:760px){
  .shell>aside{background:rgba(29,31,45,.97)!important}
}

/* Sprint 22: route fragments are mounted only inside the authenticated shell. */
.auth-locked, .auth-locked * { display: none !important; }
body:not(.app-ready) .shell { visibility: hidden; }
#watchOS:empty { display: none !important; }
