@font-face{font-family:Poppins;src:url('/wifi-event/assets/poppins-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('/wifi-event/assets/poppins-600.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{color-scheme:dark;--navy:#030b23;--cyan:#00dce3;--green:#00d3a5;--text:#f6f8ff;--muted:#b3c3de}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 16%,#082a83 0,transparent 50%),var(--navy);color:var(--text);font:400 15px/1.65 Poppins,Arial,sans-serif}header{min-height:92px;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff1b;background:#110731c9}header img{max-width:150px;height:auto}header span{font-size:9px;letter-spacing:1.4px;text-align:right;color:var(--muted)}main{width:min(100% - 36px,530px);margin:32px auto 0}.intro{text-align:center}.wifi-icon{width:54px;height:54px;border:1px solid #00dce350;border-radius:16px;background:#00dce310;color:var(--cyan);margin:0 auto 16px;display:grid;place-items:center}.wifi-icon svg{width:29px;height:29px}.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--cyan);font-weight:600}h1{font-size:clamp(29px,7.5vw,40px);line-height:1.2;letter-spacing:-1px;margin:12px 0 18px}h1 span{color:var(--cyan)}h2{font-size:22px;letter-spacing:-.5px;line-height:1.3;margin:0 0 8px}p{color:var(--muted);margin:0 0 18px}.intro>p:last-child{font-size:14px;margin-bottom:26px}.card{padding:24px 20px;background:#ffffff05;border:1px solid #ffffff1b;border-radius:20px}.subtitle{font-size:12px}label:not(.check){font-size:13px;display:block;margin:18px 0 7px}input:not([type=checkbox]){width:100%;min-width:0;background:#040d26;border:1px solid #354666;border-radius:8px;padding:13px 14px;color:#fff;font:inherit;font-size:16px;min-height:50px}input::placeholder{color:#96a4bd;font-size:13px}small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.check{display:flex;align-items:flex-start;gap:12px;margin-top:22px;font-size:12px;line-height:1.65;cursor:pointer}.check input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--green)}a{color:var(--cyan);text-underline-offset:3px}.button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:52px;margin-top:26px;padding:13px 20px;background:linear-gradient(110deg,#00d3a5,#00dce3);border:0;border-radius:9px;color:#031927;font:600 15px Poppins,Arial,sans-serif;cursor:pointer}.button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}#feedback{font-size:13px;margin:12px 0;color:#f7d5a0;overflow-wrap:anywhere}.network-note{font-size:12px;border-top:1px solid #ffffff1b;padding-top:16px;margin:18px 0 0}.terms{margin:30px 0;font-size:12px;scroll-margin-top:20px}.terms h2{font-size:18px}.terms strong{color:var(--text)}.version{font-size:10px}.success-icon{color:var(--green);font-size:40px}footer{text-align:center;font-size:10px;color:var(--muted);padding:20px 20px max(24px,env(safe-area-inset-bottom))}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}#success:focus{outline:none}@media(min-width:900px){header{padding-inline:calc((100% - 960px)/2)}main{margin-top:44px}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s}button:hover:not(:disabled){filter:brightness(1.08)}}

.terms>summary{cursor:pointer;color:var(--text);font-size:16px;font-weight:600;min-height:48px;padding:12px 0;border-bottom:1px solid #ffffff1b}.terms>summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.terms-content{padding-top:18px}

/* Put registration first on phones, retaining readable text and touch targets. */
@media(max-width:640px){
 body>header{min-height:48px;padding:5px 16px}
 body>header img{width:100px;height:40px;object-fit:contain}
 body>header span{font-size:8px}
 main{width:calc(100% - 24px);margin-top:8px}
 .intro h1{font-size:19px;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px}
 .card{padding:12px 14px;border-radius:16px}
 .card>h2{font-size:18px;margin-bottom:2px}
 .subtitle{font-size:11px;margin-bottom:6px}
 label:not(.check){font-size:12px;line-height:1.4;margin:8px 0 3px}
 input:not([type=checkbox]){min-height:44px;height:44px;padding:9px 12px}
 .check{font-size:12px;line-height:1.4;margin-top:10px;min-height:44px;align-items:center;gap:10px}
 .check small{font-size:11px;margin-top:3px}
 .button{min-height:46px;margin-top:10px;padding:10px 16px}
 #feedback:empty{display:none}
 .network-note{font-size:11px;line-height:1.5;padding-top:10px;margin-top:12px}
 .terms{margin:14px 0}
 footer{padding-top:8px}
}

/* Restore breathing room after removing the introductory date and notice. */
@media(max-width:640px){
 main{margin-top:12px}
 .intro h1{margin-bottom:14px}
 .card{padding:16px}
 label:not(.check){margin-top:10px;margin-bottom:4px}
 .check{margin-top:12px}
 .button{margin-top:14px}
}

/* Use the available phone height without squeezing every screen to the smallest size. */
@media(max-width:640px) and (min-height:620px){
 main{margin-top:18px}
 .intro h1{font-size:21px;margin-bottom:18px}
 .card{padding:20px}
 label:not(.check){margin-top:14px;margin-bottom:6px}
 .check{margin-top:16px}
 .button{margin-top:18px}
}
@media(max-width:640px) and (min-height:740px){
 main{margin-top:26px}
 .intro h1{font-size:23px;margin-bottom:24px}
 .card{padding:24px 20px}
 label:not(.check){margin-top:18px;margin-bottom:8px}
 input:not([type=checkbox]){height:48px}
 .check{margin-top:20px}
 .button{margin-top:24px;min-height:50px}
 footer{padding-top:16px}
}
