/* THE CITY, for a broker (squad RENDER member 3). The look is tools/render/LOOK.md; colours and type are the
   house tokens of publication/design/system/bruce.css. Fallback values are the same tokens, for a page that
   has not loaded the house sheet. */
.rc{position:relative;width:100%;height:100%;min-height:320px;background:var(--bg,#000);color:var(--ink,#F5F7FA);
  font-family:var(--font,"Onest",system-ui,-apple-system,"Segoe UI",sans-serif);overflow:hidden;
  font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}
.rc *{box-sizing:border-box}
.rc-map{position:absolute;inset:0;background:var(--bg,#000)}
/* the city fades to true black toward the picture's edges, so the grey mass never runs to a corner (LOOK.md
   section 1: corners no brighter than 34 of 255). Drawn over the map, under the labels; it takes no press. */
.rc-vignette{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 72% 72% at 50% 48%,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 52%,rgba(0,0,0,.72) 82%,#000 100%)}
.rc-map svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
/* the few rules MapLibre needs (its own sheet is 65 KB of controls we do not use) */
.rc .maplibregl-map{overflow:hidden}
.rc .maplibregl-canvas{position:absolute;left:0;top:0}
.rc .maplibregl-canvas-container.maplibregl-interactive{cursor:grab;user-select:none;-webkit-user-select:none}
.rc .maplibregl-canvas-container.maplibregl-interactive:active{cursor:grabbing}
.rc .maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,
.rc .maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}
.rc .maplibregl-control-container{display:none}
.maplibregl-canary{background-color:salmon}
.rc.rc-point .maplibregl-canvas-container.maplibregl-interactive{cursor:pointer}

.rc-head{position:absolute;left:24px;top:24px;max-width:min(520px,calc(100% - 48px));pointer-events:none}
.rc-head h1{margin:0;font-size:var(--fs-h,24px);font-weight:600;line-height:1.2;letter-spacing:0}
.rc-head p{margin:6px 0 0;font-size:var(--fs-m,15.5px);color:var(--muted,#B4BFCC);line-height:1.4}
.rc-head button{pointer-events:auto}
.rc-link{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:var(--muted,#B4BFCC);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px}
.rc-link:hover,.rc-link:focus-visible{color:var(--ink,#F5F7FA)}

.rc-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.rc-labels svg{position:absolute;inset:0;width:100%;height:100%}
.rc-label{position:absolute;left:0;top:0;padding:4px 8px;border-radius:8px;background:rgba(0,0,0,.72);
  border:1px solid rgba(255,255,255,.12);white-space:nowrap;line-height:1.25;will-change:transform}
.rc-label b{display:block;font-size:12.5px;font-weight:600;color:var(--ink,#F5F7FA)}
.rc-label span{display:block;font-size:12.5px;font-weight:400;color:var(--muted,#B4BFCC)}

.rc-legend{position:absolute;left:24px;bottom:44px;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-s,14px)}
.rc-legend{text-shadow:0 0 6px #000,0 0 2px #000}
.rc-legend button{appearance:none;background:none;border:0;margin:0;padding:5px 8px 5px 0;display:flex;align-items:center;
  gap:10px;font:inherit;color:var(--muted,#B4BFCC);cursor:pointer;text-align:left;min-height:30px}
.rc-legend button[disabled]{cursor:default}
.rc-legend button[aria-pressed="true"],.rc-legend button:not([disabled]):hover{color:var(--ink,#F5F7FA)}
.rc-legend i{flex:none;width:16px;height:16px;display:block}
.rc-g-in{background:#101216;border:2px solid var(--gold,#F5C451)}
.rc-g-now{background:var(--gold,#F5C451);border:1px solid var(--gold,#F5C451)}
.rc-g-unsure{border:1px dashed #5A5F68}
.rc-g-other{background:#101216;border:1px solid #3A3D44}
.rc-g-noheight{border:1px dashed #5A5F68}
.rc-legend button[hidden]{display:none}
.rc-g-none{border:0;position:relative}
.rc-g-none::before{content:"";position:absolute;left:1px;right:1px;top:7px;border-top:1px dashed #5A5F68}

.rc-foot{position:absolute;left:24px;right:24px;bottom:16px;font-size:var(--fs-xs,12.5px);color:var(--dim,#8E9AAB);
  pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-flatnote{color:var(--dim,#8E9AAB)}

.rc-actions{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);display:flex;gap:16px;align-items:center}
.rc-go{appearance:none;border:0;border-radius:var(--r-m,12px);background:var(--gold,#F5C451);color:var(--gold-ink,#14110A);
  font:inherit;font-size:var(--fs-s,14px);font-weight:600;padding:0 18px;min-height:44px;cursor:pointer}
.rc-go:hover{background:var(--gold-hover,#FFD36B)}
.rc-go[hidden],.rc-link[hidden]{display:none}

.rc-card{position:absolute;z-index:3;right:24px;top:24px;width:340px;max-height:calc(100% - 48px);overflow:auto;
  background:var(--float,#0B0E13);border-radius:var(--r-l,18px);
  box-shadow:var(--e2,inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.05),0 30px 60px -30px rgba(0,0,0,.95));
  padding:18px 18px 14px;opacity:0;transform:translateX(16px);pointer-events:none;
  transition:opacity var(--t-med,180ms) var(--ease,cubic-bezier(.2,.8,.2,1)),transform var(--t-med,180ms) var(--ease,cubic-bezier(.2,.8,.2,1))}
.rc-card.rc-open{opacity:1;transform:none;pointer-events:auto}
.rc-card h2{margin:0 28px 0 0;font-size:var(--fs-b,17px);font-weight:600;line-height:1.3}
.rc-card .rc-sub{margin:2px 0 0;font-size:var(--fs-s,14px);color:var(--muted,#B4BFCC)}
.rc-state{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-size:var(--fs-s,14px)}
.rc-state i{flex:none;width:16px;height:16px;display:block}
.rc-why{margin:4px 0 0;font-size:var(--fs-xs,12.5px);color:var(--dim,#8E9AAB);line-height:1.45}
.rc-rows{margin:12px 0 0;padding:0;display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:var(--fs-s,14px)}
.rc-rows dt{color:var(--dim,#8E9AAB)}
.rc-rows dd{margin:0;color:var(--ink,#F5F7FA);text-align:right}
.rc-spaces{margin:14px 0 0;padding:0;list-style:none}
.rc-spaces>li{border-top:1px solid var(--hair-2,rgba(255,255,255,.12));padding:10px 0 8px}
.rc-spaces h3{margin:0;font-size:var(--fs-s,14px);font-weight:600}
.rc-spaces .rc-rows{margin-top:8px}
.rc-card details{margin-top:8px;font-size:var(--fs-xs,12.5px);color:var(--dim,#8E9AAB)}
.rc-card summary{cursor:pointer;min-height:24px;color:var(--muted,#B4BFCC)}
.rc-card details dl{margin:6px 0 0;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}
.rc-card details dt{color:var(--dim,#8E9AAB)}
.rc-card details dd{margin:0;color:var(--muted,#B4BFCC);overflow-wrap:anywhere}
.rc-src{margin:12px 0 0;font-size:var(--fs-xs,12.5px);color:var(--dim,#8E9AAB);line-height:1.5}
.rc-src a{color:inherit}
.rc-x{position:absolute;right:8px;top:8px;width:44px;height:44px;appearance:none;background:none;border:0;
  color:var(--dim,#8E9AAB);font:inherit;font-size:17px;line-height:1;cursor:pointer;border-radius:var(--r-s,10px)}
.rc-x:hover,.rc-x:focus-visible{color:var(--ink,#F5F7FA)}
.rc-problem{position:absolute;left:24px;top:50%;right:24px;text-align:center;color:var(--muted,#B4BFCC);font-size:var(--fs-m,15.5px)}
.rc-wait{position:absolute;left:24px;top:92px;color:var(--dim,#8E9AAB);font-size:var(--fs-s,14px)}

@media (max-width:640px){
  .rc-head{left:16px;top:16px;max-width:calc(100% - 32px)}
  .rc-head h1{font-size:17px}
  .rc-head p{font-size:14px}
  .rc-legend{left:16px;bottom:40px;flex-direction:row;flex-wrap:wrap;gap:0 14px;max-width:calc(100% - 32px)}
  .rc-legend button{padding:4px 0;min-height:44px}
  .rc-legend .rc-words{display:none}
  .rc-legend.rc-wide{flex-direction:column;background:rgba(0,0,0,.86);padding:6px 10px;border-radius:var(--r-m,12px)}
  .rc-legend.rc-wide .rc-words{display:inline}
  .rc-foot{left:16px;right:16px;bottom:10px;font-size:12.5px}
  .rc-actions{bottom:92px;flex-direction:column;gap:6px}
  .rc-card{left:0;right:0;top:auto;bottom:0;width:auto;max-height:55%;border-radius:var(--r-l,18px) var(--r-l,18px) 0 0;
    transform:translateY(16px)}
  .rc-open~.rc-actions,.rc-open~.rc-legend{display:none}
  .rc-wait{left:16px;top:84px}
}
@media (prefers-reduced-motion:reduce){.rc-card{transition:none}}
