/* Reference pin and approved daylight render; one shared projected map plane. */
.viewport-shell,.network-chapter{overflow:clip}.network-chapter{background:#fff}.map-world{width:max(110vw,calc(100svh * 1.86));max-width:none;aspect-ratio:1672/941;top:55%;perspective:1500px;perspective-origin:50% 50%;isolation:isolate;translate:var(--map-shift-x,0px) var(--map-shift-y,0px);transition:translate .5s cubic-bezier(.2,.7,.2,1)}.map-camera{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 55%;will-change:transform}.map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none;transform:none}#map-points{position:absolute;inset:0;transform-style:flat}.network-heading{z-index:4;pointer-events:none}.network-heading:before{inset:-45px -60px;background:radial-gradient(ellipse,#fff 25%,#ffffffa8 58%,#fff0 75%)}.network-summary{z-index:3;bottom:25px;pointer-events:none}.network-summary:before{content:'';position:absolute;inset:-30px -100px -35px;background:linear-gradient(0deg,#fff 18%,#ffffffba 52%,#fff0);z-index:-1}
.map-point{width:66px;height:80px;transform:translate(-50%,-100%) translate(var(--pin-x,0px),var(--pin-y,0px));transform-origin:50% 100%;overflow:visible;isolation:isolate;border-radius:18px;outline-offset:9px}.map-point:before{left:50%;bottom:-3px;width:45px;height:15px;transform:translateX(-50%) rotate(-9deg);border:0;background:color-mix(in srgb, var(--secondary) 10.980%, transparent);box-shadow:0 0 12px color-mix(in srgb, var(--secondary) 9.804%, transparent);transition:box-shadow .3s,background .3s}.point-pin{position:absolute;left:50%;bottom:0;width:49px;height:68px;transform:translateX(-50%);transform-origin:50% 97%;filter:drop-shadow(-3px 5px 4px color-mix(in srgb, var(--primary-dark) 12.549%, transparent));opacity:1;transition:transform .4s cubic-bezier(.2,.7,.2,1),filter .3s,opacity .25s}.point-pin svg{display:block;width:100%;height:100%}.map-point .point-name{top:100%;margin-top:8px;display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:9px;font-weight:500;background:#ffffffef;border:1px solid var(--brand-tint);box-shadow:0 3px 10px color-mix(in srgb, var(--primary-dark) 6.275%, transparent);color:var(--primary-dark);opacity:.9;transition:opacity .3s,transform .3s}.point-name small{font-size:8px;color:var(--text-muted);font-weight:400;border-left:1px solid var(--brand-line);padding-left:5px}.point-product{position:absolute;left:50%;bottom:-1px;width:72px;height:122px;opacity:0;transform:translateX(-50%) translateY(8px) rotateY(55deg) scale(.65);transform-origin:50% 100%;transition:transform .55s cubic-bezier(.2,.75,.22,1),opacity .3s;filter:drop-shadow(-5px 6px 4px color-mix(in srgb, var(--text-dark) 12.549%, transparent));pointer-events:none}.product-art{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.map-point:is(:hover,:focus-visible) .point-pin{transform:translateX(-50%) translateY(-5px) scale(1.16);filter:brightness(1.07) drop-shadow(0 0 13px color-mix(in srgb, var(--primary-light) 56.863%, transparent)) drop-shadow(-4px 6px 4px color-mix(in srgb, var(--primary-dark) 18.824%, transparent))}.map-point:is(:hover,:focus-visible):before{background:color-mix(in srgb, var(--primary) 20.784%, transparent);box-shadow:0 0 0 6px color-mix(in srgb, var(--primary-light) 8.627%, transparent),0 0 22px color-mix(in srgb, var(--primary-light) 31.373%, transparent)}.map-point[aria-expanded=true]{z-index:5}.map-point[data-product=true] .point-pin{opacity:0;transform:translateX(-50%) translateY(4px) rotateY(-70deg) scale(.5)}.map-point[data-product=true] .point-product{opacity:1;transform:translateX(-50%) rotateY(0) scale(1)}.map-point[aria-expanded=true] .point-name{background:#fffffff5;border-color:var(--primary-light);color:var(--primary-dark)}.map-point[aria-expanded=true]:before{background:color-mix(in srgb, var(--primary-dark) 9.020%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary-light) 6.275%, transparent)}
#map-popup.revenue-panel{position:absolute;z-index:8;inset:auto;right:auto;bottom:auto;width:292px;padding:14px 15px 9px;opacity:1;border-radius:16px;border:1px solid var(--brand-line);background:#fffffff5;box-shadow:0 8px 30px color-mix(in srgb, var(--primary-dark) 10.196%, transparent);backdrop-filter:blur(16px);animation:none;transform-origin:var(--card-origin,0%) 50%;transition:box-shadow .25s,border-color .25s;pointer-events:auto;overflow:visible}#map-popup[data-side=left]{--card-origin:100%}#map-popup:before{content:'';position:absolute;top:var(--anchor-y,55%);left:-5px;width:9px;height:9px;background:#fff;transform:translateY(-50%) rotate(45deg);border-left:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line)}#map-popup[data-side=left]:before{left:auto;right:-5px;rotate:180deg}#map-popup .revenue-heading{font-size:11px;gap:7px;padding-bottom:10px}#map-popup .revenue-caption{font-size:7px}#map-popup .map-popup-close{margin:-5px -5px -5px 0;width:24px;height:24px;background:transparent;font-size:20px;color:var(--text-gray);border:0;border-radius:50%}#map-popup .map-popup-close:hover{background:var(--bg-gray)}#point-fills{font-size:40px;line-height:1;font-weight:600;letter-spacing:-.07em;font-variant-numeric:tabular-nums;color:var(--text-dark)}#map-popup .revenue-number{font-size:30px}#point-chart{height:36px;margin:7px 0 0;overflow:hidden}#point-chart .point-chart-area{fill:url(#point-wash)}#point-chart .point-chart-line{stroke:var(--primary);stroke-width:1.7}.map-live-foot{display:flex;justify-content:space-between;gap:6px;font-size:8px;color:var(--text-gray);padding-top:7px}.map-live-foot>span:first-child{color:var(--text-gray)}#map-popup.earning{animation:map-income-reward 1.35s cubic-bezier(.2,.7,.2,1)}
@keyframes map-income-reward{0%{transform:scale(1);border-color:var(--brand-line);box-shadow:0 8px 30px color-mix(in srgb, var(--primary-dark) 10.196%, transparent)}24%{transform:scale(1.055);border-color:#ffc94b;box-shadow:0 0 0 3px #ffda6760,0 0 30px #ffd54f75,0 12px 32px #ac82212b}55%{transform:scale(.993);border-color:#ffce55;box-shadow:0 0 0 2px #ffda6738,0 0 20px #ffd54f40}100%{transform:scale(1);border-color:var(--brand-line);box-shadow:0 8px 30px color-mix(in srgb, var(--primary-dark) 10.196%, transparent)}}
@media(orientation:portrait){.map-world{width:150vw;top:58%;perspective:1100px}.map-point{width:54px;height:66px}.point-pin{width:42px;height:58px}.point-product{width:58px;height:98px}.map-point .point-name{font-size:7px;padding:4px 6px;gap:4px;margin-top:7px}.point-name small{font-size:6px;padding-left:4px}.map-point:before{width:36px;height:13px}.network-heading:before{inset:-35px -40px -40px}.network-summary{bottom:24px}#map-popup.revenue-panel{width:min(260px,calc(100vw - 108px));padding:11px 12px 8px;border-radius:14px}#map-popup .revenue-heading{font-size:10px;gap:5px;padding-bottom:8px}#map-popup .revenue-caption{font-size:6px}#map-popup .revenue-fills{padding-right:10px}#map-popup .revenue-turnover{padding-left:10px}#map-popup .revenue-label{font-size:9px}#map-popup .revenue-number{font-size:24px}#point-fills{font-size:31px}#map-popup .revenue-bottle{width:25px;height:31px}#point-chart{height:29px;margin-top:5px}#map-popup .revenue-trend{font-size:8px}.map-live-foot{font-size:6.5px;gap:3px}}
@media(orientation:landscape) and (max-height:600px){.map-world{width:106vw;top:53%}.map-point{width:52px;height:60px}.point-pin{width:36px;height:50px}.point-product{width:54px;height:92px}.map-point .point-name{font-size:7px;padding:4px 6px;margin-top:5px}.network-heading{max-width:240px}.network-heading h2{font-size:25px}.network-heading .chapter-eyebrow{font-size:7px}.network-summary{bottom:16px}#map-popup.revenue-panel{width:235px;padding:11px 12px 7px}#map-popup .revenue-number{font-size:24px}#point-fills{font-size:32px}#map-popup .revenue-bottle{width:27px;height:31px}#map-popup .revenue-label{font-size:9px}#point-chart{height:28px}}
@media(prefers-reduced-motion:reduce){.map-world,.point-pin,.point-product,.map-point:before{transition:none}.map-camera{will-change:auto}#map-popup.earning{animation:none;border-color:#efc34a;box-shadow:0 0 0 2px #ffda6740}}

#map-popup .map-popup-close:focus-visible{outline-width:2px;outline-offset:1px}
@media(orientation:portrait){.map-world{width:205vw;left:48%;top:59%}.map-image{mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 86%,transparent)}.map-point[data-point="4"] .point-name{translate:-14px 0}}
