@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Outfit:wght@400;500;600;700&display=swap";:root{--navy:#14244a;--navy-deep:#0c1630;--blue:#3852a9;--blue-bright:#4f6fd4;--gold:#d4a84b;--surface:#f6f4ef;--panel:#fff;--text:#121826;--muted:#5c6578;--line:#14244a1f;--danger:#b42318;--ok:#067647;--shadow:0 18px 50px #0c163024;--radius:18px;color:var(--text);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Outfit,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}h1,h2,h3,.brand span,.code{letter-spacing:-.02em;font-family:Fraunces,serif}a{color:var(--blue);text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f6f4efd1;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--navy);align-items:center;gap:.75rem;font-size:1.15rem;font-weight:700;display:flex}.brand img{object-fit:contain;width:42px;height:42px}.topnav{align-items:center;gap:1rem;display:flex}.topnav a,.linkish{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0}.topnav a.active{color:var(--navy);font-weight:600}.nav-toggle{border:1px solid var(--line);background:var(--panel);cursor:pointer;z-index:30;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;display:none}.nav-toggle span{background:var(--navy);border-radius:2px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-backdrop{display:none}main{flex:1}.landing{background:#eef1f7}.landing-hero{color:#fff;text-align:center;background:linear-gradient(135deg, #3852a9e0 0%, #1e3064eb 100%), var(--hero-image) center/cover no-repeat;place-items:center;min-height:calc(62vh + 50px);padding:max(0px,5.5rem - 100px) 1.25rem 7.5rem;display:grid;position:relative;overflow:hidden}.landing-hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 0,#ffffff1f,#0000 55%);position:absolute;inset:0}.landing-hero-inner{z-index:1;max-width:40rem;animation:.55s both rise;position:relative}.landing-logo{filter:drop-shadow(0 8px 24px #00000040);width:110px;height:auto;margin-bottom:1rem}.landing-hero h1{text-shadow:0 2px 20px #0003;margin:0 0 .45rem;font-size:clamp(1.85rem,5vw,3rem);font-weight:700}.landing-hero p{color:#fffffff0;margin:0;font-size:1.15rem;font-weight:500}.landing-choices{z-index:2;width:min(100%,920px);margin:-10.5rem auto 0;padding:0 1.25rem 4rem;position:relative}.choices-heading{text-align:center;color:#fff;z-index:3;text-shadow:0 1px 12px #0c163073;margin:0 0 1.35rem;padding:0 .75rem;font-size:1.15rem;font-weight:600;line-height:1.45;position:relative}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;display:grid}.choice-grid--single{grid-template-columns:1fr;max-width:420px;margin:0 auto}.choice-card{text-align:center;color:inherit;background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:2.25rem 1.75rem;transition:transform .25s,box-shadow .25s;animation:.5s both rise;display:flex;box-shadow:0 10px 40px #00000014,0 2px 12px #0000000a}.choice-card:nth-child(2){animation-delay:80ms}.choice-card:hover{color:inherit;transform:translateY(-6px);box-shadow:0 20px 50px #0000001f,0 4px 20px #0000000f}.choice-icon{color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:.35rem;display:grid}.choice-card--new .choice-icon{background:linear-gradient(135deg,#5672f9 0%,#3d5ae0 100%)}.choice-card--returning .choice-icon{background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%)}.choice-card--profile .choice-icon{background:linear-gradient(135deg, var(--blue), var(--navy))}.choice-card h2{color:#1a1a2e;letter-spacing:0;margin:0;font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:700}.choice-card p{color:#64748b;flex:1;max-width:22rem;margin:0;font-size:.95rem;line-height:1.5}.choice-cta{color:#fff;border-radius:10px;justify-content:center;align-items:center;min-height:44px;margin-top:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:opacity .2s;display:inline-flex}.choice-card--new .choice-cta{background:#5672f9}.choice-card--returning .choice-cta{background:#0d9488}.choice-card--profile .choice-cta{background:linear-gradient(135deg, var(--blue), var(--navy))}.choice-card:hover .choice-cta{opacity:.92}@media (width<=720px){.landing-hero{min-height:calc(52vh + 50px);padding:max(0px,3.5rem - 100px) 1rem 5.5rem}.landing-hero h1{font-size:1.65rem}.landing-hero p{font-size:1rem}.landing-choices{margin-top:-9rem;padding-bottom:2.5rem}.choices-heading{margin-bottom:1.25rem;font-size:1rem}.choice-grid{grid-template-columns:1fr;gap:1.1rem}.choice-card{padding:1.5rem 1.25rem}}.btn{background:linear-gradient(135deg, var(--blue), var(--navy));color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.35rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px #3852a947}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-ghost{box-shadow:none;color:inherit;background:#ffffff1f;border:1px solid #ffffff59}.page .btn-ghost,.topnav .btn,.panel .btn-ghost{color:var(--navy);border:1px solid var(--line);box-shadow:none;background:0 0}.btn-sm{min-height:38px;padding:.45rem .9rem;font-size:.92rem}.auth-scene{background:radial-gradient(circle at top right, #3852a92e, transparent 40%), linear-gradient(180deg, #e9eefc 0%, var(--surface) 55%);place-items:center;min-height:calc(100vh - 140px);padding:2rem 1rem 3rem;display:grid}.panel{background:var(--panel);border-radius:var(--radius);width:min(100%,460px);box-shadow:var(--shadow);border:1px solid var(--line);flex-direction:column;gap:.9rem;padding:2rem;animation:.45s both rise;display:flex}.panel.flat{width:100%;box-shadow:none}.panel h1{color:var(--navy);margin:0}.muted{color:var(--muted);margin:0}label{flex-direction:column;gap:.4rem;font-size:.92rem;font-weight:500;display:flex}label .label-text{display:inline}label .req{color:var(--danger,#d92d20);white-space:nowrap;font-weight:600}input,select,textarea{border:1px solid var(--line);min-height:44px;font:inherit;background:#fff;border-radius:12px;padding:.7rem .9rem}input:focus,select:focus,textarea:focus{border-color:var(--blue-bright);outline:2px solid #3852a940}.password-field{display:block;position:relative}.password-field input{box-sizing:border-box;width:100%;padding-right:2.85rem}.password-toggle{width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--navy);background:#14244a0f}.password-toggle:focus-visible{outline-offset:1px;outline:2px solid #3852a959}.alert{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:12px;padding:.75rem .9rem}.registration-closed{flex-direction:column;gap:1rem;padding:1.5rem 1.25rem 1.35rem;display:flex}.registration-closed-banner{color:var(--danger);text-align:center;background:#fef3f2;border:1px solid #fecdca;border-radius:12px;padding:.95rem 1rem;font-weight:600}.registration-closed-copy{text-align:center;margin:0;line-height:1.5}.registration-closed .auth-links{justify-content:center}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.92rem;display:flex}.turnstile-host{justify-content:flex-start;min-height:65px;display:flex}.password-requirements{color:var(--muted,#5b6478);gap:.35rem;margin:0;padding:.35rem 0 0;font-size:.88rem;list-style:none;display:grid}.password-requirements li{align-items:center;gap:.45rem;display:flex}.password-requirements li.met{color:#1f7a3f}.password-requirements li.unmet{color:var(--muted,#5b6478)}.password-requirements span{text-align:center;width:1rem;font-size:.8rem}.page{width:min(100%,960px);margin:0 auto;padding:2rem 1.25rem 4rem}.page.narrow{width:min(100%,760px)}.update-hero{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.update-hero img{flex-shrink:0;width:72px;height:auto}.update-hero h1{color:var(--navy);margin:0 0 .35rem}.update-hero p{margin:0}.form-section{border:0;min-inline-size:0;margin:0 0 1.25rem;padding:0}.form-section legend{font-family:var(--font-display,"Fraunces", Georgia, serif);color:var(--navy);margin-bottom:.75rem;padding:0;font-size:1.05rem;font-weight:650}.dept-followups{border:1px solid var(--line);background:#f7f8fc;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:.15rem;padding:.9rem;display:grid}.dept-followups .full,.dept-followups>label:only-child{grid-column:1/-1}.picture-row{align-items:center;gap:1.25rem;display:flex}.picture-preview{object-fit:cover;border:3px solid #e8eefc;border-radius:50%;flex-shrink:0;width:96px;height:96px}.picture-input{flex-direction:column;flex:1;gap:.4rem;display:flex}.picture-input input[type=file]{padding:.45rem 0}.sticky-actions{background:linear-gradient(180deg, transparent, var(--panel) 28%);z-index:2;margin-top:.75rem;padding:1rem 0 .25rem;position:sticky;bottom:0}.alert.ok{color:#067647;background:#e8f8ef;border-color:#abefc6}.page-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head h1{color:var(--navy);margin:0}.page-head .muted{margin:.35rem 0 0}.narrow-page{width:min(100%,560px)}.password-page-form{width:100%}.profile-page{width:min(100%,1120px)}.profile-layout{grid-template-columns:minmax(180px,220px) minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:1rem;animation:.45s both rise;display:grid}.profile-banner{grid-column:1/-1}.profile-aside,.profile-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.profile-aside{text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem 1rem;display:flex}.profile-avatar{object-fit:cover;border:4px solid #e8eefc;border-radius:50%;width:160px;height:160px;margin-bottom:.5rem}.profile-aside strong{color:var(--navy);font-family:Fraunces,serif;font-size:1.15rem}.profile-aside .muted{word-break:break-word;margin:0}.profile-panel{padding:1.25rem 1.35rem 1.5rem}.profile-panel h2{color:var(--navy);margin:0 0 1rem;font-size:1.15rem}.profile-password-panel{grid-column:1/-1}.profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.profile-field{flex-direction:column;gap:.3rem;font-weight:500;display:flex}.profile-field.full{grid-column:1/-1}.profile-field>span{color:var(--muted);letter-spacing:.01em;font-size:.78rem;font-weight:600}.profile-field input,.profile-field textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;resize:none;background:#f7f8fc;border-radius:10px;min-height:42px;padding:.65rem .8rem}.accommodation-box{background:#efefef;border:1px solid #ccc;border-radius:12px;margin-top:1.25rem;padding:1rem 1.1rem}.accommodation-box span{color:var(--muted);margin-bottom:.25rem;font-size:.85rem;display:block}.accommodation-box strong{color:var(--navy);font-family:Fraunces,serif;font-size:1.45rem}.profile-qr{text-align:center;margin-top:1.25rem}.profile-qr img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:180px;height:180px;padding:.5rem}.profile-qr .muted{margin:.5rem 0 0;font-size:.85rem}.profile-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.25rem;display:flex}.btn-ok{background:linear-gradient(135deg,#067647,#0e9f6e)}.attend-badge{min-height:42px;color:var(--ok);background:#ecfdf3;border-radius:999px;align-items:center;padding:.5rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.profile-board{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;animation:.45s both rise}.identity{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.identity img{object-fit:cover;border:4px solid #e8eefc;border-radius:50%;width:112px;height:112px}.identity h2{margin:0 0 .25rem}.code{background:linear-gradient(135deg, var(--gold), #f0d08a);color:var(--navy-deep);border-radius:999px;margin:.35rem 0 0;padding:.25rem .65rem;font-weight:700;display:inline-block}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:0;display:grid}.detail-grid dt{color:var(--muted);font-size:.82rem}.detail-grid dd{margin:.2rem 0 0;font-weight:600}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.grid-2 .full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.steps{gap:.45rem;margin-bottom:1rem;display:flex}.steps span{background:#d9deea;border-radius:999px;flex:1;height:6px}.steps span.on{background:linear-gradient(90deg, var(--blue), var(--gold))}.stack{flex-direction:column;display:flex}.gap-sm{gap:.5rem}.gap-md{gap:.9rem}.grow{flex:1}.skeleton{background:linear-gradient(90deg,#e7eaf1 25%,#f5f7fb 50%,#e7eaf1 75%) 0 0/200% 100%;animation:1.2s linear infinite shimmer;display:inline-block}.profile-skeleton,.hero-skeleton{flex-direction:column;align-items:center;gap:.85rem;display:flex}.profile-skeleton{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);flex-direction:row;align-items:flex-start;padding:1.5rem}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.site-footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:1.25rem;font-size:.9rem}@keyframes shimmer{to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes drift{0%{transform:scale(1.02)translateY(0)}to{transform:scale(1.06)translateY(-1.5%)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.nav-toggle{display:inline-flex}.topnav{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);z-index:28;border-radius:16px;flex-direction:column;align-items:stretch;gap:.35rem;padding:.75rem;display:none;position:absolute;top:calc(100% + .35rem);left:1rem;right:1rem}.topnav.open{display:flex}.topnav a,.topnav .linkish,.topnav .btn{text-align:left;border-radius:10px;width:100%;padding:.75rem .85rem}.topnav a.active{background:#eef2fb}.nav-backdrop{z-index:25;cursor:pointer;background:#0c163059;border:0;display:block;position:fixed;inset:0}body.nav-open{overflow:hidden}.grid-2,.dept-followups{grid-template-columns:1fr}.identity,.picture-row,.update-hero{text-align:center;flex-direction:column;align-items:center}.profile-layout,.profile-fields{grid-template-columns:1fr}.profile-avatar{width:140px;height:140px}.profile-actions .btn,.profile-actions .btn-ghost,.profile-actions .btn-ok{flex:100%}.page-head{flex-direction:column;align-items:flex-start}.form-actions{flex-wrap:wrap}.form-actions .btn,.form-actions .btn-ghost{flex:auto}.page{padding:1.25rem 1rem 3rem}}@media (width>=721px) and (width<=980px){.profile-layout{grid-template-columns:1fr 1fr}.profile-aside{text-align:left;flex-direction:row;grid-column:1/-1;justify-content:flex-start;gap:1.25rem}.profile-aside .code{margin-left:auto}}[data-sonner-toaster]{--width:min(380px, calc(100vw - 2rem));font-family:inherit}[data-sonner-toast].app-toast{--normal-bg:#fff;--normal-border:#e4e8f2;--normal-text:var(--ink,#1a2238);border:1px solid var(--normal-border)!important;border-radius:12px!important;padding:.85rem 1rem!important;font-size:.92rem!important;animation:.38s cubic-bezier(.22,1,.36,1) both toast-slide-in!important;box-shadow:0 12px 32px #14244a24!important}[data-sonner-toast].app-toast[data-removed=true]{animation:.28s ease-in both toast-slide-out!important}[data-sonner-toast].app-toast-success{--success-bg:#ecfdf3;--success-border:#abefc6;--success-text:var(--ok);background:var(--success-bg)!important;border-color:var(--success-border)!important;color:var(--success-text)!important}[data-sonner-toast].app-toast-error{--error-bg:#fef3f2;--error-border:#fecdca;--error-text:var(--danger);background:var(--error-bg)!important;border-color:var(--error-border)!important;color:var(--error-text)!important}[data-sonner-toast].app-toast-warning,[data-sonner-toast].app-toast-info{background:#fff!important}.app-toast-title{font-weight:600!important;line-height:1.35!important}.app-toast-close{color:var(--navy)!important;background:#fff!important;border:1px solid #e4e8f2!important}@keyframes toast-slide-in{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110%)}}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c16308c;place-items:center;padding:1.25rem;animation:.25s both rise;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,420px);box-shadow:var(--shadow);padding:1.5rem 1.4rem 1.35rem}.attend-prompt-card h2{color:var(--navy);margin:0 0 .65rem;font-size:1.45rem}.attend-prompt-copy{margin:0 0 1.25rem;font-size:.95rem}.attend-prompt-actions{flex-direction:column;gap:.65rem;display:flex}.attend-prompt-actions .btn{justify-content:center;width:100%}
