:root{--ink: #0a0a0a;--ink-700: #262626;--ink-500: #737373;--ink-300: #cbd5e1;--ink-200: #e5e5e5;--ink-50: #f9fafb;--white: #ffffff;--canvas: #f2f3f5;--border: rgba(10, 10, 10, .1);--border-strong: rgba(10, 10, 10, .12);--accent: #0a0a0a;--industry: #7c6a3e;--industry-light: #fdf8ef;--error: #b91c1c;--error-light: #fef2f2;--ok: #166534;--ok-light: #f0fdf4;--r-card: 12px;--r-input: 10px;--r-btn: 10px;--r-chip: 6px;--shadow-sm: 0 0 0 1px rgba(10, 10, 10, .04), 0 1px 2px rgba(10, 10, 10, .06);--shadow-md: 0 0 0 1px rgba(10, 10, 10, .04), 0 2px 4px -1px rgba(10, 10, 10, .08), 0 4px 8px -2px rgba(10, 10, 10, .06);--shadow-lg: 0 0 0 1px rgba(10, 10, 10, .04), 0 4px 8px -2px rgba(10, 10, 10, .1), 0 12px 24px -6px rgba(10, 10, 10, .1);--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500)}.eyebrow .num{color:var(--industry)}.topbar{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:14px;padding:0 32px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar .logo{height:20px;color:var(--ink);display:block}.topbar .divider{width:1px;height:22px;background:var(--border-strong)}.topbar .tool-name{font-size:13px;font-weight:600;letter-spacing:-.01em}.topbar .env-chip{margin-left:auto;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);border:1px solid var(--border-strong);border-radius:var(--r-chip);padding:4px 10px;background:var(--white)}.layout{max-width:1180px;margin:0 auto;padding:40px 32px 80px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}@media (max-width: 960px){.layout{grid-template-columns:1fr;padding:24px 16px 60px}}.page-head{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px}.page-head h1{font-size:clamp(1.6rem,2.5vw + .8rem,2.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.page-head p{color:var(--ink-500);max-width:62ch}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm)}.card-pad{padding:28px 32px}@media (max-width: 640px){.card-pad{padding:20px 18px}}.section-label{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1 / -1}.field label{font-size:13px;font-weight:500;color:var(--ink-700)}.field .hint{font-size:12px;color:var(--ink-500);font-weight:400}.field input,.field select,.field textarea{font-family:inherit;font-size:14px;color:var(--ink);background:var(--white);border:1px solid var(--ink-200);border-radius:var(--r-input);padding:10px 14px;outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.field textarea{resize:vertical;min-height:72px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-300)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-500);opacity:.7}.input-affix{position:relative}.input-affix input{width:100%;padding-left:30px}.input-affix .affix{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ink-500)}.funnels{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.funnels{grid-template-columns:1fr}}.funnel-card{text-align:left;font-family:inherit;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);padding:16px 18px;cursor:pointer;display:flex;flex-direction:column;gap:5px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .3s var(--ease)}.funnel-card:hover{border-color:var(--ink-300);transform:translateY(-2px);box-shadow:var(--shadow-md)}.funnel-card:focus-visible{outline:none;box-shadow:0 0 0 1px var(--accent)}.funnel-card.selected{border-color:var(--accent);box-shadow:var(--shadow-md)}.funnel-card .f-head{display:flex;align-items:center;gap:8px}.funnel-card .f-name{font-size:14px;font-weight:600}.funnel-card .f-check{margin-left:auto;width:18px;height:18px;border-radius:50%;border:1px solid var(--ink-300);display:flex;align-items:center;justify-content:center;transition:background .18s var(--ease),border-color .18s var(--ease);flex-shrink:0}.funnel-card.selected .f-check{background:var(--ink);border-color:var(--ink)}.funnel-card .f-check svg{width:10px;height:10px;color:var(--white);opacity:0;transition:opacity .18s var(--ease)}.funnel-card.selected .f-check svg{opacity:1}.funnel-card .f-desc{font-size:12.5px;color:var(--ink-500);line-height:1.45}.funnel-card .f-tag{font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500)}.btn-primary,.btn-ghost{font-family:inherit;font-size:14px;font-weight:600;border-radius:var(--r-btn);padding:12px 24px;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .18s var(--ease),border-color .18s var(--ease);display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:var(--accent);color:var(--white);border:1px solid var(--accent)}.btn-primary:hover{background:var(--ink-700);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost{background:var(--white);color:var(--ink);border:1px solid var(--ink-200)}.btn-ghost:hover{border-color:var(--ink-700);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost:active{transform:translateY(0)}.btn-primary:focus-visible,.btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 1px var(--accent),0 0 0 4px #0a0a0a26}.form-footer{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.form-footer .note{font-size:12px;color:var(--ink-500)}.progress-wrap{display:flex;flex-direction:column;gap:26px}.progress-track{height:6px;background:var(--ink-50);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;background:var(--ink);border-radius:3px;transition:width .9s var(--ease)}.stages{display:flex;flex-direction:column;gap:0}.stage{display:flex;gap:14px;align-items:flex-start;padding:10px 0}.stage .s-num{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);color:var(--ink-500);background:var(--white);flex-shrink:0;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.stage.done .s-num{background:var(--ink);color:var(--white);border-color:var(--ink)}.stage.current .s-num{border-color:var(--ink);color:var(--ink)}.stage .s-body{display:flex;flex-direction:column;gap:1px;padding-top:2px}.stage .s-title{font-size:14px;font-weight:600;color:var(--ink-500)}.stage.done .s-title,.stage.current .s-title{color:var(--ink)}.stage .s-sub{font-size:12px;color:var(--ink-500)}.stage.current .s-num{animation:pulse-ring 1.6s var(--ease) infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #0a0a0a2e}70%{box-shadow:0 0 0 7px #0a0a0a00}to{box-shadow:0 0 #0a0a0a00}}.progress-meta{display:flex;align-items:baseline;gap:12px}.progress-pct{font-family:JetBrains Mono,ui-monospace,monospace;font-size:34px;font-weight:700;letter-spacing:-.03em}.progress-label{font-size:14px;color:var(--ink-500)}.result{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.result .ok-badge{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ok);background:var(--ok-light);border:1px solid rgba(22,101,52,.2);border-radius:var(--r-chip);padding:5px 11px}.result h2{font-size:22px;font-weight:600;letter-spacing:-.015em}.result .dl-row{display:flex;gap:12px;flex-wrap:wrap}.error-box{background:var(--error-light);border:1px solid rgba(185,28,28,.25);border-radius:var(--r-card);padding:16px 20px;color:var(--error);font-size:13px}.error-box b{display:block;margin-bottom:4px}.history{display:flex;flex-direction:column}.history-head{padding:18px 22px 12px}.history-list{display:flex;flex-direction:column}.history-item{display:flex;align-items:center;gap:12px;padding:13px 22px;border-top:1px solid var(--border);transition:background .18s var(--ease)}.history-item:hover{background:var(--ink-50)}.history-item .h-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.history-item .h-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .h-date{font-size:11px;color:var(--ink-500)}.history-item .h-links{display:flex;gap:8px}.history-item .h-links a{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.06em;color:var(--ink);text-decoration:none;border:1px solid var(--ink-200);border-radius:var(--r-chip);padding:3px 8px;transition:border-color .18s var(--ease)}.history-item .h-links a:hover{border-color:var(--ink-700)}.status-chip{font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-chip);padding:3px 8px;white-space:nowrap;border:1px solid var(--border-strong);color:var(--ink-500);background:var(--white)}.status-chip.ready{color:var(--ok);background:var(--ok-light);border-color:#16653433}.status-chip.error{color:var(--error);background:var(--error-light);border-color:#b91c1c40}.status-chip.working{color:var(--industry);background:var(--industry-light);border-color:#7c6a3e40}.history-empty{padding:20px 22px;font-size:13px;color:var(--ink-500);border-top:1px solid var(--border)}.reveal{animation:reveal .8s var(--ease) both}@keyframes reveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.reveal,.spin,.stage.current .s-num{animation:none}*{transition-duration:.01ms!important}}
