:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#111;color:#f7f4ed}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.hero{width:min(760px,100%)}.eyebrow{letter-spacing:.18em;font-size:.8rem;font-weight:700}h1{font-size:clamp(2.5rem,7vw,5rem);line-height:.98;margin:1rem 0}.hero-intro{max-width:60ch;font-size:1.1rem;line-height:1.7;color:#cfcac0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(440px,100%);padding:clamp(1.5rem,5vw,2.5rem);border:1px solid #34322f;border-radius:1rem;background:#181817}.auth-card h1{margin:.75rem 0;font-size:clamp(2.25rem,10vw,3.5rem)}.auth-intro,.auth-note{color:#cfcac0;line-height:1.6}.auth-intro{margin-bottom:1.75rem}.auth-button,.auth-form input,.auth-form select{width:100%;min-height:3rem;border-radius:.65rem;font:inherit}.auth-button{border:1px solid #5c5953;background:#242321;color:#f7f4ed;cursor:pointer;font-weight:700;padding:.75rem 1rem}.auth-button:hover:not(:disabled){background:#302e2b}.auth-button:disabled{cursor:wait;opacity:.65}.auth-button-primary{background:#f7f4ed;color:#111;border-color:#f7f4ed}.auth-button-primary:hover:not(:disabled){background:#ded9cf}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#918d85}.auth-divider:after,.auth-divider:before{content:"";height:1px;flex:1 1;background:#34322f}.auth-form{display:grid;grid-gap:.65rem;gap:.65rem}.auth-form label{font-size:.9rem;font-weight:700}.auth-form input,.auth-form select{border:1px solid #5c5953;background:#111;color:#f7f4ed;padding:.75rem}.auth-form input:focus,.auth-form select:focus{outline:2px solid #d2c7a4;outline-offset:2px}.auth-message{margin:1rem 0 0;padding:.8rem;border-radius:.5rem;background:#1f3023}.auth-error{background:#3a2020}.auth-note{margin:1.25rem 0 0;font-size:.82rem}@media (max-width:480px){.auth-shell{align-items:flex-start;padding-top:2rem}.auth-card{border-radius:.8rem}}.session-status{margin-top:2rem;padding-top:1.25rem;border-top:1px solid #34322f}.session-status p{line-height:1.6;overflow-wrap:anywhere}.session-status .auth-button{width:auto}.session-sign-in{display:inline-block;text-decoration:none}.session-status .auth-button:focus-visible{outline:2px solid #d2c7a4;outline-offset:3px}.adult-confirmation{display:flex;align-items:flex-start;gap:.65rem;line-height:1.5;margin-top:.75rem}.auth-form .adult-confirmation input{width:1.25rem;min-height:1.25rem;flex-shrink:0;margin-top:.1rem}.membership-section{border-top:1px solid #34322f;margin-top:1.5rem;padding-top:1rem;line-height:1.6}.auth-card a:not(.auth-button),.profile-home{color:#f7f4ed}.review-actions{display:flex;gap:.75rem;flex-wrap:wrap}.member-shell{align-items:flex-start;padding-top:clamp(2rem,8vh,5rem)}.member-shell h1{font-size:clamp(2.5rem,7vw,4rem);line-height:1.08;overflow-wrap:anywhere}.member-overview{margin-top:2rem}.member-greeting{font-size:1.25rem}.member-actions{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}.member-shell .auth-button{width:auto}.community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:1rem;gap:1rem}.community-card{padding:1.5rem;background:#181817;border:1px solid #34322f;border-radius:1rem;line-height:1.6;overflow-wrap:anywhere}.community-card h3{margin:.4rem 0;font-size:1.4rem}.community-organization{color:#cfcac0;font-size:.9rem;margin-top:0}.membership-badge{display:inline-block;background:#242321;padding:.3rem .7rem;border-radius:.45rem}.community-review{color:#f7f4ed;text-underline-offset:.2em}.member-shell a:focus-visible,.member-shell button:focus-visible{outline:2px solid #d2c7a4;outline-offset:3px}@media (max-width:480px){.member-shell{padding:2rem 1.25rem}.community-card{padding:1.25rem}.member-actions{align-items:stretch;flex-direction:column}}.check-in-qr{display:block;max-width:100%;height:auto;margin:1rem auto;background:white}.dependent-actions{display:flex;flex-wrap:wrap;gap:.75rem}.checkin-dependents{border:1px solid #5c5953;border-radius:.65rem;margin:1rem 0;padding:1rem;min-width:0}.checkin-dependents .adult-confirmation{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.checkin-dependents input{width:1.25rem;height:1.25rem;flex-shrink:0}