.app-shell { min-height:100vh; background:radial-gradient(circle at 80% 0,#06203d 0,transparent 32rem),var(--black); }
.noscript-message { position:relative; z-index:30; width:min(calc(100% - 2rem),46rem); margin:1rem auto; border:1px solid rgba(98,179,255,.5); border-radius:var(--radius); background:linear-gradient(145deg,rgba(17,31,48,.96),rgba(7,17,31,.96)); box-shadow:inset 0 1px rgba(255,255,255,.08),var(--glow); padding:clamp(1rem,4vw,1.5rem); }
.noscript-message h1 { margin:0; font-size:clamp(1.35rem,5vw,2rem); line-height:1.15; }
.noscript-message p { margin:.75rem 0 0; color:var(--text-soft); line-height:1.6; }
.event-hero { position:relative; min-height:15rem; overflow:hidden; }
.event-hero__media,.event-hero__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.event-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 20%,var(--black)); }
.event-hero__content { position:relative; z-index:1; padding:9rem 1rem 1rem; }
.event-hero__title { max-width:12ch; font-size:clamp(2rem,9vw,4rem); font-weight:900; line-height:.95; margin:.5rem 0; }
.eyebrow { color:#62b3ff; font-size:.75rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.day-tabs { position:sticky; top:env(safe-area-inset-top,0px); z-index:20; display:grid; grid-template-columns:repeat(3,1fr); gap:.25rem; min-height:4.125rem; padding:.5rem max(.5rem,env(safe-area-inset-right,0px)) .5rem max(.5rem,env(safe-area-inset-left,0px)); background:rgba(2,4,8,.86); backdrop-filter:blur(16px); }
.day-tab { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:.8rem .25rem; font-size:.72rem; }
.day-tab[aria-selected="true"] { background:rgba(0,119,255,.35); border-color:var(--blue); }
.trail-view { width:min(100% - 2rem,46rem); margin:0 auto; padding:2rem 0 6rem; }
.trail-heading h1 { font-size:clamp(2rem,8vw,3.5rem); line-height:1; }
.session-list { display:grid; gap:.75rem; }
.session-card { border:1px solid var(--line); border-radius:var(--radius); background:rgba(17,31,48,.34); overflow:hidden; }
.session-card__button,.session-card--agenda { width:100%; text-align:left; border:0; background:transparent; padding:1rem; }
.session-card__button > * { display:block; }
.session-card__button strong { margin:.35rem 0; font-size:1rem; }
.session-card__button small,.session-card--agenda p { color:var(--muted); }
.session-card--locked { opacity:.58; }
.session-card--live { border-color:var(--blue); box-shadow:0 0 2rem rgba(0,120,255,.18); }
.session-card__status,.session-card__id { color:#61b0ff; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.continue-card,.refresh-button { border:1px solid var(--blue); border-radius:14px; background:#073d78; padding:.9rem 1rem; margin:0 0 1rem; }
.continue-card span,.continue-card strong { display:block; }
.toast { position:fixed; left:50%; bottom:max(1rem,env(safe-area-inset-bottom,0px)); z-index:50; translate:-50% 0; width:min(90%,28rem); border:1px solid var(--blue); border-radius:14px; background:#07111f; padding:1rem; }
.refresh-button { position:fixed; right:max(1rem,env(safe-area-inset-right,0px)); bottom:max(1rem,env(safe-area-inset-bottom,0px)); z-index:30; margin:0; }
.site-footer { padding:2rem; color:var(--muted); text-align:center; }
.reader-view { width:min(100% - 2rem,48rem); margin:0 auto; padding:2rem 0 7rem; }
.reader-sidebar { display:none; }
.reader-sidebar nav { display:grid; gap:.35rem; }
.reader-sidebar button { border:1px solid transparent; border-radius:10px; background:transparent; color:var(--muted); padding:.65rem; text-align:left; }
.reader-sidebar button[aria-current="page"] { border-color:var(--blue); background:rgba(0,115,240,.2); color:white; }
.reader-back { border:0; background:transparent; color:#61b0ff; padding:.5rem 0; }
.reader-header h1 { font-size:clamp(2.4rem,10vw,5rem); line-height:.96; margin:1rem 0; }
.reader-meta { color:var(--muted); }
.chapter-content { color:#c9d0da; font-size:1.05rem; line-height:1.75; }
.chapter-content h2,.chapter-content h3 { color:var(--text); line-height:1.15; margin-top:2em; }
.chapter-content img { display:block; width:100%; height:auto; border-radius:var(--radius); }
.chapter-content a { color:#69b5ff; }
.resource-link { display:inline-flex; border:1px solid var(--blue); border-radius:12px; padding:.8rem 1rem; text-decoration:none; background:rgba(0,115,240,.18); }
.code-block { position:relative; margin:1.5rem 0; border:1px solid #20324a; border-radius:14px; overflow:hidden; background:#090e15; }
.code-block pre { margin:0; padding:2.8rem 1rem 1rem; overflow:auto; }
.copy-button { position:absolute; top:.5rem; right:.5rem; z-index:1; border:1px solid #31527a; border-radius:8px; background:#0e1722; padding:.4rem .7rem; }
.reader-nav { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:3rem; }
.reader-nav__button { min-height:4rem; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:.8rem; }
.reader-error { border:1px solid #b44; border-radius:14px; padding:1rem; }
.app-shell::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(0,126,255,.18),transparent 28rem),radial-gradient(circle at 5% 55%,rgba(0,73,160,.08),transparent 25rem); }
.event-hero { min-height:clamp(18rem,58vw,34rem); }
.event-hero__media img { filter:saturate(1.06) contrast(1.04); }
.event-hero::after { background:linear-gradient(180deg,rgba(2,4,8,.05) 15%,rgba(2,4,8,.28) 55%,var(--black) 98%); }
.event-hero__content { padding-bottom:2rem; }
.day-tabs { width:min(calc(100% - 1rem),46rem); margin:-.25rem auto 0; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
.day-tab { min-height:3rem; color:var(--muted); transition:border-color .2s,background .2s,color .2s; }
.day-tab[aria-selected="true"] { color:white; background:linear-gradient(135deg,rgba(0,115,236,.72),rgba(4,48,98,.62)); box-shadow:inset 0 1px rgba(255,255,255,.12),var(--glow); }
.session-card { position:relative; backdrop-filter:blur(18px); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.session-card::after { content:""; position:absolute; width:8rem; height:8rem; right:-6rem; top:-6rem; border-radius:50%; background:var(--blue); filter:blur(2.7rem); opacity:.08; pointer-events:none; }
.session-card--available { border-color:rgba(83,158,231,.28); }
.session-card--live { background:linear-gradient(145deg,var(--glass-strong),rgba(8,19,32,.62)); }
.session-card--summary,.session-card--closing { background:linear-gradient(145deg,rgba(7,70,139,.34),rgba(8,18,30,.62)); }
.session-card__button { position:relative; z-index:1; min-height:7.8rem; }
.session-card__button:disabled { opacity:1; }
.continue-card { width:100%; color:white; text-align:left; box-shadow:var(--glow); }
.reader-view { position:relative; }
.reader-header { padding-bottom:1rem; border-bottom:1px solid var(--line); scroll-margin-top:calc(5rem + env(safe-area-inset-top,0px)); }
.chapter-content { max-width:var(--content); }
.chapter-content blockquote { margin:1.5rem 0; border-left:3px solid var(--blue); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--glass); padding:1rem 1.2rem; color:var(--text-soft); }
.chapter-content table { display:block; width:100%; overflow:auto; border-collapse:collapse; }
.chapter-content th,.chapter-content td { border:1px solid var(--line); padding:.7rem; }
.refresh-button { color:white; box-shadow:var(--glow); }
