/* Original APS Tinkering Lab Robokriti 2026 colours and layout */
:root{--bg:#020711;--bg-soft:#07111f;--card:rgba(8,18,34,.88);--card-2:rgba(12,27,47,.82);--line:rgba(83,161,255,.18);--line-strong:rgba(0,234,255,.42);--cyan:#00eaff;--blue:#4f8cff;--purple:#9b6cff;--green:#00ff99;--red:#ff5874;--text:#f5f9ff;--muted:#8fa5bf;--muted-2:#607892;--radius:22px;--shadow:0 25px 70px rgba(0,0,0,.45)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(0,234,255,.08),transparent 28%),radial-gradient(circle at 85% 30%,rgba(155,108,255,.08),transparent 30%),var(--bg);color:var(--text);font-family:Poppins,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.page-background{position:fixed;inset:0;z-index:-10;pointer-events:none;overflow:hidden}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(0,234,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,234,255,.025) 1px,transparent 1px);background-size:45px 45px}.glow{position:absolute;width:450px;height:450px;border-radius:50%;filter:blur(100px);opacity:.15}.glow-one{background:var(--cyan);top:-220px;left:-180px}.glow-two{background:var(--purple);right:-200px;top:35%}
.registration-header{width:min(1400px,94%);margin:auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.back-home{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:.9rem;transition:.25s}.back-home:hover{color:var(--cyan);transform:translateX(-3px)}.header-brand{display:flex;align-items:center;gap:12px}.header-brand img{width:45px;height:45px;object-fit:contain}.header-brand div{display:flex;flex-direction:column;align-items:flex-end}.header-brand span{color:var(--cyan);font-size:.62rem;font-weight:700;letter-spacing:2px}.header-brand strong{font-family:Orbitron,sans-serif;font-size:.78rem;letter-spacing:1px}
.registration-main{padding:55px 18px 100px}.registration-container{width:min(1050px,100%);margin:auto}.registration-hero{text-align:center;margin-bottom:45px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border:1px solid rgba(0,234,255,.25);border-radius:999px;background:rgba(0,234,255,.06);color:var(--cyan);font-size:.72rem;font-weight:700;letter-spacing:2px}.registration-hero h1{margin-top:20px;font-family:Orbitron,sans-serif;font-size:clamp(2rem,6vw,4.4rem);line-height:1.08}.registration-hero h1 span{display:block;color:var(--cyan);text-shadow:0 0 35px rgba(0,234,255,.3)}.registration-hero p{max-width:680px;margin:18px auto 0;color:var(--muted);line-height:1.8}
.registration-form{display:flex;flex-direction:column;gap:22px}.form-section,.agreement-section{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(10,25,45,.94),rgba(3,10,21,.92));box-shadow:var(--shadow);backdrop-filter:blur(16px)}.section-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:25px}.section-number{min-width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(0,234,255,.08);border:1px solid rgba(0,234,255,.25);color:var(--cyan);font-family:Orbitron,sans-serif;font-weight:800}.section-heading>div:last-child span{color:var(--cyan);font-size:.67rem;font-weight:700;letter-spacing:2px}.section-heading h2{margin-top:3px;font-family:Orbitron,sans-serif;font-size:1.25rem}.section-heading p{margin-top:5px;color:var(--muted);font-size:.82rem}
.team-size-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.team-size-card{cursor:pointer}.team-size-card input{position:absolute;opacity:0;pointer-events:none}.team-size-content{min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025);text-align:center;transition:.25s}.team-size-content i{font-size:1.4rem;color:var(--muted)}.team-size-content strong{font-size:.85rem}.team-size-content small{color:var(--muted);font-size:.7rem}.team-size-card:hover .team-size-content{border-color:rgba(0,234,255,.45);transform:translateY(-3px)}.team-size-card input:checked+.team-size-content{border-color:var(--cyan);background:rgba(0,234,255,.09);box-shadow:0 0 28px rgba(0,234,255,.1)}.team-size-card input:checked+.team-size-content i{color:var(--cyan)}
.member-card{padding:22px;border:1px solid rgba(83,161,255,.16);border-radius:18px;background:rgba(255,255,255,.018);margin-top:15px}.member-card:first-of-type{margin-top:0}.member-card-header{display:flex;align-items:center;gap:13px;margin-bottom:20px}.member-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(0,234,255,.08);border:1px solid rgba(0,234,255,.2);color:var(--cyan)}.member-card-header div:nth-child(2){flex:1}.member-card-header span:not(.required-badge){color:var(--cyan);font-size:.6rem;letter-spacing:1.5px;font-weight:700}.member-card-header h3{margin-top:2px;font-family:Orbitron,sans-serif;font-size:.95rem}.required-badge{padding:5px 9px;border-radius:999px;background:rgba(255,88,116,.08);border:1px solid rgba(255,88,116,.2);color:var(--red);font-size:.58rem;font-weight:700}.hidden-member{display:none!important}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{position:relative}.full-field{grid-column:1/-1}.field label{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#c7d7e9;font-size:.78rem;font-weight:600}.field label i{color:var(--cyan);font-size:.75rem}.optional{margin-left:4px;color:var(--muted-2);font-size:.62rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;outline:none;background:rgba(1,8,18,.75);color:var(--text);padding:13px 14px;transition:.25s}.field textarea{resize:vertical;min-height:130px}.field input::placeholder,.field textarea::placeholder{color:#526981}.field select option{background:#07111f;color:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,234,255,.07)}
.event-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-option{cursor:pointer}.event-option input{position:absolute;opacity:0;pointer-events:none}.event-option-card{min-height:92px;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.02);transition:.25s}.event-option-card:hover{transform:translateY(-2px);border-color:rgba(0,234,255,.4)}.event-icon{width:46px;height:46px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:rgba(0,234,255,.07);color:var(--cyan)}.event-text{flex:1;display:flex;flex-direction:column}.event-text strong{font-size:.88rem}.event-text small{margin-top:3px;color:var(--muted);font-size:.68rem}.event-check{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:transparent;transition:.2s}.event-option input:checked+.event-option-card{border-color:var(--cyan);background:rgba(0,234,255,.08);box-shadow:0 0 25px rgba(0,234,255,.08)}.event-option input:checked+.event-option-card .event-check{border-color:var(--cyan);background:var(--cyan);color:#001017}
.agreement-section{padding:20px 24px}.agreement{display:flex;align-items:flex-start;gap:12px;cursor:pointer;color:var(--muted);font-size:.78rem;line-height:1.7}.agreement input{position:absolute;opacity:0}.custom-checkbox{width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:transparent;transition:.2s}.agreement input:checked+.custom-checkbox{background:var(--cyan);border-color:var(--cyan);color:#001017}.field-error{margin-top:12px;color:var(--red);font-size:.75rem}.form-message{display:none;padding:14px 16px;border-radius:12px;font-size:.8rem}.form-message.error,.form-message.success{display:block}.form-message.error{color:#ff9dad;border:1px solid rgba(255,88,116,.25);background:rgba(255,88,116,.07)}.form-message.success{color:#86ffc9;border:1px solid rgba(0,255,153,.25);background:rgba(0,255,153,.06)}.character-count{text-align:right;margin-top:5px;color:var(--muted-2);font-size:.68rem}
.submit-area{text-align:center;padding-top:5px}.submit-btn{width:min(100%,430px);border:0;border-radius:15px;padding:16px 25px;background:linear-gradient(100deg,var(--cyan),var(--blue));color:#001018;font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:900;letter-spacing:.6px;box-shadow:0 12px 35px rgba(0,234,255,.17);transition:.25s}.submit-btn:hover{transform:translateY(-3px)}.submit-btn:disabled{cursor:not-allowed;opacity:.65;transform:none}.submit-loading{display:none}.submit-btn.loading .submit-normal{display:none}.submit-btn.loading .submit-loading{display:inline-flex;align-items:center;gap:8px}.submit-area>p{margin-top:12px;color:var(--muted-2);font-size:.67rem}.submit-area>p i{color:var(--green)}
.success-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(0,4,12,.82);backdrop-filter:blur(12px)}.success-overlay.hidden{display:none}.success-card{width:min(440px,100%);padding:40px 28px;text-align:center;border:1px solid rgba(0,255,153,.25);border-radius:25px;background:linear-gradient(145deg,rgba(9,30,42,.97),rgba(2,11,20,.98));box-shadow:var(--shadow)}.success-icon{width:75px;height:75px;display:grid;place-items:center;margin:auto auto 20px;border-radius:50%;background:rgba(0,255,153,.1);border:1px solid rgba(0,255,153,.35);color:var(--green);font-size:1.8rem}.success-card>span{color:var(--green);font-size:.65rem;font-weight:800;letter-spacing:2px}.success-card h2{margin-top:7px;font-family:Orbitron,sans-serif;font-size:2rem}.success-card p{margin-top:8px;color:var(--muted);font-size:.8rem}.success-id{margin:22px 0;padding:15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.success-id small{display:block;color:var(--muted);font-size:.6rem;letter-spacing:1.5px}.success-id strong{display:block;margin-top:5px;color:var(--cyan);font-family:Orbitron,sans-serif;letter-spacing:1px}.continue-btn{width:100%;padding:13px;border:1px solid var(--cyan);border-radius:12px;background:rgba(0,234,255,.08);color:var(--cyan);font-weight:700}.continue-btn:hover{background:var(--cyan);color:#001018}
@media(max-width:900px){.team-size-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.registration-header{min-height:70px}.header-brand span{display:none}.header-brand strong{font-size:.65rem;text-align:right}.registration-main{padding-top:35px}.form-section{padding:20px;border-radius:18px}.section-heading h2{font-size:1.05rem}.team-size-grid{grid-template-columns:repeat(2,1fr)}.field-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.event-selection{grid-template-columns:1fr}.member-card{padding:17px}.required-badge{display:none}}@media(max-width:430px){.back-home{font-size:.72rem}.header-brand img{width:37px;height:37px}.header-brand strong{font-size:.55rem}.registration-hero h1{font-size:1.8rem}.team-size-content{min-height:105px}.section-number{min-width:40px;height:40px;font-size:.75rem}.section-heading{gap:10px}}/* Final registration layout: single-page form, dynamic team members */
.form-section[hidden]{display:none!important}.member-card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.member-card-title span{font:700 .62rem Orbitron;color:var(--cyan);letter-spacing:1.8px}.member-card-title strong{font-size:.88rem}.additional-member{margin-top:16px}.submit-registration{width:100%;margin-top:20px;min-height:54px}.form-message:empty{display:none}.form-message{margin-top:15px}.field-error{min-height:20px;margin-top:10px;color:var(--red);font-size:.78rem}.team-size-content small{color:var(--muted);font-size:.7rem}.team-size-card input:checked + .team-size-content{border-color:var(--cyan);background:rgba(0,234,255,.08);box-shadow:0 0 0 2px rgba(0,234,255,.08),0 12px 30px rgba(0,0,0,.2)}
@media(max-width:800px){.team-size-grid{grid-template-columns:repeat(2,1fr)}.team-size-card:last-child{grid-column:1/-1}.registration-header{min-height:72px}.header-brand div{align-items:flex-end}.header-brand span{font-size:.48rem}.header-brand strong{font-size:.62rem}.form-section{padding:20px}.section-heading{gap:11px}.section-number{min-width:40px;height:40px}.field-grid{grid-template-columns:1fr!important}}
@media(max-width:520px){.registration-header .back-home{font-size:.72rem}.header-brand{display:none}.registration-main{padding:35px 12px 70px}.registration-hero h1{font-size:1.8rem}.team-size-grid{grid-template-columns:1fr 1fr}.team-size-content{min-height:105px}}


/* Approval state */
.approval-note{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:13px 15px;border:1px solid rgba(255,193,7,.25);border-radius:14px;background:rgba(255,193,7,.06);color:#ffe08a;font-size:13px;line-height:1.5;text-align:left}.approval-note i{margin-top:2px}.success-box strong{color:#ffd76a}


/* =========================================================
   REGISTRATION // LUXURY FUTURE-TECH OVERLAY
========================================================= */
body{background:#02050d!important}
.registration-header{background:rgba(2,5,13,.74);backdrop-filter:blur(22px);box-shadow:0 14px 60px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,234,255,.06)}
.registration-hero h1{letter-spacing:-1.5px;text-shadow:0 0 45px rgba(0,234,255,.08)}
.form-section{border-color:rgba(255,255,255,.075);background:linear-gradient(145deg,rgba(9,18,33,.9),rgba(3,8,18,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 25px 80px rgba(0,0,0,.25)}
.team-size-card,.event-option-card,.field input,.field select,.field textarea{transition:.25s ease}
.team-size-card:hover .team-size-content,.event-option:hover .event-option-card{transform:translateY(-3px);border-color:rgba(0,234,255,.35);box-shadow:0 15px 40px rgba(0,0,0,.3)}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(0,234,255,.08),0 0 25px rgba(0,234,255,.05);border-color:rgba(0,234,255,.5)}
.submit-registration{position:relative;overflow:hidden;box-shadow:0 15px 45px rgba(0,234,255,.12)}
.submit-registration:before{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:.7s}
.submit-registration:hover:before{left:140%}
.success-box{border-color:rgba(0,234,255,.24)!important;box-shadow:0 30px 100px rgba(0,0,0,.65),0 0 60px rgba(0,234,255,.06)!important}
