:root{--background:#0a0a0a;--surface:#171717;--surface-raised:#1f1f1f;--input:#0a0a0a;--input-raised:#141414;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-glow-soft:rgba(59,130,246,0.15);--primary-glow:rgba(59,130,246,0.25);--primary-glow-strong:rgba(59,130,246,0.35);--success:#10b981;--warning:#f59e0b;--title:#ffffff;--text:#a1a1aa;--muted:#52525b;--disabled:#3f3f46;--disabled-bg:#27272a;--border:rgba(255,255,255,0.08);--border-subtle:rgba(255,255,255,0.06);--focus:0 0 0 3px rgba(59,130,246,0.25);--shadow:0 4px 24px -4px rgba(0,0,0,0.5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--background)}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.6}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{align-items:center;border:0;cursor:pointer;display:inline-flex;justify-content:center;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,opacity .2s ease}button:disabled{cursor:not-allowed}input,select,textarea{background:var(--input);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--title);outline:none;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}textarea{resize:vertical}select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--muted) 50%) calc(100% - 20px) 50% /6px 6px no-repeat,linear-gradient(135deg,var(--muted) 50%,transparent 50%) calc(100% - 14px) 50% /6px 6px no-repeat,var(--input)}option{background:var(--surface);color:var(--title)}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--focus)}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{color:var(--title)}.workspace{margin:0 auto;max-width:1180px;min-height:100vh;overflow:hidden;padding:48px 24px 64px;position:relative}.ambientGlow{background:radial-gradient(circle at 50% 0,rgba(59,130,246,.18),transparent 60%);height:520px;left:50%;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:min(1100px,100vw);z-index:0}.workspace>:not(.ambientGlow){position:relative;z-index:1}.toast{align-items:stretch;background:#27272a;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);color:var(--title);display:flex;font-size:13px;gap:12px;line-height:1.5;margin-left:auto;max-width:520px;overflow:hidden;padding:12px 16px 12px 0}.toastBar{background:var(--primary);border-radius:999px;flex:0 0 4px}.hero{align-items:center;display:grid;justify-items:center;padding:72px 16px 40px;text-align:center}.hero:after{background:linear-gradient(90deg,transparent,rgba(59,130,246,.35),transparent);border-radius:999px;content:"";display:block;filter:blur(14px);height:2px;margin-top:32px;width:min(560px,80vw)}.hero h1{color:var(--title);font-size:clamp(2.25rem,6vw,4.5rem);font-weight:700;letter-spacing:-.02em;line-height:.98;margin:0 0 20px;max-width:900px}.hero p:not(.eyebrow){color:var(--text);font-size:clamp(1rem,2vw,1.15rem);line-height:1.6;margin-bottom:0;max-width:700px}.eyebrow{color:var(--primary-hover);font-size:13px;font-weight:700;letter-spacing:.16em;margin-bottom:18px;text-transform:uppercase}.stepper{align-items:stretch;background:rgba(23,23,23,.78);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 40px;overflow:hidden}.step{align-items:center;color:var(--muted);display:flex;gap:12px;min-height:76px;padding:16px 18px;position:relative}.step:not(:last-child):after{background:var(--border);content:"";height:1px;position:absolute;right:-24px;top:50%;width:48px}.step.complete:not(:last-child):after{background:var(--primary)}.step strong{font-size:14px;font-weight:700;line-height:1.25}.step small,.step strong{color:inherit;display:block}.step small{font-size:12px;line-height:1.5}.stepNode{align-items:center;background:var(--disabled-bg);border:2px solid transparent;border-radius:999px;color:var(--muted);display:inline-flex;flex:0 0 30px;font-size:13px;font-weight:700;height:30px;justify-content:center;position:relative;z-index:1}.step.complete{color:var(--title)}.step.complete .stepNode{background:var(--primary);color:var(--title)}.step.current{color:var(--title)}.step.current .stepNode{animation:nodePulse 1.8s ease-in-out infinite;background:var(--background);border-color:var(--primary);color:var(--title)}.grid{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.card,.statusPanel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;padding:28px;position:relative;transition:background .2s ease,border-color .2s ease,transform .2s ease}.card:hover,.statusPanel:hover{background:var(--surface-raised);border-color:rgba(255,255,255,.12)}.cardFeatured{min-height:100%}.cardHighlight{background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent);height:1px;left:28px;position:absolute;right:28px;top:0}.cardHeader{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.cardHeader h2,.formStepHeader h3,.statusPanel h2{font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.cardHeader h2,.statusPanel h2{font-size:1.35rem}.cardHeader p,.emptyState span,.formStepHeader p,.result span,.statusPanel p,.timelineItem p{color:var(--text);font-size:13px;line-height:1.5;margin-bottom:0}.statusBadge{border-radius:6px;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:700;line-height:1.4;padding:3px 8px}.statusBadge.warning{background:rgba(245,158,11,.15);color:var(--warning)}.statusBadge.success{background:rgba(16,185,129,.15);color:var(--success)}.form{display:grid;gap:22px}.formStepHeader{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:14px;padding:18px}.stepKicker{color:var(--primary-hover);display:inline-flex;font-size:13px;font-weight:700;margin-bottom:8px}.formFields{display:grid;gap:16px}.field,.toneField{color:var(--text);display:grid;font-size:14px;gap:8px}.field>span,.toneField legend{color:var(--text);font-size:14px;font-weight:500;padding:0}.required{color:var(--primary-hover);margin-left:4px}.fieldError{color:var(--warning);font-size:12px;line-height:1.4}.formActions{display:grid;gap:12px;grid-template-columns:1fr 1.4fr}.primaryButton,.secondaryButton{border-radius:10px;font-weight:500;gap:8px;min-height:44px;padding:0 18px;width:100%}.primaryButton{background:var(--primary);color:var(--title)}.primaryButton:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 0 20px -4px rgba(59,130,246,.4)}.secondaryButton{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text)}.secondaryButton:hover:not(:disabled){background:rgba(255,255,255,.05)}.primaryButton:disabled,.secondaryButton:disabled{background:var(--disabled-bg);border-color:transparent;box-shadow:none;color:var(--muted)}.spinner{animation:spin .8s linear infinite;border:2px solid rgba(255,255,255,.35);border-top:2px solid var(--primary-hover);border-radius:999px;display:inline-block;height:16px;width:16px}.choiceGrid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.choiceGrid.compact{margin-bottom:0}.choiceCard,.purposeCard{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;color:var(--text);display:grid;gap:6px;min-height:78px;padding:14px;text-align:left}.choiceCard{align-content:center;cursor:pointer;min-height:52px}.choiceCard input{position:absolute;opacity:0;pointer-events:none}.choiceCard:has(input:checked),.purposeCard.selected{background:rgba(59,130,246,.15);border-color:var(--primary);box-shadow:inset 0 0 0 1px rgba(59,130,246,.2)}.purposeCard:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.choiceCard:focus-within,.lockNotice a:focus-visible,.purposeCard:focus-visible,.step:focus-visible{border-color:var(--primary);box-shadow:var(--focus);outline:none}.purposeCard strong{font-size:15px}.purposeCard span{color:var(--text);font-size:13px;line-height:1.5}.advancedNote,.consentBox,.emptyState,.lockNotice,.mediaItem,.result,.uploadZone{border:1px solid var(--border);border-radius:12px}.uploadZone{background:rgba(255,255,255,.02);border-style:dashed;margin-bottom:18px;overflow:hidden}.emptyState{align-items:center;border:0;display:grid;justify-items:center;min-height:190px;padding:24px;text-align:center}.emptyState svg{fill:rgba(59,130,246,.12);margin-bottom:14px;stroke:rgba(96,165,250,.65);stroke-width:3;width:112px}.avatarEmpty{background:rgba(255,255,255,.02);margin-bottom:18px}.mediaItem{align-items:center;background:var(--input-raised);display:grid;gap:14px;grid-template-columns:72px 1fr auto;padding:12px}.mediaItem span,.result span{display:block}.thumbnail{background:linear-gradient(135deg,rgba(59,130,246,.45),rgba(59,130,246,.08)),#0a0a0a;border-radius:8px;height:52px}.removeIcon{color:var(--muted);font-size:20px;padding:4px 8px}.progressTrack{background:rgba(255,255,255,.08);height:4px;overflow:hidden}.progressTrack span{animation:progressSlide 1.2s ease-in-out infinite;background:var(--primary);border-radius:2px;display:block;height:100%;width:44%}.result{background:var(--input-raised);display:grid;gap:10px;margin-top:18px;padding:14px}.tagList{display:flex;flex-wrap:wrap;gap:8px}.techTag{background:rgba(255,255,255,.06);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;padding:5px 9px}.consentBox{align-items:flex-start;background:rgba(255,255,255,.03);color:var(--text);display:flex;gap:10px;margin-bottom:18px;padding:14px}.consentBox input{accent-color:var(--primary);flex:0 0 auto;margin-top:4px;width:auto}.advancedNote{background:rgba(255,255,255,.02);color:var(--muted);font-size:13px;margin-top:16px;padding:12px 14px}.advancedNote summary{color:var(--text);cursor:pointer;font-weight:600}.advancedNote p{margin:10px 0 0}.advancedNote p,.lockNotice{color:var(--muted);font-size:13px}.lockNotice{background:rgba(255,255,255,.03);margin:0 0 16px;padding:12px 14px}.lockNotice a{color:var(--primary-hover);font-weight:700}.statusPanel{margin-top:40px}.timeline{display:grid;gap:14px}.timelineItem{align-items:flex-start;background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;grid-template-columns:14px 1fr;padding:14px}.timelineDot{background:var(--muted);border-radius:999px;box-shadow:0 0 0 4px rgba(255,255,255,.04);height:10px;margin-top:8px;width:10px}.timelineItem.processing .timelineDot{background:var(--primary);box-shadow:0 0 0 4px var(--primary-glow-soft)}.timelineItem.completed .timelineDot{background:var(--success);box-shadow:0 0 0 4px rgba(16,185,129,.15)}.timelineItem.failed .timelineDot{background:var(--warning);box-shadow:0 0 0 4px rgba(245,158,11,.15)}.timelineStatus{color:var(--primary-hover);display:inline-flex;font-size:12px;font-weight:700;margin-left:10px}@keyframes nodePulse{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.25)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes progressSlide{0%{transform:translateX(-100%)}to{transform:translateX(240%)}}@media (max-width:900px){.workspace{padding:24px 16px 112px}.toast{margin-left:0;max-width:none}.hero{padding:48px 0 32px}.stepper{display:flex;margin-bottom:32px;overflow-x:auto;scroll-snap-type:x mandatory}.step{flex:0 0 220px;scroll-snap-align:start}.grid{grid-template-columns:1fr}.card,.statusPanel{padding:24px}.choiceGrid{grid-template-columns:1fr}.formActions{background:rgba(23,23,23,.94);border:1px solid var(--border);border-radius:16px;bottom:12px;grid-template-columns:1fr 1fr;padding:12px 16px calc(12px + env(safe-area-inset-bottom));position:sticky;z-index:20}.primaryButton,.secondaryButton{min-height:48px}}@media (max-width:520px){body{font-size:14px}.workspace{padding-left:16px;padding-right:16px}.hero h1{font-size:2.35rem}.cardHeader{display:grid}.formActions{grid-template-columns:1fr}.mediaItem{grid-template-columns:56px 1fr auto}}