/* JLJAM 7.10.10 · Enforced readable text without a maximum cap. */
:root {--jljam-reading-floor:26px; -webkit-text-size-adjust:100%;text-size-adjust:100%}
body { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body :is(input,textarea,select){ min-height:44px; }
body :is(input,textarea)::placeholder{font-size:26px;line-height:1.3;opacity:.8}
body [data-jljam-text-floor]{overflow-wrap:anywhere;word-break:normal;min-width:0;letter-spacing:normal;}
body :is(button,a,summary,select){touch-action:manipulation}
/* Flex/grid children must grow instead of clipping names and multi-line actions. */
#app .cin-hq-796 .cin-welcome-796{min-height:95px;height:auto!important}
#app .cin-hq-796 .cin-welcome-copy-796{min-width:0}
#app .cin-hq-796 .cin-priority-copy{min-width:0}
#app .cin-hq-796 .cin-face-name{white-space:normal!important;overflow-wrap:anywhere}
#app .mobile-dock{min-height:76px;height:auto!important;align-items:stretch}
#app .mobile-dock button{min-width:0;line-height:1.25;white-space:normal}
#app .mobile-dock button span{flex-shrink:0}
#jljamOpportunityRadar .rd-region{min-height:58px;gap:6px;flex-wrap:wrap}
#jljamOpportunityRadar .rd-region span:nth-child(2){flex-basis:65%}
#jljamOpportunityRadar .rd-market-dot{min-width:73px}
#jljamOpportunityRadar .rd-market-dot span{max-width:100px;white-space:normal!important;line-height:1.15;overflow-wrap:anywhere;text-shadow:0 1px 2px #0c061b}
#jljamOpportunityRadar .rd-map{min-height:390px;height:auto!important;aspect-ratio:1.9}
#jljamOpportunityRadar .rd-opportunity,#jljamOpportunityRadar .rd-region{height:auto!important}
@media(max-width:680px){
 #jljamOpportunityRadar .rd-regions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #jljamOpportunityRadar .rd-map{min-height:430px;aspect-ratio:auto}
 #jljamOpportunityRadar .rd-map-ring.ring3{width:85%}
 #jljamOpportunityRadar .rd-heading{align-items:flex-start;flex-wrap:wrap}
 #jljamOpportunityRadar .rd-top{align-items:center;gap:10px}
 #app .cin-welcome-796{grid-template-columns:56px minmax(0,1fr) auto!important}
 #app .cin-welcome-date-796{height:auto!important;min-height:74px}
 #app .cin-welcome-controls-796{gap:5px!important}
 #app .cin-hq-796 .cin-focus-grid-796{grid-auto-rows:auto}
}
@media(max-width:365px){
 #app .cin-hq-796 .cin-welcome-796{padding:13px!important}
 #app .cin-hq-796 .cin-welcome-copy-796>h1{font-size:26px!important}
 #jljamOpportunityRadar .rd-regions{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){body [data-jljam-text-floor]{transition:none!important}}

/* Reliable baseline even before JavaScript or when iOS resumes an offline PWA. */
html{font-size:26px!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
body{font-size:26px;line-height:1.45}
:where(body) :is(input,textarea,select,option){font-size:26px;line-height:1.35}
:where(body) :is(button,a,summary,select,input,textarea){min-height:44px}
:where(body) :is(p,span,small,label,button,a,summary,li,td,th,option){overflow-wrap:break-word}
/* Text-first, not pixel-perfect clipping; no restrictions on larger heading sizes. */
:where(body) :is([class*="label"],[class*="caption"],[class*="subtitle"],[class*="eyebrow"],[class*="kicker"]){white-space:normal;max-width:100%}
@media(max-width:430px){
  :where(body) :is(.sig-view,.cmd-tabs,.fd-tabs,.co-tabs){flex-wrap:wrap}
  :where(body) :is(.sig-view,.cmd-tabs,.fd-tabs,.co-tabs) button{flex:1 1 130px}
}

/* Some legacy sections were visually shrinking text with transforms after calculating its CSS size. */
body .history-controls{transform:none!important;opacity:1!important}
#app .cin-calendar-visual{transform:none!important}
/* Names and badges expand rather than being cropped at the 18px floor. */
#app .cin-face-793 .cin-face-caption{height:auto!important;min-height:98px!important}
#app .cin-face-793 .cin-face-label{letter-spacing:.025em!important;overflow-wrap:normal!important;white-space:normal!important}
#app .cin-face-793 .cin-face-name{font-size:clamp(26px,4.2vw,26px)!important;white-space:normal!important;overflow-wrap:break-word!important}
#app .cin-priority-overline,#app .cin-spot,#app .cin-tile-top{letter-spacing:.045em!important}
/* Artist card priority: portrait and name, not a two-line technical label. */
@media(max-width:700px){
  #app .cin-hq-796 .cin-face-793 .cin-face-label{display:none!important}
  #app .cin-hq-796 .cin-face-793 .cin-face-caption{
    min-height:66px!important;
    padding:13px 42px 12px 13px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  #app .cin-hq-796 .cin-face-793 .cin-face-name{line-height:1.22!important}
}

/* JLJAM OS 7.10.18 | genuine comfortable reading size. */
:root{--jljam-readable-min:26px;color-scheme:dark;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
html,body{font-size:var(--jljam-readable-min)!important}
body{line-height:1.48}
:where(body) :is(p,li,td,th,caption,label,button,select,textarea,input,summary){line-height:1.4;overflow-wrap:break-word}
:where(body) :is(button,select,input,textarea,summary){min-height:48px}
:where(body) :is(button,a,select,option,label){touch-action:manipulation}
/* Prevent 'shrunken to fit' text in glass cards. */
#app :is(.cin-work-page,.cin-hq,.cin-hq-796,.cin-focus-card,.cin-face-caption,.workspace-body,.data-card,.card,.glass-card),
#jljamChiefSignals :is(.sig-card,.sig-head),
#jljamConstellation :is(.cn-stage-card,.cn-controls,.cn-stage-head){min-width:0;max-width:100%;overflow-wrap:break-word}
#app .cin-artist-gallery .cin-face-793 .cin-face-caption{height:auto!important;min-height:79px!important;line-height:1.25!important}
#app .cin-hq-796 .cin-artist-gallery .cin-face-name{font-size:clamp(26px,5.6vw,34px)!important}
#app .mobile-dock{max-width:calc(100% - 12px)!important}
#app .mobile-dock button{line-height:1.18!important;padding-inline:6px!important}
#app .mobile-dock button>span{flex-shrink:0}
/* Reading-size choices live in a single quiet bottom sheet, not a floating control. */
#jljamReadingDialog{position:fixed;inset:auto 10px max(10px,env(safe-area-inset-bottom));margin:0 auto;
 z-index:2147483600;box-sizing:border-box;width:min(530px,calc(100% - 20px));max-height:calc(100dvh - 95px);
 overflow:auto;padding:23px;border:1px solid #d4b5ff8a;border-radius:27px;background:linear-gradient(135deg,#382453,#130d27 85%);color:#fff;
 box-shadow:0 24px 100px #000e,0 0 40px #a05eff35;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#jljamReadingDialog::backdrop{background:#080511c9;backdrop-filter:blur(7px)}
#jljamReadingDialog h2{font-size:32px!important;line-height:1.15;margin:0 0 12px}
#jljamReadingDialog p{font-size:26px!important;line-height:1.45;color:#eadcf4;margin:0 0 15px}
#jljamReadingDialog .jrd-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
#jljamReadingDialog button{font:750 22px/1.3 system-ui,-apple-system,sans-serif!important;min-height:58px;color:#fff;
 border:1px solid #cfa7ff75;border-radius:16px;background:#ffffff13;padding:10px}
#jljamReadingDialog button[aria-pressed="true"],#jljamReadingDialog .jrd-primary{background:linear-gradient(135deg,#a867ff,#643bb6);border-color:#e1c3ff;box-shadow:0 6px 22px #aa75ff4d}
#jljamReadingDialog .jrd-measure{font-weight:900;font-size:28px!important;margin:4px 0;color:#fff}
#jljamReadingDialog .jrd-close{width:100%;margin-top:9px}
@media(max-width:700px){
 #app .cin-hq-796 .cin-face-793 .cin-face-label{display:none!important}
 #app .cin-hq-796 .cin-artist-gallery{gap:12px!important}
 #app .cin-hq-796 .cin-face-793 .cin-face-caption{padding:13px 36px 13px 12px!important}
 #app .cin-hq-796 .cin-section-heading{gap:10px!important;align-items:start!important;flex-wrap:wrap!important}
 #app .cin-work-context,.cin-welcome-796 .cin-welcome-copy-796{flex-wrap:wrap}
}
@media(max-width:380px){
 #app .cin-hq-796 .cin-welcome-controls-796{gap:5px}
 #app .cin-hq-796 .cin-welcome-796{display:flex!important;flex-wrap:wrap!important}
 #app .cin-hq-796 .cin-welcome-controls-796{margin-left:auto}
 #app .cin-hq-796 .cin-face-name{font-size:26px!important}
}
@media(prefers-reduced-motion:reduce){#jljamReadingDialog{scroll-behavior:auto}}

/* The date tile must never stack O/C/T vertically after type enlargement. */
#app .cin-welcome-date-796{min-width:74px!important;width:74px!important;height:auto!important;min-height:78px!important;flex-shrink:0!important}
#app .cin-welcome-date-796>span{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;letter-spacing:.01em!important;padding-inline:2px!important;text-align:center}
#app .cin-hq-796 .cin-section-heading small,#app .cin-hq-796 .cin-tile-top,#app .cin-hq-796 .cin-card-head small{letter-spacing:.045em!important;color:#e1d0f3!important}
#app .cin-hq-796 .cin-subtle{color:#f1ddff!important}
#app .mobile-dock button{color:#e8ddfb!important}
#app .mobile-dock button.on,#app .mobile-dock button.active,#app .mobile-dock button[aria-current="page"]{color:#fff!important}
@media(max-width:690px){
 #app .cin-hq-796 .cin-welcome-796{display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;gap:10px 13px!important;padding:16px!important}
 #app .cin-hq-796 .cin-welcome-controls-796{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;margin:0!important}
 #app .cin-hq-796 .cin-welcome-copy-796{align-self:center!important}
 #app .cin-hq-796 .cin-roster-heading-796{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
}

/* JLJAM OS 7.10.20 | Actual iPhone reading and status-bar repair */
:root { --jljam-readable-min:26px; --jljam-reading-floor:26px; --jljam-status-guard-height:max(62px,env(safe-area-inset-top, 0px)); }
html,body { -webkit-text-size-adjust:100%!important; text-size-adjust:100%!important; }
body { font-size:var(--jljam-readable-min)!important; }
/* The installed iOS web app scrolls content beneath a translucent system clock.
   Mask those pixels with a dedicated fixed dark backdrop; do not block gestures. */
@media(max-width:720px){
  html.jljam-standalone body::before{content:"";position:fixed;top:0;left:0;right:0;height:var(--jljam-status-guard-height);z-index:2147483000;pointer-events:none;background:#090614!important;}
  html.jljam-standalone body #app>.topbar {padding-top:calc(var(--jljam-status-guard-height) + 8px)!important;min-height:calc(var(--jljam-status-guard-height) + 53px)!important;}
  html.jljam-standalone #app .shell{scroll-padding-top:calc(var(--jljam-status-guard-height) + 20px)!important;}
  html.jljam-standalone body :is(#jljamConstellation .cn-header,#jljamForesight .fs-header){padding-top:var(--jljam-status-guard-height)!important;}
  html.jljam-standalone body #jljamReadingDialog {max-height:calc(100dvh - var(--jljam-status-guard-height) - 45px);}
  #app .cin-hq-796 .cin-artist-gallery .cin-face-caption{height:auto!important;min-height:92px!important;align-items:flex-start!important;justify-content:center!important;}
  #app .cin-hq-796 .cin-face-793 .cin-face-name{font-size:clamp(26px,5.6vw,34px)!important;line-height:1.17!important;overflow-wrap:normal!important;word-break:normal!important;}
  #app .cin-hq-796 .cin-focus-grid-796 .cin-card-head{display:flex!important;flex-wrap:wrap!important;gap:12px!important;}
  #app .cin-hq-796 .cin-focus-grid-796 .cin-card-head>button{min-height:48px!important;max-width:100%;white-space:normal!important;}
  #app .cin-hq-796 .cin-priority-feature{min-height:135px!important;height:auto!important;}
  #app .cin-hq-796 .cin-priority-copy{min-width:0!important;}
  #app .cin-hq-796 .cin-priority-copy strong{font-size:26px!important;line-height:1.23!important;}
  #app .cin-hq-796 .cin-home-explore-796>summary{flex-wrap:wrap!important;gap:12px!important;}
  #app .cin-hq-796 .cin-focus-card .cin-priority-foot{flex-wrap:wrap!important;gap:12px!important;}
  #app .mobile-dock{height:auto!important;min-height:99px!important;max-height:none!important;align-items:stretch!important;}
  #app .mobile-dock button{height:auto!important;max-height:none!important;min-height:81px!important;font-size:26px!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important;}
  #app .mobile-dock button span{font-size:26px!important;}
  body .shell{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))!important;}
  body {padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));}
}
@media(max-width:380px){
 #app .cin-hq-796 .cin-artist-gallery .cin-face-caption{min-height:98px!important;}
 #app .cin-hq-796 .cin-face-793 .cin-face-name{font-size:26px!important;}
 #app .mobile-dock button{font-size:26px!important;}
}
/* No upper cap: the reading selector and system dynamic type may increase text indefinitely. */
#jljamReadingDialog :is(button,p){font-size:var(--jljam-readable-min)!important}
#jljamReadingDialog button{height:auto!important;min-height:64px!important;white-space:normal!important}
#jljamReadingDialog .jrd-row{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Large-type dock: icon-led navigation with an unmistakable active destination.
   This avoids squeezing four 28px-32px full labels into one iPhone row. */
@media(max-width:720px){
 html.jljam-big-dock #app .mobile-dock{grid-template-columns:1.7fr repeat(3,minmax(0,1fr))!important;}
 html.jljam-big-dock #app .mobile-dock:has(>button:nth-child(2).on){grid-template-columns:minmax(0,1fr) 1.7fr repeat(2,minmax(0,1fr))!important;}
 html.jljam-big-dock #app .mobile-dock:has(>button:nth-child(3).on){grid-template-columns:repeat(2,minmax(0,1fr)) 1.7fr minmax(0,1fr)!important;}
 html.jljam-big-dock #app .mobile-dock:has(>button:nth-child(4).on){grid-template-columns:repeat(3,minmax(0,1fr)) 1.7fr!important;}
 html.jljam-big-dock #app .mobile-dock button{font-size:0!important;gap:2px!important;letter-spacing:0!important;}
 html.jljam-big-dock #app .mobile-dock button>span{font-size:32px!important;line-height:1.1!important;}
 html.jljam-big-dock #app .mobile-dock button.on::after{font-size:var(--jljam-readable-min)!important;line-height:1.08!important;font-weight:850!important;white-space:nowrap!important;}
 html.jljam-big-dock #app .mobile-dock button.on[data-nav="hq"]::after{content:"Home"}
 html.jljam-big-dock #app .mobile-dock button.on[data-nav="deals"]::after{content:"Deals"}
 html.jljam-big-dock #app .mobile-dock button.on[data-nav="shows"]::after{content:"Shows"}
 html.jljam-big-dock #app .mobile-dock button.on[data-nav="more"]::after{content:"More"}
}
