:root{--color-bg:#fdfbf9;--color-primary:#ff8a80;--color-primary-dark:#ff5722;--color-primary-light:#ffcdd2;--color-secondary:#81c784;--color-secondary-dark:#4caf50;--color-secondary-light:#c8e6c9;--color-accent:#ffb74d;--color-accent-light:#ffe0b2;--color-white:#fff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121;--color-text:#333;--color-text-light:#666;--shadow-soft:0 2px 10px rgba(0,0,0,.05);--shadow-medium:0 4px 20px rgba(0,0,0,.1);--shadow-strong:0 10px 30px rgba(0,0,0,.15)}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6}body,html{min-height:100vh}body{background:linear-gradient(135deg,var(--color-bg) 0,#fff8f5 100%)}a{color:inherit;text-decoration:none}.baby-trip-header{background:var(--color-white);box-shadow:var(--shadow-soft);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.logo-link{text-decoration:none}.logo{display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:2rem}.logo-text{font-size:1.5rem;font-weight:700;color:var(--color-primary-dark)}.nav-menu{display:flex;gap:2rem;align-items:center}.nav-link{padding:.5rem 1rem;border-radius:.5rem;transition:background-color .3s ease;font-weight:500;color:var(--color-text-light)}.nav-link:hover{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.contact-btn{background:var(--color-primary);color:var(--color-white);border:none;padding:.75rem 1.5rem;border-radius:2rem;font-weight:600;cursor:pointer;transition:all .3s ease}.contact-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.baby-trip-main{max-width:1200px;margin:0 auto;padding:0 2rem}.hero-section{text-align:center;padding:4rem 0;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-accent-light) 100%);margin:2rem 0;border-radius:2rem;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y="50" font-size="30" fill="rgba(255,255,255,0.1)">👶</text></svg>') repeat;opacity:.1;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-content{position:relative;z-index:2}.hero-title{font-size:3.5rem;font-weight:800;margin:0 0 1rem;color:var(--color-primary-dark);text-shadow:0 2px 4px hsla(5,100%,75%,.3)}.hero-subtitle{font-size:1.5rem;color:var(--color-text);margin:0 0 2rem;font-weight:500}.hero-description p{font-size:1.1rem;color:var(--color-text-light);max-width:600px;margin:1rem auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-top:3rem}.feature-card{background:var(--color-white);padding:2rem;border-radius:1rem;text-align:center;box-shadow:var(--shadow-soft);transition:all .3s ease;border:2px solid transparent}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-strong);border-color:var(--color-primary-light)}.feature-icon{font-size:3rem;margin-bottom:1rem;display:block}.feature-card h3{font-size:1.3rem;color:var(--color-primary-dark);margin:1rem 0;font-weight:600}.feature-card p{color:var(--color-text-light);line-height:1.6;margin:0}.course-section,.precautions-section,.region-selection-section,.service-info-section{margin:4rem 0;padding:3rem 2rem;background:var(--color-white);border-radius:1.5rem;box-shadow:var(--shadow-soft)}.section-title{font-size:2rem;color:var(--color-primary-dark);margin:0 0 2rem;text-align:center;font-weight:700}.region-selector{max-width:600px;margin:0 auto}.region-selector-label{display:block;font-size:1.2rem;color:var(--color-text);margin-bottom:1rem;font-weight:600}.region-dropdown-container{position:relative}.region-input{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid var(--color-gray-300);border-radius:.75rem;font-size:1rem;background:var(--color-white);transition:border-color .3s ease}.region-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px hsla(5,100%,75%,.1)}.region-dropdown-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--color-gray-500)}.region-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:.75rem;box-shadow:var(--shadow-medium);z-index:10;max-height:400px;overflow-y:auto;margin-top:.5rem}.region-option{padding:1.5rem;cursor:pointer;border-bottom:1px solid var(--color-gray-100);transition:background-color .2s ease}.region-option:hover{background-color:var(--color-primary-light)}.region-option.selected{background-color:var(--color-secondary-light);border-left:4px solid var(--color-secondary)}.region-name{font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.region-description{color:var(--color-text-light);font-size:.9rem;margin-bottom:.5rem}.region-features{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{background:var(--color-accent-light);color:var(--color-text);padding:.25rem .5rem;border-radius:1rem;font-size:.8rem;font-weight:500}.no-results{padding:2rem;text-align:center;color:var(--color-text-light)}.selected-region-info{margin-top:2rem;padding:2rem;background:var(--color-secondary-light);border-radius:1rem;border-left:4px solid var(--color-secondary)}.selected-region-info h3{color:var(--color-secondary-dark);margin:0 0 1rem;font-size:1.3rem}.selected-region-info p{color:var(--color-text-light);margin:0 0 1rem}.selected-features{display:flex;flex-wrap:wrap;gap:.5rem}.selected-feature-tag{background:var(--color-white);color:var(--color-secondary-dark);padding:.5rem 1rem;border-radius:1rem;font-size:.9rem;font-weight:500;box-shadow:var(--shadow-soft)}.course-action{text-align:center;margin-top:2rem}.show-course-btn{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:var(--color-white);border:none;padding:1rem 2rem;border-radius:2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-medium)}.show-course-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong)}.travel-course{max-width:800px;margin:0 auto}.course-header{text-align:center;margin-bottom:3rem}.course-header h2{color:var(--color-primary-dark);margin:0 0 1rem;font-size:2rem}.course-duration{margin-top:1rem}.duration-badge{background:var(--color-accent);color:var(--color-white);padding:.5rem 1rem;border-radius:1rem;font-weight:600}.coming-soon{text-align:center;padding:3rem;background:var(--color-gray-50);border-radius:1rem;margin:2rem 0}.coming-soon p{font-size:1.1rem;color:var(--color-text-light);margin:.5rem 0}.course-tabs{display:flex;justify-content:center;gap:1rem;margin:2rem 0;flex-wrap:wrap}.course-tab{background:var(--color-gray-100);border:2px solid var(--color-gray-200);padding:1rem 2rem;border-radius:1rem;cursor:pointer;transition:all .3s ease;text-align:center;min-width:120px}.course-tab:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.course-tab.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary-dark);box-shadow:var(--shadow-medium)}.tab-subtitle{font-size:.9rem;opacity:.8;margin-top:.5rem}.course-details{margin-top:2rem}.day-schedule{background:var(--color-white);border-radius:1rem;padding:2rem;border-left:4px solid var(--color-primary);box-shadow:var(--shadow-soft)}.day-schedule h3{color:var(--color-primary-dark);margin:0 0 2rem;font-size:1.5rem}.schedule-item{background:var(--color-gray-50);border-radius:1rem;padding:2rem;margin-bottom:2rem;border:1px solid var(--color-gray-200)}.schedule-time{background:var(--color-accent);color:var(--color-white);padding:.5rem 1rem;border-radius:1rem;display:inline-block;font-weight:600;margin-bottom:1rem}.schedule-location{color:var(--color-primary-dark);font-size:1.2rem;margin:0 0 1rem}.schedule-description{color:var(--color-text);margin:0 0 1.5rem;line-height:1.6}.baby-friendly-section{background:var(--color-secondary-light);padding:1.5rem;border-radius:.75rem;margin:1rem 0}.baby-friendly-section h5{color:var(--color-secondary-dark);margin:0 0 1rem;font-size:1rem}.baby-friendly-list{list-style:none;padding:0;margin:0}.baby-friendly-item{margin:.5rem 0;color:var(--color-text)}.tips-section{background:var(--color-accent-light);padding:1.5rem;border-radius:.75rem;margin:1rem 0}.tips-section h5{color:var(--color-text);margin:0 0 1rem;font-size:1rem}.tips-text{margin:0;color:var(--color-text);line-height:1.6}.general-tips{background:var(--color-primary-light);padding:2rem;border-radius:1rem;margin:2rem 0}.general-tips h3{color:var(--color-primary-dark);margin:0 0 1rem}.tips-list{list-style:none;padding:0;margin:0}.tip-item{background:var(--color-white);padding:1rem;border-radius:.5rem;margin:.5rem 0;box-shadow:var(--shadow-soft)}.emergency-info{background:linear-gradient(135deg,#ffebee,#ffcdd2);padding:2rem;border-radius:1rem;border-left:4px solid #f44336;margin:2rem 0}.emergency-info h3{color:#d32f2f;margin:0 0 1rem}.emergency-content p{margin:.5rem 0;color:var(--color-text)}.info-grid,.precautions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.info-card,.precaution-item{background:var(--color-gray-50);padding:2rem;border-radius:1rem;border:1px solid var(--color-gray-200);transition:all .3s ease}.info-card:hover,.precaution-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);border-color:var(--color-primary-light)}.info-card h3,.precaution-item h4{color:var(--color-primary-dark);margin:0 0 1rem;font-size:1.2rem}.precaution-icon{font-size:2rem;margin-bottom:1rem;display:block}.precaution-item ul{list-style:none;padding:0;margin:0}.precaution-item li{padding:.5rem 0;color:var(--color-text-light);border-bottom:1px solid var(--color-gray-200)}.precaution-item li:before{content:"✓ ";color:var(--color-secondary);font-weight:700;margin-right:.5rem}.auth-buttons{display:flex;gap:1rem;align-items:center}.login-btn,.signup-btn{padding:.75rem 1.5rem;border-radius:2rem;font-weight:600;transition:all .3s ease;text-decoration:none}.login-btn{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.login-btn:hover{transform:translateY(-2px)}.login-btn:hover,.signup-btn{background:var(--color-primary);color:var(--color-white)}.signup-btn{border:2px solid var(--color-primary)}.signup-btn:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.auth-loading{color:var(--color-text-light);font-size:.9rem}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-white);border:2px solid var(--color-primary);border-radius:2rem;cursor:pointer;font-weight:500;transition:all .3s ease}.user-menu-trigger:hover{background:var(--color-primary-light);transform:translateY(-1px)}.user-avatar{width:2rem;height:2rem;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1rem}.user-name{font-size:.9rem;color:var(--color-text)}.dropdown-arrow{color:var(--color-text-light);font-size:.8rem}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--color-white);border-radius:1rem;box-shadow:var(--shadow-medium);min-width:200px;overflow:hidden;z-index:1000}.user-info{padding:1rem;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.user-email{font-size:.9rem;color:var(--color-text-light)}.menu-divider{height:1px;background:var(--color-gray-200)}.menu-item{display:block;padding:.75rem 1rem;color:var(--color-text);text-decoration:none;transition:background-color .2s ease;border:none;background:none;width:100%;text-align:left;font-family:inherit;font-size:.9rem;cursor:pointer}.menu-item:hover{background:var(--color-primary-light)}.logout-btn{border-top:1px solid var(--color-gray-200);color:var(--color-primary);font-weight:600}.auth-form-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:2rem}.auth-form{background:var(--color-white);padding:3rem;border-radius:2rem;box-shadow:var(--shadow-strong);width:100%;max-width:450px}.auth-form-header{text-align:center;margin-bottom:2rem}.auth-form-header h1{font-size:2.5rem;margin:0 0 1rem;color:var(--color-primary-dark)}.auth-form-header p{color:var(--color-text-light);margin:0;font-size:1.1rem}.auth-form-body{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text)}.form-group input{width:100%;padding:1rem;border:2px solid var(--color-gray-300);border-radius:1rem;font-size:1rem;transition:all .3s ease;background:var(--color-white)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px hsla(5,100%,75%,.1)}.form-group input:disabled{background:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed}.auth-submit-btn{width:100%;padding:1rem;background:var(--color-primary);color:var(--color-white);border:none;border-radius:1rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.auth-submit-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.auth-submit-btn:disabled{background:var(--color-gray-400);cursor:not-allowed;transform:none}.auth-form-footer{text-align:center}.auth-form-footer p{color:var(--color-text-light);margin:0}.auth-link{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.error-message{background:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem;border:1px solid #ffcdd2}.profile-container{max-width:800px;margin:2rem auto;padding:0 2rem}.profile-card{background:var(--color-white);border-radius:2rem;box-shadow:var(--shadow-medium);overflow:hidden}.profile-header{text-align:center;padding:3rem 2rem 2rem;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-accent-light) 100%)}.profile-avatar{width:5rem;height:5rem;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2.5rem}.profile-header h1{margin:0;color:var(--color-primary-dark);font-size:2rem}.profile-content{padding:2rem}.profile-section{margin-bottom:3rem}.profile-section:last-child{margin-bottom:0}.profile-section h2{color:var(--color-primary-dark);margin-bottom:1.5rem;font-size:1.5rem;border-bottom:2px solid var(--color-primary-light);padding-bottom:.5rem}.profile-info{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-gray-50);border-radius:1rem}.info-item label{font-weight:600;color:var(--color-text);margin:0}.info-item span{color:var(--color-text-light)}.travel-history,.travel-settings{text-align:center}.coming-soon{color:var(--color-text-light);font-style:italic;margin-bottom:1.5rem}.planned-features{list-style:none;padding:0;margin:0;display:inline-block;text-align:left}.planned-features li{padding:.5rem 0;color:var(--color-text-light)}.travel-map-container{background:var(--color-white);border-radius:1.5rem;padding:2rem;margin:2rem 0;box-shadow:var(--shadow-medium)}.map-header{text-align:center;margin-bottom:1.5rem}.map-header h3{color:var(--color-primary-dark);font-size:1.8rem;margin:0 0 .5rem}.map-description{color:var(--color-text-light);font-size:1rem;margin:0}.kakao-map{width:100%;height:400px;border-radius:1rem;border:2px solid var(--color-primary-light);overflow:hidden;margin-bottom:1rem}.map-legend{gap:2rem;justify-content:center;padding:1rem;background:var(--color-gray-50);border-radius:.5rem;margin-bottom:1rem}.legend-item,.map-legend{display:flex;align-items:center}.legend-item{gap:.5rem;font-size:.9rem;color:var(--color-text)}.legend-line{width:30px;height:4px;background:var(--color-primary);border-radius:2px}.legend-marker{font-size:1.2rem}.map-notice{background:var(--color-accent-light);padding:1rem;border-radius:.5rem;border-left:4px solid var(--color-accent)}.map-notice p{margin:0 0 .5rem;color:var(--color-text);font-weight:600}.map-notice ul{margin:0;padding-left:1.5rem}.map-notice li{color:var(--color-text-light);margin-bottom:.3rem;font-size:.9rem}.map-section{margin:2rem 0}.map-error{text-align:center;padding:3rem 2rem;background:var(--color-gray-50);border-radius:1rem;border:2px dashed var(--color-gray-300)}.map-error h3{color:var(--color-primary-dark);margin-bottom:1rem}.map-error p{color:var(--color-text-light);margin-bottom:1rem}.map-error code{background:var(--color-gray-200);padding:.2rem .5rem;border-radius:.3rem;font-family:monospace;font-size:.9rem}.loading-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px)}.loading-spinner{text-align:center}.spinner{width:3rem;height:3rem;border-top:3px solid var(--color-gray-300);border:3px solid var(--color-gray-300);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner p{color:var(--color-text-light);font-size:.9rem}@media (max-width:768px){.header-container{padding:1rem;flex-direction:column;gap:1rem}.nav-menu{order:1;flex-wrap:wrap;justify-content:center;gap:1rem}.baby-trip-main{padding:0 1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.features-grid{grid-template-columns:1fr}.course-tabs{flex-direction:column;align-items:center}.course-tab{width:100%;max-width:300px}.schedule-item{padding:1.5rem}.auth-buttons{flex-direction:column;gap:.5rem}.login-btn,.signup-btn{padding:.5rem 1rem;font-size:.9rem}.auth-form-container{padding:1rem}.auth-form{padding:2rem}.user-menu-dropdown{right:-1rem;min-width:180px}.profile-container{padding:0 1rem}.profile-header{padding:2rem 1rem 1rem}.profile-content{padding:1.5rem}.info-item{flex-direction:column;align-items:flex-start;gap:.5rem}.travel-map-container{padding:1rem;margin:1rem 0}.kakao-map{height:300px}.map-legend{flex-direction:column;gap:1rem}.map-notice{padding:.8rem}.map-header h3{font-size:1.5rem}}