:root{--bg-deep: #050505;--bg-surface: rgba(255, 255, 255, .04);--bg-surface-hover: rgba(255, 255, 255, .07);--bg-glass: rgba(255, 255, 255, .06);--bg-glass-strong: rgba(255, 255, 255, .1);--border-hairline: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .12);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .55);--text-tertiary: rgba(255, 255, 255, .35);--accent: #6c8aff;--accent-glow: rgba(108, 138, 255, .25);--accent-hover: #8ba3ff;--success: #34d399;--success-bg: rgba(52, 211, 153, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 191, 36, .08);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 9999px;--ease-out-expo: cubic-bezier(.32, .72, 0, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .7s;--shadow-glow: 0 0 60px -12px var(--accent-glow);--shadow-ambient: 0 8px 32px rgba(0, 0, 0, .4);--inset-highlight: inset 0 1px 1px rgba(255, 255, 255, .06)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;background-color:var(--bg-deep);color:var(--text-primary);line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 20% 20%,rgba(108,138,255,.06),transparent),radial-gradient(ellipse 500px 500px at 80% 80%,rgba(139,92,246,.04),transparent);pointer-events:none;z-index:0}.navbar{position:fixed;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 8px 6px 20px;background:var(--bg-glass);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);box-shadow:var(--shadow-ambient),var(--inset-highlight);z-index:100;width:max-content;max-width:calc(100% - 32px);transition:all var(--duration-normal) var(--ease-out-expo)}.navbar-brand{color:var(--text-primary);font-size:14px;font-weight:700;text-decoration:none;margin-right:12px;white-space:nowrap;letter-spacing:-.02em}.navbar-links{display:flex;gap:2px}.navbar-links a{color:var(--text-secondary);text-decoration:none;padding:8px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:500;transition:all var(--duration-fast) var(--ease-out-expo);white-space:nowrap}.navbar-links a:hover{color:var(--text-primary);background:#ffffff0f}.navbar-links a.active{color:var(--text-primary);background:#ffffff1a;box-shadow:var(--inset-highlight)}.page-container{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:120px 24px 80px}.page-title{font-size:32px;font-weight:800;letter-spacing:-.03em;margin-bottom:40px;color:var(--text-primary)}.glass-shell{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:6px;transition:all var(--duration-normal) var(--ease-out-expo)}.glass-shell:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-glow)}.glass-core{background:var(--bg-glass);border-radius:calc(var(--radius-lg) - 6px);box-shadow:var(--inset-highlight);padding:24px}.eyebrow{display:inline-block;padding:4px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-pill);margin-bottom:16px}.drop-zone{position:relative;border:1.5px dashed var(--border-subtle);border-radius:var(--radius-lg);padding:56px 24px;text-align:center;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);background:var(--bg-surface);margin-bottom:24px;overflow:hidden}.drop-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,var(--accent-glow),transparent 70%);opacity:0;transition:opacity var(--duration-normal) var(--ease-out-expo);pointer-events:none}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:#6c8aff0a}.drop-zone:hover:before,.drop-zone.drag-over:before{opacity:1}.drop-zone-icon{font-size:40px;margin-bottom:12px;opacity:.4;filter:grayscale(.5)}.drop-zone-text{font-size:14px;color:var(--text-secondary);position:relative}.drop-zone-text strong{color:var(--accent);font-weight:600}.file-info{background:var(--success-bg);border:1px solid rgba(52,211,153,.15);border-radius:var(--radius-md);padding:14px 20px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--inset-highlight)}.file-info-name{font-weight:600;font-size:14px;color:var(--success)}.file-info span:last-child{font-size:12px;color:var(--text-tertiary)}.columns-table{width:100%;border-collapse:collapse;background:var(--bg-glass);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-hairline);box-shadow:var(--inset-highlight);margin-bottom:24px}.columns-table th,.columns-table td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--border-hairline)}.columns-table th{background:#ffffff08;font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.08em}.columns-table td{font-size:14px;color:var(--text-primary)}.columns-table tbody tr{transition:background var(--duration-fast) var(--ease-out-expo)}.columns-table tbody tr:hover{background:#ffffff08}.columns-table tbody tr:last-child td{border-bottom:none}.col-position{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent);padding:3px 12px;border-radius:var(--radius-sm);font-weight:700;font-size:12px;min-width:32px;letter-spacing:.02em}.template-name-input{padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text-primary);outline:none;width:250px;transition:all var(--duration-fast) var(--ease-out-expo)}.template-name-input::placeholder{color:var(--text-tertiary)}.template-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.template-select{padding:12px 40px 12px 16px;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text-primary);outline:none;min-width:280px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='rgba(255,255,255,0.4)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.template-select option{background:#1a1a1a;color:var(--text-primary)}.template-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:none;border-radius:var(--radius-pill);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 24px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-primary:disabled{background:#6c8aff4d;color:#fff6;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(248,113,113,.15)}.btn-danger:hover{background:#f8717133}.btn-secondary{background:var(--bg-glass-strong);color:var(--text-primary);border:1px solid var(--border-hairline)}.btn-secondary:hover{background:#ffffff24;border-color:var(--border-subtle)}.btn-lg{padding:14px 40px;font-size:15px;font-weight:700}.actions-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.saved-templates{margin-top:48px}.saved-templates h2{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-primary);letter-spacing:-.02em}.template-card{background:var(--bg-glass);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);box-shadow:var(--inset-highlight)}.template-card:hover{background:var(--bg-surface-hover);border-color:var(--border-subtle);transform:translateY(-2px);box-shadow:var(--shadow-ambient)}.template-card-name{font-weight:700;font-size:15px;color:var(--text-primary)}.template-card-info{font-size:12px;color:var(--text-tertiary);margin-top:4px}.template-card-actions{display:flex;gap:8px}.toast{position:fixed;bottom:28px;right:28px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text-primary);padding:14px 24px;border-radius:var(--radius-md);font-size:14px;font-weight:500;border:1px solid var(--border-hairline);box-shadow:var(--shadow-ambient);animation:toastIn var(--duration-normal) var(--ease-spring);z-index:200}.toast.success{border-color:#34d39933;background:#34d3991a;color:var(--success)}.toast.error{border-color:#f8717133;background:#f871711a;color:var(--danger)}@keyframes toastIn{0%{transform:translateY(16px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.home-page{text-align:center;padding-top:100px}.home-page h1{font-size:48px;font-weight:800;letter-spacing:-.04em;margin-bottom:16px;background:linear-gradient(135deg,#fff,#fff9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.home-page p{font-size:16px;color:var(--text-secondary);max-width:440px;margin:0 auto;line-height:1.7}.home-btn{margin-top:40px;padding:16px 36px;font-size:15px}.project-list-section{margin-top:56px;text-align:left}.section-title{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-primary);letter-spacing:-.02em}.project-list{display:flex;flex-direction:column;gap:12px}.project-card{cursor:pointer}.project-card-inner{padding:20px 24px;display:flex;flex-direction:column;gap:10px}.project-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card-name{font-weight:700;font-size:16px;color:var(--text-primary)}.project-status{display:inline-flex;padding:3px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.status-done{background:var(--success-bg);color:var(--success);border:1px solid rgba(52,211,153,.15)}.status-pending{background:var(--warning-bg);color:#fbbf24d9;border:1px solid rgba(251,191,36,.12)}.project-card-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-tertiary)}.project-card-actions{display:flex;justify-content:flex-end}.btn-sm{padding:6px 14px;font-size:12px}.project-name-input{width:100%;max-width:400px}.drop-zone-small{padding:28px 24px}.step-section{margin-bottom:40px}.step-title{font-size:14px;font-weight:700;margin-bottom:16px;color:var(--text-secondary);letter-spacing:-.01em}.template-selector{margin-bottom:16px}.template-select-row{display:flex;gap:12px;align-items:center}.no-template{background:var(--warning-bg);border:1px solid rgba(251,191,36,.12);border-radius:var(--radius-md);padding:20px 24px;display:flex;align-items:center;gap:16px}.no-template p{font-size:14px;color:#fbbf24cc}.add-template-inline{margin-top:12px;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.template-file-info{font-size:12px;color:var(--success);font-weight:600}.columns-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.panel-title{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-secondary)}.confirm-bar{text-align:center;padding:24px 0}.mapping-table th:last-child,.mapping-table td:last-child{text-align:center}.mapping-missing{background:var(--warning-bg)}.col-position-source{background:var(--success-bg);color:var(--success)}.mapping-null{color:var(--danger);font-size:12px;font-style:italic}.reveal{opacity:0;transform:translateY(24px);filter:blur(4px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo),filter var(--duration-slow) var(--ease-out-expo)}.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media(max-width:768px){.navbar{top:12px;padding:4px 6px 4px 14px;gap:4px}.navbar-brand{font-size:12px;margin-right:4px}.navbar-links a{padding:6px 10px;font-size:12px}.page-container{padding:100px 16px 40px}.page-title{font-size:24px}.home-page h1{font-size:32px}.columns-comparison{grid-template-columns:1fr}.template-select-row{flex-direction:column;align-items:stretch}.template-select{min-width:unset;width:100%}.template-name-input{width:100%}.add-template-inline,.actions-bar{flex-direction:column;align-items:stretch}.project-card-header{flex-direction:column;align-items:flex-start}.project-card-meta{flex-direction:column;gap:4px}}
