@font-face{font-family:Changa;src:url('/assets/fonts/Changa-Regular.woff') format('woff');font-display:swap}
@font-face{font-family:Changa;src:url('/assets/fonts/Changa-Bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Orbitron;src:url('/assets/fonts/Orbitron-SemiBold.woff') format('woff');font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#080f1c;--panel:#101c2b;--ink:#edf4fa;--muted:#a5b6ca;--line:#2a3b51;--cyan:#83e3f2;--font:Changa,system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.65}
body::before{content:"";position:absolute;inset:0 0 auto;height:550px;background:linear-gradient(180deg,#080f1c70,var(--bg)),url('/assets/backgrounds/pixel-space.png') center 42%/cover;opacity:.5;z-index:-1;pointer-events:none}
a{color:inherit;text-underline-offset:5px}
a:hover{color:var(--cyan)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px;border-radius:2px}
.skip{position:absolute;inset-block-start:-100px;inset-inline-start:20px;background:var(--cyan);color:var(--bg);padding:12px;z-index:10}
.skip:focus{inset-block-start:10px}
.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.125rem;font-weight:700}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--cyan);color:var(--bg);font:600 1rem Orbitron,sans-serif;box-shadow:4px 4px 0 #244c66}
.language{font-size:1rem;text-decoration:none;border:1px solid var(--line);padding:5px 16px}
.intro{padding-block:50px 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.eyebrow{margin:0 0 6px;color:var(--cyan);font-size:.875rem;letter-spacing:.11em;text-transform:uppercase}
h1{font-size:clamp(2.5rem,5.3vw,4.25rem);font-weight:700;line-height:1.3;letter-spacing:-.035em;margin:0 0 14px}
.intro p:last-child{color:var(--muted);margin:0;max-width:610px;font-size:1.125rem}
.coordinate{display:flex;gap:18px;align-items:center;white-space:nowrap;color:var(--muted);font-size:.875rem;padding-block-end:7px}
.coordinate strong{color:var(--cyan);font:600 2.5rem Orbitron,sans-serif;letter-spacing:-.05em}
.section-label{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-block:8px 15px;margin-block-end:22px}
.section-label h2{font-size:1rem;font-weight:400;margin:0}
.section-label span{font-size:.875rem;color:var(--muted)}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;align-items:start}
.place{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);min-width:0;transition:border-color .15s,background .15s}
.place:hover{background:#132236;border-color:var(--accent)}
.place-link{padding:24px 25px 20px;display:block;text-decoration:none;min-height:276px}
.place-link:hover{color:var(--ink)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-end:24px}
.symbol{color:var(--accent);width:38px;height:38px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
.symbol svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.category{font-size:.875rem;color:var(--muted)}
.place h3{font:600 1.25rem/1.5 Orbitron,system-ui,sans-serif;margin:0 0 12px;overflow-wrap:anywhere}
.description{color:#beccdc;font-size:1rem;line-height:1.65;margin:0 0 18px;min-height:3.3em}
.address{font-family:ui-monospace,monospace;font-size:.8125rem;color:var(--accent);overflow-wrap:anywhere;display:block;direction:ltr;text-align:start}
[dir=rtl] .address{text-align:right}
.place details{border-top:1px solid var(--line);font-size:.9375rem}
.place summary{padding:12px 25px;cursor:pointer;color:var(--muted)}
.place summary:hover{color:var(--ink)}
.page-links{list-style:none;margin:0;padding:0 25px 20px}
.page-links li+li{margin-block-start:10px}
.page-links a{display:inline-block;padding-block:2px}
.page-links .subheading{color:var(--muted);font-size:.875rem;margin-block:18px 6px}
.footnote{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-block-start:40px;padding-block:22px 35px;color:var(--muted);font-size:.875rem}
.footnote p{margin:0}
.footnote a{white-space:nowrap}
[dir=rtl] .eyebrow{letter-spacing:0}
[dir=rtl] h1{letter-spacing:0;font-size:clamp(2.4rem,5vw,4rem)}
@media(min-width:601px){.place:not(:has(details)) .place-link{min-height:326px}}
@media(max-width:950px){.places{grid-template-columns:repeat(2,minmax(0,1fr))}.coordinate{display:none}}
@media(max-width:600px){.shell{width:calc(100% - 36px)}.topbar{padding-block:20px}.intro{padding-block:35px 25px}.intro p:last-child{font-size:1rem}.places{grid-template-columns:1fr;gap:16px}.place-link{min-height:0;padding:22px}.description{min-height:0}.card-top{margin-block-end:20px}.section-label span{display:none}.footnote{flex-direction:column;gap:8px;margin-block-start:28px}.brand{font-size:1rem}.place summary{padding-inline:22px}.page-links{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.place{transition:none}}
