:root{--paper: #f8f5f0;--paper-dark: #f1ede4;--wood: #5c4636;--steel: #3f4a52;--thread: #8b6f47;--ink: #2c2520;--ink-muted: #5a5146;--accent: #8b5e3c;--accent-light: #d4b89e;--gap-red: #9f4a3a;--gap-amber: #b8863e;--gap-green: #4a6b4f;--shadow: 0 1px 2px rgba(44,37,32,.06), 0 4px 12px rgba(44,37,32,.08)}body{font-family:Georgia,ui-serif,Iowan Old Style,serif;background:#f4f1ea;color:var(--ink);-webkit-font-smoothing:antialiased}.font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.atelier-paper{background:var(--paper);box-shadow:var(--shadow);border:1px solid #e6e0d4}.atelier-plank{background:linear-gradient(180deg,#f1ede4,#f8f5f0);border:1px solid #d4b89e;box-shadow:inset 0 1px #fff9,0 2px 8px #2c25201a}.repair-slip{background:#fff;border:1px solid #d4b89e;transition:transform .12s ease,box-shadow .12s ease}.repair-slip:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2c252014}.vise{background:#f1ede4;border-left:3px solid var(--thread)}.gap-thread{stroke:var(--thread);stroke-width:1.5;stroke-linecap:round}.trace-weaver{background:#f1ede4;border:1px solid #d4b89e}button,.btn{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.2px}input,textarea,select{font-family:inherit}textarea{resize:vertical}.section-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.phrase{font-size:15.5px;line-height:1.65}.subtle{color:var(--ink-muted)}.link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.link:hover{color:var(--wood)}.loom-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}.outcome-revealed{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;letter-spacing:.5px}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[620px\]{max-width:620px}.max-w-\[1080px\]{max-width:1080px}.max-w-prose{max-width:65ch}.w-9{width:2.25rem}.h-9{height:2.25rem}.w-8{width:2rem}.h-8{height:2rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-4{width:1rem}.h-4{height:1rem}.w-4\.5{width:1.125rem}.h-4\.5{height:1.125rem}.w-3\.5{width:.875rem}.h-3\.5{height:.875rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-48{width:12rem}.w-12{width:3rem}.w-px{width:1px}.h-5{height:1.25rem}.h-16{height:4rem}.h-28{height:7rem}.flex{display:flex}.flex-col{flex-direction:column}.sm\:flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-9{grid-column:span 9 / span 9}.sticky{position:sticky}.top-0{top:0}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.z-\[60\]{z-index:60}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.border{border-width:1px;border-style:solid}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-\[\#d4b89e\]{border-color:#d4b89e}.border-\[\#e6e0d4\]{border-color:#e6e0d4}.border-\[\#8b5e3c\]{border-color:#8b5e3c}.border-\[\#9f4a3a\]{border-color:#9f4a3a}.bg-\[\#f4f1ea\]{background-color:#f4f1ea}.bg-\[\#f8f5f0\]{background-color:#f8f5f0}.bg-\[\#f8f5f0\]\/90{background-color:#f8f5f0e6}.bg-\[\#2c2520\]{background-color:#2c2520}.bg-\[\#5c4636\]{background-color:#5c4636}.bg-\[\#8b5e3c\]{background-color:#8b5e3c}.bg-\[\#4a6b4f\]{background-color:#4a6b4f}.bg-white{background-color:#fff}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-black\/20{background-color:#0003}.bg-\[\#d4b89e\]{background-color:#d4b89e}.hover\:bg-white\/60:hover{background-color:#fff9}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-red-50\/40:hover{background-color:#fee2e266}.active\:scale-\[0\.985\]:active{transform:scale(.985)}.text-\[\#2c2520\]{color:#2c2520}.text-\[\#3f2f22\]{color:#3f2f22}.text-\[\#5c4636\]{color:#5c4636}.text-\[\#5a5146\]{color:#5a5146}.text-\[\#8b6f47\]{color:#8b6f47}.text-\[\#8b6f47\]\/70{color:#8b6f47b3}.text-\[\#9f4a3a\]{color:#9f4a3a}.text-white{color:#fff}.text-\[\#f8f5f0\]{color:#f8f5f0}.text-xs{font-size:.75rem;line-height:1rem}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[15\.2px\]{font-size:15.2px}.text-\[16\.2px\]{font-size:16.2px}.text-\[21px\]{font-size:21px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-medium{font-weight:500}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tabular-nums{font-variant-numeric:tabular-nums}.leading-none{line-height:1}.leading-\[1\.58\]{line-height:1.58}.leading-\[1\.72\]{line-height:1.72}.leading-relaxed{line-height:1.625}.tracking-\[3px\]{letter-spacing:3px}.tracking-\[2\.5px\]{letter-spacing:2.5px}.tracking-\[1px\]{letter-spacing:1px}.tracking-\[1\.5px\]{letter-spacing:1.5px}.tracking-tighter{letter-spacing:-.05em}.tracking-\[-1\.1px\]{letter-spacing:-1.1px}.tracking-widest{letter-spacing:.1em}.uppercase{text-transform:uppercase}.text-center{text-align:center}.text-right{text-align:right}.italic{font-style:italic}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-10{padding:2.5rem}.md\:p-7{padding:1.75rem}.md\:p-14{padding:3.5rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-16{padding-top:4rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pl-1{padding-left:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-10{margin-top:2.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.block{display:block}.select-none{-webkit-user-select:none;user-select:none}.break-all{word-break:break-all}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.shadow-sm{box-shadow:0 1px 2px #0000000d}.backdrop-blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:border-\[\#8b5e3c\]:focus{border-color:#8b5e3c}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.ring-1{box-shadow:0 0 0 1px currentColor}.ring-\[\#8b5e3c\]{--tw-ring-color: #8b5e3c;box-shadow:0 0 0 1px #8b5e3c}.accent-\[\#8b5e3c\]{accent-color:#8b5e3c}@media(min-width:640px){.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:p-7{padding:1.75rem}.md\:p-14{padding:3.5rem}}@media(min-width:1024px){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-9{grid-column:span 9 / span 9}}
