/* Meridian v18: character progress counts up to 600 card copies. */
.pixar{--game-width:min(100%,520px);--header-height:calc(min(100vw,520px) * .2265625);--dock-height:calc(min(100vw,520px) * .213541667);scroll-behavior:auto;scroll-padding-top:calc(var(--header-height) + 12px);scroll-padding-bottom:calc(var(--dock-height) + 20px);background:#258590}
.pixar body,.pixar body:has(#port.active){margin:0;padding:0 0 calc(var(--dock-height) + env(safe-area-inset-bottom))!important;min-height:100svh;background:#338f99 url('assets/pixar-approved-v1/sea.webp') center/cover fixed;color:#2c4e55;isolation:isolate}
.pixar body:before{display:none}
.pixar .app{width:100%;max-width:520px;margin:0 auto;container-type:inline-size;container-name:game}
.pixar .top.px-header{position:sticky;top:0;z-index:40;width:100%;height:auto;aspect-ratio:768/174;margin:0;padding:0;display:block;background:url('assets/pixar-approved-v1/header-v2.webp') center/100% 100% no-repeat;border:0;filter:none}
.px-stat{position:absolute;display:flex;flex-direction:column;align-items:flex-start;top:12.7%;height:45%;gap:.3cqw;color:#fff0d0}
.px-capital{left:20.1%;width:25.5%}.px-income{left:62%;width:21.7%}
.px-stat>span{font-size:clamp(10px,3.15cqw,15px);line-height:1.15;font-weight:500;white-space:nowrap;text-shadow:0 .15cqw .2cqw #123d4933}
.px-stat>strong{display:block;width:100%;font-size:clamp(16px,5.7cqw,28px);line-height:1.1;font-weight:700;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 .2cqw .2cqw #123d4933}
.px-sound{position:absolute;left:86%;top:11%;width:12%;height:54%;margin:0;padding:0;border:0;background:transparent;border-radius:40%;cursor:pointer}
.px-sound.off:after{content:"";position:absolute;left:18%;top:47%;width:68%;height:3px;background:#fff0cf;transform:rotate(-40deg);box-shadow:0 1px 2px #365459}.px-sound.off{background:#123f4a30}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pixar .legacy-hud[hidden]{display:none!important}.pixar #port{padding:0;margin:0}
.px-home{display:flex;flex-direction:column;min-height:calc(100svh - var(--header-height) - var(--dock-height) - env(safe-area-inset-bottom));background:#a8794b}
/* The bottom 476 source pixels contain the entire approved scene. Only added sky may crop. */
.px-scene{position:relative;width:100%;min-height:61.979167cqw;flex:1 0 auto;overflow:hidden;background:#a6cdd0}
.px-scene-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.px-day{position:absolute;top:0;left:40%;width:20%;padding:1.5cqw 0 2cqw;text-align:center;font-size:clamp(11px,3.2cqw,16px);line-height:1.2;color:#fff0d5;font-weight:500;white-space:nowrap;background:#397887d9;border-radius:0 0 3cqw 3cqw}.px-day strong{font-weight:inherit}
.px-collection{position:relative;flex:none;width:100%;aspect-ratio:768/294;background:url('assets/pixar-approved-v1/collection.webp') center/100% 100% no-repeat;color:#654725}
.px-freight-label{position:absolute;left:24.6%;top:17.8%;width:30.5%;font-size:clamp(11px,3.6cqw,18px);line-height:1.1;font-weight:600;white-space:nowrap}
.px-freight-value{position:absolute;left:24.6%;top:30.3%;width:30.5%;font-size:clamp(14px,5cqw,25px);line-height:1.15;font-weight:700;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums}
.px-freight-track{position:absolute;left:25%;top:48%;width:29.8%;height:3.8%;border-radius:1cqw;overflow:hidden}.px-freight-track b{display:block;width:0;height:100%;background:#379c9c;border-radius:inherit;box-shadow:inset 0 1px 2px #d6f7d580}
.px-collect{position:absolute;left:61.7%;top:14%;width:32.2%;height:40%;padding:0 8% 0 2%;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4cqw;color:#fff1d0;font-size:clamp(11px,3.6cqw,18px);line-height:1.05;font-weight:700;text-align:center;text-shadow:0 .3cqw .3cqw #844b30;white-space:normal}
.px-collect:hover{box-shadow:inset 0 0 0 2px #fff0b599}.px-collect:active:not(:disabled){transform:none;background:#fff0b526}
.px-cargo{position:absolute;left:4%;right:4%;top:73.5%;height:21%;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr 5px;gap:3px 8px;align-items:center;padding:3px 3% 5px;border-radius:30px;background:linear-gradient(100deg,#3b9c9f,#358e95);box-shadow:inset 0 1px 2px #b8e4cd66,0 1px 2px #245e6844;color:#fff5df}
.px-cargo-label{font-size:clamp(11px,3cqw,15px);line-height:1.1;font-weight:500;white-space:nowrap;text-shadow:0 1px 1px #14445555}
.px-cargo-value{font-size:clamp(12px,3.4cqw,17px);line-height:1.1;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.px-cargo-track{grid-column:1/-1;height:5px;border-radius:8px;background:#1b626c;overflow:hidden;box-shadow:inset 0 1px 2px #103e4b55}.px-cargo-track b{display:block;width:0;height:100%;border-radius:inherit;background:#b9e4ab;box-shadow:inset 0 1px 1px #efffd8}
.px-actions{position:relative;flex:none;width:100%;aspect-ratio:768/268;background:url('assets/pixar-approved-v2/actions.webp') center/100% 100% no-repeat;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.px-action{position:relative;padding:0;background:transparent;border:0;border-radius:4cqw;color:#654725}.px-action span{position:absolute;left:13%;right:10%;top:70%;height:18%;display:flex;align-items:center;justify-content:center;font-size:clamp(12px,4.2cqw,21px);font-weight:500;line-height:1}.px-action:hover{background:#fff5ce0d}.px-action:active{transform:none!important;background:#fff3d41a}
/* An outer full-width fixed holder shares the document's content width, including scrollbar. */
.px-dock-holder{position:fixed;z-index:50;inset:auto 0 0;pointer-events:none}
.pixar .pixar-dock{position:relative;pointer-events:auto;left:auto;bottom:auto;transform:none;width:100%;max-width:520px;height:auto;aspect-ratio:768/164;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#258590 url('assets/pixar-approved-v2/navigation.webp') center top/100% 100% no-repeat;container-type:inline-size}
.px-dock-holder:after{content:"";display:block;height:env(safe-area-inset-bottom);width:min(100%,520px);margin:auto;background:#258590}
.pixar .pixar-dock .nav{position:relative;width:100%;height:100%;padding:0;background:transparent;border:0;border-radius:14px;color:#f7f0db;display:block;text-transform:none;box-shadow:none;filter:none;transform:none;outline-offset:-4px}
.pixar .pixar-dock .nav:before{display:none}.pixar .pixar-dock .nav span{position:absolute;left:0;right:0;top:70%;font-size:clamp(11px,3.45cqw,17px);line-height:1.15;font-weight:400;text-shadow:0 .2cqw .25cqw #16485580;text-align:center;white-space:nowrap}
.pixar .pixar-dock .nav.active{color:#fff2bd;background:#ffffff08}.pixar .pixar-dock .nav.active:after{content:"";position:absolute;left:35%;right:35%;bottom:3%;height:2px;border-radius:2px;background:#ffe8ad;box-shadow:0 0 5px #f3e5bc77}.pixar .pixar-dock .nav:hover{background:#fff9d011}.pixar .pixar-dock .nav:active{background:#fff9d027}
.pixar body:not(:has(#port.active)) .pixar-dock{background-image:url('assets/pixar-approved-v2/navigation-clear.webp');background-color:transparent}
.pixar .screen:not(#port){padding:14px 12px 26px!important}.pixar body:has(#fleet.active){background:#8fbfb9 url('assets/reference-v2/background.webp') center/cover fixed}.pixar .catalogs{padding:0;margin-top:0;background:none;box-shadow:none}.pixar #fleet #development .section-head{display:none!important}.pixar .development{padding-top:0}
.pixar .collection-intro{padding:0 2px 11px;margin-bottom:13px;color:#28545b;text-shadow:0 1px 0 #f7e9c5a6}.pixar .collection-intro>div>span{font-size:10px;letter-spacing:.07em;color:#28545b;opacity:1}.pixar .collection-intro h2{font-size:clamp(18px,5cqw,24px);color:#28545b}.pixar .collection-count b{font-size:18px;color:#28545b}.pixar .collection-count span{font-size:10px!important;letter-spacing:0!important;color:#28545b}.pixar .collection-progress{background:#235b5940}.pixar .catalogs .tabs{margin-bottom:13px}.pixar .tabs button{min-height:42px;font-size:12px;padding:10px 2px}
/* Card type controls framing; the grid responds to the GAME, not the outer viewport. */
.pixar #catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
.pixar #catalog .card{padding:4px;border-radius:16px;min-width:0;scroll-margin-top:calc(var(--header-height) + 12px)}
.pixar #catalog .card-stage{aspect-ratio:1.15;border-radius:11px 11px 3px 3px}
.pixar #catalog .collectible-art{transform:none;object-fit:contain;object-position:center}
.pixar #catalog .characters .collectible-art{object-fit:cover;object-position:center 12%}
.pixar #catalog .ports .card-stage,.pixar #catalog .ships .card-stage{background:#f8eed8}
.pixar #catalog .card-edition{top:5px;left:5px;right:5px}.pixar #catalog .card-edition span{font-size:9px;padding:3px 5px;letter-spacing:0}.pixar #catalog .card-edition b{width:24px;height:24px;font-size:10px}
.pixar #catalog .ownership-mark{font-size:10px;padding:3px 6px;bottom:5px;letter-spacing:0}.pixar #catalog .characters .ownership-mark{display:none}
.pixar #catalog .card-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto auto 1fr auto auto;gap:0 5px;padding:7px 6px 6px}
.pixar #catalog .card h3{font-size:clamp(12px,3.35cqw,16px);line-height:1.2;min-height:2.4em;margin:0 0 4px;overflow-wrap:anywhere}
.pixar #catalog .card-story{font-size:10px;line-height:1.3;min-height:2.6em;color:#526861;margin:0 0 6px}
.pixar #catalog .card-benefit,.pixar #catalog .characters .card-benefit{padding:6px 2px;min-height:47px;margin:0 0 8px}
.pixar #catalog .card-benefit>span{font-size:10px;line-height:1.2;white-space:normal;color:#49675c}
.pixar #catalog .card-benefit strong{font-size:clamp(18px,5cqw,25px);line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.pixar #catalog .card-benefit small{font-size:10px;letter-spacing:0;margin-left:3px;font-weight:600}.pixar #catalog .card-benefit em{font-size:10px;line-height:1.2;margin-top:3px;color:#41694f}
.pixar #catalog .card-price{min-height:42px;padding:0;gap:2px}.pixar #catalog .card-price>span{font-size:10px;line-height:1.1;color:#6a5a40}
.pixar #catalog .card-price b{font-size:clamp(12px,3.2cqw,16px);line-height:1.15;white-space:normal;overflow-wrap:anywhere;gap:2px}.pixar #catalog .card-price img{display:none}
.pixar #catalog .buy{min-height:42px;font-size:11px;padding:7px 2px;letter-spacing:0}
.pixar #catalog .card-hint{font-size:10px;line-height:1.2;padding-top:7px;white-space:normal;color:#466d60;min-height:19px}.pixar #catalog .card-hint:empty{display:block;visibility:hidden}
.pixar .upgrade{margin-top:22px;gap:8px}.pixar .upgrade p{min-width:0}.pixar .upgrade small,.pixar .upgrade b{font-size:11px;line-height:1.4}.pixar .upgrade button{font-size:11px;min-height:42px}
/* Shared light nautical surfaces on the supporting screens. */
.pixar .panel{position:relative;background:linear-gradient(120deg,#fff9e8,#f7ecd2);border:2px solid #e2cda3;box-shadow:inset 0 0 0 2px #fff7df,0 4px 0 #286d7470;border-radius:18px;padding:18px 16px}
.pixar .panel h2{color:#285b63;border-bottom:1px solid #d4c69f;padding-bottom:12px;margin-bottom:12px;letter-spacing:-.025em}.pixar .panel p{font-size:13px;color:#4f666a}.pixar .stat-row,.pixar .setting{font-size:13px;line-height:1.4;gap:12px}.pixar .stat-row>span,.pixar .setting>span,.pixar .history>div>span{min-width:0;flex:1}.pixar .stat-row b,.pixar .history b{font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:50%}.pixar .setting>b{font-size:11px;overflow-wrap:anywhere;max-width:48%}.pixar .setting .buy{font-size:12px;min-height:42px}.pixar .history>div{font-size:12px}.pixar .muted{font-size:11px}.pixar .partner-art{flex:none;border:1px solid #b4ccbd;background:linear-gradient(#e4efdf,#b7d3c7);box-shadow:inset 0 0 0 2px #f6efcf}
.pixar .toast{bottom:calc(var(--dock-height) + env(safe-area-inset-bottom) + 14px);max-width:min(calc(100% - 24px),496px)}.pixar button:focus-visible{outline:3px solid #fff0a3;outline-offset:-3px}
.pixar .card-reveal{width:342px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px 20px 16px;overflow:auto}.pixar .reveal-close{width:36px;height:36px}.pixar .reveal-eyebrow{font-size:10px;margin-bottom:14px}.pixar .reveal-art{width:160px;height:160px;margin-bottom:20px}.pixar .reveal-continue{min-height:44px}.pixar .card-reveal #revealSubtitle,.pixar .card-reveal #revealNote{font-size:12px}
@container game (max-width:350px){.pixar #catalog{gap:12px 8px}.pixar .collection-intro>div>span{font-size:9px}.pixar #catalog .card-content{padding:6px 5px}.pixar #catalog .card h3{font-size:12px}.pixar #catalog .card-benefit>span{font-size:10px}.pixar #catalog .card-price>span{font-size:10px}}
/* Short windows scroll the intact artwork; never shrink the game by viewport height. */
@media(max-height:520px){.pixar .card-reveal{width:460px;display:none;grid-template-columns:130px 1fr;column-gap:18px;padding:18px}.pixar .card-reveal[open]{display:grid}.pixar .reveal-eyebrow{grid-column:1/-1;margin:0 34px 12px}.pixar .reveal-art{grid-column:1;grid-row:2/6;width:125px;height:125px;margin:6px 0 14px}.pixar .card-reveal h2{grid-column:2;font-size:18px}.pixar .card-reveal #revealSubtitle,.pixar .reveal-bonus,.pixar #revealNote{grid-column:2;margin:0 0 8px}.pixar .reveal-continue{grid-column:1/-1;position:sticky;bottom:0}.pixar .card-reveal #revealNote{font-size:11px}}
/* Props shrink uniformly inside independently flexible wood/wave surfaces. */
.pixar .px-actions{aspect-ratio:auto;height:var(--action-height,34.895833cqw);background-image:url('assets/pixar-pier-v12/wood-continuous.webp')}
.pixar .px-action{background-position:center;background-repeat:no-repeat;background-size:auto 100%;border-radius:0}
.pixar .px-action[data-jump-catalog="ports"]{background-image:url('assets/pixar-responsive-v11/action-ports.webp')}
.pixar .px-action[data-jump-catalog="ships"]{background-image:url('assets/pixar-responsive-v11/action-ships.webp')}
.pixar .px-action[data-jump-catalog="characters"]{background-image:url('assets/pixar-responsive-v11/action-characters.webp')}
.pixar .px-action span{left:0;right:0;font-size:clamp(12px,calc(var(--action-height,130px) * .12),19px)}
.pixar .px-action:hover{background-color:#fff5ce0d}.pixar .px-action:active{background-color:#fff3d41a}
.pixar .pixar-dock{aspect-ratio:auto;height:var(--dock-height);background-image:url('assets/pixar-responsive-v11/navigation-surface.webp')}
.pixar body:not(:has(#port.active)) .pixar-dock{background-image:url('assets/pixar-responsive-v11/navigation-clear-surface.webp')}
.pixar .pixar-dock .nav:before{content:"";display:block;position:absolute;left:15%;right:15%;top:12%;height:53%;width:auto;border:0;box-shadow:none;border-radius:0;transform:none;background-position:center;background-repeat:no-repeat;background-size:contain}
.pixar .pixar-dock [data-screen="port"]:before{background-image:url('assets/pixar-responsive-v11/nav-port.webp')}
.pixar .pixar-dock [data-screen="finances"]:before{background-image:url('assets/pixar-responsive-v11/nav-finances.webp')}
.pixar .pixar-dock [data-screen="partners"]:before{background-image:url('assets/pixar-responsive-v11/nav-partners.webp')}
.pixar .pixar-dock [data-screen="settings"]:before{background-image:url('assets/pixar-responsive-v11/nav-settings.webp')}
.pixar .pixar-dock .nav span{font-size:clamp(11px,calc(var(--dock-height) * .14),16px)}
.pixar .pixar-dock .nav.active:before{background-color:transparent;filter:drop-shadow(0 1px 3px #e9d9ad66)}
@media(prefers-reduced-motion:reduce){.pixar *,.pixar *:before,.pixar *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Route-only background bridge: continue the intact header edge into every non-HUD screen. */
.pixar body:not(:has(#port.active))::before{
 content:"";display:block;position:fixed;z-index:0;pointer-events:none;
 left:50%;top:var(--header-height);transform:translateX(-50%);
 width:var(--actual-game-width,min(100vw,520px));max-width:100%;height:46px;
 background:linear-gradient(90deg,#FAF0D6 0%, #788F8B 5%, #46787A 10%, #628283 15%, #ACACA2 20%, #A6AEB4 25%, #A3B4BC 30%, #9EB6C0 35%, #8CAAB4 40%, #386468 45%, #448386 50%, #34666A 55%, #71A2BB 60%, #74AAC3 65%, #6CA6C0 70%, #6199B4 75%, #5488A1 80%, #3F7887 85%, #38757F 90%, #3B7386 95%, #6099B3 100%);
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 8%,transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 8%,transparent 100%);
}
.pixar .app{position:relative;z-index:1}


/* Compact bought / remaining meter replaces the collection-title block. */
.pixar .collection-intro{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:4px 2px 10px;margin:0 0 11px;color:#28545b;text-shadow:none}
.pixar .collection-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px}
.pixar .collection-stat{display:flex;align-items:center;justify-content:flex-start;gap:5px;min-width:0;color:#28545b;font-size:11px;line-height:1.2;font-weight:700}
.pixar .collection-stat:last-child{justify-content:flex-end}
.pixar .collection-stat span{font-size:11px;letter-spacing:0;color:#28545b;opacity:1}
.pixar .collection-stat b{font-size:13px;color:#28545b;font-variant-numeric:tabular-nums}
.pixar .collection-progress{position:relative;left:auto;right:auto;bottom:auto;display:block;width:100%;height:9px;padding:1px;background:#164f5a75;border:1px solid #e6d4a3;border-radius:10px;box-shadow:inset 0 1px 2px #173f4d70,0 1px 0 #fff5d7;overflow:hidden}
.pixar .collection-progress i{display:block;height:100%;min-width:0;background:linear-gradient(90deg,#3c9b84,#f2cb70);border-radius:inherit;box-shadow:0 0 6px #a9db9a8c;transition:width .4s ease}

/* meridian-v2 collectible art: full-card modern port and cargo ship previews */
.pixar #catalog .ports .collectible-art,.pixar #catalog .ships .collectible-art{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.03);}
@media(hover:hover){.pixar #catalog .ports:hover .collectible-art,.pixar #catalog .ships:hover .collectible-art{transform:scale(1.07)}}
