/* GOXA Media Manager · Carousel Engine V1.5 media adapters · 4.2.1 */
.gxmc{
  --gxmc-bg:var(--ga-showroom-bg,#06080d);--gxmc-fg:var(--ga-hud-fg,#f3f1ec);--gxmc-muted:var(--ga-hud-ink,rgba(243,241,236,.56));--gxmc-soft:var(--ga-hud-dim,rgba(243,241,236,.34));
  --gxmc-line:var(--ga-hud-line,rgba(243,241,236,.12));--gxmc-accent:var(--ga-hud-accent,#5b6cff);--gxmc-slider:var(--ga-slider-accent,#e0055e);--gxmc-frame:var(--ga-showroom-frame,rgba(255,255,255,.03));--gxmc-corner:var(--ga-hud-corner,var(--gxmc-fg));--gxmc-heading:var(--gx-font-heading,"Exo 2",system-ui,sans-serif);--gxmc-tech-font:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gxmc-ease:var(--ga-ease,cubic-bezier(.22,1,.36,1));--gxmc-hud-edge:clamp(30px,3.2vw,58px);--gxmc-row:clamp(22px,1.85vw,28px);
  position:relative;isolation:isolate;width:100%;overflow:hidden;background:var(--gxmc-bg);color:var(--gxmc-fg);transition:background-color .55s var(--gxmc-ease),color .55s var(--gxmc-ease);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased
}
.gxmc *,.gxmc *::before,.gxmc *::after{box-sizing:border-box}
.gxmc .gxmc-mono{font-family:var(--gxmc-tech-font)}
.gxmc-showroom,.gxmc-machine{position:relative;width:100%}
.gxmc-shell{position:relative;height:clamp(600px,88vh,960px);overflow:hidden;background:var(--gxmc-bg);box-shadow:inset 0 0 0 1px var(--gxmc-frame);cursor:grab;touch-action:pan-y;user-select:none;outline:none}
.gxmc-shell.is-drag{cursor:grabbing}.gxmc.is-frozen .gxmc-shell,.gxmc.is-frozen .gxmc-slider{pointer-events:none}
.gxmc-frame{position:absolute;z-index:30;inset:clamp(14px,1.4vw,22px);pointer-events:none}
.gxmc-corner{position:absolute;width:22px;height:22px;color:var(--gxmc-corner)}.gxmc-corner--tl{left:0;top:0;border-left:1px solid currentColor;border-top:1px solid currentColor}.gxmc-corner--tr{right:0;top:0;border-right:1px solid currentColor;border-top:1px solid currentColor}.gxmc-corner--bl{left:0;bottom:0;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.gxmc-corner--br{right:0;bottom:0;border-right:1px solid currentColor;border-bottom:1px solid currentColor}
.gxmc-topline{position:absolute;z-index:29;left:var(--gxmc-hud-edge);right:var(--gxmc-hud-edge);top:clamp(30px,3.6vh,48px);display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--gxmc-accent);font-size:clamp(8px,.62vw,10px);line-height:1.2;letter-spacing:.24em;text-transform:uppercase;pointer-events:none}.gxmc-kicker-year{font-weight:400}
.gxmc-stage{position:absolute;inset:clamp(72px,8.5vh,102px) 0 clamp(132px,16vh,170px);z-index:4;overflow:visible;isolation:isolate;contain:layout paint;pointer-events:none}
.gxmc-card{position:absolute;left:50%;top:50%;width:clamp(300px,25vw,430px);height:auto;aspect-ratio:20/27;opacity:0;transform-origin:center;will-change:transform,opacity,filter;isolation:isolate;pointer-events:none}
.gxmc-card-shadow{position:absolute;inset:0;z-index:0;pointer-events:none;box-shadow:var(--ga-card-stage-shadow,0 34px 84px -46px rgba(0,0,0,.76));opacity:1;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}
.gxmc-card-art{position:relative;z-index:1;width:100%;height:100%;overflow:hidden;padding:clamp(22px,1.8vw,30px);border:1px solid rgba(255,255,255,.20);color:#111113;box-shadow:inset 0 0 clamp(40px,5vw,70px) rgba(6,8,13,.14)}
.gxmc-card-art::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(135deg,transparent 0 54%,color-mix(in srgb,var(--sys-accent) 12%,transparent) 54% 70%,transparent 70%),radial-gradient(70% 54% at 88% 13%,color-mix(in srgb,var(--sys-accent-soft) 36%,transparent),transparent 72%)}
.gxmc-card-art::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 24%,transparent 76%,rgba(0,0,0,.06));box-shadow:inset 0 0 clamp(34px,4vw,62px) rgba(4,7,12,.10)}
.gxmc-card-code,.gxmc-card-foot{position:absolute;z-index:5;top:clamp(22px,1.8vw,30px);font-size:clamp(8px,.66vw,10px);line-height:1.2;letter-spacing:.16em;text-transform:uppercase}.gxmc-card-code{left:clamp(22px,1.8vw,30px)}.gxmc-card-foot{right:clamp(22px,1.8vw,30px);max-width:52%;text-align:right;letter-spacing:.12em;opacity:.84}
.gxmc-card-viz{position:absolute;z-index:1;left:clamp(22px,1.8vw,30px);right:clamp(22px,1.8vw,30px);top:clamp(60px,6.2vw,82px);height:42%;pointer-events:none}.gxmc-card-viz svg{display:block;width:100%;height:100%;overflow:visible}.gxmc-card-viz .ln{fill:none;stroke:var(--sys-line);stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.gxmc-card-viz .ac{fill:none;stroke:var(--sys-accent);stroke-width:1.75;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.gxmc-card-viz .ac-strong{stroke-width:2.5}.gxmc-card-viz .nd{fill:var(--sys-dot)}.gxmc-card-viz .nd-ac{fill:var(--sys-accent)}.gxmc-card-viz .fl{fill:var(--sys-fill)}.gxmc-card-viz .fl-ac{fill:var(--sys-accent)}.gxmc-card-viz .fl-soft{fill:var(--sys-accent-soft);opacity:.38}.gxmc-card-viz .halo{fill:var(--sys-accent);opacity:.12}
.gxmc-card-body{position:absolute;z-index:3;left:clamp(22px,1.8vw,30px);right:clamp(22px,1.8vw,30px);bottom:clamp(22px,1.8vw,30px)}.gxmc-card-sector{display:block;margin:0 0 14px;font-family:var(--gxmc-tech-font);font-size:clamp(8px,.66vw,10px);letter-spacing:.18em;text-transform:uppercase;color:var(--sys-accent)}.gxmc-card-name{display:block;max-width:96%;font-family:var(--gxmc-heading);font-weight:700;font-style:italic;font-size:clamp(30px,3.15vw,52px);line-height:.9;letter-spacing:-.045em;color:inherit}.gxmc-card-msg{display:block;margin-top:14px;font-family:var(--gxmc-heading);font-weight:600;font-style:italic;font-size:clamp(12px,1.05vw,16px);line-height:1.08;color:inherit;opacity:.90}
.gxmc-backup{--sys-accent:#f6d6df;--sys-accent-soft:#d98aa2;--sys-line:rgba(255,255,255,.31);--sys-dot:#fff;--sys-fill:rgba(255,255,255,.16)}.gxmc-backup .gxmc-card-art{color:#fff;background:radial-gradient(82% 62% at 94% 8%,rgba(255,255,255,.13),transparent 62%),linear-gradient(145deg,#4d0a20 0%,#6e0f2f 58%,#84163a 100%)}
.gxmc-consent{--sys-accent:#111;--sys-accent-soft:#5e4b00;--sys-line:rgba(17,17,17,.29);--sys-dot:#111;--sys-fill:rgba(17,17,17,.13)}.gxmc-consent .gxmc-card-art{color:#111;background:radial-gradient(82% 62% at 94% 8%,rgba(255,255,255,.28),transparent 63%),linear-gradient(145deg,#ffd83d 0%,#f2c300 70%,#d9ad00 100%)}
.gxmc-seo{--sys-accent:#c2ead5;--sys-accent-soft:#7fc3a0;--sys-line:rgba(255,255,255,.29);--sys-dot:#fff;--sys-fill:rgba(255,255,255,.15)}.gxmc-seo .gxmc-card-art{color:#fff;background:radial-gradient(80% 62% at 94% 9%,rgba(194,234,213,.18),transparent 62%),linear-gradient(145deg,#083824 0%,#0f5b3a 64%,#176f49 100%)}
.gxmc-shell-card{--sys-accent:#c9d7ff;--sys-accent-soft:#8da8ef;--sys-line:rgba(255,255,255,.29);--sys-dot:#fff;--sys-fill:rgba(255,255,255,.15)}.gxmc-shell-card .gxmc-card-art{color:#fff;background:radial-gradient(84% 64% at 94% 9%,rgba(201,215,255,.19),transparent 62%),linear-gradient(145deg,#0d2c70 0%,#1746a2 65%,#2458be 100%)}
.gxmc-media{--sys-accent:#0f172a;--sys-accent-soft:#29445f;--sys-line:rgba(15,23,42,.28);--sys-dot:#0f172a;--sys-fill:rgba(15,23,42,.12)}.gxmc-media .gxmc-card-art{color:#0f172a;background:radial-gradient(84% 64% at 94% 10%,rgba(255,255,255,.30),transparent 62%),linear-gradient(145deg,#8cc8e8 0%,#6cabdd 68%,#5b9bc8 100%)}
.gxmc-form{--sys-accent:#e0cbff;--sys-accent-soft:#b58be8;--sys-line:rgba(255,255,255,.29);--sys-dot:#fff;--sys-fill:rgba(255,255,255,.15)}.gxmc-form .gxmc-card-art{color:#fff;background:radial-gradient(82% 62% at 94% 10%,rgba(224,203,255,.18),transparent 63%),linear-gradient(145deg,#4a1c81 0%,#6f2dbd 66%,#7f3bc9 100%)}
.gxmc-mail{--sys-accent:#c5f1ef;--sys-accent-soft:#79cfcc;--sys-line:rgba(255,255,255,.29);--sys-dot:#fff;--sys-fill:rgba(255,255,255,.15)}.gxmc-mail .gxmc-card-art{color:#fff;background:radial-gradient(84% 64% at 94% 10%,rgba(197,241,239,.18),transparent 62%),linear-gradient(145deg,#09595b 0%,#0f8b8d 68%,#169a9c 100%)}
.gxmc-monitor{--sys-accent:#e3e8ed;--sys-accent-soft:#aeb8c2;--sys-line:rgba(255,255,255,.29);--sys-dot:#fff;--sys-fill:rgba(255,255,255,.14)}.gxmc-monitor .gxmc-card-art{color:#fff;background:radial-gradient(82% 62% at 94% 10%,rgba(227,232,237,.15),transparent 63%),linear-gradient(145deg,#3e4650 0%,#5b6572 68%,#687482 100%)}
/* UNIFORM LIVE MORPH + CHROME-SAFE SHADOW.
   The engine never duplicates content. The live A∩B surface uses one scalar blend value per frame.
   The outer cast shadow is a dedicated immutable raster layer: blur/geometry never change during motion;
   only layer opacity follows the same scalar u. This avoids Chromium re-rasterizing an animated box-shadow.
   Border and inset shadows remain inside [data-gxmc-surface] and therefore follow the overlap mask naturally. */
.gxmc [data-gxmc-surface]{mask-mode:luminance;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 100%;mask-size:100% 100%}

/* CAROUSEL 02 · legacy card faces on the shared V1.5 engine.
   Only card-face presentation is specialized here; motion, HUD, morph, shadow and input remain shared. */
.gxmc.gxmc--research .gxmc-card-art::before,.gxmc.gxmc--research .gxmc-card-art::after{display:none}
.gxmc.gxmc--research .gxmc-card-art{box-shadow:none}
.gxmc.gxmc--research .gxmc-card-code,.gxmc.gxmc--research .gxmc-card-foot{left:clamp(22px,1.8vw,30px);right:auto;max-width:none;text-align:left;opacity:1}
.gxmc.gxmc--research .gxmc-card-code{top:clamp(22px,1.8vw,30px)}
.gxmc.gxmc--research .gxmc-card-foot{top:auto;bottom:clamp(22px,1.8vw,30px);letter-spacing:.105em}
/* SINGLE-PHASE HUD · render-only consumers of the same carousel phase.
   Drum has no private interaction surface. The tape is the sole direct-position control.
   Technical typography has one source of truth: --gxmc-tech-font.
   Desktop geometry is frozen to the approved V1.3R axis. */
.gxmc-hud{--gxmc-drum-row:var(--gxmc-row);--gxmc-drum-pitch-ratio:.83;position:absolute;z-index:40;left:50%;bottom:clamp(14px,2.1vh,26px);transform:translateX(-50%);width:min(1180px,calc(100% - (var(--gxmc-hud-edge) * 2)));display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,405px) minmax(0,1fr);grid-template-areas:". tape display" ". hint .";grid-template-rows:auto auto;column-gap:clamp(28px,3.4vw,58px);row-gap:2px;align-items:end;color:var(--gxmc-fg)}
.gxmc-hud-display{grid-area:display;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:min(390px,100%);justify-self:end;transform:translate3d(clamp(8px,1vw,16px),0,0);outline:none}.gxmc-drum{position:relative;min-width:0;height:calc(var(--gxmc-drum-row)*2.20);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 12%,#000 35%,#000 65%,rgba(0,0,0,.32) 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 12%,#000 35%,#000 65%,rgba(0,0,0,.32) 88%,transparent 100%)}.gxmc-drum>strong{position:absolute;left:0;right:0;top:50%;height:var(--gxmc-drum-row);margin-top:calc(var(--gxmc-drum-row)*-.5);display:flex;align-items:center;gap:9px;color:var(--gxmc-fg);font-family:var(--gxmc-tech-font);font-size:clamp(10px,.78vw,13px);line-height:1;font-weight:400;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform-origin:50% 50%}.gxmc-drum-index{flex:none;color:color-mix(in srgb,var(--gxmc-fg) 70%,transparent);font-size:.88em;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.10em}.gxmc-drum-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;letter-spacing:.08em}.gxmc-total{display:flex;align-items:baseline;justify-self:end;gap:.08em;color:color-mix(in srgb,var(--gxmc-fg) 32%,transparent);font-family:var(--gxmc-tech-font);font-size:clamp(10px,.78vw,13px);font-weight:400;white-space:nowrap}.gxmc-total span:first-child{opacity:.48}
.gxmc-tape{grid-area:tape;width:100%;justify-self:center;align-self:end}.gxmc-slider{--gxmc-progress:0%;position:relative;width:100%;height:40px;cursor:ew-resize;touch-action:pan-y;user-select:none;outline:none}.gxmc-slider-numbers{position:absolute;left:0;right:0;top:0;height:9px;color:color-mix(in srgb,var(--gxmc-fg) 30%,transparent);font-size:7px;font-weight:400;line-height:1;letter-spacing:.10em;pointer-events:none}.gxmc-slider-numbers>span{position:absolute;top:0;left:calc((var(--i)/7)*100%);transform:translateX(-50%);opacity:.62;transition:color .24s var(--gxmc-ease),opacity .24s var(--gxmc-ease)}.gxmc-slider-numbers>span:nth-child(1){--i:0;transform:translateX(0)}.gxmc-slider-numbers>span:nth-child(2){--i:1}.gxmc-slider-numbers>span:nth-child(3){--i:2}.gxmc-slider-numbers>span:nth-child(4){--i:3}.gxmc-slider-numbers>span:nth-child(5){--i:4}.gxmc-slider-numbers>span:nth-child(6){--i:5}.gxmc-slider-numbers>span:nth-child(7){--i:6}.gxmc-slider-numbers>span:nth-child(8){--i:7;transform:translateX(-100%)}.gxmc-slider-numbers>span.is-active{color:var(--gxmc-slider);opacity:.96}.gxmc-slider-track{position:absolute;left:0;right:0;top:21px;height:10px}.gxmc-slider-line,.gxmc-slider-line::before{position:absolute;left:0;top:6px;height:1px;content:""}.gxmc-slider-line{right:0;background:color-mix(in srgb,var(--gxmc-fg) 50%,transparent)}.gxmc-slider-line::before{width:var(--gxmc-progress);background:var(--gxmc-slider);opacity:.92}.gxmc-slider-ticks{position:absolute;left:0;right:0;top:2px;height:8px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.gxmc-slider-ticks>i{display:block;flex:0 0 0;width:0;height:6px;border-left:1px solid color-mix(in srgb,var(--gxmc-fg) 32%,transparent)}.gxmc-slider-indicator{position:absolute;left:var(--gxmc-progress);top:18px;width:1px;height:11px;transform:translateX(-50%);background:var(--gxmc-slider);will-change:left}.gxmc-hint{grid-area:hint;display:flex;justify-content:center;align-items:center;min-height:12px;color:color-mix(in srgb,var(--gxmc-fg) 32%,transparent);font-size:8px;letter-spacing:.25em;text-transform:uppercase;pointer-events:none}

@media(min-width:981px){
  /* Desktop axis correction only. Preserve the approved viewport, mask and curvature; drum pitch density is isolated from carousel phase. */
  .gxmc-hud-display{transform:translate3d(clamp(8px,1vw,16px),12px,0)}
  .gxmc-tape{transform:translate3d(0,-6px,0)}
}
@media(max-width:1180px){.gxmc-card{width:clamp(280px,34vw,390px)}.gxmc-stage{inset:clamp(70px,8vh,94px) 0 clamp(136px,16vh,164px)}}
@media(max-width:980px){.gxmc-shell{height:clamp(620px,90vh,880px)}.gxmc-stage{inset:clamp(68px,8vh,92px) 0 clamp(164px,20vh,196px)}.gxmc-hud{width:min(720px,calc(100% - (var(--gxmc-hud-edge)*2)));grid-template-columns:1fr;grid-template-areas:"display" "tape" "hint";gap:7px}.gxmc-hud-display{width:100%;justify-self:stretch;transform:none}.gxmc-tape{width:100%}}
@media(max-width:760px){.gxmc{--gxmc-hud-edge:18px}.gxmc-shell{height:clamp(600px,92svh,780px)}.gxmc-frame{inset:12px}.gxmc-corner{width:16px;height:16px}.gxmc-topline{left:34px;right:34px;top:30px;font-size:7px;letter-spacing:.14em}.gxmc-stage{inset:58px 14px 194px;transform:translate3d(0,clamp(10px,2svh,20px),0)}.gxmc-card{width:clamp(250px,72vw,330px)}.gxmc-card-name{font-size:clamp(28px,7.2vw,40px)}.gxmc-card-viz{height:38%}.gxmc-hud{left:18px;right:18px;bottom:clamp(28px,5svh,48px);transform:none;width:auto}.gxmc-drum{height:calc(var(--gxmc-drum-row)*2.75)}.gxmc-drum>strong{font-size:12px}.gxmc-slider{height:38px}.gxmc-slider-numbers{font-size:6.8px}.gxmc-hint{font-size:7.5px}}
@media(max-width:420px){.gxmc-shell{height:clamp(560px,94svh,720px)}.gxmc-stage{inset:54px 12px 188px;transform:translate3d(0,clamp(8px,1.8svh,16px),0)}.gxmc-card{width:clamp(230px,76vw,300px)}.gxmc-drum>strong{font-size:11.5px}.gxmc-slider-numbers{font-size:6.4px}}
@media(prefers-reduced-motion:reduce){.gxmc *,.gxmc *::before,.gxmc *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* MEDIA MANAGER IMAGE ADAPTER · one visual contract for every source image. */
.gxmc-card-art.gxmc-card-image{padding:0;background:#111;border:1px solid rgba(255,255,255,.16);box-shadow:none}
.gxmc-card-art.gxmc-card-image::before,.gxmc-card-art.gxmc-card-image::after{display:none}
.gxmc-card-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;-webkit-user-drag:none}

/* HTML CARD ADAPTER · sandboxed vector-sharp artwork in the exact same 20:27 geometry. */
.gxmc-card-art.gxmc-card-html{padding:0;background:transparent;border:0;box-shadow:none}
.gxmc-card-art.gxmc-card-html::before,.gxmc-card-art.gxmc-card-html::after{display:none}
.gxmc-card-html>iframe{display:block;width:100%;height:100%;margin:0;border:0;border-radius:0;background:transparent;pointer-events:none;user-select:none}
.gxmc-slider-numbers>span:first-child{transform:translateX(0)}
.gxmc-slider-numbers>span:last-child{transform:translateX(-100%)}
.gxmc-empty{padding:18px;border:1px solid rgba(127,137,159,.22);background:#0a0d13;color:#aeb7c8;font:500 13px/1.5 system-ui,sans-serif}
.gxmc--single .gxmc-card{opacity:1!important;transform:translate(-50%,-50%)!important;filter:none!important}
.gxmc--single .gxmc-card-shadow{opacity:1}
.gxmc--single .gxmc-stage{inset:clamp(72px,8.5vh,102px) 0 clamp(72px,8.5vh,102px)}
