.btn{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-weight:500;gap:var(--space-sm);justify-content:center;transition:all var(--transition-base);white-space:nowrap}.btn-primary{background:var(--gradient-primary);box-shadow:0 4px 14px #4f8df559;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #4f8df573}.btn-secondary{background:#fff;border:2px solid var(--star-blue);color:var(--star-blue)}.btn-secondary:hover:not(:disabled){background:var(--star-blue);color:#fff}.btn-accent{background:var(--gradient-warm);box-shadow:0 4px 14px #ffc85759;color:var(--text-dark)}.btn-accent:hover:not(:disabled){box-shadow:0 6px 20px #ffc85773}.btn-ghost{background:#0000;color:var(--text-dark)}.btn-ghost:hover:not(:disabled){background:#4f8df51a;color:var(--star-blue)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{font-size:.875rem;padding:8px 16px}.btn-md{font-size:1rem;padding:12px 24px}.btn-lg{font-size:1.125rem;padding:16px 32px}.btn-xl{font-size:1.25rem;padding:20px 40px}.btn-full{width:100%}.btn-disabled,.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-loading{color:#0000!important;position:relative}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;height:20px;position:absolute;width:20px}.btn-accent .btn-spinner,.btn-primary .btn-spinner{border-top-color:#fff}.btn-icon{font-size:1.2em}.btn-icon,.btn-text{align-items:center;display:inline-flex}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-bottom:1px solid var(--border-soft);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.header-container{gap:var(--space-lg);height:72px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 var(--space-lg)}.header-container,.header-logo{align-items:center;display:flex}.header-logo{flex-shrink:0;gap:var(--space-sm);text-decoration:none}.logo-star{animation:starTwinkle 2s ease-in-out infinite;font-size:1.75rem}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-korean{color:var(--star-blue);font-family:var(--font-display);font-size:1.25rem;font-weight:700}.logo-english{color:var(--text-muted);font-size:.65rem;font-weight:500;letter-spacing:.15em}.header-search{align-items:center;display:flex;flex:1 1;margin:0 var(--space-lg);max-width:420px;position:relative}.header-search .search-icon{color:var(--text-light);height:18px;left:14px;position:absolute;transition:color var(--transition-base);width:18px}.header-search.focused .search-icon{color:var(--star-blue)}.header-search .search-input{background:var(--sky-wash);border:2px solid var(--border-soft);border-radius:var(--radius-full);font-size:.9rem;padding:10px 16px 10px 44px;transition:all var(--transition-base);width:100%}.header-search .search-input::placeholder{color:var(--text-light)}.header-search .search-input:focus{background:#fff;border-color:var(--star-blue);box-shadow:0 0 0 4px #4f8df51a;outline:none}.header-nav{align-items:center;display:flex;flex-shrink:0;gap:var(--space-lg)}.nav-link{color:var(--text-dark);font-size:.95rem;font-weight:500;padding:var(--space-sm) 0;position:relative;transition:color var(--transition-base)}.nav-link:after{background:var(--star-blue);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-base);width:0}.nav-link:hover{color:var(--star-blue)}.nav-link:hover:after{width:100%}.nav-link.nav-btn{background:none;border:none;cursor:pointer;font-family:inherit}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-md)}.user-menu-wrapper{position:relative}.user-menu-trigger{align-items:center;background:var(--sky-wash);border:1px solid var(--border-soft);border-radius:var(--radius-full);cursor:pointer;display:flex;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);transition:all var(--transition-base)}.user-menu-trigger:hover{background:#fff;box-shadow:var(--shadow-md)}.user-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.user-name{color:var(--text-dark);font-size:.9rem;font-weight:500}.user-type-badge{background:var(--star-blue);border-radius:var(--radius-full);color:#fff;font-size:.7rem;padding:2px 6px}.dropdown-arrow{color:var(--text-muted);height:16px;transition:transform var(--transition-base);width:16px}.user-menu-trigger:hover .dropdown-arrow{transform:translateY(2px)}.user-dropdown{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px)}.dropdown-item{align-items:center;background:none;border:none;color:var(--text-dark);cursor:pointer;display:flex;font-size:.95rem;gap:var(--space-sm);padding:var(--space-md);text-align:left;transition:background var(--transition-fast);width:100%}.dropdown-item:hover{background:var(--sky-wash)}.dropdown-item.logout{border-top:1px solid var(--border-soft);color:var(--error)}.mobile-actions{align-items:center;display:none;gap:var(--space-xs)}.mobile-search-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--transition-base);width:40px}.mobile-search-toggle svg{color:var(--text-dark);height:22px;transition:color var(--transition-base);width:22px}.mobile-search-toggle.active,.mobile-search-toggle:hover{background:var(--sky-wash)}.mobile-search-toggle.active svg{color:var(--star-blue)}.mobile-menu-btn{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all var(--transition-base);width:40px}.mobile-menu-btn:hover{background:var(--sky-wash)}.hamburger{display:flex;flex-direction:column;gap:5px;width:20px}.hamburger span{background:var(--text-dark);border-radius:2px;display:block;height:2px;transition:all var(--transition-base)}.hamburger.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-search-container{background:#fff;border-top:1px solid var(--border-soft);overflow:hidden}.mobile-search{align-items:center;display:flex;padding:var(--space-sm) var(--space-md);position:relative}.mobile-search .search-icon{color:var(--text-light);height:18px;left:calc(var(--space-md) + 12px);position:absolute;width:18px}.mobile-search .search-input{background:var(--sky-wash);border:2px solid var(--border-soft);border-radius:var(--radius-lg);flex:1 1;font-size:.95rem;padding:12px 40px 12px 42px}.mobile-search .search-input:focus{background:#fff;border-color:var(--star-blue);outline:none}.mobile-search-close{align-items:center;background:var(--border-soft);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;position:absolute;right:calc(var(--space-md) + 10px);transition:all var(--transition-base);width:28px}.mobile-search-close:hover{background:var(--text-muted);color:#fff}.mobile-menu{background:#fff;border-top:1px solid var(--border-soft);overflow:hidden}.mobile-nav{display:flex;flex-direction:column;padding:var(--space-md)}.mobile-nav a,.mobile-nav button{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dark);cursor:pointer;display:block;font-size:1rem;font-weight:500;padding:var(--space-md);text-align:left;text-decoration:none;transition:background var(--transition-fast)}.mobile-nav a:hover,.mobile-nav button:hover{background:var(--sky-wash)}@media (max-width:1024px){.header-search{max-width:280px}.header-nav{gap:var(--space-md)}}@media (max-width:768px){.header-container{height:56px;padding:0 var(--space-md)}.header-actions,.header-nav,.header-search{display:none}.mobile-actions{display:flex}.logo-korean{font-size:1.1rem}.logo-star{font-size:1.5rem}}.points-badge{align-items:center;background:none;border:none;display:inline-flex;gap:2px;padding:0;text-decoration:none;transition:opacity .15s ease}.points-badge:hover{opacity:.7}.points-badge .points-icon{font-size:.65rem;line-height:1}.points-badge .points-value{color:#1f2937!important;font-family:var(--font-main);font-size:.75rem;font-weight:500}.footer{background:#fff;border-top:1px solid var(--border-soft);margin-top:auto}.footer-container{margin:0 auto;max-width:1200px;padding:var(--space-3xl) var(--space-md) var(--space-xl)}.footer-main{grid-gap:var(--space-3xl);display:grid;gap:var(--space-3xl);grid-template-columns:1.5fr 2fr;margin-bottom:var(--space-2xl)}.footer-brand{max-width:320px}.footer-logo{align-items:center;display:inline-flex;gap:var(--space-sm);margin-bottom:var(--space-md);text-decoration:none}.footer-logo .logo-star{font-size:1.5rem}.footer-logo .logo-text{display:flex;flex-direction:column;line-height:1.2}.footer-logo .logo-korean{color:var(--star-blue);font-family:var(--font-display);font-size:1.1rem;font-weight:700}.footer-logo .logo-english{color:var(--text-muted);font-size:.6rem;font-weight:500;letter-spacing:.12em}.footer-tagline{color:var(--text-muted);font-size:.95rem;line-height:1.7}.footer-links{grid-gap:var(--space-xl);display:grid;gap:var(--space-xl);grid-template-columns:repeat(3,1fr)}.footer-section h4{color:var(--text-dark);font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--space-md);text-transform:uppercase}.footer-section a{color:var(--text-muted);display:block;font-size:.9rem;padding:var(--space-xs) 0;transition:color var(--transition-base)}.footer-section a:hover{color:var(--star-blue)}.footer-bottom{align-items:center;border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;padding-top:var(--space-xl)}.copyright{color:var(--text-light);font-size:.85rem}.social-links{display:flex;gap:var(--space-md)}.social-link{align-items:center;background:var(--sky-wash);border-radius:50%;color:var(--text-muted);display:flex;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.social-link svg{height:18px;width:18px}.social-link:hover{background:var(--star-blue);color:#fff}@media (max-width:768px){.footer-main{gap:var(--space-2xl);grid-template-columns:1fr}.footer-brand{max-width:none;text-align:center}.footer-logo{justify-content:center}.footer-links{grid-template-columns:repeat(3,1fr);text-align:center}.footer-bottom{flex-direction:column;gap:var(--space-md);text-align:center}}@media (max-width:480px){.footer-links{gap:var(--space-lg);grid-template-columns:1fr}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182799;inset:0;z-index:var(--z-modal)}.login-modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:460px;overflow-y:auto;padding:var(--space-2xl);position:relative;width:100%}.modal-close{align-items:center;display:flex;height:40px;justify-content:center;position:absolute;right:var(--space-md);top:var(--space-md);width:40px}.modal-close svg{color:var(--text-muted);height:20px;width:20px}.modal-close:hover{background:var(--border-soft)}.modal-close:hover svg{color:var(--text-dark)}.back-button{background:none;border:none;display:flex;margin-bottom:var(--space-md);padding:0;transition:color var(--transition-base)}.back-button:hover{color:var(--text-dark)}.login-header{margin-bottom:var(--space-xl)}.login-icon{animation:float 3s ease-in-out infinite;display:block;font-size:3rem;margin-bottom:var(--space-md)}.login-header h2{color:var(--text-dark);font-size:1.5rem;font-weight:700;margin-bottom:var(--space-sm)}.login-header p{color:var(--text-muted);font-size:.95rem}.login-options{flex-direction:column}.login-option,.login-options{display:flex;gap:var(--space-md)}.login-option{align-items:center;background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-lg);text-align:left;transition:all var(--transition-base)}.login-option:hover{border-color:var(--star-blue);box-shadow:var(--shadow-card)}.login-option.primary,.login-option.user:hover{background:linear-gradient(135deg,#4f8df50d,#7aabff0d);border-color:var(--star-blue)}.login-option.celebrity:hover{background:linear-gradient(135deg,#ffc8571a,#ffe4a01a);border-color:var(--warm-sun)}.option-icon{background:var(--sky-wash);border-radius:var(--radius-md);font-size:1.75rem;height:56px;width:56px}.login-option.celebrity .option-icon{background:linear-gradient(135deg,#ffc85733,#ffe4a033)}.option-content{flex:1 1}.option-content h3{color:var(--text-dark);font-size:1.1rem;font-weight:600;margin-bottom:4px}.option-content p{color:var(--text-muted);font-size:.85rem}.option-arrow{color:var(--text-light);font-size:1.25rem;transition:all var(--transition-base)}.login-option:hover .option-arrow{color:var(--star-blue);transform:translateX(4px)}.login-option.celebrity:hover .option-arrow{color:var(--warm-sun-dark)}.login-divider{align-items:center;display:flex;margin:var(--space-xl) 0}.login-divider:after,.login-divider:before{background:var(--border-soft);content:"";flex:1 1;height:1px}.login-divider span{color:var(--text-muted);font-size:.85rem;padding:0 var(--space-md)}.social-login-options{display:flex;flex-direction:column;gap:var(--space-sm)}.social-login-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:var(--space-sm);justify-content:center;padding:14px var(--space-lg);transition:all var(--transition-base)}.social-login-btn:disabled{cursor:not-allowed;opacity:.7}.social-login-btn.disabled{background:#e5e7eb!important;border:1px solid #d1d5db!important;color:#9ca3af!important;cursor:not-allowed;opacity:.5}.social-login-btn.disabled .social-icon{opacity:.5}.social-login-btn.disabled:hover{transform:none!important}.coming-soon-badge{background:#f59e0b;border-radius:4px;color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.5px;margin-left:8px;padding:2px 6px;text-transform:uppercase}.social-login-btn .social-icon{flex-shrink:0;height:20px;width:20px}.social-login-btn.kakao{background:#fee500;color:#3c1e1e}.social-login-btn.kakao:hover:not(:disabled){background:#f5dc00}.social-login-btn.kakao .social-icon{color:#3c1e1e}.social-login-btn.google{background:#fff;border:2px solid var(--border-soft);color:var(--text-dark)}.social-login-btn.google:hover:not(:disabled){background:#f8f9fa;border-color:#dadce0}.social-login-btn.apple{background:#000;color:#fff}.social-login-btn.apple:hover:not(:disabled){background:#333}.test-login-options{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:1fr 1fr}.test-login-btn{align-items:center;background:var(--sky-wash);border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--text-dark);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:var(--space-xs);justify-content:center;padding:var(--space-md);transition:all var(--transition-base)}.test-login-btn:hover{background:var(--border-soft)}.test-login-btn.celebrity{background:linear-gradient(135deg,#ffc85726,#ffe4a026)}.test-login-btn.celebrity:hover{background:linear-gradient(135deg,#ffc85740,#ffe4a040)}.login-form{gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group input{border:2px solid var(--border-soft);border-radius:var(--radius-md);font-size:1rem;padding:var(--space-md);transition:all var(--transition-base)}.form-group input:focus{border-color:var(--star-blue);box-shadow:0 0 0 3px #4f8df51a;outline:none}.form-group input::placeholder{color:var(--text-light)}.error-message{background:#ef44441a;border:1px solid #ef44444d;border-radius:var(--radius-md);color:#dc2626;font-size:.9rem;padding:var(--space-sm) var(--space-md);text-align:center}.submit-btn{background:var(--star-blue);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:all var(--transition-base)}.submit-btn:hover:not(:disabled){background:var(--star-blue-dark)}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.switch-mode{color:var(--text-muted);font-size:.9rem;margin-top:var(--space-lg);text-align:center}.switch-mode button{background:none;border:none;color:var(--star-blue);cursor:pointer;font-weight:600;margin-left:var(--space-xs)}.switch-mode button:hover{text-decoration:underline}.login-footer{border-top:1px solid var(--border-soft);margin-top:var(--space-xl);padding-top:var(--space-lg)}.test-notice{background:var(--sky-wash);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;padding:var(--space-sm) var(--space-md);text-align:center}@media (max-width:480px){.login-modal{border-radius:var(--radius-lg);padding:var(--space-lg)}.login-icon{font-size:2.5rem}.login-header h2{font-size:1.25rem}.option-icon{font-size:1.5rem;height:48px;width:48px}.option-content h3{font-size:1rem}.test-login-options{grid-template-columns:1fr}}.celebrity-card-wrapper{position:relative}.celebrity-card{background:#fff;border:1px solid #0000000f;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;display:block;overflow:hidden;text-decoration:none;transition:all var(--transition-base)}.celebrity-card:hover{border-color:#0000;box-shadow:0 20px 40px #00000014;transform:translateY(-4px)}.card-image-section{aspect-ratio:1;background:linear-gradient(135deg,#f0f4f8,#e8ecf0);overflow:hidden;position:relative}.card-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.celebrity-card:hover .card-image{transform:scale(1.03)}.rank-badge{align-items:center;border-radius:0 0 var(--radius-md) 0;display:flex;font-size:.85rem;font-weight:800;height:32px;justify-content:center;left:0;position:absolute;top:0;width:32px;z-index:5}.rank-badge.rank-1{background:linear-gradient(135deg,gold,#ffc107);box-shadow:0 2px 8px #ffc1074d;color:#8b6914}.rank-badge.rank-2{background:linear-gradient(135deg,#e8e8e8,silver);box-shadow:0 2px 8px #0000001a;color:#5a5a5a}.rank-badge.rank-3{background:linear-gradient(135deg,#e6a86c,#cd7f32);box-shadow:0 2px 8px #cd7f324d;color:#5c3d1e}.rank-number{line-height:1}.rating-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-radius:var(--radius-sm);color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:3px;padding:4px 8px;position:absolute;right:var(--space-sm);top:var(--space-sm);z-index:5}.rating-badge .star{color:var(--warm-sun);font-size:.7rem}.time-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-radius:var(--radius-sm);bottom:var(--space-sm);color:#fff;font-size:.7rem;font-weight:500;left:var(--space-sm);padding:4px 10px;position:absolute;z-index:5}.card-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity var(--transition-base);z-index:4}.celebrity-card:hover .card-overlay{opacity:1}.quick-action{background:#fff;border-radius:var(--radius-full);color:var(--text-dark);font-size:.9rem;font-weight:600;padding:12px 28px;transform:translateY(8px);transition:all var(--transition-base)}.celebrity-card:hover .quick-action{transform:translateY(0)}.card-info{padding:var(--space-md)}.card-name{color:var(--text-dark);font-size:1rem;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-description{font-size:.8rem;line-height:1.5;margin-bottom:var(--space-md);min-height:2.4em}.card-cta{align-items:center;background:var(--text-dark);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:6px;justify-content:center;padding:12px 16px;transition:all var(--transition-base);width:100%}.card-cta:hover{background:var(--star-blue)}.cta-text{color:#fff;font-size:.9rem;font-weight:600}.cta-divider{color:#fff6;font-size:.8rem}.cta-price{color:#ffffffd9;font-size:.85rem;font-weight:500}@media (max-width:768px){.celebrity-card:hover{transform:translateY(-2px)}.card-overlay{display:none}.rank-badge{font-size:.8rem;height:28px;width:28px}.rating-badge{font-size:.7rem;padding:3px 6px}.rating-badge .star,.time-badge{font-size:.65rem}.time-badge{padding:3px 8px}}@media (max-width:640px){.card-info{padding:12px}.card-name{font-size:.95rem}.card-description{font-size:.75rem;margin-bottom:var(--space-sm);min-height:2.2em}.card-cta{gap:4px;padding:10px 12px}.cta-text{font-size:.8rem}.cta-price,.rank-badge{font-size:.75rem}.rank-badge{border-radius:0 0 8px 0;height:26px;width:26px}}@media (max-width:400px){.card-info{padding:var(--space-sm) var(--space-md)}.card-name{font-size:1rem}.card-description{font-size:.8rem}.card-cta{padding:11px 14px}}.home{background:var(--sky-wash);min-height:100vh}.hero-banner{background:linear-gradient(135deg,#4f8df5,#7aabff 50%,#9bc5ff);overflow:hidden;padding:var(--space-2xl) 0;position:relative}.hero-bg-pattern{background-image:radial-gradient(circle at 10% 20%,#ffc85740 0,#0000 40%),radial-gradient(circle at 90% 80%,#ffc85733 0,#0000 40%),radial-gradient(circle at 50% 50%,#ffffff1a 0,#0000 60%);inset:0;pointer-events:none;position:absolute}.hero-banner:after,.hero-banner:before{animation:float 4s ease-in-out infinite;color:#fff6;content:"✦";font-size:1rem;position:absolute}.hero-banner:before{animation-delay:0s;left:10%;top:20%}.hero-banner:after{animation-delay:2s;right:15%;top:60%}.hero-banner .container{position:relative;z-index:1}.hero-content{margin:0 auto;max-width:700px;text-align:center}.hero-content h1{color:#fff;font-size:1.75rem;font-weight:700;line-height:1.6;margin-bottom:var(--space-lg);text-shadow:0 2px 10px #0000001a}.hero-emoji{animation:float 3s ease-in-out infinite;display:inline-block;font-size:1.5rem;margin-right:var(--space-xs)}.hero-content .highlight{color:var(--warm-sun);font-weight:800;position:relative}.hero-content .highlight:after{background:var(--warm-sun);border-radius:2px;bottom:-2px;content:"";height:3px;left:0;opacity:.5;position:absolute;right:0}.hero-stats{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-full);display:inline-flex;gap:var(--space-lg);padding:var(--space-md) var(--space-xl)}.hero-stats .stat{align-items:center;color:#fff;display:flex;gap:var(--space-xs)}.hero-stats .stat-value{font-size:1.1rem;font-weight:800}.hero-stats .stat-label{font-size:.85rem;opacity:.9}.hero-stats .stat-divider{color:#fff6;font-size:.5rem}.category-section{background:#fff;border-bottom:1px solid var(--border-soft);padding:var(--space-md) 0;position:-webkit-sticky;position:sticky;top:72px;z-index:50}.category-scroll{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-sm);overflow-x:auto;padding:var(--space-xs) 0;scrollbar-width:none}.category-scroll::-webkit-scrollbar{display:none}.category-chip{align-items:center;background:var(--sky-wash);border:2px solid #0000;border-radius:var(--radius-full);color:var(--text-dark);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 18px;transition:all var(--transition-base);white-space:nowrap}.category-chip:hover{background:#fff;border-color:var(--star-blue-light);box-shadow:var(--shadow-sm)}.category-chip.active{background:var(--star-blue);border-color:var(--star-blue);color:#fff}.chip-icon{font-size:1.1rem}.chip-count{background:#00000014;border-radius:var(--radius-full);font-size:.75rem;padding:2px 6px}.category-chip.active .chip-count{background:#ffffff40}.celebrities-section{padding:var(--space-xl) 0 var(--space-3xl)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.section-header h2{font-size:1.4rem;font-weight:700}.view-all{color:var(--star-blue);font-size:.95rem;font-weight:500;transition:all var(--transition-base)}.view-all:hover{color:var(--star-blue-dark)}.celebrities-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(4,1fr)}.skeleton-card{box-shadow:var(--shadow-card)}.load-more{margin-top:var(--space-2xl);text-align:center}.how-section{background:#fff;border-top:1px solid var(--border-soft);padding:var(--space-xl) 0}.how-grid{gap:var(--space-xl);justify-content:center}.how-grid,.how-item{align-items:center;display:flex}.how-item{gap:var(--space-md)}.how-icon{align-items:center;background:var(--sky-wash);border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:1.75rem;height:52px;justify-content:center;width:52px}.how-content h4{color:var(--text-dark);font-size:.9rem;font-weight:600;margin-bottom:2px}.how-content p{color:var(--text-muted);font-size:.8rem}.how-arrow{color:var(--border-soft);flex-shrink:0;font-size:1.25rem}@media (max-width:1200px){.celebrities-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.celebrities-grid{grid-template-columns:repeat(2,1fr)}.how-grid{flex-wrap:wrap;gap:var(--space-md)}.how-arrow{display:none}.how-item{background:var(--sky-wash);border-radius:var(--radius-lg);flex:1 1;min-width:200px;padding:var(--space-md)}}@media (max-width:768px){.category-section{top:56px}.hero-banner{padding:var(--space-xl) 0}.hero-content h1{font-size:1.35rem;line-height:1.5}.hero-stats{gap:var(--space-md);padding:var(--space-sm) var(--space-md)}.hero-stats .stat-value{font-size:1rem}.hero-stats .stat-label{font-size:.8rem}}@media (max-width:640px){.celebrities-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.section-header h2{font-size:1.2rem}.how-item{flex:auto;min-width:100%}.hero-content h1{font-size:1.15rem}.hero-emoji{font-size:1.25rem}.hero-stats{border-radius:var(--radius-lg);flex-wrap:wrap;gap:var(--space-sm) var(--space-md);justify-content:center}.hero-stats .stat-divider{display:none}}@media (max-width:400px){.celebrities-grid{grid-template-columns:1fr}}.explore-page{background:var(--sky-wash);min-height:100vh;padding:var(--space-lg) 0 var(--space-3xl)}.explore-header{margin-bottom:var(--space-lg);text-align:center}.explore-header h1{font-size:1.75rem;font-weight:700;margin-bottom:var(--space-xs)}.explore-header p{color:var(--text-muted);font-size:1rem}.search-bar{margin-bottom:var(--space-lg)}.search-input-container{margin:0 auto;max-width:500px;position:relative}.search-bar .search-icon{color:var(--text-light);height:20px;left:var(--space-md);position:absolute;top:50%;transform:translateY(-50%);width:20px}.search-bar .search-input{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-full);font-size:1rem;padding:14px 48px;transition:all var(--transition-base);width:100%}.search-bar .search-input:focus{border-color:var(--star-blue);box-shadow:0 0 0 4px #4f8df51a;outline:none}.search-clear{align-items:center;background:var(--border-soft);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);transition:all var(--transition-base);width:24px}.search-clear:hover{background:var(--text-muted);color:#fff}.category-filters{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);overflow-x:auto;padding-bottom:var(--space-sm);scrollbar-width:none}.category-filters::-webkit-scrollbar{display:none}.category-filter{align-items:center;background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-full);color:var(--text-dark);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 16px;transition:all var(--transition-base);white-space:nowrap}.category-filter:hover{border-color:var(--star-blue);color:var(--star-blue)}.category-filter.active{background:var(--star-blue);border-color:var(--star-blue);color:#fff}.filter-icon{font-size:1rem}.results-header{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg)}.results-count{color:var(--text-muted);font-size:.95rem}.results-count strong{color:var(--text-dark)}.loading-text{color:var(--text-light)}.sort-select-wrapper{position:relative}.sort-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:2px solid var(--border-soft);border-radius:var(--radius-md);color:var(--text-dark);cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 36px 10px 14px;transition:all var(--transition-base)}.sort-select:focus{border-color:var(--star-blue);outline:none}.results-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(4,1fr)}.skeleton-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 2px 12px #0000000f;overflow:hidden}.skeleton-image{animation:shimmer 1.5s infinite;aspect-ratio:1;background:linear-gradient(90deg,var(--sky-wash) 25%,#e8edf5 50%,var(--sky-wash) 75%);background-size:200% 100%}.skeleton-content{padding:var(--space-md)}.skeleton-line{background:var(--sky-wash);border-radius:var(--radius-sm);height:14px;margin-bottom:var(--space-sm)}.skeleton-line.short{width:60%}.no-results{padding:var(--space-3xl) var(--space-md);text-align:center}.no-results-icon{display:block;font-size:4rem;margin-bottom:var(--space-md);opacity:.5}.no-results h3{color:var(--text-dark);font-size:1.25rem;margin-bottom:var(--space-sm)}.no-results p{color:var(--text-muted)}@media (max-width:1200px){.results-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.results-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.explore-header h1{font-size:1.4rem}.results-header{align-items:stretch;flex-direction:column}.results-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr)}}@media (max-width:400px){.results-grid{grid-template-columns:1fr}}.detail-page{background:#f8f9fa;min-height:100vh;padding:var(--space-xl) 0 var(--space-3xl)}.detail-container{grid-gap:var(--space-xl) var(--space-xl);align-items:start;display:grid;gap:var(--space-xl) var(--space-xl);grid-template-columns:1fr 360px;grid-template-rows:auto auto;margin:0 auto;max-width:1100px;padding:0 var(--space-lg)}.profile-card{grid-column:1;grid-row:1}.detail-sidebar{grid-column:2;grid-row:1/3;position:-webkit-sticky;position:sticky;top:100px}.reviews-card{grid-column:1;grid-row:2}.error-state,.loading-state{min-height:50vh}.spinner{border:3px solid #e5e7eb}.profile-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;overflow:hidden}.profile-media{aspect-ratio:16/9;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.profile-img{height:100%;object-fit:cover;width:100%}.profile-body{padding:var(--space-xl)}.profile-meta{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.meta-category{background:var(--star-blue);border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px}.meta-rating{color:var(--warm-sun);font-size:.85rem;font-weight:600}.profile-name{color:#111;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}.profile-english{color:#888;font-size:.95rem;margin-bottom:var(--space-lg)}.profile-bio{color:#333;font-size:1rem;line-height:1.7;margin-bottom:var(--space-lg)}.profile-full-bio{background:#f9fafb;border-left:3px solid var(--star-blue);border-radius:12px;padding:var(--space-lg)}.profile-full-bio p{color:#444;font-size:.95rem;line-height:1.8;margin-bottom:var(--space-sm)}.profile-full-bio p:last-child{margin-bottom:0}.reviews-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;padding:var(--space-xl)}.reviews-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.reviews-header h2{font-size:1.1rem;font-weight:700}.reviews-count{color:#666;font-size:.9rem}.reviews-list{display:flex;flex-direction:column;gap:var(--space-lg)}.review-item{border-bottom:1px solid #f5f5f5;padding-bottom:var(--space-lg)}.review-item:last-child{border-bottom:none;padding-bottom:0}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-sm)}.review-author{color:#111;font-size:.95rem;font-weight:600}.review-rating{color:var(--warm-sun);font-size:.8rem;letter-spacing:1px}.review-content{color:#444;font-size:.95rem;line-height:1.6;margin-bottom:var(--space-sm)}.review-meta{align-items:center;color:#999;display:flex;font-size:.8rem;gap:var(--space-md)}.review-occasion{background:#f5f5f5;border-radius:4px;padding:2px 8px}.booking-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:var(--space-lg)}.booking-title{color:#111;font-size:1rem;font-weight:700;margin-bottom:var(--space-md)}.booking-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);max-height:400px;overflow-y:auto}.no-products-message{color:#666;padding:var(--space-xl) var(--space-md);text-align:center}.no-products-message p{font-size:1rem;margin:0}.no-products-message .sub{color:#999;font-size:.875rem;margin-top:var(--space-xs)}.booking-option{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;gap:var(--space-sm);justify-content:space-between;padding:var(--space-md);text-align:left;transition:all .2s}.booking-option:hover{border-color:#ddd}.booking-option.active{background:#f0f7ff;border-color:var(--star-blue)}.option-left{align-items:flex-start;display:flex;flex:1 1;gap:var(--space-sm);min-width:0}.option-icon{align-items:center;background:#fff;border-radius:8px;display:flex;flex-shrink:0;font-size:1.5rem;height:36px;justify-content:center;width:36px}.option-info{display:flex;flex-direction:column;gap:2px;min-width:0}.option-name{color:#111;font-size:.95rem;font-weight:600}.option-desc{color:#888;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-time{align-items:center;color:#16a34a;display:inline-flex;font-size:.7rem;font-weight:500;gap:4px;margin-top:2px}.option-price{color:var(--star-blue);flex-shrink:0;font-size:.95rem;font-weight:700;white-space:nowrap}.booking-total{align-items:center;border-bottom:1px solid #eee;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding:var(--space-md) 0}.booking-total span:first-child{color:#666;font-size:.9rem}.total-price{color:#111;font-size:1.35rem}.booking-note{color:#888;font-size:.85rem;margin-top:var(--space-md);text-align:center}@media (max-width:900px){.detail-container{grid-template-columns:1fr;max-width:600px}.profile-card{grid-column:1;grid-row:1}.detail-sidebar{grid-column:1;grid-row:2;position:static}.reviews-card{grid-column:1;grid-row:3}.booking-card{box-shadow:0 2px 10px #00000014}.profile-media{aspect-ratio:4/3}}@media (max-width:640px){.detail-page{padding:var(--space-md) 0 var(--space-2xl)}.detail-container{gap:var(--space-md);padding:0 var(--space-md)}.profile-card{border-radius:12px}.profile-body{padding:var(--space-lg)}.profile-name{font-size:1.4rem}.profile-english{font-size:.9rem;margin-bottom:var(--space-md)}.profile-bio{font-size:.95rem}.reviews-card{border-radius:12px;padding:var(--space-lg)}.reviews-header h2{font-size:1rem}.booking-card{border-radius:12px;padding:var(--space-md)}.booking-option{padding:var(--space-sm) var(--space-md)}.option-name{font-size:.9rem}.option-price{font-size:.95rem}.total-price{font-size:1.2rem}}.write-letter-page{background:var(--sky-wash);min-height:100vh;padding:var(--space-xl) 0 var(--space-3xl)}.write-letter-page .container{max-width:1000px}.progress-steps{justify-content:center;margin-bottom:var(--space-2xl)}.progress-step,.progress-steps{align-items:center;display:flex}.progress-step{flex-direction:column;gap:var(--space-xs)}.step-circle{align-items:center;background:#fff;border:2px solid var(--border-soft);border-radius:50%;color:var(--text-muted);display:flex;font-weight:600;height:40px;justify-content:center;transition:all var(--transition-base);width:40px}.progress-step.active .step-circle{background:var(--star-blue);border-color:var(--star-blue);color:#fff}.progress-step.completed .step-circle{background:var(--success);border-color:var(--success);color:#fff}.step-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.progress-step.active .step-label{color:var(--star-blue)}.progress-line{background:var(--border-soft);height:2px;margin:0 var(--space-sm);margin-bottom:24px;width:80px}.progress-line.active{background:var(--success)}.step-content{animation:fadeIn var(--transition-base)}.letter-form-container{grid-gap:var(--space-xl);align-items:start;display:grid;gap:var(--space-xl);grid-template-columns:1fr 320px}.form-section{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-xl)}.form-header{margin-bottom:var(--space-xl)}.form-header h1{font-size:1.75rem;margin-bottom:var(--space-xs)}.form-header p{color:var(--text-muted)}.form-group label{color:#111827;font-weight:600;margin-bottom:var(--space-sm)}.letter-form .form-group label,.write-letter-page .form-group label{color:#111827}.form-group .required{color:var(--error)}.form-group input,.form-group textarea{-webkit-text-fill-color:#1a1a2e;background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-md);color:#1a1a2e!important;font-size:1rem;padding:var(--space-md);transition:all var(--transition-base);width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-group input:focus,.form-group textarea:focus{border-color:var(--star-blue);box-shadow:0 0 0 4px #4f8df51a;outline:none}.form-group input.error,.form-group textarea.error{border-color:var(--error)}.form-group textarea{min-height:120px}.hint{color:var(--text-light)}.error-message,.hint{display:block;font-size:.85rem;margin-top:var(--space-xs)}.error-message{color:var(--error)}.textarea-footer{display:flex;justify-content:space-between;margin-top:var(--space-xs)}.char-count{color:var(--text-light);font-size:.85rem}.occasion-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(4,1fr)}.occasion-btn{align-items:center;background:var(--sky-wash);border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);transition:all var(--transition-base)}.occasion-btn:hover{background:#fff;border-color:var(--star-blue-light)}.occasion-btn.selected{background:#fff;border-color:var(--star-blue);box-shadow:var(--shadow-sm)}.occasion-icon{font-size:1.5rem}.occasion-label{color:var(--text-dark);font-size:.85rem;font-weight:500}.preview-section{position:-webkit-sticky;position:sticky;top:100px}.celebrity-preview-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-md);padding:var(--space-lg);text-align:center}.preview-image{border:3px solid var(--sky-wash);border-radius:50%;height:100px;margin:0 auto var(--space-md);object-fit:cover;width:100px}.preview-info{margin-bottom:var(--space-md)}.preview-category{background:var(--sky-wash);border-radius:var(--radius-full);color:var(--star-blue);display:inline-block;font-size:.8rem;margin-bottom:var(--space-xs);padding:2px 10px}.preview-info h3{font-size:1.25rem;margin-bottom:var(--space-xs)}.preview-stats{color:var(--text-muted);display:flex;font-size:.9rem;gap:var(--space-md);justify-content:center}.preview-price{border-top:1px solid var(--border-soft);padding-top:var(--space-md)}.preview-price .label{color:var(--text-muted);display:block;font-size:.85rem;margin-bottom:var(--space-xs)}.preview-price .price{color:var(--star-blue);font-size:1.5rem;font-weight:700}.tips-card{background:var(--paper-white);border:1px solid var(--warm-sun-light);padding:var(--space-lg)}.tips-card h4{font-size:1rem;margin-bottom:var(--space-md)}.tips-card li{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:var(--space-sm);padding-left:var(--space-lg)}.tips-card li:before{color:var(--warm-sun-dark);content:"✓"}.payment-container{margin:0 auto;max-width:640px;padding:0 var(--space-md);width:100%}.payment-summary h2{margin-bottom:var(--space-xl);text-align:center}.summary-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.celebrity-summary{align-items:center;display:flex;gap:var(--space-md)}.celebrity-summary img{border-radius:50%;height:60px;object-fit:cover;width:60px}.celebrity-summary h4{font-size:1.1rem;margin-bottom:2px}.celebrity-summary p{color:var(--text-muted);font-size:.9rem}.summary-divider{background:var(--border-soft);height:1px;margin:var(--space-md) 0}.detail-row{font-size:.95rem}.summary-total{align-items:center;display:flex;justify-content:space-between;padding-top:var(--space-sm)}.summary-total span:first-child{font-weight:600}.total-price{color:var(--star-blue);font-size:1.5rem;font-weight:700}.payment-methods{background:var(--sky-wash);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-lg);text-align:center}.payment-methods h3{color:var(--text-dark);font-size:1.1rem;margin-bottom:var(--space-sm)}.payment-methods .payment-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-md)}.payment-badges{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.payment-badges .badge{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-full);color:var(--text-muted);font-size:.85rem;padding:var(--space-xs) var(--space-md)}.method-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-lg)}.method-btn{align-items:center;background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);transition:all var(--transition-base)}.method-btn.selected,.method-btn:hover{border-color:var(--star-blue)}.method-btn.selected{background:var(--sky-wash)}.method-icon{font-size:1.5rem}.method-btn span:last-child{font-size:.85rem;font-weight:500}.payment-notice{background:var(--warning-light);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md);text-align:center}.payment-notice p{color:var(--warning);font-size:.9rem}.payment-actions{display:flex;gap:var(--space-md)}.payment-actions .btn:last-child{flex:1 1}.completion-container{margin:0 auto;max-width:500px;padding:var(--space-3xl) var(--space-md);text-align:center}.completion-icon{display:block;font-size:5rem;margin-bottom:var(--space-lg)}.completion-container h1{font-size:2rem;margin-bottom:var(--space-md)}.completion-message{color:var(--text-muted);font-size:1.1rem;line-height:1.7;margin-bottom:var(--space-xl)}.completion-info{background:#fff;border-radius:var(--radius-lg);display:flex;gap:var(--space-xl);justify-content:center;margin-bottom:var(--space-xl);padding:var(--space-lg)}.info-item{text-align:center}.info-label{display:block;font-size:.85rem;margin-bottom:var(--space-xs)}.completion-actions{display:flex;flex-direction:column;gap:var(--space-md)}@media (max-width:900px){.letter-form-container{grid-template-columns:1fr}.preview-section{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr;position:static}.celebrity-preview-card{margin-bottom:0}}@media (max-width:640px){.occasion-grid{grid-template-columns:repeat(2,1fr)}.preview-section{grid-template-columns:1fr}.progress-line{width:40px}.step-label{font-size:.75rem}.method-grid{grid-template-columns:1fr}.completion-info{flex-direction:column;gap:var(--space-md)}}.toss-payment-widget{margin-bottom:var(--space-xl)}.payment-method-widget{margin-bottom:var(--space-md);min-height:200px}.agreement-widget,.payment-method-widget{background:#fff;border-radius:var(--radius-lg);overflow:hidden}.agreement-widget{min-height:50px}.widget-loading{color:var(--text-muted);padding:var(--space-2xl)}.widget-loading.small{padding:var(--space-lg)}.widget-loading p{font-size:.9rem;margin-top:var(--space-sm)}.widget-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-soft);border-radius:50%;border-top-color:var(--star-blue);height:32px;width:32px}.currency-tabs{background:var(--sky-wash);border-radius:var(--radius-md);gap:var(--space-xs);margin-bottom:var(--space-md);padding:4px}.currency-tab{background:#0000;border:none;border-radius:var(--radius-sm);gap:var(--space-xs);padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.currency-tab:hover{background:#ffffff80}.currency-tab.active{background:#fff;box-shadow:var(--shadow-sm)}.currency-tab .tab-icon{font-size:1rem}.currency-tab .tab-label{color:var(--text-muted)}.currency-tab.active .tab-label{color:var(--text-dark);font-weight:600}.star-price{color:#f59e0b!important}.star-total .total-price{color:#f59e0b;font-size:1.5rem}.star-balance-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fbbf24;border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-lg)}.star-balance-card .balance-info{align-items:center;display:flex;justify-content:space-between;padding:var(--space-sm) 0}.star-balance-card .balance-info.after{border-top:1px dashed #fbbf2480;margin-top:var(--space-sm);padding-top:var(--space-md)}.star-balance-card .balance-label{color:#92400e;font-size:.9rem}.star-balance-card .balance-value{color:#b45309;font-size:1.25rem;font-weight:700}.star-balance-card .balance-value.enough{color:#059669}.star-balance-card .balance-value.not-enough{color:#dc2626}.insufficient-star{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;display:flex;font-size:.9rem;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md)}.insufficient-star .warning-icon{font-size:1rem}.insufficient-star .charge-link{background:#dc2626;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;margin-left:auto;padding:var(--space-xs) var(--space-sm);transition:background .2s}.insufficient-star .charge-link:hover{background:#b91c1c}.my-letters-page{background:var(--sky-wash);min-height:100vh;padding:var(--space-xl) 0 var(--space-3xl)}.page-header{margin-bottom:var(--space-xl);text-align:center}.page-header h1{font-size:2rem;margin-bottom:var(--space-xs)}.page-header p{color:var(--text-muted)}.filter-tabs{gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-xl)}.filter-tab{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-full);padding:var(--space-sm) var(--space-lg)}.filter-tab:hover{border-color:var(--star-blue-light);color:var(--star-blue)}.filter-tab.active{border-color:var(--star-blue)}.empty-state{padding:var(--space-3xl)}.empty-state h3{margin-bottom:var(--space-sm)}.empty-state p{margin-bottom:var(--space-xl)}.letters-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(2,1fr)}.letter-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden;position:relative;transition:all var(--transition-base)}.letter-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.letter-card.completed{border:2px solid var(--warm-sun)}.card-header{align-items:flex-start;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:var(--space-lg)}.celebrity-info{align-items:center;display:flex;gap:var(--space-md)}.celebrity-avatar{border-radius:50%;height:48px;object-fit:cover;width:48px}.celebrity-info h3{font-size:1.1rem;margin-bottom:2px}.celebrity-category{color:var(--text-muted);font-size:.85rem}.status-badge{align-items:center;display:flex;font-size:.8rem;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.status-badge.completed{background:var(--warm-sun-light);color:var(--warm-sun-dark)}.card-body{padding:var(--space-lg)}.letter-meta{align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.occasion-tag{background:var(--sky-wash);border-radius:var(--radius-sm);color:var(--star-blue);font-size:.8rem;padding:2px 8px}.recipient{color:var(--text-muted);font-size:.85rem}.letter-preview{color:var(--text-dark);font-size:.95rem;line-height:1.6}.card-footer{align-items:center;background:var(--sky-wash);display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.letter-info{display:flex;flex-direction:column;gap:2px}.letter-date{color:var(--text-muted);font-size:.85rem}.letter-price{color:var(--text-dark);font-size:.9rem;font-weight:600}.completed-glow{background:var(--gradient-warm);height:4px;left:0;position:absolute;right:0;top:0}@media (max-width:768px){.letters-grid{grid-template-columns:1fr}.card-header{gap:var(--space-md)}.status-badge{align-self:flex-start}}.letter-detail-page{background:var(--sky-wash);min-height:100vh;overflow:hidden;padding:var(--space-xl) 0 var(--space-3xl);position:relative}.letter-detail-page .container{max-width:700px;position:relative;z-index:1}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-md);justify-content:center;min-height:60vh}.back-button{align-items:center;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.9rem;gap:var(--space-xs);margin-bottom:var(--space-xl);padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.back-button:hover{background:var(--star-blue);border-color:var(--star-blue);color:#fff}.completion-bg{inset:0;overflow:hidden;pointer-events:none;position:absolute}.stars-bg .bg-star{animation:starTwinkle 2s ease-in-out infinite;color:var(--warm-sun);opacity:.4;position:absolute}.starletter-arrived{text-align:center}.arrival-header{margin-bottom:var(--space-2xl)}.arrival-icon{animation:float 3s ease-in-out infinite;display:block;font-size:5rem;margin-bottom:var(--space-md)}.arrival-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;font-size:2rem;margin-bottom:var(--space-sm)}.arrival-header p{color:var(--text-muted);font-size:1.1rem}.video-section{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);margin-bottom:var(--space-xl);overflow:hidden}.video-cover{aspect-ratio:16/9;background:#000;cursor:pointer;position:relative}.video-cover .video-thumbnail,.video-cover img{height:100%;object-fit:cover;opacity:.9;width:100%}.video-cover .video-thumbnail{pointer-events:none}.play-overlay{flex-direction:column;transition:background var(--transition-base)}.video-cover:hover .play-overlay{background:#0006}.play-button{align-items:center;background:#fff;border-radius:50%;box-shadow:var(--shadow-lg);display:flex;height:80px;justify-content:center;transition:transform var(--transition-base);width:80px}.video-cover:hover .play-button{transform:scale(1.1)}.play-button svg{color:var(--star-blue);height:32px;margin-left:4px;width:32px}.play-text{color:#fff;font-weight:500;text-shadow:0 2px 4px #0000004d}.video-duration{background:#000000b3;border-radius:var(--radius-sm);bottom:var(--space-md);color:#fff;font-size:.85rem;padding:4px 8px;position:absolute;right:var(--space-md)}.video-player{aspect-ratio:16/9;background:#000}.video-player video{height:100%;object-fit:contain;width:100%}.celebrity-message{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl);text-align:left}.message-header{align-items:center;display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.celebrity-thumb{border-radius:50%;height:56px;object-fit:cover;width:56px}.message-header h3{font-size:1.1rem;margin-bottom:2px}.message-date{color:var(--text-muted);font-size:.85rem}.message-content{color:var(--text-dark);font-size:1.1rem;font-style:italic;line-height:1.8}.share-section{background:var(--paper-white);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);padding:var(--space-lg)}.share-section h4{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-md)}.share-buttons{display:flex;gap:var(--space-sm);justify-content:center}.share-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.share-btn.kakao{background:#fee500;color:#000}.share-btn.twitter{background:#1da1f2;color:#fff}.share-btn.copy{background:var(--border-soft);color:var(--text-dark)}.share-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.original-letter-details{background:#fff;border-radius:var(--radius-lg);overflow:hidden}.original-letter-details summary{color:var(--text-muted);cursor:pointer;font-weight:500;padding:var(--space-md);transition:all var(--transition-base)}.original-letter-details summary:hover{background:var(--sky-wash);color:var(--text-dark)}.original-letter-content{border-top:1px solid var(--border-soft);padding:var(--space-lg);text-align:left}.letter-info-row{display:flex;font-size:.95rem;justify-content:space-between;padding:var(--space-sm) 0}.letter-info-row span:first-child{color:var(--text-muted)}.letter-message{background:var(--sky-wash);margin-top:var(--space-md)}.letter-message p{white-space:pre-wrap}.letter-pending{text-align:center}.pending-header{margin-bottom:var(--space-2xl)}.pending-icon{animation:pulse 2s ease-in-out infinite;display:block;font-size:4rem;margin-bottom:var(--space-md)}.pending-header h1{font-size:1.75rem;margin-bottom:var(--space-sm)}.pending-header p{color:var(--text-muted)}.pending-status-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.status-timeline{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-xl);text-align:left}.timeline-step{align-items:flex-start;display:flex;gap:var(--space-md);position:relative}.timeline-step:not(:last-child):after{background:var(--border-soft);content:"";height:calc(100% + var(--space-md));left:15px;position:absolute;top:36px;width:2px}.timeline-step.completed:not(:last-child):after{background:var(--success)}.step-icon{align-items:center;background:var(--border-soft);border-radius:50%;color:var(--text-light);display:flex;flex-shrink:0;font-size:.9rem;height:32px;justify-content:center;width:32px}.timeline-step.completed .step-icon{background:var(--success);color:#fff}.timeline-step.active .step-icon{animation:pulse 2s ease-in-out infinite;background:var(--star-blue);color:#fff}.step-content{display:flex;flex-direction:column;gap:2px}.step-title{color:var(--text-dark);font-weight:500}.step-date{color:var(--text-muted);font-size:.85rem}.expected-time{border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;padding-top:var(--space-lg)}.time-label{color:var(--text-muted)}.time-value{color:var(--star-blue);font-weight:600}.sent-letter-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-xl);text-align:left}.sent-letter-card h3{font-size:1.1rem;margin-bottom:var(--space-lg)}.letter-recipient-info{border-bottom:1px solid var(--border-soft);display:flex;gap:var(--space-xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.letter-recipient-info .info-item{display:flex;flex-direction:column;gap:2px}.letter-recipient-info .info-label{color:var(--text-muted);font-size:.8rem}.letter-recipient-info .info-value{font-weight:500}.letter-message-box{background:var(--paper-white);border-radius:var(--radius-md);margin-bottom:var(--space-md);padding:var(--space-lg)}.letter-message-box p{line-height:1.8;white-space:pre-wrap}.letter-additional{border-top:1px dashed var(--border-soft);padding-top:var(--space-md)}.letter-additional h4{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-sm)}.letter-additional p{color:var(--text-dark);font-size:.95rem}@media (max-width:640px){.arrival-header h1,.pending-header h1{font-size:1.5rem}.arrival-icon,.pending-icon{font-size:3.5rem}.play-button{height:64px;width:64px}.share-buttons{flex-direction:column}.share-btn{width:100%}.letter-recipient-info{flex-direction:column;gap:var(--space-md)}}.celebrity-inbox-page{background:var(--sky-wash);min-height:calc(100vh - 72px)}.inbox-container{display:grid;grid-template-columns:380px 1fr}.inbox-container,.loading-container{min-height:calc(100vh - 72px)}.inbox-sidebar{background:#fff;border-right:1px solid var(--border-soft);display:flex;flex-direction:column;height:calc(100vh - 72px);overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-soft);padding:var(--space-xl)}.sidebar-header h1{font-size:1.5rem;margin-bottom:var(--space-xs)}.sidebar-header p{color:var(--text-muted);font-size:.9rem}.filter-tabs{border-bottom:1px solid var(--border-soft);display:flex;gap:var(--space-xs);padding:var(--space-sm)}.filter-tab{background:none;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;flex:1 1;font-weight:500;padding:var(--space-sm);transition:all var(--transition-base)}.filter-tab:hover{background:var(--sky-wash);color:var(--text-dark)}.filter-tab.active{background:var(--star-blue);color:#fff}.letter-list{padding:var(--space-sm)}.letter-item{background:#fff;border:2px solid #0000;border-radius:var(--radius-md);margin-bottom:var(--space-sm);padding:var(--space-md);text-align:left;transition:all var(--transition-base);width:100%}.letter-item:hover{background:var(--sky-wash);border-color:var(--star-blue-light)}.letter-item.selected{background:var(--sky-wash);border-color:var(--star-blue)}.letter-item-header{margin-bottom:var(--space-xs)}.sender-name{color:var(--text-dark);font-weight:600}.status-badge{border-radius:var(--radius-full);font-size:.7rem;font-weight:600;padding:2px 8px}.status-badge.pending{background:var(--warning-light);color:var(--warning)}.status-badge.progress{background:#4f8df51a;color:var(--star-blue)}.status-badge.completed{background:var(--success-light);color:var(--success)}.status-badge.large{font-size:.8rem;padding:4px 12px}.letter-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:.9rem;line-height:1.4;margin-bottom:var(--space-sm);overflow:hidden;text-overflow:ellipsis;word-break:break-word}.letter-meta{color:var(--text-light);display:flex;font-size:.8rem;justify-content:space-between}.letter-occasion{background:var(--sky-wash);border-radius:var(--radius-sm);padding:2px 6px}.empty-state{color:var(--text-muted);padding:var(--space-3xl) var(--space-md)}.empty-icon{margin-bottom:var(--space-md)}.inbox-main{height:calc(100vh - 72px);overflow-y:auto;padding:var(--space-xl)}.letter-detail{margin:0 auto;max-width:700px}.detail-header{align-items:flex-start;margin-bottom:var(--space-xl)}.sender-info{gap:var(--space-md)}.sender-avatar,.sender-info{align-items:center;display:flex}.sender-avatar{background:var(--sky-wash);border-radius:50%;font-size:1.5rem;height:56px;justify-content:center;width:56px}.sender-info h2{font-size:1.5rem;margin-bottom:4px}.detail-date{color:var(--text-muted);font-size:.9rem}.detail-info{background:var(--sky-wash);border-radius:var(--radius-md);display:flex;gap:var(--space-xl);margin-bottom:var(--space-xl);padding:var(--space-md)}.info-item{gap:2px}.info-label{font-size:.8rem}.info-value{font-weight:600}.letter-content{margin-bottom:var(--space-xl)}.letter-content h3,.letter-content h4{font-size:1rem;margin-bottom:var(--space-sm)}.letter-content h4{margin-top:var(--space-lg)}.content-box{background:var(--paper-white);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-lg);white-space:pre-wrap}.content-box,.content-box p{overflow-wrap:break-word;word-break:break-word}.content-box p{line-height:1.8;margin:0;white-space:pre-wrap}.content-box.secondary{background:var(--sky-wash)}.reply-completed h3{color:var(--success);font-size:1rem;margin-bottom:var(--space-md)}.reply-preview{background:#fff;border:2px solid var(--success-light);border-radius:var(--radius-lg);overflow:hidden}.video-placeholder{background:var(--sky-wash);padding:var(--space-2xl);text-align:center}.video-placeholder span{display:block;font-size:3rem;margin-bottom:var(--space-sm)}.video-placeholder p{color:var(--text-muted)}.reply-message{border-top:1px solid var(--border-soft);padding:var(--space-md)}.reply-message p{margin-bottom:var(--space-sm)}.reply-date{color:var(--text-light);font-size:.85rem}.reply-form{background:#fff;border:2px solid var(--star-blue-light);border-radius:var(--radius-lg);padding:var(--space-xl)}.reply-form h3,.video-record-area{margin-bottom:var(--space-lg)}.record-placeholder{background:var(--sky-wash);border:2px dashed var(--border-soft);border-radius:var(--radius-md);padding:var(--space-3xl);text-align:center}.record-icon{display:block;font-size:3rem;margin-bottom:var(--space-sm)}.record-placeholder p{font-weight:500;margin-bottom:var(--space-xs)}.record-hint{color:var(--text-light);font-size:.85rem}.reply-message-input{margin-bottom:var(--space-lg)}.reply-message-input label{display:block;font-weight:500;margin-bottom:var(--space-sm)}.reply-message-input textarea{border:2px solid var(--border-soft);border-radius:var(--radius-md);font-size:1rem;padding:var(--space-md);resize:vertical;width:100%}.reply-message-input textarea:focus{border-color:var(--star-blue);outline:none}.reply-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.reply-cta{background:var(--paper-white);border:2px dashed var(--warm-sun);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center}.cta-hint{color:var(--text-muted);font-size:.9rem;margin-top:var(--space-md)}.no-selection{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.no-selection-icon{font-size:4rem;margin-bottom:var(--space-md);opacity:.5}.no-selection h3{color:var(--text-dark);font-size:1.25rem;margin-bottom:var(--space-xs)}@media (max-width:900px){.inbox-container{grid-template-columns:1fr}.inbox-sidebar{height:auto;max-height:50vh}.inbox-main{height:auto;min-height:50vh}}@media (max-width:640px){.inbox-sidebar{max-height:40vh}.sidebar-header{padding:var(--space-md)}.sidebar-header h1{font-size:1.25rem}.detail-header,.detail-info{flex-direction:column;gap:var(--space-md)}}.celebrity-products-page{background:var(--sky-wash);min-height:100vh;padding:var(--space-xl) 0 var(--space-3xl)}.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-md);justify-content:center;min-height:60vh}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-soft);border-radius:50%;border-top-color:var(--star-blue);height:48px;width:48px}.products-container{margin:0 auto;max-width:1000px;padding:0 var(--space-lg)}.products-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-2xl)}.header-content h1{color:var(--text-dark);font-size:1.75rem;font-weight:700;margin:0 0 var(--space-xs)}.header-content p{color:var(--text-muted);margin:0}.empty-state{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-3xl) var(--space-xl);text-align:center}.empty-icon{display:block;font-size:4rem;margin-bottom:var(--space-lg)}.empty-state h3{color:var(--text-dark);font-size:1.25rem;margin:0 0 var(--space-sm)}.empty-state p{color:var(--text-muted);margin:0 0 var(--space-xl)}.products-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:var(--space-2xl)}.product-card{background:#fff;border:2px solid #0000;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-xl);transition:all var(--transition-base)}.product-card:hover{border-color:var(--star-blue-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-icon{align-items:center;background:linear-gradient(135deg,var(--sky-wash) 0,#4f8df51a 100%);border-radius:var(--radius-lg);display:flex;height:60px;justify-content:center;width:60px}.card-content{flex:1 1}.card-content h3{color:var(--text-dark);font-size:1.1rem;font-weight:600;margin:0 0 var(--space-xs)}.card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:.9rem;margin:0 0 var(--space-sm);overflow:hidden}.card-prices{align-items:baseline;display:flex;gap:var(--space-sm);margin-bottom:var(--space-xs)}.price-krw{color:var(--star-blue);font-size:1.25rem;font-weight:700}.price-usd{color:var(--text-muted);font-size:.9rem}.card-meta{color:var(--text-light);font-size:.85rem}.card-actions{border-top:1px solid var(--border-soft);display:flex;gap:var(--space-sm);padding-top:var(--space-md)}.action-btn{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.action-btn.edit{background:var(--sky-wash);color:var(--star-blue)}.action-btn.edit:hover{background:#4f8df526}.action-btn.delete{background:#ef44441a;color:var(--error)}.action-btn.delete:hover{background:#ef444433}.tips-section{background:linear-gradient(135deg,#4f8df50d,#4f8df51a);border:1px solid #4f8df533;border-radius:var(--radius-xl);padding:var(--space-xl)}.tips-section h3{color:var(--star-blue);font-size:1rem;margin:0 0 var(--space-md)}.tips-section ul{list-style:none;margin:0;padding:0}.tips-section li{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-sm);padding-left:var(--space-lg);position:relative}.tips-section li:before{color:var(--star-blue);content:"✓";left:0;position:absolute}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:var(--space-lg);position:fixed;z-index:1000}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:550px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid var(--border-soft);padding:var(--space-xl)}.modal-header h2{color:var(--text-dark);font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:var(--sky-wash);color:var(--text-muted);font-size:1.25rem;transition:all var(--transition-base)}.modal-close:hover{background:var(--star-blue);color:#fff}.modal-form{padding:var(--space-xl)}.form-group{margin-bottom:var(--space-lg)}.form-group label{color:var(--text-dark);display:block;font-size:.9rem;font-weight:500;margin-bottom:var(--space-xs)}.form-group input,.form-group select,.form-group textarea{-webkit-text-fill-color:#1a1a2e;background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-md);color:#1a1a2e!important;font-size:1rem;padding:var(--space-sm) var(--space-md);transition:all var(--transition-base);width:100%}.form-group input::placeholder,.form-group textarea::placeholder{-webkit-text-fill-color:#9ca3af;color:#9ca3af}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--star-blue);box-shadow:0 0 0 4px #4f8df51a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-hint{color:var(--text-light);display:block;font-size:.8rem;margin-top:var(--space-xs)}.form-row{align-items:flex-start;display:flex;gap:var(--space-md)}.form-row .form-group{flex:1 1;min-width:0}.form-row .form-group.flex-1{flex:2 1}.icon-group{flex:0 0 120px!important}.icon-selector{display:flex;gap:var(--space-xs)}.icon-option{align-items:center;background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.icon-option:hover{background:var(--sky-wash);border-color:var(--star-blue-light)}.icon-option.selected{background:#4f8df51a;border-color:var(--star-blue)}.occasions-selector{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.occasion-chip{align-items:center;background:#fff;border:2px solid var(--border-soft);border-radius:20px;color:var(--text-dark);cursor:pointer;display:inline-flex;font-size:.9rem;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.occasion-chip:hover{background:var(--sky-wash);border-color:var(--star-blue-light)}.occasion-chip.selected{background:#4f8df51a;border-color:var(--star-blue);color:var(--star-blue);font-weight:500}.modal-actions{border-top:1px solid var(--border-soft);gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg)}@media (max-width:768px){.products-header{align-items:stretch;flex-direction:column}.products-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.icon-group{flex:1 1!important}}.profile-page{background:var(--bg-gradient);min-height:100vh;padding:100px var(--space-lg) var(--space-xxl)}.profile-container{margin:0 auto;max-width:600px}.profile-header{margin-bottom:var(--space-xl);text-align:center}.profile-header h1{color:var(--text-dark);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm)}.profile-header p{color:var(--text-muted);font-size:1rem}.profile-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-lg);padding:var(--space-xl)}.profile-avatar-section{cursor:pointer;display:flex;justify-content:center;margin-bottom:var(--space-xl);position:relative}.profile-avatar-section:hover .avatar-overlay{opacity:1}.profile-avatar-section.uploading{pointer-events:none}.profile-avatar{border:4px solid var(--star-blue-light);border-radius:50%;box-shadow:var(--shadow-md);height:120px;object-fit:cover;transition:all var(--transition-base);width:120px}.profile-avatar-section:hover .profile-avatar{filter:brightness(.7)}.avatar-overlay{align-items:center;display:flex;flex-direction:column;gap:var(--space-xs);left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity var(--transition-base)}.upload-icon{font-size:1.5rem}.upload-text{color:#fff;font-size:.75rem;font-weight:600;text-shadow:0 1px 2px #00000080}.upload-spinner{animation:spin 1s linear infinite;font-size:2rem}.hidden-file-input{display:none}.profile-form{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.profile-form .form-group label{color:var(--text-dark);font-size:.9rem;font-weight:500}.profile-form .form-group input,.profile-form .form-group select,.profile-form .form-group textarea{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-md);color:var(--text-dark);font-family:inherit;font-size:1rem;padding:var(--space-md);transition:all var(--transition-base)}.profile-form .form-group textarea{min-height:100px;resize:vertical}.profile-form .form-group input:focus,.profile-form .form-group select:focus,.profile-form .form-group textarea:focus{border-color:var(--star-blue);box-shadow:0 0 0 4px #4f8df51a;outline:none}.profile-form .form-group input.disabled{background:var(--cloud-white);color:var(--text-muted);cursor:not-allowed}.tags-input-container{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm);transition:all var(--transition-base)}.tags-input-container:focus-within{border-color:var(--star-blue);box-shadow:0 0 0 4px #4f8df51a}.tags-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag-item{align-items:center;background:var(--star-blue-light);border-radius:var(--radius-full);display:inline-flex;font-size:.85rem;font-weight:500;gap:var(--space-xs);padding:4px 10px}.tag-item,.tag-remove{color:var(--star-blue-dark)}.tag-remove{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:0;transition:opacity var(--transition-base)}.tag-remove:hover{opacity:1}.tags-input-container input{border:none!important;box-shadow:none!important;flex:1 1;min-width:120px;padding:var(--space-xs)!important}.tags-input-container input:focus{box-shadow:none!important;outline:none}.profile-form .form-hint{color:var(--text-light);font-size:.8rem}.profile-form .message{border-radius:var(--radius-md);font-size:.9rem;padding:var(--space-md);text-align:center}.profile-form .message.success{background:#22c55e1a;border:1px solid #22c55e33;color:var(--success)}.profile-form .message.error{background:#ef44441a;border:1px solid #ef444433;color:var(--error)}.form-actions{border-top:1px solid var(--border-soft);display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-md)}.form-actions .btn-primary{background:linear-gradient(135deg,var(--star-blue) 0,var(--star-blue-dark) 100%);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:var(--space-sm) var(--space-xl);transition:all var(--transition-base)}.form-actions .btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.form-actions .btn-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.form-actions .btn-secondary{background:var(--sky-wash);border:none;border-radius:var(--radius-md);color:var(--text-dark);cursor:pointer;font-weight:500;padding:var(--space-sm) var(--space-xl);transition:all var(--transition-base)}.form-actions .btn-secondary:hover{background:#4f8df526}.profile-info-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.profile-info-card h3{border-bottom:1px solid var(--border-soft);color:var(--text-dark);font-size:1rem;font-weight:600;margin:0 0 var(--space-md);padding-bottom:var(--space-sm)}.info-row{align-items:center;display:flex;justify-content:space-between;padding:var(--space-sm) 0}.info-row:not(:last-child){border-bottom:1px solid var(--border-soft)}.info-label{color:var(--text-muted);font-size:.9rem}.info-value{color:var(--text-dark);font-size:.9rem;font-weight:500}.delete-account-link{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline;transition:color var(--transition-base)}.delete-account-link:hover{color:var(--error)}.modal-backdrop{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-md);position:fixed;right:0;top:0;z-index:1000}.delete-modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--space-xl);width:100%}.delete-modal h3{color:var(--error);font-size:1.2rem;font-weight:700;margin:0 0 var(--space-md);text-align:center}.delete-modal>p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-bottom:var(--space-md)}.delete-agree-label{align-items:flex-start;color:var(--text-dark);cursor:pointer;display:flex;font-size:.9rem;gap:var(--space-sm);margin-bottom:var(--space-lg)}.delete-agree-label input[type=checkbox]{cursor:pointer;height:16px;margin-top:2px;width:16px}.delete-agree-label span{line-height:1.4}.modal-actions{gap:var(--space-md);justify-content:flex-end}.modal-actions .btn-secondary{background:var(--sky-wash);border:none;border-radius:var(--radius-md);color:var(--text-dark);cursor:pointer;font-weight:500;padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.modal-actions .btn-secondary:hover{background:#4f8df526}.modal-actions .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.modal-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.modal-actions .btn-danger:hover{box-shadow:0 4px 12px #ef44444d}.modal-actions .btn-danger:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.profile-page{padding:80px var(--space-md) var(--space-xl)}.profile-content{padding:var(--space-lg)}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.video-recorder{width:100%}.recorder-permission-denied{padding:var(--space-3xl);text-align:center}.permission-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.5}.recorder-permission-denied h3{color:#fff;font-size:1.25rem;margin-bottom:var(--space-sm)}.recorder-permission-denied p{color:#fff9;margin-bottom:var(--space-xl)}.permission-actions{display:flex;gap:var(--space-md);justify-content:center}.recorder-top-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.back-link{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:.9rem;transition:color .2s}.back-link:hover{color:#fff}.recorder-top-bar h2{color:#fff;font-size:1.1rem;font-weight:600}.device-selectors{display:flex;gap:var(--space-sm)}.device-selectors select{background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.8rem;max-width:150px;padding:8px 12px}.device-selectors select:disabled{cursor:not-allowed;opacity:.5}.recorder-video-container{aspect-ratio:16/9;background:#000;border-radius:var(--radius-xl);margin-bottom:var(--space-lg);overflow:hidden;position:relative}.recorder-video{height:100%;object-fit:cover;width:100%}.recorder-video.mirrored{transform:scaleX(-1)}.recording-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-radius:var(--radius-full);display:flex;gap:var(--space-sm);left:var(--space-md);padding:8px 14px;position:absolute;top:var(--space-md)}.rec-dot{animation:pulse 1s ease-in-out infinite;background:#ef4444;border-radius:50%;height:10px;width:10px}.rec-dot.paused{animation:none;background:#fbbf24}.rec-time{font-family:SF Mono,Consolas,monospace;font-size:.9rem;font-weight:600}.rec-paused{border-left:1px solid #fff3;color:#fbbf24;font-size:.75rem;padding-left:var(--space-sm)}.countdown-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;position:absolute}.countdown-number{animation:countdownPulse 1s ease-in-out;color:#fff;font-size:8rem;font-weight:800;text-shadow:0 0 40px #4f8df580}@keyframes countdownPulse{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.prompt-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #ffffff1a;border-radius:var(--radius-full);bottom:var(--space-lg);left:50%;padding:var(--space-sm) var(--space-lg);position:absolute;transform:translateX(-50%)}.prompt-card p{color:#ffffffe6;font-size:.9rem}.mirror-toggle{align-items:center;background:#00000080;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:1.25rem;height:40px;justify-content:center;position:absolute;right:var(--space-md);top:var(--space-md);transition:all .2s;width:40px}.mirror-toggle:hover{background:#000000b3}.mirror-toggle.active{background:var(--star-blue)}.recorder-controls{display:flex;justify-content:center;margin-bottom:var(--space-md)}.control-buttons{gap:var(--space-lg)}.control-buttons,.record-btn{align-items:center;display:flex}.record-btn{background:#ef4444;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);transition:all .2s}.record-btn:hover:not(:disabled){background:#dc2626;transform:scale(1.02)}.record-btn:disabled{cursor:not-allowed;opacity:.5}.record-icon{background:#fff;border-radius:50%;height:16px;width:16px}.control-buttons.recording{gap:var(--space-md)}.control-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.8rem;gap:4px;padding:var(--space-md) var(--space-lg);transition:all .2s}.control-btn span:first-child{font-size:1.25rem}.control-btn:hover{background:#ffffff26}.control-btn.cancel:hover{background:#ef444433;border-color:#ef4444}.control-btn.stop{background:#ef4444;border-color:#ef4444}.control-btn.stop:hover{background:#dc2626}.recorder-tips{text-align:center}.recorder-tips p{color:#ffffff80;font-size:.85rem}@media (max-width:768px){.device-selectors{display:none}.recorder-video-container{aspect-ratio:4/3;border-radius:var(--radius-lg)}.prompt-card{left:var(--space-md);right:var(--space-md);text-align:center;transform:none}.control-btn{padding:var(--space-sm) var(--space-md)}}.video-uploader{width:100%}.uploader-top-bar{align-items:center;display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.uploader-top-bar h2{color:#fff;font-size:1.1rem;font-weight:600}.drop-zone{border:2px dashed #fff3;border-radius:var(--radius-xl);cursor:pointer;margin-bottom:var(--space-lg);padding:var(--space-3xl);position:relative;transition:all .3s}.drop-zone:hover{background:#4f8df50d;border-color:var(--star-blue)}.drop-zone.dragging{background:#4f8df51a;border-color:var(--star-blue)}.drop-zone.error{background:#ef44440d;border-color:#ef4444}.drop-content{text-align:center}.drop-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.7}.drop-content h3{color:#fff;font-size:1.1rem;margin-bottom:var(--space-sm)}.drop-content p{color:#ffffff80;font-size:.9rem}.drop-overlay{align-items:center;background:#4f8df533;border-radius:var(--radius-xl);display:flex;inset:0;justify-content:center;position:absolute}.drop-overlay span{color:var(--star-blue);font-size:1.25rem;font-weight:600}.upload-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md);text-align:center}.upload-error span{color:#fca5a5;font-size:.9rem}.upload-tips{background:#ffffff08;border-radius:var(--radius-lg);padding:var(--space-lg)}.upload-tips h4{color:#fff;font-size:.9rem;margin-bottom:var(--space-md)}.upload-tips ul{list-style:none;margin:0;padding:0}.upload-tips li{color:#fff9;font-size:.85rem;padding:6px 0 6px 20px;position:relative}.upload-tips li:before{color:#22c55e;content:"✓";left:0;position:absolute}.upload-preview{background:#000;border-radius:var(--radius-xl);margin-bottom:var(--space-lg);overflow:hidden;position:relative}.upload-preview .preview-video{display:block;max-height:450px;width:100%}.processing-overlay{align-items:center;background:#000c;display:flex;flex-direction:column;gap:var(--space-md);inset:0;justify-content:center;position:absolute}.processing-overlay .progress-bar{background:#fff3;border-radius:2px;height:4px;overflow:hidden;width:200px}.processing-overlay .progress-fill{background:var(--star-blue);height:100%;transition:width .3s}.processing-overlay span{color:#ffffffb3;font-size:.9rem}.file-info{grid-gap:var(--space-md);background:#ffffff08;border-radius:var(--radius-lg);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-lg);padding:var(--space-md)}.file-info .info-item{text-align:center}.file-info .label{color:#ffffff80;display:block;font-size:.75rem;margin-bottom:4px}.file-info .value{font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-actions{display:flex;gap:var(--space-md);justify-content:center}@media (max-width:768px){.drop-zone{padding:var(--space-2xl) var(--space-lg)}.drop-icon{font-size:3rem}.file-info{grid-template-columns:1fr}.upload-actions{flex-direction:column}}.video-editor{width:100%}.editor-top-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.editor-top-bar h2{color:#fff;font-size:1.1rem;font-weight:600}.trim-info{background:#4f8df51a;border-radius:var(--radius-full);color:var(--star-blue);font-size:.9rem;padding:6px 14px}.editor-preview{background:#000;border-radius:var(--radius-xl);margin-bottom:var(--space-lg);overflow:hidden;position:relative}.editor-video{cursor:pointer;display:block;max-height:400px;width:100%}.play-overlay{align-items:center;background:#0000004d;cursor:pointer;display:flex;inset:0;justify-content:center;position:absolute;transition:background .2s}.play-overlay:hover{background:#0006}.play-overlay span{align-items:center;background:#ffffffe6;border-radius:50%;color:#1a1a1a;display:flex;font-size:1.75rem;height:70px;justify-content:center;padding-left:5px;width:70px}.editor-preview .processing-overlay{align-items:center;background:#000c;display:flex;flex-direction:column;gap:var(--space-md);inset:0;justify-content:center;position:absolute}.editor-preview .spinner{animation:spin .8s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top:3px solid var(--star-blue);height:40px;width:40px}.editor-preview .processing-overlay span{color:#ffffffb3;font-size:.9rem}.editor-preview .progress-bar{background:#fff3;border-radius:3px;height:6px;margin-top:var(--space-sm);overflow:hidden;width:200px}.editor-preview .progress-fill{background:var(--star-blue);border-radius:3px;height:100%;transition:width .3s ease}.editor-timeline-container{margin-bottom:var(--space-lg)}.time-display{color:#ffffff80;display:flex;font-family:SF Mono,Consolas,monospace;font-size:.8rem;justify-content:space-between;margin-bottom:var(--space-sm)}.editor-timeline{background:#ffffff0d;border-radius:var(--radius-md);cursor:pointer;height:60px;overflow:visible;position:relative;touch-action:pan-y}.timeline-thumbnails{display:flex;height:100%}.timeline-thumbnails .thumbnail{flex:1 1;height:100%;object-fit:cover;opacity:.7}.trim-area{border:2px solid var(--star-blue);border-radius:4px;box-sizing:border-box;height:100%;position:absolute;top:0}.trim-handle{align-items:center;background:var(--star-blue);cursor:ew-resize;display:flex;height:calc(100% + 20px);justify-content:center;position:absolute;top:-10px;touch-action:none;user-select:none;-webkit-user-select:none;width:24px}.trim-handle.start{border-radius:4px 0 0 4px;left:-12px}.trim-handle.end{border-radius:0 4px 4px 0;right:-12px}.trim-handle:before{color:#fff;content:"⋮";font-size:1rem}.handle-time{background:var(--star-blue);border-radius:4px;bottom:calc(100% + 4px);font-family:SF Mono,Consolas,monospace;font-size:.7rem;left:50%;opacity:0;padding:2px 6px;position:absolute;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap}.trim-handle:hover .handle-time{opacity:1}.playhead{height:100%;pointer-events:none;top:0;width:2px;z-index:10}.playhead,.playhead:before{background:#ef4444;position:absolute}.playhead:before{border-radius:50% 50% 50% 0;content:"";height:12px;left:-5px;top:-4px;transform:rotate(-45deg);width:12px}.excluded-area{background:#0009;height:100%;pointer-events:none;position:absolute;top:0}.excluded-area.start{left:0}.excluded-area.end{right:0}.editor-controls{align-items:center;background:#ffffff08;border-radius:var(--radius-lg);display:flex;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-lg);padding:var(--space-md)}.control-group{align-items:center;display:flex;gap:var(--space-sm)}.control-group.playback .control-btn{align-items:center;background:#ffffff1a;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;transition:all .2s;width:40px}.control-group.playback .control-btn:hover{background:#ffffff26}.control-group.playback .control-btn.play{background:var(--star-blue);border-radius:50%;font-size:1.25rem;height:50px;width:50px}.control-group.playback .control-btn.play:hover{background:#3b7ddd}.control-group.volume .control-btn{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;width:36px}.volume-slider{-webkit-appearance:none;background:#fff3;border-radius:2px;height:4px;outline:none;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:14px;width:14px}.trim-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.8rem;padding:8px 14px;transition:all .2s}.trim-btn:hover:not(:disabled){background:#ffffff26}.trim-btn:disabled{cursor:not-allowed;opacity:.4}.trim-btn.reset{background:#0000;border-color:#ffffff1a}.editor-actions{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-md)}.editor-tips{text-align:center}.editor-tips p{color:#ffffff80;font-size:.85rem}@media (max-width:768px){.control-group.trim-controls,.editor-controls{flex-wrap:wrap;justify-content:center}.control-group.trim-controls{width:100%}.volume-slider{width:60px}.editor-actions{flex-direction:column}}.reply-page{background:#0f0f0f;color:#fff;min-height:100vh}.reply-page .btn-secondary{background:#ffffff1a;border:2px solid #ffffff4d;color:#fff}.reply-page .btn-secondary:hover:not(:disabled){background:#fff3;border-color:#ffffff80;color:#fff}.reply-page .btn-ghost{background:#0000;color:#fffc}.reply-page .btn-ghost:hover:not(:disabled){background:#ffffff1a;color:#fff}.reply-page .btn-accent{color:#1a1a1a}.reply-container{margin:0 auto;max-width:1600px}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--space-md);justify-content:center;min-height:100vh}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff1a;border-top:3px solid var(--star-blue);height:40px;width:40px}.reply-header{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:var(--space-md) var(--space-xl)}.back-btn{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:.9rem;transition:color .2s}.back-btn:hover{color:#fff}.reply-title{text-align:center}.reply-title h1{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:2px}.reply-to{color:var(--star-blue);font-size:.85rem}.reply-steps{display:flex;gap:var(--space-md)}.reply-steps .step{background:#ffffff0d;border-radius:var(--radius-full);color:#fff6;font-size:.8rem;padding:6px 12px;transition:all .2s}.reply-steps .step.active{background:var(--star-blue);color:#fff}.reply-steps .step.done{background:#22c55e1a;color:#22c55e}.reply-content{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 73px)}.letter-sidebar{background:#ffffff05;border-right:1px solid #ffffff14;overflow-y:auto;padding:var(--space-lg)}.letter-card{background:#ffffff0d;border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-lg)}.letter-header{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-md)}.letter-badge{background:var(--warm-sun);border-radius:var(--radius-full);color:#1a1a1a;font-weight:600;padding:4px 10px}.letter-badge,.letter-date{flex-shrink:0;font-size:.75rem}.letter-date{color:#ffffffb3;text-align:right}.letter-from{color:#fff;font-size:1rem;font-weight:600}.letter-from,.letter-message{margin-bottom:var(--space-md)}.letter-message{background:#0003;border-radius:var(--radius-md);overflow:hidden;padding:var(--space-md)}.letter-message p{color:#ffffffe6;font-size:.9rem;line-height:1.7;overflow-wrap:break-word;word-break:break-word}.letter-additional,.letter-instructions,.letter-recipient{border-top:1px solid #ffffff14;padding:var(--space-sm) 0}.letter-additional .label,.letter-instructions .label,.letter-recipient .label{color:#fff9;display:block;font-size:.75rem;margin-bottom:4px}.letter-recipient .name{color:#7cb3ff;font-weight:600}.letter-additional p,.letter-instructions p{color:#ffffffd9;font-size:.85rem;line-height:1.5;word-break:break-word}.tips-card{background:#4f8df526;border:1px solid #4f8df54d;border-radius:var(--radius-lg);padding:var(--space-md)}.tips-card h4{color:#fff;font-size:.9rem;margin-bottom:var(--space-sm)}.tips-card ul{list-style:none;margin:0;padding:0}.tips-card li{color:#ffffffd9;font-size:.8rem;padding:4px 0 4px 16px;position:relative}.tips-card li:before{color:#7cb3ff;content:"•";left:0;position:absolute}.video-main{align-items:center;display:flex;justify-content:center;padding:var(--space-xl)}.step-content{max-width:900px;width:100%}.select-method{text-align:center}.select-method h2{color:#fff;font-size:1.5rem;margin-bottom:var(--space-sm)}.select-method>p{color:#ffffffbf;margin-bottom:var(--space-2xl)}.method-options{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:600px}.method-card{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:var(--radius-xl);cursor:pointer;padding:var(--space-2xl) var(--space-xl);position:relative;text-align:center;transition:all .3s}.method-card:hover{background:#ffffff14;border-color:var(--star-blue);transform:translateY(-4px)}.method-icon{font-size:3rem;margin-bottom:var(--space-md)}.method-card h3{color:#fff;font-size:1.1rem;margin-bottom:var(--space-xs)}.method-card p{color:#ffffffbf;font-size:.85rem}.method-badge{border-radius:var(--radius-full);font-size:.7rem;font-weight:600;padding:4px 10px;position:absolute;right:var(--space-md);top:var(--space-md)}.method-badge.recommended{background:var(--star-blue);color:#fff}.preview-section{text-align:center}.preview-section h2{font-size:1.4rem;margin-bottom:var(--space-xs)}.preview-section>p{color:#fff9;margin-bottom:var(--space-xl)}.preview-video-container{background:#000;border-radius:var(--radius-xl);margin-bottom:var(--space-lg);margin-left:auto;margin-right:auto;max-width:640px;overflow:hidden}.preview-video{display:block;width:100%}.preview-info{display:flex;gap:var(--space-xl);justify-content:center;margin-bottom:var(--space-xl)}.preview-info .info-item{text-align:center}.preview-info .label{color:#ffffff80;display:block;font-size:.8rem;margin-bottom:4px}.preview-info .value{color:#fff;font-weight:600}.submit-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:var(--radius-md);color:#ef4444;display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md);padding:var(--space-md)}.submit-error .error-icon{font-size:1.2rem}.preview-actions{display:flex;gap:var(--space-md);justify-content:center}.complete-section{padding:var(--space-2xl);text-align:center}.complete-icon{animation:bounce 1s ease infinite;font-size:4rem;margin-bottom:var(--space-lg)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.complete-section h2{font-size:1.75rem;margin-bottom:var(--space-md)}.complete-section>p{color:#ffffffb3;line-height:1.7;margin-bottom:var(--space-2xl)}.complete-summary{background:#ffffff0d;border-radius:var(--radius-lg);display:inline-flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl);padding:var(--space-lg)}.summary-item{align-items:center;display:flex;font-size:.9rem;gap:var(--space-sm)}.summary-item .icon{font-size:1.1rem}.complete-actions{display:flex;gap:var(--space-md);justify-content:center}@media (max-width:1024px){.reply-content{grid-template-columns:1fr}.letter-sidebar,.reply-steps{display:none}}@media (max-width:768px){.reply-header{flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md)}.reply-title h1{font-size:1rem}.video-main{padding:var(--space-md)}.method-options{grid-template-columns:1fr}.complete-actions,.preview-actions{flex-direction:column}}.how-it-works-page{min-height:100vh}.hiw-hero{background:var(--gradient-primary);color:#fff;padding:var(--space-3xl) 0;text-align:center}.hiw-hero h1{color:#fff;font-size:2.5rem;margin-bottom:var(--space-md)}.hiw-hero p{font-size:1.2rem;opacity:.9}.hiw-steps{background:#fff;padding:var(--space-3xl) 0}.steps-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(4,1fr)}.step-card{background:var(--sky-wash);border-radius:var(--radius-xl);padding:var(--space-xl);position:relative;text-align:center}.step-number{color:var(--star-blue);font-size:.7rem;font-weight:700;left:var(--space-md);letter-spacing:.1em;position:absolute;top:var(--space-md)}.step-icon{font-size:3rem;margin-bottom:var(--space-md)}.step-card h3{font-size:1.25rem;margin-bottom:var(--space-sm)}.step-card p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.hiw-features{background:var(--sky-wash);padding:var(--space-3xl) 0}.hiw-features h2{font-size:2rem;margin-bottom:var(--space-2xl);text-align:center}.features-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(4,1fr)}.feature-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-xl);text-align:center}.feature-icon{display:block;font-size:2.5rem;margin-bottom:var(--space-md)}.feature-card h3{font-size:1.1rem;margin-bottom:var(--space-sm)}.feature-card p{color:var(--text-muted);font-size:.9rem}.hiw-faq{background:#fff;padding:var(--space-3xl) 0}.hiw-faq h2{font-size:2rem;margin-bottom:var(--space-2xl);text-align:center}.faq-list{margin:0 auto;max-width:700px}.faq-item{border-bottom:1px solid var(--border-soft);padding:var(--space-lg)}.faq-item:last-child{border-bottom:none}.faq-item h4{color:var(--text-dark);font-size:1.1rem;margin-bottom:var(--space-sm)}.faq-item p{color:var(--text-muted)}.hiw-cta{background:var(--sky-wash);padding:var(--space-3xl) 0}.hiw-cta .cta-content{background:var(--gradient-primary);border-radius:var(--radius-xl);color:#fff;padding:var(--space-3xl);text-align:center}.hiw-cta h2{color:#fff;font-size:2rem;margin-bottom:var(--space-md)}.hiw-cta p{font-size:1.1rem;line-height:1.7;margin-bottom:var(--space-xl);opacity:.9}@media (max-width:1024px){.features-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.hiw-hero h1{font-size:1.75rem}.features-grid,.steps-grid{grid-template-columns:1fr}.hiw-cta h2,.hiw-faq h2,.hiw-features h2{font-size:1.5rem}}.auth-callback-page{align-items:center;background:linear-gradient(135deg,#4f8df5,#7aabff 50%,#ffc857);display:flex;justify-content:center;min-height:100vh;padding:20px}.callback-container{max-width:400px;width:100%}.callback-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0003;padding:48px 32px;text-align:center}.callback-card h2{color:#111827;font-size:1.5rem;margin:24px 0 8px}.callback-card p{color:#6b7280;font-size:.95rem}.spinner-wrapper{height:80px;margin:0 auto;position:relative;width:80px}.spinner-wrapper .spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#4f8df5;height:80px;width:80px}.spinner-wrapper .provider-icon{height:32px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:32px}.callback-card.success .success-icon{background:linear-gradient(135deg,#22c55e,#16a34a)}.callback-card.error .error-icon,.callback-card.success .success-icon{align-items:center;animation:scaleIn .3s ease-out;border-radius:50%;color:#fff;display:flex;font-size:40px;height:80px;justify-content:center;margin:0 auto;width:80px}.callback-card.error .error-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.retry-btn{background:linear-gradient(135deg,#4f8df5,#7aabff);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:24px;padding:12px 32px;transition:all .2s ease}.retry-btn:hover{box-shadow:0 8px 20px #4f8df566;transform:translateY(-2px)}.provider-icon.google,.provider-icon.kakao{height:28px;width:28px}.provider-icon.kakao{background:#fee500;border-radius:8px;padding:4px}.provider-icon.apple{height:28px;width:28px}.payment-result-page{align-items:center;background:var(--sky-wash);display:flex;justify-content:center;min-height:calc(100vh - 140px);padding:var(--space-xl) var(--space-md)}.payment-result-page .container{display:flex;justify-content:center;width:100%}.result-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:480px;padding:var(--space-3xl) var(--space-2xl);width:100%}.result-icon{font-size:2.5rem;font-weight:600;margin:0 auto var(--space-lg)}.result-icon.processing{background:var(--sky-wash)}.result-icon.processing .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-soft);border-radius:50%;border-top-color:var(--star-blue);height:40px;width:40px}.result-icon.success{background:var(--success-light);color:var(--success)}.result-icon.error{background:var(--error-light);color:var(--error)}.result-card h1{color:var(--text-dark);font-size:1.75rem;margin-bottom:var(--space-sm)}.result-card>p{color:var(--text-muted);margin-bottom:var(--space-xl)}.payment-details{background:var(--sky-wash);border-radius:var(--radius-md);margin-bottom:var(--space-xl);padding:var(--space-lg)}.detail-row{border-bottom:1px solid var(--border-soft);padding:var(--space-sm) 0}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--text-muted)}.detail-row span:last-child{color:var(--text-dark);font-weight:500}.result-actions{gap:var(--space-sm)}@media (max-width:640px){.result-card{padding:var(--space-2xl) var(--space-lg)}}.points-page{background:linear-gradient(135deg,#0a0a1a,#1a1a2e 50%,#16213e);display:flex;flex-direction:column;min-height:100vh}.points-main{flex:1 1;padding:2rem 1rem}.points-container{margin:0 auto;max-width:800px}.balance-card{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;box-shadow:0 10px 40px #fbbf244d;margin-bottom:2rem;padding:2rem;text-align:center}.balance-label{color:#0009;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.balance-amount{align-items:center;display:flex;gap:.5rem;justify-content:center}.balance-icon{font-size:2rem}.balance-value{color:#1a1a2e;font-family:Space Grotesk,sans-serif;font-size:3rem;font-weight:700}.points-tabs{display:flex;gap:1rem;margin-bottom:2rem}.tab-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#fff9;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:1rem;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:#fbbf2433;border-color:#fbbf24;color:#fbbf24}.section-title{color:#fff;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.packages-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.package-card{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:20px;cursor:pointer;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s ease}.package-card:hover{background:#ffffff1a;border-color:#fbbf24;box-shadow:0 8px 30px #fbbf2433;transform:translateY(-4px)}.package-star{font-size:2.5rem;margin-bottom:1rem}.package-points{align-items:baseline;display:flex;gap:.25rem;justify-content:center;margin-bottom:.5rem}.points-value{color:#fff;font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700}.points-unit{color:#ffffffb3;font-size:1rem;font-weight:600}.package-bonus{background:#22c55e1a;border-radius:20px;color:#22c55e;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:1rem;padding:.25rem .75rem}.package-price{color:#fbbf24;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.package-desc{color:#ffffff80;font-size:.75rem}.charge-notice{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;padding:1.5rem}.charge-notice h4{color:#fff;font-size:.95rem;margin-bottom:.75rem}.charge-notice ul{list-style:none;margin:0;padding:0}.charge-notice li{color:#fff9;font-size:.85rem;padding:.35rem 0 .35rem 1rem;position:relative}.charge-notice li:before{color:#fff6;content:"•";left:0;position:absolute}.transactions-list{display:flex;flex-direction:column;gap:.75rem}.transaction-item{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;display:flex;justify-content:space-between;padding:1rem 1.25rem}.transaction-info{display:flex;flex-direction:column;gap:.25rem}.transaction-type{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;padding:.2rem .5rem;width:-webkit-fit-content;width:fit-content}.transaction-type.charge{background:#22c55e33;color:#22c55e}.transaction-type.use{background:#ef444433;color:#ef4444}.transaction-type.refund{background:#3b82f633;color:#3b82f6}.transaction-type.admin_adjust{background:#a855f733;color:#a855f7}.transaction-type.bonus{background:#fbbf2433;color:#fbbf24}.transaction-description{color:#fff;font-size:.9rem}.transaction-date{color:#ffffff80;font-size:.75rem}.transaction-amount{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:600}.transaction-amount.plus{color:#22c55e}.transaction-amount.minus{color:#ef4444}.empty-history{color:#ffffff80;padding:3rem;text-align:center}.loading-spinner{color:#fff9;padding:3rem;text-align:center}.payment-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.payment-modal{background:#fff;border-radius:20px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#1a1a2e;font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1rem;height:32px;transition:all .2s;width:32px}.modal-close:hover{background:#e5e5e5;color:#333}.currency-tabs{display:flex;gap:.5rem;padding:1rem 1.5rem 0}.currency-tab{align-items:center;background:#f5f5f5;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex:1 1;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s}.currency-tab:hover{background:#eee}.currency-tab.active{background:#fff8e1;border-color:#fbbf24}.currency-tab .tab-icon{font-size:1.1rem}.currency-tab .tab-label{color:#333;font-size:.9rem;font-weight:500}.modal-summary{background:#f9f9f9;padding:1.5rem}.summary-row{color:#555;display:flex;font-size:.95rem;justify-content:space-between;padding:.5rem 0}.summary-row.bonus{color:#22c55e}.summary-row.total{border-top:1px solid #ddd;color:#1a1a2e;font-size:1.1rem;font-weight:600;margin-top:.5rem;padding-top:1rem}.payment-widget-area{min-height:200px;padding:1.5rem}.iap-notice{background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:8px;margin:0 1.5rem;padding:1rem 1.5rem}.iap-notice p{color:#1e40af;font-size:.9rem;font-weight:500;margin:0}.widget-loading{align-items:center;color:#888;display:flex;flex-direction:column;justify-content:center;padding:3rem}.spinner{animation:spin 1s linear infinite;border:3px solid #eee;border-radius:50%;border-top-color:#fbbf24;height:32px;margin-bottom:1rem;width:32px}.modal-actions{border-top:1px solid #eee;display:flex;gap:1rem;padding:1.5rem}.btn-cancel{background:#fff;border:1px solid #ddd;border-radius:12px;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:1rem;transition:all .2s}.btn-cancel:hover{background:#f5f5f5}.btn-pay{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:12px;color:#1a1a2e;cursor:pointer;flex:2 1;font-size:1rem;font-weight:600;padding:1rem;transition:all .2s}.btn-pay:hover:not(:disabled){box-shadow:0 4px 15px #fbbf2466;transform:translateY(-2px)}.btn-pay:disabled{cursor:not-allowed;opacity:.6}.result-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:24px;margin:2rem auto;max-width:500px;padding:3rem 2rem;text-align:center}.result-icon{align-items:center;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.result-icon.processing{background:#fbbf2433}.result-icon.success{background:#22c55e33}.result-icon.success svg{color:#22c55e;height:40px;width:40px}.result-icon.fail{background:#ef444433}.result-icon.fail svg{color:#ef4444}.result-icon.fail svg,.spinner.large{height:40px;width:40px}.result-title{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:.75rem}.result-message{color:#ffffffb3;font-size:1rem;margin-bottom:2rem}.result-details{background:#ffffff0d;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.detail-row{align-items:center;display:flex;justify-content:space-between;padding:.75rem 0}.detail-row:not(:last-child){border-bottom:1px solid #ffffff1a}.detail-label{color:#fff9;font-size:.9rem}.detail-value{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:600}.detail-value.charged{color:#22c55e}.detail-value.balance{color:#fbbf24}.result-actions{display:flex;flex-direction:column;gap:.75rem}.btn-primary{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:12px;color:#1a1a2e;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.btn-primary:hover{box-shadow:0 8px 20px #fbbf2466;transform:translateY(-2px)}.btn-secondary{background:#0000;border:1px solid #fff3;border-radius:12px;color:#fffc;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem;transition:all .3s ease;width:100%}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff4d}@media (max-width:640px){.balance-value{font-size:2.5rem}.balance-icon{font-size:1.75rem}.packages-grid{grid-template-columns:1fr}.package-card{padding:1.5rem}.points-value{font-size:1.75rem}.transaction-item{align-items:flex-start;flex-direction:column;gap:.75rem}.transaction-amount{align-self:flex-end}.result-card{margin:1rem;padding:2rem 1.5rem}.payment-modal{margin:.5rem;max-height:95vh}}.privacy-page{background:#f9fafb;background:var(--bg-secondary,#f9fafb);min-height:calc(100vh - 200px);padding:60px 0}.privacy-page .container{margin:0 auto;max-width:800px;padding:0 20px}.privacy-page h1{color:#1f2937;color:var(--text-dark,#1f2937);font-size:2rem;font-weight:700;margin-bottom:40px;text-align:center}.privacy-page section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:24px}.privacy-page h2{color:#1f2937;color:var(--text-dark,#1f2937);font-size:1.1rem;font-weight:600;margin-bottom:16px}.privacy-page p{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.95rem;line-height:1.7;margin-bottom:12px}.privacy-page ul{margin:12px 0;padding-left:20px}.privacy-page li{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.95rem;line-height:1.7;margin-bottom:8px}.privacy-page .update-date{color:#9ca3af;color:var(--text-light,#9ca3af);font-size:.9rem;margin-top:40px;text-align:center}.support-page{background:#f9fafb;background:var(--bg-secondary,#f9fafb);min-height:calc(100vh - 200px);padding:60px 0}.support-page .container{margin:0 auto;max-width:800px;padding:0 20px}.support-page h1{color:#1f2937;color:var(--text-dark,#1f2937);font-size:2rem;font-weight:700;margin-bottom:20px;text-align:center}.support-intro{margin-bottom:40px;text-align:center}.support-intro p{color:#6b7280;color:var(--text-muted,#6b7280);font-size:1rem;line-height:1.7}.support-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:50px}.support-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:28px;text-align:center;transition:transform .2s,box-shadow .2s}.support-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.card-icon{font-size:2.5rem;margin-bottom:16px}.support-card h3{color:#1f2937;color:var(--text-dark,#1f2937);font-size:1.1rem;font-weight:600;margin-bottom:8px}.support-card p{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.9rem;margin-bottom:12px}.contact-link{color:#4f8df5;color:var(--star-blue,#4f8df5);display:inline-block;font-weight:500;text-decoration:none;transition:color .2s}.contact-link:hover{color:#fbbf24;color:var(--star-gold,#fbbf24)}.contact-info{color:#9ca3af;color:var(--text-light,#9ca3af);font-size:.85rem}.faq-section{margin-bottom:50px}.faq-section h2{color:#1f2937;color:var(--text-dark,#1f2937);font-size:1.4rem;font-weight:600;margin-bottom:24px}.faq-item{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:12px;padding:20px 24px}.faq-item h4{color:#1f2937;color:var(--text-dark,#1f2937);font-size:1rem;font-weight:600;margin-bottom:8px}.faq-item p{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.95rem;line-height:1.6}.policy-links h2{color:#1f2937;color:var(--text-dark,#1f2937);font-size:1.4rem;font-weight:600;margin-bottom:20px}.links-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.policy-link{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#1f2937;color:var(--text-dark,#1f2937);display:flex;font-weight:500;gap:12px;padding:16px 20px;text-decoration:none;transition:transform .2s,box-shadow .2s}.policy-link:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.link-icon{font-size:1.3rem}@media (max-width:640px){.support-page{padding:40px 0}.support-page h1{font-size:1.6rem}.support-cards{grid-template-columns:1fr}}.admin-layout{background:#0f0f13;display:flex;min-height:100vh}.admin-sidebar{background:#18181f;border-right:1px solid #ffffff14;display:flex;flex-direction:column;height:100vh;position:fixed;width:260px;z-index:100}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:.75rem;padding:1.5rem}.sidebar-header h1{color:#fff;font-size:1.25rem;margin:0}.admin-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:4px;color:#fff;font-size:.65rem;font-weight:600;padding:.25rem .5rem}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.sidebar-nav .nav-item{align-items:center;border-left:3px solid #0000;color:#ffffffb3;display:flex;gap:.75rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s}.sidebar-nav .nav-item:hover{background:#ffffff0d;color:#fff}.sidebar-nav .nav-item.active{background:#6366f126;border-left-color:#6366f1;color:#818cf8}.nav-icon{font-size:1.1rem}.sidebar-footer{border-top:1px solid #ffffff14;padding:1rem 1.5rem}.admin-info{margin-bottom:1rem}.admin-name{color:#fff;display:block;font-weight:500}.admin-email{color:#ffffff80;font-size:.8rem}.logout-btn{background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#ef4444;cursor:pointer;font-size:.875rem;margin-bottom:.75rem;padding:.625rem;transition:all .2s;width:100%}.logout-btn:hover{background:#ef444433}.back-to-site{color:#ffffff80;display:block;font-size:.8rem;text-align:center;text-decoration:none}.back-to-site:hover{color:#fff}.admin-main{flex:1 1;margin-left:260px;min-height:100vh}.admin-page{max-width:1400px;padding:2rem}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#fff;font-size:1.75rem;margin:0 0 .25rem}.page-header p{color:#fff9;margin:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.stat-card{background:#18181f;border:1px solid #ffffff14;gap:1rem;padding:1.5rem}.stat-card,.stat-icon{align-items:center;border-radius:12px;display:flex}.stat-icon{font-size:1.5rem;height:50px;justify-content:center;width:50px}.stat-icon.users{background:#3b82f626}.stat-icon.celebrities{background:#eab30826}.stat-icon.letters{background:#ec489926}.stat-icon.revenue{background:#22c55e26}.stat-info{display:flex;flex-direction:column}.stat-value{color:#fff;font-size:1.5rem;font-weight:700}.stat-label{color:#fff9;font-size:.875rem}.stat-sub{color:#fff6;font-size:.75rem;margin-left:.25rem}.quick-actions{margin-bottom:2rem}.quick-actions h2{color:#fff;font-size:1.125rem;margin-bottom:1rem}.action-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.action-card{align-items:center;background:#18181f;border:1px solid #ffffff14;border-radius:10px;color:#fffc;display:flex;gap:.75rem;padding:1.25rem;text-decoration:none;transition:all .2s}.action-card:hover{background:#1f1f28;border-color:#6366f14d;color:#fff}.action-card.highlight{background:#ec48990d;border-color:#ec48994d}.action-icon{font-size:1.25rem}.status-section h2{color:#fff;font-size:1.125rem;margin-bottom:1rem}.status-cards{display:flex;gap:1rem}.status-card{border-radius:10px;flex:1 1;padding:1.5rem;text-align:center}.status-card.pending{background:#eab3081a;border:1px solid #eab30833}.status-card.completed{background:#22c55e1a;border:1px solid #22c55e33}.status-card.total{background:#6366f11a;border:1px solid #6366f133}.status-count{color:#fff;display:block;font-size:2rem;font-weight:700}.status-label{color:#fff9;font-size:.875rem}.chart-section{margin-top:2rem}.chart-section h2{color:#fff;font-size:1.125rem;margin-bottom:1rem}.simple-chart{align-items:flex-end;background:#18181f;border:1px solid #ffffff14;border-radius:12px;display:flex;gap:1rem;height:200px;padding:1.5rem}.chart-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.chart-bar{align-items:flex-start;background:linear-gradient(0deg,#6366f1,#8b5cf6);border-radius:4px 4px 0 0;display:flex;justify-content:center;min-height:20px;padding-top:.5rem;width:100%}.bar-value{color:#fff;font-size:.75rem;font-weight:600}.bar-label{color:#ffffff80;font-size:.7rem;margin-top:.5rem}.filters-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.filters-bar input,.filters-bar select{background:#18181f;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:.875rem;min-width:150px;padding:.625rem 1rem}.filters-bar input{flex:1 1;max-width:300px}.filters-bar input:focus,.filters-bar select:focus{border-color:#6366f1;outline:none}.data-table-wrapper{background:#18181f;border:1px solid #ffffff14;border-radius:12px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #ffffff0d;padding:1rem;text-align:left}.data-table th{background:#ffffff05;color:#fff9;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.data-table td{color:#ffffffe6}.data-table tbody tr:hover{background:#ffffff05}.cell-user{align-items:center;display:flex;gap:.75rem}.cell-avatar{border-radius:8px;height:36px;object-fit:cover;width:36px}.cell-name{color:#fff;font-weight:500}.cell-sub{color:#ffffff80;display:block;font-size:.75rem}.cell-info{display:flex;flex-direction:column}.status-tag{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .625rem}.status-tag.active{background:#22c55e26;color:#22c55e}.status-tag.inactive{background:#6b728026;color:#9ca3af}.status-tag.pending{background:#eab30826;color:#eab308}.status-tag.progress{background:#3b82f626;color:#3b82f6}.status-tag.completed{background:#22c55e26;color:#22c55e}.status-tag.cancelled{background:#6b728026;color:#9ca3af}.status-tag.failed,.status-tag.refunded{background:#ef444426;color:#ef4444}.type-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;padding:.25rem .5rem}.type-badge.user{background:#3b82f626;color:#3b82f6}.type-badge.celebrity{background:#eab30826;color:#eab308}.type-badge.admin{background:#8b5cf626;color:#8b5cf6}.action-buttons{display:flex;gap:.5rem}.admin-layout .btn-icon{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;transition:all .2s;width:32px}.admin-layout .btn-icon:hover{background:#ffffff1a}.admin-layout .btn-icon.danger:hover{background:#ef444426;border-color:#ef44444d}.admin-layout .type-select{background:#18181f;border:1px solid #ffffff1a;border-radius:4px;color:#fff;font-size:.75rem;padding:.375rem .5rem}.admin-layout .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.admin-layout .btn-primary:hover{opacity:.9;transform:translateY(-1px)}.admin-layout .btn-secondary{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fffc;cursor:pointer;padding:.625rem 1.25rem;transition:all .2s}.admin-layout .btn-secondary:hover{background:#ffffff1a}.admin-layout .btn-small{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;padding:.375rem .75rem}.admin-layout .btn-small.danger{background:#ef444426;color:#ef4444}.admin-layout .btn-small.danger:hover{background:#ef444440}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding:1rem}.pagination button{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fffc;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.pagination button:disabled{cursor:not-allowed;opacity:.4}.pagination button:not(:disabled):hover{background:#ffffff1a}.pagination span{color:#fff9}.pagination.compact{padding:.75rem}.admin-layout .modal-overlay{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.admin-layout .modal-content{background:#18181f;border:1px solid #ffffff1a;border-radius:16px;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.admin-layout .modal-content.small{max-width:450px}.admin-layout .modal-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.admin-layout .modal-header h2{color:#fff;font-size:1.125rem;margin:0}.admin-layout .modal-close{align-items:center;background:#ffffff0d;border:none;border-radius:8px;color:#fff9;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;width:32px}.admin-layout .modal-close:hover{background:#ffffff1a;color:#fff}.admin-layout .modal-form{padding:1.5rem}.admin-layout .form-group{margin-bottom:1.25rem}.admin-layout .form-group label{color:#fffc;display:block;font-size:.875rem;margin-bottom:.5rem}.admin-layout .form-group input,.admin-layout .form-group select,.admin-layout .form-group textarea{-webkit-text-fill-color:#fff;background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;color:#fff!important;font-size:.9rem;padding:.75rem;width:100%}.admin-layout .form-group input::placeholder,.admin-layout .form-group textarea::placeholder{-webkit-text-fill-color:#ffffff80;color:#ffffff80}.admin-layout .form-group textarea{min-height:80px;resize:vertical}.admin-layout .form-group input:focus,.admin-layout .form-group select:focus,.admin-layout .form-group textarea:focus{border-color:#6366f1;outline:none}.admin-layout .filters-bar select option,.admin-layout .form-group select option,.admin-layout .status-select option,.admin-layout .type-select option{background:#1a1a24;color:#fff;padding:.5rem}.admin-layout .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group.small{max-width:100px}.admin-layout .icon-input{font-size:1.25rem;text-align:center}.admin-layout .modal-actions{border-top:1px solid #ffffff14;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.split-view{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:400px 1fr;min-height:600px}.list-panel{background:#18181f;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.letter-list{flex:1 1;overflow-y:auto}.letter-item{background:#ffffff05;border-bottom:1px solid #ffffff0d;cursor:pointer;padding:1rem;transition:background .2s}.letter-item:hover{background:#ffffff0f}.letter-item.active{background:#6366f126;border-left:3px solid #6366f1}.letter-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.letter-celebrity{color:#fff;font-weight:500}.letter-item-body{color:#fff9;display:flex;font-size:.8rem;gap:1rem;margin-bottom:.5rem}.letter-item-footer{display:flex;font-size:.75rem;justify-content:space-between}.letter-occasion{background:#6366f126;border-radius:4px;color:#ffffffb3;font-size:.75rem;padding:.2rem .5rem}.letter-price{color:#22c55e;font-weight:500}.letter-date{color:#fff6;font-size:.7rem}.detail-panel{background:#18181f;border:1px solid #ffffff14;border-radius:12px;overflow:hidden}.letter-detail{padding:1.5rem}.detail-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.detail-header h3{color:#fff;margin:0}.status-select{background:#0f0f13;border:1px solid #ffffff1a;border-radius:6px;color:#fff;padding:.5rem .75rem}.detail-section{margin-bottom:1.5rem}.detail-section h4{color:#fff9;font-size:.8rem;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{color:#ffffff80;font-size:.75rem}.info-item .value{color:#fff}.message-box{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;color:#ffffffe6;line-height:1.6;padding:1rem;white-space:pre-wrap}.message-box.secondary{background:#6366f10d;border-color:#6366f126}.reply-info{background:#22c55e0d;border:1px solid #22c55e26;border-radius:8px;padding:1rem}.reply-info p{color:#ffffffe6;margin:0 0 .75rem}.video-link{color:#6366f1;display:inline-block;margin-right:1rem;text-decoration:none}.reply-date{color:#ffffff80;font-size:.75rem}.empty-detail{align-items:center;color:#fff6;display:flex;flex-direction:column;height:100%;justify-content:center}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.admin-layout .tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.admin-layout .tab{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#ffffffb3;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s}.admin-layout .tab:hover{background:#ffffff14}.admin-layout .tab.active{background:#6366f126;border-color:#6366f14d;color:#818cf8}.admin-categories .category-section,.admin-layout .category-section{background:#18181f;border:1px solid #ffffff14;border-radius:12px;padding:1.5rem}.admin-categories .section-header,.admin-layout .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.admin-categories .section-header h3,.admin-layout .section-header h3{color:#fff;margin:0}.admin-categories .category-grid,.admin-layout .category-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.admin-categories .category-card,.admin-layout .category-card{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;display:flex;gap:1rem;padding:1rem}.admin-categories .category-icon,.admin-layout .category-icon{align-items:center;background:#6366f11a;border-radius:10px;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.admin-categories .category-card.product .category-icon,.admin-layout .category-card.product .category-icon{background:#eab3081a}.admin-categories .category-info,.admin-layout .category-info{flex:1 1}.admin-categories .category-info h4,.admin-layout .category-info h4{color:#fff;margin:0 0 .25rem}.admin-categories .category-count,.admin-layout .category-count{color:#ffffff80;font-size:.8rem}.admin-categories .category-desc,.admin-layout .category-desc{color:#fff9;display:block;font-size:.8rem;margin-bottom:.25rem}.admin-categories .category-price,.admin-layout .category-price{color:#22c55e;display:block;font-size:.75rem}.admin-categories .category-actions,.admin-layout .category-actions{display:flex;gap:.5rem}.header-stats{align-items:center;display:flex}.revenue-badge{background:#22c55e1a;border:1px solid #22c55e33;border-radius:8px;color:#22c55e;font-weight:500;padding:.5rem 1rem}.payment-id{color:#fff9;font-family:monospace;font-size:.8rem}.amount{color:#22c55e!important;font-weight:600}.admin-layout .loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.admin-layout .spinner{animation:admin-spin .8s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#6366f1;height:40px;width:40px}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-login-page{align-items:center;background:linear-gradient(135deg,#0f0f13,#1a1a24);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-container{background:#18181f;border:1px solid #ffffff1a;border-radius:16px;max-width:400px;padding:2.5rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#fff;font-size:2rem;margin:0 0 .75rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;font-size:.875rem;padding:.75rem 1rem}.login-form .form-group{margin-bottom:0}.login-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:all .2s}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-footer{margin-top:2rem;text-align:center}.back-link{color:#ffffff80;font-size:.875rem;text-decoration:none}.back-link:hover{color:#fffc}.admin-loading{align-items:center;background:#0f0f13;color:#fff9;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.admin-loading .spinner{height:48px;margin-bottom:1rem;width:48px}@media (max-width:1200px){.action-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.split-view{grid-template-columns:1fr}}@media (max-width:768px){.admin-sidebar{display:none}.admin-main{margin-left:0}.action-grid,.stats-grid{grid-template-columns:1fr}}.admin-layout .modal-content.large{max-height:85vh;max-width:700px}.admin-layout .modal-body{max-height:60vh;overflow-y:auto;padding:1.5rem}.admin-layout .products-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.admin-layout .products-header p{color:#fff9;margin:0}.admin-layout .products-list{display:flex;flex-direction:column;gap:.75rem}.admin-layout .product-item{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.admin-layout .product-item:hover{background:#ffffff0f;border-color:#ffffff26}.admin-layout .product-icon{align-items:center;background:#6366f11a;border-radius:10px;display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;width:50px}.admin-layout .product-info{flex:1 1;min-width:0}.admin-layout .product-info h4{color:#fff;font-size:1rem;margin:0 0 .25rem}.admin-layout .product-info p{color:#ffffff80;font-size:.85rem;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-layout .product-prices{display:flex;font-size:.9rem;gap:.75rem}.admin-layout .price-krw{color:#10b981;font-weight:600}.admin-layout .price-usd{color:#6366f1;font-weight:500}.admin-layout .product-actions{display:flex;flex-shrink:0;gap:.5rem}.admin-layout .empty-state{color:#ffffff80;padding:3rem 1rem;text-align:center}.admin-layout .empty-state p{margin-bottom:1rem}.admin-layout .modal-overlay.nested{background:#000000b3}.admin-layout .icon-quick-select{display:flex;flex-wrap:wrap;gap:.5rem}.admin-layout .icon-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;cursor:pointer;display:flex;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s;width:40px}.admin-layout .icon-btn:hover{background:#ffffff1a}.admin-layout .icon-btn.active{background:#6366f133;border-color:#6366f166}.admin-layout .rating-stars{color:#fbbf24;letter-spacing:2px}.admin-layout .review-message{color:#ffffffb3;font-size:.875rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-layout .status-badge.visible{background:#22c55e26;color:#22c55e}.admin-layout .status-badge.hidden{background:#ef444426;color:#ef4444}.admin-layout .empty-cell{color:#ffffff80;padding:2rem;text-align:center}.admin-layout .image-upload-area{background:#ffffff0d;border:2px dashed #fff3;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .2s ease}.admin-layout .image-upload-area:hover{background:#6366f11a;border-color:#6366f1}.admin-layout .image-upload-area.uploading{opacity:.7;pointer-events:none}.admin-layout .image-preview{height:200px;position:relative;width:100%}.admin-layout .image-preview img{height:100%;object-fit:cover;width:100%}.admin-layout .image-overlay{align-items:center;background:#00000080;color:#fff;display:flex;font-size:.9rem;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s ease}.admin-layout .image-preview:hover .image-overlay{opacity:1}.admin-layout .upload-placeholder{align-items:center;color:#fff9;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem}.admin-layout .upload-icon{font-size:2rem}.admin-layout .upload-hint{color:#fff6;font-size:.75rem}.admin-layout .upload-spinner{align-items:center;color:#6366f1;display:inline-flex;gap:.5rem}.admin-layout .upload-spinner:before{animation:spin .8s linear infinite;border:2px solid #6366f1;border-radius:50%;border-top-color:#0000;content:"";height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column}:root{--star-blue:#4f8df5;--star-blue-light:#7aabff;--star-blue-dark:#3a6fd8;--warm-sun:#ffc857;--warm-sun-light:#ffd98a;--warm-sun-dark:#e5a830;--sky-wash:#f5f8ff;--paper-white:#fffcf7;--text-dark:#111827;--text-muted:#6b7280;--text-light:#9ca3af;--border-soft:#e5e7eb;--card-white:#fff;--success:#22c55e;--success-light:#dcfce7;--error:#ef4444;--error-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--gradient-primary:linear-gradient(135deg,#4f8df5,#7aabff);--gradient-warm:linear-gradient(135deg,#ffc857,#ffe4a0);--gradient-sky:linear-gradient(180deg,#f5f8ff,#fff);--gradient-hero:linear-gradient(135deg,#4f8df5,#7aabff 50%,#ffc857);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-card:0 4px 20px #4f8df51a;--shadow-card-hover:0 8px 30px #4f8df533;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-sans:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Playfair Display",Georgia,serif;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-toast:400}*,:after,:before{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f8ff;background-color:var(--sky-wash);color:#111827;color:var(--text-dark);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:1rem;line-height:1.6;min-height:100vh}img{display:block;height:auto;max-width:100%}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{color:#111827;color:var(--text-dark);font-weight:600;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.text-display{font-family:Playfair Display,Georgia,serif;font-family:var(--font-display)}.text-muted{color:#6b7280;color:var(--text-muted)}.text-light{color:#9ca3af;color:var(--text-light)}.text-primary{color:#4f8df5;color:var(--star-blue)}.text-accent{color:#e5a830;color:var(--warm-sun-dark)}.container{margin:0 auto;max-width:1280px;padding:0 24px;padding:0 var(--space-lg);width:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:8px;gap:var(--space-sm)}.gap-md{gap:16px;gap:var(--space-md)}.gap-lg{gap:24px;gap:var(--space-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes starTwinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.animate-fadeIn{animation:fadeIn ease-out .2s ease;animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp ease-out .3s ease;animation:slideUp var(--transition-slow) ease-out}.animate-scaleIn{animation:scaleIn ease-out .2s ease;animation:scaleIn var(--transition-base) ease-out}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f5f8ff;background:var(--sky-wash)}::-webkit-scrollbar-thumb{background:#e5e7eb;background:var(--border-soft);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-light)}:focus-visible{outline:2px solid #4f8df5;outline:2px solid var(--star-blue);outline-offset:2px}::selection{background:#7aabff;background:var(--star-blue-light);color:#fff}@media (max-width:768px){html{font-size:15px}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.15rem}.container{padding:0 16px;padding:0 var(--space-md)}}@media (max-width:480px){html{font-size:14px}}
/*# sourceMappingURL=main.a74a0341.css.map*/