/* The tour exposes the decisions behind the report through usable controls. */
.showcase-tabs{grid-template-columns:repeat(5,minmax(0,1fr));background:#293957}
.showcase-tabs button{font-size:11px;overflow-wrap:anywhere;min-height:36px}
.market-metrics{grid-template-columns:1fr 1fr}
.market-metrics strong{font-size:25px;white-space:nowrap}
.concentration-keys{display:flex;gap:9px}
.concentration-key{display:flex;align-items:center;gap:7px;flex:1;font-size:10px;color:#59647c;background:#e9edf7;border-radius:6px;padding:7px 9px}
.concentration-key strong{font-size:16px;color:#35466e;white-space:nowrap}
.full-distribution{height:125px;position:relative;border-bottom:1px solid #b6bfd4;background:linear-gradient(to bottom,#e6eaf280 1px,transparent 1px);background-size:100% 50px;margin-top:5px}
.distribution-bars{height:100%;display:flex;align-items:stretch;gap:1px}
.distribution-bar{flex:1;min-width:0;padding:0;position:relative;border:0;background:transparent;cursor:pointer}
.distribution-bar i{position:absolute;bottom:0;left:0;right:0;height:max(2px,var(--bar-height));background:#7086ae;border-radius:2px 2px 0 0;transition:background .15s}
.distribution-bar:hover i,.distribution-bar[aria-pressed=true] i{background:#cc6950}
.distribution-bar:focus-visible{outline:2px solid #203454;outline-offset:2px;z-index:2}
#cumulative-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.cumulative-path{fill:none;stroke:#bc8b31;stroke-width:2;vector-effect:non-scaling-stroke}
.threshold-guide{stroke:#aa7d2b;stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.threshold-label{font-size:21px;font-weight:650;fill:#805811;paint-order:stroke;stroke:#f5f7ff;stroke-width:5px;stroke-linejoin:round}
.rank-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;font-size:11px;color:#59647c}
.rank-control output{font-weight:650;color:#35466e}
.rank-control input{grid-column:1/-1;width:100%;min-height:25px;margin:0;accent-color:#526b98}
.market-product{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;background:white;border:1px solid #e4e8f3;border-radius:9px;padding:10px}
.market-product>img{width:76px;height:92px;object-fit:contain}
.product-rank{font-size:9px;letter-spacing:.2px;color:#717c90;display:block;margin-bottom:4px}
.product-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;font-weight:600;line-height:1.35;color:#202e49}
.product-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:8px 0 0}
.product-stats dt{font-size:9px;color:#68758c;line-height:1.3}
.product-stats dd{font-size:13px;font-weight:650;color:#35466e;margin:2px 0 0;white-space:nowrap}
.morph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#65738b;font-size:11px}
.morph-toolbar button{font:inherit;background:white;border:1px solid #d8dfea;border-radius:6px;padding:7px 9px;color:#35466e;cursor:pointer}
.format-gallery{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(149px,auto);gap:8px;padding-top:4px}
.format-tile{display:flex;flex-direction:column;gap:5px;padding:8px;text-align:center;overflow:visible;transform-origin:top left;transition:transform 1s cubic-bezier(.2,.75,.25,1),background .7s,border-color .7s}
.format-tile img{height:72px;width:100%;flex:none;mix-blend-mode:multiply}
.format-tile>div{width:100%;transition:opacity .7s}
.format-tile span{font-size:11px;line-height:1.3}
.format-tile strong{font-size:21px;margin-top:3px}
.format-tile .estimate-unavailable{font-size:10px}
.format-gallery.is-mixed .format-tile{transform:translate(var(--mix-x),var(--mix-y)) rotate(var(--mix-angle)) scale(.8);background:transparent;border-color:transparent;z-index:1}
.format-gallery.is-mixed .format-tile>div{opacity:0}
.format-gallery.is-mixed .format-tile img{height:105px}
.territory-picker{display:grid;gap:5px;font-size:11px;color:#59647c}
.territory-picker select{width:100%;min-height:38px;border:1px solid #d5ddeb;border-radius:7px;background:white;color:#243550;padding:7px 10px;font:inherit;font-size:13px}
.competitor-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#e9edf7;border-radius:7px;padding:9px 11px;font-size:10px;color:#65738b}
.competitor-summary strong{color:#35466e;font-size:11px;font-weight:600}
.territory-competitors{display:grid;gap:8px}
.territory-rival{display:grid;grid-template-columns:65px minmax(0,1fr);align-items:center;gap:12px;padding:11px;background:white;border:1px solid #e4e8f3;border-radius:8px}
.territory-rival img{width:65px;height:70px;object-fit:contain}
.rival-rating{display:inline-block;font-size:11px;color:#9a6614;margin-top:6px;margin-right:9px}
.rival-reviews{font-size:10px;color:#68758c}
.rival-facts{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:10px;color:#68758c}
.rival-facts b{font-size:13px;color:#35466e}
.scenario-result{background:#f8eae8;border:1px solid #ecd1cb;border-radius:9px;padding:14px;color:#87493b;transition:background .4s,border-color .4s,color .4s}
.scenario-result[data-outcome=positive]{background:#e5f0e9;border-color:#c4decd;color:#256043}
.scenario-result[data-outcome=zero]{background:#eef0f4;border-color:#d6dce5;color:#41516a}
.profit-top{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;font-size:11px}
.profit-amount{grid-column:1;grid-row:2;font-size:32px;letter-spacing:-1px;line-height:1.2}
.profit-status{grid-column:2;grid-row:1/3;max-width:115px;text-align:right;line-height:1.4;font-weight:600}
.profit-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid currentColor}
.profit-metrics span{display:block;font-size:10px;opacity:.85}
.profit-metrics strong{display:block;font-size:13px;font-weight:600;margin-top:2px}
.scenario-fields{display:grid;gap:8px;padding:2px 0}
.scenario-fields>div{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;font-size:11px;color:#52617b}
.scenario-fields output{font-size:13px;color:#243550;font-weight:650}
.scenario-fields input{grid-column:1/-1;width:100%;margin:0;min-height:26px;accent-color:#526b98;cursor:pointer}
.scenario-assumptions{font-size:11px;color:#52617b;border-top:1px solid #dce2ed;padding-top:9px}
.scenario-assumptions summary{cursor:pointer;padding:4px 0;line-height:1.4}
.assumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.assumption-grid label{display:grid;gap:5px}
.assumption-grid input{width:100%;min-width:0;min-height:38px;border:1px solid #d5ddeb;border-radius:6px;background:white;padding:8px;color:#243550;font:inherit;font-size:13px}
@media(max-width:1100px) and (min-width:781px){.market-metrics strong{font-size:21px}.market-product{grid-template-columns:60px minmax(0,1fr);gap:8px}.market-product>img{width:60px}.product-stats{gap:5px}.format-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.market-metrics strong{font-size:21px}.concentration-key{padding:6px;gap:5px;font-size:9px}.concentration-key strong{font-size:14px}.format-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.market-product{grid-template-columns:56px minmax(0,1fr);gap:8px;padding:8px}.market-product>img{width:56px}.product-stats{gap:4px}.product-stats dd{font-size:11px}.product-stats dt{font-size:8px}.product-name{font-size:11px}.territory-rival{padding:9px;gap:9px}.competitor-summary{font-size:9px;padding:8px}.profit-amount{font-size:28px}.profit-status{font-size:10px;max-width:100px}.showcase-tabs button{font-size:10px}.full-distribution{height:135px}}
@media(prefers-reduced-motion:reduce){.format-tile,.format-tile>div,.scenario-result,.distribution-bar i{transition:none}}

#scene-market .scene-content{gap:8px}
#scene-market .scene-heading h3{font-size:19px}
.scene-note{font-size:12px;line-height:1.4}
.product-stats dt,.product-rank{font-size:10px}
