:root{--color-primary: #1A365D;--color-primary-light: #2D4A7C;--color-accent: #C5A059;--color-accent-light: #D4B76A;--color-background: #FDFBF7;--color-background-alt: #F5F1E8;--color-text: #4A5568;--color-text-dark: #2D3748;--color-text-light: #718096;--color-border: #E2E8F0;--color-white: #FFFFFF;--color-success: #38A169;--color-error: #E53E3E;--color-warning: #DD6B20;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{font-weight:500;color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-light)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background)}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-text-dark);line-height:1.3;margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-top:0;color:var(--color-text)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-primary);color:var(--color-white);cursor:pointer;transition:all .2s ease}button:hover{background-color:var(--color-primary-light)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:8px;background-color:var(--color-white);color:var(--color-text-dark);transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-light)}::-webkit-scrollbar-track{background:var(--color-background-alt);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}::selection{background-color:var(--color-primary);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}:root{--color-primary: #1A365D;--color-primary-dark: #122744;--color-primary-light: #2D4A7C;--color-primary-bg: #F0F4F8;--color-accent: #C5A059;--color-accent-dark: #A8864A;--color-accent-light: #D4B76A;--color-accent-bg: rgba(197, 160, 89, .1);--color-text-dark: #2D3748;--color-text-medium: #4A5568;--color-text-light: #718096;--color-text-muted: #A0AEC0;--color-bg-primary: #FDFBF7;--color-bg-secondary: #F5F1E8;--color-bg-white: #FFFFFF;--color-border-light: #E2E8F0;--color-border-medium: #CBD5E0;--color-success: #38A169;--color-success-bg: #C6F6D5;--color-error: #E53E3E;--color-error-bg: #FED7D7;--color-warning: #DD6B20;--color-warning-bg: #FEEBC8;--color-info: #3182CE;--color-info-bg: #BEE3F8;--gradient-premium: linear-gradient(135deg, #C5A059 0%, #D4B76A 100%);--gradient-primary: linear-gradient(135deg, #1A365D 0%, #2D4A7C 100%);--gradient-accent: linear-gradient(135deg, #C5A059 0%, #A8864A 100%);--shadow-sm: 0 2px 8px rgba(26, 54, 93, .04);--shadow-md: 0 4px 20px rgba(26, 54, 93, .08);--shadow-lg: 0 8px 30px rgba(26, 54, 93, .12);--shadow-xl: 0 20px 60px rgba(26, 54, 93, .15);--shadow-primary: 0 4px 15px rgba(26, 54, 93, .25);--shadow-accent: 0 4px 15px rgba(197, 160, 89, .3);--font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--max-width: 1200px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}@media(max-width:767px){html{font-size:15px}}body{font-family:var(--font-family);background-color:var(--color-bg-primary);color:var(--color-text-dark);line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.05rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-primary);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #1a365d59}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#e0e0e0;color:#999;cursor:not-allowed;box-shadow:none}.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:var(--gradient-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.05rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-accent);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 25px #c5a05966}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background-color:#fff;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:1.05rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.btn-text{padding:.5rem 1rem;background:transparent;color:var(--color-text-light);border:none;font-size:.95rem;cursor:pointer;transition:color var(--transition-fast)}.btn-text:hover{color:var(--color-primary)}.btn-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background-color:var(--color-bg-secondary);cursor:pointer;transition:background-color var(--transition-fast)}.btn-icon:hover{background-color:var(--color-border-light)}@media(max-width:767px){.btn-primary,.btn-secondary,.btn-accent{width:100%;padding:1.1rem 1.5rem;font-size:1.1rem}}.card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-premium{border:2px solid var(--color-accent);position:relative}.card-premium:before{content:"⭐ 추천";position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:4px 12px;background:var(--gradient-accent);color:#fff;border-radius:20px;font-size:.8rem;font-weight:600}@media(max-width:767px){.card{padding:1.25rem;border-radius:var(--radius-md)}}.message-bubble{max-width:75%;padding:1rem 1.25rem;border-radius:20px;position:relative;word-wrap:break-word}.message-ai{background:#fff;color:var(--color-text-dark);border:1px solid var(--color-border-medium);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm)}.message-user{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:4px;margin-left:auto}@media(max-width:767px){.message-bubble{max-width:85%;padding:.875rem 1rem}}.input-container{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#fff;border-radius:28px;border:1px solid var(--color-border-medium);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a365d1a}.input-field{flex:1;padding:.75rem 1rem;border:none;font-size:1rem;font-family:inherit;background:transparent;outline:none;resize:none}.input-field::placeholder{color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.badge-premium{background:var(--gradient-premium);color:#fff}.badge-primary{background:var(--color-primary);color:#fff}.badge-free{background:var(--color-bg-secondary);color:var(--color-text-light)}.badge-success{background:var(--color-success-bg);color:#276749}.badge-warning{background:var(--color-warning-bg);color:#c05621}.badge-error{background:var(--color-error-bg);color:#c53030}.progress-bar{width:100%;height:12px;background:var(--color-border-light);border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:6px;transition:width var(--transition-slow)}.progress-fill-accent{background:var(--gradient-accent)}.modal-overlay{position:fixed;inset:0;background:#1a365d99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:var(--radius-xl);padding:2rem;max-width:440px;width:100%;position:relative;box-shadow:var(--shadow-xl);animation:modalSlideIn .3s ease-out}@media(max-width:767px){.modal-content{position:fixed;bottom:0;left:0;right:0;max-width:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;overflow-y:auto;animation:modalSlideUp .3s ease-out}}.header{background:#fff;border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.header-inner{max-width:var(--max-width);margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}@media(max-width:767px){.header-inner{padding:1rem}}.nav-link{color:var(--color-text-medium);text-decoration:none;font-size:.95rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-link:hover{color:var(--color-primary);background:var(--color-primary-bg)}.nav-link-active{color:var(--color-primary);font-weight:600}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-accent{border-top-color:var(--color-accent)}.loading-dots{display:flex;gap:4px}.loading-dots span{width:8px;height:8px;background:var(--color-primary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-border-light) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.bg-white{background-color:#fff}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.w-full{width:100%}.h-full{height:100%}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0 2rem}}.grid{display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1023px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}}.hide-mobile{display:block}.hide-desktop{display:none}@media(max-width:767px){.hide-mobile{display:none!important}.hide-desktop{display:block!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-primary);color:#fff}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){:root{--color-primary: #0D2240;--color-text-dark: #000000;--color-border-light: #666666}}@media print{.header,.btn-primary,.btn-secondary,.modal-overlay{display:none!important}body{background:#fff;color:#000}.card{box-shadow:none;border:1px solid #ccc}}
