/* Comeinside v6 development visual system.
   Preserves the v5 atmosphere: Cormorant Garamond, Space Mono, icy accents,
   restrained borders, corridor imagery, grain and vignetting. */
:root {
  color-scheme: dark;
  --abyss:#050709;--charcoal:#0e1115;--slate:#1c2128;
  --luminous:#edf3f8;--primary:#d2dbe3;--muted:#88949e;
  --whisper:#66717c;--ice:#a8ccde;--hairline:rgba(175,200,218,.22);
  --display:'Cormorant Garamond',Georgia,serif;
  --mono:'Space Mono',Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--abyss);color:var(--primary);font-family:var(--mono);font-size:13px;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,a{outline-offset:4px}
::selection{background:rgba(168,204,222,.35);color:#fff}
.site-shell{width:min(1440px,100%);margin:auto;position:relative;padding:0 clamp(20px,4.7vw,78px)}
.masthead{height:108px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid rgba(175,200,218,.12);position:relative;z-index:2}
.wordmark{font:400 31px/1 var(--display);letter-spacing:.16em;text-decoration:none;white-space:nowrap;color:#f2f7fc}
.wordmark span{font-size:.83em;color:rgba(185,202,214,.52)}
.masthead nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,45px)}
.masthead nav a,.edition,.overline,.micro,.hero-footnote,.margin-note,.wing-rule,.method-index,.site-footer,.return,.section-note{font:400 10px/1.65 var(--mono);letter-spacing:.16em}
.masthead nav a{text-decoration:none;color:#b6c0ca;transition:color .2s}
.masthead nav a:hover,.masthead nav a[aria-current]{color:#fff}
.edition{color:#7f8a94;white-space:nowrap;font-size:9px}
.hero{min-height:705px;min-height:min(770px,calc(100svh - 110px));display:flex;align-items:center;justify-content:center;position:relative;padding:70px 0 95px}
.hero-panel{width:min(840px,100%);text-align:center;border-top:1px solid rgba(219,226,226,.25);border-bottom:1px solid rgba(219,226,226,.18);padding:clamp(26px,4.5vw,68px) clamp(22px,4vw,55px);background:linear-gradient(180deg,rgba(5,10,14,.54),rgba(5,10,14,.7));backdrop-filter:blur(4px);box-shadow:0 22px 80px rgba(0,0,0,.17)}
.overline{color:#bdcbd2;font-size:10px;letter-spacing:.21em;text-transform:uppercase}
.hero h1{font:300 clamp(68px,10.5vw,154px)/.86 var(--display);letter-spacing:-.045em;margin:30px 0 25px;color:var(--luminous);white-space:nowrap}
.hero-subtitle{font:300 clamp(25px,3vw,42px)/1.1 var(--display);color:#f0f4f6;margin:0 0 24px}
.hero-description{max-width:670px;font:300 clamp(20px,2vw,27px)/1.4 var(--display);margin:0 auto 30px;color:#ccd5db}
.hero-links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0 27px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;text-decoration:none;border:1px solid rgba(226,236,242,.3);background:rgba(4,9,11,.28);padding:15px 21px;color:#cad8e1;letter-spacing:.14em;font-size:10px;transition:background .2s,border-color .2s,transform .2s}
.outline-button.primary{color:#edf3f8;border-color:rgba(226,236,242,.57)}
.outline-button:hover{background:rgba(168,204,222,.1);border-color:rgba(226,236,242,.75);transform:translateY(-2px)}
.hero-footnote{color:#a1abb3;font-size:9px;letter-spacing:.08em;max-width:480px;margin:0 auto}
.margin-note{position:absolute;color:#929fa9;opacity:.75;top:41%;font-size:9px}
.margin-left{left:0}.margin-right{right:0;text-align:right}
.section-frame{max-width:1110px;margin:auto;padding:94px 0;border-top:1px solid rgba(175,200,218,.18);scroll-margin-top:25px}
.section-head{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:65px;margin-bottom:40px}
h2,h3{font-family:var(--display);font-weight:400;color:var(--luminous)}
.section-head h2{font-size:clamp(39px,5.3vw,68px);line-height:1;margin:10px 0 0}
.section-head>p{font:300 24px/1.45 var(--display);margin:0;color:#b7c2c9}
.wing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wing-card{background:linear-gradient(148deg,rgba(20,29,36,.83),rgba(5,9,12,.9));border:1px solid rgba(175,200,218,.22);min-height:405px;padding:36px 38px 30px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .2s,background .2s}
.wing-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(168,204,222,.065),transparent 35%)}
.wing-card:nth-child(2){background:linear-gradient(150deg,rgba(22,24,30,.84),rgba(8,8,11,.92))}
.wing-card:hover{border-color:rgba(190,222,242,.5)}
.wing-card .overline{color:#aab7c2;font-size:9px}
.wing-icon{font:300 67px/1 var(--display);color:rgba(188,213,229,.42);margin:34px 0 10px}
.wing-card h3{font-size:44px;line-height:1;margin:6px 0 12px}
.wing-card>p:not(.overline){font:300 21px/1.4 var(--display);color:#b9c4cc;max-width:390px;margin:0 0 25px}
.wing-link{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.13em;text-decoration:none;padding:16px 0;border-top:1px solid rgba(185,207,218,.25);border-bottom:1px solid rgba(185,207,218,.25);margin-top:auto;color:#dce9ef}
.wing-link span{font-size:19px;transition:transform .2s}
.wing-link:hover span{transform:translateX(6px)}
.wing-rule{margin-top:18px;color:#7c929e;font-size:9px}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.method-grid>div{border-top:1px solid var(--hairline);padding:24px 0 0}
.method-index{font-size:9px;color:#8ca5b4}
.method-grid h3{font-size:29px;margin:18px 0 11px}
.method-grid p{font:300 21px/1.42 var(--display);color:#aab9c3;margin:0}
.status-section{display:flex;justify-content:space-between;align-items:center;gap:38px}
.status-section h2{font-size:46px;margin:9px 0 8px}
.muted{font:300 22px/1.4 var(--display);color:#aebbc5;margin:0}
.system-state{display:flex;gap:12px;align-items:center;border:1px solid var(--hairline);background:rgba(4,8,11,.55);padding:19px 21px;font-size:9px;letter-spacing:.1em;flex-wrap:wrap}
.status-dot{display:inline-block;width:7px;height:7px;background:#b09b7b;border-radius:50%;box-shadow:0 0 10px #b09b7b55;flex:none}
.system-state a{color:#c9dde9;text-decoration:none;margin-left:12px}
.site-footer{border-top:1px solid rgba(175,200,218,.18);padding:30px 0 40px;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;color:#82919a;font-size:9px}
.site-footer a{text-decoration:none;color:#b7c6d0}
.observatory-main{min-height:73vh;padding-top:100px}
.observatory-main h1{font:300 clamp(54px,8vw,98px)/.97 var(--display);color:#f0f5f7;margin:25px 0}
.observatory-main .hero-description{margin-left:0;max-width:900px}
.notice-offline{display:flex;align-items:start;gap:20px;background:rgba(7,13,17,.8);border:1px solid var(--hairline);padding:30px;margin:47px 0}
.notice-offline strong{font-size:11px;letter-spacing:.15em}
.notice-offline p{font:300 23px/1.3 var(--display);margin:12px 0 0;color:#a9bac6}
.stat-skeleton{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:42px 0}
.stat-skeleton>div{border-top:1px solid var(--hairline);padding:17px 6px}
.stat-skeleton span,.record-grid .micro{display:block;color:#9ca9b5;font:400 10px/1.6 var(--mono);letter-spacing:.12em}
.stat-skeleton strong{display:block;margin-top:16px;font:300 49px var(--display)}
.observatory-main h2{font-size:42px;margin:50px 0 12px}
.empty-observations{border:1px dashed rgba(175,200,218,.22);padding:28px;font:300 22px/1.4 var(--display);color:#adbcc7}
.return{margin:44px 0 0;color:#b7d1e0}.return a{text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:4px}

/* Generated rooms: quiet institutional paper inside the same visual world. */
body.registry-page{background:radial-gradient(ellipse at 50% 0%,#17212a 0%,#080c10 55%,#050709 100%);min-height:100svh}
.registry-header,.registry-footer{max-width:1100px;margin:auto;padding:29px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--hairline)}
.registry-header>span,.registry-header>a:last-child,.registry-footer{font-size:9px;letter-spacing:.14em;color:#8ba0ae;text-decoration:none}
.registry-main{max-width:900px;margin:80px auto 100px;padding:0 25px}
.registry-main h1{font:300 clamp(51px,7vw,88px)/.95 var(--display);color:var(--luminous);margin:19px 0}
.registry-main .lead{font:300 27px/1.4 var(--display);color:#c2d0d9;max-width:760px;margin:15px 0 32px}
.registry-main section{margin:52px 0}
.registry-main h2{font:400 36px var(--display);margin:0 0 12px}
.registry-main .section-note{font-size:10px;color:#8ca0ae;margin:4px 0 20px}
.record-grid{display:flex;flex-wrap:wrap;gap:40px 55px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:25px 5px;margin:32px 0}
.record-grid strong{font:300 22px var(--display);color:#e0eaf1;display:block;margin-top:7px}
.links{padding:0;margin:20px 0;list-style:none;border-top:1px solid var(--hairline)}
.links li a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid var(--hairline);text-decoration:none;color:#cbd9e1;transition:padding .2s,background .2s}
.links li a:hover{padding-left:11px;background:rgba(168,204,222,.05)}
.links li a>span{font:300 22px var(--display)}
.links li a small{font:400 9px var(--mono);white-space:nowrap;letter-spacing:.13em;color:#89a1af}
.registry-note{font:300 23px/1.45 var(--display);color:#aab9c3;border-left:1px solid #8ba4b3;padding-left:24px;margin-top:45px}
.body-copy{font:300 26px/1.48 var(--display);color:#bbc9d3}
.registry-footer{border-top:1px solid var(--hairline);border-bottom:0;font-size:9px;color:#81909c}
.registry-footer span{color:#6f8594}

/* Responsive and reduced-motion accommodations */
@media(max-width:1100px){.margin-note{display:none}.edition{display:none}.masthead{height:90px}}
@media(max-width:760px){
.site-shell{padding:0 21px}.masthead{height:auto;padding:25px 0;align-items:flex-start;flex-wrap:wrap}.wordmark{font-size:27px}.masthead nav{order:3;width:100%;justify-content:space-between;gap:9px}.masthead nav a{font-size:8px}
.hero{min-height:650px;padding:85px 0}.hero h1{font-size:clamp(54px,14vw,96px)}.hero-panel{padding:35px 18px}.overline{font-size:8px}.hero-description{font-size:21px}.hero-footnote{font-size:9px}
.section-frame{padding:67px 0}.section-head{display:block;margin-bottom:29px}.section-head>p{margin-top:19px;font-size:21px}.section-head h2{font-size:45px}
.wing-grid,.method-grid{grid-template-columns:1fr}.wing-card{min-height:360px;padding:27px}.wing-card h3{font-size:40px}.wing-card>p:not(.overline){font-size:21px}
.status-section{display:block}.system-state{margin-top:30px}.site-footer{font-size:8px}
.stat-skeleton{grid-template-columns:1fr 1fr}.observatory-main{padding-top:70px}.registry-main{margin-top:55px}.registry-header,.registry-footer{padding:25px 18px;flex-wrap:wrap}.registry-header>a:last-child{font-size:8px}.record-grid{gap:23px}
.links li a>span{font-size:21px}.links li a small{font-size:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Ensure the corridor appears behind the homepage even with opaque body backgrounds. */
body.homepage,body.observatory-page {
  /* One corridor photograph, one gentle dark gradient, no procedural texture. */
  background-color:#050709;
  background-image:linear-gradient(180deg,rgba(3,6,9,.58) 0%,rgba(3,6,9,.73) 66%,rgba(3,6,9,.94) 100%),url('/static/assets/corridor.jpg');
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-size:cover;
}
.case-reference {margin:24px 0;color:#d2e0e9;font:300 23px/1.35 var(--display)}
.case-reference a {text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:4px}

.event-item{padding:20px 3px 24px;border-bottom:1px solid var(--hairline);background:rgba(2,5,8,.16)}
.event-heading{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}
.event-heading strong{font:300 25px var(--display);color:#e1ecf3}
.event-wing{font:400 9px/1.7 var(--mono);letter-spacing:.15em;color:#9ac9d9}
.event-wing.forbidden{color:#d9b59c}
.event-item p{font:300 21px/1.45 var(--display);margin:10px 0;color:#c0d0d9}
.event-item small{font:400 9px/1.7 var(--mono);letter-spacing:.06em;color:#8797a4}

.expedition-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:18px 0;border-bottom:1px solid var(--hairline)}
.expedition-row strong{font:300 24px var(--display);min-width:210px;color:#dae7ee}
.expedition-row>span:nth-of-type(2){font:300 20px var(--display);color:#bacad3;flex:1 1 240px}
.replay-button{font:400 9px var(--mono);letter-spacing:.11em;color:var(--ice);background:transparent;border:1px solid var(--hairline);padding:11px 13px;cursor:pointer}
.replay-button:hover,.replay-button:focus-visible{background:rgba(168,204,222,.08);border-color:var(--ice)}
.replay-line{padding:14px 0;border-bottom:1px solid var(--hairline);font:400 10px/1.9 var(--mono);color:#acbbc7}
#replayPanel{padding-top:30px;scroll-margin-top:30px}

.associated-case{font:300 21px/1.45 var(--display);color:#94a7b5;margin:15px 0 28px}
.associated-case a{color:#bcd6e5;text-decoration:none;border-bottom:1px solid var(--hairline)}

/* V6.0.4: keep live telemetry prominent and genuinely readable. */
.today-strip{
  max-width:1110px;margin:0 auto;
  display:grid;grid-template-columns:minmax(230px,255px) minmax(0,1fr);
  align-items:center;column-gap:20px;row-gap:9px;
  padding:21px 0 18px;
  border-bottom:1px solid rgba(175,200,218,.28);
}
.today-heading{min-width:0}
.today-live{
  display:flex;align-items:center;gap:10px;
  font:700 14px/1.5 var(--mono);letter-spacing:.02em;
  color:#e0edf5;
}
.today-live .status-dot{width:9px;height:9px}
.today-heading>p{
  font:400 12px/1.55 var(--mono);color:#b8cbd7;
  letter-spacing:.015em;margin:6px 0;
}
.today-heading>a{
  font:700 12px/1.55 var(--mono);letter-spacing:.01em;
  text-decoration:none;color:#c9e1ee;
}
.today-heading>a:hover{text-decoration:underline}
.today-numbers{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
}
.today-numbers>div{
  border-left:1px solid var(--hairline);
  padding:2px 9px 2px 15px;min-width:0;
}
.today-numbers span{
  display:block;min-height:36px;
  font:700 12px/1.45 var(--mono);letter-spacing:0;
  color:#c0d2dd;
}
.today-numbers strong,.today-numbers time{
  display:block;margin-top:7px;color:var(--luminous);
  font:300 clamp(28px,2.9vw,42px)/1.1 var(--display);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.today-numbers time{
  font-size:clamp(20px,1.8vw,25px);
  padding-top:11px;
}
.today-disclaimer{
  grid-column:1/-1;color:#a8becd;
  letter-spacing:0;font:400 12px/1.5 var(--mono);
  margin:3px 0 0;
}
body.homepage .hero{
  min-height:min(700px,calc(100svh - 205px));
  padding-top:40px;padding-bottom:65px;
}
.last-observation{margin-top:14px!important;font:400 9px/1.7 var(--mono)!important;letter-spacing:.08em;color:#94a8b5!important}
.last-observation time{color:#ccdbe4}
body[data-observation="connected"] .status-dot{background:#8cb1ab;box-shadow:0 0 11px rgba(140,177,171,.4)}
body[data-observation="degraded"] .status-dot{background:#d3a778;box-shadow:0 0 11px rgba(211,167,120,.45)}
body[data-observation="unavailable"] .status-dot{background:#ad8a86}
@media(max-width:950px){
  .today-strip{grid-template-columns:1fr;gap:14px;padding:19px 0}
  .today-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .today-heading>p{margin:0}
  .today-disclaimer{margin:2px 0 0}
}
@media(max-width:760px){
  .today-strip{padding:18px 0}
  .today-numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 0}
  .today-numbers>div{padding-left:13px}
  .today-numbers span{font-size:12px;min-height:36px}
  .today-numbers strong{font-size:37px}
  .today-numbers time{font-size:25px}
  .today-disclaimer{font-size:12px}
  body.homepage .hero{min-height:580px;padding:45px 0 65px}
}
@media(max-width:400px){
  .today-heading>p{width:100%}
  .today-numbers strong{font-size:34px}
  .today-numbers time{font-size:22px}
}

/* Homepage explainer draft: restore v5's project context in the v6 visual language. */
.hero-plain{color:var(--ice);font:400 10px/1.8 var(--mono);letter-spacing:.2em;margin:0 auto 18px}
.explain-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(35px,6vw,90px);align-items:start}
.explain-copy p{font:300 clamp(21px,2.1vw,26px)/1.45 var(--display);color:#c3d0d9;margin:0 0 22px}
.explain-copy a,.method-grid a,.section-head a{color:#cfe4f0;text-decoration:none;border-bottom:1px solid rgba(175,200,218,.4)}
.experiment-question{border-left:1px solid var(--hairline);padding:16px 0 14px 30px;background:linear-gradient(90deg,rgba(146,188,208,.06),transparent)}
.experiment-question .micro{color:#94a8b7;font-size:9px}
.experiment-question p{font:italic 300 clamp(28px,3.4vw,43px)/1.15 var(--display);color:#e0ebf1;margin:24px 0}
.sample-docket{background:linear-gradient(140deg,rgba(20,31,39,.85),rgba(6,11,15,.94));border:1px solid var(--hairline);padding:clamp(23px,4.8vw,52px);position:relative}
.sample-docket:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(168,204,222,.45),transparent)}
.sample-docket-head{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#93aaba;font:400 9px/1.7 var(--mono);letter-spacing:.15em}
.sample-docket h3{font:300 clamp(43px,6vw,76px)/1 var(--display);margin:26px 0 10px}
.sample-department{color:#9cb3c1;font:400 9px/1.6 var(--mono);letter-spacing:.18em;margin:0 0 37px}
.sample-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.sample-facts>div{border-top:1px solid var(--hairline);padding-top:19px}
.sample-facts span{font:400 9px/1.6 var(--mono);letter-spacing:.14em;color:#8ca9bb}
.sample-facts p{font:300 clamp(19px,2.1vw,26px)/1.4 var(--display);margin:12px 0;color:#c8d6df}
.sample-question{font:italic 300 clamp(26px,3.2vw,39px)/1.18 var(--display);max-width:790px;margin:42px 0;color:#e0e9ee}
.sample-link{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--hairline);padding-top:20px;text-decoration:none;font:400 10px/1.7 var(--mono);letter-spacing:.12em;color:#c8dce8}
.sample-link span{font-size:20px}
.experiment-disclosure{font:300 21px/1.5 var(--display);color:#a9bbc5;border-left:1px solid var(--hairline);padding-left:24px;margin:42px 0 0;max-width:1000px}
.notes-section .method-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.notes-section .method-grid h3{font-size:27px}
.notes-section .method-grid p{font-size:19px}
@media(max-width:900px){
 .notes-section .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .explain-grid{grid-template-columns:1fr;gap:18px}
 .experiment-question{max-width:600px}
}
@media(max-width:760px){
 .hero-plain{font-size:8px}
 .sample-facts{grid-template-columns:1fr;gap:18px}
 .notes-section .method-grid{grid-template-columns:1fr}
 .sample-docket-head{font-size:8px}
 .explain-copy p{font-size:21px}
 .sample-section .section-head em{font-style:italic}
}
