:root{--bg: #f3f4f1;--fg: #1c211f;--muted: #59625e;--line: #d3d8d3;--accent: #2b4775;--accent-fg: #ffffff;--field: #ffffff;--tape: #e3cf8f;--tape-soft: #f1e5bd;--hl: #f4c430;--tape-ink: #3a3420;--label: #fbfbf8;--good: #2f6b4f;--snug: #94600f;--bad: #a3392a;--roomy: #2b6577;--font-display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-accent: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #121615;--fg: #e8ebe7;--muted: #a3aca7;--line: #2b3331;--accent: #a3bbe8;--accent-fg: #0f141c;--field: #1a1f1e;--tape: #b59d55;--tape-soft: #3a3423;--tape-ink: #1d1a10;--hl: #a8801a;--label: #1a1f1e;--good: #7cc4a0;--snug: #e0b25e;--bad: #f08a78;--roomy: #7ec0d4;color-scheme:dark}}:root[data-theme=dark]{--bg: #121615;--fg: #e8ebe7;--muted: #a3aca7;--line: #2b3331;--accent: #a3bbe8;--accent-fg: #0f141c;--field: #1a1f1e;--tape: #b59d55;--tape-soft: #3a3423;--tape-ink: #1d1a10;--hl: #a8801a;--label: #1a1f1e;--good: #7cc4a0;--snug: #e0b25e;--bad: #f08a78;--roomy: #7ec0d4;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 1.0625rem/1.55 var(--font-body);padding-inline:16px;padding-block:0 72px}.wrap{max-width:34rem;margin-inline:auto}p{margin:0}p,li{text-wrap:pretty}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:400;text-wrap:balance}h1{font-size:clamp(1.75rem,7.4vw,2.5rem);line-height:1.06;letter-spacing:-.025em}h1 em,h2 em,h3 em{font-style:normal;color:var(--accent)}h2{font-size:1.45rem;line-height:1.12;letter-spacing:-.015em}h3{font-size:1.08rem;font-weight:600;letter-spacing:-.005em}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.ph{display:inline-block}.muted{color:var(--muted)}.small{font-size:.92rem}.eyebrow{font:600 .7rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.aside{font:500 1rem/1.45 var(--font-body);color:var(--fg)}.aside b{font-style:normal;font-family:var(--font-body);font-size:.82em;font-weight:700}mark,.hl{background:linear-gradient(transparent 40%,var(--hl) 40%,var(--hl) 94%,transparent 94%);color:inherit;font-weight:700;padding:0 3px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.num{font:600 .95em/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tag{position:absolute;top:-13px;left:14px;display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;background:var(--label);border:1px solid var(--line);border-radius:3px;font:600 .7rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--fg);box-shadow:inset 0 0 0 3px var(--label),inset 0 0 0 4px color-mix(in srgb,var(--muted) 45%,transparent)}.tag b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--tape);color:var(--tape-ink);font:700 .68rem/1 var(--font-mono);letter-spacing:0}.tag.done b{background:var(--good);color:var(--bg)}nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:18px 0}.mark{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;cursor:pointer}.mark b{font:700 1.12rem/1 var(--font-display);letter-spacing:-.01em}.mark .seal{font:600 .62rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;padding:4px 6px;border:1px dashed var(--muted);border-radius:3px;color:var(--muted)}.navr{display:flex;align-items:center;gap:14px}.navr button{background:none;border:0;padding:4px 0;cursor:pointer}.navr button:hover{color:var(--fg)}.backbar{display:flex;align-items:center;min-height:44px;padding-top:10px}.backbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:8px 10px 8px 0;cursor:pointer;color:var(--muted);font:700 .98rem/1 var(--font-body);min-height:44px}.backbtn:hover{color:var(--fg)}.backbtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.view{display:flex;flex-direction:column;gap:30px;padding-block:30px 0}.backbar:not([hidden])+main .view{padding-top:10px}.view.enter{animation:rise .3s ease both}@keyframes rise{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lede{color:var(--muted);font-size:1.08rem}.bcard{position:relative;background:var(--field);border:1px solid var(--line);border-radius:16px;padding:26px 16px 16px;display:flex;flex-direction:column;gap:14px;min-width:0;transition:opacity .25s ease}.bcard.dim{opacity:.55}.card{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--field);color:var(--fg);font:700 1rem/1.2 var(--font-body);cursor:pointer;text-align:center;transition:transform .08s ease,filter .15s ease,opacity .2s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{filter:brightness(1.08)}.btn[disabled]{opacity:.4;cursor:default}.btn.ghost{background:none;border-color:transparent;color:var(--muted);font-weight:400;min-height:40px;padding:8px}.btn.ghost:hover{color:var(--fg)}.btn .pmark{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 .85rem/1 var(--font-body);border:1px solid var(--line);color:var(--muted)}.linkish{background:none;border:0;padding:0;cursor:pointer;color:var(--muted);font-size:.9rem;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;align-self:flex-start}.linkish:hover{color:var(--fg)}.seam{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:5px;gap:6px}.seam:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.seam input{flex:1;min-width:0;font:inherit;color:var(--fg);background:transparent;border:0;padding:11px}.seam input:focus{outline:none}.seam input::placeholder{color:var(--muted)}.seam .btn{min-height:44px;flex:none;padding:10px 16px}.hint{color:var(--muted);font-size:.9rem}.hint.warn{color:var(--bad)}.chip{position:relative;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--field);font:700 .96rem/1 var(--font-body);cursor:pointer;transition:transform .08s ease,background-color .15s ease;display:inline-flex;align-items:center;gap:8px}.chip:active{transform:scale(.94)}.chip[aria-pressed=true],.chip[role=tab][aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip[aria-pressed=true]:after,.chip[role=tab][aria-selected=true]:after{content:"";position:absolute;inset:3px;border-radius:inherit;border:1px dashed color-mix(in srgb,var(--accent-fg) 55%,transparent);pointer-events:none}.chip.sm{min-height:36px;padding:8px 12px;font-size:.88rem}.chip.lite{font-weight:400}.chip svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.chip.just{animation:pick .38s cubic-bezier(.3,1.7,.5,1)}@keyframes pick{0%{transform:scale(.88)}to{transform:none}}.chip.size{min-width:48px;padding:10px 12px;justify-content:center;font:700 1.02rem/1 var(--font-mono)}.hangtag{position:relative;filter:drop-shadow(0 0 .6px var(--muted)) drop-shadow(0 1px 1px color-mix(in srgb,var(--fg) 8%,transparent));transform-origin:0 50%}.hangtag-in{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:13px 14px 13px 30px;background:var(--label);clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%)}.hangtag-in:before{content:"";position:absolute;inset:5px 5px 5px 20px;border:1px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:2px;pointer-events:none}.hangtag .t{font:700 1rem/1.3 var(--font-body);overflow-wrap:anywhere}.hangtag .b{font:600 .68rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.hangtag .sz{position:absolute;right:12px;top:11px;font:700 .85rem/1 var(--font-mono);padding:4px 7px;border-radius:4px;background:var(--tape);color:var(--tape-ink)}.hangtag.has-sz .hangtag-in{padding-right:58px}.lbls{display:flex;flex-wrap:wrap;gap:5px}.lbl{font:600 .64rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;padding:4px 6px;border-radius:3px;border:1px solid var(--line);background:var(--field);color:var(--fg)}.lbl.cat{background:var(--tape);border-color:var(--tape);color:var(--tape-ink)}.fx-swing{animation:swing 1.2s cubic-bezier(.25,.9,.35,1) both}@keyframes swing{0%{transform:rotate(-9deg) translateY(-4px);opacity:0}18%{opacity:1}35%{transform:rotate(5deg)}55%{transform:rotate(-2.5deg)}75%{transform:rotate(1deg)}to{transform:none}}.tape{position:relative;display:flex;height:22px;background:var(--tape);border-radius:2px;overflow:hidden;color:var(--tape-ink)}.tape span{flex:1;position:relative;border-left:1px solid var(--tape-ink);background:linear-gradient(var(--tape-ink),var(--tape-ink)) 50% 0 / 1px 8px no-repeat,repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),var(--tape-ink) calc(25% - 1px) 25%) 0 0 / 100% 4px no-repeat;font:500 .58rem/1 var(--font-mono)}.tape span:after{content:attr(data-n);position:absolute;right:3px;bottom:3px;opacity:.85}.tape span:first-child{border-left:0}.tape .fill{position:absolute;inset:0 auto 0 0;width:0%;background:var(--accent);opacity:.72;transition:width .45s cubic-bezier(.3,.7,.3,1)}.tape .fill:after{content:"";position:absolute;right:-1px;top:-2px;bottom:-2px;width:3px;background:var(--bad)}.tape.measuring .fill{animation:measure 2.1s cubic-bezier(.4,.1,.2,1) forwards}@keyframes measure{to{width:100%}}.measure-box{display:flex;flex-direction:column;gap:14px;padding:18px 16px;border:1px dashed var(--muted);border-radius:14px}.counter{display:flex;align-items:baseline;gap:8px}.counter .big{font:600 2.2rem/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:.95rem}.ticks li{display:flex;gap:10px;align-items:baseline;opacity:.35;transition:opacity .3s}.ticks li.on{opacity:1}.ticks li:before{content:"○";font-family:var(--font-mono);color:var(--muted)}.ticks li.on:before{content:"✓";color:var(--good);font-weight:700}.results{display:flex;flex-direction:column;gap:22px;scroll-margin-top:16px}.fx-results{animation:unroll .55s cubic-bezier(.2,.8,.2,1) both;transform-origin:top}@keyframes unroll{0%{opacity:0;transform:translateY(14px) scaleY(.97)}to{opacity:1;transform:none}}.banner{border-radius:12px;padding:14px 16px;background:var(--tape-soft);border:1px solid color-mix(in srgb,var(--tape) 70%,var(--line));display:flex;flex-direction:column;gap:6px}.banner.bad{background:color-mix(in srgb,var(--bad) 9%,var(--bg));border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.banner.personal{background:color-mix(in srgb,var(--good) 9%,var(--bg));border-color:color-mix(in srgb,var(--good) 30%,var(--line))}.banner ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.v{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font:700 .8rem/1.3 var(--font-body);white-space:nowrap}.v:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.l0,.good{color:var(--good)}.lm1,.l2,.mixed{color:var(--snug)}.lm2,.bad{color:var(--bad)}.l1,.ok{color:var(--roomy)}.v.l0,.v.good{background:color-mix(in srgb,var(--good) 13%,transparent)}.v.lm1,.v.l2,.v.mixed{background:color-mix(in srgb,var(--snug) 14%,transparent)}.v.lm2,.v.bad{background:color-mix(in srgb,var(--bad) 13%,transparent)}.v.l1,.v.ok{background:color-mix(in srgb,var(--roomy) 13%,transparent)}.tabs{display:flex;gap:8px}.tab{flex:1 1 0;min-width:0;min-height:62px;border:1px solid var(--line);border-radius:12px;background:var(--field);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:8px 6px;transition:transform .1s}.tab:active{transform:scale(.97)}.tab b{font:700 1.25rem/1 var(--font-mono)}.tab small{font-size:.7rem;color:var(--muted);text-align:center;line-height:1.2}.tab b.range-name{font:700 1rem/1.1 var(--font-body);text-align:center}.trade{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.trade-opt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:inherit;cursor:pointer}.trade-opt b{font:700 1.05rem/1.1 var(--font-body)}.trade-opt[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--field))}.pick-rank{font:600 .66rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.trade-opt[aria-pressed=true] .pick-rank{color:var(--accent)}.tab[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--field))}.sizehead{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}@media(max-width:360px){.sizehead{grid-template-columns:110px 1fr}}.sketch{width:100%;height:auto;display:block}.sketch .body{fill:var(--label);stroke:var(--muted);stroke-width:1.6;stroke-linejoin:round}.sketch .stitch{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.sketch .pin{transform-box:fill-box;transform-origin:center}.sketch .pin circle{fill:currentColor;stroke:var(--field);stroke-width:2.5}.sketch .pin text{fill:var(--field);font:700 11px/1 var(--font-mono);text-anchor:middle;dominant-baseline:central}.fx-pins .pin{animation:pinIn .5s cubic-bezier(.3,1.8,.5,1) both}@keyframes pinIn{0%{transform:translateY(-14px) scale(.2);opacity:0}to{transform:none;opacity:1}}.conf{display:flex;align-items:center;gap:8px;justify-self:end}.ctape{position:relative;width:60px;height:10px;border-radius:2px;background:var(--tape-soft);overflow:hidden;background-image:repeating-linear-gradient(90deg,transparent 0 5px,color-mix(in srgb,var(--tape-ink) 35%,transparent) 5px 6px)}.ctape i{position:absolute;inset:0 auto 0 0;background:var(--tape);border-right:2px solid var(--tape-ink)}.fx-results .ctape i,.fx-pins-z .ctape i{animation:grow .9s cubic-bezier(.2,.8,.2,1) both}@keyframes grow{0%{width:0}}.conf span{font:600 .78rem/1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.conf span small{font-weight:400;color:var(--muted);font-size:.72rem}details summary{cursor:pointer;color:var(--muted);font-size:.92rem;padding-block:4px}details[open] summary{margin-bottom:8px}.foot{color:var(--muted);font-size:.84rem}.sv-prog{display:flex;flex-direction:column;gap:8px;position:sticky;top:env(safe-area-inset-top,0px);z-index:2;background:var(--field);padding-block:8px;margin-top:-8px}.sv-prog .row{justify-content:space-between}.qrows{display:flex;flex-direction:column}.qrow{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px dashed var(--line)}.qrow:first-child{border-top:0}.qrow h4{font:600 1rem/1.3 var(--font-display);display:flex;gap:8px;align-items:center}.qrow h4 .ck{width:18px;height:18px;border-radius:50%;border:1.5px dashed var(--muted);flex:none;display:grid;place-items:center}.qrow.answered h4 .ck{border:0;background:var(--good)}.qrow.answered h4 .ck:after{content:"";width:8px;height:4px;border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:rotate(-45deg) translate(1px,-1px)}.qrow.fx-new{animation:rise .35s ease both}.carelabel{position:relative;padding:20px 18px 18px;background:var(--label);border-radius:4px;display:flex;flex-direction:column;gap:10px}.carelabel:before{content:"";position:absolute;inset:6px;border:1.2px dashed var(--muted);border-radius:3px;pointer-events:none}.carelabel .th{position:absolute;pointer-events:none;border:0 dashed var(--accent)}.carelabel .th.t1{top:6px;left:6px;right:6px;border-top-width:1.6px;transform-origin:left}.carelabel .th.t2{top:6px;right:6px;bottom:6px;border-right-width:1.6px;transform-origin:top}.carelabel .th.t3{bottom:6px;left:6px;right:6px;border-bottom-width:1.6px;transform-origin:right}.carelabel .th.t4{top:6px;left:6px;bottom:6px;border-left-width:1.6px;transform-origin:bottom}.fx-sew .th.t1,.fx-sew .th.t3{animation:sewX .4s linear both}.fx-sew .th.t2,.fx-sew .th.t4{animation:sewY .4s linear both}.fx-sew .th.t2{animation-delay:.4s}.fx-sew .th.t3{animation-delay:.8s}.fx-sew .th.t4{animation-delay:1.2s}@keyframes sewX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sewY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.carelabel{border:1px solid var(--line)}.learn{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.learn li{display:grid;grid-template-columns:5.5rem 1fr;gap:10px;align-items:baseline}.learn li b{font:600 .68rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}pre.json{margin:0;max-height:340px;overflow:auto;padding:14px;border-radius:10px;background:var(--label);border:1px solid var(--line);font:400 .75rem/1.5 var(--font-mono);white-space:pre;color:var(--fg)}.histrow{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 0;border-top:1px dashed var(--line)}.histrow:first-child{border-top:0;padding-top:0}.histrow .t{font-weight:700;min-width:0;overflow-wrap:anywhere}.histrow .s{grid-column:1 / -1;font-size:.88rem;color:var(--muted)}.histrow .br{display:block;margin-bottom:3px;font:600 .68rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.histrow .nm{font:400 1.1rem/1.25 var(--font-display)}.histrow .acts{display:flex;gap:6px}.histrow .quick{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.histrow.off .nm{color:var(--muted)}.histsub{margin:14px 0 4px;font:600 .66rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}div:first-child>.histsub{margin-top:0}.histsub+.histrow{border-top:0;padding-top:4px}.care-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.care-list li{display:flex;gap:10px;align-items:baseline}.care-list li:before{content:"✂";color:var(--accent);font-size:.9rem}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:999px;font:600 .85rem/1 var(--font-mono);letter-spacing:.02em;animation:toast 2.4s ease both;z-index:5;white-space:nowrap}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.tape.measuring .fill{width:100%}}.promise{display:flex;flex-direction:column;gap:12px}.promise p.straight{font:italic 400 1.28rem/1.3 var(--font-accent)}.values{display:flex;flex-wrap:wrap;gap:8px}.value{display:inline-flex;align-items:center;gap:7px;padding:6px 10px 6px 7px;border-radius:999px;background:var(--field);border:1px solid var(--line);font-size:.86rem}.value svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nudge{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg))}.nudge p{min-width:0}.stage{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}@media(min-width:560px){.stage{grid-template-columns:220px 1fr}}.stage .sketch{max-width:230px;margin-inline:auto}.sketch .hit{fill:transparent;cursor:pointer}.sketch .pin{cursor:pointer;outline:none}.sketch .pin .halo{fill:currentColor;opacity:0;stroke:none;transition:opacity .2s}.sketch .pin.idle .halo{animation:glow 2.2s ease-in-out infinite}.sketch .pin.on .halo{opacity:.28}.sketch .pin.on circle.dot{transform:scale(1.18);transform-box:fill-box;transform-origin:center}.sketch .pin:focus-visible .halo{opacity:.35}@keyframes glow{0%,to{opacity:0}50%{opacity:.22}}.sketch .pin circle.dot{fill:currentColor;stroke:var(--field);stroke-width:2.5;transition:transform .2s}.sketch .pin.todo circle.dot{fill:var(--field);stroke:var(--muted);stroke-dasharray:3 2.5;stroke-width:1.6}.sketch .pin.todo text{fill:var(--muted)}.sketch .pin.cur circle.dot{fill:var(--accent);stroke:var(--field);stroke-dasharray:none;stroke-width:2.5}.sketch .pin.cur text{fill:var(--accent-fg)}.sketch .pin.cur .halo{fill:var(--accent);animation:glow 1.4s ease-in-out infinite}.sketch .zonehl{fill:var(--tape);opacity:.55;stroke:none}.zinfo{min-height:250px;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}.zinfo .zhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.zinfo h3{font-size:1.15rem}.zinfo>p{font-size:.98rem;line-height:1.45}.zinfo .zhead .conf{flex-basis:100%}.zinfo .zhead .ctape{width:40px}.zinfo.swap{animation:fadein .22s ease both}@keyframes fadein{0%{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}.zdots{display:flex;flex-wrap:wrap;gap:6px}.zdot{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--field);font-size:.82rem;cursor:pointer}.zdot i{width:8px;height:8px;border-radius:50%;background:currentColor}.zdot span{color:var(--fg)}.zdot[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.qcard{display:flex;flex-direction:column;gap:12px}.qcard h2{font-size:1.3rem}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:112px;padding:12px 8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--field);cursor:pointer;text-align:center;font:700 .88rem/1.2 var(--font-body);transition:transform .1s ease,border-color .15s ease,background-color .15s}.tile:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.tile:active{transform:scale(.96)}.tile .pic{width:64px;height:46px;display:block}.tile .pic svg{width:100%;height:100%;overflow:visible}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--field))}.tile[aria-pressed=true]:after{content:"✓";position:absolute;top:6px;right:8px;font:700 .8rem/1 var(--font-mono);color:var(--accent)}.tile.just{animation:pick .38s cubic-bezier(.3,1.7,.5,1)}.tiles.wide{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.pg{fill:none;stroke:var(--fg);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pg-body{fill:color-mix(in srgb,var(--muted) 22%,transparent);stroke:none}.pg-fab{fill:none;stroke-width:2;stroke:currentColor}.pg-fab.dash{stroke-dasharray:3 2.5}.pg-fill{fill:currentColor;stroke:none;opacity:.18}.pg-ref{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 2;fill:none}.pg-floor{stroke:var(--muted);stroke-width:1.4}.pg-ic{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tile .pic.ic svg{width:34px;height:34px;margin:6px auto 0;display:block;color:var(--accent)}.answered-strip{display:flex;flex-wrap:wrap;gap:6px}.answered-strip button{font-size:.82rem}.edit-pen{opacity:.6;font-size:.8em}.sketch .zarea{fill:var(--tape);opacity:0;transition:opacity .25s;pointer-events:none}.sketch .zarea.show{opacity:.55}#app .view .stage .sketch .pin.cur~.zarea{opacity:.55}.sketch .pin circle.hit{fill:transparent;stroke:none}.sketch .pin circle.halo{stroke:none}.tile .pic.ic svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.zinfo.done{min-height:0}.ttag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font:600 .84rem/1.3 var(--font-body)}.ttag svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.ttag.easy{color:var(--good)}.ttag.ok{color:var(--roomy)}.ttag.hard{color:var(--snug)}.ttag.no{color:var(--bad)}.ttag.neutral{color:var(--muted)}.tip{position:relative;outline-offset:3px}.tip:after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 8px);z-index:5;width:max-content;max-width:min(250px,70vw);padding:7px 10px;border-radius:8px;background:var(--fg);color:var(--bg);font:600 .78rem/1.35 var(--font-body);letter-spacing:0;text-transform:none;white-space:normal;box-shadow:0 6px 18px color-mix(in srgb,var(--fg) 22%,transparent);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .15s,transform .15s}.tip:hover:after,.tip:focus:after{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.tip:after{transition:none}}textarea.notes{width:100%;min-height:84px;resize:vertical;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px}textarea.notes:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}a.btn{text-decoration:none}.navr a.navlink{text-decoration:none;padding:4px 0;color:var(--muted)}.navr a.navlink:hover,.navr a.navlink[aria-current=page]{color:var(--fg)}.navr button.eyebrow{color:var(--muted)}.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}.tape.waiting .fill{animation:measure 1.8s cubic-bezier(.4,.1,.2,1) infinite}.measure-box.reading{gap:10px;padding:14px}.zinfo .personal-note{font:700 .95rem/1.4 var(--font-body);color:var(--good)}.design-note{color:var(--roomy)}.style-insights{display:flex;flex-direction:column;gap:3px;margin-top:4px;padding:8px 10px;border-radius:8px;border:1px dashed var(--line);background:var(--field)}.style-insights .eyebrow{font-size:.6rem;color:var(--accent)}.style-insights p{font-size:.8rem;line-height:1.4;color:var(--muted)}.zinfo .ask{align-self:flex-start;padding:0;border:0;background:none;color:var(--accent);font:600 .84rem/1.4 var(--font-body);text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.tabs.all{flex-wrap:wrap}.tabs.all .tab{flex:1 0 66px;min-height:56px}.tile small{font-weight:400;font-size:.76rem;color:var(--muted);line-height:1.25}.hfields{display:flex;gap:8px}.hfields .seam{flex:1;align-items:center}.hfields .unit{padding-right:10px;color:var(--muted);font:600 .8rem/1 var(--font-mono)}.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--bg)}.devform{padding-top:6px}.devform .seam .btn{min-height:44px}.qcard+.zinfo,.stage .qcard{min-width:0}.zinfo .after-note{font-size:.84rem}.stepsbar{display:flex;flex-direction:column;gap:10px;margin-bottom:-6px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.steps li{display:flex;min-width:0}.steps button{flex:1;display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:44px;border-radius:10px;border:1px solid var(--line);background:none;cursor:pointer;text-align:left;font:600 .72rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);min-width:0;transition:border-color .2s,background-color .2s,color .2s}.steps button:hover{border-color:var(--muted)}.steps button b{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);font:700 .7rem/1 var(--font-mono)}.steps button.on{color:var(--fg);border-color:var(--accent);background:var(--field)}.steps button.on b{background:var(--tape);border-color:var(--tape);color:var(--tape-ink)}.steps button.done{color:var(--fg)}.steps button.done b{background:var(--good);border-color:var(--good);color:var(--bg);font-size:0}.steps button.done b:before{content:"✓";font-size:.72rem}.stepsbar .tape{height:18px;font:600 .55rem/1 var(--font-mono)}.stepsbar .tape span:after{bottom:2px}.fav-step{gap:20px}.fav-step h1{font-size:clamp(1.6rem,6.6vw,2.2rem)}.stack.tight{gap:8px}.center{text-align:center;align-self:center}.saved{display:flex;flex-direction:column;gap:10px}.savedh{display:flex;justify-content:space-between;align-items:center}.savedh .eyebrow.ok{color:var(--good)}.savedh .eyebrow.ok:before{content:"✓ "}.nofav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.95rem}.nofav .linkish{align-self:center;color:var(--accent);font-weight:700}.rows{background:var(--field);border:1px solid var(--line);border-radius:14px}.frow+.frow{border-top:1px solid var(--line)}.frow.open{position:relative;z-index:3}.fhead{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;min-height:52px;background:none;border:0;cursor:pointer;text-align:left}.fhead .ck{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font:700 .7rem/1 var(--font-mono);color:var(--bg)}.frow.done .ck{background:var(--good);border-color:var(--good)}.frow.done .ck:before{content:"✓"}.frow.open .ck{border-color:var(--accent)}.frow.open.done .ck{border-color:var(--good)}.fhead .fl{font:700 .98rem/1.2 var(--font-body);flex:none}.fhead .fv{margin-left:auto;color:var(--muted);font-size:.92rem;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frow.done .fv{color:var(--fg)}.frow.opt:not(.done):not(.open) .fv:before{content:"Optional";font:600 .66rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.frow.open .fv{visibility:hidden}.fbody{display:flex;flex-direction:column;gap:12px;padding:0 14px 16px;animation:unroll .28s ease backwards}.combo{position:relative}.combo .seam:after{content:"▾";align-self:center;padding-right:10px;color:var(--muted)}.opts{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;margin:0;padding:0;list-style:none;max-height:220px;overflow-y:auto;background:var(--field);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px color-mix(in srgb,var(--fg) 14%,transparent)}.opts li button{width:100%;text-align:left;padding:11px 12px;min-height:44px;background:none;border:0;cursor:pointer;font:400 .98rem/1.2 var(--font-body)}.opts li+li button{border-top:1px solid var(--line)}.opts li button:hover,.opts li button:focus-visible{background:var(--bg)}.opts li.manual button{font-weight:700;color:var(--accent)}.fitline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:12px}.sw{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:700 .86rem/1 var(--font-body);min-height:32px;white-space:nowrap;position:relative}.sw input{position:absolute;opacity:0;width:1px;height:1px}.sw i{position:relative;width:30px;height:18px;border-radius:999px;background:var(--line);transition:background .15s;flex:none}.sw i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--field);transition:transform .15s;box-shadow:0 1px 2px color-mix(in srgb,var(--fg) 25%,transparent)}.sw input:checked+i{background:var(--accent)}.sw input:checked+i:after{transform:translate(12px)}.sw input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.segs{display:inline-flex;margin-left:auto;border:1px solid var(--line);border-radius:10px;padding:2px;gap:2px;background:var(--bg);transition:opacity .15s}.segs.off{opacity:.4}.segs button{border:0;background:none;border-radius:7px;padding:6px 7px;min-height:30px;cursor:pointer;font:700 .8rem/1 var(--font-body);color:var(--muted)}.segs button[aria-pressed=true]{background:var(--field);color:var(--fg);box-shadow:0 0 0 1px var(--line)}.segs button:disabled{cursor:not-allowed}.otiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.otiles.wide{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.otiles .linkish{grid-column:1 / -1;justify-self:start;margin-left:2px}.otile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 9px;border:1px solid var(--line);border-radius:12px;background:var(--field);cursor:pointer;text-align:center;font:700 .8rem/1.15 var(--font-body);transition:transform .08s,border-color .15s,background-color .15s}.otile:active{transform:scale(.96)}.otile small{font:400 .72rem/1.2 var(--font-body);color:var(--muted)}.otile[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--field));box-shadow:inset 0 0 0 1px var(--accent)}.garment{width:100%;max-width:62px;height:72px;overflow:hidden}.t-shape .garment{max-width:88px;height:92px}.t-rise .garment{max-width:72px;height:56px}.garment .body{fill:var(--label);stroke:var(--muted);stroke-width:2;stroke-linejoin:round}.otile[aria-pressed=true] .garment .body{stroke:var(--accent);fill:color-mix(in srgb,var(--accent) 14%,var(--label))}.garment .stitch{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:4 3;opacity:.75}.garment .ref{fill:none;stroke:var(--muted);stroke-width:1.6;stroke-dasharray:3 4;opacity:.35}.garment .ghost{fill:none;stroke:var(--bad);stroke-width:2;stroke-dasharray:5 4}.garment .arrow{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.garment .tapeline{stroke:var(--tape);stroke-width:7}.garment .tapetick{stroke:var(--tape-ink);stroke-width:2}.chatbox{width:100%;resize:vertical;min-height:64px;font:inherit;font-size:.98rem;line-height:1.4;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 12px}.chatbox:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.chatbox::placeholder{color:var(--muted)}.wish-read{display:flex;flex-direction:column;gap:6px}.wish-l{border-top:1px dashed var(--line);padding-top:12px;margin-top:2px}@media(prefers-reduced-motion:reduce){.fbody{animation:none}}
