:root{--bg: #0c0c0e;--surface: #141417;--surface-2: #1c1c21;--ink: #f1f1ec;--ink-2: #b4b4bc;--ink-3: #8e8e98;--line: #26262d;--line-strong: #6e6e7a;--brand: #cbf542;--brand-ink: #0c0c0e;--brand-soft: #1d2410;--brand-deep: #cbf542;--good: #5be38a;--good-soft: #0f2618;--bad: #ff7a6b;--bad-soft: #2b1411;--amber: #f5b840;--focus: #cbf542;--canvas: #17171b;--code-bg: #08080a;--code-ink: #e9e9e4;--code-del: #ff9a8e;--code-add: #8ef0ae;--code-note: #f5b840;--radius: 6px;--radius-sm: 4px;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-width:320px}::selection{background:var(--brand);color:var(--brand-ink)}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-.03em}a{color:var(--brand)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}[tabindex="-1"]:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:var(--s4);top:-100px;padding:var(--s3) var(--s4);background:var(--brand);color:var(--brand-ink);z-index:20}.skip:focus{top:var(--s2)}.eyebrow,.mono{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s5);background:#0c0c0ed9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:inline-flex;align-items:center;gap:var(--s3);min-height:44px;font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.brand__mark{display:inline-flex;align-items:flex-end;gap:3px;width:22px;height:22px}.brand__mark span{flex:1;background:var(--brand)}.brand__mark span:nth-child(1){height:35%}.brand__mark span:nth-child(2){height:65%}.brand__mark span:nth-child(3){height:100%}.main{max-width:1120px;margin:0 auto;padding:var(--s6) var(--s4) var(--s7)}.main--focus{padding-top:0}.footer{max-width:1120px;margin:0 auto;padding:var(--s5) var(--s4) var(--s6);border-top:1px solid var(--line);color:var(--ink-3);font-family:var(--mono);font-size:12px}.crumbs{margin-bottom:var(--s3)}.crumbs a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs a:before{content:"← ";white-space:pre}.lede{color:var(--ink-2);margin-top:var(--s2);font-size:17px}.notice{margin:var(--s4) 0;padding:var(--s3) var(--s4);border-left:3px solid var(--amber);background:#241c0b;color:var(--ink)}.notice--good{background:var(--good-soft);border-color:var(--good)}.section-title{margin:var(--s7) 0 var(--s4);font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;min-width:44px;padding:0 var(--s5);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.btn--primary{background:var(--brand);color:var(--brand-ink)}.btn--primary:hover{background:#ddff6e}.btn--secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn--secondary:hover{border-color:var(--ink)}.btn--quiet{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.btn--big{min-height:52px;padding:0 var(--s6);font-size:16px}.btn--icon{padding:0;width:44px;background:transparent;border-color:var(--line-strong);color:var(--ink);font-size:18px}.btn--icon:hover{border-color:var(--ink)}.btn--small{min-height:44px;padding:0 var(--s4);font-size:14px}.btn:disabled{cursor:not-allowed;background:transparent;color:var(--ink-3);border-color:var(--line);border-style:dashed}.hero{display:grid;gap:var(--s5);grid-template-columns:1fr;align-items:end;padding-bottom:var(--s6);margin-bottom:var(--s6);border-bottom:1px solid var(--line)}@media(min-width:900px){.hero{grid-template-columns:1fr auto}}.hero__copy{display:grid;gap:var(--s4);max-width:720px}.hero__copy .eyebrow{color:var(--brand)}.hero__copy h1{font-size:clamp(40px,7vw,72px);line-height:.95;letter-spacing:-.045em}.hero__lede{color:var(--ink-2);font-size:18px;max-width:56ch}.stats{list-style:none;margin:0;padding:0;display:flex;border:1px solid var(--line)}.stat{display:grid;gap:2px;padding:var(--s4) var(--s5);min-width:140px}.stat+.stat{border-left:1px solid var(--line)}.stat__value{font-family:var(--mono);font-size:32px;font-weight:600;line-height:1;letter-spacing:-.02em}.stat__label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.continue{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand)}.continue__glyph{font-family:var(--mono);font-size:40px;font-weight:600;line-height:1;color:var(--brand);min-width:64px}.continue__body{flex:1 1 280px;display:grid;gap:var(--s2)}.continue__body .eyebrow{color:var(--brand)}.continue__title{font-size:26px;line-height:1.15;letter-spacing:-.02em}.continue__meta{color:var(--ink-3);font-family:var(--mono);font-size:13px}.meter{position:relative;height:4px;background:var(--surface-2)}.meter__fill{display:block;height:100%;background:var(--brand)}.meter__goal{position:absolute;top:-6px;bottom:-6px;width:1px;background:var(--ink)}.types{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.type-card{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5);background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .15s ease}.type-card:hover{background:var(--surface)}.type-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.type-card__title{font-size:24px;line-height:1.15;letter-spacing:-.02em}.type-card__where{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.type-card__blurb{color:var(--ink-2)}.type-card__count{font-family:var(--mono);font-size:12px;color:var(--ink-3)}.type-card__go{margin-top:auto;align-self:flex-start}.glyph{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink-3)}.glyph--big{font-size:56px;line-height:1;color:var(--brand);letter-spacing:-.04em}.skill{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.skill__seg{height:4px;background:var(--surface-2)}.skill__seg.is-done{background:var(--brand)}.step-badge{display:inline-block;padding:1px 6px;border:1px solid currentColor;border-radius:2px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.step-badge--see{color:#9fd7ff}.step-badge--fix{color:var(--amber)}.step-badge--make{color:var(--brand)}.final-card{margin-top:var(--s6);padding:var(--s6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5);background:var(--brand);color:var(--brand-ink)}.final-card>div{flex:1 1 320px;display:grid;gap:var(--s2)}.final-card h2{font-size:28px;line-height:1.1;letter-spacing:-.03em}.final-card p{color:#2a3311}.final-card .final-card__status{color:var(--brand-ink);font-family:var(--mono);font-size:13px;font-weight:700}.final-card__glyph{font-family:var(--mono);font-size:56px;font-weight:600;line-height:1;letter-spacing:-.04em}.final-card .btn--secondary{color:var(--brand-ink);border-color:var(--brand-ink)}.final-card .btn--secondary:hover{background:var(--brand-ink);color:var(--brand)}.final-card :focus-visible{outline-color:var(--brand-ink)}.final-todo{margin:0;padding-left:var(--s5);display:grid;gap:var(--s1)}.ladder-head{display:flex;align-items:flex-end;gap:var(--s5);padding-bottom:var(--s5);margin-bottom:var(--s5);border-bottom:1px solid var(--line)}.ladder-head h1{font-size:clamp(36px,6vw,56px);letter-spacing:-.04em}.path{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:var(--s3);position:relative}.path__item{position:relative}.path:before{content:"";position:absolute;left:21px;top:64px;bottom:48px;width:1px;background:var(--line-strong)}.path__step{margin:var(--s5) 0 var(--s2) 60px;color:var(--ink-3);font-size:14px}.tier{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);margin-left:60px;padding:var(--s4) var(--s5);background:var(--surface);border:1px solid var(--line)}.path__node{position:absolute;left:-60px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;font-family:var(--mono);font-weight:600;font-size:13px;background:var(--bg);border:1px solid var(--line-strong);color:var(--ink-3);z-index:1}.path__item--done .path__node{background:var(--surface-2);border-color:var(--brand);color:var(--brand);font-size:16px}.path__item--current .path__node{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.path__item--current .tier{border-color:var(--brand)}.path__item--locked .tier{background:transparent;border-style:dashed}.tier__text{display:grid;gap:2px;flex:1 1 220px}.tier__name{font-size:20px;line-height:1.2;letter-spacing:-.02em}.tier__hint,.tier__lock{color:var(--ink-3);font-size:15px}.tier__best{font-family:var(--mono);font-size:13px;color:var(--ink-2)}.real-apps{display:inline-flex;align-items:center;min-height:44px;font-family:var(--mono);font-size:13px;font-weight:600}.runbar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;background:#0c0c0eeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin-bottom:var(--s5);min-width:0;max-width:100%}.runbar__exit{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);font-size:16px;text-decoration:none}.runbar__exit:hover{border-color:var(--ink)}.runbar__progress{appearance:none;flex:1 1 0;width:0;min-width:0;height:4px;border:0;background:var(--surface-2)}.runbar__progress--none{background:transparent}.runbar__progress::-webkit-progress-bar{background:var(--surface-2)}.runbar__progress::-webkit-progress-value{background:var(--brand);transition:width .4s ease}.runbar__progress::-moz-progress-bar{background:var(--brand)}.runbar__count{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.run__title{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:var(--s3)}.round{display:grid;gap:var(--s5)}.round--done{padding-bottom:150px}.round__intro{display:grid;gap:var(--s2);text-align:center}.round__prompt{font-size:clamp(28px,4.5vw,44px);line-height:1.05;font-weight:800;letter-spacing:-.035em}.round__hint{color:var(--ink-2);font-size:16px}.round__keys{text-align:center;color:var(--ink-3);font-family:var(--mono);font-size:12px}kbd{display:inline-block;min-width:22px;padding:0 5px;border:1px solid var(--line-strong);border-radius:3px;background:var(--surface-2);color:var(--ink);font:600 12px/20px var(--mono);text-align:center}@media(hover:none){.round__keys{display:none}}.round__footer{display:flex;justify-content:flex-end}.pair{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}@media(min-width:900px){.pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5)}}.pair__item{margin:0;display:grid;gap:var(--s3);align-content:start;min-width:0}.pair__item figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.answer{display:grid;grid-template-rows:1fr auto;min-width:0;background:var(--surface);border:1px solid var(--line);transition:border-color .12s ease}.round:not(.round--done) .answer:hover{border-color:var(--brand)}.answer__stage{position:relative;display:grid;min-width:0;cursor:pointer}.round--done .answer__stage{cursor:default}.answer__preview{display:grid;min-width:0;pointer-events:none}.answer__preview>.spec-view{height:100%}.answer__letter{position:absolute;top:12px;left:14px;z-index:2;font-family:var(--mono);font-weight:600;font-size:13px;color:var(--ink-2)}.answer__tag{position:absolute;top:8px;right:10px;z-index:2;padding:2px var(--s2);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--brand-ink)}.answer--good{border-color:var(--good)}.answer--good .answer__tag{background:var(--good)}.answer--bad{border-color:var(--bad)}.answer--bad .answer__tag{background:var(--bad)}.answer__pick{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:52px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}.answer:hover .answer__pick{background:var(--brand);color:var(--brand-ink)}.answer:hover .answer__key{background:transparent;border-color:var(--brand-ink);color:var(--brand-ink)}.answer__key{margin-left:var(--s1)}@media(hover:none){.answer__key{display:none}}.answer__foot{min-height:44px;display:grid;place-items:center;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.feedback{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--surface);border-top:1px solid var(--line);animation:feedback-in .26s cubic-bezier(.2,.8,.2,1)}.feedback:before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px}.feedback--pass:before{background:var(--good)}.feedback--fail:before{background:var(--bad)}.feedback__inner{max-width:1120px;margin:0 auto;padding:var(--s4);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5)}.feedback__text{display:flex;align-items:center;gap:var(--s4);min-width:0;flex:1 1 280px}.feedback__icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;font-size:22px;font-weight:800;color:var(--brand-ink)}.feedback--pass .feedback__icon{background:var(--good)}.feedback--fail .feedback__icon{background:var(--bad)}.feedback__title{font-size:24px;line-height:1.1;font-weight:800;letter-spacing:-.02em}.feedback--pass .feedback__title{color:var(--good)}.feedback--fail .feedback__title{color:var(--bad)}.feedback__sub{color:var(--ink-2);font-size:15px}.feedback__actions{display:flex;gap:var(--s2);margin-left:auto}.btn--next{min-height:52px;min-width:168px;color:var(--brand-ink);font-size:16px}.btn--next-pass{background:var(--good)}.btn--next-pass:hover{background:#86eda8}.btn--next-fail{background:var(--bad)}.btn--next-fail:hover{background:#ff9a8e}@keyframes feedback-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.feedback{animation:none}}.spec-view{position:relative;min-width:0;display:grid;place-items:center;min-height:240px;padding:var(--s7) var(--s6) var(--s6);background-color:var(--canvas);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;overflow:hidden}.spec-view:before,.spec-view:after{content:"";position:absolute;width:14px;height:14px;border-color:var(--line-strong);border-style:solid;pointer-events:none}.spec-view:before{right:10px;top:10px;border-width:1px 1px 0 0}.spec-view:after{left:10px;bottom:10px;border-width:0 0 1px 1px}@media(max-width:600px){.spec-view{padding:44px var(--s3) var(--s5);min-height:0}}.spec-view>*{width:100%;min-width:0}.frame{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 24px 60px #0009}.frame--web{max-width:640px;margin:0 auto}.frame--web .frame__bar{display:flex;gap:6px;padding:var(--s2) var(--s3);background:#ececef;border-bottom:1px solid #dcdce0}.frame--web .frame__bar span{width:10px;height:10px;border-radius:50%;background:#b9b9c1}.frame--web .frame__screen{overflow-x:auto}.frame-fit{width:100%;max-width:406px;margin:0 auto;overflow:hidden}.frame--phone{background:#2b2b31;border-radius:44px;position:relative;box-shadow:0 0 0 1px #ffffff29}.frame--phone .frame__screen{border-radius:36px;overflow:hidden;min-height:160px;padding-top:36px}.frame__notch{position:absolute;top:18px;left:50%;width:96px;height:24px;margin-left:-48px;border-radius:999px;background:#0b0b0e;z-index:1}.spec{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#18181b;color-scheme:light}.spec-spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spec-spinner{animation:none}}.reveal{display:grid;gap:var(--s4);padding:var(--s5);background:var(--surface);border:1px solid var(--line);scroll-margin-top:90px}.verdict{font-size:22px;line-height:1.25}.principle{padding:var(--s4) var(--s5);border-left:3px solid var(--brand);background:var(--surface-2);display:grid;gap:var(--s1)}.principle__title{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.principle__text{font-size:17px;line-height:1.5}.reveal__detail{color:var(--ink-2)}.highlight-key{display:flex;align-items:center;gap:var(--s2);color:var(--ink-3);font-family:var(--mono);font-size:12px}.highlight-key__swatch{width:24px;height:14px;border:2px dashed #ff6b5b}.fix-summary{display:grid;gap:var(--s2)}.fix-summary__title{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.fix-summary__list{list-style:none;margin:0;padding:0;border:1px solid var(--line)}.fix-summary__item{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s2) var(--s4);padding:var(--s3) var(--s4)}.fix-summary__item+.fix-summary__item{border-top:1px solid var(--line)}.fix-summary__what{font-weight:700}.fix-summary__values{display:inline-flex;align-items:baseline;gap:var(--s3);font-family:var(--mono);font-size:15px}.fix-summary__from{color:var(--bad);text-decoration:line-through;text-decoration-thickness:1px}.fix-summary__arrow{color:var(--ink-3)}.fix-summary__to{color:var(--good);font-weight:700}.fix-summary__empty{color:var(--ink-3)}.workbench{display:grid;gap:var(--s4);grid-template-columns:1fr;align-items:start}@media(min-width:900px){.workbench{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}}.workbench__canvas{display:grid;gap:var(--s3);min-width:0}.workbench__panel{display:grid;gap:var(--s4);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.panel__title{font-size:16px}.panel__actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.panel__note{color:var(--ink-3);font-size:14px}.panel__message{padding:var(--s3);border-radius:var(--radius-sm);background:var(--bad-soft);border:1px solid var(--bad);color:var(--ink)}.timer{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.timer--urgent{color:var(--bad)}.controls{display:grid;gap:var(--s3)}.control{display:grid;gap:var(--s1);border:0;margin:0;padding:0;min-width:0}.control__label{font-weight:600;font-size:15px;padding:0}.control__hint{font-size:14px;color:var(--ink-3)}.control select,.control input[type=text]{min-height:44px;padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;width:100%}.control--toggle{grid-template-columns:auto 1fr;align-items:center;gap:var(--s3);min-height:44px}.control--toggle input{width:24px;height:24px;accent-color:var(--brand)}.stepper{display:inline-flex;align-items:center;gap:var(--s2)}.stepper__value{min-width:72px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.swatches{display:flex;flex-wrap:wrap;gap:var(--s1)}.swatch{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;cursor:pointer}.swatch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.swatch__chip{width:28px;height:28px;border-radius:6px;border:1px solid var(--line-strong)}.swatch input:checked+.swatch__chip{outline:3px solid var(--ink);outline-offset:1px}.swatch input:focus-visible+.swatch__chip{outline:3px solid var(--focus);outline-offset:3px}.checks{display:grid;gap:var(--s2)}.checks__title{font-size:16px}.checks__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.check{display:grid;grid-template-columns:24px 1fr;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--radius-sm);border:1px solid var(--line)}.check--pass{background:var(--good-soft)}.check--fail{background:var(--bad-soft);border-color:var(--bad)}.check__mark{font-weight:700}.check--pass .check__mark{color:var(--good)}.check--fail .check__mark{color:var(--bad)}.check__name{font-weight:600}.check__status{font-weight:700}.check__detail,.check__principle{font-size:15px;color:var(--ink-2)}.brief{padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:var(--s1)}.brief__goal{font-size:18px;font-weight:600}.brief__meta{color:var(--ink-3)}.canvas__empty{padding:var(--s3);border:2px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-3);text-align:center}.kit__list,.parts__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}.parts__list{flex-direction:column;flex-wrap:nowrap;gap:var(--s1)}.kit__req{font-weight:400;color:var(--ink-3)}.parts__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--radius-sm);border:1px solid transparent}.parts__row[draggable=true]{cursor:grab}.parts__row.is-selected{background:var(--brand-soft);border-color:var(--brand)}.parts__name{flex:1;min-height:44px;text-align:left;background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;padding:0 var(--s2)}.parts__actions{display:inline-flex;gap:var(--s1)}.compare{display:grid;gap:var(--s4)}.compare__more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.summary{display:grid;gap:var(--s4);max-width:640px}.summary__score{font-size:24px;font-weight:700}.summary__actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.final-todo li{color:var(--ink-2)}
