:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f5f7fb;min-width:320px;margin:0}body.dialog-open{overflow:hidden}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #7c3aed}.site-header{color:#fff;background:#111827;padding:48px 24px}.header-inner{justify-content:space-between;align-items:flex-end;gap:40px;max-width:1200px;margin:0 auto;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#7c3aed;margin:0 0 8px;font-size:.75rem;font-weight:800}.site-header .eyebrow{color:#c4b5fd}.site-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:.95}.header-description{color:#cbd5e1;max-width:600px;margin:20px 0 0;line-height:1.7}.conference-meta{text-align:right;color:#cbd5e1;flex-direction:column;gap:8px;font-size:.9rem;display:flex}.main-content{max-width:1200px;margin:0 auto;padding:48px 24px 80px}.schedule-controls{justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px;display:flex}.schedule-controls h2,.schedule-intro h2{letter-spacing:-.03em;margin:0;font-size:1.8rem}.day-selector{gap:10px;display:flex}.day-button{color:#172033;cursor:pointer;text-align:left;background:#fff;border:1px solid #d8dee9;border-radius:12px;flex-direction:column;gap:3px;padding:12px 18px;transition:background .2s,color .2s,border-color .2s;display:flex}.day-button:hover{border-color:#7c3aed}.day-button.active{color:#fff;background:#7c3aed;border-color:#7c3aed}.day-button small{opacity:.75}.schedule-intro{justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;display:flex}.schedule-intro>p{color:#64748b;text-align:right;max-width:380px;margin:0;line-height:1.6}.desktop-schedule{background:#fff;border:1px solid #dfe4ec;border-radius:18px;overflow:hidden}.schedule-header,.schedule-grid{grid-template-columns:100px repeat(3,minmax(0,1fr));display:grid}.schedule-header{background:#f8fafc;border-bottom:1px solid #dfe4ec}.time-column-heading,.track-column-heading{padding:20px}.time-column-heading{color:#64748b;font-size:.7rem;font-weight:800}.track-column-heading{border-left:1px solid #dfe4ec;flex-direction:column;gap:4px;display:flex}.track-column-heading strong{font-size:.95rem}.track-column-heading span{color:#64748b;font-size:.8rem}.time-column{background:#f8fafc}.time-slot{color:#64748b;border-bottom:1px solid #e5e7eb;min-height:178px;padding:22px 12px;font-size:.78rem;font-weight:700}.time-slot:last-child{border-bottom:0}.track-column{border-left:1px solid #dfe4ec}.session-card{border-bottom:1px solid #e5e7eb;min-height:178px;padding:18px}.track-column .session-card:last-child{border-bottom:0}.session-time{color:#64748b;gap:4px;margin-bottom:10px;font-size:.75rem;font-weight:700;display:flex}.session-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0}.session-button:hover h3{color:#7c3aed}.session-type{color:#6d28d9;letter-spacing:.04em;text-transform:uppercase;background:#ede9fe;border-radius:999px;margin-bottom:8px;padding:4px 8px;font-size:.68rem;font-weight:800;display:inline-block}.session-button h3{margin:0;font-size:1rem;line-height:1.3;transition:color .2s}.speaker{color:#334155;margin:10px 0 4px;font-size:.85rem;font-weight:600}.session-location{color:#64748b;font-size:.75rem}.view-details{color:#7c3aed;margin-top:14px;font-size:.78rem;font-weight:800;display:block}.track-selector,.mobile-schedule{display:none}.dialog-backdrop{z-index:100;background:#0f172ab3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.session-dialog{background:#fff;border-radius:20px;width:min(620px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 30px 80px #0f172a4d}.dialog-top{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.close-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #d8dee9;border-radius:50%;width:42px;height:42px;font-size:1.6rem;line-height:1}.close-button:hover{background:#f1f5f9}.dialog-content{padding:30px}.dialog-time{color:#7c3aed;margin:0 0 10px;font-size:.85rem;font-weight:800}.dialog-content h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.1}.dialog-speaker{color:#334155;flex-direction:column;gap:3px;margin:22px 0;display:flex}.dialog-speaker span{color:#64748b;font-size:.9rem}.dialog-description{color:#475569;margin:0;line-height:1.75}.session-info{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 0;display:grid}.session-info div{background:#f8fafc;border-radius:12px;padding:14px}.session-info dt{color:#64748b;text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:800}.session-info dd{margin:0;font-size:.85rem;font-weight:700}@media (width<=767px){.site-header{padding:34px 18px}.header-inner{display:block}.site-header h1{font-size:2.5rem}.conference-meta{text-align:left;margin-top:24px}.main-content{padding:34px 16px 60px}.schedule-controls{margin-bottom:30px;display:block}.day-selector{margin-top:18px}.day-button{flex:1}.schedule-intro{display:block}.schedule-intro>p{text-align:left;margin-top:12px}.desktop-schedule{display:none}.track-selector{margin-bottom:24px;display:block}.track-selector-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.75rem;font-weight:800;display:block}.track-buttons{grid-template-columns:1fr;gap:8px;display:grid}.track-button{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8dee9;border-radius:12px;width:100%;padding:13px 15px}.track-button.active{color:#fff;background:#7c3aed;border-color:#7c3aed}.track-button span,.track-button small{display:block}.track-button span{font-weight:800}.track-button small{opacity:.75;margin-top:3px}.mobile-schedule{display:block}.mobile-track-heading{margin-bottom:18px}.mobile-track-heading h2{margin:0;font-size:1.4rem}.mobile-session-list{flex-direction:column;gap:12px;display:flex}.mobile-session-list .session-card{background:#fff;border:1px solid #dfe4ec;border-radius:16px;min-height:0;padding:18px}.session-button h3{font-size:1.05rem}.dialog-backdrop{align-items:end;padding:0}.session-dialog{border-radius:20px 20px 0 0;max-height:92vh}.dialog-content{padding:24px 20px 30px}.session-info{grid-template-columns:1fr}}@media (width<=380px){.site-header h1{font-size:2.1rem}.main-content{padding-left:12px;padding-right:12px}.day-selector{gap:6px}.day-button{padding:10px 12px}.session-card{padding:15px}}
