.registration-body { margin: 0; min-height: 100vh; background: #d9f2ff; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
.registration-body *, .registration-body *::before, .registration-body *::after { box-sizing: border-box; }
.registration-desktop { width: 100%; }
.registration-scene { position: relative; width: 100%; aspect-ratio: 1920 / 1075; }
.registration-logo { position: absolute; left: 26.04%; top: 7.25%; width: 9.12%; height: 12.47%; }
.registration-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.registration-heading { position: absolute; left: 36.45%; top: 12.9%; width: 41%; margin: 0; font-size: 40px; line-height: 1; font-weight: 700; letter-spacing: 0; color: #2479b7; }
.registration-panel { position: absolute; left: 33.59375%; top: 21.2093%; width: 33.33333%; height: 69.0233%; background: url("assets/desktop-v3/registration-panel.webp") center / 100% 100% no-repeat; pointer-events: none; }
[data-desktop-registration], .registration-form { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.registration-row { position: absolute; left: 38.7%; width: 22.76%; height: 3.72%; }
.registration-row:nth-child(1) { top: 27.35%; }
.registration-row:nth-child(2) { top: 33.67%; }
.registration-row:nth-child(3) { top: 40%; }
.registration-row:nth-child(4) { top: 46.33%; }
.registration-row:nth-child(5) { top: 52.65%; }
.registration-row:nth-child(6) { top: 58.98%; }
.registration-row:nth-child(7) { top: 65.21%; }
.registration-row:nth-child(8) { top: 71.53%; }
.registration-row input:not([type="file"]), .registration-row select, .registration-file-label { display: block; width: 100%; height: 100%; margin: 0; padding: 0 5%; border: 1px solid #fff; border-radius: 5px; background: #e2f2ff; color: #245a77; font-family: inherit; font-size: 20px; line-height: 1.25; letter-spacing: 0; }
.registration-row input::placeholder { color: #93aebb; opacity: 1; }
.registration-row select:invalid { color: #93aebb; }
.registration-row select { cursor: pointer; }
.registration-row select option { color: #245a77; background: white; }
.registration-row :focus-visible { outline: 2px solid #0085d3; outline-offset: 3px; }
.registration-file-label { display: flex; align-items: center; overflow: hidden; white-space: nowrap; color: #93aebb; cursor: pointer; }
.registration-file-row input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.registration-file-row:focus-within .registration-file-label { outline: 2px solid #0085d3; outline-offset: 3px; }
.registration-field-error { position: absolute; top: calc(100% + 2px); left: 0; width: 100%; max-height: 18px; overflow: auto; font-size: 11px; line-height: 1.3; color: #a8172d; }
.registration-row [aria-invalid="true"] { outline: 2px solid #c3334d; outline-offset: 1px; }
.registration-file-row:has([aria-invalid="true"]) .registration-file-label { outline: 2px solid #c3334d; }
.registration-message { position: absolute; left: 38.55%; top: 75.1%; width: 22.9%; margin: 0; max-height: 3.4%; overflow: auto; font-size: 12px; line-height: 1.35; color: #245a77; }
.registration-message.error { color: #a8172d; }
.registration-message.success { color: #08662e; }
.registration-submit { position: absolute; left: 38.54%; top: 78.88%; width: 22.92%; height: 5.95%; padding: 0; border: 0; border-radius: 8px; background: #08a1ef; color: #fff; font: inherit; font-size: 27px; letter-spacing: 0; cursor: pointer; }
.registration-submit:disabled { cursor: wait; opacity: .65; }
.registration-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 769px) { .registration-scene { background: url("assets/desktop-v3/registration-background.webp") center / 100% 100% no-repeat; } }
@media (max-width: 1500px) and (min-width: 769px) { .registration-heading { font-size: 26px; } .registration-row input:not([type="file"]), .registration-row select, .registration-file-label { font-size: 16px; } .registration-submit { font-size: 22px; } }
@media (max-width: 768px) { .registration-desktop { display: none; } }
.mobile-preview .registration-desktop { display: none; }
.registration-body .mobile-v3[data-mobile-current="register"] { background-image: url("assets/mobile-v3/remaining-blank-background.jpg"); background-position: center calc(-40 * var(--mobile-design-unit)); background-size: 100% calc(100% + 40 * var(--mobile-design-unit)); background-repeat: no-repeat; }
.registration-body .mobile-v3[data-mobile-current="register"] .mobile-v3-page[data-mobile-page="register"]::before { content: ""; position: absolute; z-index: 1; left: 6.84133916%; right: 6.76855895%; top: calc(35 * var(--mobile-design-unit)); bottom: calc(128 * var(--mobile-design-unit)); background: url("assets/mobile-v3/source-psd-registration-panel.webp") center / 100% 100% no-repeat; pointer-events: none; }
.registration-body .mobile-v3[data-mobile-current="register"] .mobile-v3-heading { z-index: 3; }
[data-mobile-registration] .registration-form { z-index: 5; pointer-events: none; }
[data-mobile-registration] .registration-row { top: calc(var(--mobile-register-start) + var(--row-index) * (75.85836910% - var(--mobile-register-start)) / 7); left: 19.06976744%; width: 61.86046512%; height: 3.21888412%; pointer-events: auto; background-position: center; background-size: 100% 100%; background-repeat: no-repeat; }
[data-mobile-registration] .registration-row:nth-child(1) { --row-index: 0; --capsule-left: 48.12%; background-image: url("assets/mobile-v3/registration-field-1.webp"); }
[data-mobile-registration] .registration-row:nth-child(2) { --row-index: 1; --capsule-left: 37.97%; background-image: url("assets/mobile-v3/registration-field-2.webp"); }
[data-mobile-registration] .registration-row:nth-child(3) { --row-index: 2; --capsule-left: 21.43%; background-image: url("assets/mobile-v3/registration-field-3.webp"); }
[data-mobile-registration] .registration-row:nth-child(4) { --row-index: 3; --capsule-left: 31.96%; background-image: url("assets/mobile-v3/registration-field-4.webp"); }
[data-mobile-registration] .registration-row:nth-child(5) { --row-index: 4; --capsule-left: 42.11%; background-image: url("assets/mobile-v3/registration-field-5.webp"); }
[data-mobile-registration] .registration-row:nth-child(6) { --row-index: 5; --capsule-left: 31.96%; background-image: url("assets/mobile-v3/registration-field-6.webp"); }
[data-mobile-registration] .registration-row:nth-child(7) { --row-index: 6; --capsule-left: 20.30%; background-image: url("assets/mobile-v3/registration-field-7.webp"); }
[data-mobile-registration] .registration-row:nth-child(8) { --row-index: 7; --capsule-left: 20.30%; background-image: url("assets/mobile-v3/registration-field-8.webp"); }
[data-mobile-registration] .registration-row input:not([type="file"]), [data-mobile-registration] .registration-row select, [data-mobile-registration] .registration-file-label { position: absolute; top: calc(46.666667% - 22px); left: var(--capsule-left); width: calc(96.99% - var(--capsule-left)); height: 44px; padding: 0 6px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #667b92; font-size: 12px; line-height: 44px; text-align: center; }
[data-mobile-registration] .registration-row select { appearance: none; padding-right: 20px; }
[data-mobile-registration] .registration-row input::placeholder, [data-mobile-registration] .registration-row select:invalid { color: #8b98aa; }
[data-mobile-registration] .registration-file-label { justify-content: center; font-size: 11px; }
[data-mobile-registration] .registration-file-row input { top: calc(46.666667% - 22px); left: var(--capsule-left); width: calc(96.99% - var(--capsule-left)); height: 44px; }
[data-mobile-registration] .registration-field-error { top: calc(46.666667% + 15px); left: 13.7%; width: 86.3%; max-height: 24px; font-size: 10px; line-height: 1.2; color: #8b1432; }
[data-mobile-registration] .registration-message { left: 13%; top: 80.7%; width: 74%; max-height: 5.5%; font-size: 11px; line-height: 1.3; text-align: center; pointer-events: auto; }
[data-mobile-registration] .registration-submit { display: block; left: 31%; top: 75%; width: 38%; height: 44px; max-height: 6%; font-size: 16px; border: 1px solid #fff; border-radius: 8px; pointer-events: auto; background: #078dd2; }
[data-mobile-registration] .registration-row { top: calc(var(--mobile-register-start) + var(--row-index) * (68% - var(--mobile-register-start)) / 6); }
[data-mobile-registration] .registration-row[data-field="region"] { --capsule-left: 42.11%; background-image: url("assets/mobile-v3/registration-field-5.webp"); }
[data-mobile-registration] .registration-row[data-field="category"] { --capsule-left: 31.96%; background-image: url("assets/mobile-v3/registration-field-6.webp"); }
[data-mobile-registration] .registration-row[data-field="project-intro"], [data-mobile-registration] .registration-row[data-field="team-intro"] { --capsule-left: 20.30%; background-image: url("assets/mobile-v3/registration-field-7.webp"); }
