:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light;--bg:#ffffff;--surface:#fff;--expanded:#fafafa;--text:#191919;--muted:#484848;--line:#dddddd;--hover:#f7f7f7;--focus:#333333;--bar:#ffffff;--bar-text:#191919;--bar-hover:#f3f3f3;--shadow:#00000026;--bar-height:4rem;color:var(--text);background:var(--bg)}
:root[data-theme=dark]{color-scheme:dark;--bg:#101010;--surface:#101010;--expanded:#181818;--text:#f5f5f5;--muted:#cccccc;--line:#383838;--hover:#202020;--focus:#ffffff;--bar:#101010;--bar-text:#f5f5f5;--bar-hover:#242424;--shadow:#0008}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--bar-height) + 8px)}body{margin:0}a{color:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-100px;z-index:10;padding:12px 16px;background:var(--text);color:var(--surface)}.skip:focus{top:12px}
.topbar{position:fixed;inset:0 0 auto;z-index:5;min-height:calc(4rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;align-items:center;background:var(--bar);color:var(--bar-text);border-bottom:1px solid var(--line)}.bar-start,.bar-actions{display:flex;align-items:center;gap:4px;min-width:0}.bar-actions{justify-content:flex-end}.bar-date{font-size:.8125rem;white-space:nowrap;font-weight:550}.brand{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0}.brand img{display:block;width:7rem;height:auto}.bar-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.bar-control:hover{background:var(--bar-hover)}.topbar :focus-visible{outline-color:var(--focus)}.bar-control svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.collapse-arrows,.theme-sun{display:none}[data-expanded=true] .expand-arrows{display:none}[data-expanded=true] .collapse-arrows,[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon{display:none}
main{max-width:58rem;margin:0 auto;padding:var(--bar-height) 24px 3rem}.session{background:var(--surface);border-bottom:1px solid var(--line);scroll-margin-top:8px}.session-summary{display:grid;grid-template-columns:9rem minmax(0,1fr) 1.25rem;align-items:center;gap:.875rem;padding:1.25rem;min-height:4.5rem;list-style:none}.session-summary::-webkit-details-marker{display:none}summary{cursor:pointer}summary:hover{background:var(--hover)}summary:focus-visible{outline-offset:-3px}.session-time{font-size:.875rem;font-variant-numeric:tabular-nums;line-height:1.5;color:var(--muted);font-weight:550;overflow-wrap:anywhere}h2{font-size:1.125rem;font-weight:650;line-height:1.4;letter-spacing:-.015em;margin:0;overflow-wrap:anywhere}.caret{width:1.25rem;height:1.25rem;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}details[open]{background:var(--expanded)}details[open] .caret{transform:rotate(180deg)}.session-detail{padding:1rem 3.375rem 1.5rem 11.125rem;overflow-wrap:anywhere}.session-format{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 .75rem}.description{font-size:1rem;line-height:1.65;margin:0 0 1rem;max-width:65ch}.subtitle{font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 1rem}.speakers{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.625rem}.speakers li{min-width:0}.speaker-row{display:flex;align-items:center;gap:.75rem;min-height:60px;width:100%;padding:.25rem 0;text-decoration:none;font-size:.875rem;line-height:1.5}.speaker-row:hover{background:var(--hover)}.speaker-photo{width:4rem;height:4rem;flex:0 0 4rem;object-fit:cover;object-position:center;background:var(--line)}.speaker-info{display:block;min-width:0;overflow-wrap:anywhere}.speaker-info strong{font-weight:650;text-decoration:underline;text-underline-offset:3px}.speaker-info>span{display:block;font-size:.875rem;color:var(--muted);margin-top:2px}.simple-session{background:var(--bg)}.simple-session h2{color:var(--muted);font-weight:550}
#venue-panel{position:fixed;inset:calc(var(--bar-height) + 8px) auto auto 16px;width:20rem;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--bar-height) - 24px);overflow:auto;margin:0;border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem 1.25rem;background:var(--surface);color:var(--text);box-shadow:0 12px 32px var(--shadow)}.venue-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.venue-close{flex:none;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:1.5rem;cursor:pointer;margin:-8px -12px -8px 0}#venue-panel p{font-size:1rem;line-height:1.6;color:var(--muted);margin:.75rem 0}#venue-panel a{display:inline-flex;align-items:center;gap:16px;font-size:1rem;font-weight:650;min-height:44px;text-underline-offset:4px}
@media(max-width:900px){.control-label{display:none}.bar-start,.bar-actions{gap:0}.bar-date,.bar-control{font-size:.75rem}.bar-control{padding:0 4px}.brand img{width:100px}}
@media(max-width:700px){main{padding-right:16px;padding-left:16px}.session-summary{grid-template-columns:minmax(0,1fr) 1.25rem;gap:.25rem .75rem;padding:1rem;min-height:5rem}.session-time{grid-row:1;grid-column:1}h2{grid-row:2;grid-column:1;font-size:1rem}.caret{grid-column:2;grid-row:1 / span 2}.session-detail{padding:1rem 1rem 1.5rem}}
@media(max-width:360px){.topbar{padding-right:8px;padding-left:8px}.brand img{width:76px}.bar-date{font-size:.6875rem}main{padding-right:8px;padding-left:8px}}
@media(max-width:300px){.topbar{grid-template-columns:minmax(0,1fr) auto}.bar-actions{grid-column:1/-1;justify-content:center}.bar-date{white-space:normal}.brand img{width:64px}.session-summary{padding:.75rem}.session-detail{padding:1rem .75rem 1rem}.speaker-row{align-items:flex-start}.speaker-photo{width:2.5rem;height:2.5rem;flex-basis:2.5rem}}
@media(min-width:1600px){:root{font-size:20px}}
@media(min-width:2400px){:root{font-size:24px}}
@media(min-width:3200px){:root{font-size:28px}}
@media(prefers-reduced-motion:no-preference){.caret{transition:transform .15s ease}}
@media(forced-colors:active){.bar-control{border:1px solid ButtonText}.speaker-row:focus-visible,summary:focus-visible{outline-color:Highlight}}

.topbar[data-wrap=true]{grid-template-columns:minmax(0,1fr) auto}.topbar[data-wrap=true] .bar-actions{grid-column:1/-1;justify-content:center;flex-wrap:wrap}.topbar[data-wrap=true] .bar-start{flex-wrap:wrap}.topbar[data-wrap=true] .bar-date{white-space:normal}

/* Compact speaker recognition without repeating speaker names in the disclosure label. */
.session-summary .session-time{grid-column:1;grid-row:1}.session-heading{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;gap:.875rem}.session-summary .caret{grid-column:3;grid-row:1}
.speaker-preview{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.speaker-preview img{display:block;width:2.5rem;height:2.5rem;object-fit:cover;object-position:center}details[open] .speaker-preview{display:none}
@media(max-width:700px){.session-summary .session-time{grid-column:1;grid-row:1}.session-heading{grid-column:1;grid-row:2}.session-summary .caret{grid-column:2;grid-row:1 / span 2}}
@media(prefers-reduced-motion:no-preference){summary,.bar-control,.speaker-row{transition:background-color .15s ease}details[open] .session-detail{animation:detail-reveal .18s ease-out}@keyframes detail-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}}

/* Editorial hierarchy, restrained brand accent, and responsive detail columns. */
:root{--header-glass:rgb(255 255 255 / .93)}:root[data-theme=dark]{--header-glass:rgb(16 16 16 / .93)}
.topbar{background:var(--header-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.bar-control svg,.caret{stroke-width:1.75}.bar-control{border-radius:8px}.bar-start,.bar-actions{gap:6px}
.session-summary h2{font-size:1.25rem;font-weight:700;line-height:1.3;letter-spacing:-.025em}.session-time{font-weight:450}.session-format{font-weight:550;letter-spacing:.08em}
details[open]{box-shadow:inset 3px 0 #f8ff00}details[open] > summary{box-shadow:inset 3px 0 #f8ff00}.session-copy{min-width:0}.session-copy>:last-child{margin-bottom:0}
@media(min-width:1000px){main{max-width:68rem}.session-detail{padding:1rem 2.5rem 2rem 11.125rem;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem}.session-detail:not(:has(.speakers)){grid-template-columns:minmax(0,1fr)}.session-detail .speakers{margin:0;align-content:start}}
@media(max-width:700px){.session-summary h2{font-size:1.125rem}.bar-start,.bar-actions{gap:0}}
@media(prefers-reduced-motion:no-preference){@supports (interpolate-size:allow-keywords) and selector(details::details-content){details.session{interpolate-size:allow-keywords}details.session::details-content{block-size:0;overflow:clip;content-visibility:hidden;transition:block-size .22s ease,content-visibility .22s allow-discrete}details.session[open]::details-content{block-size:auto;content-visibility:visible}details[open] .session-detail{animation:none}}}
@media(forced-colors:active){details[open]{border-inline-start:3px solid Highlight}.topbar{background:Canvas}}

.session-time{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.session-duration{font-size:.8125rem;white-space:nowrap}
@media(max-width:700px){.session-time{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:.625rem}.session-duration{border-inline-start:1px solid var(--line);padding-inline-start:.625rem}}

.venue-address{display:flex;align-items:center;gap:.375rem;justify-content:flex-start}.venue-address p{min-width:0;overflow-wrap:anywhere}.copy-address{flex:0 0 44px}.copy-check{display:none}.copy-address[data-copied=true] .copy-symbol{display:none}.copy-address[data-copied=true] .copy-check{display:block}.copy-status{display:block;font-size:.8125rem;line-height:1.4;color:var(--muted)}.copy-status:empty{display:none}.copy-status:not(:empty){margin:0 0 .5rem}

.session-time>span:first-child{font-weight:500}.session-duration{font-weight:400}

.live-badge{display:inline-flex;align-items:center;gap:.375rem;margin-inline-start:.5rem;vertical-align:middle;font-size:.75rem;line-height:1.5;font-weight:650;letter-spacing:0;white-space:nowrap}.live-dot{width:9px;height:9px;border-radius:50%;background:#f8ff00;border:1px solid #787b00;flex:none}
@media(prefers-reduced-motion:no-preference){.live-badge:not([hidden]) .live-dot{animation:live-pulse 1.5s ease-out 3}@keyframes live-pulse{0%,100%{box-shadow:0 0 0 0 rgb(248 255 0 / 0)}40%{box-shadow:0 0 0 5px rgb(248 255 0 / .25)}}}
@media(forced-colors:active){.live-dot{background:Highlight;border-color:CanvasText}}

/* Keep title and portraits together, independent of the time/duration height. */
@media(min-width:701px){.session-summary{align-items:center}.session-summary .caret{align-self:center}}
@media(max-width:700px){.session-heading{gap:.75rem}.session-summary{row-gap:.5rem}}

/* Larger desktop portraits and consistent speaker spacing. */
@media(min-width:701px){.speaker-preview img{width:3rem;height:3rem}}
.session-summary{position:relative}
.speakers{gap:.75rem}.speaker-row{padding:.375rem 0}

/* Share the agenda's horizontal bounds; align the right control to row carets. */
:root{--agenda-width:58rem;--agenda-gutter:24px;--row-inset:1.25rem}
@media(min-width:1000px){:root{--agenda-width:68rem}}
@media(max-width:700px){:root{--agenda-gutter:16px;--row-inset:1rem}}
@media(max-width:360px){:root{--agenda-gutter:8px}}
@media(max-width:300px){:root{--row-inset:.75rem}}
.topbar{--agenda-edge:max(var(--agenda-gutter),calc((100% - var(--agenda-width))/2 + var(--agenda-gutter)));padding-left:max(env(safe-area-inset-left),var(--agenda-edge));padding-right:max(env(safe-area-inset-right),calc(var(--agenda-edge) + var(--row-inset) + .625rem - 22px))}
.topbar[data-wrap=true] .bar-actions{justify-content:flex-end}

@media(max-width:900px){.bar-start{column-gap:8px}}

.speaker-info>.speaker-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;color:var(--text);margin-top:0}.moderator-tag{font-size:.6875rem;font-weight:500;line-height:1.5;color:var(--muted);border:1px solid var(--line);padding:0 .375rem;white-space:nowrap}

.description-list{padding-inline-start:1.375rem}.description-list li+li{margin-top:.5rem}
