/* Player feedback: construction choices stay discoverable; art gets the room. */
.renewal #flyout.show-locked-tools .tool.locked-hidden,.renewal #flyout .tool[aria-disabled=true] { display:grid!important; background:#1b262c; border:1px dashed #4a5960; color:#9fb0b6; opacity:1; }
.renewal #flyout.show-locked-tools .tool.locked-hidden .t-ico,.renewal #flyout .tool[aria-disabled=true] .t-ico { filter:grayscale(1); opacity:.45; }
.renewal #flyout .tool[aria-disabled=true]:hover { background:#22313a; }
.renewal #flyout.show-locked-tools .tool.family-hidden,.renewal #flyout.show-locked-tools .tool.era-far { display:none!important; }
.renewal .catalog-details { margin:10px 0 0; font:12px/1.45 var(--font); }
.renewal .catalog-details summary { cursor:pointer; color:inherit; opacity:.8; }
.renewal .catalog-details p { margin:8px 0; }
.renewal .panel.lmo:has(.lmo-photo-card) { width:min(1080px,94vw); max-width:1080px; }
.renewal .lmo-photo-card { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr); gap:22px; align-items:start; }
.renewal .lmo-hero { margin:0; min-width:0; background:#d8dfd7; border:1px solid #b5c0b7; border-radius:6px; overflow:hidden; }
.renewal .lmo-hero .lmo-thumb { display:block; float:none; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; margin:0; border:0; background:#e1e8df; }
.renewal .lmo-hero figcaption { padding:7px 10px; font:11px/1.3 var(--font); background:#edf0e9; color:#4c5b53; }
.renewal .lmo-photo-card .lmo-hook { margin-top:0; font:italic 20px/1.4 var(--serif); }
.renewal .lmo-photo-card .lmo-fx { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.renewal .lmo-photo-card .lmo-fx b { font-size:19px; }
.renewal .lmo-photo-card .lmo-extra { font-size:12px; line-height:1.45; }
.renewal .panel.vis { width:min(1240px,96vw); max-width:1240px; }
.renewal .panel.vis .vis-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.renewal .panel.vis .vis-swatch { height:auto!important; aspect-ratio:4/3; padding:0!important; background:#cbd8d4!important; }
.renewal .panel.vis .vis-swatch img { display:block; width:100%; height:100%; object-fit:contain; filter:none!important; clip-path:none!important; border:0!important; }
.renewal .panel.vis .vis-body { padding:14px; }
.renewal .panel.vis .vis-pitch { font:14px/1.45 var(--font); margin:8px 0; }
.renewal .panel.vis .vis-perk,.renewal .panel.vis .vis-drawback { font:13px/1.4 var(--font); margin:6px 0; padding:7px 9px; }
.renewal .panel.vis .vis-hire { margin-top:12px; width:100%; }
.catalog-preview-unavailable { display:grid; place-items:center; height:100%; color:#52636b; font:14px var(--font); }
.bridge-chooser { width:min(1020px,92vw); max-height:85vh; overflow:auto; padding:24px; border:1px solid #8eaaa4; border-radius:12px; background:#e9eee4; color:#233b3c; box-shadow:0 24px 90px #081b2780; }
.bridge-chooser::backdrop { background:#10232966; }
.bridge-chooser header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.bridge-chooser header h2 { margin:0; font:700 30px var(--signtext); }
.bridge-chooser header p { margin:6px 0 20px; font:14px/1.4 var(--font); }
.bridge-chooser [data-bridge-cancel] { border:0; border-radius:50%; width:32px; height:32px; font-size:24px; color:inherit; background:#d4dfd3; }
.bridge-designs { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:12px; }
.bridge-design { display:flex; flex-direction:column; align-items:stretch; gap:7px; text-align:left; padding:12px; background:#fafbf6; border:2px solid #b4c7bd; border-radius:8px; color:#233b3c; cursor:pointer; }
.bridge-design:hover:not(:disabled),.bridge-design:focus-visible { border-color:#345f55; background:#fff; }
.bridge-design:disabled { opacity:.55; cursor:not-allowed; filter:grayscale(1); }
.bridge-design svg { width:100%; fill:none; stroke:#455e57; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.bridge-design .bridge-water { stroke:#77b0c0; stroke-width:3; }
.bridge-design b { font:700 17px/1.2 var(--font); }
.bridge-design>span { font:700 24px var(--signtext); color:#234b93; }
.bridge-design small { font:12px/1.4 var(--font); }
@media(max-width:750px) {
 .renewal .lmo-photo-card { grid-template-columns:1fr; }
 .renewal .panel.vis .vis-grid { grid-template-columns:1fr; }
 .renewal .panel.vis .vis-cand { display:grid; grid-template-columns:minmax(150px,1fr) minmax(180px,1fr); }
 .renewal .panel.vis .vis-swatch { align-self:start; }
 .bridge-chooser { padding:16px; }
}
@media(max-width:440px) { .renewal .panel.vis .vis-cand { display:block; } }

/* Register detail leads with the actual model; the reference stays optional. */
.renewal .lm-register-record .rc-name{font-size:clamp(24px,3vw,36px);line-height:1.08}
.renewal .lm-register-record .lm-hook{font-size:16px;line-height:1.4;margin:9px 0 14px}
.renewal .lm-register-hero{display:block;float:none;width:100%;margin:0 0 14px}
.renewal .lm-register-status{margin:0 0 12px;padding:10px 12px}
.renewal .lm-register-status-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px}
.renewal .lm-register-status-line b{font-variant-numeric:tabular-nums}
.renewal .lm-register-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.renewal .lm-register-benefits>span{padding:9px 10px;background:#e5ebdf;border-radius:4px;font-size:11px;color:#506154}
.renewal .lm-register-benefits b{display:block;margin-top:3px;color:#263c31;font-size:14px}
.renewal .lm-register-reference{margin:8px 0;max-width:320px}
.renewal .lm-register-reference img{display:block;width:100%;height:auto}
.renewal .lm-register-reference figcaption{font:11px/1.4 var(--font);color:#536459}
@media(max-width:440px){.renewal .lm-register-benefits{grid-template-columns:1fr 1fr}.renewal .lm-register-status-line{align-items:flex-start}}
