.occasion-picker{border:0;min-width:0;margin:0;padding:0}.occasion-picker>legend{color:var(--foreground);margin-bottom:.5rem;padding:0;font-size:.875rem;font-weight:650}.occasion-picker__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.occasion-picker__card{min-width:0;position:relative}.occasion-picker__card input{opacity:0;pointer-events:none;position:absolute}.occasion-picker__card span{border:1px solid var(--border);background:color-mix(in oklch, var(--card) 94%, var(--muted));min-height:3rem;color:var(--foreground);cursor:pointer;border-radius:.85rem;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.8rem;font-weight:600;line-height:1.25;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:flex}.occasion-picker__card span:hover{border-color:color-mix(in oklch, var(--primary) 45%, var(--border));transform:translateY(-1px)}.occasion-picker__card svg{width:1rem;height:1rem;color:color-mix(in oklch, var(--primary) 82%, var(--foreground));flex:none}.occasion-picker__card input:checked+span{border-color:var(--primary);background:color-mix(in oklch, var(--primary) 8%, var(--card));box-shadow:0 0 0 1px color-mix(in oklch, var(--primary) 18%, transparent)}.occasion-picker__card input:focus-visible+span{outline:2px solid var(--ring);outline-offset:2px}.occasion-picker__detail{border:1px solid color-mix(in oklch, var(--border) 78%, transparent);background:color-mix(in oklch, var(--muted) 45%, var(--card));border-radius:.85rem;margin-top:.65rem;padding:.7rem}.occasion-picker__detail-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.55rem;display:flex}.occasion-picker__detail-head strong{font-size:.78rem;font-weight:650}.occasion-picker__detail-head span{color:var(--muted-foreground);text-align:right;font-size:.69rem;line-height:1.35}.occasion-picker__chips{flex-wrap:wrap;gap:.42rem;display:flex}.occasion-picker__chips button{border:1px solid var(--border);background:var(--card);min-height:2rem;color:var(--foreground);cursor:pointer;font:inherit;border-radius:999px;padding:.35rem .62rem;font-size:.72rem;transition:border-color .15s,background .15s}.occasion-picker__chips button:hover,.occasion-picker__chips button[aria-pressed=true]{border-color:var(--primary);background:color-mix(in oklch, var(--primary) 9%, var(--card))}.occasion-picker__chips button:focus-visible,.occasion-picker__custom input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.occasion-picker__custom{color:var(--foreground);gap:.35rem;margin-top:.6rem;font-size:.75rem;font-weight:600;display:grid}.occasion-picker__custom input{border:1px solid var(--input);background:var(--card);width:100%;min-height:2.55rem;color:var(--foreground);font:inherit;border-radius:.7rem;padding:.5rem .7rem;font-size:.82rem}.occasion-picker--issue .occasion-picker__detail,.occasion-picker__custom input[aria-invalid=true]{border-color:var(--destructive)}.occasion-picker__error{color:var(--destructive);margin:.35rem 0 0;font-size:.72rem}.occasion-picker--compact>legend{margin-bottom:.25rem;font-size:.76rem}.occasion-picker--compact .occasion-picker__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem}.occasion-picker--compact .occasion-picker__card span{border-radius:.7rem;min-height:2.45rem;padding:.45rem .55rem;font-size:.72rem}.occasion-picker--compact .occasion-picker__detail{border-radius:.7rem;margin-top:.45rem;padding:.55rem}@media (width<=640px){.occasion-picker__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.occasion-picker__detail-head{flex-direction:column;align-items:flex-start;gap:.2rem}.occasion-picker__detail-head span{text-align:left}}.gift-wizard{min-height:100dvh;color:var(--gift-ink,#2b2118);background:radial-gradient(120% 80% at 50% -10%,#fff7ec 0%,#0000 60%),linear-gradient(#fdf8f1 0%,#f7efe4 100%);flex-direction:column;display:flex}.gw-header{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1120px;margin:0 auto;padding:16px 20px;display:flex}.gw-nav{gap:8px;display:flex}.gw-nav a{min-height:44px;color:inherit;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.gw-nav a[aria-current=page]{background:#2b211814;font-weight:600}.gw-account{width:44px;height:44px;color:inherit;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.gw-account img{object-fit:cover;border-radius:50%;width:32px;height:32px}.gw-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:8px 20px 48px}.gw-panel{background:#fffdf9;border:1px solid #2b21181a;border-radius:24px;padding:24px;box-shadow:0 24px 60px #2b211814}.gw-eyebrow{letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin:0 0 4px;font-size:12px}.gw-title{margin:0;font-size:clamp(24px,6vw,34px);line-height:1.15}.gw-stepof{opacity:.7;margin:8px 0 0;font-size:13px}.gw-steps{flex-wrap:wrap;gap:8px;margin:16px 0 24px;padding:0;list-style:none;display:flex}.gw-steps li{opacity:.65;background:#2b21180d;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:13px;display:inline-flex}.gw-steps li>span{background:#2b21181f;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:inline-flex}.gw-steps li[aria-current=step]{opacity:1;background:#2b21181a;font-weight:600}.gw-steps li[data-done]{opacity:.85}.gw-steps li[data-done]>span{color:#fff;background:#3e7d4f}.gw-step h2{margin:0 0 16px;font-size:20px}.gw-fieldset{border:0;margin:0 0 18px;padding:0}.gw-fieldset legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.gw-options{flex-wrap:wrap;gap:8px;display:flex}.gw-option{position:relative}.gw-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.gw-option span{cursor:pointer;background:#fff;border:1px solid #2b21182e;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 16px;font-size:14px;display:inline-flex}.gw-option input:checked+span{background:#fdeee2;border-color:#b4592f;font-weight:600}.gw-option input:focus-visible+span{outline-offset:2px;outline:2px solid #b4592f}.gw-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.gw-field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=560px){.gw-field-row{grid-template-columns:1fr}}.gw-field label{font-size:14px;font-weight:600}.gw-field input,.gw-field textarea,.gw-field select,.gw-step select{min-height:44px;font:inherit;background:#fff;border:1px solid #2b21182e;border-radius:12px;width:100%;padding:10px 12px}.gw-label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.gw-label-row span,.gw-hint{opacity:.65;font-size:12px}.gw-hint{align-items:center;gap:6px;margin:6px 0 0;display:flex}.gw-extras{border:1px dashed #2b211840;border-radius:16px;margin:8px 0 4px;padding:12px 16px}.gw-extras summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;list-style:none;display:flex}.gw-extras-content{padding-top:12px}.gw-photo-added{align-items:center;gap:12px;display:flex}.gw-photo-added img{object-fit:cover;border-radius:12px;width:72px;height:72px}.gw-consent{align-items:flex-start;gap:10px;margin-top:12px;font-size:14px;display:flex}.gw-consent input{accent-color:#b4592f;width:20px;height:20px;margin-top:1px}.gw-alert{color:#8c2f2f;background:#fdeaea;border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.gw-warning{color:#7a5316;background:#fdf3e0;border-radius:12px;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px;font-size:14px;display:flex}.gw-warning p{margin:0}.gw-warning-actions{flex-wrap:wrap;gap:8px;display:flex}.gw-lyrics-state{align-items:center;gap:8px;margin:12px 0;font-size:14px;display:flex}.gw-lyrics-failed{color:#8c2f2f}.gw-lyrics-failed button,.gw-lyrics-start{min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #2b211833;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;display:inline-flex}.gw-lyrics-editor textarea{resize:vertical;min-height:260px;line-height:1.6}.gw-lyrics-note{opacity:.65;margin:4px 0 12px;font-size:12px}.gw-lyrics-actions{flex-wrap:wrap;gap:10px;display:flex}.gw-lyrics-secondary{min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #2b211833;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;display:inline-flex}.gw-primary,.gw-step-nav .gw-primary{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#b4592f;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.gw-primary:disabled{opacity:.5;cursor:not-allowed}.gw-step-nav{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.gw-step-nav>.gw-primary{margin-left:auto}.gw-block{border:1px solid #2b21181f;border-radius:16px;margin-bottom:16px;padding:16px}.gw-block h3{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;display:flex}.gw-block-status{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.gw-status{color:#2b2118bf;background:#2b211812;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.gw-status[data-status=ready]{color:#2f6b3f;background:#e3f2e7}.gw-status[data-status=processing],.gw-status[data-status=queued]{color:#7a5316;background:#fdf3e0}.gw-status[data-status=failed]{color:#8c2f2f;background:#fdeaea}.gw-video-meta{opacity:.6;font-size:12px}.gw-cover-preview{object-fit:contain;background:#14100d;border-radius:12px;width:min(220px,100%);max-height:60vh;margin-bottom:12px;display:block}.gw-candidates h4{margin:0 0 8px;font-size:14px}.gw-candidates ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gw-candidate{background:#fff;border:1px solid #2b21181f;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.gw-candidate[data-selected]{background:#f2f9f4;border-color:#3e7d4f}.gw-candidate-main{align-items:center;gap:10px;min-width:0;display:flex}.gw-candidate-play{cursor:pointer;background:#fff;border:1px solid #2b211833;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.gw-candidate[data-playing] .gw-candidate-play{color:#fff;background:#b4592f;border-color:#b4592f}.gw-candidate-meta{flex-direction:column;min-width:0;display:flex}.gw-candidate-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.gw-candidate-sub{opacity:.65;font-size:12px}.gw-candidate-badge{color:#2f6b3f;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.gw-candidate-select{min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #2b211833;border-radius:999px;flex:none;padding:0 14px;font-size:13px}.gw-start-row{flex-wrap:wrap;gap:10px;display:flex}.gw-generation-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.gw-generation-progress li{color:#2b21188f;background:#ffffffb8;border:1px solid #2b21181a;border-radius:14px;align-items:center;gap:9px;min-width:0;padding:11px 12px;display:flex}.gw-generation-progress li>span{background:#2b211814;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.gw-generation-progress strong{min-width:0;font-size:12px;line-height:1.35}.gw-generation-progress li[data-state=complete]{color:#315f3d;background:#3e7d4f12;border-color:#3e7d4f3d}.gw-generation-progress li[data-state=complete]>span{color:#fff;background:#3e7d4f}.gw-generation-progress li[data-state=current]{color:#7e3d20;background:#b4592f17;border-color:#b4592f61;box-shadow:0 7px 18px #b4592f14}.gw-generation-progress li[data-state=current]>span{color:#fff;background:#b4592f;box-shadow:0 0 0 5px #b4592f1a}@media (width<=560px){.gw-generation-progress{grid-template-columns:1fr}}.gw-video-preview{object-fit:contain;background:#000;border-radius:14px;width:min(240px,100%);max-height:min(70vh,560px);margin-bottom:10px;display:block}.gw-video-fallback p{margin:0 0 10px;font-size:14px}.gw-publish{color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#b4592f;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.gw-publish:disabled{opacity:.5;cursor:not-allowed}.gw-published h4{align-items:center;gap:8px;margin:0 0 12px;font-size:16px;display:flex}.gw-published-actions{flex-wrap:wrap;gap:8px;display:flex}.gw-full-song-button,.gw-full-song-link{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#8c2547;border:1px solid #8c2547;border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:0 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.gw-full-song-button:disabled{opacity:.6;cursor:wait}.gw-full-song-progress{margin:14px 0 0;font-size:14px}.gw-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.gift-wizard *,.gift-wizard :before,.gift-wizard :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ti-panel{border:1px solid var(--border,#e4ded4);background:color-mix(in srgb, var(--primary,#b4552d) 4%, transparent);border-radius:12px;margin-bottom:18px;padding:16px}.ti-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ti-head h3{margin:0;font-size:16px}.ti-refs,.ti-results{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.ti-ref,.ti-result{align-items:center;gap:10px;min-width:0;display:flex}.ti-ref{border:1px solid var(--border,#e4ded4);background:var(--background,#fffdf9);border-radius:10px;padding:8px 10px}.ti-ref-art{object-fit:cover;border-radius:8px;flex-shrink:0;width:36px;height:36px}.ti-ref-art-fallback{background:color-mix(in srgb, var(--primary,#b4552d) 12%, transparent);color:var(--primary,#b4552d);justify-content:center;align-items:center;display:inline-flex}.ti-ref-body{flex-direction:column;flex:1;min-width:0;display:flex}.ti-ref-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ti-ref-artist,.ti-ref-reasons{color:var(--muted-foreground,#7a736a);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ti-ref-remove{color:var(--muted-foreground,#7a736a);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:6px;display:inline-flex}.ti-ref-remove:hover{color:var(--destructive,#b3261e);background:color-mix(in srgb, var(--destructive,#b3261e) 8%, transparent)}.ti-search{margin-top:12px}.ti-search-box{align-items:center;display:flex;position:relative}.ti-search-icon,.ti-search-box>svg.ti-spin{pointer-events:none;color:var(--muted-foreground,#7a736a);position:absolute}.ti-search-icon{left:10px}.ti-search-box>svg.ti-spin{right:10px}.ti-search-box input{width:100%;padding-left:32px;padding-right:32px}.ti-added{color:var(--primary,#b4552d);flex-shrink:0;align-items:center;gap:4px;font-size:12px;display:inline-flex}.ti-pending{border:1px dashed var(--border,#e4ded4);border-radius:10px;margin-top:12px;padding:12px}.ti-pending-title{margin:0 0 4px;font-size:14px;font-weight:600}.ti-reasons{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.ti-reason{font-size:13px}.ti-pending-actions{gap:8px;display:flex}.ti-interpret{flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;display:flex}.ti-spin{animation:1s linear infinite ti-rotate}@keyframes ti-rotate{to{transform:rotate(360deg)}}.ti-dna{background:color-mix(in srgb, var(--primary,#b4552d) 8%, transparent);border-radius:10px;margin-top:14px;padding:12px}.ti-dna-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ti-dna-head h4{margin:0;font-size:14px}.ti-dna-badge{background:var(--background,#fffdf9);color:var(--primary,#b4552d);border-radius:999px;padding:2px 8px;font-size:11px}.ti-dna-traits{flex-direction:column;gap:6px;margin:10px 0 0;display:flex}.ti-dna-traits>div{gap:8px;min-width:0;font-size:13px;display:flex}.ti-dna-traits dt{min-width:72px;color:var(--muted-foreground,#7a736a);flex-shrink:0}.ti-dna-traits dd{min-width:0;margin:0}.ti-dna-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.ti-dna-action{border-color:color-mix(in srgb, var(--primary,#b4552d) 34%, transparent);background:color-mix(in srgb, var(--background,#fffdf9) 92%, var(--primary,#b4552d) 8%);min-height:34px;padding-inline:12px}.ti-dna-action:hover{border-color:color-mix(in srgb, var(--primary,#b4552d) 58%, transparent);background:color-mix(in srgb, var(--background,#fffdf9) 84%, var(--primary,#b4552d) 16%)}.ti-dna-action-reset{border-color:var(--border,#e5ded2);background:color-mix(in srgb, var(--background,#fffdf9) 96%, var(--foreground,#2c241f) 4%);color:var(--muted-foreground,#7a736a)}.ti-dna-action-reset:hover{border-color:color-mix(in srgb, var(--destructive,#b3261e) 38%, transparent);background:color-mix(in srgb, var(--background,#fffdf9) 92%, var(--destructive,#b3261e) 8%);color:var(--destructive,#b3261e)}.ti-ref-album{color:var(--muted-foreground,#7a736a);overflow-wrap:anywhere;font-size:12px}.ti-listen{color:var(--primary,#8a5a2b);text-underline-offset:2px;overflow-wrap:anywhere;font-size:12px;text-decoration:underline}.ti-listen:hover{color:var(--foreground,#2b241c)}.gw-final-style{border:1px solid var(--border,#e5ded2);background:color-mix(in srgb, var(--background,#fffaf2) 82%, var(--primary,#8a5a2b) 6%);border-radius:10px;margin:0 0 14px;padding:10px 14px}.gw-final-style h3{margin:0 0 4px;font-size:13px;font-weight:600}.gw-final-style p{margin:0;font-size:14px}.gw-final-style .gw-hint{margin-top:4px}.gw-canon-review{border:1px solid color-mix(in srgb, var(--primary,#b4552d) 32%, var(--border,#e5ded2));background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--primary,#b4552d) 10%, transparent), transparent 34%), var(--card,var(--background,#fffdf9));border-radius:22px;gap:18px;margin-top:24px;padding:clamp(18px,3vw,28px);display:grid;box-shadow:0 20px 60px #2d1d1212}.gw-canon-head{align-items:flex-start;gap:12px;display:flex}.gw-canon-icon{width:38px;height:38px;color:var(--primary-foreground,#fff);background:var(--primary,#b4552d);border-radius:12px;flex:none;place-items:center;display:grid}.gw-canon-icon svg{width:18px}.gw-canon-title-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.gw-canon-title-row h3,.gw-canon-head p,.gw-canon-fallback,.gw-canon-invalid{margin:0}.gw-canon-title-row h3{letter-spacing:-.02em;font-size:clamp(18px,2.2vw,22px)}.gw-canon-head p{max-width:72ch;color:var(--muted-foreground,#73685d);margin-top:5px;line-height:1.6}.gw-canon-source{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.gw-canon-fallback{color:var(--muted-foreground);background:color-mix(in srgb, var(--secondary) 70%, transparent);border-radius:12px;align-items:flex-start;gap:9px;padding:11px 13px;font-size:13px;line-height:1.5;display:flex}.gw-canon-fallback svg{width:17px;color:var(--primary);flex:none}.gw-canon-freedom,.gw-canon-section{border:0;gap:10px;margin:0;padding:0;display:grid}.gw-canon-freedom{grid-template-columns:repeat(2,minmax(0,max-content))}.gw-canon-freedom legend,.gw-canon-section>legend,.gw-canon-section>label{color:var(--foreground);grid-column:1/-1;margin-bottom:1px;font-size:13px;font-weight:700}.gw-canon-section{border-top:1px solid var(--border);padding-top:16px}.gw-canon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.gw-canon-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.gw-canon-grid>div,.gw-canon-facts>div{gap:6px;display:grid}.gw-canon-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.gw-canon-invalid{color:var(--destructive,#b42318);font-size:13px}.gw-canon-confirm{justify-self:end;min-width:min(100%,240px)}@media (width<=520px){.gw-canon-grid,.gw-canon-grid-three,.gw-canon-facts,.gw-canon-freedom{grid-template-columns:1fr}.gw-canon-confirm{width:100%}.ti-dna-actions{align-items:stretch;gap:10px}.ti-dna-action{width:100%}}.ti-adjust{border-top:1px dashed var(--border,#e5ded2);gap:8px;margin-top:10px;padding-top:10px;display:grid}.ti-adjust .gw-field{gap:4px;display:grid}.ti-adjust label{color:var(--muted-foreground,#7a736a);font-size:12px}.ti-adjust select,.ti-adjust input{width:100%;max-width:100%}
