:root{--bg:#171717;--bg-soft:#1f1f1f;--surface:#fff;--text:#171717;--text-on-dark:#f5f5f5;--muted:#5e5e5e;--border:#e2e2e2;--accent:#f15a29;--accent-2:#f7931d;--accent-soft:#fdf1ea;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow:0 1px 3px #17171714, 0 8px 24px #1717170f;--shell:480px;--gradient:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 100%);--tabbar-h:64px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{color:var(--text);-webkit-font-smoothing:antialiased;background:#0d0d0d;font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.55}#root{justify-content:center;display:flex}h1,h2,h3,.brand{font-weight:900}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5em;line-height:1.2}p{margin:0 0 1em}img{max-width:100%;display:block}.app{width:100%;max-width:var(--shell);background:var(--surface);min-height:100vh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));flex-direction:column;margin:0 auto;display:flex;position:relative}@media (width>=520px){.app{box-shadow:0 0 0 1px #ffffff0a,0 30px 80px #00000080}}.app__header{z-index:10;height:100px;padding-top:env(safe-area-inset-top,0px);background:var(--bg);border-bottom:1px solid #ffffff0f;justify-content:center;align-items:center;display:flex;position:sticky;top:0}.topnav{z-index:9;background:var(--bg-soft);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:44px;padding:0 8px;display:flex;position:sticky;top:100px}.topnav__left,.topnav__right{gap:2px;display:flex}.topnav__btn{color:#c4c4c4;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.topnav__btn:hover:not(:disabled){color:#fff;background:#ffffff14}.topnav__btn:disabled{opacity:.4;cursor:not-allowed}.topnav__btn svg{width:20px;height:20px}.topnav__btn--avatar{background:var(--accent);overflow:hidden}.topnav__btn--avatar img{object-fit:cover;width:100%;height:100%}@media (width>=520px){.topnav{top:100px}}.brand{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.brand__logo{width:auto;height:60px}.brand:hover{filter:brightness(1.08);text-decoration:none}.app__main{flex:1;width:100%}.container{max-width:100%;margin:0 auto;padding:0 18px}.tabbar{width:100%;max-width:var(--shell);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);z-index:20;border-top:1px solid #ffffff0f;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar__tab{color:#8a8a8a;letter-spacing:.02em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0;font-size:.66rem;font-weight:700;text-decoration:none;display:flex}.tabbar__tab:hover{color:#c4c4c4;text-decoration:none}.tabbar__tab.is-active{color:var(--accent-2)}.tabbar__icon{width:22px;height:22px}.tabbar__label{text-transform:uppercase}.button{border-radius:var(--radius-sm);background:var(--gradient);background-color:var(--accent);color:#fff;cursor:pointer;text-align:center;border:none;padding:13px 20px;font-weight:900;display:inline-block}.button:hover{filter:brightness(1.05);text-decoration:none}.button--ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.button-block{width:100%;display:block}.muted{color:var(--muted)}.narrow{max-width:680px}.demo-flag{left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 8px);width:calc(100% - 24px);max-width:calc(var(--shell) - 24px);text-align:center;background:var(--accent);color:#fff;z-index:15;border-radius:999px;margin:0;padding:5px 8px;font-size:.72rem;font-weight:700;position:fixed;transform:translate(-50%)}.hero{background:var(--bg);color:var(--text-on-dark);padding:40px 0 44px}.hero__kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-2);margin:0 0 12px;font-size:.72rem;font-weight:900}.hero__title{margin:0 0 14px;font-size:clamp(1.8rem,7vw,2.4rem)}.hero__lede{opacity:.85;margin:0 0 22px;font-size:1rem}.hero__actions{flex-direction:column;gap:10px;display:flex}.tiles{padding:20px 0}.tiles__grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hub__bar{margin-bottom:12px;display:flex}.auth-form{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.auth-field{flex-direction:column;gap:6px;font-size:.88rem;font-weight:900;display:flex}.auth-field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafafa;padding:12px 14px;font-family:inherit;font-size:1rem}.auth-field input:focus{border-color:var(--accent);background:#fff;outline:none}.auth-error{color:#c0392b;margin:0;font-size:.88rem}.auth-switch{color:var(--muted);margin-bottom:12px;font-size:.9rem}.link-btn{color:var(--accent);cursor:pointer;font-family:inherit;font-weight:900;font-size:inherit;background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.admin-nav{border-bottom:1px solid var(--border);gap:4px;margin-bottom:24px;padding-bottom:2px;display:flex;overflow-x:auto}.admin-nav__tab{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:10px 14px;font-size:.9rem;font-weight:900;text-decoration:none;display:inline-block}.admin-nav__tab:hover{color:var(--text);text-decoration:none}.admin-nav__tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.admin-nav__tab--disabled{opacity:.4;cursor:not-allowed}.admin-body{min-height:200px}.dir-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafafa;width:100%;margin-bottom:14px;padding:12px 16px;font-family:inherit;font-size:1rem}.dir-search:focus{border-color:var(--accent);background:#fff;outline:none}.dir-filters{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.dir-chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:900}.dir-chip.is-active{background:var(--bg);color:var(--text-on-dark);border-color:var(--bg)}.dir-count{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 10px;font-size:.78rem;font-weight:900}.dir-grid{flex-direction:column;gap:14px;display:flex}.dir-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text);background:#fff;gap:14px;padding:16px;text-decoration:none;display:flex}.dir-card:hover{text-decoration:none;transition:transform .15s;transform:translateY(-2px)}.dir-card__logo{border-radius:var(--radius-sm);background:#fafafa;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.dir-card__logo img{object-fit:contain;max-width:100%;max-height:100%}.dir-card__placeholder{color:var(--accent);font-size:1.4rem;font-weight:900}.dir-card__body{flex-direction:column;gap:4px;min-width:0;display:flex}.dir-card__title{font-size:1rem;font-weight:900;line-height:1.2}.dir-card__certs{flex-wrap:wrap;gap:4px;display:flex}.dir-card__cert{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:900}.dir-card__excerpt{color:var(--muted);font-size:.82rem;line-height:1.4}.schedule-day{margin-bottom:24px}.schedule-day__head{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);border-bottom:2px solid var(--accent);margin:0 0 10px;padding-bottom:6px;font-size:.78rem;font-weight:900}.agenda__time-end{color:var(--muted);font-size:.78em;display:block}.agenda__row--soft .agenda__title{color:var(--muted);font-weight:400}.speaker-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.speaker-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);background:#fff;flex-direction:column;display:flex;overflow:hidden}.speaker-card__photo{aspect-ratio:1;background:var(--bg);display:block;overflow:hidden}.speaker-card__photo img{object-fit:cover;width:100%;height:100%}.speaker-card__placeholder{width:100%;height:100%;color:var(--accent-2);justify-content:center;align-items:center;font-size:2rem;font-weight:900;display:flex}.speaker-card__body{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.speaker-card__name{font-size:.96rem;font-weight:900}.speaker-card__sub{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:.78rem;font-weight:900}.speaker-card__bio{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:4px;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.sponsor-list{flex-direction:column;gap:14px;display:flex}.sponsor-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text);background:#fff;gap:14px;padding:16px;text-decoration:none;display:flex}.sponsor-card:hover{text-decoration:none;transition:transform .15s;transform:translateY(-2px)}.sponsor-card__logo{border-radius:var(--radius-sm);background:#fafafa;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.sponsor-card__logo img{object-fit:contain;max-width:100%;max-height:100%}.sponsor-card__body{flex-direction:column;gap:4px;min-width:0;display:flex}.sponsor-card__name{font-size:1rem;font-weight:900}.sponsor-card__desc{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.84rem;line-height:1.4;display:-webkit-box;overflow:hidden}.sponsor-card__link{color:var(--accent);margin-top:2px;font-size:.82rem;font-weight:900}.venue{flex-direction:column;gap:14px;display:flex}.venue__photo{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--bg);width:100%;display:block;overflow:hidden}.venue__photo img{object-fit:cover;width:100%;height:100%}.venue__name{margin:0;font-size:1.4rem;font-weight:900}.venue__links{flex-wrap:wrap;gap:10px;display:flex}.info-list{flex-direction:column;gap:18px;display:flex}.info-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);background:#fff;padding:18px}.info-card__title{margin:0 0 12px;font-size:1.15rem;font-weight:900}.tile{background:var(--bg);border-radius:var(--radius-lg);aspect-ratio:1;color:var(--text-on-dark);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:14px;padding:18px;text-decoration:none;display:flex}.tile:hover{text-decoration:none;transition:transform .15s;transform:translateY(-2px)}.tile__icon{background:var(--gradient);background-color:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.tile__icon svg{color:#fff;width:22px;height:22px}.tile__label{letter-spacing:.02em;font-size:.88rem;font-weight:900;line-height:1.2}.tile--feature{background:var(--gradient);background-color:var(--accent);color:var(--bg)}.tile--feature .tile__label{color:var(--bg)}.tile--feature .tile__icon{background:var(--bg)}.tile--feature .tile__icon svg{color:var(--bg)}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);background:#fafafa;padding:48px 20px}.empty__icon{background:var(--accent-soft);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 14px;display:inline-flex}.empty__icon svg{width:28px;height:28px;color:var(--accent)}.empty p{margin:0 0 4px;font-weight:900}.empty .muted{font-size:.88rem}.news-list{flex-direction:column;gap:14px;display:flex}.events-group{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:16px 0 4px;font-size:.78rem;font-weight:900}.events-past .news-card{opacity:.78}.events-past .news-card__media{filter:grayscale(.6)}.news-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text);background:#fff;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.news-card:hover{text-decoration:none;transition:transform .15s;transform:translateY(-2px)}.news-card__media{aspect-ratio:16/9;background:var(--bg);display:block;overflow:hidden}.news-card__media img{object-fit:cover;width:100%;height:100%}.news-card__body{flex-direction:column;padding:14px 16px;display:flex}.news-card__date{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px;font-size:.7rem;font-weight:900}.news-card__title{margin-bottom:6px;font-size:1.05rem;font-weight:900;line-height:1.25}.news-card__excerpt{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.news-post{padding-top:16px}.news-post__bar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.news-post__bar--bottom{border-top:1px solid var(--border);margin-top:28px;padding-top:18px}.back-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:6px 0;font-family:inherit;font-size:.88rem;font-weight:900;text-decoration:none}.back-link:hover{text-decoration:underline}.news-post__hero{aspect-ratio:16/9;background:var(--bg);width:100%;margin-bottom:18px;display:block;overflow:hidden}.news-post__hero img{object-fit:cover;width:100%;height:100%}.news-post__meta{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 10px;font-size:.7rem;font-weight:900}.news-post__title{margin:0 0 18px;font-size:clamp(1.5rem,6vw,2rem)}.wp-content{color:#2a2a2a;font-size:1rem;line-height:1.65}.wp-content p{margin:0 0 1em}.wp-content h2,.wp-content h3{margin-top:1.4em;font-weight:900}.wp-content img{border-radius:var(--radius-sm);max-width:100%;height:auto;margin:1em 0}.wp-content a{color:var(--accent);text-decoration:underline}.wp-content ul,.wp-content ol{margin-bottom:1em;padding-left:1.3rem}.wp-content blockquote{border-left:4px solid var(--accent);color:var(--muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fafafa;margin:1em 0;padding:.4em 1em;font-style:italic}.wp-content figure{margin:1em 0}.wp-content figcaption{color:var(--muted);text-align:center;font-size:.82rem}.wp-content iframe{border-radius:var(--radius-sm);max-width:100%}.intro{border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fafafa;margin-bottom:28px;padding:14px 16px}.intro p{margin:0 0 10px}.intro p:last-child{margin:0}.card__meta{color:var(--muted);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.card__meta strong{color:var(--text)}.pdf{margin-top:14px}.pdf__actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.pdf__frame{border-radius:var(--radius-sm);border:1px solid var(--border);background:#fafafa;width:100%;min-height:70vh;display:block}.section{padding:32px 0}.section+.section{border-top:1px solid var(--border)}.section__kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 8px;font-size:.72rem;font-weight:900}.section__title{margin:0 0 18px;font-size:clamp(1.4rem,6vw,1.9rem)}.section__title:after{content:"."}.cards{grid-template-columns:1fr;gap:14px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);background:#fff;padding:18px}.card h3{margin:0 0 8px;font-size:1.05rem}.card p{color:var(--muted);margin:0 0 12px}.card--feature{border-color:var(--accent);background:var(--accent-soft)}.card__badge{background:var(--gradient);background-color:var(--accent);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:.68rem;font-weight:900;display:inline-block}.bullets{padding-left:1.2rem}.bullets li{margin-bottom:8px}.day-toggle{border-radius:var(--radius-sm);background:#1717170d;gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.day-toggle__btn{color:var(--muted);cursor:pointer;font-weight:900;font:inherit;background:0 0;border:none;border-radius:6px;padding:8px 16px}.day-toggle__btn.is-active{background:var(--bg);color:var(--text-on-dark);box-shadow:var(--shadow)}.agenda{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.agenda__row{border-bottom:1px solid var(--border);grid-template-columns:70px 1fr;gap:12px;padding:14px 0;display:grid}.agenda__time{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:900}.agenda__title{margin:0 0 4px;font-size:1rem}.agenda__meta{color:var(--muted);margin:0;font-size:.88rem}
