/* R21 — Mathematical Atlas whole-world reconciliation
   Adds the Rayo Foundations Ring and qualified native-room crossings.
   Preserves the ten-domain core instrument and the R20 title safe-zone repair. */

.atlas-v065 .atlas-threshold-copy{align-self:center}
.atlas-v065 .threshold-deck{max-width:34ch;margin-top:4px}

/* Inner Foundations Ring */
.foundation-orbit{
  position:absolute;
  inset:27.5%;
  border-radius:50%;
  border:1px solid rgba(112,204,229,.26);
  box-shadow:0 0 34px rgba(89,184,211,.04),inset 0 0 28px rgba(180,147,85,.025);
  z-index:5;
  pointer-events:none;
}
.atlas-foundation-ring{position:absolute;inset:0;z-index:9;pointer-events:none}
.foundation-node{
  position:absolute;
  width:54px;height:54px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:grid;place-content:center;text-align:center;
  text-decoration:none;
  background:radial-gradient(circle at 38% 32%,#162027 0,#071015 61%,#020404 100%);
  border:1px solid rgba(124,211,235,.76);
  box-shadow:0 0 0 3px rgba(4,5,5,.9),0 0 0 4px rgba(109,198,224,.13),inset 0 0 20px rgba(101,202,231,.11),0 0 20px rgba(69,173,206,.09);
  color:#d7f7ff;
  pointer-events:auto;
  transition:transform .2s ease,border-color .2s ease,filter .2s ease;
}
.foundation-node span{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;line-height:1;color:#e8d9ae}
.foundation-node small{display:block;margin-top:2px;font:500 .38rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.13em;color:#8abac8}
.foundation-node:hover,.foundation-node:focus-visible{transform:translate(-50%,-50%) scale(1.07);border-color:#e2c77f;filter:brightness(1.14);outline:none}
.foundation-node:nth-child(1){left:50%;top:31.4%}
.foundation-node:nth-child(2){left:34.4%;top:59.2%}
.foundation-node:nth-child(3){left:65.6%;top:59.2%}
.orientation-core{z-index:10}

/* Foundations section */
.atlas-foundations,
.atlas-crossings{position:relative;background:#060808;color:#d6d6d0;border-top:1px solid rgba(180,147,85,.18)}
.atlas-foundations{padding:78px 0 86px;background:
  radial-gradient(circle at 50% 0,rgba(82,164,190,.06),transparent 40%),
  #060808}
.atlas-crossings{padding:82px 0 96px;background:
  linear-gradient(180deg,rgba(12,15,16,.94),#050606 70%)}
.atlas-reconciliation-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.72fr);gap:54px;align-items:end;margin-bottom:34px}
.atlas-reconciliation-head .micro{grid-column:1/-1;color:#b69959;letter-spacing:.22em}
.atlas-reconciliation-head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.4rem,4.8vw,5.4rem);font-weight:400;line-height:.92;letter-spacing:-.035em;color:#eee6d4}
.atlas-reconciliation-head p{margin:0;max-width:52ch;color:#9ca6a8;font-size:.9rem;line-height:1.7}
.foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(180,147,85,.24)}
.foundation-card{position:relative;min-width:0;padding:30px 28px 28px;background:linear-gradient(150deg,rgba(15,20,22,.86),rgba(5,7,8,.96));border-right:1px solid rgba(180,147,85,.18)}
.foundation-card:last-child{border-right:0}
.foundation-card:before{content:"";position:absolute;left:28px;top:0;width:70px;height:1px;background:linear-gradient(90deg,#8ad7eb,transparent)}
.foundation-kicker,.crossing-card>span{font:600 .55rem/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;color:#b89b5e}
.foundation-card h3,.crossing-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;color:#eee8da}
.foundation-card h3{font-size:clamp(1.75rem,2.5vw,2.7rem);margin:14px 0 20px}
.foundation-card p,.crossing-card p{color:#aeb8ba;line-height:1.65;font-size:.85rem}
.foundation-equations{display:grid;gap:7px;margin:0 0 18px}
.foundation-equations code,.crossing-card code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#a7e8f8;background:rgba(95,186,211,.045);border-left:1px solid rgba(95,186,211,.36);padding:7px 9px;white-space:normal}
.foundation-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
.foundation-links a,.crossing-card>a,.crossing-links a{color:#cceff8;text-decoration:none;border-bottom:1px solid rgba(114,202,226,.34);padding-bottom:2px}
.foundation-links a{font-size:.72rem}
.foundation-links a:hover,.crossing-card>a:hover,.crossing-links a:hover{color:#fff2ca;border-bottom-color:#d8b96f}

/* Curated crossings replace the legacy omnibus routing block. */
.crossing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(180,147,85,.24);border-left:1px solid rgba(180,147,85,.18)}
.crossing-card{min-width:0;min-height:300px;padding:28px 26px;border-right:1px solid rgba(180,147,85,.18);border-bottom:1px solid rgba(180,147,85,.18);background:rgba(4,6,7,.76)}
.crossing-card.promoted{background:linear-gradient(150deg,rgba(13,27,32,.82),rgba(4,6,7,.92))}
.crossing-card h3{font-size:clamp(1.6rem,2.1vw,2.35rem);margin:14px 0 16px}
.crossing-card code{display:block;margin:18px 0;font-size:.72rem;line-height:1.45}
.crossing-card>a{display:inline-block;margin-top:10px;font-size:.72rem;letter-spacing:.06em}
.crossing-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:22px;font-size:.72rem}

/* Small operator layouts for newly reconciled plates. */
.penrose-operator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.penrose-operator>div,.ratio-height-demo>div,.reset-demo>div{border:1px solid rgba(116,196,219,.18);background:rgba(8,14,17,.56);padding:16px}
.penrose-operator b,.ratio-height-demo b,.reset-demo b{display:block;color:#e7dbc0;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.25rem;margin-bottom:6px}
.penrose-operator small,.ratio-height-demo small,.reset-demo small{color:#8f9a9d;line-height:1.45}
.ratio-height-demo,.reset-demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:12px;margin-top:14px}
.ratio-height-demo input{width:100%;accent-color:#8bd3e7}
.ratio-height-readout,.reset-readout{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#b9effb;font-size:1.05rem;line-height:1.7}
.reset-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.reset-controls label{display:grid;gap:4px;color:#9da7aa;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.reset-controls input{width:88px;background:#070a0c;border:1px solid rgba(128,199,219,.3);color:#e5ecee;padding:8px}

@media(max-width:1080px){
  .foundation-grid,.crossing-grid{grid-template-columns:1fr 1fr}
  .foundation-card:nth-child(2){border-right:0}.foundation-card:last-child{grid-column:1/-1;border-top:1px solid rgba(180,147,85,.18)}
  .atlas-reconciliation-head{grid-template-columns:1fr;gap:18px}
  .atlas-reconciliation-head .micro{grid-column:auto}
  .foundation-node{width:48px;height:48px}
}
@media(max-width:760px){
  .foundation-grid,.crossing-grid{grid-template-columns:1fr}
  .foundation-card,.foundation-card:nth-child(2){border-right:0;border-bottom:1px solid rgba(180,147,85,.18)}
  .foundation-card:last-child{grid-column:auto;border-top:0}
  .crossing-card{min-height:0}
  .atlas-foundations,.atlas-crossings{padding:58px 0 66px}
  .penrose-operator,.ratio-height-demo,.reset-demo{grid-template-columns:1fr}
  .foundation-node{width:40px;height:40px}
  .foundation-node small{display:none}
  .foundation-node span{font-size:1rem}
  .foundation-node:nth-child(1){top:31.8%}.foundation-node:nth-child(2){left:35.5%;top:58.2%}.foundation-node:nth-child(3){left:64.5%;top:58.2%}
}
@media(prefers-reduced-motion:reduce){.foundation-node{transition:none}}
