#festival-mode-context { position:fixed; right:18px; bottom:18px; z-index:9700; display:flex; align-items:center; gap:10px; max-width:min(520px,calc(100vw - 36px)); padding:9px 10px 9px 13px; border:1px solid #c6a75c; border-radius:7px; background:#fffdf6; color:#3e3218; box-shadow:0 8px 24px rgba(37,30,13,.16); }
#festival-mode-context[hidden] { display:none !important; }
.fmc-copy { min-width:0; display:grid; gap:2px; }
.fmc-copy strong { font-size:.76rem; }
.fmc-copy span { color:#73643e; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fmc-open { flex:0 0 auto; min-height:34px; border:1px solid #977832; border-radius:5px; background:#56451f; color:#fff; padding:6px 10px; font-weight:800; cursor:pointer; }
.festival-mode-toggle { display:inline-flex; align-items:center; gap:7px; }
.festival-mode-toggle[data-enabled="true"] { background:#214f3e !important; color:#fff !important; border-color:#214f3e !important; }
body.festival-project-mode .tab[data-view="festival"]::after { content:'ON'; margin-left:5px; padding:2px 4px; border-radius:3px; background:#215b43; color:#fff; font-size:.5rem; font-weight:900; }

@media(max-width:760px){
  #festival-mode-context { left:8px; right:8px; bottom:calc(74px + env(safe-area-inset-bottom,0px)); max-width:none; }
  .fmc-copy span { white-space:normal; line-height:1.3; }
  #bottom-nav-inner .bottom-tab { flex:0 0 70px; width:70px; min-width:70px; }
  #bottom-nav-inner .btab-label { max-width:64px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .tab-group-tabs { overflow-x:auto; scrollbar-width:none; }
  .tab-group-tabs::-webkit-scrollbar { display:none; }
  #documentary-app button,#adtreatment-app button,#podcast-app button,#musicvideo-app button,#festival-app button,#rundown-app button,#graphicfire-app button,#graphicstore-app button { max-width:100%; overflow-wrap:anywhere; }
  #documentary-app input,#documentary-app select,#adtreatment-app input,#adtreatment-app select,#podcast-app input,#podcast-app select,#musicvideo-app input,#musicvideo-app select,#festival-app input,#festival-app select { min-width:0; max-width:100%; }
}
