.export-dialog{width:min(46rem,100vw - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto}.export-panel{flex-direction:column;gap:1rem;min-width:0;display:flex}.export-section{background:#fffdf9;border:1px solid #dad3c8;border-radius:.75rem;padding:1rem}.export-section h3{margin:0 0 .7rem;font-size:1rem}.export-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.2rem .8rem;display:grid}.export-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));align-items:end;gap:1.2rem .8rem;display:grid}.export-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.export-field label,.export-label{color:#687568;text-transform:uppercase;font-size:.72rem;font-weight:700}.export-field input,.export-field select{width:100%;min-height:2.4rem;font:inherit;background:#f8faf6;border:1px solid #c5d0c2;border-radius:.35rem;padding:.4rem .55rem;font-size:.9rem}.export-field input[aria-invalid=true]{border-color:#a8321f}.export-field input:focus-visible,.export-field select:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}.export-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.export-segmented{gap:.3rem;margin-top:.2rem;display:inline-flex}.export-segmented button{color:#3a342f;min-height:2.1rem;font:inherit;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;border-radius:.5rem;padding:0 .8rem;font-size:.88rem}.export-segmented button[aria-pressed=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d;font-weight:700}.export-segmented button:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}.export-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.export-row{border-top:1px solid #e4ddd3;align-items:center;gap:.65rem;padding:.6rem 0;display:flex}.export-swatch{border:1px solid #b9b2a8;border-radius:3px;flex:none;width:1.2rem;height:1.2rem}.export-row-main{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;font-size:.85rem;display:flex}.export-row-main span{color:#8a837a;font-size:.75rem}.export-code{color:#7a7168;margin-left:.35rem;font-size:.75rem;font-weight:400}.export-row-estimate{color:#88452f;text-align:right;max-width:10rem;font-size:.75rem;font-weight:700}.export-row-length{color:#8a837a;font-weight:400;display:block}.export-total{border-top:2px solid #e4ddd3;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.6rem;font-size:.9rem;display:flex}.export-note{color:#5f574f;margin:.5rem 0 0;font-size:.8rem}.export-pages{margin:.8rem 0 0;font-size:.9rem;font-weight:600}.export-error{color:#a8321f;margin:.3rem 0 0;font-size:.8rem}.export-progress{align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.export-progress progress{flex:1;min-width:0}@media (width<=40rem){.export-form{grid-template-columns:minmax(0,1fr)}.export-section{padding:.8rem}.export-row{flex-wrap:wrap;align-items:flex-start}.export-row-estimate{text-align:left;max-width:none;margin-left:1.85rem}}.export-toggle{color:#5f574f;min-height:2.4rem;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.55rem;padding:0;font-size:.9rem;font-weight:700;display:inline-flex}.export-toggle-track{background:#c9c2b7;border-radius:999px;flex:none;width:2.7rem;height:1.5rem;transition:background .15s;position:relative}.export-toggle-thumb{background:#fffdf9;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .15s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 2px #0000004d}.export-toggle[aria-checked=true] .export-toggle-track{background:#bc5a3d}.export-toggle[aria-checked=true] .export-toggle-thumb{transform:translate(1.2rem)}.export-toggle[aria-checked=true] .export-toggle-text{color:#88452f}.export-toggle:disabled{opacity:.6;cursor:default}.export-toggle:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}@media (prefers-reduced-motion:reduce){.export-toggle-track,.export-toggle-thumb{transition:none}}.export-form+.export-field,.export-form~.export-field+.export-field{margin-top:1.2rem}.viewer-main{flex-direction:column;gap:.4rem;min-width:0;display:flex}.viewer-canvas{touch-action:none;min-height:28rem}.viewer-hover{color:#5f574f;min-height:1.4rem;margin:0;font-size:.85rem}.viewer-hover-swatch{vertical-align:-.1rem;border:1px solid #b9b2a8;border-radius:2px;width:.8rem;height:.8rem;margin-right:.4rem;display:inline-block}@media (width>=800px){.app-shell-editor .viewer-main{flex:auto;min-height:0}.app-shell-editor .viewer-canvas{min-height:0}}@media (width<=62rem){.viewer-canvas{min-height:22rem}}@media (width<=700px){.viewer-canvas{min-height:clamp(18rem,52svh,32rem)}}.canvas-actions .track-tools [role=group]{align-items:center;gap:.25rem;display:flex}.track-colors{flex-direction:column;gap:.75rem;min-width:0;min-height:0;display:flex;overflow-y:auto}.progress-strip{background:#fbf7f1;border:1px solid #e4ddd3;border-radius:.75rem;gap:.45rem;padding:.75rem .85rem;display:grid}.progress-strip p{margin:0}.progress-strip-label{color:#272321;align-items:center;gap:.5rem;font-weight:600;display:flex}.progress-strip-name{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;flex:auto;min-width:0;font-size:.8rem;line-height:1.15}.progress-strip-percent{color:#88452f;font-size:1.35rem}.progress-strip-swatch{border:1px solid #b9b2a8;border-radius:.25rem;flex:none;width:1.1rem;height:1.1rem}.progress-strip-bar{background:#e9e1d6;border-radius:999px;height:.6rem;overflow:hidden}.progress-strip-fill{border-radius:inherit;background:#bc5a3d;height:100%;display:block}.progress-strip-count{color:#5f574f;font-size:.85rem}.track-palette{grid-template-columns:minmax(0,1fr);gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.track-swatch{color:#3a342f;width:100%;min-height:2.9rem;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:#fffdf9;border:1px solid #d5cec3;border-radius:.55rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.55rem;padding:.3rem .55rem;display:grid}.track-swatch:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}.track-swatch[aria-pressed=true]{background:#f1e4da;border-color:#bc5a3d;box-shadow:inset 0 0 0 1px #bc5a3d}.track-swatch-chip{border:1px solid #27232140;border-radius:.45rem;width:2rem;height:2rem}.track-swatch-text{flex-direction:column;min-width:0;display:flex}.track-swatch-code{overflow-wrap:normal;white-space:nowrap;font-size:.85rem;font-weight:700;line-height:1.15}.track-swatch-name{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;min-width:0;font-size:.7rem;line-height:1.15}.track-swatch-percent{color:#88452f;font-size:.9rem;font-weight:700}.track-palette-empty{color:#5f574f;margin:0;font-size:.9rem}@media (width>=701px){.editor-rail-shell .track-colors{grid-area:1/1;margin-right:.35rem}.rail-right .editor-rail-shell .track-colors{grid-column:2;margin-left:.35rem;margin-right:0}}.mobile-dock-title{display:none}@media (width<=700px){.mobile-dock-title{color:#625c55;letter-spacing:.06em;text-transform:uppercase;margin:.55rem 0 0;font-size:.75rem;font-weight:700;display:block}.mobile-dock-title+.mobile-dock-card{margin-top:.25rem}.mobile-dock-trigger.mobile-completion-trigger{flex-flow:row;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:0 .75rem;display:flex}.mobile-completion-percent{flex:none}.mobile-completion-code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.track-colors{overflow:visible}.canvas-actions .track-tools{grid-column:1/-1;min-height:0}.track-palette{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}}:root{color:#272321;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f1ea;font-family:Trebuchet MS,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle at 87% 4%,#e4e9df 0,#0000 27rem),#f5f1ea;min-width:320px;min-height:100vh;margin:0}img,canvas{-webkit-user-drag:none}input,textarea,select,[contenteditable]:not([contenteditable=false]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}input[type=range].range-input{--thumb-r:.55rem;--range-track:linear-gradient(to right, #bc5a3d 0 calc(var(--thumb-r) + (100% - 2 * var(--thumb-r)) * var(--range-fill-ratio,0)), #d9d2c8 0);height:1.4rem;box-shadow:none;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}input[type=range].range-input:focus{outline:none}input[type=range].range-input::-webkit-slider-runnable-track{background:var(--range-track);border-radius:999px;height:.3rem}input[type=range].range-input::-moz-range-track{background:var(--range-track);border-radius:999px;height:.3rem}input[type=range].range-input::-webkit-slider-thumb{box-sizing:border-box;width:calc(2 * var(--thumb-r));height:calc(2 * var(--thumb-r));margin-top:calc(.15rem - var(--thumb-r));appearance:none;background:#fff;border:2px solid #bc5a3d;border-radius:50%;box-shadow:0 1px 3px #30201540}input[type=range].range-input::-moz-range-thumb{box-sizing:border-box;width:calc(2 * var(--thumb-r));height:calc(2 * var(--thumb-r));background:#fff;border:2px solid #bc5a3d;border-radius:50%;box-shadow:0 1px 3px #30201540}input[type=range].range-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #f1d6c9,0 1px 3px #30201540}input[type=range].range-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #f1d6c9,0 1px 3px #30201540}input[type=range].range-input:disabled{opacity:.55;cursor:not-allowed}.catalog-selection-details,.palette-menu>strong,.palette-menu>span{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,kbd:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.app-shell{width:min(100% - 3rem,74rem);margin:0 auto;padding:1.5rem 0 2rem}.app-shell-editor{width:100%;max-width:none;padding:0 0 2rem}.topbar{border-bottom:1px solid #d8d2c7;justify-content:space-between;align-items:center;padding:.25rem 0 1.8rem;display:flex}.brand{color:#272321;align-items:center;gap:.55rem;font-family:Georgia,serif;font-size:1.4rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#bc5a3d;font-size:1.65rem;line-height:1}.save-state{color:#546057;letter-spacing:.02em;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.topbar-export{padding:.5rem .75rem;font-size:.78rem}.save-dot{background:#708d6f;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 4px #dce5d9}.save-dot-error{background:#bc5a3d;box-shadow:0 0 0 4px #f1e4da}.loading-panel{text-align:center;place-content:center;justify-items:center;min-height:36rem;display:grid}.loading-mark{color:#bc5a3d;font-size:2rem;animation:1.4s ease-in-out infinite breathe}.not-found-panel .loading-mark{animation:none}.not-found-panel .button{margin-top:1.2rem;text-decoration:none}.loading-panel h1{margin:1rem 0 0;font-size:clamp(2rem,5vw,3.5rem)}.loading-panel p{color:#777169;margin:.8rem 0 0}@keyframes breathe{50%{opacity:.35;transform:scale(.85)}}.hero{justify-content:space-between;min-height:19rem;padding:5rem 2rem 3.7rem;display:flex}.hero-copy{max-width:46rem}.kicker,.section-label{color:#bc5a3d;letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:700}.kicker{margin:0 0 1rem}.kicker span{color:#9a958c;padding:0 .35rem}h1,h2,h3{line-height:1.12}h1,h2{font-family:Georgia,serif}h1{letter-spacing:-.055em;max-width:42rem;margin:0;font-size:clamp(3rem,7vw,5.8rem);font-weight:400}.intro{color:#6f6a63;max-width:33rem;margin:1.4rem 0 0;font-size:1.08rem}.hero-stitches{color:#c8b9a1;align-self:center;margin:0 2.5rem 1rem 1rem;font-family:Georgia,serif;font-size:2.5rem;line-height:1.75;transform:rotate(-12deg)}.hero-stitches span{display:block}.hero-stitches span:nth-child(2){color:#bc5a3d;margin-left:2.5rem}.hero-stitches span:nth-child(3){color:#718471;margin-left:.6rem}.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(16rem,.75fr);gap:1.1rem;display:grid}.editor-project-hidden{display:none}.project-card,.tools-card{background:#fffdf9c7;border:1px solid #dad3c8;border-radius:1rem;box-shadow:0 1.5rem 3rem #43372a0d}.project-card{padding:2rem}.tools-card{background:#e5ebe1;border-color:#d1dbce;align-self:start;padding:1.7rem}.card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-heading.compact{align-items:center}.section-label{margin:0 0 .45rem}h2{letter-spacing:-.03em;margin:0;font-size:1.65rem;font-weight:400}.empty-state{align-items:flex-start;gap:1.2rem;padding:1.2rem 0 .5rem;display:flex}.empty-icon{color:#bc5a3d;border:1px dashed #bc5a3d;border-radius:.8rem;flex:0 0 3.2rem;place-items:center;width:3.2rem;height:3.2rem;font-size:1.6rem;display:grid}.empty-copy h3{margin:.15rem 0 .45rem;font-size:1.08rem}.empty-copy p{color:#777169;margin:0;font-size:.9rem}.actions{flex-wrap:wrap;gap:.65rem;margin-top:1.2rem;display:flex}.button{border-radius:.5rem;padding:.7rem 1rem;font-size:.86rem;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}.button:hover{transform:translateY(-2px);box-shadow:0 .45rem 1rem #4c34251f}.button-primary{color:#fffaf5;background:#bc5a3d}.button-primary:hover{background:#a94e34}.button-secondary{color:#544b44;background:0 0;border:1px solid #c9c1b6}.notice{min-height:1.35rem;color:#687a68!important;margin-top:.8rem!important;font-size:.78rem!important}.spark{color:#bc5a3d;font-size:1.3rem}.shortcut-list{margin:1.7rem 0 0;padding:0;list-style:none}.shortcut-list li{color:#4e5a50;border-top:1px solid #d0dacf;justify-content:space-between;align-items:center;padding:.72rem 0;font-size:.85rem;display:flex}kbd{color:#687568;text-align:center;background:#f5f7f2;border:1px solid #c0ccc0;border-radius:.3rem;min-width:1.65rem;padding:.12rem .35rem;font-family:inherit;font-size:.75rem}.tools-note{color:#758075;margin:1.25rem 0 0;font-size:.77rem}.project-list{margin:1.5rem 0 0}.project-list h3{color:#687568;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem}.project-list ul{margin:0;padding:0;list-style:none}.project-list li{border-top:1px solid #d0dacf}.project-row{align-items:center;gap:.45rem;display:flex}.project-row .project-open{flex:auto;min-width:0}.project-list .project-delete{color:#a94e34;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:.4rem;flex:none;width:auto;padding:.3rem .5rem;font-size:.68rem;font-weight:700}.project-list .project-delete:hover{color:#81432f;background:#fff0e9;border-color:#e1b9a9}.project-list .project-delete.project-delete-confirming{color:#fffaf5;background:#a94e34;border-color:#a94e34}.project-list .project-delete:disabled{cursor:wait;opacity:.55}.project-list button{color:#4e5a50;text-align:left;background:0 0;grid-template-columns:1fr auto;justify-content:space-between;align-items:center;width:100%;padding:.7rem 0;font-size:.85rem;display:grid}.project-list button small{color:#7b887b;grid-column:1;font-size:.7rem}.project-list button>span{grid-area:1/2/span 2}.project-list button:hover{color:#bc5a3d}.project-list button:disabled,.button:disabled{cursor:wait;opacity:.55;box-shadow:none;transform:none}.feedback{color:#687a68;text-align:center;min-height:1.4rem;margin-top:1rem;font-size:.83rem}.feedback[role=alert]{color:#a94e34;font-weight:700}.update-notice{color:#526454;background:#e7efe4;border:1px solid #c8d4c7;border-radius:.65rem;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem 1rem;font-size:.82rem;display:flex}.update-notice strong{color:#3d5842}.update-notice span{flex:1}.update-notice .button{padding:.5rem .75rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.footer-note{color:#8b857d;text-align:center;padding:2.5rem 0 .8rem;font-size:.75rem}.footer-note span:first-child{color:#bc5a3d;margin-right:.4rem;font-size:1.1rem}.footer-divider{color:#b4ada3;padding:0 .45rem}.modal-backdrop{z-index:200;overscroll-behavior:contain;background:#27232159;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}html:has([aria-modal=true]){overscroll-behavior:none;overflow:hidden}html:has([aria-modal=true]) body{overscroll-behavior:none;overflow:hidden}.create-modal{overscroll-behavior:contain;background:#fffdf9;border:1px solid #dad3c8;border-radius:1rem;width:min(100%,30rem);padding:1.7rem;position:relative;box-shadow:0 1.5rem 4rem #27232133}.create-modal h2{margin:.1rem 0 1.2rem;padding-right:2.5rem}.modal-close{color:#6f6a63;background:0 0;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.modal-hint{color:#777169;margin:-.65rem 0 .95rem;font-size:.74rem;line-height:1.55}.creation-modes{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.creation-modes button{color:#4e4842;background:#fffdf9;border:1px solid #d5cec3;border-radius:.5rem;min-height:3.2rem;font-size:.8rem;font-weight:700}.creation-modes button[aria-checked=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.creation-modes span{color:#8a837a;margin-top:.2rem;font-size:.65rem;font-weight:400;display:block}.create-modal form>label,.conversion-controls>label:not(.check-row),.dimension-fields label{color:#8a837a;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:700;display:block}.create-modal input,.create-modal select{color:#272321;width:100%;font:inherit;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.4rem;margin-top:.3rem;padding:.6rem;display:block}.conversion-modal{width:min(100%,40rem);max-height:calc(100vh - 2rem);overflow:hidden auto}.budget-control{margin-top:.8rem}.budget-control>label:first-child{color:#8a837a;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;display:flex}.budget-control .budget-stepper{letter-spacing:0;text-transform:none;align-items:center;gap:.35rem;display:inline-flex}.budget-control .budget-step{color:#4e4842;width:1.6rem;height:1.6rem;box-shadow:none;background:#f8f5ef;border:0;border-radius:.35rem;place-items:center;margin:0;padding:0;font-size:1rem;font-weight:700;line-height:1;display:grid}.budget-control .budget-step:hover{color:#88452f;background:#e4ddd3}.budget-control .budget-step:disabled{cursor:not-allowed;opacity:.45;color:#9a958c;background:#f8f5ef}.budget-control .budget-step:disabled:hover{color:#9a958c;background:#f8f5ef}.budget-control .budget-count{color:#88452f;width:4ch;font:inherit;letter-spacing:0;text-align:center;box-shadow:none;background:#f8f5ef;border:0;border-radius:.25rem;outline:none;margin:0;padding:0;font-size:.8rem;font-weight:700;display:inline-block}.budget-control .budget-count:focus-visible{outline-offset:1px;outline:2px solid #f1d6c9}.budget-control .budget-suffix{color:#88452f;letter-spacing:0;font-size:.8rem}.budget-control input[type=range]{margin:.5rem 0 .25rem}.colors-used-note strong{color:#88452f}.file-drop{color:#88452f;text-align:center;cursor:pointer;background:#fbf4ef;border:2px dashed #d9a891;border-radius:.75rem;justify-items:center;gap:.45rem;margin-top:.8rem;padding:1.6rem 1.2rem;font-size:.78rem;transition:border-color .15s,background-color .15s;display:grid;position:relative}.file-drop:hover,.file-drop-active{background:#f8eee7;border-color:#bc5a3d}.file-drop-active{border-style:solid;box-shadow:0 0 0 4px #f1e4da}.file-drop:focus-within{outline-offset:2px;outline:2px solid #bc5a3d}.file-drop:has(input:disabled){cursor:not-allowed;opacity:.6}.file-drop-icon{color:#bc5a3d;width:2.2rem;height:2.2rem}.file-drop-text{gap:.15rem;min-width:0;max-width:100%;display:grid}.file-drop-title{color:#4e4842;font-size:.95rem;font-weight:700}.file-drop-hint{color:#777169;font-size:.72rem}.file-drop strong{color:#4e4842;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.file-drop-button{color:#88452f;background:#fffdf9;border:1px solid #bc5a3d;border-radius:.4rem;padding:.4rem .85rem;font-size:.75rem;font-weight:700}.file-drop:hover .file-drop-button{color:#fffdf9;background:#bc5a3d}.file-drop-selected{text-align:left;border-style:solid;border-width:1px;grid-template-columns:auto minmax(0,1fr) auto;place-items:center start;gap:.75rem;padding:.75rem 1rem}.file-drop-selected.file-drop-active{border-style:dashed;border-width:1px}.file-drop-selected .file-drop-icon{width:1.5rem;height:1.5rem}.confetti-control{margin-top:.6rem;padding-left:1.5rem}.check-row{color:#625c55;align-items:center;gap:.5rem;margin-top:.8rem;font-size:.78rem;display:flex}.pencil-mode-label{align-items:center;gap:.35rem;display:inline-flex}.settings-info-wrap{align-items:center;display:inline-flex;position:relative}.settings-info-button{color:#88452f;cursor:help;background:#fffdf9;border:1px solid #bc5a3d;border-radius:50%;place-items:center;width:1.05rem;height:1.05rem;padding:0;font:italic 700 .72rem Georgia,serif;display:inline-grid}.settings-info-button:hover,.settings-info-button:focus-visible{outline-offset:2px;background:#f1e4da;outline:2px solid #bc5a3d}.settings-info-tooltip{z-index:300;color:#625c55;letter-spacing:normal;text-align:left;text-transform:none;white-space:normal;background:#fffdf9;border:1px solid #d5cec3;border-radius:.35rem;width:15rem;max-width:calc(100vw - 1rem);padding:.55rem .65rem;font-size:.72rem;font-weight:500;line-height:1.35;display:none;position:fixed;box-shadow:0 .35rem 1rem #352a2129}.settings-info-tooltip[data-open=true]{display:block}.palette-display-toggle{white-space:nowrap;justify-content:flex-start;width:100%;max-width:none}.palette-display-toggle input{flex:none}.check-row input{accent-color:#bc5a3d;width:auto;margin:0}.spinner{border:2px solid #e7cabc;border-top-color:#bc5a3d;border-radius:50%;width:.8rem;height:.8rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.review{border-top:1px solid #e4ddd3;margin-top:1.1rem;padding-top:1rem}.review h3{margin:0 0 .5rem}.review p{color:#625c55;margin:.35rem 0;font-size:.8rem}.review-swatches{flex-wrap:wrap;gap:.4rem;max-block-size:12rem;margin:.8rem 0;display:flex;overflow:hidden auto}.review-swatches-label{color:#8a837a;letter-spacing:.05em;text-transform:uppercase;margin:.8rem 0 .15rem;font-size:.72rem;font-weight:700}.review-swatches-hint{color:#777169;margin:0 0 .1rem;font-size:.7rem}.review-swatches .swatch{width:1.35rem;height:1.35rem;padding:0}.review-swatches .swatch-selected{outline-offset:2px;outline:3px solid #bc5a3d;box-shadow:0 0 0 4px #f1e4da}.review-clear-background{color:#625c55;background:#fffdf9;border:1px solid #d5cec3;border-radius:.35rem;align-self:center;padding:.3rem .55rem;font-size:.7rem;font-weight:700}.review-clear-background:hover{color:#88452f;border-color:#bc5a3d}.dimension-fields.aspect-dimensions{grid-template-columns:1fr auto 1fr;align-items:end}.aspect-lock-control{justify-items:center;gap:.3rem;display:grid}.aspect-lock-label{color:#8a837a;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-weight:700}.aspect-lock-toggle{background:#fffdf9;border:1px solid #d5cec3;border-radius:.4rem;place-items:center;width:2.2rem;height:2.2rem;padding:0;font-size:1rem;line-height:1;display:grid}.aspect-lock-toggle[aria-pressed=true]{background:#f1e4da;border-color:#bc5a3d}.aspect-lock-toggle:disabled{cursor:not-allowed;opacity:.55}.conversion-preview-frame{width:min(100%,27rem);background:#f3eee5;border:1px solid #d5cec3;border-radius:.4rem;min-block-size:100px;min-inline-size:100px;margin:.7rem auto;display:block;position:relative}.conversion-preview{block-size:auto;max-block-size:18rem;inline-size:auto;max-inline-size:100%;image-rendering:pixelated;margin-inline:auto;display:block}.preview-lens{pointer-events:none;touch-action:none;width:6rem;height:6rem;image-rendering:pixelated;opacity:0;z-index:2;background:#f3eee5;border:1px solid #bc5a3d;border-radius:.35rem;transition:opacity .12s;position:absolute;inset:0 auto auto 0;box-shadow:0 .35rem .9rem #43372a38}.dimension-fields{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem;display:grid}fieldset.dimension-fields{border:0;row-gap:.3rem;min-width:0;margin:.8rem 0 0;padding:0}fieldset.dimension-fields>legend{color:#8a837a;letter-spacing:.05em;text-transform:uppercase;grid-column:1/-1;padding:0;font-size:.72rem;font-weight:700}.modal-error{color:#a94e34;font-size:.8rem;font-weight:700}.unfinished-note{color:#81432f;border-left:3px solid #bc5a3d;padding-left:.7rem;font-size:.8rem}.editor-workspace{background:#fffdf9;border:1px solid #dad3c8;border-radius:1rem;margin-top:1.1rem;padding:1.4rem;box-shadow:0 1.5rem 3rem #43372a0d}.editor-heading{border-bottom:1px solid #e4ddd3;justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1rem;display:flex}.canvas-instructions{color:#777169;margin:0;font-size:.8rem}.editor-layout{grid-template-columns:14rem minmax(0,1fr);gap:1rem;margin-top:.5rem;display:grid}.gear-button{color:#88452f;background:#fffdf9;border:1px solid #d5cec3;border-radius:50%;order:3;width:2.5rem;height:2.5rem;font-size:1.2rem}.editor-controls{flex-direction:column;gap:.85rem;display:flex}.editor-controls fieldset{border:1px solid #e1dbd1;border-radius:.6rem;min-width:0;margin:0;padding:.65rem}.brush-size-control{color:#625c55;border-top:1px solid #e4ddd3;margin-top:.75rem;padding-top:.65rem;font-size:.74rem}.brush-size-control label{justify-content:space-between;gap:.5rem;font-weight:700;display:flex}.brush-size-control output{color:#88452f}.brush-size-control input[type=range]{width:100%;margin-top:.55rem}.rail-button{position:relative}.rail-button:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}.trace-controls{background:#f3eee5}.trace-import,.trace-remove{color:#4e4842;background:#fffdf9;border:1px solid #d5cec3;border-radius:.4rem;width:100%;min-height:2.5rem;font-size:.74rem;font-weight:700}.trace-import:hover,.trace-remove:hover{color:#88452f;border-color:#bc5a3d}.trace-file{color:#625c55;text-overflow:ellipsis;white-space:nowrap;margin:.6rem 0;font-size:.72rem;overflow:hidden}.trace-toggle,.trace-opacity{color:#625c55;align-items:center;gap:.45rem;margin:.55rem 0;font-size:.74rem;display:flex}.trace-opacity{flex-wrap:wrap}.trace-opacity output{color:#88452f;margin-left:auto;font-weight:700}.trace-opacity input[type=range]{width:100%}.trace-remove{color:#88452f;margin-top:.35rem}.trace-mode-row{grid-template-columns:1fr 1fr;gap:.35rem;margin:.55rem 0;display:grid}.trace-mode-button{color:#6f6a63;cursor:pointer;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.4rem;min-height:2.5rem;font-size:.74rem;font-weight:700;transition:background .16s,border-color .16s,color .16s}.trace-mode-button:hover{color:#88452f;border-color:#bc5a3d}.trace-mode-button[aria-pressed=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.editor-controls legend{color:#8a837a;letter-spacing:.1em;text-transform:uppercase;padding:0 .25rem;font-size:.68rem;font-weight:700}.control-note{color:#777169;margin:.55rem 0 0;font-size:.7rem}.canvas-actions button{color:#4e4842;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;border-radius:.4rem;min-height:2.75rem;font-size:.76rem}.palette-button{color:#4e4842;text-align:left;background:0 0;border:1px solid #0000;border-radius:.4rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;min-height:2.75rem;display:grid}.palette-button.palette-add{color:#995039;cursor:pointer;border:1px dashed #bc5a3d;margin-top:.55rem}.palette-button.palette-add:hover{background:#f1e4da}.swatch{border:1px solid #9c958b;border-radius:50%;width:1rem;height:1rem}.swatch-add{color:#bc5a3d;background:0 0;border:1px dashed #bc5a3d;border-radius:.2rem;place-items:center;width:1rem;height:1rem;font-size:.95rem;line-height:1;display:grid}.palette-code{color:#8a837a;font-size:.65rem}.palette-text{flex-direction:column;gap:.1rem;min-width:0;font-size:.76rem;line-height:1.35;display:flex}.palette-text .palette-code{font-size:1em}.palette-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-row{background:#fffdf9;align-items:stretch;gap:.375rem;min-height:2.55rem;padding-left:25%;display:flex;position:relative}.palette-row .palette-button{flex:auto;min-width:0;min-height:2.55rem;overflow:hidden}.palette-remove{color:#6f6a63;background:0 0;border:1px solid #0000;border-radius:50%;flex:none;align-self:center;place-items:center;width:2rem;height:2rem;font-size:1.2rem;line-height:1;transition:background .16s,border-color .16s,color .16s;display:grid}.palette-remove:hover{color:#a94e34;background:#fff0e9;border-color:#e1b9a9}.palette-symbol{color:#4e4842;background:0 0;border:1px solid #d5cec3;border-radius:.4rem;flex:none;align-self:center;place-items:center;width:1.75rem;height:1.75rem;font-size:1.05rem;line-height:1;transition:background .16s,border-color .16s,color .16s;display:grid}.palette-symbol:hover{color:#88452f;border-color:#bc5a3d}.symbol-grid{grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.25rem;margin:.55rem 0;display:grid}.symbol-option{color:#4e4842;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;border-radius:.3rem;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;min-height:2rem;padding:.15rem .1rem;font-size:.9rem;line-height:1.15;transition:background .16s,border-color .16s,color .16s;display:flex}.symbol-option:hover{color:#88452f;border-color:#bc5a3d}.symbol-option[aria-pressed=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.symbol-option:focus-visible{outline-offset:1px;outline:3px solid #bc5a3d}.symbol-option.symbol-held{border-style:dashed}.symbol-preview{aspect-ratio:1;width:100%;max-width:1.6rem;height:auto;display:block}.symbol-token{flex:none;width:1.05rem;height:1.05rem;display:block}.palette-swatch-symbol{place-items:center;display:grid}.palette-menu .symbol-token{width:.9rem;height:.9rem}.symbol-sprite{width:0;height:0;position:absolute;overflow:hidden}.palette-button[aria-pressed=true]{background:#f3eee5}.canvas-column{min-width:0}.canvas-frame,.canvas-fallback{min-height:42rem}.canvas-frame{outline-offset:4px;touch-action:none;background:#f8f5ef;border:1px solid #b9b2a8;border-radius:.65rem;min-height:42rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffff8c}.editor-heading-actions{align-items:center;gap:1rem;display:flex}.canvas-frame:focus,.canvas-frame:focus-visible{outline:none}.canvas-frame canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.canvas-fallback{color:#777169;text-align:center;place-content:center;height:100%;min-height:28rem;padding:1.5rem;display:grid}.canvas-instructions{margin-top:.55rem}.canvas-actions{flex-wrap:wrap;flex:none;gap:.4rem;margin:0 0 .9rem;display:flex}.canvas-actions button{padding:0 .7rem}.inspector{color:#625c55;border-top:1px solid #e4ddd3;flex-wrap:wrap;gap:.35rem 1rem;margin-top:1rem;padding-top:.85rem;font-size:.8rem;display:flex}.inspector strong{color:#3e3934}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.symbol-field{color:#8a837a;text-transform:uppercase;letter-spacing:.05em;font-size:.66rem}.symbol-field input{text-align:center;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.3rem;width:2.5rem;margin-top:.2rem;padding:.35rem;display:block}.small-action{color:#5c5148;white-space:nowrap;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.35rem;padding:.4rem .55rem;font-size:.7rem;font-weight:700}.small-action:disabled{cursor:not-allowed;opacity:.5}.editor-workspace{border-inline:0;border-radius:0;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);padding:.7rem .75rem 1.25rem}.app-shell-editor .editor-workspace{margin-top:0}.editor-heading{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.editor-brand{color:#272321;flex:none;align-items:center;gap:.45rem;font-family:Georgia,serif;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.editor-brand .brand-mark{font-size:1.35rem}.editor-heading-controls{align-items:center;gap:.45rem;display:flex}.editor-heading-project{text-align:center;min-width:0}.editor-heading-project h2{margin:0}.editor-dimensions{color:#777169;margin:.35rem 0 0;font-size:.78rem}.editor-heading-info{justify-content:flex-end;align-items:center;gap:1rem;min-width:0;display:flex}.editor-heading-info .editor-dimensions{white-space:nowrap;margin:0}.editor-heading .icon-button:disabled{opacity:.45;cursor:not-allowed}.editor-export{flex:none}.icon-button,.gear-button{color:#88452f;background:#fffdf9;border:1px solid #d5cec3;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;line-height:1;display:grid}.editor-export svg{width:1.2rem;height:1.2rem}.icon-button:hover,.gear-button:hover{background:#f1e4da;border-color:#bc5a3d}.editor-layout{grid-template-columns:9.3rem minmax(0,1fr);align-items:start;gap:.55rem;position:relative;overflow:visible}.editor-layout.rail-right{grid-template-columns:minmax(0,1fr) 9.3rem}.editor-rail-shell{z-index:20;flex-direction:row;align-items:stretch;gap:.3rem;min-width:3.1rem;height:100%;min-height:0;display:flex;position:relative;overflow:visible}.rail-right .editor-rail-shell{grid-area:1/2}.rail-right .canvas-column{grid-area:1/1}.editor-rail{flex-direction:column;gap:.25rem;display:flex}.palette-rail{--palette-square:2.55rem;--palette-surround:#ead8cc;flex-direction:column;align-items:center;gap:.35rem;min-height:0;max-height:100%;margin-left:.35rem;display:flex}.palette-rail-items{scrollbar-width:thin;grid-template-columns:repeat(2,2.75rem);align-content:start;gap:.35rem;min-height:0;padding:.1rem .15rem .35rem;display:grid;overflow-y:auto}.editor-layout:not(.rail-right) .palette-rail{order:-1;margin-left:0;margin-right:.35rem}.palette-rail .palette-row{background:0 0;min-height:3.55rem;padding:0;display:block;overflow:visible}.palette-rail .palette-button{touch-action:manipulation;background:0 0;border:0;border-radius:.45rem;width:2.75rem;height:3.55rem;min-height:3.55rem;padding:0;display:grid;overflow:visible}.palette-rail .palette-button:hover,.palette-rail .palette-row-selected,.palette-rail .palette-button[aria-pressed=true]{background:0 0}.palette-rail .palette-swatch{width:var(--palette-square);height:var(--palette-square);border:1px solid #27232140;border-radius:.62rem;justify-self:center;place-items:center;display:grid;position:relative;box-shadow:0 .15rem .2rem #43372a29}.palette-rail .palette-button:hover .palette-swatch,.palette-rail .palette-button[aria-pressed=true] .palette-swatch{box-shadow:0 0 0 .06rem var(--palette-surround), 0 .15rem .14rem #43372a29}.palette-rail .palette-swatch-symbol{font-size:1.25rem;line-height:1}.palette-rail .palette-number{color:#625c55;text-align:center;flex-direction:column;align-items:center;gap:.03rem;width:2.75rem;font-size:.58rem;font-weight:700;line-height:.72rem;display:flex;position:absolute;top:2.62rem;left:50%;transform:translate(-50%)}.palette-rail .palette-brand-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;max-height:.52rem;font-size:.43rem;font-weight:600;line-height:.52rem;display:block;overflow:hidden}.palette-rail .palette-code-label{font-size:.5rem;line-height:.58rem}.palette-rail .palette-number-hex{white-space:nowrap;font-size:.48rem}.palette-rail .palette-text,.palette-rail .palette-symbol,.palette-rail .palette-remove{display:none}.palette-add-rail{color:#bc5a3d;background:0 0;border:0;border-radius:.45rem;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.25rem;line-height:1;display:grid;position:relative}.palette-add-rail:before{content:"";border:1px dashed #bc5a3d;border-radius:.62rem;position:absolute;inset:0}.palette-add-glyph{z-index:1}.palette-add-rail:hover,.palette-manage-rail:hover,.palette-focus-rail:hover:not(:disabled){background:#f1e4da}.palette-rail-actions{grid-template-columns:repeat(2,2.75rem);gap:.35rem;padding:0 .15rem;display:grid}.palette-manage-rail{color:#5c5148;background:0 0;border:0;border-radius:.45rem;place-items:center;width:2.75rem;height:2.75rem;padding:0;line-height:1;display:grid;position:relative}.palette-manage-rail:before{content:"";border:1px solid #5c5148;border-radius:.62rem;position:absolute;inset:0}.palette-manage-glyph{z-index:1;place-items:center;display:grid}.palette-manage-glyph svg{width:1.1rem;height:1.1rem;display:block}.palette-focus-rail{color:#5c5148;background:0 0;border:0;border-radius:.45rem;place-items:center;width:2.75rem;height:2.75rem;padding:0;line-height:1;display:grid;position:relative}.palette-focus-rail:before{content:"";border:1px solid #5c5148;border-radius:.62rem;position:absolute;inset:0}.palette-focus-glyph{z-index:1;place-items:center;display:grid}.palette-focus-glyph img{width:1.1rem;height:1.1rem;display:block}.palette-manage-rail{grid-area:1/1}.palette-focus-rail{grid-area:1/2}.palette-add-rail{grid-area:2/1/auto/-1;justify-self:center}.palette-focus-rail[aria-pressed=true]{background:#f1e4da}.palette-focus-rail[aria-pressed=true]:before{border-color:#bc5a3d}.palette-focus-rail:disabled{opacity:.45;cursor:default}.palette-menu{z-index:120;color:#4e4842;background:#fffdf9;border:1px solid #d5cec3;border-radius:.55rem;gap:.25rem;width:10rem;padding:.55rem;font-size:.72rem;display:grid;position:absolute;top:0;left:calc(100% + .35rem);box-shadow:0 .5rem 1.2rem #43372a33}.palette-menu strong{color:#272321}.palette-menu button{color:#4e4842;text-align:left;background:#fffdf9;border:1px solid #d5cec3;border-radius:.3rem;padding:.3rem;font-size:.7rem}.palette-menu button:hover{color:#88452f;border-color:#bc5a3d}.palette-menu .palette-menu-delete{color:#a94e34}.rail-right .palette-menu{left:auto;right:calc(100% + .35rem)}.canvas-column{grid-area:1/2;min-width:0}.rail-button{color:#5c5148;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;border-radius:.55rem;place-items:center;width:2.8rem;height:2.8rem;transition:background .16s,border-color .16s,color .16s;display:grid}.rail-button:hover,.rail-button[aria-expanded=true],.rail-button[aria-pressed=true],.rail-button-active{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.rail-button svg{width:1.3rem;height:1.3rem}.rail-button svg[data-icon=completion]{width:1.4rem;height:1.4rem}.rail-button img{object-fit:contain;width:1.3rem;height:1.3rem}.rail-button img[data-icon=backstitch]{transform-origin:50%;transform:scale(3)}.rail-button img[data-icon=stitch]{width:1.34rem;height:1.34rem}.rail-button span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail-button .stitch-brush-icon{clip:auto;background:currentColor;border:1px solid;border-radius:.12rem;width:1.3rem;height:1.3rem;position:relative;overflow:hidden}.rail-button .stitch-brush-icon-three-quarter{background:linear-gradient(135deg,currentColor 0 50%,#0000 50% 100%)}.editor-control-panel{z-index:100;background:#fffdf9;border:1px solid #e1dbd1;border-radius:.65rem;width:15rem;max-width:min(15rem,100vw - 5rem);padding:.7rem;position:absolute;top:0;left:calc(100% + .6rem);box-shadow:0 .5rem 1.5rem #43372a2e}.rail-right .editor-control-panel{left:auto;right:calc(100% + .6rem)}.editor-control-panel fieldset{border:0;min-width:0;margin:0;padding:0}.editor-control-panel fieldset+fieldset{border-top:1px solid #e4ddd3;margin-top:.8rem;padding-top:.7rem}.editor-control-panel legend{color:#8a837a;letter-spacing:.1em;text-transform:uppercase;padding:0 .2rem;font-size:.68rem;font-weight:700}.chart-view{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.chart-view legend,.chart-view .trace-toggle{grid-column:1/-1}.chart-view .trace-toggle{margin-top:.3rem}.palette-dock{border-top:1px solid #e4ddd3;margin-top:1rem;padding-top:1rem}.palette-dock-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.palette-dock-heading h3{margin:0;font-size:1rem}.palette-dock-heading .section-label{margin-bottom:.2rem}.palette-button[aria-pressed=true] .palette-swatch,.palette-button[aria-pressed=true]>.swatch{outline-offset:.06rem;outline:1px solid #bc5a3d}.settings-section+.settings-section{border-top:1px solid #e4ddd3;margin-top:1rem;padding-top:1rem}.canvas-actions{align-items:flex-start}.canvas-actions .action-section{background:#fffdf9;border:1px solid #e1dbd1;border-radius:.55rem;align-items:center;gap:.35rem;min-width:0;height:3.75rem;padding:.15rem .35rem .45rem;display:flex;position:relative}.canvas-actions .action-section>h3{color:#8a837a;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#fffdf9;margin:0;padding:0 .3rem;font-size:.58rem;font-weight:700;line-height:1;position:absolute;bottom:-.42rem;left:.55rem}.canvas-actions .brush-settings{flex:0 12rem}.canvas-actions .brush-settings .brush-size-control{border:0;flex-direction:column;width:100%;margin:0;padding:0;display:flex}.canvas-actions .brush-settings .brush-size-control input[type=range]{width:100%;margin-top:.55rem}.canvas-actions .view-actions .chart-view{background:0 0;border:0;padding:0}.canvas-actions .bottom-control{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;display:flex}.canvas-actions .bottom-control small{color:#625c55;font-size:.56rem;font-weight:700;line-height:1}.canvas-actions .canvas-actions-group{gap:.25rem}.canvas-actions .canvas-actions-group .bottom-control{place-items:center;width:2.75rem;height:2.4rem;padding:0;display:grid}.canvas-actions .reference-actions{margin-right:auto}.canvas-actions .tool-options{margin-inline:auto}.canvas-actions .view-actions{margin-left:auto}.canvas-actions .tool-options{gap:.5rem}.canvas-actions .tool-options [role=group]{align-items:center;gap:.25rem;display:flex}.canvas-actions .tool-option-button{flex:none;place-items:center;width:2.5rem;height:2.4rem;min-height:2.4rem;padding:0;display:grid}.canvas-actions .tool-option-button:hover:not(:disabled),.canvas-actions .tool-option-button[aria-pressed=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.canvas-actions .tool-option-button:disabled{opacity:.45;cursor:not-allowed}.canvas-actions .tool-options [aria-label=Backstitch\ mode] .tool-option-button,.canvas-actions .tool-options [aria-label=Selection\ actions] .tool-option-button{width:auto;min-width:3.5rem;padding:0 .6rem;font-size:.74rem;font-weight:700}.canvas-actions .tool-option-button svg,.canvas-actions .tool-option-button img{flex:none;width:1.1rem;height:1.1rem}.canvas-actions .tool-option-button .stitch-brush-icon{border:1px solid;border-radius:.12rem;width:1.3rem;height:1.3rem;margin:0 auto;display:block;position:relative}.canvas-actions .tool-option-button .stitch-brush-icon-full{background:currentColor}.canvas-actions .tool-option-button .stitch-brush-icon-three-quarter{background:linear-gradient(135deg,currentColor 0 50%,#0000 50% 100%)}.canvas-actions .tool-option-button .stitch-brush-icon-half{background:linear-gradient(135deg,#0000 0 35%,currentColor 35% 65%,#0000 65% 100%)}.canvas-actions .tool-options [role=group]:has(>.stitch-slideout){flex-wrap:wrap}.stitch-slideout{border-radius:.5rem;align-items:center;gap:.2rem;display:inline-flex}.stitch-slideout-active{background:#e6d6c8;padding:.15rem}.stitch-slideout-options{animation:.16s ease-out stitch-slideout-open;overflow:hidden}.canvas-actions .tool-option-button.stitch-slideout-option{width:2.1rem}.stitch-direction-icon{background:currentColor;width:1.1rem;height:1.1rem;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.stitch-direction-icon-backslash{transform:scaleX(-1)}@keyframes stitch-slideout-open{0%{opacity:0;max-width:0}to{opacity:1;max-width:5rem}}@media (prefers-reduced-motion:reduce){.stitch-slideout-options{animation:none}}.canvas-actions .tool-options-size{flex-direction:column;align-items:stretch;gap:.1rem;width:7.5rem;display:flex}.canvas-actions .tool-options-size label{color:#687568;justify-content:space-between;gap:.4rem;font-size:.62rem;font-weight:700;line-height:1;display:flex}.canvas-actions .tool-options-size output{color:#88452f;font-size:.68rem;font-weight:700}.canvas-actions .tool-options-size input[type=range]{width:100%;margin:0}.canvas-actions .trace-controls{background:0 0;border:0;flex:0 auto;align-items:center;gap:.3rem;min-width:0;height:2.75rem;margin:0;padding:0;display:flex}.canvas-actions .trace-controls .bottom-control{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;width:2.5rem;min-width:0;height:2.4rem;min-height:2.4rem;padding:0;display:flex}.trace-icon-button,.canvas-actions .trace-mode-button{color:#4e4842;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;border-radius:.4rem;flex:none;place-items:center;width:2.4rem;height:2.4rem;min-height:2.4rem;font-size:1rem;font-weight:700;display:grid}.trace-icon-button:hover,.canvas-actions .trace-mode-button:hover{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.canvas-actions .trace-file{color:#625c55;text-overflow:ellipsis;white-space:nowrap;max-width:8rem;margin:0;font-size:.68rem;overflow:hidden}.canvas-actions .trace-visibility{color:#88452f;cursor:pointer;border:1px solid #d5cec3;border-radius:.4rem;place-items:center;width:2.4rem;height:2.4rem;margin:0;display:grid}.canvas-actions .trace-visibility input{opacity:0;position:absolute}.canvas-actions .trace-visibility:has(input:checked){background:#f1e4da;border-color:#bc5a3d}.canvas-actions .trace-opacity{flex-direction:column;align-items:stretch;gap:.1rem;width:9rem;margin:0;display:flex}.canvas-actions .trace-opacity-label{color:#687568;font-size:.62rem;font-weight:700;line-height:1}.canvas-actions .trace-opacity input{width:7.605rem}.canvas-actions .trace-opacity output{color:#88452f;font-size:.68rem;font-weight:700}.canvas-actions .trace-mode-row{gap:.3rem;margin:0;display:flex}.canvas-actions .trace-remove{color:#88452f;margin-top:0}.canvas-actions .trace-controls button:disabled,.canvas-actions .trace-controls input:disabled{color:#aaa49c;cursor:not-allowed;opacity:.58;border-color:#e3ded7}.canvas-actions .trace-controls label:has(input:disabled){color:#aaa49c;cursor:not-allowed;opacity:.58;border-color:#e3ded7}.canvas-actions .chart-view{border:1px solid #e1dbd1;border-radius:.55rem;align-items:center;gap:.35rem;margin:0;padding:.55rem;display:flex}.canvas-actions .chart-view legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.canvas-actions .chart-view button{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;width:2.75rem;height:2.4rem;padding:0;display:flex}.canvas-actions .chart-view button small,.canvas-actions .chart-view .trace-toggle small{color:#625c55;font-size:.56rem;font-weight:700;line-height:1}.canvas-actions .chart-view button span{font-size:1.1rem}.canvas-actions .chart-view .trace-toggle{margin:0;padding:0 .35rem}.view-switch{background:#fffdf9;border:1px solid #d5cec3;border-radius:999px;flex:none;padding:.15rem;display:inline-flex}.view-switch-item{color:#5f574f;min-height:2.1rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .85rem;font-size:.9rem;font-weight:600}.view-switch-item:hover:not(:disabled){color:#88452f;background:#f1e4da}.view-switch-item:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}.view-switch-item-current{color:#fffdf9;cursor:default;background:#bc5a3d}.view-switch-item-current:hover{color:#fffdf9;background:#bc5a3d}.view-switch-item:disabled{opacity:.5;cursor:not-allowed}@media (width>=800px){.app-shell-editor{height:100dvh;padding-bottom:0;overflow:hidden}.app-shell-editor #workspace{height:100%;min-height:0}.app-shell-editor .editor-workspace{flex-direction:column;height:100%;min-height:0;padding-bottom:0;display:flex}.app-shell-editor .editor-layout{flex:auto;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.app-shell-editor .canvas-column{flex-direction:column;align-self:stretch;height:100%;min-height:0;padding-bottom:1rem;display:flex}.app-shell-editor .canvas-frame{flex:auto;min-height:0}}@media (width<=799px){.canvas-actions .action-section{flex:100%;max-width:100%;overflow-x:auto}.canvas-actions .trace-controls{flex:100%;min-width:0;max-width:100%;overflow-x:auto}.canvas-actions .chart-view{flex:auto}}.settings-section h3{margin:0 0 .55rem;font-size:.85rem}.canvas-actions{justify-content:flex-end}.canvas-actions button{place-items:center;min-width:2.5rem;padding:0 .65rem;font-size:1rem;display:grid}.catalog-box{background:#e5ebe1;border-radius:.6rem;padding:1rem}.catalog-helper{color:#687568;margin:-.35rem 0 .85rem;font-size:.74rem}.catalog-box label{color:#687568;text-transform:uppercase;margin-bottom:.3rem;font-size:.7rem;font-weight:700;display:block}.catalog-box>input{width:100%;font:inherit;background:#f8faf6;border:1px solid #c5d0c2;border-radius:.35rem;padding:.55rem;font-size:.8rem}.catalog-selection{margin-bottom:.85rem}.catalog-tabs{scrollbar-width:thin;border-bottom:1px solid #c5d0c2;gap:.25rem;display:flex;overflow-x:auto}.catalog-tab{color:#687568;min-height:2.35rem;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:.3rem .3rem 0 0;flex:none;padding:.45rem .7rem;font-size:.75rem;font-weight:700}.catalog-tab:hover{color:#3e493e;background:#f3f5f0}.catalog-tab[aria-selected=true]{color:#88452f;background:#fffdf9;border-bottom-color:#bc5a3d}.catalog-tab:focus-visible{outline-offset:-2px;outline:2px solid #bc5a3d;position:relative}.catalog-tabpanel{padding-top:.75rem}.catalog-tabpanel:focus-visible{outline-offset:2px;outline:2px solid #bc5a3d}.catalog-tabpanel .catalog-color-grid{margin-top:.25rem}.catalog-tabs-area+.custom-color-section{margin-top:.85rem}.catalog-selection-details>span{display:block}.catalog-selection{background:#fffdf9;border:1px solid #bc5a3d;border-radius:.45rem;align-items:center;gap:.55rem;min-height:3rem;margin-bottom:.75rem;padding:.45rem;display:flex}.catalog-selection-swatch{border-radius:.3rem;flex:0 0 2rem;width:2rem;height:2rem}.catalog-selection-details{color:#625c55;flex-direction:column;flex:1;min-width:0;font-size:.7rem;display:flex}.catalog-selection-details strong{color:#272321;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.catalog-selection-empty{color:#777169;font-size:.75rem}.catalog-color-grid{grid-template-columns:repeat(auto-fill,minmax(1.75rem,1fr));gap:.35rem;max-height:18rem;margin-top:.6rem;padding:.75rem;display:grid;overflow-y:auto}.catalog-color-button{color:#4e4842;cursor:pointer;text-align:left;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.4rem;justify-content:center;justify-self:center;align-items:center;width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:.15rem;display:flex}.catalog-color-button:hover,.catalog-color-button[aria-pressed=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.catalog-color-swatch{border:1px solid #9c958b;border-radius:.22rem;flex:0 0 1.35rem;width:1.35rem;height:1.35rem}.catalog-empty{color:#777169;grid-column:1/-1;margin:.6rem 0;font-size:.75rem}.catalog-dialog .custom-color-section{border-top:1px solid #c5d0c2;margin-top:.85rem;padding-top:.8rem}.catalog-dialog .custom-color-section h3{color:#3e493e;margin:0 0 .55rem;font-size:.78rem}.catalog-dialog .custom-color-fields{grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.35rem .65rem;display:grid}.catalog-dialog .custom-color-fields label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.catalog-dialog .custom-color-fields input{margin:0}.catalog-dialog .custom-color-fields input[type=color]{cursor:pointer;background:0 0;border:2px solid #fffdf9;border-radius:50%;grid-area:1/1;justify-self:start;width:2rem;height:2rem;padding:0;overflow:hidden;box-shadow:0 0 0 1px #c5d0c2}.catalog-dialog .custom-color-fields input[type=text]{grid-area:1/2;min-width:0}.catalog-dialog .custom-color-fields input[type=color]:focus-visible{outline-offset:3px;outline:3px solid #bc5a3d}.catalog-dialog .custom-color-fields input[type=color]::-webkit-color-swatch-wrapper{border-radius:50%;padding:0}.catalog-dialog .custom-color-fields input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.catalog-dialog .custom-color-fields input[type=color]::-moz-color-swatch{border:0;border-radius:50%}.settings-tabs{border-bottom:1px solid #c5d0c2;gap:.3rem;margin:0 0 .85rem;display:flex}.settings-tab{color:#3e493e;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:.35rem .35rem 0 0;flex:1;padding:.55rem .35rem;font-weight:600}.settings-tab[aria-selected=true]{color:#7b3828;background:#f6f0e8;border-bottom-color:#bc5a3d}.settings-tab:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.settings-tabpanel[hidden]{display:none}@media (width<=420px){.settings-tab{padding-inline:.2rem;font-size:.9rem}}.create-modal .custom-color-section{border-top:1px solid #c5d0c2;margin:.8rem 0;padding-top:.8rem}.create-modal .custom-color-section h3{color:#3e493e;margin:0 0 .55rem;font-size:.78rem}.create-modal .custom-color-fields{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem .65rem;display:grid}.create-modal .custom-color-fields label{white-space:nowrap;margin:0}.create-modal .custom-color-fields input{margin:0}.create-modal .custom-color-fields input[type=color]{cursor:pointer;background:0 0;border:2px solid #fffdf9;border-radius:50%;justify-self:start;width:2rem;height:2rem;padding:0;overflow:hidden;box-shadow:0 0 0 1px #c5d0c2}.create-modal .custom-color-fields input[type=color]:focus-visible{outline-offset:3px;outline:3px solid #bc5a3d}.create-modal .custom-color-fields input[type=color]::-webkit-color-swatch-wrapper{border-radius:50%;padding:0}.create-modal .custom-color-fields input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.create-modal .custom-color-fields input[type=color]::-moz-color-swatch{border:0;border-radius:50%}@media (width<=520px){.create-modal .custom-color-fields{grid-template-columns:minmax(0,1fr) auto}.create-modal .custom-color-fields label{text-overflow:ellipsis;overflow:hidden}}.catalog-unavailable{color:#687568;margin:.65rem 0 0;font-size:.75rem}.catalog-dialog .custom-color-help{color:#687568;min-height:1.1rem;margin:.4rem 0 .5rem;font-size:.7rem}.catalog-dialog .custom-color-section .custom-color-action{min-height:2.25rem}@media (width<=30rem){.catalog-dialog .custom-color-fields{grid-template-columns:minmax(0,1fr) auto}.catalog-dialog .custom-color-fields label{text-overflow:ellipsis;overflow:hidden}}.catalog-dialog{color:#272321;width:min(100%,32rem);max-height:calc(100vh - 2rem);overflow:hidden auto}.catalog-dialog .custom-color-action:disabled{cursor:not-allowed;opacity:.55}.catalog-dialog input,.catalog-dialog select,.details-dialog input,.details-dialog textarea,.details-dialog select{width:100%;font:inherit;background:#fffdf9;border:1px solid #c5d0c2;border-radius:.35rem;margin:.3rem 0 .8rem;padding:.55rem;display:block}.details-dialog .check-row.palette-display-toggle input{flex:none;width:auto;margin:0}.palette-manager-dialog{transition:width .18s}.palette-manager-dialog.palette-manager-panel-open{width:min(100%,64rem)}.palette-manager-columns{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.palette-manager-panel-open .palette-manager-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}.palette-manager-panel{border-left:1px solid #dad3c8;min-width:0;padding-left:1.5rem}.palette-manager-grid{max-height:24rem}.palette-manager-grid .catalog-color-swatch{place-items:center;font-size:.85rem;line-height:1;display:grid}.palette-manager-actions{flex:none;gap:.35rem;display:flex}.palette-manager-delete{color:#a94e34}.palette-manager-add{color:#bc5a3d;background:0 0;border:1px dashed #bc5a3d}.palette-manager-add:hover,.palette-manager-add[aria-expanded=true]{color:#bc5a3d;background:#f1e4da;border-color:#bc5a3d}.palette-manager-add-glyph{font-size:1.1rem;line-height:1}@media (width<=700px){.palette-manager-panel-open .palette-manager-columns{grid-template-columns:minmax(0,1fr);gap:0}.palette-manager-panel{border-top:1px solid #dad3c8;border-left:0;margin-top:1rem;padding:1rem 0 0}.palette-manager-dialog.palette-manager-panel-open{width:min(100%,32rem)}}.details-dialog{max-width:32rem}.details-dialog form>.button-primary{margin-top:1rem}@media (width<=700px){.app-shell{width:min(100% - 2rem,42rem)}.topbar-actions{flex-direction:column;align-items:flex-end;gap:.45rem}.hero{min-height:auto;padding:3.5rem 0 2.8rem}.hero-stitches{display:none}.content-grid{grid-template-columns:1fr}.tools-card{order:2}.editor-layout{grid-template-columns:1fr}.editor-controls{grid-template-columns:1fr 1fr;display:grid}.editor-controls fieldset:nth-child(3),.editor-controls fieldset:nth-child(4){grid-column:span 1}.canvas-frame,.canvas-fallback{min-height:24rem}.update-notice{flex-wrap:wrap;align-items:flex-start}}@media (width<=480px){.app-shell{width:min(100% - 1.5rem,32rem)}.topbar{padding-bottom:1.2rem}.save-state{font-size:.7rem}.topbar-export{width:auto}h1{font-size:clamp(2.75rem,15vw,4rem)}.project-card{padding:1.25rem}.empty-state{gap:.8rem}.empty-icon{flex-basis:2.6rem;width:2.6rem;height:2.6rem}.button,.update-notice .button{width:100%}.editor-workspace{padding:1rem}.editor-heading{flex-direction:column;align-items:flex-start}.editor-controls{display:flex}.canvas-frame,.canvas-fallback{min-height:20rem}}@media (width<=700px){.editor-workspace{padding-inline:1rem}.editor-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.editor-brand{grid-area:1/1}.editor-heading-controls{grid-area:1/2;justify-content:flex-end}.editor-heading-project{grid-area:2/1/auto/-1;width:100%}.editor-heading-info{flex-wrap:wrap;grid-area:3/1/auto/-1;justify-content:center}.editor-layout,.editor-layout.rail-right{grid-template-columns:1fr;overflow:visible}.editor-rail-shell,.rail-right .editor-rail-shell{grid-area:1/1;width:auto;height:min(70vh,36rem);top:.5rem;left:.5rem;right:auto}.rail-right .editor-rail-shell{left:auto;right:.5rem}.editor-layout:not(.rail-right) .editor-rail-shell{left:6.25rem}.editor-layout.rail-right .editor-rail-shell{right:6.25rem}.canvas-column,.rail-right .canvas-column{grid-area:2/1}.editor-control-panel{max-width:calc(100vw - 5rem)}.palette-dock{grid-column:1}}@media (width<=480px){.editor-heading{grid-template-columns:1fr;justify-items:center;gap:.65rem}.editor-brand,.editor-heading-controls,.editor-heading-project,.editor-heading-info{text-align:center;grid-column:1;justify-content:center;width:100%}.editor-brand{grid-row:1}.editor-heading-controls{grid-row:2}.editor-heading-project{grid-row:3}.editor-heading-info{grid-row:4}.editor-heading-controls .icon-button,.editor-heading-controls .gear-button{width:2.25rem;height:2.25rem}}@media (width<=700px){.editor-layout,.editor-layout.rail-right{flex-direction:column;gap:.7rem;display:flex;overflow:visible}.canvas-column,.rail-right .canvas-column{flex-direction:column;order:1;width:100%;min-height:0;display:flex}.canvas-frame,.canvas-fallback{min-height:clamp(18rem,52svh,32rem)}.editor-rail-shell,.rail-right .editor-rail-shell{background:#e5ebe1;border:1px solid #d1dbce;border-radius:.75rem;order:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;height:auto;min-height:8rem;padding:.55rem;display:grid;position:relative;inset:auto;overflow:hidden;box-shadow:0 .45rem 1rem #43372a14}.rail-right .editor-rail-shell{grid-template-columns:minmax(0,1fr) minmax(0,auto)}.editor-rail,.editor-layout:not(.rail-right) .editor-rail,.rail-right .editor-rail{scrollbar-width:thin;flex-direction:row;grid-area:1/1;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:.1rem .1rem .45rem;display:flex;overflow:auto hidden}.editor-rail:before{color:#687568;content:"Tools";letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;flex:none;align-self:stretch;place-items:center;padding-inline:.15rem;font-size:.62rem;font-weight:700;display:grid}.rail-right .editor-rail{grid-column:2}.editor-rail .rail-button{touch-action:manipulation;flex:0 0 2.9rem;width:2.9rem;min-width:2.9rem;height:2.9rem;min-height:2.9rem}.palette-rail,.editor-layout:not(.rail-right) .palette-rail,.rail-right .palette-rail{flex-direction:row;grid-area:1/2;align-items:center;gap:.35rem;min-width:0;max-width:100%;margin:0;display:flex;overflow:hidden}.rail-right .palette-rail{grid-area:1/1}.palette-rail:before{color:#687568;content:"Colors";letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;flex:none;font-size:.62rem;font-weight:700}.palette-rail-items{scrollbar-width:thin;flex:auto;gap:.45rem;min-width:0;min-height:0;padding:.15rem .2rem .45rem;display:flex;overflow:auto hidden}.palette-rail .palette-row,.palette-rail .palette-button,.palette-add-rail,.palette-manage-rail,.palette-focus-rail{flex:0 0 2.75rem}.palette-rail-actions{flex:none;display:flex}.palette-menu{top:calc(100% + .35rem);left:0}.rail-right .palette-menu{left:0;right:auto}.canvas-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:stretch;gap:.65rem;display:grid;overflow:visible}.canvas-actions .action-section{min-width:0;height:auto;min-height:5rem;overflow:visible}.canvas-actions .reference-actions{grid-column:1/-1;min-height:6.25rem;overflow:hidden}.canvas-actions .reference-actions .trace-controls{scrollbar-width:thin;flex:auto;width:100%;min-width:max-content;min-height:4.4rem;padding:.35rem .15rem .2rem;overflow:auto hidden}.canvas-actions .reference-actions .trace-opacity{width:9rem}.canvas-actions .tool-options{grid-column:1/-1}.canvas-actions .view-actions{grid-column:1}.canvas-actions .canvas-actions-group{grid-column:2}}@media (width<=380px){.canvas-actions{grid-template-columns:1fr}.canvas-actions .tool-options,.canvas-actions .view-actions,.canvas-actions .canvas-actions-group{grid-column:1}.editor-rail-shell,.rail-right .editor-rail-shell{min-height:8.5rem}}.mobile-dock-triggers,.mobile-dock-card{display:none}.editor-rail-popover{display:contents}.mobile-popover-close{display:none}@media (width<=700px){.editor-rail-shell,.rail-right .editor-rail-shell{width:0;height:0;min-height:0;box-shadow:none;background:0 0;border:0;padding:0;display:block;position:static;overflow:visible}.mobile-dock-triggers{justify-content:center;gap:.6rem;width:100%;display:flex}.mobile-dock-card{background:#e5ebe1;border:1px solid #d1dbce;border-radius:.75rem;width:100%;margin-top:.55rem;padding:.6rem;display:flex;box-shadow:0 .45rem 1rem #43372a14}.mobile-dock-trigger{color:#88452f;letter-spacing:.02em;background:#fffdf9;border:1px solid #bc5a3d;border-radius:.55rem;min-width:7.5rem;min-height:2.9rem;font-size:.82rem;font-weight:700}.mobile-dock-trigger:hover,.mobile-dock-trigger[aria-expanded=true]{background:#f1e4da}.mobile-dock-trigger{place-items:center;padding:0;display:grid}.mobile-dock-trigger img{object-fit:contain;width:1.55rem;height:1.55rem}.mobile-colors-trigger{border-color:#8f9c8e}.mobile-dock-color-swatch{border:2px solid #fffdf9;border-radius:.42rem;width:1.55rem;height:1.55rem;display:block;box-shadow:0 0 0 1px #625c55,0 .15rem .25rem #43372a2e}.editor-rail-popover{bottom:max(1rem,env(safe-area-inset-bottom));z-index:100;background:#fffdf9;border:1px solid #d5cec3;border-radius:.7rem;width:min(23rem,100vw - 1.5rem);max-height:min(62svh,32rem);padding:.7rem;display:none;position:fixed;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 .8rem 2rem #43372a38}.editor-rail-popover.mobile-popover-open{display:block}.mobile-popover-close{color:#625c55;text-align:left;background:#f8f5ef;border:1px solid #d5cec3;border-radius:.4rem;width:100%;min-height:2.5rem;margin-bottom:.55rem;padding-inline:.7rem;font-size:.74rem;font-weight:700;display:block}.mobile-popover-close:hover{color:#88452f;border-color:#bc5a3d}.editor-rail-popover .editor-rail{grid-template-columns:repeat(4,minmax(2.8rem,1fr));gap:.4rem;width:100%;max-width:none;padding:.1rem;display:grid;overflow:visible}.editor-rail-popover .editor-rail:before,.editor-rail-popover .palette-rail:before{display:none}.editor-rail-popover .editor-rail .rail-button{width:100%;min-width:2.8rem;min-height:2.8rem}.editor-rail-popover .palette-rail{width:100%;max-width:none;margin:0;display:block;overflow:visible}.editor-rail-popover .palette-rail-items{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));justify-items:center;max-height:min(38svh,15rem);padding:.2rem;display:grid;overflow:hidden auto}.editor-rail-popover .palette-add-rail,.editor-rail-popover .palette-manage-rail,.editor-rail-popover .palette-focus-rail{grid-area:auto;justify-self:auto;width:100%;height:2.75rem;display:grid}.editor-rail-popover .palette-rail-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.editor-rail-popover .palette-row,.editor-rail-popover .palette-button{flex:none}.canvas-actions .reference-actions{min-height:7rem;padding-top:.35rem;padding-bottom:1.1rem;overflow:visible}.canvas-actions .reference-actions>h3{bottom:.35rem}.canvas-actions .tool-options,.canvas-actions .view-actions,.canvas-actions .canvas-actions-group{width:100%;min-width:0}.canvas-actions .view-actions .chart-view,.canvas-actions .canvas-actions-group{width:100%}.canvas-actions .view-actions .chart-view{justify-content:space-evenly}.canvas-actions .brush-settings,.canvas-actions .brush-settings .brush-size-control{width:100%}.canvas-actions .view-actions{min-inline-size:14rem}.canvas-actions .view-actions .chart-view button,.canvas-actions .canvas-actions-group .bottom-control{flex:1 1 0;width:auto}.canvas-actions .canvas-actions-group{justify-content:space-evenly}}@media (width>=521px) and (width<=700px){.canvas-actions{grid-template-columns:minmax(14rem,1fr) minmax(10rem,1fr)}}@media (width<=520px){.canvas-actions{grid-template-columns:1fr}.canvas-actions .tool-options,.canvas-actions .view-actions,.canvas-actions .canvas-actions-group{grid-column:1}.canvas-actions .view-actions{min-inline-size:0}}.palette-row .palette-swatch{position:relative}.palette-pick-pulse{z-index:2;pointer-events:none;border-radius:.85rem;animation:.9s ease-out forwards palette-pick-target;position:absolute;inset:-.3rem;box-shadow:0 0 0 .16rem #fffdf9f2,0 0 0 .3rem #bc5a3d}.palette-pick-pulse:before{content:"";border-radius:inherit;position:absolute;inset:0}.canvas-actions .tool-options [aria-label=Selection\ actions] .tool-option-button{position:relative}.clipboard-pulse{z-index:2;pointer-events:none;border-radius:.7rem;animation:.9s ease-out forwards palette-pick-target;position:absolute;inset:-.25rem;box-shadow:0 0 0 .16rem #fffdf9f2,0 0 0 .3rem #bc5a3d}@keyframes palette-pick-target{0%{opacity:0;transform:scale(2.1)}35%{opacity:1;transform:scale(1.05)}70%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1)}}@keyframes palette-pick-highlight{0%,60%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.palette-pick-pulse,.clipboard-pulse{animation:.7s linear forwards palette-pick-highlight}.button{transition:none}.button:hover{transform:none}.loading-mark{animation:none}.palette-manager-dialog{transition:none}}.project-gallery{padding:.25rem 0 1rem}.project-gallery-header{border-bottom:1px solid #d8d2c7;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1.5rem;padding-bottom:1.2rem;display:grid}.project-gallery-brand{grid-column:1;justify-self:start}.project-gallery-heading{text-align:center;grid-column:2;min-width:0}.project-gallery-header h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1}.project-gallery-actions{flex-wrap:wrap;grid-column:3;justify-content:flex-end;justify-self:end;gap:.65rem;display:flex}.project-gallery-actions .button{min-height:2.75rem}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:1.5rem;display:grid}.project-gallery-card{background:#fffdf9d6;border:1px solid #dad3c8;border-radius:1rem;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 1.5rem 3rem #43372a0e}.project-gallery-card:hover{border-color:#c9b9aa;transform:translateY(-3px);box-shadow:0 1.7rem 3.2rem #43372a1a}.project-gallery-open{color:#272321;text-align:left;background:0 0;width:100%;padding:0;display:block}.project-gallery-open:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #bc5a3d;position:relative}.project-gallery-thumbnail{aspect-ratio:4/3;background:#f3eee5;border-bottom:1px solid #d8d2c7;place-items:center;display:grid;position:relative;overflow:hidden}.project-gallery-thumbnail-fallback{position:absolute;inset:0}.project-gallery-thumbnail canvas{z-index:1;width:auto;max-width:100%;height:auto;max-height:100%;margin:auto;transition:opacity .16s;display:block;position:relative;box-shadow:0 1px 2px #43372a47,0 3px 8px #43372a38}.project-gallery-thumbnail-pending{opacity:0}.project-gallery-neutral-preview{color:#c5b49c;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke-linecap='round'><path d='M0.8 0.8L7.2 7.2' stroke='%23d6cbb9' stroke-width='2.2'/><path d='M0.8 0.8L7.2 7.2' stroke='%23e6dccb' stroke-width='1.5'/><path d='M0.4 0.4L6.8 6.8' stroke='%23f7f2e9' stroke-width='0.5'/><path d='M7.2 0.8L0.8 7.2' stroke='%23d6cbb9' stroke-width='2.2'/><path d='M7.2 0.8L0.8 7.2' stroke='%23e6dccb' stroke-width='1.5'/><path d='M6.8 0.4L0.4 6.8' stroke='%23f7f2e9' stroke-width='0.5'/><path d='M8.8 8.8L15.2 15.2' stroke='%23d6cbb9' stroke-width='2.2'/><path d='M8.8 8.8L15.2 15.2' stroke='%23e6dccb' stroke-width='1.5'/><path d='M8.4 8.4L14.8 14.8' stroke='%23f7f2e9' stroke-width='0.5'/><path d='M15.2 8.8L8.8 15.2' stroke='%23d6cbb9' stroke-width='2.2'/><path d='M15.2 8.8L8.8 15.2' stroke='%23e6dccb' stroke-width='1.5'/><path d='M14.8 8.4L8.4 14.8' stroke='%23f7f2e9' stroke-width='0.5'/></svg>") 0 0/1rem 1rem;place-items:center;width:100%;height:100%;display:grid}.project-gallery-neutral-mark{color:#bc5a3d;font-family:Georgia,serif;font-size:clamp(2.4rem,7vw,4.8rem);line-height:1}.project-gallery-neutral-stitches{color:#718471;letter-spacing:.35em;margin-top:1.3rem;font-family:Georgia,serif;font-size:.9rem}.project-gallery-copy{flex-direction:column;gap:.4rem;padding:1rem 1rem .75rem;display:flex}.project-gallery-meta{color:#8a837a;font-size:.72rem;line-height:1.35}.project-gallery-name{color:#272321;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:1.35rem;line-height:1.12;overflow:hidden}.project-gallery-copy-tight{padding-bottom:.4rem}.project-gallery-title-row{padding:0 1rem .75rem}.project-gallery-name-button{text-align:left;cursor:text;background:0 0;border:0;border-bottom:1px dotted #0000;max-width:100%;padding:0;font-family:Georgia,serif;display:inline-block}.project-gallery-name-button:hover{border-bottom-color:#bc5a3d}.project-gallery-name-button:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.editable-title{min-width:0}.editable-title-button{max-width:100%;color:inherit;font:inherit;text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:0;border-bottom:1px dotted #0000;margin:0 auto;padding:0;display:block;overflow:hidden}.editable-title-button:hover{border-bottom-color:#bc5a3d}.editable-title-button:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.editable-title-input{box-sizing:border-box;width:100%;min-width:0;color:inherit;font:inherit;text-align:center;background:#fffdf9;border:1px solid #bc5a3d;border-radius:.3rem;padding:0 .25rem}.project-gallery-title-input{color:#272321;width:100%;font:inherit;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.4rem;padding:.35rem .6rem;font-size:1.1rem;display:block}.project-gallery-card-actions{justify-content:space-between;align-items:center;gap:.6rem;min-height:3rem;padding:0 .7rem .7rem 1rem;display:flex}.card-action-button{color:#a94e34;min-height:2.5rem;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;flex:none;justify-content:center;align-items:center;padding:.35rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.card-action-button:hover{color:#81432f;background:#fff0e9;border-color:#e1b9a9}.card-action-button:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.card-action-button:disabled{opacity:.5;cursor:not-allowed}.card-action-button-armed,.card-action-button-armed:hover{color:#fffaf5;background:#a94e34;border-color:#a94e34}.project-gallery-empty{background:#fffdf9c7;border:1px solid #dad3c8;border-radius:1rem;align-items:flex-start;gap:1.2rem;margin-top:1.5rem;padding:2rem;display:flex}.project-gallery-empty-icon{color:#bc5a3d;border:1px dashed #bc5a3d;border-radius:.8rem;flex:0 0 3.2rem;place-items:center;width:3.2rem;height:3.2rem;font-size:1.6rem;display:grid}.project-gallery-empty h2{margin:0 0 .45rem}.project-gallery-empty p{color:#777169;margin:0;font-size:.9rem}.project-gallery-empty .actions{margin-top:1.2rem}.project-gallery-empty-start{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:50vh;margin-top:0}.project-gallery-empty-start h2{font-size:clamp(1.6rem,4vw,2.2rem)}.project-gallery-empty-start p{max-width:28rem}.project-gallery-start-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.6rem;display:flex}.project-gallery-start-button{min-width:13rem;min-height:4rem;padding:1rem 1.6rem;font-size:1.05rem}@media (width<=900px){.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.project-gallery-header{grid-template-columns:minmax(0,1fr);gap:1rem}.project-gallery-brand,.project-gallery-heading,.project-gallery-actions{grid-column:1}.project-gallery-actions{justify-self:stretch}.project-gallery-actions .button{flex:10rem}}@media (width<=600px){.project-gallery-grid{grid-template-columns:1fr}.project-gallery-empty{padding:1.25rem}.project-gallery-empty .button{width:100%}.project-gallery-start-actions{flex-direction:column;width:100%}.project-gallery-start-button{width:100%;min-width:0}}.home{padding-bottom:1rem}.home-hero .actions{margin-top:1.6rem}.home-cta{padding:.85rem 1.4rem;font-size:.95rem}.home-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin:2.4rem 0 0;padding:0;list-style:none;display:grid}.home-feature{background:#fffdf9c7;border:1px solid #dad3c8;border-radius:1rem;padding:1.6rem}.home-feature h2{margin:0 0 .5rem;font-size:1.35rem}.home-feature p{color:#777169;margin:0;font-size:.92rem}a.button{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}@media (width<=800px){.home-features{grid-template-columns:1fr}}@media (width<=700px){.home-hero{flex-direction:column;min-height:auto;padding:3.5rem 0 2.8rem}.home-hero .hero-stitches{display:none}}@media (prefers-reduced-motion:reduce){.home-feature,.project-gallery-card{transition:none}.project-gallery-card:hover{transform:none}}.project-gallery-breadcrumb{color:#8a837a;margin-bottom:.25rem;font-size:.85rem}.project-gallery-breadcrumb button{color:#a94e34;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.project-gallery-breadcrumb button:hover{text-decoration:underline}.project-gallery-breadcrumb button:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.project-gallery-folder{background:#f8f1e6;position:relative;overflow:visible;box-shadow:.4rem .4rem 0 -1px #efe6d6,.4rem .4rem #dad3c8,0 1.5rem 3rem #43372a0e}.project-gallery-folder:hover{box-shadow:.45rem .45rem 0 -1px #efe6d6,.45rem .45rem #c9b9aa,0 1.7rem 3.2rem #43372a1a}.project-gallery-folder-tab{background:#f8f1e6;border:1px solid #dad3c8;border-bottom:0;border-radius:.4rem .4rem 0 0;width:2.6rem;height:.75rem;position:absolute;top:-.55rem;left:1.1rem}.project-gallery-folder .project-gallery-open{border-radius:1rem 1rem 0 0;overflow:hidden}.project-gallery-folder-preview{background:#efe6d6;padding:.55rem .55rem 0;display:block}.project-gallery-folder-preview .project-gallery-thumbnail{border:1px solid #d8d2c7;border-radius:.5rem}.project-gallery-folder-rename{padding:0 1rem .5rem}.project-gallery-folder-rename input{color:#272321;width:100%;font:inherit;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.4rem;padding:.5rem .6rem;display:block}.project-gallery-folder-empty{align-items:center}@media (prefers-reduced-motion:reduce){.project-gallery-folder{transition:none}}.project-gallery-card{touch-action:manipulation}.project-gallery-drag-handle{color:#8a837a;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:.4rem;flex:none;justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;padding:.35rem .5rem;font-size:1rem;display:inline-flex}.project-gallery-drag-handle:hover{color:#544b44;background:#f3eee5;border-color:#c9c1b6}.project-gallery-drag-handle:focus-visible{outline-offset:2px;outline:3px solid #bc5a3d}.project-gallery-drag-handle:active{cursor:grabbing}.project-gallery-dragging{opacity:.4}.project-gallery-folder.project-gallery-drop-ready{outline-offset:-2px;background:#fff0e9;outline:2px dashed #bc5a3d}.project-gallery-folder.project-gallery-drop-over{outline-offset:-2px;background:#ffdec9;outline:2px solid #bc5a3d}.project-gallery-folder.project-gallery-drop-disabled{opacity:.45}.project-gallery-drop-label{z-index:2;color:#81432f;text-align:center;text-wrap:balance;pointer-events:none;background:#bc5a3d29;border-radius:1rem;place-items:center;padding:0 1rem;font-size:.85rem;font-weight:700;display:grid;position:absolute;inset:0}.project-gallery-up-bar{color:#8a837a;text-align:center;border:2px dashed #c9c1b6;border-radius:.8rem;place-items:center;margin-top:1.5rem;padding:.9rem;font-size:.85rem;font-weight:700;display:grid}.project-gallery-up-bar.project-gallery-drop-ready{color:#81432f;background:#fff0e9;border-color:#bc5a3d}.project-gallery-up-bar.project-gallery-drop-over{color:#81432f;background:#ffdec9;border-style:solid;border-color:#bc5a3d}.project-gallery-drag-preview{background:#fffdf9;border:1px solid #dad3c8;border-radius:.8rem;align-items:center;gap:.6rem;width:14rem;padding:.5rem;display:flex;transform:rotate(2deg);box-shadow:0 1.2rem 2.4rem #27232147}.project-gallery-drag-preview .project-gallery-thumbnail{border-radius:.4rem;flex:0 0 3.4rem;width:3.4rem;height:3.4rem}.project-gallery-drag-preview-folder-mark{background:#efe6d6;border:1px solid #dad3c8;border-radius:.4rem;flex:0 0 3.4rem;width:3.4rem;height:2.6rem}.project-gallery-drag-preview-name{color:#272321;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:.95rem;overflow:hidden}@media (prefers-reduced-motion:reduce){.project-gallery-drag-preview{transform:none}}.undo-toast{z-index:250;color:#fffaf5;background:#272321;border-radius:.7rem;align-items:center;gap:.9rem;max-width:calc(100% - 2rem);padding:.75rem 1rem;font-size:.85rem;display:flex;position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%);box-shadow:0 1rem 2.4rem #00000047}.undo-toast-text{flex:auto}.undo-toast-action{color:#f4b184;white-space:nowrap;background:0 0;border:1px solid #fffaf566;border-radius:.4rem;flex:none;padding:.4rem .75rem;font-size:.78rem;font-weight:700}.undo-toast-action:hover{background:#fffaf524}.undo-toast-action:focus-visible{outline-offset:2px;outline:3px solid #f4b184}@media (width<=600px){.undo-toast{max-width:none;bottom:1rem;left:1rem;right:1rem;transform:none}}.rail-button[aria-disabled=true]{opacity:.42;cursor:not-allowed}.rail-button[aria-disabled=true]:hover{color:#5c5148;background:#fffdf9;border-color:#d5cec3}.layers-panel{background:#fffdf9;border:1px solid #e1dbd1;border-radius:.55rem;flex-direction:column;gap:.4rem;min-width:0;min-height:0;padding:.6rem .3rem .35rem;display:flex;position:relative}.layers-panel-heading{color:#8a837a;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#fffdf9;margin:0;padding:0 .3rem;font-size:.58rem;font-weight:700;line-height:1;position:absolute;top:-.42rem;left:.55rem}.layers-list{scrollbar-width:thin;flex-direction:column;flex:auto;gap:.15rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden auto}.layer-row{touch-action:pan-y;-webkit-touch-callout:none;background:#fffdf9;border:1px solid #0000;border-radius:.4rem;align-items:center;min-width:0;min-height:2.3rem;display:flex;position:relative}.layer-row:hover{background:#f8f5ef}.layer-row-selected,.layer-row-selected:hover{background:#f1e4da;border-color:#bc5a3d}.layer-row-primary,.layer-row-primary:hover{background:#ecd5c6;box-shadow:inset 0 0 0 1px #bc5a3d}.layer-row-swipe-add{background:#f1e4da;border-color:#bc5a3d}.layer-row-swipe-remove{background:#fffdf9;border-color:#d5cec3}.layer-row-hidden .layer-row-name,.layer-row-hidden .layer-thumbnail{opacity:.45}.layer-row-dragging{z-index:5;cursor:grabbing;box-shadow:0 .5rem 1rem #27232133}.layer-row-drop{outline-offset:-2px;outline:2px dashed #bc5a3d}.layer-row-select{color:#4e4842;min-width:0;min-height:2.2rem;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:.3rem;padding:.15rem .2rem;font-size:.72rem;font-weight:700;display:flex}.layer-row-select:focus-visible,.layer-row-eye:focus-visible,.layer-row-handle:focus-visible,.layer-row-add-reference:focus-visible{outline-offset:-2px;border-radius:.35rem;outline:2px solid #bc5a3d}.layers-group-header{color:#8a837a;letter-spacing:.06em;text-transform:uppercase;flex:none;margin:.25rem .2rem 0;font-size:.56rem;font-weight:700;line-height:1.2}.layers-group-header:first-child{margin-top:0}.layer-row-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.layer-type-symbol{color:#687568;flex:0 0 .95rem;place-items:center;width:.95rem;height:.95rem;display:grid}.layer-type-symbol svg,.layer-type-symbol img{object-fit:contain;width:100%;height:100%;display:block}.layer-type-stitch{color:#88452f}.layer-type-stitch img[data-icon=stitch]{width:90%;height:90%}.layer-type-specialty{color:#546057}.layer-type-canvas,.layer-type-reference{color:#8a837a}.layer-thumbnail{background:repeating-conic-gradient(#f3eee5 0 25%, #fffdf9 0 50%) 0 0 / .5rem .5rem;object-fit:contain;width:1.5rem;height:1.5rem;image-rendering:pixelated;border:1px solid #e1dbd1;border-radius:.25rem;flex:0 0 1.5rem;display:block}.layer-thumbnail-reference{background:linear-gradient(160deg,#e5ebe1,#d1dbce)}.layer-row-eye,.layer-row-handle{color:#625c55;cursor:pointer;background:0 0;border:0;border-radius:.3rem;flex:0 0 1.4rem;place-items:center;width:1.4rem;height:2rem;padding:0;display:grid}.layer-row-eye svg{width:1rem;height:1rem}.layer-row-eye[aria-pressed=true]{color:#aaa49c}.layer-row-eye:hover{color:#88452f}.layer-row-handle{color:#aaa49c;cursor:grab;touch-action:none;flex-basis:1.05rem;width:1.05rem}.layer-row-handle svg{width:.9rem;height:.9rem}.layer-row-handle:hover{color:#88452f}.layer-row-collapsed{min-height:1.9rem}.layer-row-add-reference{color:#687568;min-height:1.75rem;font:inherit;cursor:pointer;background:0 0;border:1px dashed #d1c9bd;border-radius:.35rem;flex:auto;align-items:center;gap:.3rem;padding:.1rem .35rem;font-size:.68rem;font-weight:700;display:flex}.layer-row-add-reference:hover{color:#88452f;border-color:#bc5a3d}.layers-add{position:relative}.layers-add-button{color:#88452f;width:100%;min-height:2.1rem;font:inherit;cursor:pointer;background:#fffdf9;border:1px dashed #d1c9bd;border-radius:.4rem;font-size:.72rem;font-weight:700}.layers-add-button:hover,.layers-add-button[aria-expanded=true]{background:#f1e4da;border-style:solid;border-color:#bc5a3d}.layers-add-menu{z-index:30;background:#fffdf9;border:1px solid #d5cec3;border-radius:.55rem;gap:.2rem;padding:.3rem;display:grid;position:absolute;bottom:calc(100% + .3rem);left:0;right:0;box-shadow:0 .5rem 1.2rem #43372a33}.layers-add-menu button{color:#4e4842;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.35rem;grid-template-columns:.95rem minmax(0,1fr);align-items:center;column-gap:.4rem;padding:.45rem .4rem;font-size:.72rem;font-weight:700;display:grid}.layers-add-menu button:hover:not(:disabled){color:#88452f;background:#f1e4da}.layers-add-menu button:disabled{color:#aaa49c;cursor:not-allowed}.layers-add-menu button small{color:#8a837a;grid-column:2;font-size:.6rem;font-weight:400;line-height:1.25}.canvas-actions .layer-controls{align-items:center;gap:.35rem;min-width:0;display:flex}.layer-control-field{color:#687568;flex-direction:column;gap:.12rem;margin:0;font-size:.58rem;font-weight:700;line-height:1;display:flex}.layer-control-field input[type=text],.layer-control-field select{color:#272321;min-width:0;height:2rem;font:inherit;background:#fffdf9;border:1px solid #d5cec3;border-radius:.35rem;padding:0 .45rem;font-size:.76rem}.layer-control-field input[type=text]:focus-visible,.layer-control-field select:focus-visible{outline-offset:1px;outline:2px solid #bc5a3d}.layer-control-field input[aria-invalid=true]{border-color:#a94e34}.layer-background-button{color:#4e4842;text-align:left;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;border-radius:.4rem;align-items:center;gap:.6rem;width:100%;padding:.4rem .5rem;display:flex}.layer-background-button:hover{background:#f1e4da;border-color:#bc5a3d}.layer-background-swatch{border:1px solid #27232140;border-radius:.4rem;flex:none;width:1.2rem;height:1.2rem}.layer-background-code{white-space:nowrap;font-size:.74rem;font-weight:700;line-height:1}.canvas-actions .layer-action{color:#4e4842;background:#fffdf9;border:1px solid #d5cec3;border-radius:.4rem;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;width:3.1rem;min-width:0;height:2.4rem;padding:0;display:flex}.canvas-actions .layer-action:hover:not(:disabled){color:#88452f;background:#f1e4da;border-color:#bc5a3d}.canvas-actions .layer-action:disabled{color:#aaa49c;cursor:not-allowed;opacity:.58;border-color:#e3ded7}.canvas-actions .layer-action-delete{color:#a94e34}.reference-layer-controls:not([hidden]){display:contents}.layer-merge-menu{background:#fffdf9;border:1px solid #d5cec3;border-radius:.55rem;gap:.2rem;min-width:11rem;padding:.3rem;display:grid;box-shadow:0 .5rem 1.2rem #43372a33}.layer-merge-menu button{color:#4e4842;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.35rem;padding:.5rem .6rem;font-size:.76rem;font-weight:700}.layer-merge-menu button:hover,.layer-merge-menu button:focus-visible{color:#88452f;background:#f1e4da;outline:none}.editor-toast-region{left:50%;bottom:max(1.4rem, env(safe-area-inset-bottom));z-index:260;pointer-events:none;position:fixed;transform:translate(-50%)}.editor-toast{color:#fffaf5;text-align:center;background:#272321;border-radius:.7rem;max-width:min(26rem,100vw - 2rem);margin:0;padding:.65rem 1rem;font-size:.82rem;font-weight:700;animation:.16s ease-out editor-toast-in;box-shadow:0 1rem 2.4rem #00000047}@keyframes editor-toast-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.editor-toast{animation:none}}@media (width>=701px){.editor-rail-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto;gap:.7rem 0;display:grid}.editor-rail-shell .editor-rail{scrollbar-width:none;grid-area:1/2;min-height:0;overflow-y:auto}.editor-rail-shell .palette-rail{grid-area:1/1}.editor-rail-shell .layers-panel{grid-area:2/1/auto/-1;height:33vh}.rail-right .editor-rail-shell{grid-template-columns:auto minmax(0,1fr)}.rail-right .editor-rail-shell .editor-rail{grid-column:1}.rail-right .editor-rail-shell .palette-rail{grid-column:2}}@media (width>=1200px){.editor-layout{grid-template-columns:12.4rem minmax(0,1fr)}.editor-layout.rail-right{grid-template-columns:minmax(0,1fr) 12.4rem}.palette-rail-items,.palette-rail-actions{grid-template-columns:repeat(3,2.75rem)}.palette-add-rail,.palette-manage-rail,.palette-focus-rail{grid-area:auto;justify-self:auto}}@media (width<=700px){.editor-rail-popover .layers-panel{margin-top:.75rem}.editor-rail-popover .layers-add-menu{margin-top:.3rem;position:static}}.rename-layer-dialog{width:min(24rem,100vw - 2rem)}.rename-layer-field{color:#687568;text-transform:uppercase;letter-spacing:.04em;gap:.35rem;margin:.5rem 0 1rem;font-size:.72rem;font-weight:700;display:grid}.rename-layer-field input{color:#272321;width:100%;font:inherit;text-transform:none;letter-spacing:normal;background:#fffdf9;border:1px solid #d1c9bd;border-radius:.35rem;padding:.55rem;font-size:.9rem}.canvas-actions .layer-controls-canvas{flex-wrap:nowrap}.crop-split-button{flex:none;align-items:stretch;gap:0;display:inline-flex}.canvas-actions .crop-split-button button{color:#4e4842;height:2.75rem;min-height:2.75rem;font:inherit;cursor:pointer;background:#fffdf9;border:1px solid #d5cec3;place-items:center;font-size:.74rem;font-weight:700;display:grid}.canvas-actions .crop-split-button .crop-split-main{border-radius:.4rem 0 0 .4rem;min-width:5.6rem;margin:0;padding:0 .7rem}.canvas-actions .crop-split-button .crop-split-arrow{border-radius:0 .4rem .4rem 0;min-width:2rem;margin:0 0 0 -1px;padding:0 .45rem}.canvas-actions .crop-split-button button:hover{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]{color:#fffdf9;background:#bc5a3d;border-color:#bc5a3d}.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]+.crop-split-arrow,.canvas-actions .crop-split-button .crop-split-main:hover+.crop-split-arrow{border-left-color:#bc5a3d}.canvas-actions .crop-split-button .crop-split-arrow[aria-expanded=true]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]+.crop-split-arrow{color:#fffdf9;background:#bc5a3d;border-color:#bc5a3d #bc5a3d #bc5a3d #fffdf973}.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]:hover,.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]+.crop-split-arrow:hover,.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]+.crop-split-arrow[aria-expanded=true]{color:#fffdf9;background:#88452f;border-color:#88452f}.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]:hover+.crop-split-arrow,.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]+.crop-split-arrow:hover,.canvas-actions .crop-split-button .crop-split-main[aria-pressed=true]+.crop-split-arrow[aria-expanded=true]{border-left-color:#fffdf973}.canvas-actions .crop-split-button button:focus-visible{z-index:1;outline-offset:1px;outline:2px solid #bc5a3d;position:relative}.canvas-actions .layer-controls-canvas .layer-background-button{flex:none;align-items:center;gap:.4rem;width:auto;height:2.75rem;min-height:2.75rem;padding:0 .55rem;font-size:.74rem;display:flex}.canvas-actions .layer-controls-canvas .layer-control-field select{height:2.05rem}.crop-mode-menu button[aria-checked=true]{color:#88452f;background:#f1e4da}.crop-mode-menu button[aria-checked=true]:before{content:"✓ "}.crop-mode-menu button:disabled{color:#aaa49c;cursor:not-allowed}.canvas-edge-controls{z-index:110;pointer-events:none;position:absolute;inset:0}.canvas-edge-cluster{pointer-events:none;gap:4px;display:flex;position:absolute}.canvas-edge-cluster-vertical{flex-direction:column}.canvas-edge-button{color:#4e4842;cursor:pointer;pointer-events:auto;touch-action:none;background:#fffdf9;border:1px solid #d5cec3;border-radius:.3rem;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:.8rem;font-weight:700;line-height:1;display:flex;position:relative;box-shadow:0 .15rem .4rem #43372a2e}.canvas-edge-button:after{content:"";position:absolute;inset:-7px -2px}.canvas-edge-cluster-vertical .canvas-edge-button:after{inset:-2px -7px}.canvas-edge-button:hover:not(:disabled),.canvas-edge-button:focus-visible{color:#88452f;outline-offset:1px;border-color:#bc5a3d;outline:2px solid #bc5a3d}.floating-paste-controls{z-index:115;pointer-events:auto;gap:.3rem;display:flex;position:absolute}.floating-paste-controls button{color:#4e4842;cursor:pointer;touch-action:none;background:#fffdf9;border:1px solid #d5cec3;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:1.05rem;font-weight:700;line-height:1;display:grid;box-shadow:0 .5rem 1.2rem #43372a33}.floating-paste-controls button:hover{color:#88452f;border-color:#bc5a3d}.floating-paste-controls button[aria-label^=Apply]{color:#fff;background:#bc5a3d;border-color:#bc5a3d}.floating-paste-controls button[aria-label^=Apply]:hover{color:#fff;background:#88452f;border-color:#88452f}.floating-paste-controls button:focus-visible{outline-offset:1px;outline:2px solid #bc5a3d}.canvas-edge-button:disabled{color:#aaa49c;opacity:.7;cursor:not-allowed;border-color:#e3ded7}.canvas-edge-handle{color:#88452f;cursor:grab;background:#f1e4da}.canvas-edge-cluster:not(.canvas-edge-cluster-vertical) .canvas-edge-handle{cursor:ns-resize}.canvas-edge-cluster-vertical .canvas-edge-handle{cursor:ew-resize}.canvas-edge-handle[aria-pressed=true]{color:#fffdf9;background:#bc5a3d;border-color:#bc5a3d}.import-review-modal{width:fit-content;min-width:min(100%,40rem);max-width:100%;max-height:calc(100vh - 2rem);overflow:hidden auto}.import-file-name,.import-status,.import-steps,.import-pages,.import-warnings,.import-actions,.import-review-modal .control-note,.import-review-modal .modal-error{contain:inline-size}.import-file-name{text-overflow:ellipsis;white-space:nowrap;margin:-.6rem 0 .5rem;overflow:hidden}.import-status:empty{display:none}.import-status{color:#777169;margin-bottom:.5rem;font-size:.78rem}.import-progress{accent-color:#bc5a3d;width:100%}.import-steps{flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.import-steps li{color:#777169;border:1px solid #d5cec3;border-radius:999px;padding:.25rem .7rem;font-size:.72rem;font-weight:700}.import-steps li[aria-current=step]{color:#88452f;background:#f1e4da;border-color:#bc5a3d}.import-steps li[data-done=true]{color:#4e4842}.import-step h3{margin:0 0 .6rem}.import-step h3:focus{outline:none}.import-pages,.import-warnings{margin:0;padding:0;list-style:none}.import-pages{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.75rem;display:grid}.import-page{background:#fffdf9;border:1px solid #e8e2d8;border-radius:.5rem;align-content:start;gap:.45rem;padding:.5rem;display:grid}.import-page-thumb{aspect-ratio:3/4;background:#f6f2ea;border:1px solid #e8e2d8;border-radius:.3rem;place-items:center;display:grid;overflow:hidden}.import-page-thumb img{object-fit:contain;background:#fff;width:100%;height:100%;display:block}.import-page-thumb-empty{color:#b5ada2;font-size:1.4rem;font-weight:700}.import-page-info{color:#4e4842;gap:.1rem;min-width:0;font-size:.78rem;display:grid}.import-page select{width:100%;margin:.3rem 0 0}.import-key-phone-info{display:none}.import-key-frame{overflow-x:auto}.import-key{border-collapse:collapse;color:#4e4842;width:100%;font-size:.78rem}.import-key th{color:#777169;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid #d5cec3;padding:.4rem .5rem;font-size:.68rem;font-weight:700}.import-key td{vertical-align:middle;border-bottom:1px solid #e8e2d8;padding:.5rem}.import-key-row[data-status=guessed]{background:#fbf4e4}.import-key-row[data-status=unmapped]{background:#f8e6e1}.import-key .import-key-symbol{text-align:center}.import-key .import-key-symbol .import-glyph{margin:0 auto}.import-key-heading{align-items:center;gap:.35rem;display:inline-flex}.import-key-status{color:#777169;font-size:.72rem}.import-key-status>span{max-width:10rem;display:block}.import-key-status strong{color:#4e4842}.import-key-match{align-items:center;gap:.4rem;font-weight:700;display:flex}.import-key-action{text-align:right}.import-key-action .button{white-space:nowrap}.import-glyph{color:#272321;flex:none;width:2rem;height:2rem;display:block}.import-swatch{background:#fff;border:1px solid #c9c1b4;border-radius:.2rem;flex:none;width:.9rem;height:.9rem;display:inline-block}.import-preview-frame{background:#fffdf9;border:1px solid #d5cec3;border-radius:.5rem;width:fit-content;max-width:100%;max-height:22rem;margin:.5rem auto;overflow:auto}.import-preview{max-width:none;image-rendering:pixelated;display:block}.import-warnings{color:#6f4b2f;max-height:8rem;font-size:.75rem;overflow-y:auto}.import-warnings li{padding:.2rem 0}.import-actions{justify-content:space-between;gap:.6rem;margin-top:1rem;display:flex}@media (width<=30rem){.creation-modes button{font-size:.7rem}.import-key thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.import-key,.import-key tbody,.import-key-row,.import-key td{display:block}.import-key-row{border-bottom:1px solid #e8e2d8;padding:.4rem 0}.import-key td{border-bottom:0;grid-template-columns:7.5rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.25rem .5rem;display:grid}.import-key td[data-label]:before{content:attr(data-label);color:#777169;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.import-key td.import-key-action{text-align:left;display:block}.import-key .import-key-symbol{text-align:left}.import-key .import-key-symbol .import-glyph{margin:0}.import-key-status>span{max-width:none}.import-key-phone-info{display:inline}.import-key thead .settings-info-wrap{display:none}.import-key-action .button{width:100%}}
