@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body,html{background:linear-gradient(135deg,#667eea,#764ba2);color:#2d3748;font-family:Inter,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;line-height:1.6;overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}.container{padding:20px}.container,.home-container{display:flex;flex-direction:column;margin:0 auto;max-width:800px;min-height:100vh}.home-container{justify-content:center;padding:40px 20px;text-align:center}.card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin:20px 0;padding:40px;transition:all .3s ease}.card:hover{box-shadow:0 32px 64px -12px #00000040,0 16px 32px -8px #0000001a;transform:translateY(-8px)}.main-title{color:#fff;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:16px;text-shadow:0 4px 20px #0000004d}.card-title{color:#2d3748;font-size:clamp(1.5rem,4vw,2rem);font-weight:600;margin-bottom:24px;position:relative;text-align:center}.card-title:after{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;bottom:-8px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.subtitle{color:#ffffffe6;font-size:1.2rem;font-weight:300;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:600px}.menu-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:16px;overflow:hidden;padding:20px 24px;position:relative;transition:all .3s ease;width:100%}.menu-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.menu-button:hover:before{left:100%}.menu-button:hover{box-shadow:0 12px 40px #667eea66;transform:translateY(-2px)}.submit-button{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin:16px 0;padding:18px 32px;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 12px 40px #48bb7866;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.secondary-button{background:#7180961a;border:2px solid #71809633;border-radius:12px;color:#4a5568;cursor:pointer;font-size:1rem;font-weight:500;margin:8px 0;padding:14px 24px;transition:all .3s ease;width:100%}.secondary-button:hover{background:#71809633;border-color:#7180964d;transform:translateY(-1px)}.back-button{align-self:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:20px;padding:12px 20px;transition:all .3s ease}.back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateX(-4px)}.input-group{margin-bottom:32px}.input-label{color:#2d3748;display:block;font-size:1rem;font-weight:600;margin-bottom:12px}.text-input{background:#f7fafccc;border:2px solid #71809633;border-radius:12px;font-family:inherit;font-size:1rem;padding:16px 20px;transition:all .3s ease;width:100%}.text-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.text-input::placeholder{color:#a0aec0}.checklist-container{margin-bottom:32px}.instruction{color:#2d3748;font-size:1.1rem;font-weight:600;margin-bottom:24px;text-align:center}.checkbox-label{align-items:flex-start;background:#f7fafc80;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;margin-bottom:16px;padding:16px 20px;transition:all .3s ease}.checkbox-label:hover{background:#667eea0d;border-color:#667eea33;transform:translateX(4px)}.checkbox{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #cbd5e0;border-radius:6px;cursor:pointer;flex-shrink:0;height:20px;margin-right:16px;margin-top:2px;position:relative;transition:all .3s ease;width:20px}.checkbox:checked{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#38a169}.checkbox:checked:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox:hover{border-color:#667eea;transform:scale(1.05)}.checkbox-text{color:#2d3748;font-size:1rem;font-weight:400;line-height:1.5}.score-display{background:linear-gradient(135deg,#edf2f7,#e2e8f0);border-radius:16px;margin:24px 0;padding:24px;text-align:center}.current-score{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:12px}.high-risk{background:#fee2e2cc;border-left:4px solid #e53e3e;color:#e53e3e}.high-risk,.medium-risk{border-radius:8px;font-size:1.1rem;font-weight:600;padding:12px 20px}.medium-risk{background:#fffaebcc;border-left:4px solid #d69e2e;color:#d69e2e}.low-risk{background:#f0fdf4cc;border-left:4px solid #38a169;border-radius:8px;color:#38a169;font-size:1.1rem;font-weight:600;padding:12px 20px}.result-summary{margin-bottom:32px}.participant-info{background:#667eea0d;border-radius:12px;margin-bottom:24px;padding:20px;text-align:center}.participant-info h3{color:#2d3748;font-size:1.3rem;margin-bottom:8px}.participant-info p{color:#718096;font-size:.95rem}.score-section{flex-wrap:wrap;gap:32px;margin:32px 0}.score-circle,.score-section{align-items:center;display:flex;justify-content:center}.score-circle{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 12px 40px #667eea4d;color:#fff;flex-direction:column;height:120px;position:relative;width:120px}.score-circle:before{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:50%;content:"";inset:4px;position:absolute}.score-number{font-size:2.5rem;font-weight:700;z-index:1}.score-label{font-size:.9rem;font-weight:500;z-index:1}.risk-badge{border-radius:25px;box-shadow:0 8px 32px #0003;color:#fff;font-size:1rem;font-weight:600;padding:12px 24px;text-align:center}.result-message{background:#f7fafccc;border-radius:16px;margin:24px 0;padding:24px;text-align:center}.recommendation{color:#4a5568;font-size:1rem;line-height:1.6;margin-top:12px}.selected-items-section{margin-bottom:32px}.selected-items-section h4{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:16px}.selected-items-list{list-style:none;padding:0}.selected-item{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border-left:4px solid #38a169;border-radius:10px;color:#22543d;font-size:.95rem;font-weight:500;margin-bottom:8px;padding:12px 16px}.privacy-notice{background:linear-gradient(135deg,#fff5b4,#fed7aa);border:1px solid #f6ad55;border-radius:12px;margin:24px 0;padding:20px}.privacy-text{color:#7c2d12;font-size:.95rem;line-height:1.5;margin:0}.action-buttons{display:flex;flex-direction:column;gap:12px}.status-message{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border:1px solid #68d391;border-radius:12px;color:#22543d;font-weight:500;margin-top:20px;padding:16px 20px;text-align:center}.info-section{line-height:1.7}.info-text{color:#4a5568;font-size:1.1rem;margin-bottom:24px}.section-title{color:#2d3748;font-size:1.4rem;font-weight:600;margin:32px 0 16px;padding-left:20px;position:relative}.section-title:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:24px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.warning-box{background:linear-gradient(135deg,#fed7d7,#fbb6ce);border:1px solid #f56565;border-radius:16px;margin:24px 0;padding:24px}.warning-title{color:#c53030;font-size:1.2rem;font-weight:600;margin-bottom:12px}.warning-box p{color:#742a2a;line-height:1.6}.qna-item{background:#f7fafccc;border-left:4px solid #667eea;border-radius:16px;margin-bottom:24px;padding:24px}.question{color:#2d3748;font-size:1.1rem;font-weight:600;margin-bottom:12px}.answer{color:#4a5568;font-size:1rem;line-height:1.6}.info-box,.menu-grid{margin-bottom:40px}.info-box{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;padding:32px;text-align:left}.info-box h3{color:#fff;font-size:1.3rem;font-weight:600;margin-bottom:16px}.feature-list{list-style:none;padding:0}.feature-list li{color:#ffffffe6;font-size:1rem;margin-bottom:8px;padding-left:8px}.footer{color:#fffc;font-size:.95rem;margin-top:40px;text-align:center}.footer p{margin-bottom:8px}.disclaimer{color:#fff9;font-size:.85rem;font-style:italic;margin-top:12px}@media (max-width:768px){.container,.home-container{padding:20px 16px}.card{border-radius:20px;margin:16px 0;padding:24px 20px}.main-title{font-size:2.2rem}.score-section{flex-direction:column;gap:20px}.score-circle{height:100px;width:100px}.score-number{font-size:2rem}.checkbox-label{padding:12px 16px}.menu-button{font-size:1rem;padding:18px 20px}}@media (max-width:480px){.card{padding:20px 16px}.checkbox-label{padding:12px}.checkbox-text{font-size:.95rem}.info-box{padding:24px 20px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.card{animation:fadeInUp .6s ease-out}.checkbox-label{animation:slideInLeft .4s ease-out}.menu-button{animation:fadeInUp .5s ease-out}@media (prefers-color-scheme:dark){body{background:linear-gradient(135deg,#1a202c,#2d3748)}.card{background:#2d3748f2}.card,.card-title,.checkbox-text,.input-label,.text-input{color:#e2e8f0}.text-input{background:#2d3748cc;border-color:#7180964d}.checkbox-label{background:#2d374880}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.menu-button,.submit-button{border:2px solid}.checkbox{border-width:3px}}