:root{color-scheme:dark;--abyss:#07090c;--gold:#bdaa86;--red:#8e2027;--cream:#efe3d5;--low:#9d9085;--edge:#3b3233}
*{box-sizing:border-box}html{background:var(--abyss)}body{margin:0;padding:44px 28px 90px;color:var(--cream);background:radial-gradient(ellipse at 52% 0,rgba(43,21,27,.21),transparent 48%),linear-gradient(180deg,#080a0d,#040608);font:14px/1.55 Arial,'Helvetica Neue',sans-serif}main{max-width:1280px;margin:0 auto}
button,select{font:inherit}button{cursor:pointer}.page-meta{display:flex;align-items:center;gap:16px;font-weight:bold;font-size:10px;letter-spacing:.25em;color:var(--gold)}.meta-line{width:38px;height:1px;background:#665452}
.masthead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:30px 0 24px}.eyebrow{color:#bb5a61;font-weight:bold;font-size:10px;letter-spacing:.19em}.masthead h1{font:normal clamp(46px,7vw,87px)/.98 Georgia,serif;letter-spacing:-.055em;margin:11px 0 16px}.fullstop{color:#932c35}.intro{color:#c8bbaf;max-width:660px;margin:0;font-size:14px}.lab-tag{border:1px solid #664847;padding:14px 19px;font-size:10px;line-height:1.7;color:var(--gold);font-weight:bold;letter-spacing:.13em;flex:none;text-align:right}
.notice{border-left:2px solid var(--red);background:#1b1117;color:#c7b9ad;padding:12px 17px;font-size:11px;margin:0 0 26px}.notice b{color:#dd9d95;letter-spacing:.1em}
.toolbar{display:flex;flex-wrap:wrap;gap:20px;align-items:end;margin:0 0 18px}.toolset{display:grid;gap:8px}.control-heading{font-size:10px;letter-spacing:.13em;font-weight:bold;color:#a99788}.switcher{display:flex;gap:0}.switcher button,.toolbar select{min-height:40px;border:1px solid #5b4544;background:#141014;padding:9px 15px;color:#e1d3c5;font-size:11px;border-radius:0;appearance:none}.switcher button[aria-pressed=true]{border-color:#ac5258;background:#571b26;color:#fff0e6}.switcher button+button{border-left:0}.toolbar select{min-width:152px}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.frame{border:1px solid #4b3438;background:#0a0d11;box-shadow:0 15px 70px #000a}.atlas-heading{min-height:118px;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 28px 20px;border-bottom:1px solid #3b3034;background:linear-gradient(125deg,#100c11,#080e11)}.atlas-heading h2{font:normal 30px/1.05 Georgia,serif;letter-spacing:.025em;margin:10px 0 0;color:#f0e5da}.atlas-summary{font-size:10px;color:#ac997f;font-weight:bold;letter-spacing:.13em;white-space:nowrap}.atlas-summary i{display:inline-block;width:3px;height:3px;background:#8d4144;vertical-align:middle;margin:0 8px;transform:rotate(45deg)}
.atlas-stage{display:grid;grid-template-columns:minmax(0,852px) minmax(0,426px)}.atlas-stage.compact{grid-template-columns:minmax(0,640px) minmax(0,426px);width:min(100%,1066px)}.atlas-map-wrap{height:497px;position:relative;background:#050e14;min-width:0;overflow:hidden}.atlas-stage.compact .atlas-map-wrap{height:430px}#map{position:absolute;inset:0}.map-vignette{position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 46%,transparent 22%,rgba(2,6,9,.40) 100%),linear-gradient(180deg,rgba(1,5,8,.16),transparent 30%,transparent 70%,rgba(1,5,8,.37))}.map-corner,.map-scale-note{position:absolute;z-index:2;pointer-events:none;font-size:9px;font-weight:bold;letter-spacing:.17em;color:#d5c1a4;text-shadow:0 2px 5px #020609}.map-corner{top:19px;left:22px}.circle-plus{color:#b85962;margin:0 10px}.map-scale-note{bottom:19px;left:22px;font-size:9px;color:#a89c8b}.map-scale-note span{margin:0 8px;color:#b36564}.map-cover{position:absolute;z-index:10;inset:0;padding:34px;background:#091116ed;display:grid;place-content:center;text-align:center;color:#ffd1bc;font-size:13px}.map-cover[hidden]{display:none}
.atlas-detail{min-width:0;min-height:497px;padding:32px 30px 23px;border-left:1px solid #433238;background:radial-gradient(ellipse at 100% 0,rgba(116,34,42,.22),transparent 70%),linear-gradient(160deg,#181116,#080b0e 70%);display:flex;flex-direction:column;justify-content:space-between;gap:20px}.atlas-stage.compact .atlas-detail{min-height:430px}.detail-eyebrow{font-size:10px;font-weight:bold;letter-spacing:.16em;color:#be6967;display:flex;align-items:center;gap:12px}.hairline{height:1px;width:20px;background:#695252}.issue{color:#968676;font-size:9px;letter-spacing:.2em;margin:30px 0 10px}.focus-year{font:normal 65px/.95 Georgia,serif;letter-spacing:-.04em;color:#f4e8db}.focus-date{margin:7px 0 25px;color:var(--gold);font-size:10px;font-weight:bold;letter-spacing:.15em}.atlas-detail h3{font:normal 29px/1.08 Georgia,serif;margin:0 0 22px;letter-spacing:-.018em;max-width:335px;overflow-wrap:break-word}.focus-place{font-size:11px;letter-spacing:.085em;font-weight:bold;color:#c6b5a4}.diamond{color:#b96367;margin-right:7px}.memory{font-size:10px;letter-spacing:.1em;color:#c0a993;margin-bottom:13px}.detail-button{width:100%;padding:12px 15px;display:flex;justify-content:space-between;gap:10px;background:#491922;border:1px solid #a7454c;color:#f0e2d5;font-size:10px;letter-spacing:.12em;font-weight:bold}.detail-button:hover{background:#6b252f}.disclaimer{margin-top:15px;font-size:9px;letter-spacing:.06em;color:#83786e}.atlas-foot{border-top:1px solid #403439;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px 22px;color:#988b80;font-size:9px;font-weight:bold;letter-spacing:.11em}.atlas-foot b{color:#b7444e}.atlas-foot b.g{color:#e3b99d}
.city-marker{position:relative;border:0;outline:0;width:25px;height:25px;padding:0;background:none;cursor:pointer;display:grid;place-items:center;isolation:isolate}.city-marker:before{position:absolute;content:"";border:1px solid #c16b65;background:#4e1b25aa;width:22px;height:22px;transform:rotate(45deg);box-shadow:0 0 0 8px #a22c3215;transition:box-shadow .2s}.city-marker:after{content:"";position:relative;width:7px;height:7px;transform:rotate(45deg);background:#e8c0a7;border:1px solid #fff4e3;z-index:1}.city-marker[aria-pressed=true]:before{border:1px solid #f5ccb2;background:#852d39;box-shadow:0 0 0 5px #a9343b31,0 0 0 14px #a9343b12,0 0 26px 9px #a9343b77}.city-marker:focus-visible{outline:2px solid #fff0e6;outline-offset:8px}.city-label{position:absolute;left:calc(100% + 13px);color:#fff0e0;font:700 10px Arial,sans-serif;letter-spacing:.13em;text-shadow:0 0 7px #020406,0 1px 5px #020406;white-space:nowrap;pointer-events:none}.city-marker[data-id=limassol] .city-label{left:auto;right:calc(100% + 12px)}
.maplibregl-popup-content{background:#191217;color:#f0e3d3;border:1px solid #9b6763;padding:13px 15px;box-shadow:0 14px 35px #020304cc;min-width:170px}.maplibregl-popup-tip{border-top-color:#6f4f48!important}.maplibregl-popup-close-button{color:#eee0d2;font-size:17px;padding:3px 8px}.popup-title{font:normal 19px Georgia,serif}.popup-sub{color:#c6a88d;font-size:10px;letter-spacing:.09em;margin-top:5px}
.maplibregl-ctrl-group{background:#1b1519!important;border:1px solid #705c58!important;border-radius:0!important}.maplibregl-ctrl-group button{filter:invert(.9) sepia(.16)}.maplibregl-ctrl-attrib{font:10px Arial,sans-serif!important;background:#0a111cc9!important;color:#d5c4af!important}.maplibregl-ctrl-attrib a{color:#d9b69d!important}
.reports{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:24px 0}.report{border:1px solid #4a3c3e;background:#0e1114;padding:16px;min-height:87px}.report-head{color:var(--gold);font-size:10px;letter-spacing:.12em;font-weight:bold}.report output{display:block;font-size:12px;color:#ddd0be;margin-top:11px}.report[data-state=pass]{border-color:#517a6d}.report[data-state=fail]{border-color:#aa4a53}details{border:1px solid #433b3b;padding:13px 17px;color:#c5b7a9}summary{cursor:pointer;font-size:11px;letter-spacing:.1em}#log{white-space:pre-wrap;max-height:220px;overflow:auto;font-size:10px;color:#baa99e}.project-note{font-size:11px;line-height:1.65;color:#9e8e82;margin:22px 0 0}
@media(max-width:1130px){.atlas-stage,.atlas-stage.compact{grid-template-columns:minmax(0,1fr) minmax(260px,35%);width:100%}.atlas-summary{display:none}.atlas-detail{padding:25px 22px}.atlas-detail h3{font-size:25px}.focus-year{font-size:51px}}
@media(max-width:810px){body{padding:24px 16px 70px}.masthead{align-items:start}.lab-tag{font-size:9px}.atlas-stage,.atlas-stage.compact{grid-template-columns:minmax(0,1fr)}.atlas-map-wrap,.atlas-stage.compact .atlas-map-wrap{height:420px}.atlas-detail,.atlas-stage.compact .atlas-detail{min-height:250px;border-left:0;border-top:1px solid #433238;display:grid;grid-template-columns:1fr 1fr;gap:20px}.focus-year{font-size:39px}.atlas-detail h3{font-size:24px}.issue{margin-top:13px}.focus-date{margin-bottom:10px}.atlas-heading{min-height:auto;padding:22px}}
@media(max-width:540px){body{padding:16px 10px 60px}.masthead{margin:20px 0;gap:10px}.masthead h1{font-size:49px}.intro{font-size:12px}.lab-tag{display:none}.atlas-heading h2{font-size:23px}.atlas-map-wrap,.atlas-stage.compact .atlas-map-wrap{height:355px}.atlas-detail,.atlas-stage.compact .atlas-detail{grid-template-columns:1fr;min-height:auto;gap:24px}.focus-year{font-size:44px}.atlas-detail h3{font-size:25px}.reports{grid-template-columns:1fr}.toolbar{gap:12px}.toolbar select{min-width:135px}.switcher button{font-size:10px;padding:9px 11px}.map-corner{top:12px;left:12px;font-size:8px}.city-label{font-size:8px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:650px){.switcher{flex-wrap:wrap}.switcher button{flex:1}.switcher button+button{border-left:1px solid #5b4544}}

/* Cinematic Terrain lab: avoid vignette swallowing terrain information */
.map-vignette{background:radial-gradient(ellipse at 55% 49%,transparent 45%,rgba(2,6,9,.25) 100%),linear-gradient(180deg,rgba(1,5,8,.10),transparent 29%,transparent 75%,rgba(1,5,8,.19))}
.terrain-verification{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:15px 18px;margin:4px 0 19px;border:1px solid #524942;background:#111416;color:#cdbba9;font-size:11px}.terrain-verification div:first-child{font-size:9px;letter-spacing:.13em;font-weight:bold;color:#d4aa8a}.terrain-verification div:last-child{grid-column:1/-1;color:#ba9d84;font-weight:bold}.city-marker[aria-pressed=true]:before{box-shadow:0 0 0 7px #bc473d2c,0 0 0 19px #bc473d0c,0 0 34px 13px #b444486f}
@media(max-width:620px){.terrain-verification{grid-template-columns:1fr}.terrain-verification div:last-child{grid-column:auto}}
