:root{
  --cassell-night:#050a10;
  --cassell-night-deep:#03070b;
  --cassell-glass:rgba(6,13,20,.58);
  --cassell-glass-heavy:rgba(6,12,18,.72);
  --cassell-glass-light:rgba(6,13,20,.38);
  --cassell-night-line:rgba(177,191,204,.18);
  --cassell-night-gold:#c5a965;
  --cassell-night-paper:#eee9dd;
  --cassell-scene-x:0px;
  --cassell-scene-y:0px;
  --cassell-scroll-y:0px;
  --cassell-scroll-progress:0%;
  --cassell-scene-opacity:.88;
  --cassell-scene-filter:saturate(.86) contrast(1.03) brightness(.88);
}

html{background:var(--cassell-night-deep)}
body{
  position:relative;
  isolation:isolate;
  background:var(--cassell-night-deep)!important;
  color:var(--cassell-night-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#cassell-app{position:relative;z-index:2;min-height:100vh;background:transparent}
.skip-link{z-index:999}

.cassell-night-layer{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#03070b;
}
.cassell-night-layer img{
  position:absolute;
  inset:-30px;
  width:calc(100% + 60px);
  height:calc(100% + 60px);
  object-fit:cover;
  object-position:center;
  opacity:0;
  filter:var(--cassell-scene-filter);
  transform:translate3d(var(--cassell-scene-x),calc(var(--cassell-scene-y) + var(--cassell-scroll-y)),0) scale(1.035);
  transition:opacity .9s cubic-bezier(.2,.8,.2,1),filter .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);
  will-change:transform,opacity;
}
.cassell-night-layer img.is-active{opacity:var(--cassell-scene-opacity)}
.cassell-night-layer::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 58% 30%,rgba(36,70,101,.08),transparent 34%),
    linear-gradient(90deg,rgba(2,6,10,.38),rgba(2,7,12,.12) 46%,rgba(2,6,10,.32)),
    linear-gradient(180deg,rgba(2,6,10,.16),rgba(2,6,10,.34));
}
body[data-cassell-scene="archives"]{--cassell-scene-opacity:.92;--cassell-scene-filter:saturate(.8) contrast(1.02) brightness(.94)}
body[data-cassell-scene="missions"]{--cassell-scene-opacity:.9;--cassell-scene-filter:saturate(.82) contrast(1.02) brightness(.92)}
body[data-cassell-scene="forum"]{--cassell-scene-opacity:.88;--cassell-scene-filter:saturate(.82) contrast(1.03) brightness(.9)}
body[data-cassell-scene="missions"] .cassell-night-layer img{object-position:64% 40%}
body[data-cassell-scene="archives"] .cassell-night-layer img{object-position:54% center}
body[data-cassell-scene="forum"] .cassell-night-layer img{object-position:center}
body[data-cassell-scene="explore"] .cassell-night-layer{opacity:.12}
body.cassell-focus-mode{--cassell-scene-opacity:.58}
body.cassell-focus-mode .panel,
body.cassell-focus-mode .forum-group,
body.cassell-focus-mode .news-card,
body.cassell-focus-mode .restricted-panel{background:rgba(6,13,20,.8)!important}

/* A compact session rail mirrors the selected reference and keeps scene controls useful. */
.cassell-scene-rail{display:none}
@media(min-width:1180px){
  .main{padding-left:132px!important}
  .cassell-scene-rail{
    position:fixed;
    z-index:24;
    top:138px;
    bottom:24px;
    left:20px;
    width:112px;
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:18px 14px 14px;
    border:1px solid rgba(177,191,204,.16);
    background:rgba(4,10,16,.48);
    box-shadow:0 18px 44px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.025);
    backdrop-filter:blur(14px) saturate(.82);
  }
  .cassell-scene-rail::before{
    content:"";
    position:absolute;
    top:0;
    left:14px;
    width:32px;
    height:1px;
    background:var(--cassell-night-gold);
  }
  .cassell-rail-eyebrow,.cassell-rail-code{
    color:#7f8b95;
    font:9px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .cassell-scene-rail strong{color:#eee7d7;font:500 15px/1.45 Georgia,"Noto Serif SC",serif;white-space:nowrap}
  .cassell-rail-status{padding-top:16px;border-top:1px solid rgba(177,191,204,.13);color:#7fc4aa;font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
  .cassell-rail-status::before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#5bc7a2;box-shadow:0 0 12px rgba(91,199,162,.7)}
  .cassell-rail-progress{position:relative;flex:1;min-height:70px;width:1px;margin-left:3px;background:rgba(177,191,204,.14);overflow:hidden}
  .cassell-rail-progress i{position:absolute;top:0;left:0;width:1px;height:var(--cassell-scroll-progress);background:#d7c080;transition:height .12s linear}
  .cassell-rail-mode{
    width:100%;
    min-height:34px;
    padding:7px 5px;
    border:1px solid rgba(197,169,101,.28);
    background:rgba(9,15,21,.46);
    color:#cbb67f;
    font-family:inherit;
    font-size:10px;
    line-height:1.35;
    white-space:nowrap;
    letter-spacing:.08em;
    cursor:pointer;
  }
  .cassell-rail-mode:hover,.cassell-rail-mode:focus-visible{border-color:rgba(220,194,126,.66);background:rgba(197,169,101,.09);outline:none}
}

/* The shell stays institutional, but now reads as one translucent instrument. */
.site-head{
  position:sticky!important;
  top:0;
  z-index:60!important;
  border-color:rgba(191,203,214,.14)!important;
  background:rgba(3,8,13,.62)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.2)!important;
  backdrop-filter:blur(20px) saturate(.88);
}
.utility{display:none!important}
.head-main{min-height:62px!important;gap:22px!important}
.seal{box-shadow:inset 0 0 0 4px rgba(7,12,18,.86),inset 0 0 0 5px rgba(150,127,70,.8),0 0 24px rgba(191,159,83,.08)!important}
.brand-copy strong{color:#f2ecdf!important;font-weight:520!important}
.brand-copy span{color:#919ba4!important}
.access-chip{border-color:rgba(197,169,101,.32)!important;background:rgba(9,14,19,.38)!important;color:#d2bc82!important}
.search-form input,.field{
  border-color:rgba(177,191,204,.2)!important;
  background:rgba(4,9,14,.6)!important;
  backdrop-filter:blur(12px);
}
.search-form button,.icon-btn,.btn{background:rgba(12,19,27,.72)!important;border-color:rgba(177,191,204,.2)!important}
.btn-primary{background:var(--cassell-night-gold)!important;border-color:var(--cassell-night-gold)!important;color:#15120b!important}
.primary-nav{border-color:rgba(177,191,204,.12)!important;background:rgba(5,11,17,.46)!important}
.nav-inner{min-height:38px!important}
.nav-link{padding:8px 14px!important;color:#b7c0c8!important}
.nav-link:hover,.nav-link.active{color:#e1cf9b!important;border-color:var(--cassell-night-gold)!important;background:rgba(197,169,101,.055)!important}
.context-bar{display:none!important}

.main{padding-top:24px!important}
.panel,.forum-group,.news-card,.modal-card,.drawer,.restricted-panel{
  border-color:var(--cassell-night-line)!important;
  background:var(--cassell-glass)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.025)!important;
  backdrop-filter:blur(10px) saturate(.86);
}
.forum-overview>div{background:rgba(6,13,20,.54)!important;backdrop-filter:blur(10px) saturate(.86)}
.panel-head{
  border-color:rgba(177,191,204,.14)!important;
  background:rgba(10,18,26,.46)!important;
}
.panel-body,.list,.archive-list{background:transparent!important}
.workbench-hero{background:rgba(5,12,18,.56)!important}
.workbench-hero .panel-body{background:linear-gradient(105deg,rgba(5,11,17,.2),rgba(5,11,17,.52))!important}
.workbench-kicker,.classification,.doc-no,.news-category{color:#cdb578!important}
.workbench-title-row h1,.page-title,.article-head h1{color:#f2ecdf!important;text-shadow:0 2px 20px rgba(0,0,0,.28)}
.session-ledger{border-color:rgba(177,191,204,.16)!important;background:rgba(4,9,14,.28)!important}
.session-ledger>div{border-color:rgba(177,191,204,.12)!important}
.quick-action{border-color:rgba(177,191,204,.17)!important;background:rgba(8,15,22,.42)!important}
.quick-action:hover{border-color:rgba(197,169,101,.42)!important;background:rgba(197,169,101,.08)!important}
.notice-strip{border-color:rgba(139,63,67,.42)!important;border-left:2px solid rgba(165,82,85,.72)!important;background:rgba(18,14,19,.54)!important;backdrop-filter:blur(10px)}
.norma-box{background:rgba(8,22,31,.58)!important}
.mission-hero{background:rgba(6,17,25,.62)!important;backdrop-filter:blur(10px) saturate(.84)}
.mission-option-card{background:rgba(6,13,20,.54)!important;backdrop-filter:blur(10px) saturate(.84)}
.mission-option-card:hover{background:rgba(10,21,30,.68)!important;border-color:rgba(197,169,101,.34)!important}

.group-title{background:rgba(8,15,22,.48)!important;border-color:rgba(177,191,204,.14)!important}
.board-row,.thread-row,.list-item,.archive-row,.notification-item,.activity-row,.search-result{
  border-color:rgba(177,191,204,.12)!important;
  background:rgba(5,11,17,.08)!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
.board-row:hover,.thread-row:hover,.list-item:hover,.archive-row:hover,.notification-item:hover,.activity-row:hover,.search-result:hover{
  background:rgba(18,29,40,.66)!important;
  border-color:rgba(197,169,101,.2)!important;
  box-shadow:inset 2px 0 rgba(197,169,101,.52)!important;
  transform:translateX(2px)!important;
}
.archive-row a,.restricted-panel a,.article a{color:#d8c184!important}
.archive-level,.classification{color:#cf858b!important}
.restricted-panel,.redacted-block{background:rgba(24,11,16,.64)!important}
.redaction-lines i{background:rgba(1,3,5,.86)!important;border-color:rgba(177,191,204,.12)!important}
.site-footer{position:relative;z-index:2;border-color:rgba(177,191,204,.12)!important;background:rgba(3,8,13,.52)!important;backdrop-filter:blur(14px)}

/* Detail routes keep a calm reading column without closing off the environment. */
.thread-document{
  width:min(1040px,100%);
  margin-inline:auto;
  border-color:rgba(177,191,204,.2)!important;
  background:rgba(4,10,16,.3)!important;
  box-shadow:0 28px 76px rgba(0,0,0,.24)!important;
}
.thread-masthead{
  position:relative;
  overflow:hidden;
  background:linear-gradient(115deg,rgba(7,15,22,.68),rgba(8,15,22,.42))!important;
  border-color:rgba(177,191,204,.16)!important;
  backdrop-filter:blur(12px) saturate(.84);
}
.thread-masthead::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,#d6bd79,rgba(214,189,121,.08));
}
.thread-meta-grid{color:#929ca5!important}
.thread-actionbar,.reading-toolbar{
  border-color:rgba(177,191,204,.14)!important;
  background:rgba(5,11,17,.72)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.17)!important;
  backdrop-filter:blur(16px) saturate(.82);
}
.record-variance,.context-banner{
  border-color:rgba(177,191,204,.13)!important;
  background:rgba(8,17,24,.58)!important;
  backdrop-filter:blur(10px);
}
.post-floor{
  border-color:rgba(177,191,204,.13)!important;
  background:rgba(5,11,17,.58)!important;
  backdrop-filter:blur(10px) saturate(.82);
  transition:background .2s ease,border-color .2s ease!important;
}
.post-floor:nth-of-type(even){background:rgba(7,14,21,.64)!important}
.post-floor:hover{background:rgba(10,19,27,.72)!important;border-color:rgba(197,169,101,.2)!important}
.post-user{
  border-color:rgba(177,191,204,.12)!important;
  background:rgba(3,8,13,.34)!important;
}
.post-content{background:linear-gradient(90deg,rgba(7,13,19,.1),transparent 70%)}
.post-body{max-width:72ch;color:#e2ddd3!important;font-size:15px!important;line-height:1.95!important}
.post-top,.post-actions{border-color:rgba(177,191,204,.12)!important}
.quote-card,.reference-item{background:rgba(12,18,23,.48)!important;backdrop-filter:blur(8px)}
.reply-launch{
  width:min(1040px,100%);
  margin-inline:auto;
  border-color:rgba(177,191,204,.16)!important;
  background:rgba(5,11,17,.7)!important;
  backdrop-filter:blur(14px);
}

.article{
  border-color:rgba(177,191,204,.2)!important;
  background:rgba(5,11,17,.6)!important;
  backdrop-filter:blur(14px) saturate(.84);
}
.article-head{border-color:rgba(177,191,204,.14)!important;background:linear-gradient(115deg,rgba(9,17,24,.58),rgba(8,14,20,.24))}
.article-body{max-width:72ch;margin-inline:auto;color:#ddd8ce}
.restricted-panel{
  width:min(940px,100%);
  margin:44px auto 72px;
  border:1px solid rgba(173,90,98,.4)!important;
  background:linear-gradient(120deg,rgba(28,12,18,.68),rgba(11,10,16,.48))!important;
  box-shadow:0 30px 80px rgba(0,0,0,.24),inset 2px 0 rgba(179,88,96,.4)!important;
  backdrop-filter:blur(13px) saturate(.82)!important;
}
.restricted-panel::before{color:rgba(157,73,81,.18)!important}
.restricted-panel .redaction-lines{opacity:.68}

/* Mission dossiers read like illuminated documents layered over the night scene. */
.mission-dossier{
  position:relative;
  overflow:clip;
  width:min(1080px,100%);
  margin-inline:auto;
  border-color:rgba(177,191,204,.2)!important;
  background:rgba(4,10,16,.46)!important;
  box-shadow:0 30px 86px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(11px) saturate(.84);
}
.dossier-cover{
  background:radial-gradient(circle at 84% 18%,rgba(113,29,38,.28),transparent 32%),linear-gradient(145deg,rgba(11,21,30,.7),rgba(8,13,19,.46) 72%)!important;
  border-color:rgba(177,191,204,.16)!important;
}
.dossier-alert{background:rgba(55,16,22,.68)!important;border-color:rgba(168,77,84,.34)!important;backdrop-filter:blur(10px)}
.dossier-main{background:rgba(4,10,16,.14)}
.dossier-sidebar{border-color:rgba(177,191,204,.14)!important;background:rgba(3,8,13,.52)!important;backdrop-filter:blur(14px)}
.dossier-sidebar section,.dossier-list li,.intelligence-grid li,.personnel-roster>div,.support-list li,.signature-grid>div{
  border-color:rgba(177,191,204,.14)!important;
  background:rgba(8,15,22,.44)!important;
}
.dossier-section{border-color:rgba(177,191,204,.13)!important}
.dossier-prose{max-width:70ch}
.risk-table{border-color:rgba(177,191,204,.16)!important;background:rgba(6,12,18,.34)}
.risk-table>div+div,.risk-table>div>*{border-color:rgba(177,191,204,.13)!important}
.risk-head{background:rgba(12,21,29,.58)!important}
.mission-dossier::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0 47%,rgba(92,158,196,.045) 50%,transparent 53% 100%);
  transform:translateY(-70%);
  animation:cassellAccessScan 9s linear infinite;
}

/* Keyboard navigation remains visible against both glass and photography. */
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid #e2c77f!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(226,199,127,.13)!important;
}

/* The visitor prompt becomes a retractable status drawer instead of blocking content. */
.cassell-auth-gate{
  width:min(310px,calc(100vw - 28px))!important;
  border-color:rgba(197,169,101,.28)!important;
  background:rgba(7,14,21,.78)!important;
  box-shadow:0 18px 54px rgba(0,0,0,.36)!important;
  backdrop-filter:blur(20px) saturate(.86)!important;
  transform:translateY(calc(100% - 34px));
  opacity:.68;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,background .2s ease!important;
}
.cassell-auth-gate:hover,.cassell-auth-gate:focus-within{
  transform:translateY(0);
  opacity:1;
  background:rgba(7,14,21,.93)!important;
}
.cassell-auth-gate.is-inline{transform:none!important;opacity:1!important}

/* Small motion cues: route reveal, active line and system status only. */
body.cassell-route-enter #cassell-main{animation:cassellRouteEnter .42s cubic-bezier(.2,.8,.2,1) both}
.nav-link.active{position:relative}
.nav-link.active::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,#e3c77d,transparent);
  animation:cassellActiveLine 2.8s ease-in-out infinite;
}
.status-online,.norma-label b{animation:cassellStatusBreath 3.2s ease-in-out infinite}
body[data-cassell-scene="archives"] .restricted-panel::after,
body[data-cassell-scene="missions"] .mission-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0 46%,rgba(104,167,204,.07) 49%,transparent 52% 100%);
  transform:translateY(-65%);
  animation:cassellAccessScan 7s linear infinite;
}

@keyframes cassellRouteEnter{from{opacity:.28;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes cassellActiveLine{0%,100%{opacity:.38;transform:scaleX(.58)}50%{opacity:1;transform:scaleX(1)}}
@keyframes cassellStatusBreath{0%,100%{opacity:.7}50%{opacity:1;text-shadow:0 0 12px rgba(91,202,171,.32)}}
@keyframes cassellAccessScan{from{transform:translateY(-70%)}to{transform:translateY(75%)}}

/* Login now uses the same original night asset as the internal shell. */
.login{background:transparent!important}
.login::before,.login::after{display:none!important}
.login-scene{background:linear-gradient(90deg,rgba(3,8,13,.18),rgba(3,8,13,.48))!important}
.login-panel{background:rgba(5,11,17,.78)!important;border-color:rgba(177,191,204,.18)!important;backdrop-filter:blur(22px) saturate(.84)!important}

@media(max-width:980px){
  .cassell-night-layer img{object-position:58% center;opacity:.58}
  .cassell-night-layer img.is-active{opacity:.62}
  body.cassell-focus-mode .cassell-night-layer img.is-active{opacity:.4}
  .grid-home{grid-template-columns:1fr!important}
  .panel,.forum-group,.news-card,.restricted-panel{background:var(--cassell-glass-heavy)!important}
  .thread-document,.mission-dossier{width:100%}
  .dossier-sidebar{background:rgba(4,10,16,.78)!important}
}
@media(max-width:700px){
  .utility{display:none!important}
  .site-head{backdrop-filter:blur(18px)}
  .head-main{min-height:64px!important}
  .primary-nav.open{background:rgba(4,9,14,.94)!important;backdrop-filter:blur(20px)}
  .context-bar{display:none!important}
  .main{padding-top:16px!important}
  .cassell-night-layer img{inset:-18px;width:calc(100% + 36px);height:calc(100% + 36px);object-position:62% center;opacity:.44;filter:saturate(.7) contrast(1.04) brightness(.6)}
  .cassell-night-layer img.is-active{opacity:.46}
  body.cassell-focus-mode .cassell-night-layer img.is-active{opacity:.3}
  .cassell-night-layer::after{background:linear-gradient(180deg,rgba(2,6,10,.42),rgba(2,6,10,.68))}
  .panel,.forum-group,.news-card,.restricted-panel{background:rgba(6,12,18,.86)!important;backdrop-filter:blur(14px)}
  .forum-overview>div{background:rgba(6,12,18,.84)!important;backdrop-filter:blur(14px)}
  .forum-overview>div:last-child{grid-column:1/-1!important}
  .board-row:hover,.thread-row:hover,.list-item:hover,.archive-row:hover{transform:none!important}
  .cassell-auth-gate{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important}
  .thread-document{background:rgba(5,11,17,.76)!important}
  .thread-masthead,.post-floor,.post-floor:nth-of-type(even){background:rgba(6,12,18,.78)!important}
  .post-user{background:rgba(3,8,13,.52)!important}
  .post-body{font-size:14px!important;line-height:1.9!important}
  .restricted-panel{margin:20px auto 48px;padding:22px!important;background:rgba(27,12,17,.82)!important}
  .mission-dossier{background:rgba(5,11,17,.75)!important}
  .dossier-cover{background:linear-gradient(145deg,rgba(10,19,27,.86),rgba(13,12,18,.72))!important}
  .mission-dossier::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .cassell-night-layer img{transition:none!important;transform:scale(1.025)!important}
  body.cassell-route-enter #cassell-main,.nav-link.active::after,.status-online,.norma-label b,
  body[data-cassell-scene="archives"] .restricted-panel::after,
  body[data-cassell-scene="missions"] .mission-panel::after,
  .mission-dossier::after{animation:none!important}
  .cassell-auth-gate,.cassell-rail-progress i{transition:none!important}
}
