:root{--charcoal: #121212;--champagne-gold: #D4AF37;--soft-gold: #E5C76B;--muted-gold: #8E793E;--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .4);--text-muted: rgba(255, 255, 255, .2);--border-subtle: rgba(255, 255, 255, .05);--border-gold: rgba(212, 175, 55, .3)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--charcoal);color:var(--text-primary);font-family:Inter,Noto Sans KR,sans-serif;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100dvh}.app{display:flex;flex-direction:column;min-height:100dvh;position:relative}.app__bg{position:fixed;inset:0;z-index:-1;pointer-events:none}.app__bg-glow{position:absolute;top:-10%;left:-10%;width:50%;height:50%;background:var(--muted-gold);border-radius:50%;filter:blur(150px);opacity:.15}.app__bg-grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:.4}.header-bar{position:sticky;top:0;z-index:10000;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);background:#121212cc;animation:slideDown .5s cubic-bezier(.22,1,.36,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.header-bar__brand{display:flex;flex-direction:column}.header-bar__est{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-gold);font-weight:500}.header-bar__title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;font-style:italic;color:#fff;letter-spacing:-.02em}.header-bar__badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border:1px solid var(--champagne-gold);border-radius:100px;background:#d4af370d;position:relative;overflow:hidden}.header-bar__badge:after{content:"";position:absolute;top:-50%;left:-100%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.15),transparent);animation:badgeShine 4s ease-in-out infinite}@keyframes badgeShine{0%,to{left:-100%}50%{left:200%}}.header-bar__badge-icon{font-size:14px;color:var(--champagne-gold)}.header-bar__badge-text{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--champagne-gold);font-weight:600}.hero{padding:4rem 1.5rem 3rem;text-align:center}.hero__title{font-family:Playfair Display,serif;font-size:2.8rem;font-weight:400;font-style:italic;line-height:1.1;color:#fff;margin-bottom:1.5rem}.hero__title-accent{color:var(--champagne-gold)}.hero__desc{color:var(--text-secondary);font-size:.85rem;font-weight:300;max-width:280px;margin:0 auto;line-height:1.7;letter-spacing:.03em}.form-section{padding:0 2rem 2rem}.form-section__fields{display:flex;flex-direction:column;gap:2.5rem}.field{display:flex;flex-direction:column}.field__label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne-gold);font-weight:500;margin-bottom:.5rem;transition:letter-spacing .4s ease,color .3s ease}.field:hover .field__label,.field:focus-within .field__label{letter-spacing:.28em;color:#e8cc6a}.field__input,.field__select{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.15);padding:1rem 0;color:var(--text-primary);font-size:1rem;font-family:Inter,Noto Sans KR,sans-serif;font-weight:300;letter-spacing:.1em;outline:none;transition:border-color .4s ease,box-shadow .4s ease,transform .3s ease;appearance:none;-webkit-appearance:none}.field__input:focus,.field__select:focus{border-bottom-color:var(--champagne-gold);box-shadow:0 4px 16px -4px #d4af3740;transform:translateY(-1px)}.field__select--filled{color:#fff;border-bottom-color:#d4af3780;animation:fieldFilled .5s cubic-bezier(.22,1,.36,1)}@keyframes fieldFilled{0%{transform:translateY(0);opacity:.7}25%{transform:translateY(-4px)}50%{transform:translateY(-2px);opacity:1}to{transform:translateY(0)}}.field__select--filled:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--champagne-gold);box-shadow:0 0 8px #d4af3780}.field__input::placeholder{color:var(--text-muted)}.field__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.3)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:1.5rem;cursor:pointer}.field__select option{background:#1a1a1a;color:#fff}.field__row{display:flex;gap:1.5rem}.field__row .field__select{flex:1}.field__row .field__select:nth-child(1){transition-delay:0s}.field__row .field__select:nth-child(2){transition-delay:.05s}.field__row .field__select:nth-child(3){transition-delay:.1s}.photo-field{display:flex;flex-direction:column;align-items:center;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.photo-field__area{width:120px;height:120px;border-radius:50%;border:1px dashed rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.22,1,.36,1);overflow:hidden;background:#ffffff05}.photo-field__area:hover,.photo-field__area--dragging{border-color:var(--champagne-gold);background:#d4af370d;transform:scale(1.05);box-shadow:0 0 30px #d4af371a}.photo-field__area--dragging{transform:scale(1.08)}.photo-field__area--has-image{border-style:solid;border-color:var(--champagne-gold);box-shadow:0 0 20px #d4af3726;animation:photoLoaded .5s cubic-bezier(.22,1,.36,1)}@keyframes photoLoaded{0%{transform:scale(.85);opacity:.5}50%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.photo-field__preview{width:100%;height:100%;object-fit:cover;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.photo-field__icon{font-size:28px;color:#fff3;transition:transform .3s ease,color .3s ease;animation:iconPulse 2.5s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:1}}.photo-field__area:hover .photo-field__icon{transform:scale(1.2);color:var(--champagne-gold);animation:none}.photo-field__text{font-size:.65rem;color:var(--text-secondary);margin-top:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:color .3s ease}.photo-field__area--has-image~.photo-field__text{color:var(--champagne-gold)}.photo-field__input{display:none}.cd{position:relative;flex:1}.cd__backdrop{position:fixed;inset:0;z-index:9998;background:#0000008c;touch-action:none}.cd__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 0;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:var(--text-primary);font-size:1rem;font-family:Inter,Noto Sans KR,sans-serif;font-weight:300;letter-spacing:.1em;cursor:pointer;touch-action:manipulation;transition:border-color .4s ease,box-shadow .4s ease}.cd__trigger--open,.cd__trigger:hover{border-bottom-color:var(--champagne-gold);box-shadow:0 2px 12px -4px #d4af3733}.cd--filled .cd__trigger{border-bottom-color:#d4af3766}.cd__value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd__value--placeholder{color:var(--text-muted)}.cd--filled .cd__value{color:#fff}.cd__arrow{font-size:18px;color:#ffffff4d;transition:color .3s ease;flex-shrink:0}.cd__trigger--open .cd__arrow{color:var(--champagne-gold)}.cd__dropdown{max-height:240px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;z-index:9999;background:#0a0a0af7;border:1px solid rgba(212,175,55,.15);border-radius:6px;padding:6px;box-shadow:0 16px 48px #00000080,0 0 0 1px #d4af370f,inset 0 1px #ffffff08;animation:dropdownOpen .3s cubic-bezier(.22,1,.36,1)}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cd__dropdown::-webkit-scrollbar{width:3px}.cd__dropdown::-webkit-scrollbar-track{background:transparent}.cd__dropdown::-webkit-scrollbar-thumb{background:#d4af3740;border-radius:3px}.cd__item{display:block;width:100%;padding:10px 14px;border:none;border-radius:4px;background:transparent;color:#ffffff8c;font-size:.88rem;font-family:Inter,Noto Sans KR,sans-serif;font-weight:400;letter-spacing:.05em;text-align:left;cursor:pointer;touch-action:manipulation;transition:all .25s ease;position:relative}.cd__item:hover{background:#d4af3714;color:#d4af37;box-shadow:inset 0 0 12px #d4af370a}.cd__item--active{color:#d4af37;font-weight:500;background:#d4af371a}.cd__item--active:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:14px;background:#d4af37;border-radius:2px;box-shadow:0 0 6px #d4af3766}.essence-group{display:flex;gap:3rem;padding-top:.25rem}.essence-group__option{display:flex;align-items:center;gap:.75rem;cursor:pointer}.essence-group__radio{width:16px;height:16px;border:1px solid rgba(255,255,255,.2);border-radius:50%;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;transition:all .3s}.essence-group__radio:checked{border-color:var(--champagne-gold);background:var(--champagne-gold);box-shadow:inset 0 0 0 3px var(--charcoal)}.essence-group__text{font-size:.9rem;font-weight:300;color:#ffffff80;transition:color .3s}.essence-group__option:hover .essence-group__text{color:#fff}.gold-btn{width:100%;padding:1.25rem;background:linear-gradient(135deg,#d4af37,#b8942b,#8e793e);background-size:200% 200%;box-shadow:0 10px 24px -10px #d4af3766;color:var(--charcoal);border:none;border-radius:2px;font-size:.7rem;font-weight:700;font-family:Inter,sans-serif;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:all .4s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;animation:btnShimmer 3s ease-in-out infinite}@keyframes btnShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.gold-btn:before{content:"";position:absolute;top:-50%;left:-100%;width:60%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.gold-btn:hover:not(:disabled):before{left:150%}.gold-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity .4s ease}.gold-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.01);box-shadow:0 18px 36px -12px #d4af378c,0 0 20px #d4af3726;letter-spacing:.32em}.gold-btn:hover:not(:disabled):after{opacity:1}.gold-btn:active:not(:disabled){transform:translateY(1px) scale(.97);box-shadow:0 4px 8px -4px #d4af3766;transition:all .1s ease}.gold-btn:disabled{opacity:.35;cursor:not-allowed;animation:none}.form-section__footer{text-align:center;margin-top:1.5rem;font-size:.6rem;color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;font-style:italic}.form-section__error{color:#e74c3c;font-size:.8rem;text-align:center;padding:.75rem;background:#e74c3c14;border-radius:4px}.quote-section{padding:4rem 3rem;text-align:center;border-top:1px solid var(--border-subtle)}.quote-section__icon{font-size:1.5rem;color:var(--champagne-gold);opacity:.5;margin-bottom:1rem}.quote-section__text{font-family:Playfair Display,serif;font-style:italic;font-size:1.15rem;color:#ffffff80;line-height:1.8}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10000;display:flex;justify-content:space-around;align-items:center;padding:1rem 2.5rem 2rem;background:#121212e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-decoration:none;transition:color .3s}.bottom-nav__item--active{color:var(--champagne-gold)}.bottom-nav__item--inactive{color:#ffffff40}.bottom-nav__icon{font-size:24px}.bottom-nav__label{font-size:.55rem;letter-spacing:-.02em;text-transform:uppercase;font-weight:500}.nav-spacer{height:5rem}.result{flex:1;padding-bottom:2rem}.result__hero{padding:3rem 1.5rem 2rem;text-align:center}.result__genre{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-gold);font-weight:500;margin-bottom:.75rem}.result__title{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:400;font-style:italic;line-height:1.15;color:#fff;margin-bottom:1rem}.result__copy{font-family:Playfair Display,serif;font-style:italic;font-size:1rem;color:#ffffff80;line-height:1.7;max-width:320px;margin:0 auto}.result__poster{padding:0 1.5rem;margin-bottom:1.5rem}.result__poster-frame{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:2px}.result__poster-img{width:100%;height:100%;object-fit:cover}.result__poster-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--charcoal) 0%,transparent 40%)}.result__poster-caption{position:absolute;bottom:1.25rem;left:1.25rem}.result__poster-vol{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne-gold);margin-bottom:.25rem}.result__poster-name{font-family:Playfair Display,serif;font-size:1.25rem;font-style:italic;font-weight:300;color:#fff}.result__poster-loading{width:100%;aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:2px}.result__poster-loading-text{font-size:.7rem;color:var(--text-secondary);letter-spacing:.15em;text-transform:uppercase}.img-retry-btn{margin-top:.5rem;padding:.4rem 1.2rem;background:transparent;border:1px solid rgba(212,175,55,.4);border-radius:2px;color:var(--champagne-gold);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background .2s,border-color .2s}.img-retry-btn:hover{background:#d4af3714;border-color:var(--champagne-gold)}.result__palette{display:flex;margin:0 1.5rem 1.5rem;height:4px;border-radius:2px;overflow:hidden}.result__palette-color{flex:1}.result__cards{padding:0 1.5rem;display:flex;flex-direction:column;gap:1px}.report-card{padding:1.75rem 0;border-bottom:1px solid rgba(212,175,55,.15)}.report-card:first-child{border-top:1px solid rgba(212,175,55,.15)}.report-card__label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne-gold);font-weight:500;margin-bottom:.75rem}.report-card__text{font-size:.9rem;color:#ffffffb3;line-height:1.8;font-weight:300}.report-card__keywords{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.report-card__keyword{padding:.4rem 1rem;border:1px solid rgba(212,175,55,.25);border-radius:100px;font-size:.75rem;color:var(--champagne-gold);font-weight:400;letter-spacing:.05em;background:#d4af370d}.scenes{padding:2rem 1.5rem 0}.scenes__heading{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;font-style:italic;color:#fff;text-align:center;margin-bottom:2rem}.scene-card{margin-bottom:2.5rem}.scene-card__header{margin-bottom:1rem}.scene-card__act{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--champagne-gold);font-weight:600}.scene-card__title{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:400;font-style:italic;color:#fff;margin-top:.375rem}.scene-card__image-wrap{width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:2px;margin-bottom:1rem}.scene-card__image{width:100%;height:100%;object-fit:cover}.scene-card__loading{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#ffffff05;border:1px solid var(--border-subtle)}.scene-card__loading-text{font-size:.65rem;color:var(--text-secondary);letter-spacing:.15em;text-transform:uppercase}.scene-card__text{font-size:.9rem;color:#ffffffb3;line-height:1.8;font-weight:300}.email-section{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;margin:0 1.5rem;border:1px solid rgba(212,175,55,.15);border-radius:4px;background:#d4af3708}.email-section__icon{font-size:18px;color:var(--champagne-gold)}.email-section__success{font-size:.8rem;color:#4ade80;font-weight:400}.email-section__pending{font-size:.8rem;color:var(--text-secondary);font-weight:300}.form-section__refund{color:#4ade80;font-weight:500;margin-top:.5rem}.result__actions{padding:2rem 2rem 0}.spinner{width:28px;height:28px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--champagne-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.disclaimer{text-align:center;font-size:.65rem;color:#ffffff40;line-height:1.6;padding:1.5rem 2rem;letter-spacing:.02em}.legal-links{display:flex;justify-content:center;gap:1.5rem;padding:1rem 1.5rem 2rem}.legal-links a{font-size:.6rem;color:#ffffff4d;text-decoration:none;letter-spacing:.05em;transition:color .3s}.legal-links a:hover{color:var(--champagne-gold)}.intro-video{position:fixed;inset:0;z-index:0;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.intro-video__player{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity 1.5s ease-in-out;-webkit-transform:translateZ(0);transform:translateZ(0)}.intro-video__player--out,.intro-video__player--next{opacity:0}.intro-video__player--in{opacity:1;animation:videoFadeIn 1.5s ease-in-out}@keyframes videoFadeIn{0%{opacity:0}to{opacity:1}}.intro-video__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#121212b3,#12121299,#121212bf 60%,#121212eb)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) forwards}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:3rem 2rem;gap:2.5rem;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) forwards}.app__bg-glow--loading{animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.3;transform:scale(1.1)}}.loading-screen__photo{position:relative;width:120px;height:120px}.loading-screen__photo-img{width:100%;height:100%;object-fit:cover;border-radius:50%;animation:photoReveal .8s cubic-bezier(.22,1,.36,1) forwards}@keyframes photoReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.loading-screen__photo-ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid transparent;border-top-color:var(--champagne-gold);border-right-color:#d4af374d;animation:ringRotate 2s linear infinite}@keyframes ringRotate{to{transform:rotate(360deg)}}.loading-screen__content{text-align:center;animation:fadeUp .6s cubic-bezier(.22,1,.36,1) .2s both}.loading-screen__title{font-family:Playfair Display,serif;font-size:2rem;font-weight:400;font-style:italic;color:#fff;margin-bottom:.75rem}.loading-screen__subtitle{font-size:.8rem;color:var(--text-secondary);font-weight:300;letter-spacing:.05em}.loading-screen__stages{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:280px;animation:fadeUp .6s cubic-bezier(.22,1,.36,1) .4s both}.loading-stage{display:flex;align-items:center;gap:1rem;opacity:.3;transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1);transform:translate(-8px)}.loading-stage--active,.loading-stage--current{opacity:1;transform:translate(0)}.loading-stage__dot{width:28px;height:28px;border-radius:50%;border:1px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .5s ease,background .5s ease}.loading-stage--active .loading-stage__dot{border-color:var(--champagne-gold);background:#d4af371a}.loading-stage__spinner{width:14px;height:14px;border:2px solid rgba(212,175,55,.2);border-top-color:var(--champagne-gold);border-radius:50%;animation:spin .8s linear infinite}.loading-stage__check{font-size:16px;color:var(--champagne-gold);animation:checkPop .3s cubic-bezier(.22,1,.36,1)}@keyframes checkPop{0%{transform:scale(0)}to{transform:scale(1)}}.loading-stage__label{font-size:.8rem;font-weight:400;color:#ffffffb3;letter-spacing:.03em}.loading-stage--current .loading-stage__label{color:#fff}.loading-screen__bar{width:100%;max-width:280px;height:2px;background:#ffffff0f;border-radius:1px;overflow:hidden;animation:fadeUp .6s cubic-bezier(.22,1,.36,1) .5s both}.loading-screen__bar-fill{height:100%;background:linear-gradient(90deg,var(--champagne-gold),#8E793E);border-radius:1px;transition:width 1s cubic-bezier(.22,1,.36,1)}@media(max-width:380px){.hero__title{font-size:2.2rem}.result__title{font-size:2rem}}@media(min-width:768px){.hero__title{font-size:3.5rem}.form-section{max-width:500px;margin:0 auto}.result__poster{max-width:400px;margin-left:auto;margin-right:auto}.result__cards{max-width:500px;margin:0 auto}.scenes{max-width:600px;margin:0 auto}}
