*{box-sizing:border-box} :root{color-scheme:dark;--gold:#f6d787;--muted:#bcc9a2;--line:#9e784f;--green:#073328;--ink:#fdf4d4}
body{margin:0;min-height:100svh;background:#061c16;color:var(--ink);font:16px/1.4 system-ui,sans-serif}
.back{position:fixed;inset:0;z-index:-1;background-position:center;background-size:cover;pointer-events:none}
.layout{width:min(1280px,calc(100% - 44px));margin:auto;display:grid;grid-template-columns:126px minmax(0,1fr);gap:42px;align-items:center;min-height:100svh;padding:22px 0}
nav{display:grid;gap:17px;justify-items:center}
button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.menu-item{width:116px;aspect-ratio:1;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-align:center;padding:9px;border:1px solid #a98442;border-radius:50%;background:radial-gradient(circle at 35% 20%,#237957,#08392b 64%,#06271f);box-shadow:inset 0 0 0 4px #eec46a14,0 10px 21px #0006;transition:transform .18s,filter .18s}
.menu-icon{font-size:31px;color:var(--gold);line-height:1}.menu-text{font-size:13px;line-height:1.25;max-width:95px}
header{text-align:center;margin:0 0 33px}header img{display:block;width:clamp(155px,22vw,270px);height:auto;margin:0 auto;filter:drop-shadow(0 8px 15px #0008)}.eyebrow{color:#d7b774;letter-spacing:.24em;font-size:11px;font-weight:800;margin:9px 0}h1{font-size:clamp(20px,2.35vw,34px);line-height:1.25;margin:0;color:#ffe5a2;text-shadow:0 3px 12px #00190f;letter-spacing:.035em}
.stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px}
.art img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;filter:drop-shadow(0 20px 28px #00140e80)}
.section-label{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.15em;margin:0 5px 12px}.section-label small{color:var(--muted);font-size:10px;white-space:nowrap}
ol{display:grid;gap:14px;list-style:none;margin:0;padding:0}
.route{width:100%;min-height:60px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;text-align:left;padding:6px 7px 6px 8px;border-radius:999px;border:1px solid #bb9450;background:linear-gradient(95deg,#0d6145,#0a3629 78%);box-shadow:0 7px 14px #0004,inset 0 1px #ffe2a83b;transition:transform .18s,filter .18s}
.die{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(#fff2b4,#c38d31);color:#154334;font:34px/1 "Segoe UI Symbol",sans-serif}
.route-name{font-weight:750;overflow-wrap:anywhere}.latency{display:block;color:#d2d9ab;font-size:11px}.access,dialog button{padding:8px 14px;border-radius:999px;color:#271805;background:linear-gradient(#fff2af,#e7b94e 60%,#ba7a23);font-size:13px;font-weight:850;white-space:nowrap;border:0}
.route:hover,.menu-item:hover{filter:brightness(1.18);transform:translateY(-2px)}
dialog{width:min(390px,calc(100% - 28px));padding:23px;background:var(--green);border:1px solid var(--line);border-radius:18px;color:var(--ink)}dialog::backdrop{background:#0009}dialog h2{margin:0}
@media(max-width:940px){.layout{gap:20px;grid-template-columns:92px minmax(0,1fr)}.menu-item{width:87px}.menu-text{font-size:11px}.menu-icon{font-size:24px}.route{gap:8px}}
@media(max-width:720px){.layout{display:flex;flex-direction:column;width:min(520px,calc(100% - 28px));gap:20px;align-items:stretch}nav{order:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.menu-item{width:min(100%,95px)}.stage{grid-template-columns:1fr;gap:4px}.art img{height:250px}header{margin-bottom:8px}ol{gap:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.seo{max-width:820px;margin:38px auto 10px;padding:clamp(18px,4vw,36px);border:1px solid #9e784f;border-radius:20px;background:#082c22e8;line-height:1.72}.seo h2,.seo h3{color:var(--gold);line-height:1.3}.seo h2{margin-top:0}.seo h3{margin-bottom:6px}.seo p{margin-top:0}.seo p:last-child{margin-bottom:0}.layout{align-items:start}.layout main{min-width:0}#routes .latency{display:block}
header>a{display:inline-block}.seo a{color:var(--gold);text-decoration:underline;text-underline-offset:.18em}
