/* Neon Sidewalk V51 — consistent editorial surface; no engine or existing game CSS replaced */
:root{--v51-bg:#111a31;--v51-panel:#1b2740;--v51-ink:#f8f1e9;--v51-sub:#c9d6e5;--v51-line:#68799b70;--v51-pink:#ffa6d2;--v51-mint:#a6f5d2}
.v51-hero{padding:clamp(50px,7vw,106px) 0 clamp(38px,5vw,70px);background:radial-gradient(ellipse at 15% 35%,#43345f,#17243f 55%,#0c1427 100%);color:#f9f0eb;border-bottom:1px solid var(--v51-line)}
.v51-hero .page-container{max-width:1120px;margin-inline:auto;padding-inline:clamp(18px,5vw,38px)}
.v51-hero h1{font-size:clamp(31px,5vw,64px);line-height:1.18;letter-spacing:-.035em;max-width:900px;margin:18px 0 20px;color:#fff4ee}
.v51-overline{display:block;color:var(--v51-mint);font-size:11px;letter-spacing:.13em;direction:ltr;text-align:start;font-weight:800}
.v51-lead{font-size:clamp(15px,1.55vw,20px);line-height:2;max-width:860px;color:inherit;opacity:.91}
.v51-actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:25px}
.v51-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;text-decoration:none;border-radius:12px;font-weight:800}
.v51-actions a.secondary{border:1px solid #9eb7d070;color:inherit}
.v51-editorial{max-width:1160px;margin:0 auto;padding:32px clamp(18px,4vw,40px) 64px;box-sizing:border-box}
.v51-section{padding:30px 0 42px;margin:0 0 10px;border-bottom:1px solid var(--v51-line);min-width:0}
.v51-section .v51-heading{font-size:clamp(25px,3.3vw,42px);line-height:1.45;margin:10px 0 12px;color:inherit}
.v51-section .v51-lead{font-size:clamp(14px,1.35vw,18px);line-height:1.9;max-width:950px;margin:0 0 20px}
.v51-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.v51-card{background:linear-gradient(150deg,#293958f2,#1a2847f2);border:1px solid var(--v51-line);padding:23px;border-radius:18px;min-width:0;color:#f5eff5;box-shadow:inset 0 1px #ffffff12;display:flex;flex-direction:column;gap:10px}
.v51-index{display:inline-block;color:var(--v51-mint);font:700 12px ui-monospace,monospace;direction:ltr;align-self:flex-start}
.v51-card h3{font-size:clamp(16px,1.7vw,20px);line-height:1.5;margin:0;color:#fff4ed}
.v51-card p{font-size:14px;line-height:1.95;color:var(--v51-sub);margin:0;flex:1}
.v51-card-link{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;text-decoration:none;color:var(--v51-mint);font-weight:800;font-size:13px;margin-top:8px;border-bottom:1px solid #a6f5d240}
.v51-card-link:hover,.v51-card-link:focus-visible{color:#fff}
.v51-breadcrumb{display:flex;align-items:center;gap:9px;font-size:12px;color:#c1dbe7;margin-bottom:20px}
.v51-breadcrumb a{color:var(--v51-mint);text-decoration:none}
.v51-skillchips{display:flex;flex-wrap:wrap;gap:9px;padding:10px 0}
.v51-skillchips span{display:inline-block;border:1px solid #94b3d066;background:#273953;color:#f9f3e9;padding:10px 14px;border-radius:100px;font-size:13px;direction:ltr}
.v51-evidence-note{margin:32px auto;max-width:950px;background:#263652;color:#dce6f5;border-inline-start:3px solid var(--v51-mint);padding:16px 20px;line-height:1.9;font-size:13px;border-radius:8px}
.v51-hero-routes{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;align-items:stretch}
.v51-hero-routes a,.v51-hero-routes button{padding:8px 11px;background:#10192bc9;color:#fff3e9;border:1px solid #a8c3d772;border-radius:9px;font-size:11px;line-height:1.7;font-weight:700;text-decoration:none;cursor:pointer}
.v51-hero-routes a:hover,.v51-hero-routes button:hover{border-color:var(--v51-pink)}
.v51-home-guide{padding-top:30px;padding-bottom:35px}
#v51RoomGuide{margin:13px 0 18px;padding:14px;background:#20324b;color:#f3edf5;border:1px solid #a2b9d955;border-radius:14px}
#v51RoomGuide h3{color:#ffe4d2;font-size:17px;line-height:1.5;margin:4px 0 7px}
#v51RoomGuide .v51-room-intro{font-size:13px;line-height:1.85;color:#d3e1ec;margin:8px 0}
#v51RoomGuide .v51-room-list{padding-inline-start:20px;margin:10px 0;color:#e8eaf2;font-size:12px;line-height:1.8}
#v51RoomGuide .v51-room-list li{margin:4px 0;padding:0 4px}
#v51RoomGuide .v51-room-list li.is-complete{color:#b6f3d6}
#v51RoomGuide .v51-room-meta{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}
#v51RoomGuide .v51-room-meta span{font-size:10px;background:#364966;padding:6px 8px;border-radius:6px;color:#e9ecf7}
#v51RoomGuide .v51-room-cta{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
#v51RoomGuide .v51-room-cta a{display:inline-flex;padding:8px 10px;border-radius:8px;border:1px solid #c4d3ee88;color:#fce9d3;font-weight:800;text-decoration:none;font-size:12px}
#v51RoomGuide .v51-room-cta a:first-child{background:#b3f6dc;color:#17273c}
#room .room-info{overflow-y:auto;overscroll-behavior:contain}
#v51Tour{border:1px solid #8ea0c8;border-radius:18px;padding:0;background:linear-gradient(135deg,#1b2845,#11192f);color:#f9f3ee;max-width:min(710px,calc(100vw - 30px));max-height:min(90dvh,820px);box-shadow:0 30px 100px #060b22c9}
#v51Tour::backdrop{background:#050913dc;backdrop-filter:blur(8px)}
#v51Tour .v51-tour-content{padding:24px clamp(17px,4vw,32px) 28px}
#v51Tour h2{font-size:clamp(23px,3.2vw,34px);line-height:1.4;margin:0 0 8px;color:#fff3e9}
#v51Tour p,#v51Tour li{line-height:1.95;color:#dce4ee;font-size:14px}
#v51Tour ul{padding-inline-start:24px;margin:8px 0 22px}
#v51Tour .v51-tour-close{display:block;margin-inline-start:auto;border:1px solid #c0cddd;background:#263957;color:#fff;min-height:40px;padding:8px 15px;border-radius:9px;cursor:pointer}
.v51-hero-routes :focus-visible,#v51Tour :focus-visible,#v51RoomGuide a:focus-visible{outline:3px solid #a6f5d2;outline-offset:2px}
@media(max-width:780px){.v51-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v51-hero{padding-top:50px}}
@media(max-width:540px){.v51-grid{grid-template-columns:1fr}.v51-editorial{padding:24px 17px 45px}.v51-card{padding:19px}.v51-section{padding-bottom:29px}.v51-hero-routes{gap:5px}.v51-hero-routes a,.v51-hero-routes button{font-size:10px;padding:7px 9px}.v51-section .v51-heading{font-size:25px}#room .room-info{max-height:none}}
@media(prefers-reduced-motion:reduce){#v51Tour{scroll-behavior:auto}}
/* V51 contrast and archive project narrative */
.v51-editorial:not(.v51-home-guide) .v51-overline{color:#a24683}
.v51-archive-story{padding:26px 0;border-top:1px solid #8091a65c;border-bottom:1px solid #8091a65c;margin-top:14px}
.v51-archive-story>h2{font-size:clamp(23px,3vw,36px);line-height:1.5;margin:9px 0 18px;color:inherit}
.v51-archive-story>p{line-height:1.95;color:inherit}
.v51-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.v51-archive-grid article{border-radius:14px;padding:18px 19px;background:#253854;color:#edf2f8;border:1px solid #8099bc68;min-width:0}
.v51-archive-grid h3{font-size:17px;margin:0 0 10px;color:#b8f1dc}
.v51-archive-grid p{font-size:13px;line-height:1.95;color:#e0eafa;margin:0}
.v51-archive-story .v51-status{margin-top:18px;font-size:13px}
.v51-visit{margin-top:10px;display:inline-block;background:#b8f1dc;color:#15223a;text-decoration:none;font-weight:850;padding:10px 16px;border-radius:11px}
@media(max-width:760px){.v51-archive-grid{grid-template-columns:1fr}}

/* V51.1: invisible target for a return to Project Avenue. */
.city-deeplink-anchor{position:absolute;top:0;right:0;width:1px;height:1px;pointer-events:none}
