.wrap{max-width:var(--page-max);margin:0 auto;padding-inline:var(--gutter)}.top{padding-block:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.top .ds-brand{font-size:16px}.hero{padding-block:64px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.hero h1{margin:0;font-size:var(--size-hero);font-weight:600;line-height:1.08;letter-spacing:-.02em;max-width:880px}.hero p{margin:0;font-size:var(--size-lead);font-weight:300;line-height:1.6;color:var(--text-muted);max-width:620px}.pipeline{padding-bottom:96px;display:flex;flex-direction:column;gap:var(--gutter)}.banner{position:relative;height:240px;border-radius:var(--radius-panel);overflow:hidden;background:var(--banner);border:1px solid var(--line)}.banner svg{position:absolute;inset:0;width:100%;height:100%}.banner #art,.banner-copy{transition:opacity var(--dur) var(--ease),transform var(--dur-slow) var(--ease)}.banner.leaving #art{opacity:0;transform:translate(18px)}.banner.leaving .banner-copy{opacity:0;transform:translateY(6px)}.banner.entering #art{opacity:0;transform:translate(-18px);transition:none}.banner.entering .banner-copy{opacity:0;transform:translateY(-6px);transition:none}.banner-copy{position:absolute;left:32px;top:32px;right:32px;max-width:360px;display:flex;flex-direction:column;gap:10px}.banner-tag{font-size:var(--size-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.banner-title{font-size:var(--size-banner);font-weight:600;letter-spacing:-.01em;line-height:1.15}.steps{display:flex;flex-wrap:wrap;gap:var(--gap-cards)}.step{flex:1 1 200px;min-width:0;min-height:var(--touch-min);text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:0;overflow:hidden;display:flex;flex-direction:column;color:var(--text);--tone: var(--text-faint);--bar: var(--line);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.step:before{content:"";height:3px;background:var(--bar);transition:background-color var(--dur) var(--ease)}.step[data-state=done]{--tone: var(--done);--bar: var(--done)}.step[data-state=now]{--tone: var(--accent);--bar: var(--accent);background:var(--panel-active);border-color:var(--accent)}.step[aria-disabled=true]{cursor:default}.step:hover:not([aria-disabled=true]):not([data-state=now]){border-color:var(--line-accent)}.step-body{display:flex;flex-direction:column;gap:10px;padding:20px 24px 22px}.step-head{display:flex;justify-content:space-between;gap:12px;color:var(--tone)}.step-num{font-size:var(--size-data)}.step-status{font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase}.step-name{font-size:var(--size-step);font-weight:600;letter-spacing:-.01em}.step-result{font-size:var(--size-data);color:var(--text-soft);min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px;animation:ds-rise var(--dur) var(--ease)}.choice{display:flex;flex-wrap:wrap;gap:var(--gap-cards)}.choice-tile{flex:1 1 280px;min-width:0;min-height:220px;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-tile);padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text)}.choice-tile.upload{border:1px dashed var(--line-accent)}.choice-tile.chosen,.choice-tile.drag{background:var(--panel-active);border-color:var(--accent)}.choice-tile.drag{border-style:solid}.choice-tile strong{font-size:var(--size-h2);font-weight:600}.choice-tile span{font-size:var(--size-body);color:var(--text-muted);text-align:center}.choice-tile.failed span{color:var(--error)}.upload-progress{width:min(260px,100%)}.catalog{display:flex;flex-direction:column;gap:18px}.catalog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-head h2{margin:0;font-size:20px;font-weight:600}.back{min-height:var(--touch-min);padding:0 14px;background:transparent;border:0;color:var(--link);font-size:var(--size-body)}.back:hover{color:var(--link-hover)}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.catalog-group{margin:6px 0 0;font-size:var(--size-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:500}.part{text-align:left;background:transparent;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px;font-size:var(--size-body);font-weight:500;color:var(--text)}.part:hover{border-color:var(--line-accent)}.part[aria-pressed=true]{background:var(--panel-active);border-color:var(--accent)}.part-thumb{height:84px;border-radius:10px;background:var(--ground);border:1px dashed var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:11px;font-weight:400;color:var(--text-faint)}.part-thumb svg{width:100%;height:100%;display:block}.part-thumb.ready{border-style:solid;border-color:var(--line)}.summary{padding:32px;display:flex;flex-direction:column;gap:28px}.summary.failed{border-color:color-mix(in srgb,var(--error) 50%,var(--line))}.summary-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.summary-head h2{margin:0;font-size:var(--size-h2);font-weight:600}.stats{display:flex;flex-wrap:wrap;gap:16px 48px}.stat{flex:1 1 180px;display:flex;flex-direction:column;gap:6px}.stat b{font-family:var(--font-data);font-size:var(--size-stat);font-weight:500;letter-spacing:-.02em}.stat b.working{color:var(--text-faint)}.stat b.ok{color:var(--done)}.stat b.bad{color:var(--error)}.stat span{font-size:var(--size-body);color:var(--text-muted)}.summary-note{margin:0;font-size:var(--size-data);line-height:1.6;color:var(--text-muted)}.summary-note.problem{color:var(--error)}.summary-note.working-line{display:flex;align-items:center;gap:10px}.summary-note.working-line:before{content:"";width:12px;height:12px;flex:none;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:ds-spin .8s linear infinite}.summary-reasons{margin:0;padding-left:20px;font-size:var(--size-body);line-height:1.7;color:var(--text-muted)}.options{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--line)}.options-title{margin:16px 0 0;font-size:var(--size-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:500}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.option{text-align:left;min-height:96px;background:transparent;border:1px solid var(--line-strong);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;color:var(--text)}.option:hover:not(:disabled){border-color:var(--line-accent)}.option[aria-checked=true]{background:var(--panel-active);border-color:var(--accent)}.option:disabled{background:transparent;border-style:dashed;color:var(--text-faint)}.option-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.option strong{font-size:16px;font-weight:600}.option .mono{font-size:var(--size-data);color:var(--text-soft)}.option small{font-size:var(--size-small);color:var(--text-muted)}.option:disabled .mono,.option:disabled small{color:var(--text-faint)}#layout-open{align-self:flex-start}.options-note{margin:0;font-size:var(--size-small);color:var(--text-muted)}.cta-row{display:flex;justify-content:center}.cta{min-width:min(100%,340px)}@media(max-width:640px){.hero{padding-block:40px 32px}.summary{padding:24px}.stat b{font-size:34px}.banner-copy{left:20px;top:20px}}
