*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-weight:400;color:#2c2c2c;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#fff,#f8f6f3)}#root{width:100%}.container{min-height:100vh;display:flex;flex-direction:column;padding:2rem;max-width:700px;margin:0 auto}.header{text-align:center;margin-bottom:2rem}.logo-text{font-size:2rem;font-weight:300;letter-spacing:.3em;color:#2c2c2c;margin-bottom:.5rem}.tagline{font-size:.9rem;color:#8b7355;letter-spacing:.15em;font-weight:300}.intro-screen{text-align:center}.intro-content{margin-top:2rem}.intro-content h2{font-size:1.6rem;font-weight:400;color:#2c2c2c;margin-bottom:1rem}.intro-content p{color:#666;line-height:1.8;font-size:1rem;margin-bottom:2rem}.feature-list{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.feature-item{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:#faf9f7;border-radius:12px}.feature-icon{font-size:1.5rem}.feature-item span:last-child{font-size:.95rem;color:#444}.primary-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#8b7355,#a08b6e);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;letter-spacing:.1em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:1rem}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b73554d}.primary-btn:active{transform:translateY(0)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.back-btn{background:none;border:none;color:#8b7355;font-size:.95rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;display:flex;align-items:center;gap:.25rem}.back-btn:hover{color:#6d5a43}.profile-screen h2,.tools-screen h2,.results-screen h2{font-size:1.5rem;font-weight:500;color:#2c2c2c;margin-bottom:.5rem}.subtitle{color:#666;font-size:.95rem;margin-bottom:1.5rem}.wellness-form{background:#faf9f7;padding:2rem;border-radius:12px;box-shadow:0 4px 20px #0000000d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#2c2c2c;font-weight:500;letter-spacing:.05em}.form-group input,.form-group select{width:100%;padding:1rem;border:1px solid #e0ddd8;border-radius:8px;font-size:1rem;background:#fff;color:#2c2c2c;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.form-group input::placeholder{color:#aaa}.form-group input:focus,.form-group select:focus{outline:none;border-color:#8b7355;box-shadow:0 0 0 3px #8b73551a}.region-search-container{position:relative}.region-search-input{width:100%;padding:1rem;border:1px solid #e0ddd8;border-radius:8px;font-size:1rem;background:#fff;color:#2c2c2c;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.region-dropdown{position:absolute;top:100%;left:0;right:0;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #e0ddd8;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000001a;z-index:100}.region-group-label{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:#8b7355;background:#f8f6f3;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0}.region-option{padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;font-size:.95rem;color:#444}.region-option:hover{background:#f8f6f3}.region-option.selected{background:#8b73551a;color:#8b7355;font-weight:500}.region-no-results{padding:1rem;text-align:center;color:#888;font-size:.9rem}.tool-cards{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.tool-card{background:#fff;border:2px solid #e8e5e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease}.tool-card:hover{border-color:#c4b8a8;box-shadow:0 4px 12px #0000000d}.tool-card.selected{border-color:#8b7355;background:linear-gradient(135deg,#8b73550d,#a08b6e14)}.tool-icon{font-size:2rem;display:block;margin-bottom:.75rem}.tool-card h3{font-size:1.1rem;font-weight:500;color:#2c2c2c;margin-bottom:.5rem}.tool-card p{font-size:.9rem;color:#666;line-height:1.5}.selection-section{background:#faf9f7;border-radius:12px;padding:1.5rem;margin-top:1.5rem}.selection-section h4{font-size:.95rem;font-weight:500;color:#2c2c2c;margin-bottom:1rem}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.5rem 1rem;border:1px solid #d4d0ca;border-radius:20px;background:#fff;color:#555;font-size:.85rem;cursor:pointer;transition:all .2s ease}.chip:hover{border-color:#8b7355;color:#8b7355}.chip.selected{background:#8b7355;border-color:#8b7355;color:#fff}.analyze-btn{margin-top:2rem}.results-screen{flex:1}.result-content{background:#faf9f7;border-radius:12px;padding:2rem;margin:1.5rem 0}.result-h2{font-size:1.3rem;color:#2c2c2c;margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e8e5e0}.result-h3{font-size:1.1rem;color:#8b7355;margin:1.5rem 0 .75rem}.result-h4{font-size:1rem;color:#2c2c2c;margin:1rem 0 .5rem}.result-item{font-size:.9rem;color:#555;margin:.25rem 0;padding-left:.5rem}.result-numbered{font-size:.95rem;color:#444;margin:.5rem 0;padding-left:.25rem}.supplement-report{margin:1.5rem 0}.score-section{display:flex;justify-content:center;margin-bottom:2rem}.score-circle{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,#8b7355,#a08b6e);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #8b73554d}.score-value{font-size:3rem;font-weight:600;line-height:1}.score-label{font-size:.85rem;margin-top:.25rem;opacity:.9}.report-section{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;border-left:4px solid #8b7355}.report-section.warning{border-left-color:#e6a23c}.report-section.caution{border-left-color:#f56c6c}.report-section.timing{border-left-color:#409eff}.report-section.additions{border-left-color:#67c23a}.report-section h3{font-size:1rem;font-weight:500;color:#2c2c2c;margin-bottom:.75rem}.report-section ul{list-style:none;padding:0;margin:0}.report-section li{font-size:.9rem;color:#555;padding:.5rem 0;border-bottom:1px solid #f0ede8}.report-section li:last-child{border-bottom:none}.summary-box{background:linear-gradient(135deg,#8b735514,#a08b6e1f);border-radius:12px;padding:1.5rem;margin-top:1.5rem}.summary-box h3{font-size:1rem;color:#2c2c2c;margin-bottom:.75rem}.summary-box p{font-size:.95rem;color:#444;line-height:1.7}.related-content{margin-top:2rem;padding-top:2rem;border-top:1px solid #e8e5e0}.related-content h3{font-size:1.1rem;color:#2c2c2c;margin-bottom:1rem}.column-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.column-card{background:#fff;border:1px solid #e8e5e0;border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s ease}.column-card:hover{border-color:#c4b8a8;box-shadow:0 2px 8px #0000000d}.column-category{display:inline-block;font-size:.75rem;color:#8b7355;background:#8b73551a;padding:.25rem .5rem;border-radius:4px;margin-bottom:.5rem}.column-card h4{font-size:.95rem;font-weight:500;color:#2c2c2c;margin-bottom:.25rem;line-height:1.4}.column-source{font-size:.8rem;color:#888}.video-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.video-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e8e5e0;border-radius:10px;padding:1rem;text-decoration:none;transition:all .2s ease}.video-card:hover{border-color:red;box-shadow:0 2px 8px #ff00001a}.play-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:red;color:#fff;border-radius:8px;font-size:1.25rem}.video-info h4{font-size:.95rem;font-weight:500;color:#2c2c2c;margin-bottom:.25rem;line-height:1.3}.video-info p{font-size:.8rem;color:#888}.footer{margin-top:auto;padding-top:2rem;text-align:center}.footer p{font-size:.8rem;color:#999;letter-spacing:.05em}@media(max-width:480px){.container{padding:1.25rem}.logo-text{font-size:1.4rem;letter-spacing:.2em}.wellness-form,.result-content,.selection-section{padding:1.25rem}.score-circle{width:120px;height:120px}.score-value{font-size:2.5rem}}
