.wizard-root{max-width:900px;margin:0 auto;padding:16px 24px 80px}.err{margin:16px 0;padding:14px 18px;border:1px solid rgba(197,101,101,.4);background:#c5656514;border-radius:4px;color:#f5cfcf;font-size:14px}.step-header{display:flex;gap:6px;margin-bottom:48px;flex-wrap:wrap}.step-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:2px;border:1px solid rgba(212,179,127,.15);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-fade);background:transparent;transition:all .2s;cursor:default}.step-chip.reachable{cursor:pointer}.step-chip.reachable:hover{border-color:#d4b37f80;color:var(--gold-glow)}.step-chip:not(.reachable){opacity:.55}.step-chip.active{border-color:var(--gold);color:var(--gold-glow);background:#d4b37f0d}.step-chip.done{border-color:#d4b37f59;color:var(--cream-mute)}.step-num{font-family:JetBrains Mono,monospace;font-weight:500}.step-body{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-title{text-align:center;margin-bottom:40px}.step-title h2{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.1;margin:8px 0 12px}.step-hint{color:var(--cream-mute);font-size:15px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.tile-grid-compact{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.tile-grid-styles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:24px 22px;background:#241b1599;border:1px solid rgba(212,179,127,.15);border-radius:8px;color:var(--cream);cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.tile:hover{border-color:#d4b37f73;background:#241b15d9;transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.tile-selected{border-color:var(--gold);background:#d4b37f14;box-shadow:0 0 0 1px var(--gold),0 8px 24px #d4b37f26}.tile-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(232,200,148,.22) 0%,rgba(212,179,127,.06) 60%,transparent 100%);border:1px solid rgba(212,179,127,.25);color:var(--gold-glow);font-family:Cormorant Garamond,serif;font-size:1.35rem;margin-bottom:6px}.tile-label{font-family:Cormorant Garamond,serif;font-size:22px;line-height:1.1;color:var(--cream-warm)}.tile-compact .tile-label{font-size:18px;margin:0}.tile-desc{color:var(--cream-mute);font-size:13px;line-height:1.4}.tile-compact{padding:16px 20px;min-height:auto}.form-card{background:var(--ink-soft);border:1px solid rgba(212,179,127,.12);border-radius:8px;padding:32px;box-shadow:0 12px 32px #0006;margin-bottom:24px}.field{margin-bottom:20px}.field label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:8px}.field-meta{color:var(--cream-fade);letter-spacing:.05em;text-transform:none}.field input,.field textarea{width:100%;background:var(--ink-deeper);border:1px solid rgba(212,179,127,.2);color:var(--cream-warm);border-radius:4px;padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.5;transition:border-color .2s,background .2s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#0e0a07cc;box-shadow:0 0 0 2px #d4b37f26}.field textarea{resize:vertical;min-height:120px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.form-row-2{grid-template-columns:1fr}}.signin-area{margin-top:20px;padding:24px;border:1px dashed rgba(212,179,127,.25);border-radius:4px;text-align:center}.signin-area .caps-lede{display:block;margin-bottom:4px;color:var(--gold)}.google-btn-container{display:flex;justify-content:center;margin-top:16px}.signed-in{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#8fb58e14;border:1px solid rgba(143,181,142,.3);border-radius:4px;font-size:13px;color:var(--cream)}.credits-badge{background:#d4b37f1f;border:1px solid var(--gold);padding:4px 10px;border-radius:999px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--gold-glow)}.step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:16px}.step-nav button:disabled,.btn-primary:disabled{opacity:.45;cursor:not-allowed}.preview-card{background:var(--ink-soft);border:1px solid rgba(212,179,127,.2);border-radius:8px;padding:32px;box-shadow:0 12px 32px #00000073,inset 0 0 0 1px #d4b37f0a;margin-bottom:24px}.preview-kit-header,.gift-draft-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.preview-kit-header h3,.gift-draft-head h3,.locked-gift h3,.pricing-modal h3{font-family:Cormorant Garamond,serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:400;line-height:1.05;color:var(--cream-warm);margin:6px 0 0}.trial-badge{flex:0 0 auto;border:1px solid rgba(212,179,127,.42);background:#d4b37f1a;color:var(--gold-glow);border-radius:999px;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:11px;white-space:nowrap}.preview-summary{list-style:none;padding:0;margin:16px 0 24px}.preview-summary li{padding:8px 0;border-bottom:1px solid rgba(212,179,127,.08);color:var(--cream)}.preview-summary strong{color:var(--gold);margin-right:8px;letter-spacing:.05em}.adjustment-note{color:var(--rose-warm);font-size:13px;margin:-8px 0 16px}.lyrics-preview pre{font-family:Cormorant Garamond,serif;font-style:italic;font-size:17px;line-height:1.8;color:var(--cream-warm);white-space:pre-wrap;padding:20px;background:#0e0a0766;border-left:2px solid var(--gold);border-radius:2px;margin:16px 0 28px;max-height:400px;overflow-y:auto}.preview-player audio{width:100%;margin-top:16px;filter:invert(.9) hue-rotate(180deg)}.locked-preview-player{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 18px;margin-top:16px;background:#0e0a0775;border:1px solid rgba(212,179,127,.22);border-radius:8px}.lpp-play{width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,179,127,.6);background:transparent;color:var(--cream);font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.lpp-play:hover{background:#d4b37f1a;border-color:var(--gold)}.lpp-bar{position:relative;height:8px;background:#ffffff0f;border-radius:999px;cursor:pointer;overflow:hidden}.lpp-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#c68b77,#e8c894);border-radius:999px;transition:width .12s linear}.lpp-preview-end{position:absolute;top:-2px;height:12px;width:2px;background:var(--gold);transform:translate(-1px);box-shadow:0 0 6px #e8c89499}.lpp-locked{position:absolute;top:0;height:100%;background-image:repeating-linear-gradient(45deg,rgba(212,179,127,.14) 0 6px,transparent 6px 12px);display:flex;align-items:center;justify-content:center;cursor:not-allowed;border-radius:0 999px 999px 0}.locked-preview-player.unlocked .lpp-bar{cursor:pointer}.lpp-time{font-size:12px;color:var(--cream-mute);white-space:nowrap;display:flex;align-items:baseline;gap:2px}.lpp-time .lpp-caps{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.65;margin-left:6px}@media (max-width: 680px){.locked-preview-player{grid-template-columns:auto 1fr;gap:10px;padding:12px 14px}.lpp-time{grid-column:1 / -1;justify-content:flex-end}}.unlock-ceremony{display:flex;flex-direction:column;align-items:center;gap:18px;padding:44px 20px 32px;min-height:260px}.unlock-stage{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center}.padlock{animation:uc-enter .5s ease-out forwards,uc-body-shake .5s .5s ease-in-out;transform-origin:center;filter:drop-shadow(0 10px 30px rgba(212,179,127,.22))}.uc-shackle-grp{transform-origin:44px 24px;animation:uc-shackle-lift .5s 1.6s cubic-bezier(.2,.9,.25,1) forwards}.uc-keyhole{transform-origin:32px 50px;animation:uc-key-turn .6s 1s cubic-bezier(.4,0,.2,1) forwards}.uc-burst{position:absolute;inset:50% 50% auto auto;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#f9e5b0 0%,rgba(232,200,148,.6) 40%,transparent 70%);transform:translate(50%,-50%) scale(0);opacity:0;animation:uc-burst .9s 1.9s cubic-bezier(.2,.6,.4,1) forwards}.uc-particle{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#f9e5b0 0%,transparent 70%);opacity:0;transform:translate(-50%,-50%);animation-duration:1.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.2,.6,.4,1);animation-fill-mode:forwards}.uc-p-0{animation-name:uc-drift-0}.uc-p-1{animation-name:uc-drift-1}.uc-p-2{animation-name:uc-drift-2}.uc-p-3{animation-name:uc-drift-3}.uc-p-4{animation-name:uc-drift-4}.uc-p-5{animation-name:uc-drift-5}.uc-p-6{animation-name:uc-drift-6}.uc-p-7{animation-name:uc-drift-7}.uc-p-8{animation-name:uc-drift-8}.uc-p-9{animation-name:uc-drift-9}.uc-p-10{animation-name:uc-drift-10}.uc-p-11{animation-name:uc-drift-11}.ceremony-caption{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:22px;color:var(--cream);margin:0;text-align:center}.ceremony-caption-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);margin:0;animation:uc-fade-in .4s ease-out}@keyframes uc-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes uc-body-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes uc-key-turn{0%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes uc-shackle-lift{0%{transform:rotate(0) translateY(0)}55%{transform:rotate(22deg) translateY(-5px)}to{transform:rotate(22deg) translateY(-5px)}}@keyframes uc-burst{0%{transform:translate(50%,-50%) scale(0);opacity:0}30%{transform:translate(50%,-50%) scale(6);opacity:1}to{transform:translate(50%,-50%) scale(14);opacity:0}}@keyframes uc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes uc-drift-0{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 90px),calc(-50% - 60px))}}@keyframes uc-drift-1{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 120px),calc(-50% + 20px))}}@keyframes uc-drift-2{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 110px),calc(-50% - 40px))}}@keyframes uc-drift-3{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 70px),calc(-50% + 80px))}}@keyframes uc-drift-4{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 40px),calc(-50% - 110px))}}@keyframes uc-drift-5{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 30px),calc(-50% - 100px))}}@keyframes uc-drift-6{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 150px),calc(-50% - 10px))}}@keyframes uc-drift-7{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 140px),calc(-50% + 40px))}}@keyframes uc-drift-8{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 60px),calc(-50% + 120px))}}@keyframes uc-drift-9{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 80px),calc(-50% + 110px))}}@keyframes uc-drift-10{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 20px),calc(-50% - 140px))}}@keyframes uc-drift-11{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 160px),calc(-50% - 30px))}}.ready-panel{margin-top:16px}.ready-head{margin-bottom:18px}.ready-head .caps-tag.success{color:#e8c894;border-color:#d4b37f80;background:#d4b37f14}.ready-head h3{margin:8px 0}.ready-head .subhead{color:var(--cream-mute);line-height:1.7;margin:0}.share-drawer-backdrop{position:fixed;inset:0;background:#0e0a07c7;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;animation:share-fade .24s ease-out}.share-drawer{position:relative;width:100%;max-width:480px;background:linear-gradient(180deg,#241b15,#1a1410);border:1px solid rgba(212,179,127,.28);border-radius:12px;padding:36px 32px 28px;color:var(--cream);box-shadow:0 40px 80px #0000008c;animation:share-enter .3s cubic-bezier(.2,.9,.25,1)}.share-close{position:absolute;top:14px;right:14px;background:transparent;border:none;color:var(--cream-mute);font-size:24px;line-height:1;cursor:pointer;padding:4px 8px}.share-close:hover{color:var(--cream)}.share-headline{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:32px;font-weight:400;margin:8px 0 22px;color:var(--cream)}.share-preview-card{display:flex;gap:14px;align-items:center;padding:14px 16px;background:#ffffff08;border:1px solid rgba(212,179,127,.2);border-radius:8px;margin-bottom:22px}.share-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#c68b77,#e8c894);color:#1a1410;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.share-preview-copy{flex:1;min-width:0}.share-preview-title{font-family:Cormorant Garamond,serif;font-style:italic;font-size:17px;color:var(--cream);margin:0 0 2px}.share-preview-from{font-size:12px;color:var(--cream-mute);margin:0 0 6px}.share-preview-url{font-size:11px;color:var(--gold);letter-spacing:.05em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-copy-btn{display:block;width:100%;padding:14px 20px;border:1px solid var(--gold);background:#d4b37f14;color:var(--cream);font-size:13px;letter-spacing:.22em;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s}.share-copy-btn:hover{background:#d4b37f24}.share-copy-btn.copied{background:#d4b37f38;color:#e8c894;border-color:#e8c894}.share-divider{display:flex;align-items:center;gap:12px;margin:26px 0 20px;color:var(--cream-fade);font-size:10px;letter-spacing:.3em;text-transform:uppercase}.share-divider:before,.share-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(212,179,127,.3),transparent)}.share-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.share-app{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border:1px solid rgba(212,179,127,.22);background:transparent;color:var(--cream);text-decoration:none;border-radius:8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s;cursor:pointer;line-height:1.2}.share-app:hover{background:#d4b37f14;border-color:#d4b37f8c;color:var(--cream)}.share-app svg{color:var(--gold);flex-shrink:0;transition:color .2s}.share-app:hover svg{color:#e8c894}.share-footnote{margin:22px 0 0;font-size:11px;color:var(--cream-fade);letter-spacing:.05em;text-align:center}@keyframes share-fade{0%{opacity:0}to{opacity:1}}@keyframes share-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 520px){.share-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.share-app{padding:12px 4px 10px;font-size:9px}.share-drawer{padding:28px 20px 20px}}.locked-gift{border:1px solid rgba(212,179,127,.22);border-radius:8px;padding:22px;background:linear-gradient(135deg,#d4b37f14,#d89b870a),#0e0a0757}.locked-gift p:last-child{color:var(--cream-mute);line-height:1.7;margin:12px 0 0}.conversion-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.adjustment-panel{margin-top:24px;border:1px solid rgba(216,155,135,.28);border-radius:8px;padding:22px;background:#d89b870f}.adjustment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.adjustment-options button{text-align:left;border:1px solid rgba(212,179,127,.2);background:#0e0a0759;color:var(--cream);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.4;cursor:pointer;transition:border-color .2s,background .2s}.adjustment-options button:hover,.adjustment-options button:focus-visible{border-color:var(--gold);background:#d4b37f14}.adjustment-panel textarea{width:100%;min-height:86px;margin-bottom:16px;resize:vertical;border:1px solid rgba(212,179,127,.24);border-radius:8px;background:#0e0a078c;color:var(--cream);padding:14px 16px;font:inherit}.pricing-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0a0705b8;backdrop-filter:blur(8px)}.pricing-modal{position:relative;width:min(520px,100%);border:1px solid rgba(212,179,127,.32);border-radius:8px;background:var(--ink-soft);box-shadow:0 24px 80px #0000009e;padding:28px}.pricing-modal>p{color:var(--cream-mute);line-height:1.65}.pricing-modal-close{position:absolute;top:16px;right:16px;border:0;background:transparent;color:var(--cream-mute);cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.pricing-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:16px;border:1px solid rgba(212,179,127,.18);border-radius:8px;background:#0e0a074d}.pricing-choice.primary{border-color:#d4b37f66;background:#d4b37f14}.pricing-choice strong,.pricing-choice span{display:block}.pricing-choice strong{color:var(--cream-warm);margin-bottom:4px}.pricing-choice span{color:var(--cream-mute);font-size:13px;line-height:1.4}.generating{text-align:center;padding:32px 0;color:var(--cream-mute)}.generating p{margin:8px 0}.spinner{width:32px;height:32px;margin:0 auto 16px;border:2px solid rgba(212,179,127,.2);border-top-color:var(--gold);border-radius:50%;animation:spinner-rotate 1s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.cf-turnstile{margin:16px 0}@media (max-width: 640px){.preview-kit-header,.gift-draft-head,.pricing-choice{flex-direction:column;align-items:stretch}.adjustment-options{grid-template-columns:1fr}.conversion-actions>.btn-primary,.conversion-actions>.link-secondary,.pricing-choice .btn-primary,.pricing-choice .link-secondary{justify-content:center;width:100%}}
