/* Research tab: lease small print, station lines, market sample size, the
   finance fold, and the walking-route card (js/research-live.js). */

.kv-sub{display:block;margin-top:3px;font-size:12px;font-weight:500;color:var(--ink-3)}

/* Stations */
.rail-table td.lines{white-space:nowrap}
.line-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 6px;margin-right:4px;border-radius:5px;background:var(--lc,#5E6B66);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}
.rail-kind{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:650;border:1px solid var(--line-2);color:var(--ink-2)}
.rail-kind.is-lrt{border-style:dashed}
.rw-hint{margin:8px 2px 0;font-size:12px;color:var(--ink-3)}

/* Rows that open a walk */
tr.rw-row{cursor:pointer}
tr.rw-row:hover td,tr.rw-row:focus-visible td{background:var(--sig-bg)}
tr.rw-row:focus-visible{outline:2px solid var(--sig);outline-offset:-2px}
.rw-go{font:inherit;font-size:11.5px;font-weight:600;padding:3px 9px;margin-right:6px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);cursor:pointer}
.rw-go:hover,.rw-go:focus-visible{border-color:var(--sig);color:var(--sig)}

/* Market */
.mkt-count{margin:0 0 12px;font-size:13px;color:var(--ink-2)}
.mkt-context{margin:12px 2px 0;font-size:12.5px;color:var(--ink-3)}

/* Finance: defaults first, inputs behind Advanced */
.finance-std-v7{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;font-size:13px;color:var(--ink-2)}
.finance-chip-v7{font:inherit;font-size:12px;font-weight:650;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink)}
.finance-chip-v7.is-own{border-color:var(--sig);color:var(--sig)}
details.finance-inputs-v7{margin-top:12px}
details.finance-inputs-v7>summary{cursor:pointer;list-style:none}
details.finance-inputs-v7>summary::-webkit-details-marker{display:none}
details.finance-inputs-v7>summary h3{display:inline;font-size:14px}
details.finance-inputs-v7>summary h3::after{content:" ▸";color:var(--ink-3)}
details.finance-inputs-v7[open]>summary h3::after{content:" ▾"}
details.finance-inputs-v7:not([open]){gap:0}

/* A deck fetching the research it was saved without */
.rw-heal{display:grid;gap:14px;padding:22px 4px}

/* The walking-route card */
.rw-layer{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px}
.rw-scrim{position:absolute;inset:0;background:rgba(10,12,14,.45)}
.rw-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:hidden}
.rw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px}
.rw-head h3{margin:0;font-size:16px;line-height:1.3}
.rw-sum{margin:4px 0 0;font-size:14px;font-weight:650;color:var(--ink-2)}
.rw-x{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.rw-map{position:relative;height:min(440px,58vh);overflow:hidden;background:#e8e6e1}
.rw-map.is-waiting{background:linear-gradient(90deg,#e8e6e1 0%,#f2f0ec 50%,#e8e6e1 100%);background-size:200% 100%;animation:rw-wait 1.4s linear infinite}
@keyframes rw-wait{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.rw-map.is-waiting{animation:none}}
.rw-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;user-select:none}
.rw-svg{position:absolute;inset:0;width:100%;height:100%}
.rw-line-halo{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.rw-line{fill:none;stroke:#1E63D6;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.rw-line.is-straight{stroke-dasharray:8 7}
.rw-pin-home{fill:#131619;stroke:#fff;stroke-width:3}
.rw-pin-to{fill:#C2412D;stroke:#fff;stroke-width:3}
.rw-label{position:absolute;transform:translate(-50%,-150%);padding:2px 7px;border-radius:6px;background:#131619;color:#fff;font-size:11px;font-weight:700;pointer-events:none}
.rw-attr{margin:0;padding:8px 18px 12px;font-size:11px;color:var(--ink-3)}
@media (max-width:600px){
  .rw-layer{padding:0;place-items:end stretch}
  .rw-card{width:100%;border-radius:16px 16px 0 0;max-height:92vh}
  .rw-map{height:56vh}
}
/* A phone keeps the station table to one screen: the name already says MRT or LRT, and the walk outranks the straight line. */
@media (max-width:600px){
  .rail-table th:nth-child(2),.rail-table td:nth-child(2),.rail-table th:nth-child(4),.rail-table td:nth-child(4){display:none}
  .rail-table{min-width:0!important;width:100%!important}
}
