.avenue-block{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--shadow);background:linear-gradient(#e6f3ff 0%,#fff6e3 78%);border-radius:22px;position:relative;overflow:hidden}.avenue-sky{pointer-events:none;height:60%;position:absolute;inset:0 0 auto}.avenue-row{scrollbar-width:thin;scroll-snap-type:x proximity;align-items:flex-end;gap:6px;padding:26px 18px 0;display:flex;position:relative;overflow-x:auto}.avenue-plot{scroll-snap-align:center;cursor:pointer;color:var(--ink);background:0 0;border:0;flex-direction:column;flex:none;align-items:center;padding:0;text-decoration:none;display:flex}.avenue-building-svg{transform-origin:50% 100%;transition:transform .15s;display:block}.avenue-plot:hover .avenue-building-svg,.avenue-plot:focus-visible .avenue-building-svg,.avenue-plot.is-on .avenue-building-svg{transform:translateY(-5px)scale(1.03)}.avenue-plot:focus-visible{outline:none}.avenue-plot:focus-visible .avenue-nameplate,.avenue-plot.is-on .avenue-nameplate{background:var(--accent)}.avenue-pavement{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:#e9dcc3;height:14px}.avenue-road{background:#4b4760;height:34px;position:relative}.avenue-road:after{content:"";opacity:.8;border-top:3px dashed #fff6c9;position:absolute;top:50%;left:0;right:0}.avenue-nameplate{border:2px solid var(--ink);background:var(--surface);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:116px;margin:0 0 8px;padding:2px 8px;font-size:12px;font-weight:800;overflow:hidden}.avenue-nameplate.is-empty{color:var(--muted);border-style:dashed;font-weight:700}.avenue-labels{gap:6px;padding:8px 18px 0;display:flex}.avenue-detail{grid-template-columns:auto 1fr;align-items:start;gap:16px;display:grid}.avenue-logo{border:2px solid var(--ink);background:var(--accent);width:64px;height:64px;font-family:var(--font-display);border-radius:18px;place-items:center;font-size:28px;font-weight:800;display:grid}.avenue-links{flex-wrap:wrap;gap:8px;display:flex}.avenue-links a{border:2px solid var(--ink);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.avenue-links a:hover{background:var(--highlight)}.avenue-stat{flex-direction:column;display:flex}.avenue-stat b{font-family:var(--font-display);font-size:24px;line-height:1.1}.avenue-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}@media (max-width:640px){.avenue-detail{grid-template-columns:1fr}}.avenue-lanterns{pointer-events:none;position:absolute;top:0;left:0;right:0}.avenue-districts{flex-wrap:wrap;gap:8px;display:flex}.avenue-districts button{border:2px solid var(--ink);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800}.avenue-districts button.is-on{background:var(--accent);box-shadow:2px 2px 0 var(--shadow)}.avenue-districts small{color:var(--muted);margin-left:4px;font-weight:700}.avenue-square{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.avenue-square>div{border:2px solid var(--ink);background:var(--surface);border-radius:16px;padding:12px 14px}.avenue-square .is-top{background:var(--accent)}@media (max-width:640px){.avenue-square{grid-template-columns:1fr}}.avenue-plot.is-gate{cursor:default}.avenue-plot.is-gate .avenue-nameplate{visibility:hidden}.avenue-row{padding-top:56px}.avenue-home{margin-top:8px;margin-bottom:40px}.avenue-row.is-short{justify-content:safe center;padding-top:18px}.avenue-lv{border:2px solid var(--ink);color:var(--ink);letter-spacing:.04em;background:#ffcf3a;border-radius:6px;margin:4px 0 -2px;padding:0 7px;font-size:11px;font-weight:900}.avenue-board{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.avenue-board li button{border:2px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.avenue-board li button:hover,.avenue-board li button.is-on{background:var(--accent)}.avenue-board .rank{min-width:1.4em;font-weight:900}.avenue-board small{color:var(--muted);font-size:11px;line-height:1.1;display:block}.avenue-stats{flex-wrap:wrap;gap:8px 22px;display:flex}.avenue-stats .avenue-stat{white-space:nowrap}
