/* Odo Home r24: production informational case. Scoped to the dedicated home section. */
.odo-np-root{width:min(1120px,96%);margin:0 auto 48px;padding:12px 12px 35px;color:#fce4b6;min-width:0}
.odo-np-heading{text-align:center;font:500 clamp(23px,3vw,34px)/1.2 Cinzel,Georgia,serif;color:#fce0a5;margin:0 0 14px;letter-spacing:.035em}
.odo-np-sources{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 auto 15px}
.odo-np-sources[hidden]{display:none}
.odo-np-sources button{border:1px solid #a6783c;background:#23131b;border-radius:20px;color:#f6d9a0;font-size:11px;font-weight:650;padding:8px 15px;min-height:36px}
.odo-np-sources button[aria-pressed="true"]{background:linear-gradient(#62402a,#361d1b);border-color:#f1c27d}
.odo-np-frame{min-width:0}
.odo-np-idle{border:1px solid #9c754a;border-radius:8px;background:linear-gradient(110deg,#211017df,#1a0d15dd);text-align:center;padding:23px 15px;color:#e7c78d;font:500 15px Georgia,serif}
/* Now Playing design revision 2: theatrical lobby poster case and separate plaque. */
.np-showcase {
  max-width: 1090px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 365px) minmax(0, 1fr);
  align-items: center;
  justify-content: center;
  column-gap: clamp(25px, 4vw, 62px);
  row-gap: 20px;
  padding: 12px 12px 24px;
  border-radius: 16px;
  background: radial-gradient(ellipse at 24% 34%, #a06a3421, transparent 47%),linear-gradient(105deg, #180a0f42, transparent 70%);
}
/* A genuine vertical theater-lobby poster display, not a horizontal dashboard. */
.poster-display-case {
  position: relative;
  width: min(100%, 365px);
  min-width: 0;
  margin: 0;
  padding: 9px;
  border: 1px solid #e8c88f;
  border-radius: 11px;
  background: linear-gradient(110deg,#a07637 0%,#f5d39a 4%,#754921 9%,#2b160d 25%,#8f5728 85%,#f8dca8 96%,#8c602b 100%);
  box-shadow: 0 0 0 4px #170b0e,0 0 0 5px #a97c42c2,0 16px 34px #000c,0 4px 34px #d0994b42,inset 0 0 2px 1px #fff0b8;
  isolation: isolate;
}
.poster-display-case:after {
  content: '';
  position: absolute;
  inset: 5px;
  border-radius: 6px;
  pointer-events: none;
  border: 1px solid #100708ab;
  z-index: 8;
}
.poster-case-marquee {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  min-height: 52px;
  padding: 10px 5px 9px;
  border: 1px solid #c3985d;
  border-radius: 4px 4px 1px 1px;
  background: radial-gradient(ellipse at 50% 100%,#a067302c,transparent 80%),linear-gradient(#1e1512,#100a0b);
  font: 600 19px/1 Georgia,serif;
  letter-spacing: .19em;
  color: #fbe5b4;
  text-shadow: 0 0 11px #eebc757c,0 1px 2px #000;
}
.marquee-diamond {font: 400 15px Georgia,serif;letter-spacing: 0;color:#c6a06a}
.poster-case-bezel {
  position: relative;
  margin-top: 5px;
  padding: 11px;
  border: 5px solid #53361e;
  border-top-color: #e2b976;
  border-left-color: #ba8444;
  border-right-color: #aa7942;
  border-bottom-color: #e5c38d;
  background: linear-gradient(135deg,#352117,#130b0b 45%,#61401e);
  box-shadow: inset 0 0 0 2px #0a0506,inset 0 0 18px #000,0 1px 0 #fff0b0a0;
}
.poster-inner-mat {
  width: 100%;
  aspect-ratio: 2/3;
  overflow: hidden;
  padding: 3px;
  border: 1px solid #e0c492a8;
  background: #08090f;
  box-shadow: 0 0 0 2px #160d0d,0 0 24px #fdc9793d;
}
.poster-art {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #100f22;
}
.poster-art img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #100f22;
}
.poster-art.poster-music img {
  max-height: 86%;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 7px;
  background: none;
  filter: drop-shadow(0 14px 19px #000b);
}
.case-glass-reflection {
  position: absolute;
  inset: 10px;
  pointer-events: none;
  z-index: 4;
  opacity: .7;
  background: linear-gradient(115deg,transparent 0%,#e5f3ff0c 13%,#ffffff23 18%,#ffffff0b 22%,transparent 36%,transparent 68%,#ffffff0b 83%,transparent 88%);
  box-shadow: inset 0 0 20px #0008;
}
.case-rivet {
  position: absolute;
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle at 28% 24%,#fff0b8 0,#d4a059 35%,#4f2f17 75%);
  border: 1px solid #362015;
  box-shadow: 0 1px 2px #0008;
  z-index: 5;
}
.case-rivet.top-left{top:3px;left:3px}.case-rivet.top-right{top:3px;right:3px}
.case-rivet.bottom-left{bottom:3px;left:3px}.case-rivet.bottom-right{bottom:3px;right:3px}
.poster-display-caption {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 31px;
  gap: 8px;
  padding: 7px 4px 3px;
  color: #ffe4af;
  text-shadow: 0 1px 3px #000;
  font: 600 9px/1.2 Georgia,serif;
  letter-spacing: .24em;
  white-space: nowrap;
}
.caption-flourish {font-size: 14px;letter-spacing: 0;color:#ffe2a2}
/* No playback facts intrude into the poster. The adjacent plaque holds them. */
.movie-case-content {
  position: relative;
  min-width: 0;
  width: 100%;
  min-height: 455px;
  display: flex;
  flex-direction: column;
  padding: 29px clamp(20px,2.6vw,34px);
  border: 1px solid #b9925f;
  border-radius: 7px;
  background: radial-gradient(ellipse at 15% 0%,#92522a21,transparent 60%),linear-gradient(140deg,#28131a,#1b1017 57%,#0f0a10);
  box-shadow: inset 0 0 0 3px #10080e,inset 0 0 0 4px #7f543e61,0 19px 39px #0008;
}
.plaque-top-rule,.plaque-bottom-rule {
  height: 5px;
  width: 100%;
  flex: 0 0 auto;
  border-top: 1px solid #b68e5377;
  border-bottom: 1px solid #b68e5359;
  margin-bottom: 23px;
}
.plaque-bottom-rule {margin: 20px 0 0 auto}
.case-topline {display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.case-ribbon {font: 700 10px/1.3 Georgia,serif;letter-spacing: .18em;color:#f3d5a0}
.play-status {
  white-space: nowrap;
  flex:0 0 auto;
  color:#ddbe9b;
  font: 700 10px/1.3 Inter,sans-serif;
  letter-spacing:.12em;
  border:1px solid #8e6744;
  background:#25161a;
  border-radius:3px;
  padding:6px 9px;
}
.play-status.is-live{color:#c5e5c6;border-color:#547963;background:#142920}
.play-status.is-paused{color:#ffdfac;border-color:#ac7743;background:#332012}
.activity-line {
  display:flex;align-items:center;gap:10px;
  padding:20px 0 10px;
  color:#dfc196;
  font-size:12px;
}
.activity-mark {display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid #9f7444;border-radius:3px;color:#f7d194}
.movie-case-content h3 {
  margin:7px 0 6px;
  font:500 clamp(30px,3.1vw,41px)/1.1 Georgia,serif;
  letter-spacing:.005em;
  color:#ffe9c0;
  overflow-wrap:anywhere;
}
.playing-subtitle{font-size:14px;color:#dec293;margin:0 0 4px}
.playing-device{font-size:12px;color:#b2a08f;margin:0 0 27px}
.playback-progress {
  position:relative;
  height:8px;
  flex:0 0 auto;
  border:1px solid #967248;
  border-radius:8px;
  background:#0c070b;
  overflow:hidden;
  box-shadow:inset 0 1px 3px #000;
  margin-top:auto;
}
.playback-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#ac7636,#fbe4ad);border-radius:7px;transition:width .25s}
.times-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:23px 0 14px}
.times-grid>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.metric-label{color:#a58c71;font-size:10px;font-weight:700;letter-spacing:.11em}
.metric-value{color:#ffe5b3;font-size:clamp(20px,2.2vw,28px);font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}
.rate-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#bca183;font-size:10px;letter-spacing:.05em;margin:4px 0 11px}
.rate-strip strong{font-size:13px;letter-spacing:0;color:#f6d39c}
.qualifier{color:#bea58b;font-size:11px;letter-spacing:0}
.technical-line{border-top:1px solid #bb8a4656;padding:14px 0 10px;font-size:12px;color:#dec194}
.technical-details{border-top:1px solid #9a6e4054;padding-top:2px}
.technical-details summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;color:#eac08a;font-size:12px;font-weight:650;padding:11px 0 3px}
.technical-details summary::-webkit-details-marker{display:none}
.technical-details summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.technical-details[open] summary svg{transform:rotate(180deg)}
.technical-details-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 15px;padding-top:16px}
.technical-detail{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff13;padding:5px 0;font-size:11px;color:#b9a38b}
.technical-detail strong{color:#e7ca9c;font-weight:500;text-align:right;overflow-wrap:anywhere}
.poster-standby{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:11px;padding:19px 11px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#6e475d45,transparent 45%),linear-gradient(#1b2037,#1d1126 64%,#090b16);color:#f7e0b8}
.poster-standby-overline{font:600 10px Georgia,serif;letter-spacing:.16em;color:#dfc5a1}
.poster-standby-sigil{font:300 110px Georgia,serif;color:#d2ad7c;text-shadow:0 0 30px #d0a35a45}
.poster-standby-title{font:500 clamp(23px,3vw,37px)/1.1 Georgia,serif;letter-spacing:.07em}
.poster-standby small{color:#b6a48f;letter-spacing:.12em;font-size:9px}
.poster-standby-music{background:radial-gradient(ellipse at 50% 45%,#a0635649,transparent 54%),linear-gradient(#2b1b37,#151121 65%,#080a14)}
.music-record{aspect-ratio:1/1;width:77%;border-radius:50%;border:4px solid #22141e;background:repeating-radial-gradient(circle,#201a28 0,#15121b 3px,#3c3347 4px,#160e1b 6px);box-shadow:0 10px 23px #000a,0 0 0 2px #b08055}
.music-record:after{content:'';display:block;width:33%;height:33%;background:radial-gradient(circle,#160d15 0,#160d15 8%,#ce987b 9%,#a86b6b 55%,#321f29 60%);border-radius:50%;position:relative;top:33.5%;left:33.5%}
.below-frame{max-width:1090px;margin:13px auto;display:flex;justify-content:space-between;gap:15px;color:#a78f73;font-size:11px}
.below-frame span:first-child{color:#d0b68b}
/* Narrow staging uses portrait poster first, the plaque beneath it. */
@media(max-width:770px){
 .np-showcase{grid-template-columns:1fr;justify-items:center;gap:22px;padding:11px 0 23px}
 .poster-display-case{width:min(330px,86vw)}
 .movie-case-content{width:min(100%,600px);min-height:0;padding:24px 23px 20px}
 .plaque-top-rule{margin-bottom:20px}
 .poster-case-marquee{min-height:49px}
 .below-frame{flex-direction:column;align-items:center;text-align:center}
}
@media(max-width:440px){
 .np-showcase{gap:17px}
 .poster-display-case{width:min(304px,84vw)}
 .poster-case-marquee{min-height:45px;font-size:17px}
 .poster-case-bezel{padding:9px;border-width:4px}
 .poster-display-caption{min-height:27px;font-size:8px}
 .movie-case-content{padding:19px 17px}
 .case-ribbon{font-size:9px;letter-spacing:.1em}
 .play-status{font-size:9px}
 .activity-line{padding:16px 0 7px}
 .movie-case-content h3{font-size:clamp(25px,7vw,34px)}
 .playing-subtitle{font-size:12px}
 .playing-device{font-size:11px;margin-bottom:22px}
 .times-grid{gap:7px;margin:19px 0 12px}
 .metric-label{font-size:9px;letter-spacing:0}
 .metric-value{font-size:clamp(17px,5.1vw,22px)}
 .rate-strip{font-size:9px}
 .technical-details-inner{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
/* Production ships no playback actions. The plaque remains purely informational. */
.odo-np-root .np-showcase{padding:0;max-width:1080px;column-gap:clamp(17px,4vw,50px);background:transparent}
.odo-np-root .movie-case-content{min-height:435px}
.odo-np-root .poster-display-case{width:min(100%,340px)}
.odo-np-root .poster-case-marquee{font-size:17px}
.odo-np-root .poster-inner-mat{aspect-ratio:2/3}
.odo-np-root .poster-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.odo-np-root .poster-standby{justify-content:center;background:linear-gradient(#271824,#100c17);gap:0}
.odo-np-root .poster-standby-sigil{font-size:76px;opacity:.5}
.odo-np-root .case-topline{justify-content:flex-end}
.odo-np-root .movie-case-content h3{font-family:Cinzel,Georgia,serif}
.odo-np-root .rate-strip{margin-top:8px}
.odo-np-root .technical-details-inner{padding:12px 0}
.odo-np-root .technical-details summary{font-size:12px}
.odo-np-root .activity-line:empty{display:none}
.odo-np-root .playing-subtitle:empty{display:none}
.odo-np-root .poster-display-case .poster-case-bezel{box-sizing:border-box}
@media(max-width:780px){
 .odo-np-root{width:min(100%,590px);padding:6px 13px 24px;margin-bottom:30px}
 .odo-np-root .np-showcase{grid-template-columns:1fr;justify-items:center;gap:19px}
 .odo-np-root .poster-display-case{width:min(310px,84vw)}
 .odo-np-root .movie-case-content{width:100%;min-height:0;padding:22px 19px}
 .odo-np-root .metric-value{font-size:clamp(16px,4.7vw,22px)}
 .odo-np-root .times-grid{gap:5px}
 .odo-np-root .technical-details-inner{grid-template-columns:1fr}
}
/* r25: approved portrait poster, measured-rate clocks, and owner-tested Shield transport. */
.odo-np-root .times-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.25vw,16px)}
.odo-np-root .times-grid .metric-value{font-variant-numeric:tabular-nums;font-size:clamp(18px,1.9vw,26px)}
.odo-np-root .np-showcase.is-widescreen{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:17px}
.odo-np-root .np-showcase.is-widescreen .poster-display-case{width:min(100%,850px);max-width:850px}
.odo-np-root .np-showcase.is-widescreen .poster-inner-mat{aspect-ratio:16/9}
.odo-np-root .np-showcase.is-widescreen .movie-case-content{width:min(100%,850px);max-width:850px;min-height:0}
.odo-np-root .np-showcase.is-widescreen .poster-case-marquee{min-height:45px}
.odo-np-root .np-eta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:5px 0 9px;color:#bfa185;font-size:10px;letter-spacing:.04em}
.odo-np-root .np-eta>span{margin-right:5px}
.odo-np-root .np-eta button{border:1px solid #9c754a;background:#22121a;color:#ead1a8;border-radius:5px;padding:6px 8px;min-height:31px;font-size:11px;font-weight:500}
.odo-np-root .np-eta button[aria-pressed="true"]{background:linear-gradient(#6e492d,#39211b);border-color:#e8c68f;color:#fff2d0}
.odo-np-root .np-transport{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:10px 0 0}
.odo-np-root .np-transport button{border:1px solid #bc9359;background:linear-gradient(#442c28,#23131b);color:#f8d7a2;border-radius:5px;min-width:0;min-height:37px;padding:8px 2px;font:600 11px/1.2 system-ui,sans-serif}
.odo-np-root .np-transport button:disabled{opacity:.35;cursor:not-allowed}
.odo-np-root .np-transport button:not(:disabled):active{transform:translateY(1px);background:#895936}
.odo-np-root .np-control-feedback{min-height:16px;font-size:10px;color:#d3b78e;margin:6px 0 0}
.odo-np-root .np-control-feedback:empty{min-height:0;margin:0}
@media(max-width:1050px){.odo-np-root .times-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}}
@media(max-width:780px){.odo-np-root .np-showcase.is-widescreen .poster-display-case{width:min(100%,95vw)}
 .odo-np-root .times-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}}
@media(max-width:440px){.odo-np-root .times-grid{gap:12px 10px}
 .odo-np-root .times-grid .metric-value{font-size:clamp(17px,4.65vw,22px)}
 .odo-np-root .np-eta>span{flex-basis:100%;margin:0 0 2px}
 .odo-np-root .np-eta button{flex:1;min-width:0;font-size:10px;padding:6px 2px}
 .odo-np-root .np-transport button{font-size:10px;padding:7px 2px}}

/* r29 table-based factual metadata, separate from technical playback diagnostics. */
.odo-np-root .np-about-details{border-top:1px solid #b38b5670;margin-top:12px;padding-top:4px}
.odo-np-root .np-about-details summary{cursor:pointer;list-style:none;font:600 13px Georgia,serif;color:#f3d5a8;padding:11px 0}
.odo-np-root .np-about-details summary::-webkit-details-marker{display:none}
.odo-np-root .np-about-details summary::after{content:'+';float:right;font:600 17px Arial,sans-serif;color:#c8a47d}
.odo-np-root .np-about-details[open] summary::after{content:'−'}
.odo-np-root .np-about-content{padding:8px 0 13px;min-width:0}
.odo-np-root .np-about-meta,.odo-np-root .np-about-people{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;color:#e5d5bc}
.odo-np-root .np-about-meta th,.odo-np-root .np-about-meta td{border-bottom:1px solid #ffffff1b;padding:9px 8px;text-align:left;vertical-align:top;font:12px/1.35 system-ui,sans-serif;overflow-wrap:anywhere}
.odo-np-root .np-about-meta th{width:37%;font-weight:500;color:#bfa589}
.odo-np-root .np-about-meta td{font-weight:550;color:#f0d7b0}
.odo-np-root .np-about-table-section{margin:18px 0 0}
.odo-np-root .np-about-table-section h4{font:600 13px Georgia,serif;color:#e8c18f;margin:0 0 8px}
.odo-np-root .np-about-people th,.odo-np-root .np-about-people td{padding:9px 6px;vertical-align:top;text-align:left;border-bottom:1px solid #ffffff1e;font:11px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
.odo-np-root .np-about-people thead th{font-size:10px;color:#bba58a;letter-spacing:.01em;font-weight:600;border-bottom:1px solid #ad875b80}
.odo-np-root .np-about-people tbody th{font-weight:500}
.odo-np-root .np-cast-name{font:600 12px/1.35 Georgia,serif;color:#f0d8b4}
.odo-np-root .np-about-people small{display:block;margin-top:4px;font:10px/1.3 system-ui,sans-serif;color:#b2a18e}
.odo-np-root .np-about-people .np-cast-age,.odo-np-root .np-cast-current{text-align:center;font-variant-numeric:tabular-nums}
.odo-np-root .np-cast-current strong{font-weight:600;font-size:12px;color:#f0d8b4}
.odo-np-root .np-person-deceased .np-cast-name,.odo-np-root .np-person-deceased .np-cast-current strong{color:#bfcde7;font-style:italic}
.odo-np-root .np-person-deceased .np-cast-current small{color:#b2c0dc;font-style:italic}
.odo-np-root .np-about-empty{padding:8px 0;font:11px system-ui,sans-serif;color:#bda98e}
.odo-np-root .np-about-credits{margin:11px 0 0;font-size:10px;color:#ac9984}
.odo-np-root .np-about-credits a{color:#bba88b;text-decoration:underline;text-underline-offset:3px}
.odo-np-root .np-poster-link{position:absolute;inset:0;display:block;z-index:2}
.odo-np-root .np-poster-link:focus-visible{outline:2px solid #e5c795;outline-offset:-3px}
@media(max-width:520px){.odo-np-root .np-about-meta th,.odo-np-root .np-about-meta td{padding:7px 4px;font-size:11px}
 .odo-np-root .np-about-people th,.odo-np-root .np-about-people td{padding:7px 3px;font-size:10px}
 .odo-np-root .np-about-people thead th{font-size:9px}
 .odo-np-root .np-cast-name{font-size:11px}
 .odo-np-root .np-about-people small{font-size:9px}}


/* r32: Queue opens in a bounded modal, never extending the Now Playing page. */
.odo-np-root .np-queue-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0;padding:13px 0 10px;cursor:pointer;border:0;border-top:1px solid #b38b5670;border-radius:0;background:transparent;color:#f3d5a8;font:600 13px Georgia,serif;text-align:left}
.odo-np-root .np-queue-trigger span{font:600 22px Arial,sans-serif;color:#e8c18f}
.odo-np-root .np-queue-trigger:focus-visible,.odo-np-root .np-queue-close:focus-visible{outline:2px solid #f6d6a3;outline-offset:3px}
.odo-np-root .np-queue-dialog{box-sizing:border-box;position:fixed;inset:0 16px 0 auto;margin:auto 0 auto auto;padding:0;width:min(580px,calc(100vw - 32px));height:min(690px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);overflow:hidden;border:1px solid #a27c51;border-radius:12px;background:#180e16;color:#f2dac0;box-shadow:0 24px 90px #000b;z-index:9999}
.odo-np-root .np-queue-dialog[open]{display:flex;flex-direction:column}
.odo-np-root .np-queue-dialog::backdrop{background:#06030bbd}
.odo-np-root .np-queue-dialog-header{box-sizing:border-box;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #b38b5670;background:#21111a;gap:12px}
.odo-np-root .np-queue-dialog-header h3{font:600 19px Georgia,serif;margin:0;color:#f3d5a8}
.odo-np-root .np-queue-close{min-width:94px;min-height:44px;padding:6px 11px;border:1px solid #ac8656;border-radius:5px;background:#36231f;color:#f3d5a8;cursor:pointer;font:600 12px system-ui,sans-serif}
.odo-np-root .np-queue-close span{font-size:19px;margin-left:7px;vertical-align:-1px}
.odo-np-root .np-queue-content{box-sizing:border-box;padding:12px 18px 24px;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;scrollbar-gutter:stable}
@media(max-width:600px){.odo-np-root .np-queue-dialog{inset:auto 0 0 0;margin:0;width:100%;max-width:100%;height:min(78dvh,690px);max-height:88dvh;border-radius:14px 14px 0 0}.odo-np-root .np-queue-dialog-header{padding:11px 14px}.odo-np-root .np-queue-content{padding:10px 12px 22px}}
.odo-np-root .np-music-source-table,.odo-np-root .np-music-now-track,.odo-np-root .np-music-queue-table{width:100%;table-layout:fixed;border-collapse:collapse;font:11px/1.4 system-ui,sans-serif;color:#e5d5bc}
.odo-np-root .np-music-source-table th,.odo-np-root .np-music-now-track th{width:38%;text-align:left;font-weight:500;color:#bba58a}
.odo-np-root .np-music-source-table th,.odo-np-root .np-music-source-table td,.odo-np-root .np-music-now-track th,.odo-np-root .np-music-now-track td{padding:8px 5px;border-bottom:1px solid #ffffff20;overflow-wrap:anywhere}
.odo-np-root .np-music-now-track small{display:block;font:10px system-ui,sans-serif;color:#b9a38b}
.odo-np-root .np-music-queue-list h4{font:600 13px Georgia,serif;color:#e8c18f;margin:15px 0 7px}
.odo-np-root .np-music-queue-table th,.odo-np-root .np-music-queue-table td{padding:7px 4px;border-bottom:1px solid #ffffff1e;text-align:left;vertical-align:top;overflow-wrap:anywhere;font-size:11px}
.odo-np-root .np-music-queue-table thead th{color:#bba58a;font-size:10px;font-weight:600;border-bottom:1px solid #ad875b80}
.odo-np-root .np-music-queue-table th[scope=row]{font-weight:600;color:#f0d8b4}
.odo-np-root .np-music-queue-table th:first-child,.odo-np-root .np-music-queue-table td:first-child{width:8%}
.odo-np-root .np-music-queue-table th:last-child,.odo-np-root .np-music-queue-table td:last-child{width:14%}
.odo-np-root .np-music-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}
.odo-np-root .np-music-controls button,.odo-np-root .np-music-search button,.odo-np-root [data-np-music-add]{border:1px solid #9e774a;border-radius:4px;background:#2a1a19;color:#edd1a5;padding:8px;font:600 11px system-ui,sans-serif;min-width:0}
.odo-np-root .np-music-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:17px 0 4px}
.odo-np-root .np-music-search input{min-width:0;border:1px solid #a27c51;border-radius:4px;background:#130f15;color:#f2dcc0;padding:10px;font:12px system-ui,sans-serif}
.odo-np-root .np-queue-status{padding:7px 0;color:#bba58a;font:11px system-ui,sans-serif}
@media(max-width:520px){.odo-np-root .np-music-queue-table th,.odo-np-root .np-music-queue-table td{padding:6px 2px;font-size:10px}.odo-np-root .np-music-queue-table thead th{font-size:9px}}


/* Owner correction: universally recognizable icon controls, no text transport buttons. */
.odo-np-root .np-transport,.odo-np-root .np-music-controls{
 display:flex;justify-content:center;align-items:center;gap:clamp(9px,1.8vw,17px);flex-wrap:nowrap;
 margin:13px 0 4px
}
.odo-np-root .np-transport .np-icon-button,
.odo-np-root .np-music-controls .np-icon-button{
 flex:0 0 44px;width:44px;height:44px;min-height:44px;min-width:44px;padding:0;
 display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
 border:1px solid #ae895c;background:linear-gradient(160deg,#473029,#251820);
 color:#f2d8ae;cursor:pointer;box-sizing:border-box
}
.odo-np-root .np-transport .np-primary-control,
.odo-np-root .np-music-controls .np-primary-control{
 flex-basis:54px;width:54px;height:54px;min-width:54px;min-height:54px;
 background:linear-gradient(160deg,#81552f,#573426);border-color:#d8ac69;color:#fff0c9
}
.odo-np-root .np-control-icon{display:block;width:20px;height:20px;flex:none}
.odo-np-root .np-primary-control .np-control-icon{width:25px;height:25px}
.odo-np-root .np-icon-button:not(:disabled):hover{border-color:#eed19c;color:#ffefca}
.odo-np-root .np-icon-button:focus-visible{outline:2px solid #f6d6a3;outline-offset:3px}
.odo-np-root .np-icon-button:disabled{opacity:.36;cursor:not-allowed}
.odo-np-root .np-icon-button:not(:disabled):active{transform:translateY(1px)}
.odo-np-root .np-music-search{grid-template-columns:minmax(0,1fr) 44px;align-items:center}
.odo-np-root .np-music-search .np-icon-button{
 width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:inline-flex;
 align-items:center;justify-content:center;border-radius:50%
}
.odo-np-root .np-music-search .np-control-icon{width:20px;height:20px}
.odo-np-root .np-music-queue-table [data-np-music-add].np-icon-button{
 display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
 width:34px;height:34px;min-width:34px;min-height:34px;padding:0;
}
.odo-np-root [data-np-music-add] .np-control-icon{width:18px;height:18px}
@media(max-width:440px){
 .odo-np-root .np-transport,.odo-np-root .np-music-controls{gap:clamp(6px,2.3vw,11px)}
 .odo-np-root .np-transport .np-icon-button,.odo-np-root .np-music-controls .np-icon-button{
  flex-basis:42px;width:42px;height:42px;min-width:42px;min-height:42px
 }
 .odo-np-root .np-transport .np-primary-control,.odo-np-root .np-music-controls .np-primary-control{
  flex-basis:50px;width:50px;height:50px;min-width:50px;min-height:50px
 }
}

/* r31: approved media transport is always visible directly below the Spotify track. */
.odo-np-root .np-music-inline-controls{margin:14px 0 7px}
.odo-np-root [data-np="music-feedback"]{margin:0 0 8px;min-height:0;text-align:center}
.odo-np-root [data-np="music-feedback"]:empty{display:none}
