/* Final responsive constraints shared by viewing and local editing. */
/* Keep the outside labels, logo and introduction on the same inset. */
@media(min-width:768px) {
  .board-shell { --board-inset:clamp(24px,2vw,48px); row-gap:clamp(16px,1.3vw,32px); }
  .board-shell,body:has(.local-owner-controls) .board-shell { grid-template-rows:auto minmax(0,1fr) auto; }
  .outside-header { padding-inline:var(--board-inset); align-items:baseline; translate:0 clamp(7px,.5vw,12px); }
  .outside-header>span:first-child { font-family:'Tenor Sans',Arial,sans-serif; word-spacing:.14em; translate:none; }
  .outside-header>span.outside-greeting { translate:none; }
  .board-header { padding-inline:var(--board-inset); }
  .board-caption { left:var(--board-inset); top:clamp(12px,2dvh,26px); }
}
.board-caption>span { opacity:.8; }

/* One accessible target opens each card; no small footer links compete with content. */
.board-widget:is(.widget-type-next-stream,.widget-type-film,.widget-type-setup) .widget-content {
  position:relative; grid-template-rows:auto minmax(0,1fr);
}
.widget-open {
  position:absolute; inset:0; z-index:2; width:100%; height:100%;
  padding:0; border:0; border-radius:inherit; background:transparent;
  cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.widget-open:focus-visible { outline:2px solid #e3c695; outline-offset:-4px; border-radius:20px; }
body[data-layout-editor=true] .widget-open { pointer-events:none; visibility:hidden; }
.board-widget:has(.widget-open) { transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease,transform .3s ease; }
.board-widget:has(.widget-open:focus-visible) { border-color:rgba(234,205,164,.45); }
.detail-dialog[open] { animation:detail-soft-open .32s cubic-bezier(.2,.7,.25,1) both; }
.detail-dialog[open]::backdrop { animation:detail-backdrop-open .32s ease both; }
@keyframes detail-soft-open {
  from { opacity:0; transform:translateY(14px) scale(.975); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes detail-backdrop-open { from { opacity:0; } to { opacity:1; } }
.detail-dialog .equipment-card {
  transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.detail-dialog .equipment-card img { transition:transform .4s cubic-bezier(.2,.7,.25,1),filter .4s ease; }
@media(hover:hover) and (pointer:fine) {
  body:not([data-layout-editor=true]) .board-widget:has(.widget-open:hover) {
    transform:translateY(-2px); border-color:rgba(234,205,164,.32);
    box-shadow:inset 0 1px 0 rgba(255,237,210,.08),0 16px 32px rgba(9,8,10,.24);
  }
  .detail-dialog .equipment-card:hover { background-color:rgba(230,205,173,.07); border-color:rgba(234,205,164,.26); box-shadow:inset 0 1px 0 rgba(255,237,210,.06); }
  .detail-dialog .equipment-card:hover img { transform:translateY(-3px) scale(1.035); filter:drop-shadow(0 6px 8px rgba(10,7,8,.18)); }
}
@media(prefers-reduced-motion:reduce) {
  .detail-dialog[open],.detail-dialog[open]::backdrop { animation:none; }
  .board-widget:has(.widget-open),.detail-dialog .equipment-card,.detail-dialog .equipment-card img { transition:none; }
  body:not([data-layout-editor=true]) .board-widget:has(.widget-open:hover),.detail-dialog .equipment-card:hover img { transform:none; }
}
html:has(dialog[open]),body:has(dialog[open]) { overflow:hidden; height:100%; }
.local-settings { width:100%; min-width:0; }
.local-settings>summary { display:none; }
.local-settings .local-editor-toolbar { width:100%; }
.local-settings button { min-height:40px; }
.local-edit-dialog { overflow:hidden; max-width:calc(100vw - 24px); }
.local-edit-dialog form { max-height:calc(85dvh - 58px); }
.local-edit-fields { flex:1; min-height:0; max-height:none; overflow:auto; overscroll-behavior:contain; }
.local-edit-actions { flex-shrink:0; }
.local-edit-dialog fieldset { min-width:0; }
.local-edit-dialog input,.local-edit-dialog select { font-size:16px; }
.detail-dialog>header h2 { min-width:0; }
.detail-dialog .circle-button { flex-shrink:0; }
.detail-dialog .week-days { margin:0; padding:10px; overscroll-behavior:contain; }
.detail-dialog .week-summary { flex-wrap:wrap; }
.detail-dialog .week-game { max-width:100%; }
.detail-dialog .equipment-card { min-width:0; container-type:size; }
.detail-dialog .equipment-card h3 { overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex-shrink:0; }
.detail-dialog .equipment-card p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex-shrink:0; }
.detail-dialog[data-detail-kind=setup] .equipment-card h3 { font-size:clamp(14px,8cqw,calc(21 * var(--detail-unit,1px))); }
.detail-dialog[data-detail-kind=setup] .equipment-card>span,.detail-dialog[data-detail-kind=setup] .equipment-card p { font-size:clamp(11px,5cqw,calc(13 * var(--detail-unit,1px))); }
#movie-add-form { max-height:calc(100% - 110px); overflow:auto; overscroll-behavior:contain; }
.detail-dialog[data-detail-kind=movies] #detail-content { overflow-y:auto; overscroll-behavior:contain; }
.detail-movie-library { min-height:400px; }
.movie-detail-card h4 { flex-shrink:0; min-height:2.6em; max-height:2.6em; }
.movie-detail-card .movie-banner { flex:1 1 auto; }
.movie-detail-card .movie-remove { flex-shrink:0; }
.board-widget.widget-type-next-stream .widget-games { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.board-widget.widget-type-film .film-copy h3,.board-widget.widget-type-setup .setup-model { overflow-wrap:anywhere; }

@media(max-width:1023px) {
  .local-settings { position:relative; width:auto; }
  .local-settings>summary { display:list-item; cursor:pointer; padding:10px 13px; border:1px solid rgba(241,233,217,.18); border-radius:12px; background:rgba(241,233,217,.055); color:#eadfce; font:13px/1.4 'Tenor Sans',Arial,sans-serif; }
  .local-settings[open] .local-editor-toolbar { position:absolute; bottom:calc(100% + 10px); left:0; z-index:40; width:min(420px,calc(100vw - 48px)); max-height:55dvh; overflow:auto; padding:14px; border:1px solid rgba(241,233,217,.2); border-radius:20px; background:rgba(35,27,26,.97); box-shadow:0 12px 32px #08060760; }
  .outside-footer:has(.local-settings) { position:relative; z-index:35; align-items:center; flex-direction:row; }
  .outside-footer:has(.local-settings) .local-owner-controls { width:auto; flex:1; }
  .outside-footer:has(.local-settings) #board-status { display:none; }
  .board-header { gap:clamp(10px,2vw,20px); }
}
@media(min-width:768px) and (max-width:1023px) {
  .board-brand { font-size:clamp(58px,8vw,80px); gap:10px; }
  .board-brand>span { font-size:clamp(26px,3.4vw,34px); }
  .board-nav { gap:2px; }
  .board-nav button { font-size:clamp(13px,1.8vw,17px); padding-inline:8px; }
  .board-caption { max-width:48%; }
  .board-caption h1 { font-size:clamp(30px,3.6vw,38px); }
}
@media(max-width:767px) {
  html,body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  .board-shell { height:max(780px,calc(100dvh - 20px)); }
  body:has(.local-owner-controls) .board-shell { grid-template-rows:18px minmax(0,1fr) auto; }
  .outside-footer { padding-inline:4px; }
  .outside-footer:has(.local-settings) { flex-wrap:wrap; gap:8px; }
  .outside-footer .mobile-pager { order:3; width:100%; justify-content:center; }
  .outside-footer .local-owner-controls { gap:8px; }
  .local-owner-controls button { min-height:42px; }
  body[data-board-editor=true] .board-nav { display:grid; }
  .board-brand { font-size:clamp(48px,15vw,70px); }
  .board-brand>span { font-size:clamp(23px,7vw,32px); }
  .board-nav button { min-width:44px; min-height:44px; }
  .board-widget.widget-type-socials:has(.social-cat) { min-height:64px; height:64px!important; --social-min-height:64px; --social-max-height:64px; }
  .social-links-panel { width:min(350px,calc(100vw - 56px)); max-height:min(440px,65dvh); overflow:auto; }
  .social-links-panel .social-link { min-height:54px; }
  .detail-dialog { width:calc(100vw - 24px); max-width:none; height:min(700px,calc(100dvh - 24px)); max-height:calc(100dvh - 24px); padding:18px; border-radius:26px; }
  .detail-dialog>header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; margin-bottom:14px; }
  .detail-dialog>header h2 { font-size:clamp(20px,5.2vw,25px); grid-column:1; grid-row:1; }
  .detail-dialog .circle-button { grid-column:2; grid-row:1; width:40px; height:40px; }
  .detail-dialog .detail-edit-content { grid-column:1/-1; grid-row:2; justify-self:start; margin:0; min-height:34px; padding:7px 12px; font-size:12px; }
  .detail-dialog .week-summary { gap:8px; }
  .detail-dialog .week-range { font-size:13px; }
  .detail-dialog .week-count { font-size:10px; }
  .detail-dialog[data-detail-kind=schedule] .detail-pager { gap:8px; }
  .detail-dialog[data-detail-kind=schedule] .detail-pager>span { min-width:0; font-size:10px; }
  .detail-dialog .detail-pager button { min-width:36px; min-height:36px; }
  .detail-dialog .week-day { grid-template-columns:minmax(0,1fr) 60px; padding:10px; }
  .detail-dialog[data-detail-kind=setup] .equipment-card { padding:10px 8px; gap:5px; }
  .detail-dialog[data-detail-kind=setup] .equipment-card img { height:clamp(60px,12dvh,100px); }
  .detail-dialog[data-detail-kind=setup] .equipment-card h3 { font-size:clamp(14px,3.8vw,18px); }
  .detail-dialog[data-detail-kind=setup] .equipment-card>span,.detail-dialog[data-detail-kind=setup] .equipment-card p { font-size:11px; }
  .detail-movie-tools { gap:8px; margin-bottom:12px; }
  #detail-movie-search { width:100%; min-height:40px; font-size:16px; }
  .movie-shelf-row { gap:10px; }
  .movie-detail-card h4 { font-size:13px; }
  .movie-remove { min-height:32px; }
  #movie-add-form { inset:64px 12px auto; max-height:calc(100% - 80px); padding:16px; }
  #movie-add-form input:not([type=checkbox]) { font-size:16px; }
  .local-edit-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:18px; }
  .local-edit-dialog form { max-height:calc(100dvh - 62px); }
  .local-edit-dialog h2 { font-size:21px; }
  .local-edit-dialog fieldset { grid-template-columns:1fr; }
}
@media(min-width:768px) and (max-height:650px) {
  html,body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  .board-shell { height:max(740px,calc(100dvh - 32px)); }
}
@media(max-height:520px) {
  .detail-dialog { width:min(1000px,calc(100vw - 24px)); height:calc(100dvh - 20px); max-height:calc(100dvh - 20px); padding:12px 18px; border-radius:22px; }
  .detail-dialog>header { margin-bottom:8px; gap:10px; }
  .detail-dialog>header h2 { font-size:21px; }
  .detail-dialog .circle-button { width:34px; height:34px; }
  .detail-dialog .detail-pager { margin-top:8px; }
  .detail-dialog[data-detail-kind=setup] .equipment-card img { height:64px; }
  .detail-dialog[data-detail-kind=setup] .equipment-card h3 { font-size:16px; }
  .detail-dialog .week-day { min-height:44px; }
  .local-edit-dialog { max-height:calc(100dvh - 20px); padding:14px; }
  .local-edit-dialog form { max-height:calc(100dvh - 52px); gap:12px; }
}
/* Keep the account suffix attached to the name at every breakpoint. */
.board-brand.board-brand-unified { gap:0; }

/* Week ribbon: one quiet timeline, with warm markers only for announced streams. */
.detail-dialog[data-detail-kind=schedule] {
  width:min(calc(560 * var(--detail-unit,1px)),calc(100vw - 40px));
  height:min(calc(700 * var(--detail-unit,1px)),88dvh); max-height:calc(100dvh - 32px);
}
.detail-dialog .week-timeline { gap:calc(18 * var(--detail-unit,1px)); }
.detail-dialog .week-timeline .week-summary { justify-content:flex-start; gap:6px; padding:0; }
.detail-dialog .week-timeline .week-range,
.detail-dialog .week-timeline .week-zone { color:#b9ab9c; font-size:calc(12 * var(--detail-unit,1px)); line-height:1.6; }
.detail-dialog .week-timeline .week-days { gap:0; margin:0; padding:4px 10px 4px 5px; }
.detail-dialog .week-timeline .week-day {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto; align-content:center; align-items:baseline;
  gap:calc(5 * var(--detail-unit,1px)) 16px;
  padding:calc(7 * var(--detail-unit,1px)) 0 calc(7 * var(--detail-unit,1px)) calc(20 * var(--detail-unit,1px));
  min-height:calc(56 * var(--detail-unit,1px)); flex:1 0 auto;
  border:0; border-left:1px solid #d7b58b26; border-radius:0; background:none; box-shadow:none; overflow:visible;
}
.detail-dialog .week-timeline .week-day::before {
  content:''; position:absolute; left:-3px; top:calc(20 * var(--detail-unit,1px));
  width:5px; height:5px; border-radius:50%; background:#95836f;
}
.detail-dialog .week-timeline .week-day-live::before { background:#efcc8d; box-shadow:0 0 9px #e5ba6b88; }
.detail-dialog .week-timeline .week-day-label { flex-direction:row; gap:5px; align-items:baseline; flex-wrap:wrap; }
.detail-dialog .week-timeline .week-day-label strong,
.detail-dialog .week-timeline .week-day-label>span { color:#eadfce; font-size:calc(16 * var(--detail-unit,1px)); line-height:1.3; }
.detail-dialog .week-timeline .week-day-label strong::after { content:','; }
.detail-dialog .week-timeline .week-day-time { text-align:right; padding:0; }
.detail-dialog .week-timeline .week-day-time time { font-size:calc(18 * var(--detail-unit,1px)); color:#edcc9d; line-height:1.2; }
.detail-dialog .week-timeline .week-day-time>span { color:#aa9c8c; font-size:calc(16 * var(--detail-unit,1px)); }
.detail-dialog .week-timeline .week-day-games { grid-column:1/-1; min-width:0; }
.detail-dialog .week-timeline :is(.week-game,.week-rest-label,.week-unannounced) {
  padding:0; border:0; border-radius:0; background:none; color:#b4a494;
  font-size:calc(13 * var(--detail-unit,1px)); line-height:1.5; overflow-wrap:anywhere;
}
.detail-dialog .week-timeline .week-day[data-state=off] .week-day-label,
.detail-dialog .week-timeline .week-day[data-state=pending] .week-day-label { opacity:.55; }
.detail-dialog .week-timeline .week-day:not(.week-day-live)::before { opacity:.45; }
.detail-dialog .week-timeline .week-day:not(.week-day-live) .week-day-games { opacity:.65; }
@media(max-width:767px) {
  .detail-dialog .week-timeline { --detail-unit:1px; gap:14px; }
  .detail-dialog .week-timeline .week-summary { gap:4px; }
  .detail-dialog .week-timeline .week-day { min-height:66px; padding-block:12px; }
  .detail-dialog .week-timeline .week-day-label strong,
  .detail-dialog .week-timeline .week-day-label>span { font-size:16px; }
  .detail-dialog .week-timeline :is(.week-game,.week-rest-label,.week-unannounced) { font-size:13px; }
}
@media(max-height:520px) { .detail-dialog .week-timeline .week-day { min-height:56px; } }

.detail-dialog .week-timeline .week-day-live .week-day-label strong,
.detail-dialog .week-timeline .week-day-live .week-day-label>span { color:#f3dfbf; }
.detail-dialog .week-timeline .week-day-live :is(.week-day-label,.week-day-time) {
  text-shadow:0 0 5px rgba(255,222,169,.65),0 0 13px rgba(255,211,145,.6),0 0 28px rgba(239,184,107,.3);
}
.detail-dialog .week-timeline .week-day-live::before {
  box-shadow:0 0 7px rgba(255,218,151,.95),0 0 16px rgba(229,186,107,.65),0 0 28px rgba(229,186,107,.3);
}
.detail-dialog .week-timeline .week-day-live .week-game {
  color:#d6c3a8;
  text-shadow:0 0 6px rgba(255,211,145,.25),0 0 14px rgba(239,184,107,.12);
}
.detail-dialog[data-detail-kind=schedule] .detail-pager {
  display:grid; grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);
  align-items:center; width:100%; gap:12px;
}
.detail-dialog[data-detail-kind=schedule] .detail-pager>span { min-width:0; text-align:center; }
.detail-dialog[data-detail-kind=schedule] #detail-prev { justify-self:end; }
.detail-dialog[data-detail-kind=schedule] #detail-next { justify-self:start; }
.detail-dialog>header .circle-button {
  width:calc(26 * var(--detail-unit,1px)); height:calc(26 * var(--detail-unit,1px));
  padding:0; position:relative; display:grid; place-items:center; gap:0; line-height:0;
}
.detail-dialog>header .circle-button>[data-ui-icon] { display:grid; place-items:center; width:100%; height:100%; line-height:0; }
.detail-dialog>header .circle-button::after { content:''; position:absolute; width:44px; height:44px; left:50%; top:50%; transform:translate(-50%,-50%); }
.detail-dialog>header .circle-button .ui-icon {
  width:calc(12 * var(--detail-unit,1px)); height:calc(12 * var(--detail-unit,1px));
  stroke-width:2; transform:none;
}

/* Touch feedback uses the site's warm palette; keyboard focus stays visible. */
.detail-dialog :focus-visible,.local-edit-dialog :focus-visible,.server-auth-dialog :focus-visible { outline-color:#d9bd94; }
.detail-dialog .circle-button:focus-visible,
.detail-dialog .detail-pager button:focus-visible { outline:1px solid #d9bd94; outline-offset:3px; }
@media(max-width:767px) {
  .social-links-panel .social-dock {
    background:linear-gradient(145deg,rgba(54,40,33,.95),rgba(28,24,26,.97));
    backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  }
  .social-links-panel { animation:social-mobile-open .22s ease-out both; }
  .social-links-panel .social-link { gap:8px; padding:10px 8px; }
  .social-links-panel .social-link-caption { font-size:16px; overflow-wrap:normal; }
  .social-links-panel .social-symbol,.social-links-panel .social-art { width:32px; height:32px; flex-shrink:0; }
  .social-links-panel .social-link:nth-child(1) { --social-delay:0ms; }
  .social-links-panel .social-link:nth-child(2) { --social-delay:22ms; }
  .social-links-panel .social-link:nth-child(3) { --social-delay:44ms; }
  .social-links-panel .social-link:nth-child(4) { --social-delay:66ms; }
  .social-links-panel .social-link:nth-child(5) { --social-delay:88ms; }
  .social-links-panel .social-link:nth-child(6) { --social-delay:110ms; }
  .social-links-panel:not([hidden]) .social-link { animation-duration:.2s; }
  .social-links-panel[data-closing=true] { animation:social-fold .32s ease both; }
  .social-links-panel[data-closing=true] .social-link { animation-name:social-link-exit; animation-delay:calc(110ms - var(--social-delay)); }
  .detail-dialog .detail-pager button { min-width:44px; min-height:44px; }
  .detail-dialog[data-detail-kind=schedule] .detail-pager>span { font-size:12px; }
  body::before { filter:none; background:radial-gradient(ellipse at 20% 70%,#4d201b,#1b1718 80%); }
}
@keyframes social-mobile-open { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:360px) { .social-links-panel .social-dock { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .social-links-panel,.social-links-panel[data-closing=true],.social-links-panel:not([hidden]) .social-link { animation:none; } }

/* Local mobile preview: direct links instead of the cat/menu launcher. */
.social-mobile-symbol { display:none; }
@media(max-width:767px) {
  .widget-type-socials .social-launcher { display:none; }
  .widget-type-socials .social-mobile-dock {
    display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center;
    width:100%; max-width:440px; gap:2px; padding:7px 6px; margin:0;
    border:0; border-radius:0;
    background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none;
    box-shadow:none;
  }
  .social-mobile-dock .social-link { display:flex; align-items:center; justify-content:center; padding:0; gap:0; width:100%; min-width:0; min-height:44px; border:0; border-radius:14px; background:transparent; }
  .social-mobile-dock .social-link-caption { display:none; }
  .social-mobile-dock::before,.social-mobile-dock::after { display:none; }
  .social-mobile-dock .social-symbol { display:none; }
  .social-mobile-dock .social-mobile-symbol { display:flex; align-items:center; justify-content:center; color:#f1e9d9; opacity:.85; }
  .social-mobile-dock .social-mobile-symbol .ui-icon { width:24px; height:24px; stroke-width:1.65; }
  .social-mobile-dock .social-link { color:#f1e9d9; opacity:1; }
  .social-mobile-dock .social-symbol,.social-mobile-dock .social-art { width:clamp(28px,5.4vw,38px); height:clamp(28px,5.4vw,38px); flex-shrink:0; }
  .social-mobile-dock .social-link:focus-visible { outline:1px solid #d9bd94; outline-offset:1px; }
  .social-mobile-dock .social-link:active { background:rgba(241,233,217,.08); }
}
