:root{color-scheme:dark;--bg:#100811;--panel:#211323;--input:#160e19;--border:#51304b;--text:#fff3fa;--muted:#dabccd;--pink:#ff4eae;--ink:#190914;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0,#4b103830,transparent 55%)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,input,select{transition:background .15s,border-color .15s,transform .15s}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid #ff91ce;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:10px;top:-100px;background:var(--pink);color:var(--ink);padding:16px;z-index:3}.skip:focus{top:10px}.topbar{max-width:1160px;margin:auto;min-height:80px;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:16px}.brand{font-size:12px;letter-spacing:.1em}.brand strong{display:block;font-size:17px;letter-spacing:.06em;color:var(--pink)}.language select{min-height:44px;padding:8px 32px 8px 12px;background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:14px}main{max-width:1120px;margin:auto;padding:0 24px}.banner{display:block;width:100%;height:auto;border-radius:14px}.intro{display:flex;justify-content:space-between;gap:24px;padding:38px 0 28px;align-items:center}.eyebrow{color:var(--pink);font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;margin:0 0 10px}h1{font-size:clamp(30px,4.5vw,54px);line-height:1.04;letter-spacing:-.055em;margin:0 0 14px;text-wrap:balance}h2{font-size:23px;letter-spacing:-.025em;margin:0 0 5px}p{color:var(--muted);line-height:1.55;margin:0}.intro-note{max-width:270px;display:flex;gap:14px;font-size:14px}.note-star{font-size:32px;color:var(--pink)}.panel{background:var(--panel);border:1px solid #382039;border-radius:16px;padding:28px;margin-bottom:24px}.section-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.section-heading p{font-size:14px}.step-number{font-size:14px;font-weight:800;color:var(--pink);border-bottom:2px solid var(--pink);padding:6px 0}.section-heading output{margin-left:auto;background:var(--input);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:14px;white-space:nowrap;color:var(--pink);font-weight:750}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:650}label>span{display:block;margin-bottom:9px}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);padding:13px 14px;min-height:50px}input::placeholder{color:#b58aab}input:hover,select:hover{border-color:#926180}small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:6px}.avatar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.avatar-choice{position:relative;min-width:0;display:flex;align-items:center;flex-direction:column;gap:7px;padding:10px 6px 8px;background:var(--input);color:var(--text);border:2px solid transparent;border-radius:10px;font-size:13px;font-weight:700}.avatar-choice img{width:54px;height:54px;object-fit:contain}.avatar-choice:hover{background:#38213b}.avatar-choice[aria-pressed=true]{border-color:var(--pink);background:#431b37}.avatar-choice[aria-pressed=true]:after{content:'✓';position:absolute;top:4px;right:7px;font-size:14px;color:var(--pink)}.field-error{color:#ffacbe;font-weight:600;font-size:14px;min-height:0;margin-top:12px}.field-error:empty{display:none}.roster-section{margin:38px 0 28px}.players{display:grid;grid-template-columns:1fr 1fr;gap:20px}.player{background:var(--panel);border-radius:16px;padding:24px;border:1px solid #382039;min-width:0}.player-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.player-head h3{font-size:17px;margin:0;letter-spacing:-.025em}.player-head small{display:inline;margin:0;font-size:12px;font-weight:400}.player-photo{display:flex;align-items:center;gap:18px;margin-bottom:22px}.photo-preview{width:88px;height:110px;object-fit:contain;background:#160e19;border-radius:10px;padding:3px;flex-shrink:0}.upload-actions{min-width:0;flex:1}.upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--border);border-radius:8px;padding:9px 13px;font-size:13px;cursor:pointer;background:var(--input)}.upload-button:hover{border-color:var(--pink)}.player .fields{gap:16px}.player .nick-field{grid-column:1/-1}.player .role-field{grid-column:1/-1}.role-label{display:flex;align-items:center;gap:8px}.role-icon{width:22px;height:22px;object-fit:contain}.secondary,.primary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:10px;padding:13px 22px;font-size:15px;font-weight:750}.secondary{border:1px solid var(--border);background:var(--input);color:var(--text)}.secondary:hover{background:#38213b;border-color:#926180}.primary{border:0;background:var(--pink);color:var(--ink)}.primary:hover{background:#ff78be}.add-reserve{margin-top:20px}.text-button{background:none;border:0;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:13px}.remove-reserve{color:#ffc5df}.consent{display:flex;align-items:flex-start;gap:12px;line-height:1.5;font-size:14px;max-width:760px;cursor:pointer}.consent input{width:22px;height:22px;flex-shrink:0;accent-color:var(--pink);margin:1px 0}.consent span{margin:0}.privacy{font-size:12px;margin:12px 0 22px}.finish>.primary{width:100%;max-width:420px}.submit-note{font-size:12px;margin-top:12px}.success{max-width:760px;margin:10px auto 40px;padding:36px}.success-star{color:var(--pink);font-size:46px;display:block;margin-bottom:18px}.success h1{font-size:38px}.success pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--input);padding:20px;border-radius:10px;font:14px/1.8 ui-monospace,monospace;color:var(--text);margin:24px 0}.success-actions{display:flex;gap:12px;flex-wrap:wrap}.success>#newRegistration{display:block;margin-top:16px}footer{text-align:center;font-size:10px;letter-spacing:.1em;color:#b38aa5;margin:48px 20px 28px}footer span{color:var(--pink);padding:0 8px}#loading{margin-bottom:30px}@media(max-width:640px){.topbar{padding:12px 16px;min-height:72px}.brand{font-size:10px}.brand strong{font-size:14px}.language select{font-size:12px;min-height:44px;padding-right:22px}main{padding:0 16px}.banner{border-radius:10px}.intro{padding:25px 0 24px}.intro-note{display:none}.intro p:not(.eyebrow){font-size:14px}h1{font-size:34px}.panel{padding:20px 16px;border-radius:14px;margin-bottom:18px}.section-heading{gap:12px;margin-bottom:20px}h2{font-size:20px}.section-heading p{font-size:13px}.section-heading output{padding:6px;font-size:12px}.fields,.players{grid-template-columns:1fr}.fields{gap:17px}.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.avatar-choice{padding:8px 2px;font-size:11px}.avatar-choice img{width:42px;height:42px}.player{padding:20px 16px}.player .fields{grid-template-columns:1fr 1fr}.player label{font-size:13px}.player .nick-field,.player .role-field{grid-column:1/-1}.player input,.player select{padding:12px 10px}.roster-section{margin-top:28px}.player-photo{gap:14px}.consent{font-size:13px}.finish>.primary{max-width:none}.success{padding:24px 18px}.success-actions{flex-direction:column}.success-actions button{width:100%}.success h1{font-size:32px}.success pre{font-size:12px;padding:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

:root{--bg:#101512;--panel:#1d2922;--input:#131c16;--border:#4c5346;--text:#f1efdf;--muted:#bfc4b7;--pink:#eca64b;--ink:#1b160d}
body{background:radial-gradient(ellipse at 85% 0,#81481722,transparent 55%)}
main{max-width:920px}.topbar{max-width:920px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:48px;height:48px;object-fit:contain}.brand strong{display:inline;font-size:14px}
.intro{position:relative;min-height:140px}.intro img{width:115px;height:95px;object-fit:contain}.panel,.player{border-color:var(--border)}.player .fields{grid-template-columns:1fr}.photo-preview{background:var(--input)}.mystery{display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--muted)}.primary:hover{background:#ffba62}.secondary:hover{background:#263b2e}.upload-button:hover{border-color:var(--pink)}:focus-visible{outline-color:var(--pink)}input::placeholder{color:#86947f}input:hover,select:hover{border-color:#ac9b72}
.fields .wide{grid-column:1/-1}.status-line{margin:16px 0;font-size:14px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.notice{border-left:3px solid var(--pink);padding:16px 20px;background:#2e271b;border-radius:8px;margin-bottom:22px}.rules-list{padding-inline-start:22px;color:var(--muted);line-height:1.6}.rules-list li{margin:10px 0}.consent{margin:18px 0}.schedule-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.schedule-list li{border-inline-start:2px solid var(--pink);padding-inline-start:14px}.schedule-list time{font-size:24px;font-weight:800;color:var(--pink);display:block}.error-banner{color:#ffc0b0;border:1px solid #ad604e;padding:16px;border-radius:10px;margin:20px 0;overflow-wrap:anywhere}.success pre{font-family:inherit;line-height:1.8}.photo-naming{margin:14px 0;font-size:13px}.pending-preview{max-height:220px;max-width:100%;object-fit:contain}.logo-preview{display:block;width:130px;height:130px;object-fit:contain;margin:16px 0;background:var(--input);border-radius:10px}.photo-input{font-size:12px;margin-top:12px}.help{font-size:12px;margin:12px 0}footer{color:var(--muted)}
@media(max-width:640px){.schedule-list{grid-template-columns:1fr}.intro img{width:80px;height:80px}.topbar{padding:16px}.brand strong{font-size:11px}.player .fields{grid-template-columns:1fr}.actions>*{flex:1;min-width:120px}.intro h1{font-size:36px}.players{grid-template-columns:1fr}.language select{max-width:145px}.panel{overflow:visible}.success{margin:20px 0}.fields .wide{grid-column:auto}}
