/* Engraved brass, folded stock and cloth bindings across the atlas. */
body {
  --foil:#b69a65;
  --foil-light:#fff0be;
  --binding-ink:#6d6261;
}
.print-binding {
  position:absolute;inset:0;z-index:3;pointer-events:none;
}
.print-binding i {
  position:absolute;width:38px;height:38px;
  background:url("../svg/book-corner.svg") center/contain no-repeat;
}
.print-binding i:nth-child(1) {left:-3px;top:-3px;}
.print-binding i:nth-child(2) {right:-3px;top:-3px;transform:rotate(90deg);}
.print-binding i:nth-child(3) {right:-3px;bottom:-3px;transform:rotate(180deg);}
.print-binding i:nth-child(4) {left:-3px;bottom:-3px;transform:rotate(270deg);}
.orbit-sheet,.globe-sheet,.terrain-sheet,.terrain-index,.world-info,.empty-basin,.water-window {
  position:relative;
}
body:not(.page-home) .mast {
  background-image:linear-gradient(90deg,transparent,#c5b18055 25%,#c5b18055 75%,transparent),
    var(--fibres);
  background-size:100% 1px,160px;
  background-position:center calc(100% - 4px),0 0;
  background-repeat:no-repeat,repeat;
}
.mast .wordmark {text-shadow:0 1px #fff9e6;}
.mast-mark {filter:drop-shadow(0 1px #fff5d9);}
.page-orbit .rail-link {position:relative;}
.page-orbit .rail-link[aria-current] {
  border-bottom:1px solid #ad8b54;
  text-shadow:0 1px #fff5d1;
}
.page-orbit .rail-link[aria-current]::after {
  content:"";position:absolute;left:50%;bottom:-3px;width:5px;height:5px;
  background:#bf955c;border:1px solid #fff1c0;transform:rotate(45deg);
}
.orbit-sheet {
  border-color:#81716a;
  box-shadow:inset 0 0 0 2px #fff1d2,2px 3px #c6b092,4px 5px #786b6b,7px 9px #59455720;
}
.night-stage {
  outline:0;box-shadow:inset 0 0 0 1px #ead39e;
}
.orbit-sheet>.print-binding {inset:17px 8px 49px;}
.orbit-sheet>.print-binding i {width:43px;height:43px;opacity:.96;}
.sky-title .edition {
  border-block:1px solid #719d93;
  box-shadow:0 1px #efe4b2,inset 0 1px #d7ebcb;
}
.sky-title::after {
  height:15px;width:72%;margin-top:8px;clip-path:none;transform:none;
  background:url("../svg/folio-divider.svg") center/100% 100% no-repeat;
}
.orbit-sheet figcaption {border-top:1px solid #bba680;}
.camera-switch,.world-toolbar,.terrain-tools,.relief-orbit {
  box-shadow:inset 0 0 0 1px #fff6d8,1px 2px #958175,3px 4px #5d526125;
}
.camera-switch button {border:1px solid #ccb991;}
.camera-switch [aria-pressed=true] {
  border-color:#b59462;box-shadow:inset 0 1px #fff1ba,inset 0 -2px #be955e;
}
.world-preview,.world-info {
  box-shadow:inset 0 0 0 3px #fff5dc,inset 0 0 0 4px #c5ad7c,
    2px 3px #d6c6a2,4px 5px #887572,7px 9px #59455715;
}
.world-preview>.print-binding i,.world-info>.print-binding i {width:29px;height:29px;}
.world-info {padding-bottom:clamp(30px,3.5vw,64px);}
.world-info dl div {padding-inline:3px;}
.world-info dl dt {font-weight:600;}
.specimen-mount {padding:5px;}
.specimen-mount::after {
  content:"";position:absolute;inset:7px;pointer-events:none;
  border:1px solid #b19b6f;box-shadow:inset 0 0 0 2px #fff5dc;transform:rotate(-1.5deg);
}
.preview-copy {padding-top:7px;}
.preview-copy::after {
  content:"";display:block;height:22px;margin-top:9px;
  background:url("../svg/folio-divider.svg") center/100% 22px no-repeat;opacity:.8;
}
.preview-open,.solid-link,.action,.primary,.detail-open {
  position:relative;
  box-shadow:inset 0 0 0 2px #fff0c5,inset 0 0 0 3px #ba8465,2px 3px #9b766b;
  text-shadow:0 1px #673e48;
}
.preview-open {min-height:44px;margin-top:10px;}
.terrain-index {
  padding:clamp(19px,2vw,33px);
  border:1px solid #9f8c77;
  box-shadow:inset 0 0 0 3px #e4d6b8,inset 0 0 0 4px #fff7df,
    1px 3px #e2d8bc,2px 5px #ac9c87,4px 7px #e9dec1,5px 8px #a49481;
}
.terrain-index::after {
  content:"";position:absolute;inset:6px 49.4% 6px auto;width:7px;pointer-events:none;
  background:repeating-linear-gradient(transparent 0 12px,#a5936b55 12px 15px,transparent 15px 27px);
}
.terrain-index header {
  padding-bottom:17px;border-bottom:1px solid #ccb68d;margin-bottom:22px;
  background:url("../svg/folio-divider.svg") center bottom/150px 14px no-repeat;
}
.terrain-index>.print-binding i {width:33px;height:33px;}
.region-label {padding:3px 7px 0;border-left:2px solid #b59669;}
.region-label small {color:#786953;}
.postcard-print {transition:transform .2s ease,filter .2s ease;}
.body-strip,.next-worlds {
  box-shadow:inset 0 0 0 1px #fff2d3,2px 3px #82786a48;
}
.body-strip a,.next-worlds a {box-shadow:inset 0 1px #fffdf2;}
.body-strip a[data-previewing],.next-worlds a[aria-current] {
  box-shadow:inset 0 0 0 1px #ffe8b1,inset 0 -2px #b88d54;
}
.globe-sheet {box-shadow:0 0 0 1px #83746f,3px 4px #baaa93,5px 7px #8c7c7233;}
.globe-sheet>.print-binding {inset:-6px;}
.world-info .region-proof {box-shadow:1px 2px #c1ab86,3px 4px #86736540;}
.empty-basin,.water-window,.missing-plate,.contents,.archive-filters {
  box-shadow:inset 0 0 0 2px #fff7de,inset 0 0 0 3px #c5af8a,3px 4px #8c82724d;
}
.site-facts div {border-bottom:1px dotted #b8a37e;}
body .workspace > .site-footer {
  position:relative;isolation:isolate;min-width:0;
  padding:12px clamp(18px,5vw,76px) 10px;gap:12px 24px;
  border-top:1px solid #b6ab95;color:#494e50;
  background:var(--fibres),linear-gradient(105deg,#faf4e5,#f2efdc 62%,#e8eadc);
  background-size:160px,cover;box-shadow:inset 0 2px #fff9e9;
}
.site-footer::before {
  content:"";pointer-events:none;position:absolute;inset:4px 0 auto;height:2px;
  background:repeating-linear-gradient(108deg,#93aa99 0 7px,transparent 7px 12px,#c2ad85 12px 15px,transparent 15px 20px);
  opacity:.53;
}
.site-footer .footer-brand {flex-wrap:nowrap;gap:10px;}
body .site-footer .footer-brand img {display:block;width:65px;height:auto;flex:none;}
.site-footer .copyright {white-space:nowrap;font-variant-numeric:tabular-nums;}
.site-footer .footer-links a {text-decoration:underline;text-decoration-color:#acb7a5;text-underline-offset:3px;}
.site-footer .domain {color:#59655e;}
@media(min-width:850px) {
  .site-footer::after {
    content:"";pointer-events:none;position:absolute;left:50%;top:50%;width:clamp(130px,15vw,230px);height:24px;
    transform:translate(-50%,-50%);background:url("../svg/folio-divider.svg") center/contain no-repeat;
  }
}
body.page-home .workspace > .site-footer {padding:3px 13px;gap:3px 12px;}
.page-home .site-footer::before {top:0;height:1px;}
body.page-home .site-footer .footer-brand img {width:37px;}
.page-home .workspace {
  display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;
  height:100svh;height:100dvh;min-height:0;
}
.page-home .workspace > main {align-self:stretch;min-width:0;min-height:0;margin:0;}
.page-home .atlas:not(:fullscreen) {height:100%;min-height:0;}
@media(max-height:520px) and (orientation:landscape) {
  .page-home .atlas .overview {right:calc(70px + env(safe-area-inset-right,0px));}
}
@media(max-width:760px) {
  body .workspace > .site-footer {padding:10px 14px;gap:4px 16px;}
  body .site-footer .footer-brand img {width:49px;}
  .site-footer .footer-brand {gap:6px;}
  .site-footer .footer-links {flex-wrap:wrap;gap:2px 12px;}
  body.page-home .workspace > .site-footer {font-size:11px;line-height:1.4;padding:4px 9px;}
  body.page-home .site-footer .footer-brand img {width:30px;}
}
.atlas .map-sheet,.atlas .chart-index {
  box-shadow:inset 0 0 0 2px #fff5d7,2px 3px #9a8b78,4px 5px #72677538;
}
.atlas .sheet-heading,.atlas .chart-index summary {
  box-shadow:inset 0 1px #e8f1cf,inset 0 -2px #788f7e55;
}
.atlas .place-heading {border-top:3px double #a0ad8f;}
.atlas .layer-option {border-bottom:1px dotted #baa78965;}
.atlas .layer-option:last-child {border-bottom:0;}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .region-list a:hover .postcard-print {transform:translateY(-4px) rotate(0);}
  .camera-switch button,.preview-open,.solid-link,.action,.primary,.body-strip a,.next-worlds a {
    transition:background-color .16s ease,box-shadow .16s ease,translate .16s ease;
  }
  .body-strip a:hover,.next-worlds a:hover {translate:0 -2px;}
  .world-preview:hover .preview-open {translate:0 -1px;}
}
.camera-switch button:active,.solid-link:active,.action:active,.primary:active {translate:0 1px;}
@media(max-width:760px) {
  .orbit-sheet>.print-binding {inset:12px 4px 59px;}
  .orbit-sheet>.print-binding i {width:26px;height:26px;}
  .world-preview>.print-binding i {width:16px;height:16px;}
  .world-info>.print-binding i {width:25px;height:25px;}
  .world-preview {padding:10px 12px;}
  .specimen-mount {padding:0;}
  .specimen-mount::after,.preview-copy::after {display:none;}
  .preview-copy {padding-top:0;}
  .preview-open {margin:0;min-height:44px;padding-inline:12px;}
  .sky-title::after {height:10px;margin-top:4px;}
  .terrain-index {padding:19px 12px 15px;}
  .terrain-index>.print-binding i {width:24px;height:24px;}
  .terrain-index header {padding-bottom:12px;margin-bottom:15px;background-size:84px 10px;background-position:60% bottom;}
  .terrain-index::after {display:none;}
  .region-label {padding-left:5px;}
  .page-orbit .rail-link[aria-current]::after {display:none;}
  .atlas .layer-option {min-height:44px;}
}
@media(max-width:360px) {
  .world-preview {column-gap:6px;padding-inline:9px;}
  .preview-open {padding-inline:8px;}
  .terrain-index {padding-inline:9px;}
}

/* The loupe shows a detail from the selected body's own terrain plate. */
.specimen-loupe {
  position:absolute;right:-4px;bottom:3%;width:clamp(64px,5.9vw,94px);aspect-ratio:1;
  z-index:2;filter:drop-shadow(2px 3px 0 #5b556544);pointer-events:none;
}
.specimen-loupe img {position:absolute;left:11%;top:10%;width:68%;height:67%;object-fit:cover;border-radius:50%;}
.specimen-loupe::after {content:"";position:absolute;inset:0;background:url("../svg/loupe-rim.svg") center/contain no-repeat;}
.orrery [data-previewing] .orbit-hit {
  fill:none;stroke:#f7d995;stroke-width:1.7;stroke-dasharray:6 5 1.8 5;
  pointer-events:all;
}
.world-info::after {
  content:"";pointer-events:none;position:absolute;right:8%;top:4%;
  width:clamp(78px,7vw,128px);aspect-ratio:160/140;
  background:url("../svg/armillary-impression.svg") center/contain no-repeat;opacity:.32;
}
/* Little punched catalogue pockets, each with a well for its enamel specimen. */
.body-strip a>svg,.next-worlds picture {
  position:relative;background:radial-gradient(ellipse,#f5edce 0 60%,#cab998 61% 64%,#fff7df 65% 68%,transparent 69%);
  filter:drop-shadow(0 1px #a3978066);
}
.body-strip a>svg {overflow:hidden;}
.body-strip a[data-previewing]::after,.next-worlds [aria-current]::after {
  width:8px;height:14px;
  background:linear-gradient(90deg,#773f4d 12%,#ba6b62 13% 38%,#a35155 40% 75%,#864650 76%);
}
.terrain-page .plate-caption,.atlas-crumb {color:#58655c;}
.terrain-page .terrain-sheet figcaption {box-shadow:inset 0 -2px #cbbaa0,inset 0 1px #fff9de;}
.terrain-page .terrain-pin:not([aria-pressed=true]) {
  background:linear-gradient(135deg,transparent 0 86%,#ddc9a7 86%),var(--fibres),#fff4d9;
  background-size:auto,160px,auto;border-color:#8e7b71;box-shadow:inset 0 1px #fffbec,1px 2px #78697b55;
}
.terrain-tools output {font-variant-numeric:tabular-nums;}
.terrain-tools button:is(:hover,:focus-visible),.world-toolbar button:is(:hover,:focus-visible) {background-color:#eee0bb;}
.archive .empty-night {align-self:stretch;background:#adc9ba;}
.archive .empty-night img {inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:52% 61%;transform:none;}
.archive .empty-night::after {display:none;}
.archive-count b {
  padding:2px 6px;border:1px solid #b4ae94;background:linear-gradient(#fbf2d7 50%,#e4ddc5 51%);color:#516967;
  box-shadow:inset 0 1px #fff9df,0 1px #a99c8b;font-variant-numeric:tabular-nums;
}
.site-facts {border-block:3px double #c5b399;}
.water-window figcaption,.terrain-sheet figcaption {background-color:#f7edda;}
.atlas .map-presets button {box-shadow:inset 0 0 0 2px #fff6dd,1px 2px #a8977f45;}
.atlas .layer-option:has(input:focus-visible) {outline:2px solid #a25047;outline-offset:-2px;}
.atlas .layer-option input:not(:checked)~.switch-track {background-color:#d9cdb4;}
.atlas .sheet-heading .sheet-sign {filter:drop-shadow(1px 1px 0 #fff6d6);}
.atlas .layer-legend {box-shadow:inset 0 2px #fff1d4;}
@media(max-width:760px) {
  .specimen-loupe {display:none;}
  .world-info::after {right:15px;top:14px;width:56px;opacity:.17;}
  .archive .empty-night {min-height:clamp(155px,39vw,215px);}
}
