:root{--bg: #FDF4E8;--surface: #FFFBF3;--surface-container-high: #F7ECD9;--primary: #EC6B7B;--primary-container: #FFD9DE;--accent: #3FC0B3;--accent-container: #CFF0EC;--ink: #2D2D44;--on-surface: #2D2D44;--on-surface-variant: #6B6B80;--stroke: #2D2D44;--error: #E4564A;--error-container: #FADAD6;--warn: #E89B3A;--warn-container: #FCE5C2}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--on-surface);font:14px/1.4 Roboto,-apple-system,system-ui,sans-serif}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400;vertical-align:middle}.appbar{display:flex;flex-direction:column;align-items:center;padding:24px 16px 8px;gap:4px}.logo-wrap{position:relative;width:280px;aspect-ratio:1376 / 768;display:flex;align-items:center;justify-content:center}.logo{width:100%;height:100%;object-fit:contain;display:block;animation:bob 3.2s ease-in-out infinite;transform-origin:center bottom;transition:opacity .3s}.logo.swap{opacity:0}@keyframes bob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-6px) rotate(1.5deg)}}.sparkle{position:absolute;width:10px;height:10px;border-radius:50%;animation:twinkle 2.4s ease-in-out infinite}.sparkle.s1{top:10%;left:8%;background:#f5c94a;animation-delay:0s}.sparkle.s2{top:20%;right:4%;background:#6bbfe8;animation-delay:.5s}.sparkle.s3{bottom:14%;left:2%;background:#6be8a8;animation-delay:1s}.sparkle.s4{bottom:8%;right:8%;background:#f49bb0;animation-delay:1.5s}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}.tagline{font-size:14px;color:var(--on-surface-variant);text-align:center;max-width:420px}.tagline strong{color:var(--ink);font-size:18px;display:block;margin-bottom:2px}body[data-phase=working] .tagline,body[data-phase=complete] .tagline,body[data-phase=error] .tagline,body[data-phase=submitting] .tagline{display:none}body.legal-modal-open{overflow:hidden}.legal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#2d2d4485;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.legal-modal{position:relative;width:min(640px,100%);max-height:min(88vh,760px);overflow:auto;padding:24px;border:2px solid var(--stroke);border-radius:28px;background:radial-gradient(circle at top right,rgba(63,192,179,.16),transparent 34%),radial-gradient(circle at top left,rgba(236,107,123,.12),transparent 28%),var(--surface);box-shadow:0 20px 50px #2d2d443d,0 4px 0 var(--stroke)}.legal-dismiss{position:absolute;top:14px;right:14px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--stroke);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}.legal-dismiss:hover{background:var(--surface-container-high)}.legal-badge{width:fit-content;display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;border:2px solid var(--stroke);border-radius:999px;background:var(--warn-container);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.legal-badge .material-symbols-rounded{font-size:18px;color:var(--warn)}.legal-title{margin:0 48px 10px 0;font-size:28px;line-height:1.1;color:var(--ink)}.legal-intro,.legal-acknowledgement,.legal-note{margin:0;color:var(--ink);font-size:14px;line-height:1.55}.legal-intro{color:var(--on-surface-variant)}.legal-list{margin:18px 0;padding-left:20px;display:grid;gap:12px;color:var(--ink)}.legal-list li{padding-left:4px}.legal-acknowledgement{margin-bottom:12px;padding:14px 16px;border:2px solid var(--stroke);border-radius:18px;background:var(--primary-container);font-weight:500}.legal-note{color:var(--on-surface-variant)}.legal-actions{margin-top:18px}.legal-continue{width:100%}.page{min-height:50vh;display:flex;flex-direction:column;align-items:center;padding:24px 16px 120px}.card{width:min(560px,100%);background:var(--surface);border:2px solid var(--stroke);border-radius:24px;padding:24px;box-shadow:0 2px 0 var(--stroke);transition:transform .45s cubic-bezier(.2,.9,.2,1)}.card.morph{transform:scale(.985)}.body{animation:fadeUp .4s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.segmented{display:flex;border:2px solid var(--stroke);border-radius:999px;overflow:hidden;margin-bottom:20px;background:var(--surface);padding:2px;gap:2px}.seg{flex:1;padding:8px 12px;text-align:center;font:inherit;font-weight:500;color:var(--ink);cursor:pointer;border:0;background:transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.seg.on{background:var(--accent);color:#fff}.seg.on .material-symbols-rounded{color:#fff}.seg:hover:not(.on){background:#3fc0b314}.field{position:relative;margin-bottom:12px}.field input{width:100%;padding:14px 20px;border:2px solid var(--stroke);border-radius:999px;font:inherit;background:var(--surface);color:var(--ink)}.field input::placeholder{color:var(--on-surface-variant)}.field input:focus{outline:none;border-color:var(--accent)}.field .field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink);pointer-events:none}.field.with-icon input{padding-left:46px}.btn-outlined{padding:12px 20px;border:2px solid var(--stroke);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;font-family:inherit}.btn-outlined:hover{background:var(--surface-container-high)}.btn-filled{padding:14px 24px;border:2px solid var(--stroke);border-radius:999px;background:linear-gradient(180deg,#4a4a5e,#2d2d44);color:#fff;font-weight:700;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;box-shadow:0 2px 0 var(--stroke);font-family:inherit}.btn-filled:hover{filter:brightness(1.08)}.btn-filled:disabled{background:#b8b8c4;color:#fff;cursor:not-allowed;border-color:#b8b8c4;box-shadow:none}.btn-text{padding:10px 16px;border:0;background:transparent;color:var(--primary);font-weight:600;cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-family:inherit}.btn-text:hover{background:var(--primary-container)}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.m3-spinner{width:48px;height:48px;margin:20px auto;display:block;animation:spin 1.4s linear infinite}.m3-spinner circle{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-dasharray:80 200;animation:dash 1.4s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dashoffset:0}50%{stroke-dashoffset:-60}to{stroke-dashoffset:-120}}.status-text{text-align:center;color:var(--on-surface-variant);font-size:14px;margin:0}.status-text strong{color:var(--ink);display:block;margin-bottom:4px;font-size:16px}.stepper{display:flex;gap:8px;margin:8px 0 20px;flex-wrap:wrap}.step{flex:1;min-width:0;padding:10px 12px;border-radius:999px;background:var(--surface);border:2px solid var(--stroke);font-size:13px;color:var(--ink);font-weight:500;display:flex;align-items:center;gap:6px;justify-content:center;transition:all .3s}.step.active{background:var(--accent);color:#fff;animation:pulse 1.8s ease-in-out infinite}.step.active .material-symbols-rounded{color:#fff}.step.done{background:var(--accent-container);color:var(--ink)}.step.done .material-symbols-rounded{color:var(--accent)}.step .material-symbols-rounded{font-size:18px}@keyframes pulse{0%,to{box-shadow:0 0 #3fc0b380}50%{box-shadow:0 0 0 8px #3fc0b300}}.bar{height:6px;background:var(--surface-container-high);border-radius:999px;overflow:hidden;border:2px solid var(--stroke);padding:0}.bar>span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .6s}.meta{display:flex;justify-content:space-between;margin-top:10px;font-size:13px;color:var(--on-surface-variant);font-weight:500}.iframe-stub,.inline-render{height:min(70vh,720px);background:var(--surface);border:2px solid var(--stroke);border-radius:20px;margin-bottom:16px;overflow:hidden}.iframe-stub{position:relative}.iframe-stub iframe{width:100%;height:100%;border:0;display:block}.iframe-stub.tunechat{height:min(80vh,760px)}.fullscreen-btn{position:absolute;bottom:12px;right:12px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;border:0;border-radius:8px;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease;z-index:2}.fullscreen-btn .material-symbols-rounded{font-size:20px;color:#fff}.iframe-stub:hover .fullscreen-btn,.fullscreen-btn:focus-visible{opacity:1}.fullscreen-btn:hover{background:#000000bf}.iframe-stub:fullscreen{background:var(--surface)}.iframe-stub:fullscreen iframe{height:100%;width:100%}body[data-phase=complete] .card{width:min(1200px,90vw);padding:16px}body[data-phase=complete] .iframe-stub.tunechat{height:min(85vh,900px)}.inline-render{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--on-surface-variant);gap:8px}.inline-render .material-symbols-rounded{font-size:48px;color:var(--accent)}.downloads{display:flex;gap:8px;flex-wrap:wrap}.assist-chip{padding:10px 16px;border-radius:999px;background:var(--surface);border:2px solid var(--stroke);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.assist-chip .material-symbols-rounded{font-size:18px;color:var(--primary)}.assist-chip:hover{background:var(--primary-container)}.banner{background:var(--warn-container);color:var(--ink);padding:12px 16px;border-radius:16px;font-size:13px;margin-top:16px;display:flex;align-items:center;gap:10px;border:2px solid var(--stroke)}.banner .material-symbols-rounded{font-size:20px;color:var(--warn)}.err-box{background:var(--error-container);color:var(--ink);padding:16px;border-radius:20px;margin-bottom:16px;display:flex;gap:12px;border:2px solid var(--stroke)}.err-box .material-symbols-rounded{color:var(--error)}.err-box h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--ink)}.err-box p{margin:0;font-size:13px;color:var(--ink)}.how-it-works{width:min(420px,100%);margin-top:28px}.steps-row{display:flex;align-items:center;justify-content:center;gap:12px}.hw-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:0}.hw-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--hw-color) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--stroke) 15%,transparent)}.hw-icon .material-symbols-rounded{font-size:24px;color:var(--hw-color)}.hw-label{font-size:12px;font-weight:700;color:var(--ink);text-align:center}.hw-dots{font-size:16px;color:color-mix(in srgb,var(--stroke) 25%,transparent);letter-spacing:2px;margin-bottom:24px}.powered-by{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;color:var(--on-surface-variant);margin-top:20px;opacity:.7}.powered-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}.appbar{animation:fadeSlideDown .5s ease both}.appbar .logo-wrap{animation:fadeIn .4s ease both}.appbar .tagline{animation:fadeIn .5s ease both .1s}.card{animation:fadeSlideUp .5s ease both .2s}.how-it-works{animation:fadeIn .5s ease both .4s}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn-filled.pulse{animation:ctaPulse .35s ease}@keyframes ctaPulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.btn-outlined.drop-active{border-color:var(--accent);background:var(--accent-container)}@media(max-width:600px){.appbar{padding:16px 12px 4px}.logo-wrap{width:200px;aspect-ratio:1376 / 768;height:auto}.card{padding:20px 16px;border-radius:20px}.legal-backdrop{padding:12px}.legal-modal{padding:20px 16px 16px;border-radius:22px;max-height:min(92vh,760px)}.legal-title{font-size:24px;margin-right:40px}.legal-list{gap:10px}.stepper{display:grid;grid-template-columns:1fr 1fr;gap:6px}.step{flex:initial;padding:8px 10px;font-size:12px}.downloads{flex-direction:row;gap:6px}.assist-chip{flex:1;min-width:0;justify-content:center;padding:10px 6px;font-size:12px}.assist-chip .material-symbols-rounded{font-size:16px}.actions{flex-direction:column;align-items:stretch}.btn-filled,.btn-text{width:100%;justify-content:center}.iframe-stub,.inline-render{height:50vh}.seg{padding:10px 6px;font-size:13px}.seg .material-symbols-rounded{font-size:18px}}@media(hover:none){.btn-outlined,.btn-filled,.btn-text,.seg,.assist-chip,.legal-dismiss{min-height:44px}.fullscreen-btn{opacity:1;width:44px;height:44px}}
