body{
  font-family: Arial, Helvetica, sans-serif;
  margin: 24px;
  background:#f7f8fb;
  color:#222;
  line-height:1.55;
}

h1{
  margin-bottom: 18px;
}

.section-card{
  background:#fff;
  border:1px solid #e3e6ef;
  border-radius:16px;
  padding:20px;
  margin-bottom:24px;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}

.section-card h2{
  margin-top:0;
  margin-bottom:16px;
  font-size:22px;
}

.section-card h3{
  margin:0 0 10px 0;
  font-size:18px;
}

.profile-list,
.question-list{
  list-style:none;
  padding:0;
  margin:0;
}

.profile-item,
.question-item{
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid #f0f1f5;
}

.profile-item:last-child,
.question-item:last-child{
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:0;
}

.inline-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

.label-inline{
  min-width:180px;
  font-weight:600;
  padding-top:10px;
}

.input-grey,
.textarea-grey,
.select-grey{
  background:#f1f3f7;
  border:1px solid #d8dde7;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  color:#222;
  outline:none;
  box-sizing:border-box;
}

/* Question 영역 input/textarea 크기 */
.question-list .input-grey,
.question-list .textarea-grey{
  width:100%;
  max-width:360px;
}

/* 프로필 1~6번 입력칸 크기 통일 */
.profile-list .input-grey,
.profile-list .select-grey{
  width:180px;
  min-width:180px;
  max-width:180px;
}

/* input 높이 */
.input-grey{
  height:44px;
}

/* textarea 높이 */
.textarea-grey{
  min-height:44px;
  height:44px;
  resize:none;
}

.select-grey{
  height:44px;
}

.input-grey::placeholder,
.textarea-grey::placeholder{
  font-family: Arial, Helvetica, sans-serif;
  font-size:14px;
  font-weight:400;
  color:#666;
  opacity:1;
}

.sub-hint{
  color:#667085;
  font-size:13px;
  margin-top:4px;
}

.choices{
  margin-top:8px;
  font-size:14px;
  color:#2f6fec;
  line-height:1.8;
}

.choices .choice{
  display:inline-block;
  margin-right:10px;
  cursor:pointer;
  user-select:none;
}

.choices .choice:hover{
  text-decoration:underline;
}

.answer-box{
  margin-top:10px;
  width:100%;
}

.double-answer{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
  margin-top:10px;
}

.answer-card{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
}

.answer-card .small-title{
  font-weight:700;
  margin-bottom:8px;
}

.sr-only {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,1px,1px)!important;
  white-space:nowrap!important;
  border:0!important;
}

.preview {
  display:block;
  max-width:140px;
  max-height:140px;
  object-fit:contain;
  border:1px solid #e2e2ea;
  border-radius:8px;
  padding:4px;
  background:#fff;
  margin-top:8px;
}

.upload-row {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.file-label {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid #d0d0d7;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  font-size:13px;
}

.file-label:hover {
  background:#f3f4f8;
}

.file-name {
  font-size:12px;
  color:#555;
  margin-left:4px;
}

.hidden {
  display:none;
}

#run-status {
  margin-top:12px;
  font-size:14px;
  color:#333;
}

.btn {
  padding:10px 16px;
  border-radius:10px;
  border:1px solid #d0d0d7;
  background:#fff;
  cursor:pointer;
  font-size:14px;
}

.btn-primary {
  background:#2f6fec;
  color:#fff;
  border:none;
}

.btn-primary[disabled] {
  opacity:.6;
  cursor:progress;
}

.actions {
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:16px;
}

@media (max-width: 900px){
  .double-answer{
    grid-template-columns:1fr;
  }

  .label-inline{
    min-width:100%;
    padding-top:0;
  }

  .input-grey,
  .select-grey,
  .textarea-grey{
    width:100%;
    max-width:100%;
  }
}
