:root { --navy:#1c244b; --navy-deep:#101737; --teal:#21b9c4; --teal-pale:#dff8f7; --yellow:#ffd200; --paper:#f9fafd; --ink:#172044; --muted:#59637d; --line:#d9deea; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Poppins,Arial,sans-serif; font-size:16px; }
button,a { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
.hero-shell { overflow:hidden; position:relative; color:white; min-height:690px; padding:25px max(5vw,34px) 58px; background:linear-gradient(122deg,var(--navy-deep) 0%,var(--navy) 63%,#263060 100%); }
.hero-shell::before { content:""; position:absolute; inset:0; opacity:.24; background:radial-gradient(ellipse 48% 55% at 93% 15%,#54d8db 0%,transparent 70%),radial-gradient(ellipse 50% 70% at 63% 115%,#36569a 0%,transparent 75%); }
.topbar,.hero-grid,.waterline { position:relative; z-index:1; max-width:1240px; margin:auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; text-transform:uppercase; font:600 11px/1.16 Poppins,sans-serif; letter-spacing:.1em; }
.brand-logo { width:clamp(118px,12vw,158px); }
.brand-logo img { display:block; width:100%; height:auto; border-radius:3px; }
.brand b { color:var(--yellow); font-size:14px; }
.brand-mark { display:flex; align-items:end; gap:3px; height:33px; padding-bottom:1px; }
.brand-mark i { display:block; width:7px; background:var(--teal); border-radius:8px 8px 2px 2px; transform:skewY(-22deg); }.brand-mark i:nth-child(1){height:16px}.brand-mark i:nth-child(2){height:27px;background:#fff}.brand-mark i:nth-child(3){height:22px;background:var(--yellow)}
.nav-meta { color:#c9d4ef; font-size:13px; }.dot,.status span { display:inline-block; width:8px; height:8px; margin-right:8px; background:var(--teal); border-radius:100%; box-shadow:0 0 0 5px rgba(33,185,196,.16); }.sep { color:#5c6b96; padding:0 8px; }.avatar { width:38px; height:38px; border:1px solid rgba(255,255,255,.4); color:white; background:rgba(255,255,255,.12); border-radius:50%; font-size:12px; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 335px; align-items:center; gap:80px; padding:112px 0 82px; }.intro { max-width:700px; }.status { color:#b8eef0; font-size:13px; font-weight:600; letter-spacing:.06em; }.status span { width:7px; height:7px; }.intro h1,.section-heading h2,.program h2,.proof h2,.dialog-copy h2 { font-family:Poppins,Arial,sans-serif; letter-spacing:-.03em; }.intro h1 { max-width:700px; margin:16px 0 22px; font-size:clamp(44px,5.2vw,76px); line-height:.98; }.lede { max-width:620px; color:#d4dcef; font-size:17px; line-height:1.75; }.actions { display:flex; gap:13px; margin-top:32px; flex-wrap:wrap; }.button { min-height:50px; display:inline-flex; align-items:center; gap:18px; border-radius:4px; padding:0 20px; font-size:14px; font-weight:600; }.primary { color:var(--navy); background:var(--yellow); }.primary:hover { background:#ffe166; }.button b,.room-foot b { font-size:20px; line-height:0; }.quiet { color:white; border:1px solid rgba(255,255,255,.35); background:transparent; }.quiet:hover { background:rgba(255,255,255,.1); }
.event-card { padding:28px 28px 23px; color:var(--navy); background:#fff; border-radius:3px; box-shadow:0 24px 50px rgba(0,0,0,.22); }.event-card>p,.section-label,.room-body>p,.slot span { margin:0 0 6px; color:#66708a; text-transform:uppercase; font:700 11px Poppins,sans-serif; letter-spacing:.14em; }.event-card strong { font:700 18px Poppins,sans-serif; letter-spacing:-.03em; }.card-rule { height:1px; margin:22px 0 7px; background:var(--line); }.event-card dl { margin:0; }.event-card dl div { display:grid; grid-template-columns:72px 1fr; padding:12px 0; }.event-card dt { color:#66708a; font:600 12px Poppins,sans-serif; }.event-card dd { margin:0; font-size:13px; font-weight:600; }.calendar { width:100%; display:flex; justify-content:space-between; margin-top:17px; border:0; border-top:1px solid var(--line); padding:16px 0 0; color:var(--teal); background:transparent; text-align:left; font-size:12px; font-weight:700; }.calendar span { font-size:22px; font-weight:400; line-height:.6; }.waterline { height:32px; margin-bottom:-58px; opacity:.7; }.waterline span { position:absolute; height:2px; width:53%; border-radius:100%; border-top:2px solid #5bd7df; transform:rotate(-2deg); }.waterline span:nth-child(1){left:-15%;top:4px}.waterline span:nth-child(2){left:28%;top:15px;opacity:.56}.waterline span:nth-child(3){left:65%;top:27px;opacity:.33}
.live-section,.program,.proof { max-width:1240px; margin:auto; padding-left:max(5vw,34px); padding-right:max(5vw,34px); }.live-section { padding-top:87px; padding-bottom:96px; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:31px; }.section-heading h2,.program h2 { margin:5px 0 0; font-size:clamp(31px,3.1vw,45px); line-height:1; }.time { margin:0; padding-bottom:3px; color:var(--muted); font-size:13px; }.time b { color:var(--teal); padding:0 6px; }.room-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:20px; }.room { overflow:hidden; background:white; border-radius:14px; box-shadow:0 11px 29px rgba(22,32,68,.07); }.room-art { position:relative; height:190px; overflow:hidden; background:#d6e9e9; }.feature .room-art { height:260px; }.keynote { background:linear-gradient(130deg,#154163,#0b1c4d); }.keynote::after { content:""; position:absolute; width:165%; height:95%; bottom:-68%; left:-34%; border-radius:50%; background:#68d3d2; transform:rotate(-8deg); opacity:.9; }.screen-copy { position:absolute; z-index:1; top:26px; left:28px; }.screen-copy span { display:block; color:var(--yellow); font:700 11px Poppins,sans-serif; letter-spacing:.17em; }.screen-copy b { display:block; margin-top:13px; font:700 29px/1 Poppins,sans-serif; letter-spacing:-.03em; }.live-badge { position:absolute; z-index:2; top:17px; right:17px; display:inline-flex; align-items:center; gap:6px; padding:6px 8px; color:white; background:#e95150; border-radius:3px; font:700 11px Poppins,sans-serif; letter-spacing:.13em; }.live-badge::before { content:""; width:5px; height:5px; background:white; border-radius:50%; }.blue { background:#8ccbd3; }.abstract-river { position:absolute; inset:-12% -20%; background:repeating-radial-gradient(ellipse at 60% 70%,transparent 0 34px,#257b99 37px 43px,transparent 46px 75px); transform:rotate(-14deg); }.yellow { background:var(--yellow); }.rain-dots { width:120%; height:120%; background:radial-gradient(#1c244b 2px,transparent 3px); background-size:25px 25px; transform:rotate(-10deg); }.room-body { padding:21px 21px 17px; }.room-body h3 { min-height:56px; margin:8px 0 16px; font:700 18px/1.22 Poppins,sans-serif; letter-spacing:-.035em; }.room-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:13px; border-top:1px solid var(--line); color:#68718a; font-size:11px; }.room-foot button { border:0; padding:0; color:var(--teal); background:transparent; font-size:11px; font-weight:700; }.room-foot button:hover { color:#0b8e99; }
.program { display:grid; grid-template-columns:.85fr 1.5fr; gap:12vw; padding-top:80px; padding-bottom:105px; border-top:1px solid var(--line); }.program-intro>p:last-child { max-width:315px; color:var(--muted); line-height:1.7; }.timeline { border-top:1px solid var(--line); }.slot { display:grid; grid-template-columns:72px 1fr auto; gap:17px; padding:24px 0; border-bottom:1px solid var(--line); }.slot time { color:var(--navy); font:700 18px Poppins,sans-serif; letter-spacing:-.04em; }.slot h3 { margin:3px 0 6px; font:700 18px Poppins,sans-serif; letter-spacing:-.035em; }.slot p { margin:0; color:var(--muted); font-size:13px; }.slot em { align-self:center; color:#778096; font:600 11px Poppins,sans-serif; font-style:normal; }.slot.current { position:relative; }.slot.current::before { content:""; position:absolute; left:-17px; top:0; bottom:0; width:3px; background:var(--teal); }.slot.current em { color:#0d9ca7; }.proof { display:flex; align-items:flex-start; gap:28px; padding-top:64px; padding-bottom:68px; color:white; background:var(--navy); max-width:none; padding-left:max(calc((100vw - 1240px)/2 + 5vw),max(5vw,34px)); padding-right:max(calc((100vw - 1240px)/2 + 5vw),max(5vw,34px)); }.proof-icon { flex:0 0 52px; display:grid; place-items:center; width:52px; height:52px; color:var(--navy); background:var(--yellow); border-radius:50%; font-size:26px; }.proof h2 { max-width:650px; margin:0; font-size:30px; letter-spacing:-.04em; }.proof p { max-width:780px; margin:12px 0 0; color:#d1daf1; font-size:14px; line-height:1.75; }
dialog { width:min(790px,calc(100vw - 32px)); overflow:hidden; padding:0; color:var(--ink); border:0; border-radius:14px; box-shadow:0 30px 100px rgba(0,0,0,.5); }dialog::backdrop { background:rgba(8,12,31,.72); backdrop-filter:blur(4px); }.close { position:absolute; z-index:3; top:13px; right:14px; width:35px; height:35px; color:white; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(0,0,0,.2); font-size:25px; line-height:1; }.player-surface { position:relative; display:grid; min-height:360px; place-content:center; padding:45px; color:white; text-align:center; background:radial-gradient(circle at center,#284a83 0%,#121938 60%); }.player-surface .live-badge { top:20px; right:20px; }.player-placeholder { display:grid; place-content:center; }.player-surface mux-player { width:min(100%,720px); aspect-ratio:16/9; background:#101737; }.play-orb { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 20px; padding-left:4px; color:var(--navy); border-radius:50%; background:var(--yellow); font-size:20px; }.player-surface p { margin:0; font:700 25px Poppins,sans-serif; letter-spacing:-.04em; }.player-surface small { display:block; margin-top:11px; color:#bdc9e9; }.dialog-copy { padding:29px 34px 33px; }.dialog-copy h2 { margin:4px 0 8px; font-size:28px; }.dialog-copy>p:last-child { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }.toast { position:fixed; z-index:9; right:22px; bottom:22px; max-width:330px; padding:14px 17px; color:white; border-radius:6px; background:var(--navy); box-shadow:0 12px 34px rgba(12,18,46,.28); font-size:13px; opacity:0; transform:translateY(13px); pointer-events:none; transition:opacity .22s ease,transform .22s ease; }.toast.visible { opacity:1; transform:none; }
::selection { color:var(--navy); background:var(--yellow); } :focus-visible { outline:3px solid var(--yellow); outline-offset:4px; } ::-webkit-scrollbar { width:11px; } ::-webkit-scrollbar-thumb { background:#9ba5bd; border:3px solid var(--paper); border-radius:10px; }
@media (max-width:820px) { .hero-shell{min-height:auto}.topbar{align-items:flex-start}.nav-meta{display:none}.hero-grid{grid-template-columns:1fr;gap:38px;padding:78px 0 58px}.event-card{max-width:440px}.room-grid{grid-template-columns:1fr 1fr}.feature{grid-column:span 2}.program{grid-template-columns:1fr;gap:35px}.program-intro>p:last-child{max-width:620px}.proof{padding-top:52px;padding-bottom:54px} }
@media (max-width:560px) { .hero-shell{padding-left:22px;padding-right:22px}.intro h1{font-size:45px}.lede{font-size:15px}.event-card{padding:23px}.room-grid{grid-template-columns:1fr}.feature{grid-column:auto}.feature .room-art{height:210px}.room-art{height:170px}.section-heading{display:block}.time{margin-top:13px}.live-section,.program{padding-left:22px;padding-right:22px}.live-section{padding-top:59px;padding-bottom:62px}.program{padding-top:59px;padding-bottom:68px}.slot{grid-template-columns:55px 1fr}.slot em{grid-column:2}.proof{gap:18px;padding-left:22px;padding-right:22px}.proof-icon{flex-basis:40px;width:40px;height:40px;font-size:20px}.proof h2{font-size:25px}.player-surface{min-height:280px;padding:35px 24px}.player-surface p{font-size:20px}.dialog-copy{padding:24px}.actions .button{width:100%;justify-content:space-between}.quiet{justify-content:center!important} }
.compact { min-height:0; padding-bottom:0; }.portal-intro { position:relative; z-index:1; max-width:1240px; margin:auto; padding:78px 0 69px; }.portal-intro h1 { margin:12px 0; font:700 clamp(40px,5vw,64px)/1 Poppins,sans-serif; letter-spacing:-.03em; }.portal-intro .lede { margin-bottom:0; }.user-menu { display:flex; align-items:center; gap:11px; color:#d4dcef; font-size:12px; }.room-art .screen-copy { top:auto; bottom:22px; left:21px; right:21px; }.room-art .screen-copy b { font-size:19px; }.room-art.breakout-a { background:linear-gradient(135deg,#167a96,#8ccbd3); }.room-art.breakout-b { background:linear-gradient(135deg,#ffd200,#f6ac2f); }.room-art.lobby { background:linear-gradient(135deg,#37528b,#1c244b); }.live-badge.muted { background:#6e7690; }.room-foot button:disabled { color:#8a93aa; cursor:not-allowed; }.staff-panel { display:flex; justify-content:space-between; align-items:center; gap:24px; max-width:1172px; margin:0 auto 74px; padding:32px 36px; border:1px solid var(--line); border-radius:13px; background:#eef5f8; }.staff-panel h2 { margin:5px 0 6px; font:700 25px Poppins,sans-serif; letter-spacing:-.04em; }.staff-panel p:last-child { margin:0; color:var(--muted); font-size:13px; }.quiet-dark { border:1px solid var(--navy); color:white; background:var(--navy); }.signin-shell { min-height:100vh; display:grid; grid-template-columns:minmax(380px,1fr) minmax(360px,.8fr); background:#fff; }.signin-panel { width:min(100%,525px); padding:clamp(34px,8vw,110px) 48px; margin:auto; }.signin-panel .brand { color:var(--navy); }.signin-panel .eyebrow { margin:90px 0 12px; color:var(--teal); text-transform:uppercase; font:700 11px Poppins,sans-serif; letter-spacing:.14em; }.signin-panel h1 { margin:0 0 12px; color:var(--navy); font:700 clamp(38px,4vw,57px)/1 Poppins,sans-serif; letter-spacing:-.03em; }.signin-panel>p:not(.eyebrow) { color:var(--muted); line-height:1.7; }.signin-panel form { display:grid; gap:16px; margin:32px 0 20px; }.signin-panel label { display:grid; gap:7px; color:var(--navy); font:600 12px Poppins,sans-serif; }.signin-panel input,#chat-body { width:100%; border:1px solid #bdc5d6; border-radius:4px; padding:13px 14px; color:var(--ink); background:#fff; font:15px Poppins,sans-serif; }.signin-panel input:focus,#chat-body:focus { outline:3px solid rgba(33,185,196,.25); border-color:var(--teal); }.signin-panel form .button { justify-content:space-between; border:0; margin-top:5px; }.signin-panel small { color:#737d95; font-size:11px; }.signin-art { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; min-height:460px; padding:64px; color:white; background:linear-gradient(145deg,#101737,#1c244b 55%,#30626f); }.signin-art::before { content:""; position:absolute; left:-16%; right:-25%; bottom:-34%; height:72%; border:2px solid rgba(141,235,236,.6); border-radius:50%; box-shadow:0 -46px 0 -1px rgba(33,185,196,.25),0 -92px 0 -1px rgba(33,185,196,.18); transform:rotate(-10deg); }.signin-art>* { position:relative; }.signin-art p { color:var(--yellow); text-transform:uppercase; font:700 11px Poppins,sans-serif; letter-spacing:.15em; }.signin-art h2 { max-width:470px; margin:10px 0 0; font:700 clamp(34px,4vw,59px)/.98 Poppins,sans-serif; letter-spacing:-.03em; }.form-error { margin:0; color:#be3737; font-size:13px; }.chat { min-height:100px; max-height:200px; overflow:auto; margin:18px 0 12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.chat p { display:grid; grid-template-columns:105px 1fr; gap:8px; margin:0; padding:9px 0; font-size:12px; }.chat b { color:var(--navy); }.chat span { color:var(--muted); }.empty-chat { display:block!important; color:#7a849a; font-style:italic; }.dialog-copy form { display:flex; gap:8px; }.dialog-copy form button { border:0; padding:0 17px; color:var(--navy); background:var(--yellow); border-radius:4px; font-weight:700; }.staff-dialog { width:min(490px,calc(100vw - 32px)); padding:30px; border:0; border-radius:13px; box-shadow:0 20px 70px #0004; }.staff-dialog h2 { margin:0 0 18px; font:700 28px Poppins,sans-serif; }.staff-dialog ul { margin:8px 0 22px; padding:0; list-style:none; }.staff-dialog li { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px; }.control-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; }.control-row span { display:grid; gap:3px; font-size:13px; }.control-row small { color:var(--muted); }.control-row select { padding:8px; border:1px solid var(--line); border-radius:4px; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:760px) { .signin-shell { grid-template-columns:1fr; }.signin-art { display:none; }.signin-panel { padding:54px 26px; }.signin-panel .eyebrow { margin-top:70px; }.staff-panel { margin:0 22px 58px; padding:25px; align-items:flex-start; flex-direction:column; }.chat p { grid-template-columns:1fr; gap:2px; } }
.room-grid.live-only { grid-template-columns:minmax(0,1fr); max-width:1000px; }
.room-grid.live-only .room-art { height:260px; }
.signin-art { isolation:isolate; background:linear-gradient(145deg,rgba(9,31,67,.9),rgba(13,66,97,.78)),url('/brand/powc-field-session.jpg') center/cover; }
.support-link { display:inline-block; margin-top:24px; color:var(--teal); font-weight:700; font-size:13px; }
.proof a { color:var(--yellow); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.player-surface iframe#mux-player { width:min(100%,720px); aspect-ratio:16/9; border:0; background:#101737; }
dialog { max-height:calc(100dvh - 32px); overflow:auto; }
@media (max-height:820px) { .player-surface { min-height:0; padding:24px; }.player-surface iframe#mux-player { height:min(46dvh,405px)!important; }.dialog-copy { padding:20px 28px 24px; }.chat { min-height:70px; max-height:130px; } }
.player-surface video#mux-player { width:100%; max-width:820px; aspect-ratio:16/9; background:#070b18; }
.staff-dialog { width:min(760px,calc(100vw - 32px)); }.staff-dialog>p { margin:0 0 22px; color:var(--muted); font-size:13px; line-height:1.55; }.controls { border-top:1px solid var(--line); }.control-row { display:grid; grid-template-columns:minmax(125px,1fr) 112px minmax(160px,1.25fr) auto; align-items:end; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }.control-row>div { display:grid; gap:3px; font-size:13px; }.control-row label { display:grid; gap:5px; color:var(--muted); font:600 11px Poppins,sans-serif; letter-spacing:.04em; }.control-row select,.control-row input { min-width:0; padding:9px; border:1px solid var(--line); border-radius:4px; color:var(--ink); background:white; font:13px Poppins,sans-serif; }.save-room,.chat-action { border:0; border-radius:4px; color:var(--navy); background:var(--yellow); font-weight:700; }.save-room { min-height:37px; padding:0 12px; }.chat-action { margin-left:7px; padding:4px 7px; font-size:11px; }.chat-action:last-child { color:white; background:var(--navy); }.empty-state { color:var(--muted); font-size:15px; }
@media (max-width:700px) { .staff-dialog { padding:26px 20px; }.control-row { grid-template-columns:1fr 1fr; align-items:end; }.holding-label { grid-column:span 2; }.save-room { width:100%; } }

/* Stormwater Hawaiʻi affiliation: colors and Poppins from the public parent site. */
:root { --navy:#183e49; --navy-deep:#10313b; --teal:#21b9c4; --teal-dark:#12656d; --teal-pale:#e8f7f7; --yellow:#fbe16a; --paper:#fafcfb; --ink:#183e49; --muted:#526970; --line:#d5e3e3; }
.site-affiliation { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding:18px max(5vw,34px); background:white; border-bottom:1px solid var(--line); }
.site-affiliation a { font-size:23px; line-height:1.25; font-weight:600; letter-spacing:-.03em; color:var(--teal-dark); }
.site-affiliation a:hover { text-decoration:underline; text-underline-offset:5px; }
.site-affiliation span { color:var(--muted); font-size:12px; }
.signin-shell { min-height:calc(100dvh - 76px); }
.signin-panel { padding-top:64px; padding-bottom:64px; }
.signin-panel .brand-logo { width:176px; margin-bottom:48px; }
.signin-panel h1 { font-size:clamp(36px,3.8vw,52px); line-height:1.13; }
.signin-panel small { color:var(--muted); font-size:12px; line-height:1.7; }
.signin-art { background:linear-gradient(0deg,rgba(10,54,61,.9),rgba(10,54,61,.12)),url('/brand/powc-field-session.jpg') center/cover; }
.signin-art::before { display:none; }
.signin-art h2 { font-size:clamp(34px,3.7vw,54px); line-height:1.12; }
.signin-art p { text-transform:none; font-size:13px; letter-spacing:0; }
.primary { background:var(--teal); color:#10313b; }
.primary:hover { background:#70d4da; }
.hero-shell { background:var(--navy); }
.hero-shell::before { display:none; }
.portal-intro { padding-top:52px; padding-bottom:54px; }
.portal-intro h1 { line-height:1.12; }
.nav-meta,.user-menu,.lede { color:#e0f2f1; }
.room-grid.live-only { max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); }
.room-grid.live-only .room-art { height:190px; }
.room-art { background:var(--teal-pale); }
.room-art.breakout-a { background:#c7eded; }
.room-art.breakout-b { background:#faedb2; }
.room-art.lobby { background:#d9e9e7; }
.screen-copy span { color:var(--teal-dark); letter-spacing:.03em; }
.screen-copy b { color:var(--ink); line-height:1.25; }
.room-art .screen-copy b { font-size:21px; }
.room { box-shadow:0 8px 24px rgba(24,62,73,.07); }
.room-foot { align-items:center; font-size:12px; }
.room-foot button { padding:9px 11px; border-radius:4px; background:var(--teal-pale); color:var(--teal-dark); font-size:12px; min-height:44px; }
.room-foot button:hover { background:#c7eded; color:#10313b; }
.room-foot button:disabled { color:#526970; background:#edf2f2; }
.live-badge { background:#17656b; }
.live-badge.muted { background:#526970; }
.proof { background:var(--navy); }
.proof p { color:#e0f2f1; }
.player-surface { background:#10313b; }
.player-surface small { color:#e0f2f1; }
.signin-panel input,#chat-body { caret-color:var(--teal-dark); }
input::placeholder { color:#526970; opacity:1; }
:focus-visible { outline:3px solid var(--teal-dark); outline-offset:4px; }
.hero-shell :focus-visible,.proof :focus-visible,.player-surface :focus-visible { outline-color:var(--yellow); }
button { touch-action:manipulation; }
.close { min-width:44px; min-height:44px; }
@media (max-width:760px) { .site-affiliation { min-height:68px; padding:16px 26px; }.site-affiliation a { font-size:20px; }.site-affiliation span { display:none; }.signin-shell { min-height:calc(100dvh - 68px); }.signin-panel { padding:42px 26px 54px; }.signin-panel .brand-logo { margin-bottom:36px; }.room-grid.live-only { grid-template-columns:1fr; }.portal-intro { padding-top:40px; padding-bottom:42px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.toast { transition:none; } }

/* Room transition controls */
#transition-notice{background:#fbe16a;color:#173e47;padding:16px;border-radius:8px;margin:0 0 20px;font-weight:600}.transition-controls{grid-column:1/-1;display:flex;align-items:end;flex-wrap:wrap;gap:12px}.transition-controls label{max-width:220px}.transition-controls button{min-height:44px;padding:10px 14px;border:1px solid #1c8c94;border-radius:6px;background:#fff;color:#155c63;font:inherit;cursor:pointer}.transition-controls button:hover{background:#e4f5f5}.transition-controls button:disabled{opacity:.55;cursor:not-allowed}


.chat-status{margin:8px 0 12px;color:#17656b;font-size:13px;line-height:1.5}
#chat-form button:disabled{opacity:.55;cursor:wait}

.chat p{overflow-wrap:anywhere}.chat b,.chat span{min-width:0}

/* Authentication recovery remains readable on the signed-in dark header. */
.hero-shell #logout-error{color:var(--yellow);margin-top:20px;max-width:60ch}

.attendance-export{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:20px 0 4px;border-top:1px solid var(--line);margin-top:8px}
.attendance-export h3,.attendance-export>p{grid-column:1/-1;margin:0}
.attendance-export h3{font-size:15px;line-height:1.5}.attendance-export>p{font-size:12px;line-height:1.6;color:var(--muted)}
.attendance-export label{min-width:0}.attendance-export input{width:100%;min-height:44px}.attendance-export button{min-height:44px;border:1px solid var(--teal-dark);border-radius:4px;padding:8px 12px;color:var(--teal-dark);background:var(--teal-pale);font:600 12px Poppins,sans-serif}.attendance-export button:disabled{opacity:.6;cursor:wait}.attendance-export .attendance-export-status{color:var(--ink);overflow-wrap:anywhere;min-height:1.6em}
@media(max-width:600px){.attendance-export{grid-template-columns:minmax(0,1fr)}.attendance-export button{width:100%}}

.attendance-export>.attendance-format-label{grid-column:1/-1}.attendance-export select[name="format"]{width:100%;min-height:44px;white-space:normal}.attendance-export .attendance-summary-detail[hidden]{display:none}

/* Shared conference identity across attendee entry and viewing. */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins-400-latin.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600 700;font-display:swap;src:url('/fonts/poppins-600-latin.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/montserrat-600-latin.woff2') format('woff2')}
:root{--navy:#1c244b;--navy-deep:#101737;--teal:#21b9c4;--teal-dark:#12656d;--teal-pale:#e8f7f7;--yellow:#ffd200;--paper:#fff;--ink:#1c244b;--muted:#596078;--line:#dce0e9}
body{background:#fff}.conference-header{background:white;border-bottom:1px solid var(--line)}.conference-header-inner{width:calc(100% - 80px);max-width:1280px;margin:auto;min-height:114px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 0}.conference-home img{width:132px;height:auto;display:block}.conference-header nav{display:flex;align-items:center;justify-content:flex-end;gap:28px;flex-wrap:wrap;font-family:Montserrat,Poppins,sans-serif;font-size:13px;font-weight:600}.conference-header nav a{display:inline-flex;align-items:center;min-height:44px}.conference-header nav a[aria-current]{border-bottom:2px solid var(--teal)}.conference-register{padding:12px 28px;background:var(--yellow);border-radius:999px;color:var(--navy)}.skip-link{position:absolute;top:8px;left:8px;transform:translateY(-200%);z-index:100;background:var(--yellow);color:var(--navy);padding:12px}.skip-link:focus{transform:none}#app:focus{outline:none}.signin-shell{min-height:0;max-width:1280px;width:calc(100% - 80px);margin:40px auto 72px;grid-template-columns:1fr 1fr;gap:64px}.signin-panel{width:100%;padding:40px 0;margin:0;max-width:520px}.signin-panel .attendee-kicker{font:600 12px Montserrat,Poppins,sans-serif;color:var(--muted);margin:0 0 24px}.signin-panel h1{font-size:clamp(38px,4.4vw,62px);line-height:1.1;font-weight:600}.signin-panel small a{text-decoration:underline;text-underline-offset:3px}.signin-art{min-height:550px;background:linear-gradient(0deg,rgba(28,36,75,.92),rgba(28,36,75,.05)),url('/brand/powc-field-session.jpg') center/cover;padding:42px}.signin-art h2{font-weight:600}.signin-panel input{font-size:16px;min-height:50px}.button,.room-foot button{border-radius:999px}.primary{background:var(--yellow);color:var(--navy)}.primary:hover{background:#ffe56b}.hero-shell.compact{width:calc(100% - 80px);max-width:1280px;margin:32px auto 0;padding:28px 40px 0;background:var(--navy)}.portal-conference-link{font:600 13px Montserrat,Poppins,sans-serif;color:#fff}.topbar{flex-wrap:wrap}.nav-meta{display:none}.user-menu{min-width:0;flex-wrap:wrap}.user-menu>span{overflow-wrap:anywhere}.portal-intro{padding:40px 0 46px}.portal-intro h1{font-weight:600;overflow-wrap:anywhere}.live-section{max-width:1360px;padding-top:60px;padding-bottom:64px}.room{border-radius:0;border:1px solid var(--line);box-shadow:none}.room-body h3{font-weight:600}.proof{background:var(--teal-pale);color:var(--navy);padding-top:40px;padding-bottom:40px}.proof h2{font-size:26px;font-weight:600}.proof p{color:var(--muted)}.proof-icon{background:var(--yellow)}.conference-footer{padding:44px max(40px,calc((100vw - 1280px)/2));background:var(--teal);display:flex;justify-content:space-between;gap:32px;font-size:13px;color:var(--navy)}.conference-footer p{margin:8px 0}.conference-footer>div{min-width:0}.conference-footer a{display:flex;min-height:44px;align-items:center;overflow-wrap:anywhere}.conference-footer span{display:block;margin-top:10px;font-size:12px}.player-surface{background:var(--navy-deep)}.dialog-copy h2{font-weight:600}.room-foot button:disabled{background:#edf0f4;color:#626a80}.conference-header a:hover,.conference-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.conference-header-inner{width:calc(100% - 40px);gap:16px;flex-wrap:wrap}.conference-header nav{gap:8px 18px;justify-content:flex-start}.conference-home img{width:104px}.signin-shell{width:calc(100% - 40px);grid-template-columns:1fr;gap:24px;margin:20px auto 48px}.signin-panel{max-width:none;padding:24px 0}.signin-art{display:flex;min-height:300px;padding:28px}.hero-shell.compact{width:calc(100% - 40px);padding:24px 24px 0}.portal-intro h1{font-size:38px}.conference-footer{padding:32px 20px;flex-direction:column;gap:20px}.section-heading{align-items:flex-start;flex-direction:column}.live-section{padding-left:20px;padding-right:20px}.signin-art h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.signin-shell>*{min-width:0}.signin-panel h1,.signin-art h2{overflow-wrap:anywhere}.signin-panel input{min-width:0}
/* Keep enlarged attendee copy in flow rather than clipping fixed-height cards. */
.proof>div:not(.proof-icon){min-width:0}.proof h2,.proof p{overflow-wrap:anywhere}
.room-grid.live-only .room-art{height:auto;min-height:190px;display:flex;align-items:flex-end;padding:58px 22px 24px}.room-art .screen-copy{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:100%;min-width:0}.room-art .screen-copy b,.room-art .screen-copy span{overflow-wrap:anywhere}.room-art .screen-copy b{line-height:1.4}
@media(max-width:600px){.proof{flex-direction:column;gap:20px}.proof-icon{flex-basis:52px}}
/* Watching is part of the conference page, never a modal or nested site. */
[hidden]{display:none!important}
#room-view{max-width:1280px;width:calc(100% - 80px);margin:32px auto 64px}
.watch-heading{padding:0 0 28px}.watch-heading .section-label{margin-top:28px}.watch-heading h1{font:600 clamp(30px,4vw,48px)/1.2 Poppins,sans-serif;margin:12px 0}.watch-heading p{font-size:18px;line-height:1.6}
.watch-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:28px;align-items:start}.watch-layout>*{min-width:0}
#room-view .player-surface{min-height:0;aspect-ratio:16/9;padding:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;overflow:hidden;border-radius:12px}
#room-view video{width:100%;max-width:100%;aspect-ratio:16/9;object-fit:contain;display:block}#room-view .player-placeholder{padding:40px 24px}#room-view .live-badge{left:16px;right:auto;top:16px}
#room-view .dialog-copy{padding:24px;background:var(--teal-pale);border:1px solid var(--line);border-radius:12px}#room-view .dialog-copy h2{margin-top:0;font-size:24px}#room-view .chat{max-height:420px;height:300px}#room-view #chat-form{margin-bottom:0}#chat-send-error{grid-column:1/-1;margin:0}
#playback-guidance{padding:16px 20px;background:var(--teal-pale);border-radius:10px;margin-top:16px}#playback-guidance p{font-size:18px;line-height:1.6;margin:0 0 12px}#room-view :focus-visible{outline:3px solid #177b84;outline-offset:4px}
@media(max-width:1000px){.watch-layout{grid-template-columns:1fr}#room-view{width:calc(100% - 40px)}#room-view .chat{height:240px}#room-view .player-placeholder{padding:40px 16px}#room-view .player-surface{min-height:240px}.watch-heading p{font-size:16px}}
#room-view .player-surface{width:100%;min-width:0}#room-view video#mux-player{min-width:0;max-width:100%;justify-self:stretch}

#room-view .chat p,#room-view .chat-status,#chat-body,#chat-form label{font-size:16px;line-height:1.65}#chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}#chat-form label{grid-column:1/-1;font-weight:600}#chat-form button{min-height:48px;font-size:16px;border-radius:999px}#chat-body{min-height:48px}

/* A visible label is clearer than initials for conference attendees. */
.portal-signout{min-height:44px;padding:10px 18px;border:1px solid #fff;border-radius:999px;background:transparent;color:#fff;font:600 14px Montserrat,Poppins,sans-serif;cursor:pointer;white-space:nowrap}.portal-signout:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.portal-signout:disabled{opacity:.7;cursor:wait}

.room-connection-notice{padding:18px 20px;border-left:4px solid var(--teal);background:var(--teal-pale);color:var(--navy);font-size:16px;line-height:1.6;max-width:70ch}
