.mapper-hero{--hero-pb:3rem}.calc-breadcrumb{margin-bottom:1.5rem}.calc-breadcrumb a{color:var(--color-hero-sub);min-height:24px;padding:.25rem 0;font-size:.8125rem;text-decoration:none;transition:color .15s;display:inline-block}@media (hover:hover) and (pointer:fine){.calc-breadcrumb a:hover{color:var(--color-hero-text)}}.mapper-workspace{background-color:var(--color-bg);padding:var(--callout-pad) 0}.mapper-layout{grid-template-columns:1.1fr 1fr;gap:3rem;display:grid}.mapper-controls,.mapper-sidebar{min-width:0}.sidebar-sticky{flex-direction:column;gap:1.5rem;max-height:calc(100vh - 6.5rem);display:flex;position:sticky;top:5rem}.ctrl-section{margin-bottom:2.5rem}.ctrl-heading{border-bottom:1px solid var(--color-border);margin-bottom:1rem;padding-bottom:.625rem}.ctrl-hint{color:var(--color-text-light);margin-top:-.5rem;margin-bottom:.75rem;font-size:.6875rem}.uc-grid{grid-template-columns:repeat(2,1fr);gap:.625rem;display:grid}.uc-card{background:var(--color-surface);border:1px solid var(--color-border-control);opacity:0;border-radius:10px;transition:border-color .3s,background .3s,transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);animation:.3s ease-out forwards card-in;position:relative}.uc-card-toggle{all:unset;box-sizing:border-box;width:100%;font-family:var(--font-body);cursor:pointer;text-align:left;flex-direction:column;gap:.375rem;padding:1rem 1.125rem 1rem 1.25rem;display:flex}.uc-card-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:10px}@media (hover:hover) and (pointer:fine){.uc-card:hover{border-color:rgba(var(--color-viz-iris), .22);background:rgba(var(--color-viz-iris), .04);box-shadow:0 8px 24px -4px var(--color-shadow-hover), 0 0 0 1px rgba(var(--color-viz-iris), .06);transform:translateY(-2px)}}.uc-card.selected{border-color:rgba(var(--color-viz-iris), .35);background:rgba(var(--color-viz-iris), .07);box-shadow:0 4px 16px -2px var(--color-shadow), 0 0 0 1px rgba(var(--color-viz-iris), .1)}@media (hover:hover) and (pointer:fine){.uc-card.selected:hover{box-shadow:0 8px 28px -4px var(--color-shadow-hover), 0 0 0 1px rgba(var(--color-viz-iris), .15);transform:translateY(-2px)}}.uc-card.status-ready{border-color:rgba(var(--color-viz-green), .3)}.uc-card.status-partial{border-color:rgba(var(--color-viz-amber), .25)}.uc-card.dep-highlight{border-color:rgba(var(--color-viz-iris), .3);background:rgba(var(--color-viz-iris), .05);box-shadow:0 0 0 1px rgba(var(--color-viz-iris), .08)}.uc-card-name{color:var(--color-text);letter-spacing:-.005em;font-size:.875rem;font-weight:600;line-height:1.3;transition:color .2s}.uc-card.selected .uc-card-name{color:var(--color-text)}@media (hover:hover) and (pointer:fine){.uc-card:hover .uc-card-name{color:var(--color-text)}}.uc-card-tagline{color:var(--color-text-light);font-size:.75rem;line-height:1.5}.uc-card.selected .uc-card-tagline{color:var(--color-text)}.uc-card-meta{color:var(--color-text-light);font-variant-numeric:tabular-nums;margin-top:.125rem;font-size:.8125rem;font-weight:500;transition:color .2s}.uc-card.selected .uc-card-meta{color:var(--color-text)}.uc-card.status-ready .uc-card-meta{color:var(--color-status-green)}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pq-group{margin-bottom:1.5rem}.pq-header{background:rgba(var(--color-viz-iris), .03);border-radius:6px;align-items:center;gap:.625rem;margin-bottom:.5rem;padding:.375rem .5rem;display:flex}.pq-header-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px}.pq-header-label{color:var(--color-slate);font-size:.8125rem;font-weight:600}.pq-items{flex-direction:column;gap:3px;display:flex}.pq-row{background:var(--color-surface);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-text-light);cursor:pointer;text-align:left;opacity:0;border:1px solid #0000;grid-template-columns:2.25rem 1fr auto;align-items:center;padding:.625rem .875rem;font-size:.8125rem;transition:border-color .2s,color .2s,background .2s,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;animation:.2s ease-out forwards row-in;display:grid}@media (hover:hover) and (pointer:fine){.pq-row:hover{border-color:rgba(var(--color-viz-iris), .12);background:rgba(var(--color-viz-iris), .06);color:var(--color-text);transform:translate(2px)}}.pq-row.state-1{background:rgba(var(--color-viz-iris), .04);color:var(--color-text)}.pq-row.state-2{background:rgba(var(--color-viz-iris), .06);color:var(--color-text)}.pq-row.dep-highlight{border-color:rgba(var(--color-viz-iris), .2);background:rgba(var(--color-viz-iris), .05);color:var(--color-text);box-shadow:0 0 0 1px rgba(var(--color-viz-iris), .08)}.pq-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pq-indicator{background:rgba(var(--color-viz-iris), .04);border:1px solid rgba(var(--color-viz-iris), .08);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .25s,border-color .25s,box-shadow .25s;display:flex}.pq-row.state-1 .pq-indicator{background:rgba(var(--color-viz-iris), .08);border-color:rgba(var(--color-viz-iris), .15)}.pq-row.state-2 .pq-indicator{background:rgba(var(--color-viz-iris), .12);border-color:rgba(var(--color-viz-iris), .25);box-shadow:0 0 8px rgba(var(--color-viz-iris), .1)}@media (hover:hover) and (pointer:fine){.pq-row:hover .pq-indicator{border-color:rgba(var(--color-viz-iris), .2)}}.pq-toggle{width:16px;height:16px;color:var(--cat-color);opacity:.5;border:1px solid var(--color-border-control);border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;line-height:1;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1),border-color .25s;display:inline-flex}.pq-row.state-1 .pq-toggle{opacity:.75;transform:scale(1.05)}.pq-row.state-2 .pq-toggle{opacity:1;transform:scale(1.15)}.pq-body{flex-direction:column;gap:.1875rem;min-width:0;display:flex}.pq-name{font-weight:500;line-height:1.3;transition:color .2s}.pq-row.state-2 .pq-name{font-weight:600}.pq-impact{flex-wrap:wrap;gap:4px;display:flex}.pip{border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:transform .2s}.pip-blocked{background:rgba(var(--color-viz-iris), .3);border:1px solid rgba(var(--color-viz-iris), .5)}.pip-partial{background:rgba(var(--color-viz-amber), .45);border:1px solid rgba(var(--color-viz-amber), .7)}.pip-ready{background:rgba(var(--color-viz-green), .45);border:1px solid rgba(var(--color-viz-green), .7)}.pq-state-label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:0 0;border-radius:100px;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700;transition:color .2s,background .2s}.pq-row.state-2 .pq-state-label{color:var(--cat-color);background:rgba(var(--color-viz-iris), .06)}.pq-row.state-1 .pq-state-label{color:var(--color-text-light);background:rgba(var(--color-viz-iris), .04)}@keyframes row-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.readiness-dash{overflow-y:auto}.dash-empty{background:rgba(var(--color-viz-iris), .03);border:1px dashed rgba(var(--color-viz-iris), .2);text-align:center;border-radius:12px;padding:2.5rem 1.5rem;position:relative}.dash-empty:before{content:"";background:rgba(var(--color-viz-iris), .08);border:1px solid rgba(var(--color-viz-iris), .12);border-radius:10px;width:40px;height:40px;margin:0 auto 1rem;display:block}.dash-empty p{color:var(--color-text-light);font-size:.8125rem;line-height:1.5}.dash-cards{flex-direction:column;gap:.625rem;display:flex}.rc-card{opacity:0;border-radius:12px;padding:1rem 1.125rem;transition:border-color .3s,background .3s,box-shadow .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);animation:.25s ease-out forwards card-in}@media (hover:hover) and (pointer:fine){.rc-card:hover{box-shadow:0 4px 16px -4px var(--color-shadow);transform:translateY(-1px)}}.rc-card.dep-highlight{border-color:rgba(var(--color-viz-iris), .3);background:rgba(var(--color-viz-iris), .04);box-shadow:0 0 0 1px rgba(var(--color-viz-iris), .08)}.rc-ready{border-color:rgba(var(--color-viz-green), .25);background:rgba(var(--color-viz-green), .03)}.rc-header{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.625rem;display:flex}.rc-name{color:var(--color-text);letter-spacing:-.005em;font-size:.875rem;font-weight:600;line-height:1.3}.rc-status{font-variant-numeric:tabular-nums;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700}.rc-status-ready{color:var(--color-status-green);background:rgba(var(--color-viz-green), .1)}.rc-status-partial{color:var(--color-status-amber);background:rgba(var(--color-viz-amber), .1)}.rc-status-blocked{color:var(--color-text-light);background:rgba(var(--color-viz-iris), .06)}.rc-bar-wrap{background:rgba(var(--color-viz-iris), .08);border-radius:2px;height:4px;margin-bottom:.625rem;overflow:hidden}.rc-bar{border-radius:2px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.rc-bar-ready{background:linear-gradient(90deg, rgba(var(--color-viz-green), .75), rgba(var(--color-viz-green), 1));box-shadow:0 0 6px rgba(var(--color-viz-green), .3)}.rc-bar-partial{background:linear-gradient(90deg, rgba(var(--color-viz-amber), .8), rgba(var(--color-viz-amber), 1), rgba(var(--color-viz-amber), .85));box-shadow:0 0 6px rgba(var(--color-viz-amber), .2)}.rc-bar-blocked{background:rgba(var(--color-viz-iris), .3);width:0%!important}.rc-missing{flex-wrap:wrap;gap:.3125rem;display:flex}.rc-gap{color:var(--color-text-light);background:rgba(var(--color-viz-iris), .04);border:1px solid rgba(var(--color-viz-iris), .1);border-radius:100px;align-items:center;gap:.25rem;padding:.1875rem .5rem .1875rem .375rem;font-size:.6875rem;line-height:1.4;transition:border-color .15s,background .15s;display:inline-flex}@media (hover:hover) and (pointer:fine){.rc-gap:hover{border-color:rgba(var(--color-viz-iris), .2);background:rgba(var(--color-viz-iris), .08)}}.rc-gap-icon{color:var(--gap-color);font-size:.6875rem}.action-plan{flex-direction:column;flex:1;min-height:12rem;display:flex;overflow:hidden}.action-heading{border-bottom:1px solid var(--color-border);flex-shrink:0;margin-bottom:.875rem;padding-bottom:.625rem}.action-empty{color:var(--color-status-green);padding:.75rem 0;font-size:.8125rem;font-weight:500}.action-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.5rem;min-height:0;padding-right:.25rem;display:flex;overflow-y:auto}.action-list::-webkit-scrollbar{width:4px}.action-list::-webkit-scrollbar-track{background:0 0}.action-list::-webkit-scrollbar-thumb{background:rgba(var(--color-viz-iris), .15);border-radius:2px}@media (hover:hover) and (pointer:fine){.action-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--color-viz-iris), .25)}}.action-item{background:var(--color-surface);border:1px solid var(--color-border);opacity:0;border-radius:10px;flex-shrink:0;padding:.875rem 1rem;transition:border-color .2s,background .2s,box-shadow .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);animation:.25s ease-out forwards card-in}@media (hover:hover) and (pointer:fine){.action-item:hover{border-color:rgba(var(--color-viz-iris), .18);background:rgba(var(--color-viz-iris), .03);box-shadow:0 4px 12px -4px var(--color-shadow);transform:translateY(-1px)}}.action-body{align-items:flex-start;gap:.75rem;display:flex}.action-rank{font-variant-numeric:tabular-nums;color:var(--rank-color);background:rgba(var(--color-viz-iris), .06);border:1px solid rgba(var(--color-viz-iris), .12);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.6875rem;font-weight:700;line-height:1;display:flex}.action-main{flex-direction:column;flex:1;gap:.1875rem;min-width:0;display:flex}.action-prereq{color:var(--color-text-light);font-size:.8125rem;line-height:1.35}.action-prereq strong{color:var(--color-text);font-weight:600}.action-impact{color:var(--color-text-light);font-size:.6875rem;line-height:1.35}.action-expand{background:rgba(var(--color-viz-iris), .04);border:1px solid rgba(var(--color-viz-iris), .1);min-width:44px;min-height:44px;color:var(--color-text-light);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,background .2s,border-color .2s,transform .25s cubic-bezier(.16,1,.3,1);display:flex}@media (hover:hover) and (pointer:fine){.action-expand:hover{color:var(--color-text);background:rgba(var(--color-viz-iris), .1);border-color:rgba(var(--color-viz-iris), .2)}}.action-expand[aria-expanded=true]{background:rgba(var(--color-viz-iris), .1);transform:rotate(180deg)}.action-expand:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.action-detail{border-top:1px solid var(--color-border);margin-top:.75rem;margin-left:2.25rem;padding-top:.75rem}.action-detail-label{color:var(--color-slate);margin-bottom:.375rem;font-size:.8125rem;font-weight:600}.action-detail-desc{color:var(--color-text-light);font-size:.8125rem;line-height:1.6}.mapper-share{flex-shrink:0;gap:.5rem;padding-top:.25rem;display:flex}.mapper-share-btn{flex:1;padding:.5rem .75rem;font-size:.8125rem}.detail-panel{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:50;width:min(380px,85vw);box-shadow:-12px 0 40px var(--color-shadow-hover), -2px 0 8px var(--color-shadow);padding:2.5rem 1.75rem;transition:transform .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.detail-panel[hidden]{pointer-events:none;visibility:hidden;display:block;transform:translate(100%)}.detail-close{background:rgba(var(--color-viz-iris), .06);border:1px solid rgba(var(--color-viz-iris), .1);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-light);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;transition:color .2s,background .2s,border-color .2s;display:flex;position:absolute;top:1rem;right:1rem}@media (hover:hover) and (pointer:fine){.detail-close:hover{color:var(--color-text);background:rgba(var(--color-viz-iris), .12);border-color:rgba(var(--color-viz-iris), .2)}}.detail-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.detail-cat{color:var(--color-text-light);background:rgba(var(--color-viz-iris), .08);border-radius:100px;margin-bottom:.625rem;padding:.1875rem .5rem;font-size:.8125rem;font-weight:500;display:inline-block}.detail-title{margin-bottom:.5rem}.detail-state{color:var(--color-text-light);border-bottom:1px solid var(--color-border);margin-bottom:1.75rem;padding-bottom:1.25rem;font-size:.8125rem}.detail-section{margin-bottom:1.5rem}.detail-section-label{color:var(--color-slate);margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.detail-desc{color:var(--color-text-light);font-size:.8125rem;line-height:1.65}.detail-list{padding:0;list-style:none}.detail-list li{color:var(--color-text-light);border-bottom:1px solid rgba(var(--color-viz-iris), .08);padding:.375rem 0;font-size:.8125rem;transition:color .15s}.detail-list li:last-child{border-bottom:none}.detail-active{font-weight:600;color:var(--color-text)!important}.detail-prereq-icon{margin-right:.375rem;font-size:.75rem}.detail-prereq-li.met{color:var(--color-status-green)}.detail-prereq-li.partial{color:var(--color-status-amber)}.detail-prereq-li.unmet{color:var(--color-text-light)}.mapper-cta{background-color:var(--color-bg-alt);color:var(--color-text);border-top:1px solid var(--color-border);text-align:center;padding:var(--callout-pad) 0}.mapper-context{background:var(--color-bg);padding:calc(var(--callout-pad) / 2) 0;border-bottom:1px solid var(--color-border)}.mapper-ctx-grid{grid-template-columns:repeat(3,1fr);gap:1rem 1.5rem;max-width:720px;display:grid}.mapper-ctx-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:.375rem;font-size:.6875rem;font-weight:700;display:block}.mapper-ctx-field select{width:100%;min-height:44px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-control);cursor:pointer;border-radius:6px;padding:.5625rem .625rem;font-size:.8125rem}.mapper-ctx-field select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-viz-iris), .15);outline:none}.uc-card-detail{width:32px;height:32px;color:var(--color-text-light);opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.75rem;transition:opacity .15s;display:flex;position:absolute;top:.25rem;right:.25rem}.uc-card:focus-within .uc-card-detail{opacity:.6;pointer-events:auto;cursor:pointer}.uc-card .uc-card-detail:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--color-accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.uc-card:hover .uc-card-detail{opacity:.6;pointer-events:auto;cursor:pointer}.uc-card-detail:hover{background:rgba(var(--color-viz-iris), .1);opacity:1!important}}@media (hover:none){.uc-card-detail{opacity:.5;pointer-events:auto}}.mapper-roadmap{background:var(--color-bg);padding:var(--callout-pad) 0;border-top:1px solid var(--color-border);content-visibility:auto;contain-intrinsic-size:auto 600px}.mapper-roadmap[hidden]{display:none}.roadmap-heading{margin-bottom:.5rem}.roadmap-intro{color:var(--color-text-light);max-width:var(--measure);margin-bottom:1.5rem;font-size:.875rem;line-height:1.6}.roadmap-ready{color:var(--color-text);border-radius:var(--radius-sm);background:rgba(var(--color-viz-iris), .04);border:1px solid rgba(var(--color-viz-iris), .12);padding:1.5rem;font-size:.9375rem}.roadmap-timeline-note{max-width:var(--measure);color:var(--color-text-light);background:rgba(var(--color-viz-iris), .03);border:1px solid rgba(var(--color-viz-iris), .08);border-radius:6px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.8125rem;font-style:italic}.roadmap-phase{margin-bottom:2rem}.roadmap-phase-header{align-items:center;gap:.75rem;margin-bottom:.375rem;display:flex}.roadmap-phase-num{color:var(--color-accent);background:rgba(var(--color-viz-iris), .1);border-radius:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.roadmap-phase-name{color:var(--color-text);font-size:.9375rem;font-weight:700}.roadmap-phase-desc{color:var(--color-text-light);margin-bottom:.75rem;font-size:.8125rem}.roadmap-items{flex-direction:column;gap:.5rem;display:flex}.roadmap-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);gap:.75rem;padding:.875rem 1rem;display:flex}.roadmap-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.375rem}.roadmap-item-body{flex:1;min-width:0}.roadmap-item-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.roadmap-item-header strong{color:var(--color-text);font-size:.875rem}.roadmap-state{border-radius:3px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.roadmap-state-gap{color:var(--color-text-light);background:rgba(var(--color-viz-iris), .08)}.roadmap-state-partial{color:rgba(var(--color-viz-amber), 1);background:rgba(var(--color-viz-amber), .1)}.roadmap-deps{color:var(--color-text-light);margin-bottom:.375rem;font-size:.75rem;display:block}.roadmap-item-notes{max-width:var(--measure);color:var(--color-text-light);margin:0 0 .375rem;font-size:.8125rem;line-height:1.55}.roadmap-item-unblocks{color:var(--color-accent);font-size:.75rem;font-weight:600}@media (width<=900px){.mapper-ctx-grid{grid-template-columns:1fr}.mapper-layout{grid-template-columns:1fr;gap:2rem}.sidebar-sticky{max-height:none;position:static}.action-list{overflow-y:visible}.uc-grid{grid-template-columns:1fr}@media (hover:hover) and (pointer:fine){.uc-card:hover,.action-item:hover{box-shadow:none;transform:none}}.ctrl-section{margin-bottom:1.75rem}.roadmap-item{padding:.75rem}.roadmap-phase-header{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.uc-card,.pq-row,.rc-card,.action-item,.action-expand,.mapper-share-btn,.detail-panel{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (hover:hover) and (pointer:fine){.uc-card:hover,.uc-card.selected:hover,.pq-row:hover{transform:none}}}@media print{nav,footer,.cmd-palette,.mapper-hero,.mapper-share,.detail-panel,.mapper-cta,.mapper-context{display:none!important}.mapper-workspace{color:#141a33!important;background:#fff!important;padding:1rem 0!important}.mapper-layout{grid-template-columns:1fr!important}.ctrl-heading{color:#141a33!important;border-bottom-color:#ddd!important}.uc-card{color:#141a33!important;box-shadow:none!important;background:#fff!important;border-color:#ccc!important;transform:none!important}.uc-card.selected{border-color:#333!important}.uc-card-name{color:#141a33!important}.pq-row{color:#141a33!important;background:#fff!important;border-color:#ddd!important;transform:none!important}.pq-header{background:#f5f5f5!important}.rc-card{box-shadow:none!important;background:#fff!important;border-color:#ddd!important;transform:none!important}.rc-name{color:#141a33!important}.action-item{box-shadow:none!important;background:#fff!important;border-color:#ddd!important;transform:none!important}.roadmap-item{background:#fff!important;border-color:#ddd!important}.roadmap-phase-num{color:#333!important;background:#eee!important}.roadmap-heading,.roadmap-item-header strong{color:#141a33!important}.mapper-roadmap{content-visibility:visible!important}}
