.selection-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-width:48px;height:48px;padding:0 8px;border:1px solid transparent;background:transparent;color:var(--text)}
.selection-trigger:hover,.selection-trigger.has-photos{color:var(--accent)}
.selection-trigger span{font:600 12px/1 Arial,sans-serif;min-width:17px;text-align:center}
.selection-trigger:not(.has-photos) span{display:none}
#selection-dialog{width:min(650px,calc(100% - 24px));padding:clamp(18px,3vw,32px);max-height:min(88dvh,850px)}
.selection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.selection-head .meta{color:var(--accent);margin-bottom:8px}
.selection-head h2{font-size:clamp(28px,4vw,42px)}
.selection-head .icon-button{flex:none}
.selection-summary{margin:20px 0 12px;color:var(--muted);font-size:14px}
.selection-list{list-style:none;padding:0;margin:0;max-height:48dvh;overflow-y:auto;overscroll-behavior:contain}
.selection-list li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.selection-list img{width:96px;height:64px;object-fit:cover;background:var(--panel)}
.selection-list li>div{min-width:0}
.selection-list strong{display:block;color:var(--text);font-weight:500}
.selection-list li>div span{display:block;font-size:12px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.selection-remove{border:0;background:transparent;color:var(--muted);padding:12px;min-height:44px}
.selection-remove:hover{color:var(--accent)}
.selection-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--line)}
.selection-actions .button{white-space:normal;text-align:center}
.selection-empty{padding:45px 0 12px}
.selection-empty p{color:var(--muted);margin-bottom:20px}
#select-photo.is-selected{background:transparent;border-color:var(--accent);color:var(--accent)}
.selection-feedback{font-size:12px;color:var(--accent);min-height:0;text-align:center}
.selection-feedback:empty{display:none}
.dialog-actions #share-photo{font-size:12px;min-height:40px;padding:4px 0;color:var(--text)}
.dialog-actions #share-photo:hover{color:var(--accent)}
.session-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.session-links .text-link{white-space:nowrap}
.page-jump{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}
.page-jump label{display:inline;font-size:12px}
.page-jump select{width:auto;min-width:68px;min-height:42px;padding:8px 10px}
.new-badge{display:inline-block;margin-left:8px;padding:2px 5px;border:1px solid var(--accent);color:var(--accent);font:700 10px/1.3 Arial,sans-serif;letter-spacing:.08em;vertical-align:middle}
.selection-mobile{display:none}
@media(max-width:640px){
  .site-header{gap:10px}
  .selection-trigger{min-width:44px;padding:0 4px}
  #selection-dialog{max-height:94dvh}
  .selection-list{max-height:53dvh}
  .selection-list li{grid-template-columns:72px minmax(0,1fr);gap:10px}
  .selection-list img{width:72px;height:60px}
  .selection-remove{grid-column:2;justify-self:start;padding:4px 0;min-height:32px}
  .selection-actions{align-items:stretch;flex-direction:column-reverse}
  .selection-actions .button{width:100%;min-height:52px}
  .photo-toolbar .page-jump{margin-top:2px}
  .session-links{gap:7px 20px}
  body.has-selection{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .selection-mobile:not([hidden]){position:fixed;z-index:18;display:flex;justify-content:center;align-items:center;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 32px);min-height:50px;padding:10px 18px;background:var(--accent);color:#111;font-size:14px;font-weight:700;border:1px solid #e4fa90;box-shadow:0 8px 30px #0008}
  body:has(dialog[open]) .selection-mobile{display:none}
}
@media(max-width:360px){
  .site-header nav{gap:11px}
  .site-header nav a{font-size:12px}
  .brand-cut{display:none}
}
@media(prefers-reduced-motion:reduce){#selection-dialog[open]{animation:none}}

/* Public layout polish: more useful space on large screens, with familiar margins elsewhere. */
body:not(:has(.admin-wrap)){--margin:clamp(20px,4.5vw,64px)}
body:not(:has(.admin-wrap)) .site-header{width:calc(100% - 2 * var(--margin));max-width:1552px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(8px,2vw,24px)}
body:not(:has(.admin-wrap)) .site-header .wordmark{justify-self:start}
body:not(:has(.admin-wrap)) .site-header nav{justify-self:center}
body:not(:has(.admin-wrap)) .site-header .selection-trigger{justify-self:end}
body:not(:has(.admin-wrap)) :is(.section,.hero,footer){max-width:1680px}
@media(max-width:640px){body:not(:has(.admin-wrap)) .site-header{grid-template-columns:auto minmax(0,1fr) auto}}
@media(hover:hover) and (pointer:fine){#session-results .session-card:hover .round-arrow{transform:translate(2px,-2px)}#session-results .round-arrow{transition:transform 200ms ease}}
@media(prefers-reduced-motion:reduce){#session-results .round-arrow{transition:none!important}}
