/* PsychedelX: readable overview and a compact, browsable conference archive. */
.px-section{scroll-margin-top:100px}.px-section [hidden]{display:none!important}
.px-overview{display:grid;grid-template-columns:1fr 1fr;gap:64px}.px-overview>div{border-top:1px solid #ffffff55;padding-top:28px}.px-overview h3{font-size:24px;color:var(--sun);margin:0 0 22px}.px-overview p{font-size:18px;line-height:1.75}.px-overview strong{color:#fff}
.px-jump-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin:24px 0 36px;font-weight:600;font-size:15px}.px-jump-links a{text-underline-offset:5px}
.px-controls{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin:0 0 18px}.inner-page .px-controls .btn{margin:0;min-width:46px;min-height:44px;padding:8px 14px}.px-count{font-size:14px;margin-right:8px;color:var(--muted)}.px-controls .btn:disabled{opacity:.4;cursor:default}
.px-rail{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--rule) transparent;padding:3px 3px 18px;align-items:stretch}.px-rail:focus-visible{outline:2px solid var(--sun);outline-offset:5px}.px-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;background:#543969;border:1px solid #ffffff55;border-radius:12px;overflow:hidden}.px-card{display:flex;flex-direction:column}.px-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.px-card-body>.px-bio,.px-card-body>.more{margin-top:auto}.px-card h3{font-size:21px;line-height:1.35;margin:12px 0}.px-card p{font-size:16px;line-height:1.6;margin-bottom:18px}.px-card .px-label,.px-label{font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.035em;color:var(--sun);margin:0 0 10px}.px-profile-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#2b1a40}.px-bio{border-top:1px solid #ffffff44;padding-top:16px;margin-top:22px}.px-bio summary{cursor:pointer;font-weight:700;font-size:14px}.px-bio[open] summary{margin-bottom:20px}.px-bio p{font-size:15px;line-height:1.7}.px-bio p:last-child{margin-bottom:0}
.px-video{flex-shrink:0;aspect-ratio:4/3;background:#211331;position:relative}.px-video button{display:block;position:relative;border:0;padding:0;background:none;width:100%;height:100%;cursor:pointer}.px-video img{display:block;width:100%;height:100%;object-fit:contain}.px-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#2b1a40dd;color:#fff;border:1px solid #ffffffaa;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:19px;padding-left:3px}.px-video button:hover .px-play{background:var(--sun);color:#2b1a40}.px-video button:focus-visible{outline:3px solid var(--sun);outline-offset:-4px}.px-video iframe{display:block;width:100%;height:100%;border:0;position:absolute;inset:0}.px-recording .more{display:inline-block;margin-top:auto;padding-top:8px;font-size:14px}
.px-schedule{border:1px solid #ffffff55;border-radius:12px;background:linear-gradient(135deg,#fffaf0,#f7efdc);color:#321052;border-color:#eee2c9;margin:16px 0;overflow:hidden}.px-schedule summary{padding:24px 28px;cursor:pointer;position:relative;list-style:none;padding-right:60px}.px-schedule summary::-webkit-details-marker{display:none}.px-schedule summary:after{content:'+';position:absolute;right:28px;top:32px;font-size:24px;color:#582377}.px-schedule[open] summary:after{content:'−'}.px-schedule summary span{display:block;color:#624277;font-size:14px;margin-bottom:8px}.px-schedule summary strong{font:700 22px/1.4 Poppins,sans-serif}.px-schedule table{width:calc(100% - 56px);margin:0 28px 28px;border-collapse:collapse;text-align:left;font-size:16px}.px-schedule th,.px-schedule td{padding:14px 12px;border-top:1px solid #32105230;vertical-align:top}.px-schedule thead th{color:#582377;font-size:13px}.px-schedule tbody th{width:215px;font-size:14px;font-weight:500}.px-schedule td{line-height:1.5}
.px-day-tabs{display:flex;gap:12px;margin:32px 0}.inner-page .px-day-tabs .btn{margin:0;flex:1;background:transparent!important;color:#fff!important;border:1px solid #ffffff66;padding:16px}.px-day-tabs .btn span{display:block;font-size:12px;font-weight:400;margin-top:4px}.inner-page .px-day-tabs .btn[aria-selected=true]{background:#fff!important;color:#2b1a40!important;border-color:#fff}.px-day-heading{margin:30px 0 0}.px-day-heading h3{font-size:26px;margin:0}.px-day-panel+.px-day-panel{margin-top:48px}.px-day-panel[role=tabpanel]{margin-top:0}
.px-sponsor-tier{border-top:1px solid #ffffff44;padding-top:28px;margin-top:40px}.px-sponsor-tier>h3{font-size:20px;margin:0 0 24px;color:var(--sun)}.px-sponsor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.px-sponsor{text-decoration:none;font-size:14px;line-height:1.5}.px-sponsor-logo{display:flex;align-items:center;justify-content:center;aspect-ratio:1.65;background:#fff;border-radius:8px;padding:22px;margin-bottom:14px}.px-sponsor-logo img{display:block;width:100%;height:100%;object-fit:contain}.px-sponsor:hover>span:last-child{text-decoration:underline;text-underline-offset:4px}.px-interest{text-align:center}.px-interest .section-heading h2,.px-interest .lead{margin-inline:auto}.px-interest .lead{max-width:680px}.px-opening{font-weight:600;color:var(--sun);margin-top:24px!important}
@media(max-width:1000px){.px-overview{gap:36px}.px-card{flex-basis:calc((100% - 24px)/2)}.px-sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.px-overview{grid-template-columns:1fr;gap:28px}.px-overview p{font-size:17px}.px-card{flex-basis:88%}.px-rail{gap:16px}.px-card-body{padding:20px}.px-card h3{font-size:21px}.px-day-heading h3{font-size:23px}.px-day-tabs{gap:8px}.inner-page .px-day-tabs .btn{padding:12px 6px}.px-controls{margin-top:20px}.px-schedule summary{padding:20px 48px 20px 18px}.px-schedule summary:after{right:18px;top:26px}.px-schedule summary strong{font-size:18px}.px-schedule table{width:calc(100% - 24px);margin:0 12px 20px;font-size:14px}.px-schedule th,.px-schedule td{padding:12px 6px}.px-schedule tbody th{width:100px;font-size:12px}.px-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.px-sponsor-logo{padding:16px}.px-interest{text-align:left}.px-interest .section-heading h2{margin-inline:0}}

/* Full profiles open above the carousel, keeping the cards at their preview height. */
.px-read-more{margin-top:auto;align-self:flex-start;padding:12px 0 0;border:0;border-radius:0;background:transparent;color:#fff;font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;text-align:left;cursor:pointer;min-height:44px}.px-read-more:hover{color:var(--sun)}.px-read-more:focus-visible{outline:2px solid var(--sun);outline-offset:5px}.px-bio[open]{max-height:360px;overflow-y:auto;overscroll-behavior:contain}
.px-schedule summary:focus-visible{outline:3px solid #582377;outline-offset:-5px}
.px-profile-dialog{--head:#321052;--muted:#624277;width:min(760px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 48px);padding:0;margin:auto;border:1px solid #eee2c9;border-radius:16px;background:#fffaf0;color:#321052;box-shadow:0 24px 100px #17092377;overflow:hidden}
.px-profile-dialog[open]{display:flex;flex-direction:column}.px-profile-dialog::backdrop{background:#170d29bd;backdrop-filter:blur(5px)}
.px-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:16px 28px;border-bottom:1px solid #32105222;background:#f7efdc}.px-dialog-toolbar>span{font-size:13px;font-weight:700;color:#582377}.inner-page .px-profile-dialog .px-dialog-close{border:1px solid #d9cbb6;border-radius:6px;background:#fffaf0;color:#321052;font:inherit;font-size:14px;font-weight:700;padding:10px 14px;min-height:44px;cursor:pointer}.inner-page .px-profile-dialog .px-dialog-close:hover{background:#eee2c9;color:#321052}.inner-page .px-profile-dialog .px-dialog-close:focus-visible{outline:2px solid #582377;outline-offset:3px}
.px-dialog-content{overflow-y:auto;overscroll-behavior:contain;padding:32px 40px 40px;scrollbar-color:#91729f #fffaf0}.px-dialog-content .px-label{color:#6b347f}.px-dialog-content h2{font-size:clamp(26px,4vw,34px);line-height:1.25;color:#321052;margin:10px 0 18px}.px-dialog-content h2:focus{outline:none}.px-dialog-topic{font-size:20px;font-weight:600;line-height:1.5;padding-bottom:24px;border-bottom:1px solid #32105225;margin-bottom:24px}.px-dialog-copy p{font-size:17px;line-height:1.8;margin:0 0 22px;overflow-wrap:anywhere}.px-dialog-copy p:last-child{margin-bottom:0}
@media(max-width:760px){.px-profile-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.px-dialog-toolbar{padding:12px 18px}.px-dialog-content{padding:24px}.px-dialog-topic{font-size:18px}.px-dialog-copy p{font-size:16px}}

/* PsychedelX profile actions stay text-only, including hover and keyboard focus. */
body.inner-page .px-card button.px-read-more{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none}
body.inner-page .px-card button.px-read-more:is(:hover,:focus-visible){background:transparent!important;color:var(--sun)!important;border:0!important}
body.inner-page .px-card button.px-read-more:focus-visible{outline:2px solid var(--sun);outline-offset:4px;box-shadow:none}

/* Keep every shared profile modal calm, including global button interaction states. */
body.inner-page .px-profile-dialog button.px-dialog-close{background:#fffaf0!important;color:#321052!important;border-color:#d9cbb6!important}
body.inner-page .px-profile-dialog button.px-dialog-close:is(:hover,:focus-visible){background:#eee2c9!important;color:#321052!important;border-color:#cdbda4!important}
@media(max-width:760px){
 .inner-page .px-day-tabs .btn{flex-direction:column;gap:2px;height:auto;min-height:64px;line-height:1.3}
 .px-day-tabs .btn span{margin:0}
 .px-jump-links{gap:4px 24px}.px-jump-links a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:480px){
 .px-schedule thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .px-schedule tbody tr{display:block;border-top:1px solid #32105230;padding:14px 6px}
 .px-schedule tbody th,.px-schedule tbody td{display:block;width:auto;border:0;padding:0}
 .px-schedule tbody th{font-size:14px;font-weight:600;margin-bottom:6px}
 .px-schedule tbody td{font-size:16px;line-height:1.5}
 .px-dialog-content{padding:20px}
}
