| |
| |
| |
| * { |
| box-sizing: border-box; |
| margin: 0; |
| padding: 0; |
| } |
|
|
| html { |
| overflow-y: scroll; |
| scrollbar-gutter: stable; |
| } |
|
|
| body { |
| font-family: -apple-system, BlinkMacSystemFont, "Pretendard", system-ui, sans-serif; |
| background: #fff8ee; |
| color: #333333; |
| } |
|
|
| .page { |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| |
| |
| |
| header { |
| width: 100%; |
| border-bottom: 1px solid #e7e2d8; |
| background: #fffaf3; |
| } |
|
|
| .header-inner { |
| max-width: 1120px; |
| margin: 0 auto; |
| padding: 18px 20px; |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| } |
|
|
| .logo img { |
| height: 48px; |
| display: block; |
| } |
|
|
| nav { |
| display: flex; |
| align-items: center; |
| gap: 32px; |
| font-size: 15px; |
| } |
|
|
| nav a { |
| text-decoration: none; |
| color: #777777; |
| padding-bottom: 4px; |
| border-bottom: 2px solid transparent; |
| } |
|
|
| nav a.active { |
| color: #1d8fdd; |
| border-bottom-color: #1d8fdd; |
| } |
|
|
| .profile-circle { |
| width: 32px; |
| height: 32px; |
| border-radius: 50%; |
| border: 1px solid #dddddd; |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| font-size: 16px; |
| margin-left: 16px; |
| background: #ffffff; |
| } |
|
|
| |
| |
| |
| main { |
| flex: 1; |
| } |
|
|
| footer { |
| padding: 18px 0 28px; |
| font-size: 12px; |
| color: #aaaaaa; |
| text-align: center; |
| } |
|
|
| |
| |
| |
|
|
| .hero { |
| max-width: 1120px; |
| margin: 0 auto; |
| padding: 60px 20px 80px; |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| text-align: center; |
| } |
|
|
| .hero-title { |
| font-size: 28px; |
| font-weight: 700; |
| margin-bottom: 8px; |
| } |
|
|
| .hero-subtitle { |
| font-size: 15px; |
| color: #777777; |
| margin-bottom: 40px; |
| } |
|
|
| |
| .illustration-card { |
| width: 100%; |
| max-width: 920px; |
| background: #ffffff; |
| border-radius: 28px; |
| padding: 40px 40px 32px; |
| box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05); |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| gap: 24px; |
| } |
|
|
| .illustrations { |
| display: flex; |
| justify-content: center; |
| gap: 40px; |
| flex-wrap: wrap; |
| } |
|
|
| .illustration-item { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| gap: 8px; |
| min-width: 120px; |
| } |
|
|
| .illustration-item img { |
| width: 130px; |
| height: 130px; |
| object-fit: contain; |
| } |
|
|
| .illustration-label { |
| font-size: 14px; |
| color: #666666; |
| } |
|
|
| |
| .hero-cta-wrapper { |
| margin-top: 32px; |
| display: flex; |
| justify-content: center; |
| width: 100%; |
| } |
|
|
| |
| .btn-primary { |
| border: none; |
| outline: none; |
| cursor: pointer; |
| padding: 16px 40px; |
| border-radius: 999px; |
| background: #7dc9f9; |
| color: #ffffff; |
| font-weight: 600; |
| font-size: 16px; |
| box-shadow: 0 8px 18px rgba(0, 0, 0, 0.09); |
| display: inline-flex; |
| align-items: center; |
| gap: 10px; |
| transition: all 0.15s ease-out; |
| text-decoration: none; |
| } |
|
|
| .btn-primary:hover { |
| background: #4fa4e6; |
| transform: translateY(-1px); |
| box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); |
| } |
|
|
| .btn-arrow { |
| font-size: 18px; |
| } |
|
|
| |
| |
| |
|
|
| .content { |
| max-width: 960px; |
| margin: 0 auto; |
| padding: 40px 20px 60px; |
| } |
|
|
| .title-box { |
| text-align: center; |
| margin-bottom: 32px; |
| } |
|
|
| .title-box h1 { |
| font-size: 26px; |
| font-weight: 700; |
| margin-bottom: 6px; |
| } |
|
|
| .title-box p { |
| font-size: 14px; |
| color: #777777; |
| } |
|
|
| |
| .stepper { |
| display: flex; |
| justify-content: space-between; |
| margin-bottom: 32px; |
| gap: 12px; |
| flex-wrap: wrap; |
| } |
|
|
| .step-item { |
| flex: 1; |
| min-width: 140px; |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| gap: 6px; |
| font-size: 13px; |
| color: #999999; |
| } |
|
|
| .step-circle { |
| width: 32px; |
| height: 32px; |
| border-radius: 50%; |
| border: 2px solid #d9e6f4; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| font-size: 13px; |
| background: #ffffff; |
| } |
|
|
| .step-item.active .step-circle { |
| border-color: #1d8fdd; |
| background: #1d8fdd; |
| color: #ffffff; |
| font-weight: 600; |
| } |
|
|
| .step-item.active span.step-label { |
| color: #1d8fdd; |
| font-weight: 600; |
| } |
|
|
| .step-item.completed .step-circle { |
| border-color: #7dc9f9; |
| background: #7dc9f9; |
| color: #ffffff; |
| } |
|
|
| |
| .upload-card { |
| background: #ffffff; |
| border-radius: 24px; |
| padding: 28px 24px 24px; |
| box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05); |
| display: flex; |
| flex-direction: column; |
| gap: 18px; |
| } |
|
|
| .upload-header { |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| gap: 12px; |
| } |
|
|
| .upload-title { |
| font-size: 18px; |
| font-weight: 600; |
| } |
|
|
| .upload-desc { |
| font-size: 13px; |
| color: #777777; |
| margin-top: 4px; |
| } |
|
|
| .upload-body { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 20px; |
| align-items: flex-start; |
| } |
|
|
| .upload-preview { |
| width: 260px; |
| height: 200px; |
| border-radius: 18px; |
| background: #f5f5f8; |
| border: 1px dashed #d4d4df; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| overflow: hidden; |
| font-size: 13px; |
| color: #999999; |
| text-align: center; |
| padding: 12px; |
| } |
|
|
| .upload-preview img { |
| width: 100%; |
| height: 100%; |
| object-fit: contain; |
| } |
|
|
| .upload-controls { |
| flex: 1; |
| min-width: 220px; |
| display: flex; |
| flex-direction: column; |
| gap: 10px; |
| font-size: 13px; |
| color: #555555; |
| } |
|
|
| .upload-controls input[type="file"] { |
| font-size: 13px; |
| } |
|
|
| .upload-tip { |
| font-size: 12px; |
| color: #999999; |
| line-height: 1.4; |
| } |
|
|
| |
| .actions { |
| margin-top: 24px; |
| display: flex; |
| justify-content: space-between; |
| gap: 12px; |
| } |
|
|
| .btn-secondary { |
| border-radius: 999px; |
| padding: 12px 22px; |
| font-size: 14px; |
| border: 1px solid #d2d2dd; |
| background: #ffffff; |
| color: #555555; |
| cursor: pointer; |
| display: inline-flex; |
| align-items: center; |
| gap: 6px; |
| transition: background 0.15s ease-out; |
| } |
|
|
| .btn-secondary:hover { |
| background: #f3f3f8; |
| } |
|
|
| |
| .upload-step { display: none; } |
| .upload-step.active { display: block; } |
|
|
| .empty-state-inline { |
| padding: 48px 24px; |
| text-align: center; |
| } |
|
|
| .empty-state-inline p { |
| font-size: 0.95rem; |
| color: #888; |
| line-height: 1.8; |
| } |
|
|
| .empty-state-inline a { |
| color: #1d8fdd; |
| text-decoration: none; |
| font-weight: 600; |
| } |
|
|
| .empty-state-inline a:hover { |
| text-decoration: underline; |
| } |
|
|
| .loading-overlay { |
| position: fixed; |
| inset: 0; |
| background: rgba(255, 248, 235, 0.88); |
| backdrop-filter: blur(6px); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| z-index: 9999; |
| } |
|
|
| .loading-overlay[hidden] { |
| display: none; |
| } |
|
|
| .loading-card { |
| background: #FFFCF6; |
| padding: 44px 56px; |
| border-radius: 20px; |
| box-shadow: 0 12px 40px rgba(232, 155, 107, 0.15); |
| text-align: center; |
| max-width: 460px; |
| } |
|
|
| .loading-spinner { |
| width: 50px; |
| height: 50px; |
| border: 4px solid #FCEAD9; |
| border-top-color: #E89B6B; |
| border-radius: 50%; |
| animation: spin 1s linear infinite; |
| margin: 0 auto 20px; |
| } |
|
|
| @keyframes spin { |
| to { transform: rotate(360deg); } |
| } |
|
|
| .loading-title { |
| font-size: 17px; |
| font-weight: 600; |
| margin: 0 0 8px; |
| color: #5A4A3F; |
| word-break: keep-all; |
| line-height: 1.5; |
| } |
|
|
| .loading-desc { |
| font-size: 14px; |
| color: #8B7D6E; |
| margin: 0; |
| word-break: keep-all; |
| } |
|
|
| .htp-img { |
| pointer-events: none; |
| } |
|
|
| .drop-area { |
| border-radius: 18px; |
| transition: all 0.15s ease; |
| } |
|
|
| .drop-area.dragover { |
| background: #f0f8ff; |
| outline: 2px dashed #7dc9f9; |
| outline-offset: -6px; |
| } |
|
|
| |
| |
| |
| @media (max-width: 768px) { |
| .header-inner { |
| flex-direction: column; |
| gap: 12px; |
| align-items: flex-start; |
| } |
|
|
| .illustration-card { |
| padding: 30px 20px 24px; |
| } |
|
|
| .illustrations { |
| gap: 28px; |
| } |
|
|
| .illustration-item img { |
| width: 110px; |
| height: 110px; |
| } |
|
|
| .upload-body { |
| flex-direction: column; |
| } |
|
|
| .upload-preview { |
| width: 100%; |
| } |
|
|
| .actions { |
| flex-direction: row; |
| justify-content: space-between; |
| } |
| } |
|
|
| |
| |
| |
|
|
| .report-page { |
| background: #fff8ee; |
| } |
|
|
| |
| .report-container { |
| max-width: 1400px; |
| margin: 40px auto 80px; |
| background: #ffffff; |
| border-radius: 28px; |
| padding: 48px; |
| box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05); |
| } |
|
|
| |
| .report-header { |
| text-align: center; |
| margin-bottom: 40px; |
| } |
|
|
| .report-header h1 { |
| font-size: 30px; |
| margin-bottom: 10px; |
| } |
|
|
| .report-date { |
| font-size: 13px; |
| color: #999999; |
| margin-bottom: 18px; |
| } |
|
|
| .report-summary { |
| background: #f0f8ff; |
| border-radius: 18px; |
| padding: 22px; |
| font-size: 16px; |
| line-height: 1.6; |
| } |
|
|
| |
| .metric-grid { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 16px; |
| margin: 40px 0; |
| } |
|
|
| .metric-card { |
| background: #ffffff; |
| border: 1px solid #e6e6e6; |
| border-radius: 18px; |
| padding: 18px; |
| text-align: center; |
| font-size: 14px; |
| } |
|
|
| .metric-card strong { |
| display: block; |
| font-size: 18px; |
| margin-top: 6px; |
| color: #1d8fdd; |
| } |
|
|
| |
| .section { |
| margin-bottom: 36px; |
| } |
|
|
| .section h2 { |
| font-size: 22px; |
| margin-bottom: 12px; |
| color: #1d8fdd; |
| } |
|
|
| |
| .analysis-card { |
| background: #fafafa; |
| border-radius: 18px; |
| padding: 22px; |
| line-height: 1.7; |
| font-size: 15px; |
| white-space: pre-line; |
| } |
|
|
| .analysis-card.overall { |
| background: #f0f8ff; |
| border: 2px solid #d7eafd; |
| font-size: 16px; |
| font-weight: 500; |
| } |
|
|
| .analysis-inline { |
| display: flex; |
| gap: 24px; |
| } |
|
|
| |
| .analysis-inline .section { |
| flex: 1; |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .analysis-inline { |
| flex-direction: column; |
| } |
| } |
|
|
| |
| .guide-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 24px; |
| } |
|
|
| .guide-box { |
| background: #ffffff; |
| border: 1px solid #e6e6e6; |
| border-radius: 18px; |
| padding: 20px; |
| } |
|
|
| .guide-box h3 { |
| margin-bottom: 10px; |
| font-size: 16px; |
| } |
|
|
| .guide-box ul { |
| padding-left: 18px; |
| line-height: 1.6; |
| font-size: 14px; |
| } |
|
|
| |
| .resource-list { |
| padding-left: 18px; |
| line-height: 1.6; |
| font-size: 14px; |
| } |
|
|
| |
| .report-cta { |
| margin: 60px auto; |
| display: flex; |
| justify-content: center; |
| gap: 16px; |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .metric-grid, |
| .guide-grid { |
| grid-template-columns: 1fr; |
| } |
|
|
| .report-container { |
| max-width: 2000px; |
| margin: 40px auto 80px; |
| background: #ffffff; |
| border-radius: 28px; |
| padding: 40px; |
| box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05); |
| } |
| } |