@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 400;font-display:optional;src:url(./cormorant-garamond-300-400-normal-vTYAbwjx.woff2)format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:400 500;font-display:optional;src:url(./lora-400-500-normal-BplyFJq7.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:300 400;font-display:optional;src:url(./jost-300-400-normal-BzT6BTit.woff2)format("woff2")}:root{--ground:#f7f3ee;--paper:#ede8df;--charcoal:#1e1c1a;--blackwood:#2c2520;--ash:#c8c1b8;--cedar:#7a4b2a;--alarm:#a32b18;--display:"Cormorant Garamond", Georgia, serif;--body:"Lora", Georgia, serif;--ui:"Jost", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--ground);color:var(--charcoal);font-family:var(--body);margin:0;font-size:15px;line-height:1.6}h1,h2,h3{font-family:var(--display);margin:0;font-weight:300}h1{letter-spacing:.01em;font-size:2.25rem}h2{font-size:1.35rem}.wordmark{font-family:var(--display);font-size:1.1rem;font-weight:300}.eyebrow,label,button,select,.tab{font-family:var(--ui);font-weight:300}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--charcoal) 65%, transparent);font-size:.7rem}header{border-bottom:1px solid var(--ash);padding:1.75rem 1.5rem 1.5rem}.brand{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.brand-mark{flex-direction:column;flex:none;align-items:center;gap:.3rem;display:flex}.brand-mark .eyebrow{white-space:nowrap;margin:0}.app-mark{border-radius:18px;flex:none;width:96px;height:96px;display:block}@media (max-width:640px){.app-mark{border-radius:12px;width:64px;height:64px}.brand{gap:.75rem}}header .inner,main{max-width:none;margin:0}main{--gutter:1.5rem;padding:2rem var(--gutter) 4rem;flex-direction:column;gap:2.5rem;display:flex}header p{max-width:70ch;color:color-mix(in srgb, var(--charcoal) 78%, transparent);margin:.4rem 0 0}main p,header p,footer p{max-width:70ch}.row>p,.row>.status,.print-set-item p{max-width:none}section{flex-direction:column;align-items:flex-start;gap:.9rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.row+.row{margin-top:.5rem}label{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--charcoal) 70%, transparent);font-size:.72rem}button{letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);border:1px solid var(--charcoal);cursor:pointer;background:0 0;border-radius:0;padding:.6rem 1.1rem;font-size:.72rem;transition:background-color .2s,color .2s}button:hover:not(:disabled){background:var(--charcoal);color:var(--ground)}button:disabled{opacity:.35;cursor:not-allowed;border-color:var(--ash)}button.primary{background:var(--charcoal);color:var(--ground)}button.primary:hover:not(:disabled){background:var(--blackwood)}button.quiet{border-color:var(--ash)}select,input[type=text],input[type=number]{font-family:var(--ui);background:var(--ground);color:var(--charcoal);border:1px solid var(--ash);border-radius:0;padding:.5rem .6rem;font-size:.85rem}input[type=range]{accent-color:var(--cedar);width:220px}input[type=file]{font-family:var(--ui);font-size:.8rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.site-nav{background:var(--blackwood);color:var(--ground)}.site-nav-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;max-width:72rem;margin:0 auto;padding:.9rem 1.5rem;display:flex}.site-nav-brand,.site-nav-links a{font-family:var(--ui);text-transform:uppercase;font-size:.72rem;font-weight:300;text-decoration:none;transition:color .2s}.site-nav-brand{color:var(--ground);letter-spacing:.18em}.site-nav-brand:hover{color:var(--ash)}.site-nav-links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.site-nav-links a{color:var(--ash);letter-spacing:.12em}.site-nav-links a:hover,.site-nav-links a[aria-current]{color:var(--ground)}@media (max-width:480px){.site-nav-inner{gap:.6rem;padding:.7rem 1.1rem}.site-nav-links{gap:1.1rem}.site-nav-brand,.site-nav-links a{font-size:.66rem}}.tool-swap{border:1px solid var(--rule,#c9bfae);border-radius:6px;display:inline-flex;overflow:hidden}.tool-swap button{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:.35rem .9rem}.tool-swap button+button{border-left:1px solid var(--rule,#c9bfae)}.tool-swap button.chosen{color:#fff;background:#2f6d86}.stage.erasing{cursor:none}.stage.lifting{cursor:pointer}.stage.cutting{cursor:none}.lift-confirm{z-index:3;background:color-mix(in srgb, var(--charcoal) 92%, transparent);color:var(--ground);font-family:var(--ui);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;max-width:100vw;padding:.6rem .75rem;font-size:.8rem;display:flex;position:absolute;bottom:0;left:0;right:0}.lift-confirm[hidden]{display:none}#lift-summary{font-family:var(--body,inherit);flex:12rem;font-size:.85rem;line-height:1.35}.lift-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:.5rem;min-width:0;display:flex}.lift-confirm button{border:1px solid var(--ground);min-height:44px;color:var(--ground);font-family:var(--ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;margin:0;padding:.5rem .9rem;font-size:.72rem}.lift-confirm button.primary{background:var(--ground);color:var(--charcoal);font-weight:600}.lift-confirm .warning{color:#ffb3a6;font-weight:600}#brush-canvas{z-index:2}.stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto;max-width:min(100%,640px);height:auto;max-height:62vh;display:block}.stage canvas.overlay{pointer-events:none;position:absolute;top:0;left:0}.stage{outline:1px solid var(--ash);background:var(--paper);cursor:crosshair;touch-action:pinch-zoom;pointer-events:auto;align-self:flex-start;width:-moz-fit-content;width:fit-content;max-width:100%;margin-bottom:.85rem;font-size:0;display:inline-block;position:relative}.previews{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;width:100%;display:grid}figure{margin:0}figcaption{font-family:var(--ui);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--charcoal) 60%, transparent);margin-bottom:.45rem;font-size:.68rem}.previews canvas{border:1px solid var(--ash);background:var(--paper);width:auto;max-width:100%;height:auto;max-height:60vh;display:block}.print-set{width:100%}.print-set:has(.print-set-item){border-top:1px solid var(--ash)}.print-set-item{border-bottom:1px solid var(--ash);align-items:center;gap:1rem;padding:.85rem 0;display:flex}.print-set-item img{object-fit:contain;background:var(--paper);border:1px solid var(--ash);width:84px;height:56px}.print-set-item .meta{flex:1}.print-set-item .name{font-family:var(--display);font-size:1.05rem}.print-set-item .detail{font-family:var(--ui);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--charcoal) 60%, transparent);font-size:.72rem}.empty{color:color-mix(in srgb, var(--charcoal) 55%, transparent);padding:1rem 0;font-style:italic}.status{font-family:var(--ui);color:color-mix(in srgb, var(--charcoal) 70%, transparent);margin:0;font-size:.8rem}.note{font-family:var(--ui);color:color-mix(in srgb, var(--charcoal) 65%, transparent);margin:.4rem 0 0;font-size:.78rem}.hint{border-left:2px solid var(--ash);background:var(--paper);max-width:70ch;color:color-mix(in srgb, var(--charcoal) 85%, transparent);padding:.8rem 1rem}.hint p{margin:0}.hint-label{font-family:var(--ui);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--charcoal) 60%, transparent);margin-bottom:.3rem;font-size:.7rem}.error{border-left:2px solid var(--alarm);background:color-mix(in srgb, var(--alarm) 7%, var(--ground));color:var(--alarm);max-width:70ch;margin:0;padding:.75rem 1rem;font-size:.9rem}.status.failed{color:var(--alarm);font-weight:500}.notice{font-family:var(--ui);color:var(--cedar);font-size:.75rem}footer{border-top:1px solid var(--ash);margin-top:2rem;padding:2.5rem 1.5rem}footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;max-width:none;margin:0;display:flex}footer .place{font-family:var(--ui);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--charcoal) 65%, transparent);margin-top:.25rem;font-size:.68rem}.copyright-mark{font-family:var(--ui);letter-spacing:.12em;color:color-mix(in srgb, var(--charcoal) 45%, transparent);margin:.35rem 0 0;font-size:.68rem}.tm{vertical-align:.5em;letter-spacing:0;font-size:.55em}footer a{color:inherit;border-bottom:1px solid var(--ash);text-decoration:none}footer a:hover{border-bottom-color:var(--charcoal)}[hidden]{display:none!important}@media (max-width:640px){h1{font-size:1.7rem}main{--gutter:1rem;padding:1.5rem var(--gutter) 3rem;gap:2rem}input[type=range]{width:100%}}.tip-jar{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.tip-jar .place{text-transform:none;letter-spacing:.04em;margin:0;font-size:.78rem}#tip-jar{font-family:var(--ui);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--cedar);color:var(--cedar);cursor:pointer;padding:.6rem 1.1rem;font-size:.72rem;font-weight:300;text-decoration:none;transition:background-color .2s,color .2s;display:inline-block}#tip-jar:hover{background:var(--cedar);color:var(--ground)}label.checkbox{text-transform:none;letter-spacing:.04em;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}label.checkbox input{accent-color:var(--cedar)}#outline-canvas{touch-action:none}#outline-canvas.symmetry{cursor:crosshair;outline:2px solid var(--cedar);outline-offset:2px}h3{font-family:var(--display);margin:0;font-size:1.05rem;font-weight:300}button.armed{background:var(--cedar);color:var(--ground);border-color:var(--cedar)}button.armed:hover:not(:disabled){background:var(--cedar);color:var(--ground)}#symmetry-row{flex-direction:column;gap:.9rem;width:100%;display:flex}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;max-width:520px;display:grid}.choice{margin:0}.choice-button{background:var(--paper);border:1px solid var(--ash);cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.6rem;display:flex}.choice-button:hover:not(:disabled){background:var(--paper);border-color:var(--cedar);color:var(--charcoal)}.choice-button canvas{background:var(--ground);width:100%;height:auto;max-height:40vh;display:block}.choice-label{font-family:var(--ui);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.choice-button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:520px){.choice-label{letter-spacing:.08em;font-size:.62rem}.choice-button{padding:.4rem}}.stage.working{cursor:progress;position:relative}.stage.working:before{content:"";background:color-mix(in srgb, var(--ground) 62%, transparent);pointer-events:none;z-index:2;position:absolute;inset:0}.stage.working:after{content:attr(data-working);background:var(--charcoal);max-width:80%;color:var(--ground);font-family:var(--ui);letter-spacing:.14em;text-transform:uppercase;text-align:center;pointer-events:none;z-index:3;padding:.7rem 1.1rem;font-size:.72rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:no-preference){.stage.working:before{animation:1.6s ease-in-out infinite working-pulse}}@keyframes working-pulse{0%,to{background:color-mix(in srgb, var(--ground) 62%, transparent)}50%{background:color-mix(in srgb, var(--ground) 44%, transparent)}}.step{border:1px solid var(--ash);width:1.6rem;height:1.6rem;font-family:var(--ui);color:color-mix(in srgb, var(--charcoal) 70%, transparent);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-right:.5rem;font-size:.72rem;font-weight:300;display:inline-flex}#layout-heading{margin-top:1.25rem}#tip-link{color:var(--cedar);border-bottom:1px solid color-mix(in srgb, var(--cedar) 45%, transparent);text-decoration:none}#tip-link:hover{border-bottom-color:var(--cedar)}#tip-jar.nudge{background:var(--cedar);color:var(--ground)}@media (prefers-reduced-motion:no-preference){#tip-jar{transition:background-color .4s,color .4s}}.choices.arrived .choice-button{border-color:var(--cedar)}@media (prefers-reduced-motion:no-preference){.choice-button{transition:border-color .5s}}.hint-button{border:none;border-bottom:1px dotted var(--ash);color:color-mix(in srgb, var(--charcoal) 60%, transparent);text-transform:none;letter-spacing:.04em;background:0 0;padding:.2rem 0;font-size:.75rem}.hint-button:hover:not(:disabled){color:var(--charcoal);border-bottom-color:var(--charcoal);background:0 0}#symmetry-intro{max-width:70ch;margin:0 0 .5rem}#symmetry-row{scroll-margin-top:1rem}.explainer{background:var(--paper);border-left:2px solid var(--ash);max-width:62ch;margin:0;padding:.75rem 1rem;font-size:.9rem}.privacy{background:var(--paper);border-left:2px solid var(--cedar);max-width:70ch;padding:.75rem 1rem;font-size:.9rem}.privacy-heading{border-top:1px solid var(--ash);margin:1.75rem -1.5rem .75rem;padding:1.5rem 1.5rem 0}.privacy p{margin:0 0 .6rem}.privacy p:last-child{margin-bottom:0}#reset-section{margin:0 calc(-1 * var(--gutter));padding:1.5rem var(--gutter) 0;border-top:1px solid var(--ash);gap:.5rem}#print-controls{flex-direction:column;align-items:flex-start;gap:.9rem;width:100%;display:flex}.status.instruction{font-family:var(--body);color:var(--charcoal);margin:.75rem 0;font-size:1rem}.status.instruction:empty{display:none}.file-picker{background:var(--charcoal);color:var(--ground);border:1px solid var(--charcoal);cursor:pointer;align-items:center;padding:.7rem 1.3rem;transition:background-color .2s;display:inline-flex}.file-picker:hover{background:var(--blackwood)}.file-picker:focus-within{outline:2px solid var(--cedar);outline-offset:2px}.file-picker-label{font-family:var(--ui);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:300}.file-picker input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.intake-hint{display:none}@media (hover:hover) and (pointer:fine){.intake-hint{display:block}}.paste-target-row{display:none}@media not all and (hover:hover) and (pointer:fine){.paste-target-row{display:block}}.paste-target-row p{margin-bottom:.4rem}.paste-target{border:1px dashed color-mix(in srgb, var(--charcoal) 35%, transparent);background:color-mix(in srgb, var(--charcoal) 3%, transparent);color:color-mix(in srgb, var(--charcoal) 60%, transparent);font-family:var(--ui);letter-spacing:.06em;cursor:text;padding:.9rem 1.1rem;font-size:.78rem}.paste-target:focus{outline:2px solid var(--cedar);outline-offset:2px;color:var(--charcoal)}#acquire-section{border:1px dashed #0000;margin:-.6rem;padding:.6rem;transition:border-color .15s,background-color .15s}#acquire-section.drag-over{border-color:var(--cedar);background:color-mix(in srgb, var(--cedar) 5%, transparent)}.photo-tips{max-width:70ch;margin:.75rem 0 0;font-size:.9rem}.photo-tips>summary{font-family:var(--ui);letter-spacing:.02em;color:color-mix(in srgb, var(--charcoal) 70%, transparent);cursor:pointer;width:-moz-fit-content;width:fit-content;padding:.25rem 0;font-size:.85rem}.photo-tips>summary:hover{color:var(--charcoal)}.photo-tips-body{background:var(--paper);border-left:2px solid var(--cedar);margin-top:.5rem;padding:.75rem 1rem}.photo-tips-list{margin:0;padding:0;list-style:none}.photo-tips-list>li+li{margin-top:.7rem}.tip-headline{margin:0}.photo-tips-preamble{margin:0 0 .75rem}.photo-tips-coda{margin:.9rem 0 0}.photo-tips-list>li.tip-rescue{border-top:1px solid color-mix(in srgb, var(--charcoal) 15%, transparent);margin-top:.9rem;padding-top:.8rem}.photo-tips-body .explainer{border-left:1px solid color-mix(in srgb, var(--cedar) 45%, transparent);margin:.4rem 0 0 .9rem;padding-left:.7rem}
