/* PASS 91 — approved top stage, HTML/CSS only.
   Layout requested by Dan:
   LEFT TOP = NOW TRANSMITTING
   LEFT BELOW = A radio that lives / factory block
   RIGHT TOP = locked real AI ONE RADIO player
   The player internals, IDs, audio handlers, app.js, styles.css and builder.js are untouched.
   Ten color-synced photographic background assets switch automatically with data-theme. */

body[data-theme="matryxx"]{--ai1-stage-bg:url('/theme-bg-matryxx.webp')}
body[data-theme="carbon"]{--ai1-stage-bg:url('/theme-bg-carbon.webp')}
body[data-theme="violet"]{--ai1-stage-bg:url('/theme-bg-violet.webp')}
body[data-theme="emerald"]{--ai1-stage-bg:url('/theme-bg-emerald.webp')}
body[data-theme="pacific"]{--ai1-stage-bg:url('/theme-bg-pacific.webp')}
body[data-theme="aloha"]{--ai1-stage-bg:url('/theme-bg-aloha.webp')}
body[data-theme="solar"]{--ai1-stage-bg:url('/theme-bg-solar.webp')}
body[data-theme="candy"]{--ai1-stage-bg:url('/theme-bg-candy.webp')}
body[data-theme="gold"]{--ai1-stage-bg:url('/theme-bg-gold.webp')}
body[data-theme="silver"]{--ai1-stage-bg:url('/theme-bg-silver.webp')}

@media (min-width:1241px){
  .hero.section-shell{
    position:relative!important;
    isolation:isolate!important;
    display:grid!important;
    grid-template-columns:minmax(390px,.82fr) minmax(560px,1.18fr)!important;
    grid-template-areas:
      "transmit player"
      "copy     player"!important;
    column-gap:22px!important;
    row-gap:12px!important;
    align-items:start!important;
    padding-top:18px!important;
    padding-bottom:34px!important;
    overflow:visible!important;
  }

  /* Full-bleed studio picture. The selected theme swaps only this asset. */
  .hero.section-shell::before{
    content:"";
    position:absolute;
    z-index:-4;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background-image:var(--ai1-stage-bg,url('/theme-bg-matryxx.webp'));
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
    pointer-events:none;
  }
  .hero.section-shell::after{
    content:"";
    position:absolute;
    z-index:-3;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:
      linear-gradient(180deg,rgba(1,4,8,.08),rgba(1,4,8,.12) 60%,rgba(1,4,8,.38)),
      radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--a1) 8%,transparent),transparent 36%);
    pointer-events:none;
  }

  /* The old .hero-radio wrapper is structural only. */
  .hero-radio{display:contents!important}

  /* NOW TRANSMITTING — smaller, top-left. */
  .hero-transmit-card{
    grid-area:transmit!important;
    align-self:start!important;
    min-height:0!important;
    padding:12px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,rgba(5,13,20,.92),rgba(4,10,16,.94))!important;
    border:1px solid color-mix(in srgb,var(--line) 90%,transparent)!important;
    box-shadow:0 16px 45px rgba(0,0,0,.32)!important;
    backdrop-filter:blur(14px) saturate(130%)!important;
  }
  .hero-transmit-card .hero-radio-top{margin:0 1px 7px!important}
  .hero-transmit-card .hero-radio-top small{font-size:6px!important}
  .hero-transmit-card .hero-radio-top h2{font-size:16px!important;line-height:1!important;margin:4px 0 0!important}
  .hero-transmit-card .on-air{font-size:6px!important;padding:5px 8px!important}
  .hero-transmit-card .cinema{
    min-height:0!important;
    height:198px!important;
    border-radius:15px!important;
  }
  .hero-transmit-card .cinema-caption{left:12px!important;right:12px!important;bottom:10px!important}
  .hero-transmit-card .cinema-caption span{font-size:5px!important}
  .hero-transmit-card .cinema-caption strong{font-size:23px!important;line-height:.95!important;margin:3px 0!important}
  .hero-transmit-card .cinema-caption small{font-size:7px!important;line-height:1.18!important}
  .hero-transmit-card .cinema-controls{right:8px!important;bottom:7px!important;gap:4px!important}
  .hero-transmit-card .cinema-arrow{width:22px!important;height:22px!important;font-size:12px!important}
  .hero-transmit-card .cinema-count{font-size:5px!important}

  /* Intro / factory block — directly under NOW TRANSMITTING. */
  .hero-copy{
    grid-area:copy!important;
    align-self:start!important;
    min-height:0!important;
    padding:15px 17px 14px!important;
    border-radius:20px!important;
    background:linear-gradient(180deg,rgba(6,16,24,.91),rgba(5,12,19,.93))!important;
    border:1px solid color-mix(in srgb,var(--line) 90%,transparent)!important;
    box-shadow:0 16px 45px rgba(0,0,0,.29)!important;
    backdrop-filter:blur(14px) saturate(130%)!important;
  }
  .hero-copy::before{width:180px!important;height:180px!important;right:-65px!important;top:-65px!important;opacity:.42!important}
  .hero-copy .eyebrow{font-size:6px!important;padding:5px 8px!important;margin:0!important}
  .hero-copy h1,.hero h1{
    font-size:clamp(23px,1.7vw,29px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    margin:9px 0 7px!important;
  }
  .hero-copy .hero-lede{font-size:9px!important;line-height:1.38!important;max-width:680px!important;margin:0!important}
  .hero-copy .hero-actions{margin-top:10px!important;gap:6px!important}
  .hero-copy .hero-actions button{min-height:29px!important;padding:6px 10px!important;font-size:7px!important}
  .hero-copy .hero-split{margin-top:11px!important;gap:7px!important}
  .hero-copy .hero-split article{padding:8px 10px!important;border-radius:12px!important}
  .hero-copy .hero-split article>span{font-size:5px!important}
  .hero-copy .hero-split strong{font-size:12px!important;margin:3px 0!important}
  .hero-copy .hero-split p{font-size:7px!important;line-height:1.3!important;margin:0!important}
  .hero-copy .signal-ribbon{position:static!important;margin-top:10px!important;gap:5px!important}
  .hero-copy .signal-ribbon>div{padding:7px 8px!important;border-radius:10px!important;min-height:0!important}
  .hero-copy .signal-ribbon b{font-size:8px!important}
  .hero-copy .signal-ribbon span{font-size:5px!important;margin-top:2px!important}

  /* Locked player — outer placement only. Upper-right as requested. */
  .hero-player-stage{
    grid-area:player!important;
    justify-self:end!important;
    align-self:start!important;
    width:min(710px,100%)!important;
    margin:0!important;
    position:relative!important;
    z-index:3!important;
  }
  .hero-player-stage .ai1-ref-radio{
    width:100%!important;
    max-width:710px!important;
    margin:0!important;
  }
}

@media (max-width:1240px){
  .hero.section-shell{
    position:relative!important;
    isolation:isolate!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"transmit" "copy" "player"!important;
    gap:10px!important;
    padding-top:12px!important;
    padding-bottom:20px!important;
  }
  .hero.section-shell::before{
    content:"";position:absolute;z-index:-4;inset:0;left:50%;width:100vw;transform:translateX(-50%);
    background:var(--ai1-stage-bg,url('/theme-bg-matryxx.webp')) center top/cover no-repeat;
    pointer-events:none;
  }
  .hero.section-shell::after{
    content:"";position:absolute;z-index:-3;inset:0;left:50%;width:100vw;transform:translateX(-50%);
    background:rgba(1,4,8,.42);pointer-events:none;
  }
  .hero-radio{display:contents!important}
  .hero-transmit-card{grid-area:transmit!important;padding:12px!important}
  .hero-copy{grid-area:copy!important}
  .hero-player-stage{grid-area:player!important;width:min(760px,100%)!important;margin:0 auto!important}
  .hero-transmit-card .cinema{min-height:260px!important;height:auto!important}
}

@media (max-width:700px){
  .hero.section-shell{padding-top:8px!important;padding-bottom:16px!important}
  .hero-transmit-card,.hero-copy{padding:11px!important;border-radius:16px!important}
  .hero-copy h1,.hero h1{font-size:24px!important;line-height:1!important}
  .hero-copy .hero-lede{font-size:9px!important}
  .hero-transmit-card .cinema{min-height:230px!important}
  .hero-transmit-card .cinema-caption strong{font-size:22px!important}
  .hero-player-stage{width:100%!important}
}

/* PASS 91 — RESTORED FULL MASTER CONTROL, FULL-WIDTH UNDER BOTH HERO BLOCKS.
   Requested layout:
   top-left: NOW TRANSMITTING + copy stack
   top-right: locked AI ONE RADIO player
   below both columns: full original Master Control (channel + EQ + routing)
   Player internals are not modified. */
@media (min-width:1241px){
  .hero.section-shell{
    width:min(1600px,calc(100vw - 28px))!important;
    grid-template-columns:minmax(390px,.82fr) minmax(560px,1.18fr)!important;
    grid-template-areas:
      "transmit player"
      "copy     player"
      "control  control"!important;
    column-gap:22px!important;
    row-gap:14px!important;
    padding-bottom:38px!important;
  }

  #control-deck{
    grid-area:control!important;
    width:100%!important;
    max-width:none!important;
    margin:2px 0 0!important;
    padding:14px 16px 13px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(6,14,21,.94),rgba(4,10,16,.96))!important;
    border:1px solid color-mix(in srgb,var(--line) 94%,transparent)!important;
    box-shadow:0 18px 52px rgba(0,0,0,.32)!important;
    backdrop-filter:blur(15px) saturate(125%)!important;
    overflow:hidden!important;
  }
  #control-deck::before{width:350px!important;height:350px!important;right:-135px!important;top:-165px!important;opacity:.72!important}
  #control-deck .deck-head{
    display:flex!important;
    align-items:end!important;
    justify-content:space-between!important;
    margin-bottom:9px!important;
  }
  #control-deck .deck-head h2{
    font-size:clamp(20px,1.55vw,27px)!important;
    line-height:1!important;
    margin:3px 0 0!important;
    letter-spacing:-.035em!important;
  }
  #control-deck .deck-head .mini-label{font-size:6px!important}
  #control-deck .deck-clock span{font-size:18px!important}
  #control-deck .deck-clock small{font-size:6px!important}

  #control-deck .deck-grid{
    display:grid!important;
    grid-template-columns:1.22fr .88fr .88fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  #control-deck .console-channel,
  #control-deck .console-eq,
  #control-deck .console-routing{
    display:block!important;
    min-width:0!important;
    min-height:0!important;
    padding:11px!important;
    border-radius:17px!important;
  }
  #control-deck .console-strip-head{font-size:7px!important;margin-bottom:7px!important;gap:7px!important}
  #control-deck .console-strip-head b{font-size:8px!important}
  #control-deck .lamp{width:6px!important;height:6px!important}

  #control-deck .big-spectrum{
    height:128px!important;
    padding:8px!important;
    gap:3px!important;
    border-radius:13px!important;
  }
  #control-deck .transport-row{margin-top:7px!important;gap:6px!important}
  #control-deck .transport{min-height:28px!important;padding:5px 10px!important;font-size:7px!important;border-radius:9px!important}
  #control-deck .console-readout{margin-top:7px!important;padding:8px 9px!important;border-radius:11px!important}
  #control-deck .console-readout small{font-size:5px!important}
  #control-deck .console-readout strong{font-size:12px!important;margin:2px 0!important}
  #control-deck .console-readout span{font-size:7px!important}

  /* Restore the original vertical EQ towers, only scaled to fit the long deck. */
  #control-deck .eq-rack{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    height:206px!important;
    gap:7px!important;
  }
  #control-deck .eq-rack label{
    display:grid!important;
    grid-template-rows:auto 1fr auto!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:center!important;
    height:100%!important;
    padding:7px 5px!important;
    border-radius:11px!important;
  }
  #control-deck .eq-rack label>span{font-size:5px!important}
  #control-deck .eq-rack input{
    writing-mode:vertical-lr!important;
    direction:rtl!important;
    width:17px!important;
    height:132px!important;
    accent-color:var(--a1)!important;
  }
  #control-deck .eq-rack output{font-size:5px!important}
  #control-deck .preset-row{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin-top:6px!important}
  #control-deck .preset-row button{min-height:24px!important;padding:4px!important;font-size:6px!important;border-radius:8px!important}

  #control-deck .route-stack{gap:5px!important}
  #control-deck .route{padding:7px 8px!important;border-radius:11px!important;grid-template-columns:20px 1fr auto!important;gap:6px!important}
  #control-deck .route>span{font-size:12px!important}
  #control-deck .route b{font-size:8px!important}
  #control-deck .route small{font-size:5px!important;margin-top:1px!important}
  #control-deck .route>i{font-size:5px!important;padding:3px 5px!important}
  #control-deck .route-meter{margin-top:7px!important}
  #control-deck .route-meter small{font-size:5px!important}
  #control-deck .route-meter>div{height:7px!important;margin-top:4px!important}

  #control-deck .deck-footer{display:flex!important;gap:6px!important;margin-top:7px!important;flex-wrap:wrap!important}
  #control-deck .deck-footer span{font-size:5px!important;padding:4px 7px!important}
}

@media (max-width:1240px){
  .hero.section-shell{
    grid-template-areas:"transmit" "copy" "player" "control"!important;
  }
  #control-deck{
    grid-area:control!important;
    width:min(100%,980px)!important;
    margin:0 auto!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  #control-deck .deck-head h2{font-size:24px!important}
  #control-deck .deck-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #control-deck .console-routing{grid-column:1/-1!important}
}

@media (max-width:760px){
  #control-deck{width:100%!important;padding:10px!important}
  #control-deck .deck-grid{grid-template-columns:1fr!important}
  #control-deck .console-routing{grid-column:auto!important}
  #control-deck .deck-clock{display:none!important}
  #control-deck .eq-rack{height:185px!important}
  #control-deck .eq-rack input{height:112px!important}
}
