body{background:#0000;color:var(--text);font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}code{font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}:root{--bg:#f2f2f7;--card:#fff;--border:#d1d1d6;--border-strong:#b0b0b5;--text:#1c1c1e;--muted:#6e6e73;--accent:#0a84ff;--accent-soft:#64d2ff;--success:#34c759;--shadow:0 24px 60px #1c1c1e14;--radius-lg:18px;--radius-md:14px;--radius-sm:10px}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f2f2f7;background:var(--bg);color:#1c1c1e;color:var(--text);font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.01em;line-height:1.55;margin:0;padding:0}*{box-sizing:border-box}.App{background:#0000;display:flex;flex-direction:column;min-height:100vh}.surface-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #d1d1d6;border:1px solid var(--border);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 14px 40px #1c1c1e0f;padding:24px}.input-soft,.surface-card{background:#fff;background:var(--card)}.input-soft{border:1px solid #d1d1d6;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);font-size:15px;padding:14px;transition:border-color .2s ease,box-shadow .2s ease,transform .12s ease;width:100%}.input-soft:focus{border-color:#0a84ff;border-color:var(--accent);box-shadow:0 0 0 3px #0a84ff1f;outline:none;transform:translateY(-1px)}.divider-line{background:linear-gradient(90deg,#0000,#d1d1d6,#0000);background:linear-gradient(90deg,#0000,var(--border),#0000);height:1px;margin:14px 0 28px}.progress-lite{align-items:center;color:#6e6e73;color:var(--muted);display:flex;font-size:14px;gap:12px}.progress-dot{background:#fdfdff;border:1px solid #d1d1d6;border:1px solid var(--border);border-radius:50%;box-shadow:inset 0 1px 0 #fffc;height:10px;width:10px}.progress-dot.active{background:#0a84ff;background:var(--accent);border-color:#0a84ff;border-color:var(--accent);box-shadow:0 6px 12px #0a84ff40}.progress-rail{background:#d1d1d6;background:var(--border);border-radius:999px;flex:1 1;height:3px}.progress-rail.active{background:linear-gradient(90deg,#0a84ff,#64d2ff);background:linear-gradient(90deg,var(--accent),var(--accent-soft))}.btn-primary{background:#0a84ff;background:var(--accent);border:none;border-radius:14px;color:#fff;cursor:pointer;font-weight:700;letter-spacing:-.01em;padding:12px 18px;transition:transform .12s ease,box-shadow .2s ease,background .2s ease}.btn-primary:disabled{background:#c7c7cc;box-shadow:none;cursor:not-allowed}.btn-primary:not(:disabled):hover{background:#0068d1;box-shadow:0 14px 26px #0068d147;transform:translateY(-1px)}.btn-outline{background:#fff;background:var(--card);border:1px solid #d1d1d6;border:1px solid var(--border);border-radius:14px;color:#1c1c1e;color:var(--text);cursor:pointer;font-weight:600;padding:11px 16px;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.btn-outline:hover{border-color:#0a84ff;border-color:var(--accent);box-shadow:0 10px 24px #0a84ff26;color:#0a84ff;color:var(--accent)}.btn-text{background:#0000;border:none;color:#1c1c1e;color:var(--text);cursor:pointer;font-weight:600;padding:10px 12px}.upload-area{background:linear-gradient(135deg,#fffffff2,#f5f5faf2);border:1px dashed #d1d1d6;border:1px dashed var(--border);border-radius:14px;border-radius:var(--radius-md);color:#6e6e73;color:var(--muted);padding:20px;text-align:center}.thumb-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));margin-top:14px}.thumb-item{background:#fff;background:var(--card);border:1px solid #d1d1d6;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 6px 14px #1c1c1e0f;overflow:hidden}.thumb-item img{display:block;height:100px;object-fit:cover;width:100%}@media (max-width:768px){body,html{background:#fdfdfd;padding:0}.surface-card{border:1px solid #d1d1d6;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 6px 20px #1c1c1e0f;padding:18px}.input-soft{border-radius:14px;border-radius:var(--radius-md);font-size:16px;padding:16px 14px}.btn-outline,.btn-primary,.btn-text{justify-content:center;text-align:center;width:100%}.btn-primary{font-size:16px;padding:14px 16px}.upload-area{border-radius:14px;border-radius:var(--radius-md);padding:16px}.thumb-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}