*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0f0;background:#0f0f1a;min-height:100vh;font-family:Segoe UI,sans-serif}.app{max-width:860px;margin:0 auto;padding:2rem 1rem}header{text-align:center;margin-bottom:2rem}header h1{background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.4rem}header p{color:#888;margin-top:.4rem}.form-card{background:#1a1a2e;border:1px solid #2a2a4a;border-radius:12px;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.form-card h2{color:#a78bfa;font-size:1.1rem}textarea{color:#e0e0f0;resize:vertical;background:#0f0f1a;border:1px solid #2a2a4a;border-radius:8px;width:100%;padding:.75rem;font-size:.95rem}.form-row{gap:1rem;display:flex}.form-row label{color:#888;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}select{color:#e0e0f0;background:#0f0f1a;border:1px solid #2a2a4a;border-radius:6px;padding:.4rem .6rem}button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#2563eb);border:none;border-radius:8px;align-self:flex-start;padding:.6rem 1.4rem;font-size:.95rem;transition:opacity .2s}button:disabled{opacity:.4;cursor:not-allowed}button:hover:not(:disabled){opacity:.85}.phase-progress{background:#1a1a2e;border:1px solid #2a2a4a;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.phase-progress h2{color:#a78bfa;margin-bottom:1rem;font-size:1.1rem}.phase-list{flex-direction:column;gap:.5rem;display:flex}.phase-item{background:#0f0f1a;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.phase-item.phase-running{border-left:3px solid #60a5fa}.phase-item.phase-done{border-left:3px solid #34d399}.phase-item.phase-waiting_approval{border-left:3px solid #fbbf24}.phase-item.phase-error{border-left:3px solid #f87171}.phase-label{flex:1}.phase-state{color:#888;font-size:.75rem}.naming-list{flex-direction:column;gap:.5rem;display:flex}.naming-option{cursor:pointer;border:1px solid #2a2a4a;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.naming-option.selected{background:#1e1040;border-color:#7c3aed}.naming-option input{accent-color:#7c3aed}.markdown-preview{background:#0f0f1a;border-radius:8px;max-height:400px;padding:1rem;font-size:.9rem;line-height:1.6;overflow-y:auto}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{color:#a78bfa;margin:.8rem 0 .4rem}.markdown-preview code{background:#1a1a2e;border-radius:4px;padding:.1rem .3rem}.markdown-preview pre{background:#1a1a2e;border-radius:8px;padding:.75rem;overflow-x:auto}.code-preview{background:#0f0f1a;border-radius:8px;max-height:400px;padding:1rem;overflow:auto}.code-preview pre{white-space:pre-wrap;word-break:break-all;font-size:.82rem;line-height:1.5}.error{color:#f87171;background:#2a0f0f;border:1px solid #f87171;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem}.file-list{flex-direction:column;gap:.4rem;max-height:300px;display:flex;overflow-y:auto}.file-item{background:#0f0f1a;border:1px solid #2a2a4a;border-radius:6px;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.file-path{color:#a78bfa;font-family:monospace;font-size:.8rem}.file-dl-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a4a;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.file-dl-btn:hover{color:#a78bfa;border-color:#7c3aed}.tab-bar{gap:.5rem;margin-bottom:1rem;display:flex}.tab-btn{color:#888;cursor:pointer;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:6px;padding:.4rem 1rem;font-size:.85rem}.tab-btn.active{color:#a78bfa;background:#1e1a3a;border-color:#7c3aed}.tab-btn:hover{color:#a78bfa;border-color:#7c3aed}.ag-root{background:#0a0b14;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.ag-grid{background-image:linear-gradient(#6366f112 1px,#0000 1px),linear-gradient(90deg,#6366f112 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 40%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 40%,#0000 100%)}.ag-orb{filter:blur(60px);opacity:.2;pointer-events:none;border-radius:50%;position:absolute}.ag-orb1{background:#6366f1;width:300px;height:300px;top:-80px;left:50%;transform:translate(-50%)}.ag-orb2{background:#14b8a6;width:200px;height:200px;bottom:40px;right:80px}.ag-orb3{background:#8b5cf6;width:160px;height:160px;bottom:60px;left:60px}.ag-card{z-index:10;background:#ffffff0a;border:.5px solid #ffffff1f;border-radius:16px;flex-direction:column;align-items:stretch;width:340px;padding:40px 32px 32px;display:flex;position:relative}.ag-logo{flex-direction:column;align-items:center;gap:10px;margin-bottom:32px;display:flex}.ag-logo-icon{background:linear-gradient(135deg,#6366f1 0%,#14b8a6 100%);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;display:flex}.ag-logo-title{color:#fff;letter-spacing:-.3px;font-size:22px;font-weight:500}.ag-logo-sub{color:#ffffff59;letter-spacing:.1em;text-transform:uppercase;margin-top:-4px;font-size:11px}.ag-field-label{color:#fff6;letter-spacing:.06em;margin-bottom:6px;font-size:11px}.ag-input-wrap{align-items:center;margin-bottom:12px;display:flex;position:relative}.ag-input-icon{opacity:.4;pointer-events:none;font-size:14px;position:absolute;left:12px}.ag-input{color:#fff;box-sizing:border-box;background:#ffffff0f;border:.5px solid #ffffff26;border-radius:10px;outline:none;width:100%;height:44px;padding:0 40px 0 36px;font-size:14px;transition:border-color .15s,background .15s}.ag-input::placeholder{color:#fff3}.ag-input:focus{background:#6366f114;border-color:#6366f199}.ag-input-error{background:#ef44440f!important;border-color:#ef444499!important}.ag-eye{cursor:pointer;opacity:.35;background:0 0;border:none;padding:0;font-size:15px;line-height:1;transition:opacity .15s;position:absolute;right:10px}.ag-eye:hover{opacity:.7}.ag-error{color:#ef4444d9;margin:0 0 10px;font-size:12px}.ag-btn{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:10px;width:100%;height:44px;margin-top:4px;font-size:14px;font-weight:500;transition:opacity .15s,transform .1s}.ag-btn:hover{opacity:.88}.ag-btn:active{transform:scale(.98)}.ag-footer{color:#ffffff2e;text-align:center;margin-top:20px;font-size:11px}
