:root{--bg: #fafaf9;--surface: #ffffff;--surface-sunken: #f4f4f3;--border: #e7e5e2;--border-strong: #d6d3ce;--text: #1c1b19;--text-muted: #6b6862;--text-faint: #9c988f;--accent: #3d5a80;--accent-strong: #2c4160;--accent-soft: #eef2f6;--ok-bg: #e9f5ee;--ok-text: #1f7a4d;--warn-bg: #fdf3e3;--warn-text: #a15c00;--danger-bg: #fbeae9;--danger-text: #b3392b;--info-bg: #eef2f6;--info-text: #3d5a80;--neutral-bg: #f0efed;--neutral-text: #706c64;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgba(28, 27, 25, .04), 0 4px 12px rgba(28, 27, 25, .05);font-family:Söhne,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Helvetica,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}code,.mono{font-family:SF Mono,ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:.85em}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:.95rem}.app-shell{max-width:760px;margin:0 auto;padding:3rem 1.5rem 5rem}.app-header{margin-bottom:2.5rem}.app-header .kicker{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.3rem .7rem;margin-bottom:.9rem}.app-header .kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.app-header h1{font-size:1.65rem;font-weight:650;letter-spacing:-.01em;margin:0 0 .5rem}.app-header p{color:var(--text-muted);margin:0;max-width:540px}.pipeline{display:flex;align-items:flex-start;gap:0;margin:2rem 0 2.5rem}.pipeline-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;position:relative}.pipeline-step .node{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-faint);transition:all .2s ease;z-index:1}.pipeline-step .label{font-size:.72rem;color:var(--text-faint);font-weight:500;max-width:90px}.pipeline-step:before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--border);z-index:0}.pipeline-step:first-child:before{display:none}.pipeline-step.done .node{border-color:var(--accent);background:var(--accent);color:#fff}.pipeline-step.done .label{color:var(--text)}.pipeline-step.done:before{background:var(--accent)}.pipeline-step.active .node{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.pipeline-step.active .label{color:var(--accent);font-weight:600}.pipeline-step.attention .node{border-color:var(--warn-text);color:var(--warn-text);box-shadow:0 0 0 4px var(--warn-bg)}.pipeline-step.attention .label{color:var(--warn-text);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow);transition:opacity .2s ease}.card.subdued{box-shadow:none;background:var(--surface-sunken)}.card.attention{border-color:#f1d9a8;background:var(--warn-bg)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.card-head h2{font-size:1rem;font-weight:650;margin:0;display:flex;align-items:center;gap:.55rem}.card-head .step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:700}.card-head .done-mark{font-size:.72rem;font-weight:600;color:var(--ok-text);background:var(--ok-bg);border-radius:999px;padding:.2rem .6rem}.card p.hint{color:var(--text-muted);font-size:.88rem;margin:-.25rem 0 1rem}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-bottom:.9rem}.field{display:flex;flex-direction:column;gap:.35rem}.field.span-2{grid-column:1 / -1}.field label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .65rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dims-row{display:flex;gap:.6rem;align-items:end}.dims-row .field{flex:1}.dims-row .field.unit{flex:0 0 76px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.4rem}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-strong)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:not(:disabled):hover{background:var(--surface-sunken);border-color:var(--text-faint)}.btn-ghost{background:transparent;color:var(--accent);padding:.55rem .7rem}.btn-ghost:not(:disabled):hover{background:var(--accent-soft)}.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}.file-input{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.file-input input[type=file]{font-size:.85rem;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:650;letter-spacing:.01em;padding:.22rem .6rem;border-radius:999px;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-ok{background:var(--ok-bg);color:var(--ok-text)}.badge-warn{background:var(--warn-bg);color:var(--warn-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-info{background:var(--info-bg);color:var(--info-text)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-text)}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.status-tile{background:var(--surface-sunken);border-radius:var(--radius-sm);padding:.85rem .9rem;display:flex;flex-direction:column;gap:.4rem}.status-tile .status-label{font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint)}.meta-row{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.82rem;color:var(--text-muted);margin-bottom:1.25rem}.meta-row .mono{color:var(--text)}.subsection{margin-top:1.4rem}.subsection>h3{font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);margin:0 0 .6rem}.entry-list{display:flex;flex-direction:column;gap:.4rem}.entry-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:.85rem}.entry-row .entry-main{display:flex;align-items:center;gap:.6rem;min-width:0}.entry-row .entry-name{font-weight:600;white-space:nowrap}.entry-row .entry-detail{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-note{color:var(--text-faint);font-size:.85rem;font-style:italic;padding:.3rem 0}.clarification-question{font-size:1rem;font-weight:500;margin:0 0 1.1rem;line-height:1.45}.status-line{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);padding:.6rem 0;margin:-.3rem 0 .6rem}.status-line .spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-faint)}@media (max-width: 560px){.app-shell{padding:2rem 1rem 4rem}.field-grid,.status-grid{grid-template-columns:1fr}.pipeline-step .label{display:none}}
