*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:#111;-webkit-font-smoothing:antialiased;background:#f5f5f5;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Segoe UI,system-ui,sans-serif}.app{background:#f5f5f5;flex-direction:column;align-items:center;min-height:100%;display:flex}.model-panel{background:#f0f0f0;width:100%;max-width:560px;height:260px;margin:0 auto}.app__main{width:100%;max-width:560px;padding:24px 20px 64px}.registration-form{flex-direction:column;gap:0;display:flex}.registration-form__header{padding-top:8px}.registration-form__title{letter-spacing:.02em;color:#111;margin:0;font-size:2.4rem;font-weight:700;line-height:1.2}.registration-form__subtitle{color:#222;margin:8px 0 0;font-size:.95rem;font-weight:600}.registration-form__divider{border:none;border-top:1px solid #111;height:0;margin:20px 0}.registration-form__purpose{color:#222;margin:0 0 16px;font-size:.9rem;line-height:1.75}.registration-form__intro{color:#333;margin:0 0 36px;font-size:.875rem;line-height:1.7}.registration-form__link{color:#1a5fb4;text-decoration:underline}.registration-form__submit{color:#fff;cursor:pointer;background:#222;border:none;border-radius:4px;width:100%;margin-top:36px;padding:16px 24px;font-size:1rem;font-weight:600}.registration-form__submit:hover{background:#444}.form-section{flex-direction:column;gap:20px;margin-bottom:40px;display:flex}.form-section__heading{color:#111;border-bottom:1px solid #111;align-items:center;gap:8px;margin:0 0 4px;padding-bottom:12px;font-size:1rem;font-weight:700;display:flex}.form-section__heading:before{content:"";background:#111;flex-shrink:0;width:4px;height:1.1em;display:inline-block}.form-field{flex-direction:column;gap:8px;display:flex}.form-field__label-row{align-items:center;gap:8px;display:flex}.form-field__label{color:#111;font-size:.9rem;font-weight:700}.form-field__badge{color:#fff;background:#e53935;border-radius:3px;padding:2px 6px;font-size:.7rem;font-weight:700;line-height:1.4;display:inline-block}.form-field__input{color:#111;background:#fff;border:1px solid #ccc;border-radius:4px;outline:none;width:100%;padding:12px 14px;font-size:1rem}.form-field__input::placeholder{color:#aaa}.form-field__input:focus{border-color:#666}.form-field__input--error{border-color:#e53935}.form-field__error{color:#e53935;margin:0;font-size:.8rem}@media (width>=768px){.model-panel{border-radius:0 0 8px 8px;height:320px;overflow:hidden}.app__main{padding:32px 28px 80px}}
