/* Brief Analogy view — visual aid only; technical truth stays in Technical View. */
.analogy-shell{width:min(960px,100%);margin:0 auto;display:grid;gap:20px}
.analogy-scene{border:1px solid #d7dee6;background:linear-gradient(180deg,#fbfcfe,#f5f8fb);border-radius:12px;padding:24px;display:grid;gap:18px}
.analogy-scene-title{text-align:center;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#516477}
.analogy-row,.analogy-flow{display:flex;align-items:stretch;justify-content:center;gap:14px;flex-wrap:wrap}
.analogy-flow .analogy-arrow{align-self:center;flex:0 0 auto}
.analogy-card{min-width:170px;max-width:230px;flex:1 1 170px;border:1px solid #c8d2dc;border-radius:10px;padding:16px 14px;text-align:center;background:#fff;box-shadow:0 2px 8px rgba(31,59,91,.05)}
.analogy-card b{display:block;font-size:14px;color:#172b3e;margin-top:7px}
.analogy-card span:not(.analogy-icon){display:block;font-size:11px;line-height:1.45;color:#5d6975;margin-top:5px}
.analogy-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto;border-radius:50%;font-size:24px;background:rgba(255,255,255,.75);border:1px solid rgba(31,59,91,.12)}
.analogy-arrow{font-size:24px;color:#64788c;font-weight:700;line-height:1}
.analogy-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64788c;text-align:center;margin:-4px 0 0}
.analogy-card.role-admin{background:#eaf7f6;border-color:#8fc9c5}
.analogy-card.role-person{background:#eef5ff;border-color:#a8c7ec}
.analogy-card.role-device{background:#edf9fb;border-color:#9fd2da}
.analogy-card.role-group{background:#f4effb;border-color:#c2afe3}
.analogy-card.role-guard{background:#fff4e9;border-color:#e8bd8d}
.analogy-card.role-identity{background:#edf8f0;border-color:#a9d2b3}
.analogy-card.role-access{background:#f5effa;border-color:#c9b3df}
.analogy-card.role-ticket{background:#fff9df;border-color:#e4ce79}
.analogy-card.role-service{background:#edf5ff;border-color:#a7c3e6}
.analogy-card.role-directory{background:#f3f0fb;border-color:#b8a8db}
.analogy-card.role-policy{background:#fff5e8;border-color:#e6bd88}
.analogy-card.role-network{background:#eef8fb;border-color:#9dcbd5}
.analogy-card.role-recovery{background:#f9eef2;border-color:#d7a8b8}
.analogy-card.role-boundary{background:#f1eff8;border-color:#afa2ce}
.analogy-card.role-search{background:#f5f8e9;border-color:#bfce8a}
.analogy-card.role-sync{background:#edf7f3;border-color:#9bcab7}
.analogy-card.role-choice{background:#f7f1eb;border-color:#d6b594}
.analogy-copy{border-left:4px solid #2f6f8f;background:#f7fafc;padding:14px 16px;border-radius:4px;font-size:13px;line-height:1.6;color:#33485b}
.analogy-copy strong{color:#173b5a}
.analogy-limit{font-size:13px;line-height:1.5;color:#687786;background:#fff;border:1px dashed #cbd4dc;border-radius:6px;padding:10px 12px}
.analogy-limit b{color:#4f6070}
.stage:has(.analogy-shell) + .note{font-size:13px}
.analogy-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px}
.analogy-path .analogy-card{min-width:0;max-width:none}
@media(max-width:900px){.analogy-path{grid-template-columns:1fr}.analogy-flow{display:grid;grid-template-columns:1fr}.analogy-arrow{transform:rotate(90deg);text-align:center}.analogy-card{width:100%;max-width:none}}
