body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{margin:0;padding:0;box-sizing:border-box}body{background:#0d0d1a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:24px 32px;background:linear-gradient(180deg,#1a0a2e,#0d0d1a);border-bottom:1px solid #2a2a4a}.header-top{display:flex;justify-content:space-between;align-items:center;max-width:640px;margin:0 auto;width:100%}.auth-area{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.login-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:linear-gradient(135deg,#6c63ff,#e040fb);color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .2s}.login-btn:hover{opacity:.85}.login-btn-ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.login-btn-tt{background:linear-gradient(135deg,#010101,#69c9d0)}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid #6c63ff}.user-name{font-size:14px;color:#ccc}.logout-btn{padding:6px 12px;border-radius:8px;border:1px solid #444;background:transparent;color:#aaa;font-size:13px;cursor:pointer;transition:all .2s}.logout-btn:hover{border-color:#e040fb;color:#fff}.login-notice{text-align:center;padding:14px;border-radius:10px;background:color-mix(in srgb,#6c63ff 10%,#1a1a2e);border:1px solid #6c63ff55;color:#aaa;font-size:14px;max-width:640px;margin:0 auto;width:100%}.app-title{font-size:32px;font-weight:800;background:linear-gradient(135deg,#6c63ff,#e040fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-subtitle{margin-top:8px;font-size:14px;color:#888}.app-main{flex:1;display:flex;flex-direction:column;gap:32px;padding:32px 20px 60px}.upload-form{display:flex;flex-direction:column;gap:24px;width:100%;max-width:640px;margin:0 auto}.drop-zone{border:2px dashed #444;border-radius:16px;padding:40px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#1a1a2e;min-height:200px;display:flex;align-items:center;justify-content:center}.drop-zone:hover{border-color:#6c63ff;background:#1f1f3a}.drop-zone.has-file{border-color:#6c63ff;padding:16px}.drop-hint{display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa}.drop-icon{font-size:48px}.drop-sub{font-size:12px;color:#666}.preview-video{width:100%;border-radius:8px;max-height:300px}.section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:14px;font-weight:600;color:#ccc}.platform-list{display:flex;gap:12px}.platform-btn{flex:1;padding:14px 8px;border-radius:12px;border:2px solid #333;background:#1a1a2e;color:#aaa;font-size:14px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s;position:relative}.platform-btn:hover{border-color:var(--platform-color);color:#fff}.platform-btn.active{border-color:var(--platform-color);background:color-mix(in srgb,var(--platform-color) 15%,#1a1a2e);color:#fff}.platform-icon{font-size:20px}.platform-check{position:absolute;top:6px;right:8px;font-size:12px;color:var(--platform-color)}.input{background:#1a1a2e;border:2px solid #333;border-radius:10px;color:#fff;font-size:14px;padding:12px 16px;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.input:focus{border-color:#6c63ff}.textarea{resize:vertical;font-family:inherit}.char-count{font-size:12px;color:#666;text-align:right}.audience-list{display:flex;gap:10px}.audience-btn{flex:1;padding:12px 8px;border-radius:12px;border:2px solid #333;background:#1a1a2e;color:#aaa;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s}.audience-btn:hover{border-color:#6c63ff;color:#fff}.audience-btn.active{border-color:#6c63ff;background:color-mix(in srgb,#6c63ff 15%,#1a1a2e);color:#fff}.audience-icon{font-size:22px}.audience-label{font-size:13px;font-weight:600}.audience-desc{font-size:11px;color:#777;text-align:center}.audience-btn.active .audience-desc{color:#aaa}.tag-input-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#1a1a2e;border:2px solid #333;border-radius:10px;padding:10px 12px;cursor:text;transition:border-color .2s;min-height:48px}.tag-input-box:focus-within{border-color:#6c63ff}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,#6c63ff 20%,#1a1a2e);border:1px solid #6c63ff;color:#c9c6ff;font-size:13px;padding:4px 10px;border-radius:20px}.tag-remove{background:none;border:none;color:#9990ff;font-size:16px;line-height:1;cursor:pointer;padding:0;margin-left:2px;display:flex;align-items:center}.tag-remove:hover{color:#ff6b9d}.tag-input{background:none;border:none;outline:none;color:#fff;font-size:14px;flex:1;min-width:120px}.progress-bar-wrap{position:relative;background:#1a1a2e;border-radius:8px;height:28px;overflow:hidden;border:1px solid #333}.progress-bar{height:100%;background:linear-gradient(135deg,#6c63ff,#e040fb);border-radius:8px;transition:width .3s ease}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:13px;font-weight:600;color:#fff}.submit-btn{padding:16px;border-radius:12px;border:none;background:linear-gradient(135deg,#6c63ff,#e040fb);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn.loading{background:linear-gradient(135deg,#555,#777)}.upload-status{width:100%;max-width:640px;margin:0 auto;background:#1a1a2e;border-radius:16px;padding:24px;border:2px solid #2a2a4a}.status-title{font-size:18px;font-weight:700;color:#fff;margin:0 0 16px}.status-list{display:flex;flex-direction:column;gap:12px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:10px;border-left:4px solid var(--platform-color);background:color-mix(in srgb,var(--platform-color) 10%,#111)}.status-platform{font-weight:600;color:#fff}.status-badge{font-size:13px;font-weight:700;padding:4px 12px;border-radius:20px}.status-badge.success{background:#1a3a1a;color:#4caf50}.status-badge.error{background:#3a1a1a;color:#f44336}
