/* Shared motion and controls, public site and press workspaces. */
:root{--motion-ease:cubic-bezier(.2,.8,.2,1);--motion-fast:160ms;--motion-enter:240ms}
.ui-panel button:not(.show-choice):not(.app-dock button),.ui-panel .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:11px 14px;font:600 12px/1.4 Inter,Arial,sans-serif;text-align:center;white-space:normal;overflow-wrap:anywhere;vertical-align:middle;box-sizing:border-box}
.ui-panel button:disabled{cursor:default}.ui-panel button:disabled:not(.medium-approved){opacity:.5}
.ui-panel .toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:stretch;width:100%;gap:8px}
.ui-panel .toolbar>button,.ui-panel .toolbar>.button{width:100%;margin:0;min-width:0}
.ui-panel .admin-show>button{width:100%;margin:8px 0 0}.ui-panel .admin-show{min-width:0}
.ui-panel .admin-nav{align-items:stretch}.ui-panel .admin-nav button,.ui-panel .admin-nav .button{min-height:44px;margin:0}
.ui-panel .admin-nav button span{line-height:1}.ui-panel .show-choice{min-width:0;align-self:start;align-items:center;transform:none}
.ui-panel #portal-grants .button,.ui-panel #portal-material-list .button{width:100%;font-size:12px;min-height:44px;align-self:stretch}
.ui-panel #portal-grants .show-details,.ui-panel #portal-material-list .show-details{align-items:stretch;align-self:stretch}
.ui-panel .field-help{display:block;font:400 12px/1.5 Inter,Arial,sans-serif;color:#b6b6b6;letter-spacing:0;text-transform:none}
.ui-panel .person label{align-self:start}.ui-panel .person>button{align-self:start;margin-top:24px}
.ui-panel .raffle-mode-note{border:1px solid #635627;border-radius:12px;padding:16px;background:#ffd52a09;margin:18px 0}.raffle-mode-note strong{font-size:13px;color:#ffe16b}.raffle-mode-note p:last-child{margin-bottom:0}
.raffle-guide{font-size:13px}.raffle-guide summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;padding-block:10px;list-style-position:inside}.raffle-guide ol{padding-left:21px;display:grid;gap:13px;line-height:1.7}.raffle-guide .hint{line-height:1.65}
.list-filters{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:end;gap:12px;margin:20px 0}.list-filters button{margin:0}.list-preview .section-heading{margin-top:0}.list-preview h3{margin:0}.list-preview textarea{resize:vertical;min-height:340px;font:14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;padding:16px;background:#0a0a0a}.list-preview .hint{margin-bottom:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button,.button,.ticket-link{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button[aria-busy=true],.button[aria-busy=true]{cursor:progress}
button[aria-busy=true]::after{content:'';width:13px;height:13px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fluid-spin .7s linear infinite}
@keyframes fluid-spin{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.ui-panel button:not(:disabled):not(.show-choice):hover,.ui-panel .button:hover{border-color:#ff575d;background-color:#292020}.ui-panel .primary:hover{background-color:#ed252d}.news-card:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:no-preference){
 button,.button,.ticket-link{transition:background-color 160ms,border-color 160ms,color 160ms,box-shadow 160ms,transform 160ms var(--motion-ease)}
 button:not(:disabled):not(.show-choice):not(.hero-arrow):active,.button:active{transform:scale(.98)}
 .show-choice{transition:border-color 180ms,background-color 180ms,box-shadow 180ms}.show-choice:active{background-color:#25211a}.show-choice.selected{box-shadow:0 0 0 2px #ffd52a33}
 .main-nav.open{animation:fluid-menu 230ms var(--motion-ease)}.hero-slide.active .hero-content{animation:fluid-hero 460ms var(--motion-ease)}
 .news-card img{transition:transform 340ms var(--motion-ease)}.ui-panel .tag{transition:background-color 180ms,color 180ms}
 @keyframes fluid-menu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
 @keyframes fluid-hero{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:700px){
 .ui-panel .list-filters{grid-template-columns:1fr}.ui-panel .list-filters button{width:100%}.ui-panel .list-preview .section-heading{display:grid;grid-template-columns:1fr;gap:12px}.ui-panel #lists-copy{width:100%}.list-preview textarea{font-size:13px;min-height:330px;padding:12px}
 .ui-panel .person>button{margin-top:0}.ui-panel .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-panel .toolbar>button{font-size:11px;padding-inline:10px}
 .ui-panel .app-extra-controls{align-items:stretch}.ui-panel .app-extra-controls>*{width:100%}.ui-panel #media-list .toolbar{grid-template-columns:1fr 1fr}
 .ui-panel .app-dock>button,.ui-panel .app-dock>a{min-height:56px;font:600 10px/1.2 Inter,Arial,sans-serif;padding:6px 3px;overflow-wrap:normal}
 .ui-panel .admin-show>button{font-size:12px}.ui-panel input,.ui-panel select,.ui-panel textarea:not(#lists-text){font-size:16px}
 .ui-panel .raffle-guide{padding:14px 16px}.ui-panel .raffle-mode-note{padding:14px}.ui-panel .person{gap:14px}
}
@media(max-width:360px){.ui-panel .toolbar{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){button[aria-busy=true]::after{animation:none} .news-card img{transform:none!important}}
/* High-contrast phone dock: clear labels, selected state and touch targets. */
@media(max-width:700px){
 body .app-dock:not([hidden]){background:#101010;border-top:1px solid #484848;backdrop-filter:none;box-shadow:0 -8px 24px #0005;gap:4px;padding-top:9px}
 body .app-dock>button,body .app-dock>a,.ui-panel .app-dock>button,.ui-panel .app-dock>a{color:#ededed;background:transparent;opacity:1;font-size:11px;font-weight:650;min-height:58px;gap:5px;border-radius:11px}
 body .app-dock>button.active,body .app-dock>a.active,.ui-panel .app-dock>button.active,.ui-panel .app-dock>a.active{background:#ffd52a;color:#080808;box-shadow:0 2px 8px #0003}
 body .app-dock svg{width:23px;height:23px;stroke-width:1.9;opacity:1}
 body .app-dock>button:focus-visible,body .app-dock>a:focus-visible{outline:2px solid white;outline-offset:0}
 body .app-dock>button:not(.active):active,body .app-dock>a:not(.active):active{background:#2b2b2b;color:white}
}

/* Limited press allocation is an informative notice, not an automatic rejection. */
.press-limit-control{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #4d4730;border-radius:10px;background:#ffd52a08;margin:14px 0;cursor:pointer}
.press-limit-control span{display:grid;gap:4px;min-width:0}.press-limit-control strong{font-size:12px}.press-limit-control small{font-size:11px;color:#bbb;font-weight:400}
.ui-panel .press-limit-control input[role=switch]{appearance:none;-webkit-appearance:none;position:relative;width:44px;height:26px;min-width:44px;flex:none;border:1px solid #727272;border-radius:99px;background:#333;padding:0;margin:0;cursor:pointer}
.ui-panel .press-limit-control input[role=switch]::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#eee;transition:transform 160ms}
.ui-panel .press-limit-control input[role=switch]:checked{background:#ffd52a;border-color:#ffd52a}.ui-panel .press-limit-control input[role=switch]:checked::before{background:#080808;transform:translateX(18px)}
.ui-panel .press-limit-control input:disabled{opacity:.5;cursor:progress}.event-option{min-width:0;align-self:start}.event-option>.show-choice{width:100%}
.limited-explanation{border:1px solid #67572a;border-radius:10px;background:#201c10;margin-top:7px;padding:10px 12px;color:#ffe17a}.limited-explanation summary{cursor:pointer;min-height:24px;font-size:12px;line-height:1.6;font-weight:600;list-style-position:inside}.limited-explanation p{font-size:12px;line-height:1.7;color:#eee;margin:10px 0 0}
.limited-confirmation{border:1px solid #67572a;border-left:3px solid #ffd52a;background:#ffd52a09;border-radius:10px;padding:16px;margin:16px 0}.limited-confirmation strong{font-size:13px;color:#ffe17a}.limited-confirmation p{font-size:13px;line-height:1.7;margin:8px 0 0;color:#eee}
@media(max-width:700px){.press-limit-control{min-height:58px}.limited-explanation summary{min-height:30px}.limited-confirmation{padding:14px}}

/* Compact show overview: always keep the two daily actions together. */
.ui-panel #admin-events{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.ui-panel #admin-events .compact-show{padding:14px;border-radius:12px;min-width:0;margin:0}
.ui-panel #admin-events .admin-show-top{gap:10px;align-items:center}
.ui-panel #admin-events .admin-show-top img{width:64px;height:64px;object-fit:contain;border-radius:7px;margin:0}
.ui-panel #admin-events .admin-show-top>div{flex:1;min-width:0}
.ui-panel #admin-events .eyebrow{font-size:10px;letter-spacing:.5px;line-height:1.5;margin:0 0 4px}
.ui-panel #admin-events h3{font:650 14px/1.35 Inter,Arial,sans-serif;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.ui-panel #admin-events .admin-show-top .hint{font-size:11px;line-height:1.5;margin:5px 0 0;color:#aaa}
.ui-panel #admin-events .show-flags{gap:5px;margin:12px 0;min-height:24px}
.ui-panel #admin-events .show-flags .tag{font-size:10px;padding:3px 7px;line-height:1.4;white-space:nowrap}
.ui-panel #admin-events .compact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ui-panel #admin-events .compact-actions button{margin:0;width:100%;min-width:0;min-height:42px;padding:9px 8px;font-size:12px;line-height:1.4;letter-spacing:0;text-transform:none}
.compact-actions svg,.compact-options summary svg{width:17px;height:17px;flex:none}
.compact-options{margin-top:9px;border-top:1px solid #303030}
.compact-options summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;min-height:36px;padding:7px 0 0;color:#bbb;font:500 11px/1.5 Inter,Arial,sans-serif}
.compact-options summary::-webkit-details-marker{display:none}.compact-options summary:focus-visible{outline:2px solid #ffd52a;outline-offset:3px;border-radius:4px}.compact-options[open] summary svg{transform:rotate(180deg)}
.compact-options-content{padding-top:10px;display:grid;gap:10px}.compact-full-title{font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere;color:#ddd}
.ui-panel #admin-events .compact-options .press-limit-control{margin:0;padding:9px 10px;min-height:44px;gap:10px;justify-content:space-between;flex-direction:row-reverse}
.ui-panel #admin-events .compact-options .press-limit-control strong{font-size:12px}
.ui-panel #admin-events .compact-options button{width:100%;min-height:42px;margin:0;font-size:11px;padding:10px;text-transform:none}
@media(max-width:1050px){.ui-panel #admin-events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ui-panel #admin-events{grid-template-columns:1fr;gap:10px}.ui-panel #admin-events .compact-show{padding:12px}.ui-panel #admin-events .admin-show-top img{width:60px;height:60px}.ui-panel #admin-events h3{font-size:14px}.ui-panel #admin-events .compact-actions button{min-height:44px}.compact-options summary{min-height:38px}.ui-panel #admin-events .compact-options button{min-height:44px}.ui-panel #admin-events .show-flags{margin:10px 0}}
@media(prefers-reduced-motion:no-preference){.compact-options summary svg{transition:transform 180ms ease}.compact-options[open] .compact-options-content{animation:compact-open 180ms ease-out}@keyframes compact-open{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}

/* Media channels and weekly availability */
.media-preferences{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 20px}.media-preferences>.card{margin:0;padding:16px;min-width:0}.media-preferences summary{font-weight:700;font-size:14px;cursor:pointer;min-height:44px}.media-preferences summary .hint{display:block;font-weight:400;margin-top:6px;font-size:12px}.media-preferences fieldset{border:0;padding:0;margin:12px 0;min-width:0}.media-preferences legend{font-size:13px;font-weight:600;margin-bottom:8px}.channel-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.channel-choices label,.weekly-choices label{display:flex;align-items:center;gap:10px;border:1px solid #484848;background:#151515;padding:10px 12px;border-radius:10px;font-size:13px;min-height:44px;cursor:pointer;margin:0}.weekly-choices{display:grid;gap:8px}.media-preferences input[type=checkbox],.media-preferences input[type=radio]{width:19px;height:19px;flex:0 0 19px;margin:0;accent-color:#ffd52a}.media-preferences label:has(input:checked){border-color:#ffd52a;color:#fff;background:#27230f}.media-preferences select{font-size:13px}.preference-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1/-1;margin:12px 0}.preference-filters label{min-width:0;font-size:12px}.preference-filters select{font-size:13px;width:100%;min-width:0}.preference-filters+p{grid-column:1/-1}.preference-tags{margin:8px 0}.preference-tags .tag{white-space:normal;line-height:1.5;display:inline-flex;max-width:100%;text-transform:none}.media-preferences button{font-size:12px}.media-preferences [role=status]{margin:8px 0 0}
@media(max-width:700px){.media-preferences{grid-template-columns:1fr;gap:10px}.media-preferences>.card{padding:12px}.preference-filters{grid-template-columns:1fr 1fr}.preference-filters label:first-child{grid-column:1/-1}.media-preferences summary{min-height:44px}.media-preferences button{width:100%}}

#notification-settings{padding:14px 16px}#notification-settings summary{font-size:14px;font-weight:600;min-height:44px;cursor:pointer}#notification-settings fieldset{border:0;margin:12px 0;padding:0}#notification-settings legend{font-size:13px;margin-bottom:8px}#notification-settings input[type=checkbox]{width:19px;height:19px;flex:0 0 19px;accent-color:#ffd52a}#notification-settings .weekly-choices label{font-size:13px}#notification-settings [role=status]{font-size:13px}@media(max-width:700px){#notification-settings{padding:12px}#notification-settings button{width:100%}}

.required-channels{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid #505050;border-radius:16px;background:#101010;color:#fff;box-sizing:border-box}.required-channels::backdrop{background:#000c;backdrop-filter:blur(5px)}.required-channels h2{font-size:30px;margin:8px 0 12px}.required-channels>p:not(.eyebrow){font:400 14px/1.6 Inter,Arial,sans-serif;color:#ddd}.required-channels fieldset{border:0;margin:16px 0;padding:0}.required-channels legend{font-size:13px;margin-bottom:8px}.required-channels input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#ffd52a}.required-channels [type=submit]{width:100%;min-height:46px}.required-channels #channels-feedback{font-size:13px}.required-channels #required-channels-logout{margin-top:12px;font-size:12px;min-height:44px;width:100%;background:transparent;border-color:#555}.required-channels label:has(input:checked){border-color:#ffd52a;background:#27230f}@media(max-width:700px){.required-channels{padding:18px}.required-channels h2{font-size:28px}.required-channels .channel-choices{grid-template-columns:1fr 1fr}}
