@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/PlusJakartaSans-latin-eXO_dkmS.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html,body,#root{height:100%}body{color:#1f1f1f;background:#f7f3e8;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;overflow:hidden}.app{background:#f7f3e8;flex-direction:column;height:100%;display:flex}.menubar,.toolbar,.statusbar{flex:none}.menubar{background:#f7f3e8;border-bottom:1px solid #e0dacd;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;padding:.3rem .6rem;font-size:.85rem;display:flex;position:relative}.menubar:has(.auth-trigger){padding-right:180px}.brand{white-space:nowrap;margin-right:.6rem;font-weight:600}.menu-item{font:inherit;cursor:pointer;color:#1f1f1f;background:0 0;border:none;border-radius:12px;padding:.15rem .5rem}.menu-item:hover{background:#e0dacd}.menu-item input{display:none}.menu-item.title{white-space:nowrap;flex:none;padding:.15rem .65rem}.menu-item.title.primary{color:#fff;background:#1f1f1f}.menu-item.title.open{background:#e0dacd}.menubar.menus-open{z-index:26}.tabstrip{scrollbar-width:thin;flex:1 1 0;align-items:center;gap:.2rem;min-width:min-content;font-size:.82rem;display:flex;overflow-x:auto}.ptab{color:#6b5c4c;cursor:pointer;white-space:nowrap;background:#e9e0d5;border:1px solid #e0dacd;border-radius:12px;align-items:center;gap:.3rem;min-width:5rem;max-width:15rem;padding:.25rem .3rem .25rem .6rem;display:flex}.ptab.active{color:#1f1f1f;background:#fdfaf6;font-weight:600}.ptab-name{text-overflow:ellipsis;contain:inline-size;flex:1 1 0;min-width:0;overflow:hidden}.ptab-dot{background:#c08a3e;border-radius:50%;flex:none;width:6px;height:6px}.ptab-x{font:inherit;color:inherit;opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 .25rem;line-height:1}.ptab-x:hover{opacity:1;background:#d9cbb9}.ptab-new{font:inherit;color:#6b5c4c;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-self:center;padding:.1rem .45rem}.ptab-new:hover{background:#e0dacd}.hidden-file{display:none}.menu-label{color:#8c8c8c;font-size:.8rem}.menu-sep{background:#e0dacd;align-self:stretch;width:1px;margin:.1rem .35rem}.menu-item:disabled{color:#b8ab9d;cursor:default;background:0 0}.autosave{color:#9c8b79;text-align:right;min-width:8.5rem;font-size:.78rem}.autosave.saved{color:#6f8a6a}.autosave.error{color:#d64b63;font-weight:600}.plan-hold{color:#d64b63;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.spacer{flex:1}.toolbar{scrollbar-width:thin;background:#fbf9f3;border-bottom:1px solid #e0dacd;align-items:center;gap:.5rem;min-width:0;padding:.3rem .6rem;display:flex;overflow-x:auto}.tool-group{border-right:1px solid #e9e0d5;align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.tool{font:inherit;cursor:pointer;background:#fff;border:1px solid #cfcabf;border-radius:12px;min-width:28px;height:28px;line-height:1}.tool:hover{background:#f0e6da}.tool.on{color:#fff;background:#2e7b6c;border-color:#2e7b6c}.tool.toggle.on{color:#2e7b6c;background:#f0e6da;border:2px solid #2e7b6c}.tool.toggle.on:hover{background:#e8dac8}.tool:disabled{opacity:.35;cursor:default}.tool:disabled:hover{background:#fff}.tool:focus-visible{outline-offset:1px;outline:2px solid #2e7b6c}.tool-label{color:#5c5955;font-size:.8rem}.toolbar select{font:inherit;background:#fff;border:1px solid #cfcabf;border-radius:12px;height:28px;padding:0 .3rem;font-size:.85rem}.toolbar select:focus-visible{outline-offset:1px;outline:2px solid #2e7b6c}.view-seg{gap:0}.view-seg .tool{border-radius:0;align-items:center;gap:.3rem;margin-left:-1px;padding:0 .45rem;font-size:.85rem;display:inline-flex}.view-seg .tool.on{z-index:1;position:relative}.view-seg .tool svg{width:16px;height:16px;display:block}.tool-group-look{margin-left:auto}.tool-checkbox{color:#1f1f1f;cursor:pointer;align-items:center;gap:.3rem;height:28px;padding:0 .3rem;font-size:.8rem;display:flex}.tool-checkbox input{accent-color:#2e7b6c;cursor:pointer}.tool-checkbox input:focus-visible{outline-offset:2px;outline:2px solid #2e7b6c}.main{flex:1 1 0;grid-template-columns:320px 1fr;min-height:0;display:grid}.main.with-ref{grid-template-columns:320px 1fr 260px}.main>.colors-panel{grid-area:1/1}.main>.tool-rail{grid-area:1/2}.main>.viewport{grid-area:1/3}.main>.ref-panel{grid-area:1/4}.colors-panel{background:#fff;border-right:1px solid #e0dacd;flex-direction:column;min-height:0;padding:.6rem;display:flex;position:relative}.tool-rail{background:#fbf9f3;border-right:1px solid #e0dacd;flex-direction:column;align-items:center;gap:.25rem;padding:.4rem 0;display:flex}.tool-rail>span>.tool{place-items:center;width:28px;min-width:28px;padding:0;display:grid}.tool-rail>span>.tool svg{width:16px;height:16px;display:block}.fold{flex:none}.fold-head{width:100%;font:inherit;color:#5c5955;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:baseline;gap:.35rem;margin:0 0 .15rem;padding:.2rem .25rem;font-size:.8rem;display:flex}.fold-caret{color:#a08c78;width:.8em;font-size:.7rem}.fold-title{flex:none}.fold-summary{color:#a08c78;text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.75rem;overflow:hidden}.opt-panel{background:#fdfbf8;border:1px solid #e9e0d5;border-radius:16px;flex:none;margin-bottom:.6rem;padding:.3rem .5rem .4rem}.opt-panel .fold-body{padding-top:.2rem}.opt-key-badge{color:#5c5955;background:#efe6d8;border-radius:8px;flex:none;padding:0 .3rem;font-size:.65rem;font-weight:600;line-height:1.3}.opt-caption{color:#a08c78;white-space:nowrap;flex:none;font-size:.65rem}.fold-tip{color:#a08c78;text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.75rem;overflow:hidden}.fold-head.static{color:#5c5955;align-items:baseline;gap:.35rem;width:100%;margin:0;padding:.2rem .25rem;font-size:.8rem;display:flex}.opt-row+.opt-row{margin-top:.4rem}.opt-label{color:#8c8c8c;margin-bottom:.2rem;font-size:.75rem;display:block}.opt-buttons{flex-wrap:wrap;gap:.25rem;display:flex}.opt-buttons .tool{white-space:nowrap;flex:auto;min-width:max-content;padding:0 .4rem}.opt-buttons.stack{flex-direction:column}.opt-note{color:#8a6a3c;margin:.4rem 0 0;font-size:.75rem}.brush-ctl{align-items:center;gap:.5rem;display:flex}.brush-box{flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.brush-square{background:#1f6f4a1f;border:1px solid #1f6f4a;display:block}.brush-ctl input[type=range]{accent-color:#2e7b6c;flex:auto;min-width:0}.brush-readout{text-align:right;color:#8c8c8c;font-variant-numeric:tabular-nums;flex:none;min-width:3.2em;font-size:.75rem}.col-resize{cursor:col-resize;touch-action:none;z-index:4;width:7px;position:absolute;top:0;bottom:0;right:-3px}.col-resize:hover,.col-resize:active{background:#a05c2c4d}.ref-resize{left:-3px;right:auto}.empty-note{color:#8c8c8c;margin:.4rem .2rem;font-size:.85rem}.slider-row{align-items:center;gap:.6rem;font-size:.85rem;display:flex}.slider-row input[type=range]{accent-color:#2e7b6c;flex:1;min-width:0}.size-row{gap:.35rem}.size-box{width:4.2rem;font:inherit;color:inherit;background:#fff;border:1px solid #d8cfc4;border-radius:3px;padding:.15rem .3rem}.size-box:disabled{color:#8a7a6a;background:#f2ece6}.size-x{color:#8a7a6a}.method-row{gap:.35rem}.method-label{color:inherit}.method-row .tool{padding:.15rem .45rem;font-size:.8rem}.slider-note{color:#8a7a6a;margin-bottom:.5rem;font-size:.75rem}.linky{font:inherit;color:#2e7b6c;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.palette-summary .bg-faintest{opacity:.8;cursor:pointer;margin-top:2px;font-size:11px;display:block}.linky.prefer-symbols.armed{color:#8a3d12;background:#f7dcc4;border-radius:12px;padding:.1rem .35rem;font-weight:600;text-decoration:none;box-shadow:inset 0 0 0 1px #d9a877}.stage-bar{color:#6b4a2c;background:#d3e7e0;border:1px solid #e0c9ac;border-radius:16px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.4rem .5rem;font-size:.78rem;display:flex}.stage-bar span{flex:1}.stage-bar.editing{color:#2f5b3d;background:#eaf3ec;border-color:#bcd9c4}.stage-bar button{font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cfcabf;border-radius:12px;padding:.2rem .5rem;font-size:.78rem}.stage-bar button.primary{color:#fff;background:#2e7b6c;border-color:#2e7b6c;font-weight:600}.merge-hint{color:#2e4a75;background:#eef3fb;border:1px solid #b9cce9;border-radius:16px;margin-bottom:.5rem;padding:.4rem .5rem;font-size:.8rem}.merge-hint button{font:inherit;cursor:pointer;background:#fff;border:1px solid #b9cce9;border-radius:12px;padding:.1rem .45rem;font-size:.8rem}.palette-list{border-top:1px solid #ece7db;flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.palette-list li{cursor:pointer;border-bottom:1px solid #ece7db;align-items:center;gap:.4rem;padding:.25rem .2rem;font-size:.82rem;display:flex}.dmc-count{color:#8c8c8c;font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;min-width:42px;font-size:.76rem;line-height:1;display:flex}.bs-mark{vertical-align:-1px;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:7px;height:7px;margin-right:2px}.bs-count{color:#a08b76;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.62rem}.swatch{border:1px solid #0003;border-radius:12px;flex-shrink:0;width:26px;height:26px}.swatch.sm{vertical-align:-2px;border-radius:3px;width:14px;height:14px;display:inline-block}.sym{text-align:center;flex-shrink:0;width:18px;font-family:ChartSymbols,ui-monospace,Consolas,monospace;font-size:1rem;line-height:1}.dmc-code{white-space:nowrap;min-width:38px;font-weight:600}.dmc-name{color:#5c5955;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lock,.merge-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.1rem .15rem;font-size:.78rem}.lock{opacity:.35}.lock.locked{opacity:1}.merge-btn{color:#2e7b6c;text-decoration:underline}.palette-list li.unused .dmc-count,.palette-list li.unused .bs-count,.palette-list li.unused .dmc-name{opacity:.5}.palette-summary{color:#5c5955;border-top:1px solid #ece7db;align-items:center;gap:.5rem;padding-top:.45rem;font-size:.8rem;display:flex}.add-thread{white-space:nowrap;margin-left:auto}.modal-back{z-index:20;background:#3d322952;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;flex-direction:column;width:min(460px,90vw);max-height:76vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #3d32294d}.modal-head{flex-direction:column;gap:.15rem;padding:.7rem .9rem .5rem;font-size:.9rem;display:flex}.modal-head .dim{color:#8c8c8c;font-size:.75rem;line-height:1.35}.modal-search{font:inherit;border:1px solid #cfcabf;border-radius:7px;margin:0 .9rem .5rem;padding:.35rem .5rem;font-size:.85rem}.picker-count{padding:.15rem .9rem .35rem;font-size:.75rem}.thread-picker{border-top:1px solid #ece7db;margin:0;padding:0;list-style:none;overflow-y:auto}.thread-picker li{cursor:pointer;border-bottom:1px solid #f5f0e8;align-items:center;gap:.6rem;padding:.3rem .9rem;font-size:.86rem;display:flex}.thread-picker li .swatch{border-radius:12px;width:38px;height:38px}.modal.threads{width:min(620px,94vw)}.picker-bar{align-items:center;gap:.35rem;padding:0 .9rem .45rem;font-size:.78rem;display:flex}.picker-sort{font:inherit;background:#fff;border:1px solid #cfcabf;border-radius:12px;padding:.2rem .3rem;font-size:.78rem}.tool.tiny{padding:.15rem .45rem;font-size:.75rem;line-height:1.4}.thread-grid{border-top:1px solid #ece7db;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:.5rem;margin:0;padding:.5rem .9rem .6rem;list-style:none;display:grid;overflow-y:auto}.thread-grid li{cursor:pointer;flex-direction:column;align-items:center;gap:2px;display:flex}.thread-grid .tile{aspect-ratio:1;border:1px solid #0003;border-radius:7px;width:100%;position:relative}.thread-grid li:hover .tile{outline-offset:1px;outline:2px solid #2e7b6c}.thread-grid .tile-code{color:#6b5a4a;font-size:.7rem}.thread-grid li.owned{cursor:default;opacity:.45}.thread-grid li.owned:hover .tile{outline:none}.tile-add{color:#6b5a4a;cursor:pointer;background:#fff;border:1px solid #cfcabf;border-radius:50%;width:19px;height:19px;padding:0;font-size:.8rem;line-height:1;position:absolute;bottom:-3px;right:-3px}.tile-add:hover{background:#d3e7e0;border-color:#2e7b6c}.thread-picker li:hover{background:#d3e7e0}.picker-added{border-top:1px solid #ece7db;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:1.55rem;padding:.35rem .9rem;font-size:.78rem;display:flex}.added-chip{background:#fbf6ef;border:1px solid #e6dccd;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .45rem .1rem .15rem;display:inline-flex}.added-chip .chip-swatch{border:1px solid #00000026;border-radius:8px;width:15px;height:15px}.modal-foot{border-top:1px solid #ece7db;justify-content:flex-end;gap:.4rem;padding:.5rem .9rem;display:flex}.modal.narrow{width:min(400px,90vw)}.modal.open-where{width:min(480px,94vw)}.modal.open-where .modal-foot{flex-wrap:wrap}.modal.open-where .modal-foot button{white-space:nowrap}.gen-modal{width:min(660px,94vw)}.gen-body{flex-direction:column;gap:12px;padding:4px 20px 16px;display:flex}.gen-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#8c8c8c;font-size:12px}.gen-input-grid{grid-template-columns:190px 1fr;align-items:stretch;gap:14px;display:grid}.gen-upload-wrap{display:flex;position:relative}.gen-picture-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gen-upload{color:#1f1f1f;min-height:132px;font:inherit;text-align:left;cursor:pointer;background:#fbf9f3;border:1px dashed #d3c4b2;border-radius:16px;flex:1;align-items:flex-end;padding:0;display:flex;position:relative;overflow:hidden}.gen-upload:hover{background:#f9f2e9;border-color:#2e7b6c}.gen-upload.has-image{border-style:solid}.gen-upload img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gen-upload-content{flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex;position:relative}.gen-upload.has-image .gen-upload-content{color:#fdfbf6;text-shadow:0 1px 2px #0009;background:linear-gradient(#1c161100 0%,#1c1611c7 40%,#1c1611f0 100%);padding-top:22px}.gen-upload-content strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gen-upload-content small{opacity:.85;font-size:11px}.gen-unpicture{color:#1f1f1f;height:24px;font:inherit;cursor:pointer;background:#fffdfaeb;border:1px solid #cfcabf;border-radius:999px;padding:0 10px;font-size:11px;position:absolute;top:6px;right:6px}.gen-prompt-wrap{flex-direction:column;gap:6px;display:flex}.gen-prompt-label{color:#1f1f1f;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;font-weight:600;display:flex}.gen-prompt-label span{color:#8c8c8c;font-size:11px;font-weight:400}.gen-prompt{resize:vertical;color:#1f1f1f;min-height:100px;font:inherit;background:#fbf9f3;border:1px solid #cfcabf;border-radius:16px;flex:1;padding:8px 12px}.gen-refused{color:#a3382c;font-size:12px}.gen-hint{color:#8c8c8c;font-size:12px}.gen-suggestions{flex-wrap:wrap;gap:6px;display:flex}.gen-suggestions .chip{color:#1f1f1f;max-width:100%;height:26px;font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#fdfbf6;border:1px solid #cfcabf;border-radius:999px;padding:0 12px;font-size:12px;overflow:hidden}.gen-suggestions .chip:hover{background:#d3e7e0}.gen-complexity{background:#fbf9f3;border:1px solid #eadfd1;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.gen-complexity-label{color:#1f1f1f;flex-direction:column;gap:2px;font-size:13px;display:flex}.gen-complexity-label small{color:#8c8c8c;font-size:11px}.gen-switch{color:#5c5955;height:28px;font:inherit;cursor:pointer;background:#fdfbf6;border:1px solid #cfcabf;border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:12px;display:inline-flex}.gen-switch.on{color:#2e7b6c;border-color:#2e7b6c}.gen-switch-track{background:#cfcabf;border-radius:999px;width:30px;height:16px;position:relative}.gen-switch-track:after{content:"";background:#fdfbf6;border-radius:50%;width:12px;height:12px;transition:transform .12s;position:absolute;top:2px;left:2px}.gen-switch.on .gen-switch-track:after{transform:translate(14px)}.gen-foot{align-items:center;gap:12px;display:flex}.gen-credit-copy{color:#5c5955;margin-left:auto;font-size:12px}.gen-credit-copy strong{color:#1f1f1f}.gen-primary{height:34px;padding:0 16px}@media (width<=560px){.gen-input-grid{grid-template-columns:1fr}}.gen-working{color:#8c8c8c;justify-content:center;align-items:center;gap:10px;padding:24px 0;font-size:.9rem;display:flex}.gen-result{align-items:flex-start;gap:16px;display:flex}.gen-result img{object-fit:contain;width:220px;height:220px;image-rendering:pixelated;background:#f7f3ee;border-radius:16px}.gen-actions{flex-direction:column;gap:8px;display:flex}.gen-actions .tool{height:32px;padding:0 14px}.gen-signin{color:#5c5955;padding:8px 2px;font-size:13px}.gen-failed{color:#5c5955;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0;font-size:13px;display:flex}.modal.strands{flex-direction:column;width:min(520px,94vw);max-height:86vh;display:flex}.strand-defaults{border-bottom:1px solid #ece7db;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.5rem .9rem .6rem;display:flex}.strand-defaults label{align-items:center;gap:.35rem;font-size:.82rem;display:flex}.strand-list{flex:auto;min-height:0;padding:.3rem .9rem .5rem;overflow-y:auto}.strand-row{border-radius:12px;grid-template-columns:20px 1fr auto auto;align-items:center;gap:.5rem;padding:.18rem .25rem;font-size:.82rem;display:grid}.strand-row.head{text-transform:uppercase;letter-spacing:.04em;color:#9a8f80;background:#fff;padding-bottom:.3rem;font-size:.72rem;position:sticky;top:0}.strand-row.head span:nth-child(3),.strand-row.head span:nth-child(4){text-align:center;min-width:4.6rem}.strand-row.own{background:#fdf6ea}.strand-row.focus{outline-offset:-1px;outline:2px solid #c9a227}.strand-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.strand-sel{font:inherit;background:#fff;border:1px solid #cfcabf;border-radius:12px;min-width:4.6rem;padding:.12rem .25rem;font-size:.8rem}.size-grid{flex-direction:column;align-items:center;gap:.4rem;padding:.6rem .9rem .3rem;display:flex}.size-mid{align-items:center;gap:.5rem;display:flex}.size-edge{font:inherit;text-align:center;border:1px solid #cfcabf;border-radius:7px;width:3.6rem;padding:.3rem .35rem;font-size:.85rem}.size-total{background:#faf4ec;border:1px solid #f0e4d4;border-radius:16px;align-items:flex-end;gap:.35rem;padding:.45rem .55rem;display:flex}.size-total label{color:#8c8c8c;flex-direction:column;gap:.15rem;font-size:.68rem;display:flex}.size-total input{font:inherit;text-align:center;border:1px solid #cfcabf;border-radius:12px;width:4.4rem;padding:.25rem .3rem;font-size:.9rem}.size-x{color:#8c8c8c;padding-bottom:.35rem}.size-crop{flex-wrap:wrap;align-items:center;gap:.45rem;padding:.35rem .9rem .1rem;font-size:.78rem;display:flex}.size-crop label{color:#8c8c8c;align-items:center;gap:.3rem;display:flex}.size-crop input{font:inherit;text-align:center;border:1px solid #cfcabf;border-radius:12px;width:3rem;padding:.2rem .25rem;font-size:.8rem}.size-warn{color:#8c8c8c;margin:0;padding:.45rem .9rem .6rem;font-size:.78rem}.size-warn.loud{color:#a33b25;font-weight:600}.modal.wide{width:min(780px,94vw)}.modal.wide.pdf-wide{width:min(840px,96vw);max-height:92vh}.modal.wide.pdf-wide .pdf-body{flex:auto;min-height:0;overflow:hidden}.modal.wide.pdf-wide .pdf-settings{flex:0 0 320px;overflow-y:auto}.pdf-body{gap:1rem;padding:.2rem .9rem .6rem;display:flex;overflow:auto}.pdf-settings{flex-direction:column;flex:300px;gap:.7rem;min-width:260px;display:flex}.pdf-group{border:1px solid #ece7db;border-radius:16px;padding:.5rem .6rem .6rem}.pdf-group-head{color:#8c8c8c;margin-bottom:.4rem;font-size:.78rem;font-weight:600}.pdf-edition{align-items:center;gap:.45rem;padding:.2rem 0;font-size:.85rem;display:flex}.pdf-edition-name{text-align:left;font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;border-radius:12px;flex:1;padding:.15rem .3rem}.pdf-edition-name:hover{background:#f7f3ee}.pdf-edition-name.on{background:#ece7db;font-weight:600}.pdf-row{justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .3rem;font-size:.85rem;display:flex}.pdf-row.col{flex-direction:column;align-items:stretch;gap:.2rem}.pdf-row.col input[type=range]{width:100%}.pdf-row.check{cursor:pointer;justify-content:flex-start;gap:.4rem}.pdf-row.check input{margin:0}.pdf-hint{color:#8a7f72;font-size:.78rem;font-style:normal}.pdf-row select{font:inherit;font-size:.82rem}.pdf-value{float:right;font-variant-numeric:tabular-nums}.pdf-note{color:#7a6244;background:#fdf6e6;border-radius:12px;margin:.45rem 0 0;padding:.35rem .45rem;font-size:.78rem}.pdf-preview{flex-direction:column;flex:0 0 288px;align-items:center;gap:.5rem;width:288px;display:flex}.pdf-tabs{align-self:center;gap:.3rem;display:flex}.pdf-preview.full{flex:auto;align-items:stretch;width:auto;min-width:0}.pdf-frame-wrap{flex-direction:column;flex:auto;gap:.4rem;min-height:320px;display:flex}.pdf-frame{background:#fff;border:1px solid #e6dcd0;border-radius:16px;flex:auto;width:100%;min-height:0}.pdf-frame-note{color:#8c8c8c;border:1px dashed #e6dcd0;border-radius:16px;flex:auto;place-items:center;min-height:0;font-size:.85rem;display:grid}.pdf-frame-wrap .pdf-readout{min-height:0}.pdf-readout{text-align:center;overflow-wrap:break-word;width:100%;min-height:8.6em;font-size:.8rem;line-height:1.5}.pdf-warn{color:#256a5d}.pdf-todo{align-self:center;margin-right:auto}.pagemap-chart{fill:#fbf9f3;stroke:#cfcabf;stroke-width:1px}.pagemap-page{fill:none;stroke:#8c8c8c;stroke-width:1.5px}.pagemap-num{text-anchor:middle;dominant-baseline:central;fill:#8c8c8c;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;stroke-linejoin:round;font-size:15px;font-weight:600}.pagemap-empty-fill{fill:#b4553a29}.pagemap-page.empty{stroke:#256a5d;stroke-width:2px}.pagemap-num.empty{fill:#256a5d}.pagemap-empty-tag{text-anchor:middle;dominant-baseline:central;letter-spacing:.06em;text-transform:uppercase;fill:#256a5d;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:600}.modal-foot .tool.primary{color:#fff;background:#2e7b6c;border-color:#2e7b6c;font-weight:600}.form-grid{grid-template-columns:auto 1fr;align-items:center;gap:.4rem .6rem;padding:.2rem .9rem .4rem;font-size:.82rem;display:grid}.form-grid input{font:inherit;border:1px solid #cfcabf;border-radius:12px;min-width:0;padding:.3rem .45rem;font-size:.82rem}.modal-note{color:#8c8c8c;margin:0;padding:0 .9rem .6rem;font-size:.74rem;line-height:1.4}.sym.by-hand{border-bottom:2px solid #c08a4a}.sym.dupe{color:#a12c2c;background:#fbe4e4;border-radius:3px}.sym.inline{width:auto;min-width:14px;padding:0 2px;display:inline-block}.dupe-warn{color:#8a3a3a;background:#fbe4e4;border:1px solid #eec4c4;border-radius:7px;margin:0 0 .4rem;padding:.4rem .5rem;font-size:.75rem;line-height:1.4}.menu-back{z-index:25;position:fixed;inset:0}.row-menu{background:#fff;border:1px solid #e0dacd;border-radius:16px;min-width:190px;padding:.25rem;font-size:.82rem;position:absolute;box-shadow:0 6px 20px #3d322938}.row-menu-head{color:#8c8c8c;border-bottom:1px solid #ece7db;align-items:center;gap:.4rem;margin-bottom:.2rem;padding:.25rem .45rem .35rem;font-size:.75rem;display:flex}.row-menu button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:.3rem .45rem;display:block}.row-menu button:hover{background:#d3e7e0}.app-menu{min-width:220px}.app-menu button{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.app-menu button:disabled{color:#b8ab9d;cursor:default}.app-menu button:disabled:hover{background:0 0}.menu-keys{color:#a2968a;font-variant-numeric:tabular-nums;font-size:.75rem}.app-menu button:disabled .menu-keys{color:#cdc2b5}.modal.symbols{width:min(560px,92vw)}.symbol-grid{border-top:1px solid #ece7db;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:3px;padding:.2rem .9rem .6rem;display:grid;overflow-y:auto}.symbol-cell{aspect-ratio:1;cursor:pointer;color:#1f1f1f;background:#fff;border:1px solid #e8dfd3;border-radius:12px;justify-content:center;align-items:center;font-family:ChartSymbols,ui-monospace,monospace;font-size:1.25rem;line-height:1;display:flex}.symbol-cell:hover{background:#d3e7e0;border-color:#c9a87f}.symbol-cell.taken{color:#b9a894;background:#f6f1ea}.symbol-cell.current{background:#d3e7e0;border-width:2px;border-color:#2e7b6c}.symbol-cell.overflow-start{border-left:3px solid #d9c3a4}.cloth-chip{color:#1f1f1f;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #e0d5c6;border-radius:12px;align-items:center;gap:.35rem;max-width:11rem;padding:.25rem .5rem;font-size:.78rem;display:inline-flex;overflow:hidden}.cloth-chip:hover:not(:disabled){background:#d3e7e0;border-color:#c9a87f}.cloth-chip:focus-visible{outline-offset:1px;outline:2px solid #2e7b6c}.cloth-chip:disabled{opacity:.35;cursor:default}.cloth-dot{border:1px solid #3d322959;border-radius:8px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #ffffff73}.cloth-dot.big{border-radius:12px;width:26px;height:26px}.cloth-quick{grid-template-columns:repeat(5,1fr);gap:6px;padding:.6rem .9rem .2rem;display:grid}.cloth-groups{border-top:1px solid #ece7db;max-height:40vh;padding-bottom:.4rem;overflow-y:auto}.cloth-group h4{color:var(--ink-soft);margin:.55rem .9rem .25rem;font-size:.8rem;font-weight:600}.cloth-group h4 .dim{margin-left:.3rem;font-size:.72rem;font-weight:400}.cloth-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:5px;padding:.1rem .9rem .3rem;display:grid}.cloth-swatch{color:#1f1f1f;cursor:pointer;text-align:left;background:#fff;border:1px solid #e8dfd3;border-radius:12px;align-items:center;gap:.4rem;min-width:0;padding:.3rem .45rem;font-size:.76rem;display:flex}.cloth-swatch:hover{background:#d3e7e0;border-color:#c9a87f}.cloth-swatch.current{background:#d3e7e0;border-width:2px;border-color:#2e7b6c}.cloth-quick .cloth-swatch{text-align:center;flex-direction:column;gap:.25rem}.cloth-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cloth-custom{color:#5c5955;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.8rem;display:flex}.cloth-custom input[type=color]{cursor:pointer;background:#fff;border:1px solid #e0d5c6;border-radius:12px;width:42px;height:26px;padding:0}.cloth-custom code{color:#1f1f1f;font-size:.75rem}.cloth-weaves{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:.6rem .9rem .2rem;display:grid}.cloth-weave{font:inherit;color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #e0d5c6;border-radius:7px;flex-direction:column;align-items:center;gap:5px;padding:7px;font-size:.78rem;display:flex}.cloth-weave:hover{border-color:#c9b8a3}.cloth-weave.current{border-color:#8a6d4b;box-shadow:inset 0 0 0 1px #8a6d4b}.cloth-weave-swatch{border:1px solid #e8ddd0;border-radius:8px;width:56px;height:56px;display:block}.cloth-strength{color:#5c5955;align-items:center;gap:.5rem;padding:.4rem .9rem .1rem;font-size:.8rem;display:flex}.cloth-strength input[type=range]{flex:1;min-width:120px}.cloth-strength code{text-align:right;color:#1f1f1f;min-width:2.2rem;font-size:.75rem}.modal.print-colour{width:min(460px,94vw)}.print-preview{border-bottom:1px solid #ece7db;align-items:center;gap:.5rem;padding:.7rem .9rem;font-size:.78rem;display:flex}.swatch.lg{border-radius:12px;width:34px;height:34px}.print-arrow{color:#a08c74;margin:0 .2rem}.print-same{color:#1f1f1f;cursor:pointer;align-items:center;gap:.45rem;padding:.6rem .9rem .2rem;font-size:.82rem;display:flex}.print-scope{flex-wrap:wrap;align-items:center;gap:.35rem;padding:.5rem .9rem .2rem;font-size:.82rem;display:flex}.print-scope[aria-disabled=true]{opacity:.55}.modal-note.warn{color:#6b4c17;background:#fdf3e2;border:1px solid #e6cf9f;border-radius:12px;margin:.15rem .9rem 0;padding:.35rem .5rem;font-size:.76rem}.print-pick[aria-disabled=true]{opacity:.55}.print-presets{flex-wrap:wrap;gap:.35rem;padding:.45rem .9rem 0;display:flex}.print-comment{color:#1f1f1f;flex-direction:column;gap:.3rem;padding:.5rem .9rem .2rem;font-size:.82rem;display:flex}.print-comment input{font:inherit;color:#1f1f1f;background:#fff;border:1px solid #e0d5c6;border-radius:12px;padding:.35rem .5rem;font-size:.8rem}.held-note{color:#6b4c17;background:#fdf3e2;border:1px solid #e6cf9f;border-radius:16px;margin-bottom:.5rem;padding:.4rem .5rem;font-size:.76rem;line-height:1.35}.gen-takes-bar{background:var(--white,#fdfbf6);box-shadow:var(--float-shadow,0 4px 14px #3d322938);z-index:6;border:1px solid #d9cbbb;border-radius:16px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.gen-takes-label{color:#4a3f36;white-space:nowrap;margin-right:2px;font-size:.78rem;font-weight:650}.gen-take-thumb{cursor:pointer;opacity:.65;background:0 0;border:1.5px solid #0000;border-radius:10px;width:44px;height:44px;padding:0;overflow:hidden}.gen-take-thumb.on{opacity:1;border-color:var(--teal)}.gen-take-thumb img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.statusbar .setup-pill{color:#fff;cursor:pointer;background:#ffffff47;border:0;border-radius:999px;height:20px;padding:0 10px;font-size:10.5px;font-weight:750}.statusbar .setup-pill:hover{background:#fff6}.toast{color:#fff;pointer-events:none;z-index:6;background:#1f1f1f;border-radius:999px;padding:.4rem .8rem;font-size:.82rem;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.sel-bar{z-index:6;background:#fdfbf6;border:1px solid #d9cbbb;border-radius:16px;align-items:center;gap:.25rem;padding:.3rem .4rem;display:flex;position:absolute;bottom:54px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #3d322938}.sel-bar .tool{min-width:30px;font-size:1rem;line-height:1}.sel-count{color:#5c5955;white-space:nowrap;border-left:1px solid #e3d8cb;padding:0 .4rem 0 .5rem;font-size:.78rem}.status-sel{color:#f3a83b;font-weight:600}.hl-bar{color:#4a3f36;z-index:6;background:#fdfbf6;border:1px solid #d9cbbb;border-radius:16px;flex-wrap:wrap;align-items:center;gap:.6rem;max-width:calc(100% - 24px);padding:.32rem .5rem;font-size:.78rem;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #3d322938}.hl-bar label{white-space:nowrap;cursor:pointer;align-items:center;gap:.25rem;display:flex}.hl-bar label.hl-guard{background:#fff;border:1px solid #d9cbbb;border-radius:999px;padding:.1rem .4rem}.hl-bar label.hl-guard.off-stage{opacity:.35;cursor:default}.hl-bar label.hl-guard.on{color:#fff;background:#2e7b6c;border-color:#2e7b6c}.fix-bar{background:#f7fbff;border-color:#9cc4e8;top:56px}.fix-bar .hl-count{border-right:none}.hl-bar .tool{font-size:.78rem}.hl-what{white-space:nowrap;font-weight:600}.hl-count{color:#5c5955;white-space:nowrap;border-right:1px solid #e3d8cb;padding-right:.35rem}.hl-slider input[type=range]{width:96px}.hl-pct{color:#5c5955;font-variant-numeric:tabular-nums;min-width:2.6em}.row-menu-sep{background:#ece7db;height:1px;margin:.25rem .2rem}.row-menu-label{letter-spacing:.02em;text-transform:uppercase;color:#a2968a;padding:.25rem .5rem .1rem;font-size:.72rem}.row-menu button.checked{font-weight:600}.row-menu button:disabled{color:#b8ab9d;cursor:default}.row-menu button:disabled:hover{background:0 0}.row-menu button.danger:hover{background:#f7e0dc}.viewport{background:#f7f3ee;min-width:0;min-height:0;position:relative;overflow:hidden}.viewport canvas{cursor:grab;touch-action:none;display:block}.viewport canvas:active{cursor:grabbing}.viewport.dragover:after{content:"";pointer-events:none;border:2px dashed #2e7b6c;border-radius:24px;position:absolute;inset:8px}.overlay{text-align:center;background:#fff;border:1px solid #e0dacd;border-radius:24px;min-width:260px;padding:1rem 1.6rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 12px #3d322914}.overlay p{margin:.2rem 0}.overlay .dim{color:#8c8c8c;font-size:.85rem}.bar{background:#f0e6da;border-radius:999px;height:10px;margin-top:.5rem;overflow:hidden}.bar .fill{background:#2e7b6c;height:100%;transition:width .1s}.ref-panel{background:#fff;border-left:1px solid #e0dacd;flex-direction:column;min-height:0;display:flex;position:relative}.ref-head{color:#5c5955;background:#f7f3e8;border-bottom:1px solid #e0dacd;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .4rem .25rem .6rem;font-size:.78rem;display:flex}.ref-head button{font:inherit;cursor:pointer;color:#5c5955;background:0 0;border:none;border-radius:8px;padding:0 .25rem;line-height:1.4}.ref-head button:hover{background:#e0dacd}.ref-body{touch-action:none;flex:1;justify-content:center;align-items:center;min-height:0;padding:0;display:flex;overflow:hidden}.ref-body .empty-note{padding:.5rem}.ref-body img{width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;transform-origin:0 0;will-change:transform;border-radius:12px}.ref-foot{color:#8c8c8c;border-top:1px solid #ece7db;flex-shrink:0;padding:.3rem .6rem;font-size:.75rem}.ref-body img.ref-sample{cursor:copy}.ref-body.panning,.ref-body.panning img.ref-sample{cursor:grabbing}.ref-fit{font-variant-numeric:tabular-nums;color:#5c5955;font-size:.72rem;background:#e0dacd!important;padding:0 .35rem!important}.ref-fit:hover{background:#d5c7b6!important}.dmc-finder{background:#fff;border:1px solid #e0dacd;border-radius:16px;width:330px;font-size:.82rem;position:absolute;overflow:hidden;box-shadow:0 6px 20px #3d322938}.dmc-finder-head{background:#f7f3e8;border-bottom:1px solid #e0dacd;align-items:center;gap:.5rem;padding:.45rem .4rem .45rem .55rem;display:flex}.dmc-finder-picked{border:1px solid #3d322940;border-radius:12px;flex-shrink:0;width:28px;height:28px}.dmc-finder-title{flex-direction:column;min-width:0;line-height:1.25;display:flex}.dmc-finder-title .dim{color:#8c8c8c;font-size:.72rem}.dmc-finder-head button{font:inherit;cursor:pointer;color:#5c5955;background:0 0;border:none;border-radius:8px;padding:0 .3rem}.dmc-finder-head button:hover{background:#e0dacd}.dmc-finder-list{margin:0;padding:.25rem;list-style:none}.dmc-finder-list li{cursor:pointer;border-radius:12px;grid-template-columns:auto 3.2rem 1fr auto;grid-template-areas:"sw code name act""sw de de act";align-items:center;gap:0 .45rem;padding:.3rem .4rem;display:grid}.dmc-finder-list li:hover{background:#f7f1e8}.dmc-finder-list li .swatch{grid-area:sw;width:22px;height:22px}.dmc-finder-code{grid-area:code;font-weight:600}.dmc-finder-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;overflow:hidden}.dmc-finder-de{color:#8c8c8c;grid-area:de;font-size:.72rem}.dmc-finder-act{color:#8c8c8c;white-space:nowrap;grid-area:act;font-size:.72rem}.dmc-finder-list li.owned{background:#f7f3e8}.dmc-finder-list li.owned .dmc-finder-act{color:#6b8f5e}.dmc-finder-foot{color:#5c5955;border-top:1px solid #ece7db;align-items:center;gap:.5rem;padding:.35rem .55rem;font-size:.75rem;display:flex}.dmc-finder-foot label{cursor:pointer;align-items:center;gap:.3rem;display:flex}.dmc-finder-foot .dim{color:#8c8c8c;margin-left:auto}.shade-panel{z-index:40;background:#fff;border:1px solid #e0dacd;border-radius:16px;width:300px;font-size:.82rem;position:fixed;overflow:hidden;box-shadow:0 10px 26px #3d322952}.shade-list .shade-pick{cursor:default;background:#f7f3e8;border:1px dashed #cbbba6}.shade-list .shade-pick .dmc-finder-name{font-weight:600}.shade-list .shade-pick:hover{background:#f7f3e8}.shade-list .shade-none{color:#8c8c8c;cursor:default;padding:.35rem .5rem;font-size:.74rem;font-style:italic;display:block}.shade-list .owned .dmc-finder-act{color:#4a7a3a}.shade-foot{background:#faf6f0;gap:.7rem}.shade-foot select{font:inherit;font-size:.74rem}.ref-float{box-sizing:border-box;resize:both;z-index:5;background:#fff;border:1px solid #d5c7b6;border-radius:16px;flex-direction:column;width:240px;min-width:140px;height:260px;min-height:120px;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 18px #3d322938}.ref-float .ref-head{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.ref-float .ref-head:focus-visible{outline-offset:-2px;outline:2px solid #b4653f}.ref-min{z-index:6;font:inherit;color:#1f1f1f;cursor:pointer;background:#fdfbf6;border:1px solid #d9cbbb;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex;position:absolute;bottom:12px;left:12px;box-shadow:0 4px 14px #3d322938}.hover-chip{font:inherit;color:#1f1f1f;pointer-events:none;background:#fdfbf6;border:1px solid #d9cbbb;border-radius:999px;align-self:flex-end;padding:.3rem .7rem;font-size:.78rem;font-weight:600;box-shadow:0 4px 14px #3d322938}.warning{color:#6a5215;pointer-events:none;background:#fdf3d7;border:1px solid #e0b13e;border-radius:16px;padding:.6rem .8rem;font-size:.85rem;line-height:1.45;position:absolute;right:12px}.statusbar{color:#fff;white-space:nowrap;background:#2e7b6c;align-items:center;gap:.6rem;min-width:0;padding:.25rem .7rem;font-size:.78rem;display:flex;overflow:hidden}.statusbar :focus-visible{outline-color:#fff}.status-zoom{flex:none;align-items:center;gap:.25rem;display:flex}.zoom-percent{font-variant-numeric:tabular-nums;min-width:44px;padding:0 .3rem;font-size:.78rem}.statusbar .dim,.statusbar .autosave,.statusbar .autosave.saved{color:#ffffffb8}.statusbar .autosave.error{color:#f3a83b}.status-active{align-items:center;gap:.35rem;display:inline-flex}.status-view{flex:none;align-items:center;gap:.4rem;display:flex}.status-view .seg{background:#ffffff42;height:24px;padding:2px}.status-view .seg-item{color:#fffc;min-width:28px;padding:0 7px;font-size:.78rem}.status-view .tool{color:#fff;background:#ffffff42;border-color:#0000;min-width:24px;height:24px;font-size:.78rem}.status-view .tool:hover{background:#ffffff6b}.status-view .tool.toggle.on,.status-view .tool.toggle.on:hover{color:#1f1f1f;background:#fff;border-color:#0000}.pdf-title-input{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #cbbfa6;border-radius:12px;padding:.3rem .4rem;font-size:.85rem}.pdf-title-input:focus{outline-offset:-1px;outline:2px solid #b08a4a}.modal.recents{width:min(560px,94vw)}.recent-list{max-height:46vh;padding:0 .6rem .4rem;overflow-y:auto}.recent-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:baseline;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.recent-row:hover:not(:disabled){background:#f7f3e8;border-color:#ece2d6}.recent-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.recent-meta{flex:none;font-size:.74rem}.recent-when{text-align:right;flex:none;min-width:8.5em;font-size:.74rem}.recent-row.here .recent-name{font-weight:600}.recent-row:disabled{cursor:default;opacity:.55}.recent-note{color:#9a4a2a;padding-bottom:.2rem}.exp-list{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:0 0 .6rem;padding:.4rem .6rem;font-size:.82rem;list-style:none}.exp-list li{align-items:baseline;gap:.6rem;padding:.12rem 0;display:flex}.exp-list .exp-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.exp-list li.done .exp-name:after{content:" ✓";color:var(--ok,#2c7a4b)}.exp-list li.skipped .exp-name{opacity:.55;text-decoration:line-through}.exp-list li.skipped{opacity:.8}.exp-checks{margin:0 0 .6rem;padding:0;font-size:.82rem;list-style:none}.exp-checks li{border-radius:8px;margin-bottom:.25rem;padding:.25rem .5rem}.exp-checks li.warn{background:#fdf0e2;border:1px solid #e8c9a0}.exp-checks li.note{background:var(--panel);border:1px solid var(--line)}.setup-min{font:inherit;color:#1f1f1f;cursor:pointer;background:#fdfbf6;border:1px solid #d9cbbb;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex;box-shadow:0 4px 14px #3d322938}.setup-float{z-index:5;background:#fff;border:1px solid #d5c7b6;border-radius:16px;flex-direction:column;gap:10px;width:320px;padding:12px 14px 14px;display:flex;position:absolute;box-shadow:0 4px 18px #3d322938}.setup-float-head{align-items:center;gap:8px;display:flex}.setup-float-head .dim{color:#8a7a68;flex:1;font-size:.78rem}.setup-float .warning{pointer-events:auto;position:static}.seg{background:#e0dacd;border-radius:999px;align-items:center;gap:2px;height:28px;padding:3px;display:inline-flex}.seg-item{isolation:isolate;color:#5c5955;min-width:30px;height:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:0 .55rem;font-size:.82rem;font-weight:600;transition:color .15s;display:inline-flex;position:relative}.seg-item:hover,.seg-item.on{color:#1f1f1f}.seg-item:focus-visible{outline-offset:1px;outline:2px solid #2e7b6c}.seg-item svg{z-index:1;width:16px;height:16px;display:block;position:relative}.seg-label{z-index:1;white-space:nowrap;position:relative}.seg-pill{z-index:0;background:#fff;border-radius:999px;position:absolute;inset:0;box-shadow:0 1px 2px #0000001f}.ptip-anchor{display:inline-flex;position:relative}.ptip{z-index:40;pointer-events:none;color:#fff;background:#1f1f1f;border-radius:16px;width:max-content;max-width:16rem;padding:.3rem .6rem;font-size:.74rem;font-weight:500;line-height:1.35;position:absolute;box-shadow:0 6px 18px #0000002e}.ptip b{font-weight:700}.ptip.right{transform-origin:0;top:50%;left:calc(100% + 10px)}.ptip.top{transform-origin:bottom;bottom:calc(100% + 8px);left:50%}.ptip-kbd{background:#ffffff2e;border-radius:8px;margin-left:.45rem;padding:0 .3rem;font-family:ui-monospace,Consolas,monospace;font-size:.7rem}:root{--coral:#e8697e;--coral-deep:#d64b63;--coral-tint:#f9d9de;--mustard:#f3a83b;--mustard-tint:#fbe8c9;--teal:#2e7b6c;--teal-deep:#256a5d;--teal-tint:#d3e7e0;--cream:#f7f3e8;--cream-deep:#ede7d9;--ink:#1f1f1f;--ink-soft:#3a3a3a;--muted:#8c8c8c;--hair:#cfcabf;--white:#fff;--ghost:#ffffff42;--ghost-strong:#ffffff6b;--hatch:repeating-linear-gradient(45deg, transparent 0 6px, #ffffff1f 6px 7px);--float-shadow:0 12px 32px #1f1f1f24;--ruler-bg:#ede7d9;--ruler-line:#1f1f1f;--ruler-text:#3a3a3a;--ruler-font:700 10px "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif}body{color:var(--ink);background:var(--cream);font-family:Plus Jakarta Sans,Segoe UI,system-ui,sans-serif;font-size:13px}button,input,select,textarea{font-family:inherit}.app{background:var(--cream);gap:0}.menubar,.tabstrip{background:var(--coral);color:var(--white);border:none}.menubar{border-radius:0 0 22px 22px;gap:4px;padding:10px 16px 8px}.menu-label{color:#ffffffbf;font-size:12px;font-weight:600}.brand{letter-spacing:-.01em;color:var(--white);margin-right:14px;font-size:15px;font-weight:800}.menu-item{color:var(--white);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600}.menu-item:hover{background:var(--ghost);color:var(--white)}.menu-item.title.open{background:var(--white);color:var(--ink)}.menu-item:disabled{color:#ffffff80}.autosave,.autosave.saved{color:#ffffffb8;min-width:0;font-size:11px;font-weight:600}.autosave.pending{color:#ffffff8c}.autosave.error{color:var(--mustard)}.autosave.icon{text-align:center;min-width:14px;font-weight:800}.auth-trigger{height:32px;font:inherit;background:var(--ghost);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:5px;padding:2px 2px 2px 11px;font-size:12.5px;font-weight:700;display:inline-flex;position:absolute;top:7px;right:16px}.auth-trigger .ui-avatar{margin-left:3px}.auth-trigger:hover{background:var(--ghost-strong)}.auth-trigger.auth-signin{background:var(--cream);height:28px;color:var(--ink);padding:0 13px;top:9px}.auth-trigger.auth-signin:hover{background:var(--white)}.credit-coin{width:16px;height:16px;color:var(--white);flex:none;display:inline-flex}.credit-coin svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.credit-count{font-variant-numeric:tabular-nums;color:var(--white);font-size:12.5px;font-weight:700}.ui-avatar{background:var(--cream);width:28px;height:28px;color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.ui-popover{background:var(--white);width:300px;max-width:calc(100vw - 16px);box-shadow:var(--float-shadow);color:var(--ink);border-radius:20px;padding:6px;position:absolute}.menu-person{align-items:center;gap:10px;padding:10px;display:flex}.menu-person .ui-avatar{background:var(--coral-tint);width:38px;height:38px;color:var(--coral-deep);font-size:14px}.menu-person-who{min-width:0}.menu-person-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:800;overflow:hidden}.menu-person-mail{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.ui-menu-note{color:var(--muted);padding:6px 10px;font-size:12px;font-weight:600}.ui-menu-note.danger{color:var(--coral-deep)}.plan-card{background:var(--cream);border-radius:14px;margin:2px 4px 6px;padding:10px 12px}.plan-card-top{align-items:baseline;gap:8px;display:flex}.plan-card-top strong{font-size:13px;font-weight:800}.plan-card-top span{color:var(--muted);font-size:11px;font-weight:600}.plan-card-credits{align-items:baseline;gap:6px;margin-top:8px;display:flex}.plan-card-count{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:24px;font-weight:800;line-height:1}.plan-card-label{color:var(--muted);font-size:11px;font-weight:600}.plan-card-usage{background:var(--cream-deep);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.plan-card-usage i{background:var(--teal);border-radius:999px;height:100%;display:block}.plan-card-note{color:var(--muted);margin-top:4px;font-size:11px;font-weight:600}.plan-card-foot{gap:6px;margin-top:10px;display:flex}.plan-card-foot .ui-pill{flex:1}.ui-pill{font:inherit;background:var(--ink);color:var(--white);text-align:center;cursor:pointer;border:none;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:700}.ui-pill:hover{background:var(--ink-soft)}.ui-pill:disabled{opacity:.6;cursor:default}.ui-pill:disabled:hover{background:var(--ink)}.ui-pill.ghost{color:var(--ink);border:1px solid var(--hair);background:0 0}.ui-pill.ghost:hover{background:var(--cream-deep)}.ui-pill.ghost:disabled:hover{background:0 0}.ui-pill.teal{background:var(--teal)}.ui-pill.teal:hover{background:var(--teal-deep)}.ui-pill.teal:disabled:hover{background:var(--teal)}.ui-pill.coral{background:var(--coral)}.ui-pill.coral:hover{background:var(--coral-deep)}.ui-pill.coral:disabled:hover{background:var(--coral)}.ui-sep{border-top:1.5px dashed var(--hair);margin:4px 10px}.ui-menu-item{width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex}.ui-menu-item:hover{background:var(--cream-deep)}.ui-menu-item-icon{width:16px;height:16px;color:var(--muted);flex:none;display:inline-flex}.ui-menu-item-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.ui-menu-item.danger,.ui-menu-item.danger .ui-menu-item-icon{color:var(--coral-deep)}.ui-sub-head{align-items:center;gap:8px;padding:8px 10px 4px;display:flex}.ui-sub-back{background:var(--cream);width:26px;height:26px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ui-sub-back:hover{background:var(--cream-deep)}.ui-sub-back svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.ui-sub-title{font-size:13.5px;font-weight:800}.ui-sub-note{color:var(--muted);padding:0 10px 8px;font-size:11.5px;font-weight:600}.topup-note{color:var(--muted);padding:6px 10px;font-size:12px;font-weight:600}.topup-packs{flex-direction:column;gap:6px;padding:2px 4px;display:flex}.topup-cta{width:calc(100% - 8px);margin:8px 4px 4px;padding:10px;font-size:13px;display:block}.topup-fine{color:var(--muted);text-align:center;padding:4px 10px 6px;font-size:10.5px;font-weight:600}.ui-choice{border:1.5px solid var(--hair);background:var(--white);width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.ui-choice:hover{background:var(--cream)}.ui-choice.on{border-color:var(--teal);background:var(--teal-tint)}.ui-choice-tick{border:1.5px solid var(--hair);border-radius:50%;flex:none;width:18px;height:18px;position:relative}.ui-choice.on .ui-choice-tick{background:var(--teal);border-color:var(--teal)}.ui-choice.on .ui-choice-tick:after{content:"";border:solid var(--white);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.ui-choice-main{min-width:0}.ui-choice-headline{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;line-height:1;display:block}.ui-choice-best{text-transform:uppercase;letter-spacing:.04em;background:var(--mustard-tint);color:#8a5a12;vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:9.5px;font-weight:800}.ui-choice-caption{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600;display:block}.ui-choice-price-wrap{text-align:right;flex:none;margin-left:auto}.ui-choice-price{font-variant-numeric:tabular-nums;font-size:13px;font-weight:800;display:block}.ui-choice-note{color:var(--muted);margin-top:2px;font-size:10.5px;font-weight:600;display:block}.ui-dialog-head{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.ui-dialog-close{background:var(--cream-deep);width:28px;height:28px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ui-dialog-close:hover{background:var(--hair)}.ui-dialog-close svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.signin-modal{text-align:center;width:360px;max-width:calc(100vw - 32px);padding:28px 28px 22px;position:relative}.signin-modal .ui-dialog-close{position:absolute;top:14px;right:14px}.signin-brand{color:var(--white);font-size:18px;font-weight:800}.signin-body>.ui-disc{margin:0 auto 12px}.ui-disc{border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-disc.coral{background:var(--coral);color:var(--white)}.ui-disc.teal{background:var(--teal-tint);color:var(--teal-deep)}.ui-disc svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:50%;height:50%}.signin-title{letter-spacing:-.01em;margin:0 0 4px;font-size:20px;font-weight:800}.signin-lead{color:var(--muted);margin:0 0 20px;font-size:12px;font-weight:600;line-height:1.45}.signin-address{color:var(--ink);font-weight:800}.signin-google{background:var(--white);border:1px solid var(--hair);width:100%;font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:11px;font-size:13px;font-weight:700;display:flex}.signin-google:hover{border-color:var(--muted)}.signin-google:disabled{opacity:.6;cursor:default}.signin-google svg{flex:none;width:18px;height:18px}.signin-or{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;margin:14px 0;font-size:11px;font-weight:700;display:flex}.signin-or:before,.signin-or:after{content:"";border-top:1.5px dashed var(--hair);flex:1}.signin-email{flex-direction:column;gap:8px;display:flex}.signin-email input{box-sizing:border-box;border:1px solid var(--hair);background:var(--white);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:999px;padding:11px 16px;font-size:13px}.signin-email input:focus{outline:2px solid var(--teal);outline-offset:0;border-color:#0000}.signin-email .ui-pill{width:100%;padding:11px;font-size:13px}.signin-error{color:var(--coral-deep);margin-top:8px;font-size:12px;font-weight:600}.signin-fine{color:var(--muted);margin:16px 0 0;font-size:11px;font-weight:500;line-height:1.45}.signin-fine-link{font:inherit;color:var(--ink);cursor:pointer;border:none;border-bottom:1.5px dashed var(--hair);background:0 0;padding:0;font-size:11px;font-weight:700}.signin-again{margin-top:14px}.signin-turnstile{justify-content:center;margin:12px 0 4px;display:flex}.licence-modal{width:min(420px,92vw)}.licence-body{max-height:60vh;padding:0 20px 16px;overflow-y:auto}.licence-list{color:var(--ink);font-size:12.5px;line-height:1.5}.licence-list h3{margin:12px 0 4px;font-size:13px;font-weight:800}.licence-list p{margin:0 0 8px}.tabstrip{border-radius:0;flex:1 1 0;align-items:center;gap:6px;min-width:min-content;padding:0}.ptab{background:var(--ghost);height:28px;color:var(--white);border:none;border-radius:999px;gap:8px;padding:0 6px 0 12px;font-size:12.5px;font-weight:600}.ptab:hover{background:var(--ghost-strong)}.ptab.active{background:var(--white);color:var(--ink);font-weight:700}.ptab-x{border-radius:999px;place-items:center;width:18px;height:18px;padding:0;display:grid}.ptab-x:hover{background:var(--ink);color:var(--white);opacity:1}.ptab-new{background:var(--ghost);width:28px;height:28px;color:var(--white);border:none;border-radius:999px;place-items:center;padding:0;display:grid}.ptab-new:hover{background:var(--white);color:var(--ink)}.app-menu,.row-menu,.dmc-finder,.shade-panel,.ref-float{background:var(--white);box-shadow:var(--float-shadow);color:var(--ink);border:none;border-radius:16px}.app-menu{padding:6px}.app-menu button,.row-menu button{color:var(--ink);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:500}.app-menu button:hover,.row-menu button:hover{background:var(--cream-deep);color:var(--ink)}.menu-keys{color:var(--muted)}.menu-sep,.row-menu-sep{background:var(--hair)}.row-menu button.danger{color:var(--coral-deep)}.toolbar{background:var(--cream);border:none;gap:8px;padding:8px 16px 10px}.tool-group{border-right:1.5px dashed var(--hair);gap:4px;padding-right:8px}.tool-group:last-child{border-right:none}.tool,.toolbar select,.stage-bar button,.ref-head button,.dmc-finder-head button,.modal-foot button,.palette-summary button,.palette-summary .linky,.palette-summary .add-thread{border:1.5px solid var(--hair);background:var(--white);min-width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:999px;padding:0 10px;font-size:12.5px;font-weight:600}.tool:hover,.stage-bar button:hover,.ref-head button:hover,.dmc-finder-head button:hover,.modal-foot button:hover{background:var(--teal-tint);border-color:var(--teal-tint)}.tool:disabled{opacity:.35}.tool:disabled:hover{background:var(--white);border-color:var(--hair)}.tool.on,.tool.toggle.on{background:var(--teal);border-color:var(--teal);color:var(--white)}.tool.on:hover,.tool.toggle.on:hover{background:var(--teal-deep);border-color:var(--teal-deep)}.tool.primary,.stage-bar button.primary,.modal-foot .tool.primary{background:var(--ink);border-color:var(--ink);color:var(--white)}.tool.primary:hover,.stage-bar button.primary:hover,.modal-foot .tool.primary:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.tool.wide{padding:0 12px;font-size:12.5px}.tool.tiny{min-width:22px;height:22px;padding:0 8px;font-size:11px}.tool-label,.opt-label,.method-label{color:var(--muted);text-transform:none;font-size:11px;font-weight:600}.tool-checkbox{color:var(--ink);gap:7px;font-size:12.5px;font-weight:500}.tool-group[aria-label=Gridlines] .tool.wide{border-right-width:0;border-radius:999px 0 0 999px}.tool-group[aria-label=Gridlines] .tool:not(.wide){border-radius:0 999px 999px 0;margin-left:-4px;padding:0 8px 0 6px}.view-seg .tool{border-radius:0;margin-left:-1.5px}.view-seg .tool:first-child{border-radius:999px 0 0 999px;margin-left:0}.view-seg .tool:last-child{border-radius:0 999px 999px 0}.seg{background:var(--cream-deep);gap:2px;height:28px;padding:3px}.seg-item{color:var(--muted);min-width:34px;padding:0 9px;font-weight:600}.seg-item:hover{color:var(--ink)}.seg-item.on{color:var(--ink);padding:0 12px 0 10px}.seg-item svg{width:16px;height:16px}.seg-pill{background:var(--white);box-shadow:none}.toolbar select,.modal select{border:1.5px solid var(--hair);height:28px;color:var(--ink);appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231f1f1f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 9px center;background-repeat:no-repeat;background-color:var(--white);border-radius:999px;padding:0 26px 0 12px;font-size:12.5px;font-weight:600}.tool:focus-visible,.seg-item:focus-visible,.menu-item:focus-visible,.ptab:focus-visible,.ptab-new:focus-visible,.stage-bar button:focus-visible,.palette-summary button:focus-visible,.palette-list li:focus-visible,.toolbar select:focus-visible,.cloth-chip:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.menubar :focus-visible,.tabstrip :focus-visible,.statusbar :focus-visible{outline-color:var(--white)}input[type=checkbox],input[type=radio]{appearance:none;border:1.5px solid var(--hair);background:var(--white);cursor:pointer;vertical-align:middle;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;margin:0;display:inline-grid}input[type=radio]{border-radius:999px}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--teal);border-color:var(--teal)}input[type=checkbox]:checked:after{content:"";border:solid var(--white);border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}input[type=radio]:checked:after{content:"";background:var(--white);border-radius:999px;width:6px;height:6px}input[type=range]{appearance:none;cursor:pointer;height:18px;accent-color:var(--teal);background:0 0}input[type=range]::-webkit-slider-runnable-track{background:var(--teal-tint);border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--teal);border:3px solid var(--white);width:16px;height:16px;box-shadow:0 0 0 1.5px var(--teal);border-radius:999px;margin-top:-6px}input[type=range]::-moz-range-track{background:var(--teal-tint);border-radius:999px;height:4px}input[type=range]::-moz-range-thumb{background:var(--teal);border:3px solid var(--white);width:16px;height:16px;box-shadow:0 0 0 1.5px var(--teal);border-radius:999px}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--teal);outline-offset:2px}.size-total input,.form-grid input,.size-crop input,.size-box,.modal-search,.dmc-finder-code,.pdf-title-input,.print-comment input{border:1.5px solid var(--hair);background:var(--white);color:var(--ink);border-radius:999px;padding:3px 10px;font-weight:600}.size-box:disabled{background:var(--cream-deep);color:var(--muted)}.size-total{background:0 0;border:none;padding:0}.main{background:var(--cream);gap:10px;padding:0 16px 10px}.tool-rail,.colors-panel,.ref-panel,.viewport{background:var(--white);border:none;border-radius:24px}.viewport{border-radius:20px;overflow:hidden}.tool-rail{align-items:center;gap:6px;padding:10px 0}.tool-rail>span>.tool{width:32px;min-width:32px;height:32px;color:var(--ink);background:0 0;border:none;border-radius:999px;padding:0}.tool-rail>span>.tool:hover{background:var(--cream-deep)}.tool-rail>span>.tool.on{background:var(--teal);color:var(--white)}.tool-rail>span>.tool svg{stroke-width:1.6px;width:18px;height:18px}.rail-sep{border-top:1.5px dashed var(--hair);width:16px;margin:4px 0}.colors-panel{padding:12px 10px 10px 12px}.fold-head,.fold-head.static{letter-spacing:-.01em;color:var(--ink);border-radius:10px;margin:0 0 4px;padding:4px;font-size:13px;font-weight:800}.fold-head:hover{background:var(--cream)}.fold-caret{color:var(--muted)}.fold-summary{color:var(--muted);font-size:11px;font-weight:500}.fold-tip,.slider-note,.empty-note,.opt-note,.held-note,.merge-hint,.recent-note{color:var(--muted);font-size:11px}.opt-panel{border:1.5px dashed var(--hair);background:var(--cream);border-radius:16px;margin-bottom:10px;padding:10px 12px 12px}.slider-row{font-size:12.5px;font-weight:500}.stage-bar,.stage-bar.editing{background:var(--coral-tint);color:var(--ink);border:none;border-radius:16px;gap:10px;margin-bottom:10px;padding:8px 8px 8px 12px;font-size:12px;font-weight:600}.stage-bar button{white-space:nowrap;text-overflow:clip;border-color:var(--white);overflow:visible}.palette-list{border-top:none;flex-direction:column;flex:0 auto;gap:2px;padding:4px 0 0;display:flex}.palette-list li{border:none;border-radius:14px;gap:8px;min-height:34px;padding:4px 8px;font-size:12.5px;font-weight:500}.palette-list li:hover{background:var(--cream)}.palette-list li.active{background:var(--teal-tint);box-shadow:none}.palette-list li.merge-target:hover{background:var(--mustard-tint)}.swatch{border:1.5px solid #1f1f1f1f;border-radius:8px}.dmc-code{font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.dmc-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.dmc-name{color:var(--ink);font-weight:500}.palette-list li .merge-btn{opacity:0;color:var(--ink);border:1.5px solid var(--hair);background:var(--white);border-radius:999px;height:22px;padding:0 8px;font-size:11px;font-weight:600;text-decoration:none;transition:opacity .12s}.palette-list li:hover .merge-btn,.palette-list li.active .merge-btn,.palette-list li .merge-btn:focus-visible{opacity:1}.palette-list li .merge-btn:hover{border-color:var(--ink);background:var(--ink);color:var(--white)}.palette-list li .lock{opacity:0}.palette-list li .lock.locked,.palette-list li:hover .lock{opacity:1}.palette-summary{border-top:1.5px dashed var(--hair);color:var(--muted);flex-wrap:wrap;row-gap:6px;margin-top:6px;padding-top:10px;font-size:12px;font-weight:500}.palette-summary .linky,.palette-summary .add-thread,.palette-summary button{white-space:nowrap;height:26px;padding:0 10px;font-size:11.5px;text-decoration:none}.palette-summary .linky:hover,.palette-summary .add-thread:hover,.palette-summary button:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.linky{color:var(--teal);border-bottom:1.5px solid var(--teal-tint);font-weight:600;text-decoration:none}.opt-key-badge{border:1.5px solid var(--hair);background:var(--white);min-width:16px;height:16px;color:var(--muted);border-radius:5px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.ref-head{background:var(--white);border-bottom:1.5px dashed var(--hair);letter-spacing:-.01em;color:var(--ink);gap:6px;padding:10px 10px 8px 16px;font-size:13px;font-weight:800}.ref-head button{width:22px;min-width:22px;height:22px;color:var(--muted);place-items:center;padding:0;font-size:12px;display:grid}.ref-head button:hover{border-color:var(--ink);background:var(--ink);color:var(--white)}.ref-float .ref-head:focus-visible{outline:2px solid var(--teal);outline-offset:-3px;border-radius:16px 16px 0 0}.ref-body{background:var(--white);flex:0 auto;justify-content:center;align-items:flex-start;max-height:min(48vh,520px);padding:12px}.ref-body img{border:none;border-radius:12px;max-height:calc(min(48vh,520px) - 24px)}.ref-body .empty-note{color:var(--muted)}.ref-foot{color:var(--muted);border-top:1.5px dashed var(--hair);align-items:center;gap:8px;padding:8px 12px 10px;font-size:11px;font-weight:500;display:flex}.ref-foot-hint{border:1.5px solid var(--hair);width:16px;height:16px;color:var(--muted);cursor:help;border-radius:999px;place-items:center;font-size:10px;font-style:italic;font-weight:700;display:inline-grid}.ref-fit{border:1.5px solid var(--hair);color:var(--ink);font-weight:600;background:var(--white)!important}.ref-rail{background:var(--cream);border:none}.ref-panel{align-self:start;max-height:100%}.statusbar{color:var(--white);background-color:var(--teal);background-image:var(--hatch);border:none;border-radius:22px 22px 0 0;gap:10px;margin:0;padding:9px 18px;font-size:12px;font-weight:600}.statusbar .sep{color:#ffffff59}.statusbar .dim{color:#ffffffb8;font-weight:500}.statusbar strong,.statusbar b,.status-active{font-weight:800}.status-zoom .tool{background:var(--ghost);min-width:22px;height:22px;color:var(--white);border-color:#0000;font-size:11px}.status-zoom .tool:hover{background:var(--ghost-strong);border-color:#0000}.zoom-percent{font-weight:700}.warning{border:1.5px dashed var(--mustard);background:var(--white);max-width:340px;color:var(--ink);border-radius:16px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12px;font-weight:500;line-height:1.45;display:flex}.warning strong{color:var(--ink);margin-bottom:2px;font-size:13px;font-weight:800;display:block}.warning .warn-text{display:block}.warn-icon{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M10.3 3.9 2.6 17.3c-.8 1.3.2 3 1.7 3h15.4c1.5 0 2.5-1.7 1.7-3L13.7 3.9c-.8-1.3-2.6-1.3-3.4 0z' fill='%23f3a83b'/><path d='M12 9v4.5' stroke='%231f1f1f' stroke-width='2.2' stroke-linecap='round'/><circle cx='12' cy='17' r='1.3' fill='%231f1f1f'/></svg>");background-repeat:no-repeat;background-size:contain;flex:none;width:24px;height:24px;margin:0;font-size:0}.ref-min{background:var(--white);color:var(--ink);box-shadow:var(--float-shadow);border:none;padding:6px 12px;font-size:12px;font-weight:600}.ref-min:hover{background:var(--teal-tint)}.dock-stack{z-index:6;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.dock-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dock-row>*{pointer-events:auto}.dock-row .ref-min{position:static}.dock-row .setup-min{min-width:0;overflow:hidden}.setup-min-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.setup-min{background:var(--white);color:var(--ink);box-shadow:var(--float-shadow);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.35rem;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.setup-min:hover{background:var(--teal-tint)}.hover-chip{background:var(--white);color:var(--ink);box-shadow:var(--float-shadow);pointer-events:none;border-radius:999px;align-self:flex-end;padding:6px 12px;font-size:12px;font-weight:600}.hl-bar,.sel-bar{background:var(--white);box-shadow:var(--float-shadow);color:var(--ink);border:none;border-radius:999px;gap:4px;padding:5px 8px;font-size:12px;font-weight:500}.hl-bar{border-radius:16px;row-gap:6px;padding:8px 12px}.hl-bar .tool,.sel-bar .tool{min-width:26px;height:26px}.sel-count{border-left:1.5px dashed var(--hair);color:var(--muted);padding:0 8px 0 10px;font-weight:600}.hl-what{font-weight:800}.toast{background:var(--ink);color:var(--white);box-shadow:var(--float-shadow);padding:8px 16px;font-size:12px;font-weight:600}.ptip{background:var(--ink);color:var(--white);border-radius:12px;font-weight:500}.modal-back{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1f1f1f66}.modal{background:var(--cream);color:var(--ink);border:none;border-radius:24px;box-shadow:0 24px 60px #1f1f1f33}.modal-head{letter-spacing:-.01em;padding:18px 20px 8px;font-size:16px;font-weight:800}.modal-head .dim{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:500}.modal-foot{border-top:1.5px dashed var(--hair);padding:12px 20px 16px}.thread-picker,.symbol-grid,.recent-list{border-top:1.5px dashed var(--hair)}.recent-row{border-radius:12px}.recent-row:hover{background:var(--white)}.recent-name{font-weight:700}.recent-meta,.recent-when{color:var(--muted);font-size:11px}.pdf-group,.exp-list{border:1.5px dashed var(--hair);background:var(--cream);border-radius:16px}.pdf-frame{background:var(--white);border:none;border-radius:16px}.cloth-chip{border:1.5px solid var(--hair);background:var(--white);color:var(--ink);border-radius:999px;font-weight:600}.cloth-chip:hover:not(:disabled){border-color:var(--teal-tint);background:var(--teal-tint)}.tile-add{border:1.5px solid var(--hair);background:var(--white);color:var(--ink)}.tile-add:hover{background:var(--teal);border-color:var(--teal);color:var(--white)}.strand-row{border-radius:12px}.palette-list,.ref-body,.modal,.dmc-finder-list,.recent-list,.thread-picker,.shade-list{scrollbar-width:thin;scrollbar-color:#1f1f1f40 transparent}.palette-list::-webkit-scrollbar{width:8px}.dmc-finder-list::-webkit-scrollbar{width:8px}.recent-list::-webkit-scrollbar{width:8px}.thread-picker::-webkit-scrollbar{width:8px}.shade-list::-webkit-scrollbar{width:8px}.palette-list::-webkit-scrollbar-track{background:0 0}.dmc-finder-list::-webkit-scrollbar-track{background:0 0}.recent-list::-webkit-scrollbar-track{background:0 0}.thread-picker::-webkit-scrollbar-track{background:0 0}.shade-list::-webkit-scrollbar-track{background:0 0}.palette-list::-webkit-scrollbar-thumb{background:#1f1f1f38;border-radius:999px}.dmc-finder-list::-webkit-scrollbar-thumb{background:#1f1f1f38;border-radius:999px}.recent-list::-webkit-scrollbar-thumb{background:#1f1f1f38;border-radius:999px}.thread-picker::-webkit-scrollbar-thumb{background:#1f1f1f38;border-radius:999px}.shade-list::-webkit-scrollbar-thumb{background:#1f1f1f38;border-radius:999px}.palette-list::-webkit-scrollbar-button{height:0;display:none}.dmc-finder-list::-webkit-scrollbar-button{height:0;display:none}.recent-list::-webkit-scrollbar-button{height:0;display:none}.setup-float{z-index:5;background:var(--white);border-radius:20px;flex-direction:column;gap:10px;width:320px;padding:12px 14px 14px;display:flex;position:absolute;box-shadow:0 12px 32px #1f1f1f24}.setup-float-head{letter-spacing:-.01em;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.setup-float-head .dim{color:var(--muted);letter-spacing:0;flex:1;font-size:11px;font-weight:500}.setup-float-head .tool{width:28px;padding:0}.setup-float .warning{max-width:none;position:static}.setup-float-body{flex-direction:column;gap:4px;display:flex}.setup-float-foot{border-top:1.5px dashed var(--hair);justify-content:flex-end;gap:8px;padding-top:10px;display:flex}.gen-signin{color:var(--muted);font-weight:600}.gen-failed strong{color:var(--ink)}.gen-suggestions .chip{border:1.5px solid var(--hair);background:var(--white);color:var(--ink);font-weight:600}.gen-suggestions .chip:hover{background:var(--teal-tint);border-color:var(--teal-tint)}.gen-eyebrow{color:var(--muted);font-weight:600}.gen-prompt{border:1.5px solid var(--hair);background:var(--white);color:var(--ink);border-radius:14px;padding:10px 14px;font-size:13px}.gen-prompt-label{color:var(--ink)}.gen-prompt-label span{color:var(--muted);font-weight:500}.gen-upload{border:1.5px dashed var(--hair);background:var(--white);color:var(--ink);border-radius:14px}.gen-upload:hover{border-color:var(--teal);background:var(--teal-tint)}.gen-unpicture{border-color:var(--hair);color:var(--ink);font-weight:600}.gen-hint{color:var(--muted);font-weight:500}.gen-complexity{border:1.5px solid var(--hair);background:var(--white);border-radius:14px}.gen-complexity-label small{color:var(--muted);font-weight:500}.gen-switch{border:1.5px solid var(--hair);background:var(--white);color:var(--muted);font-weight:600}.gen-switch.on{border-color:var(--teal);color:var(--teal)}.gen-switch-track{background:var(--hair)}.gen-switch.on .gen-switch-track{background:var(--teal)}.gen-credit-copy{color:var(--muted);font-weight:500}.gen-credit-copy strong{color:var(--ink);font-weight:700}.gen-working{color:var(--muted);font-size:13px;font-weight:600}.gen-result img{background:var(--cream);border-radius:16px}.status-view{align-items:center;gap:8px;display:flex}.status-view .seg{background:var(--ghost);border:none;height:24px;padding:2px}.status-view .seg-item{color:#fffc;min-width:28px;padding:0 7px}.status-view .seg-item:hover{color:var(--white)}.status-view .seg-item.on{color:var(--ink)}.status-view .seg-item svg{width:14px;height:14px}.status-view .tool-group{border:none;gap:2px;padding:0}.status-view .tool{background:var(--ghost);min-width:24px;height:24px;color:var(--white);border-color:#0000;font-size:11px}.status-view .tool:hover{background:var(--ghost-strong);border-color:#0000}.status-view .tool.on,.status-view .tool.toggle.on{background:var(--white);color:var(--ink);border-color:#0000}.opt-text{box-sizing:border-box;resize:vertical;width:100%;min-height:3.2rem;font:inherit;border:1px solid var(--hair);background:var(--white);color:var(--ink);border-radius:6px;padding:.3rem .4rem;font-size:.85rem}.opt-select,.opt-num{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--hair);background:var(--white);color:var(--ink);border-radius:6px;padding:.2rem .3rem;font-size:.8rem}.opt-num{width:4.5rem}.opt-actions{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.opt-actions .dim{color:var(--muted);font-size:.75rem}.new-body{flex-direction:column;gap:.55rem;padding:.6rem .9rem .2rem;display:flex}.new-body .size-total{align-self:flex-start}.new-cells{white-space:nowrap;align-self:center;padding-left:.4rem;font-size:.78rem}.new-body .modal-note{padding:0}.new-field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.78rem;display:flex}.new-field input[type=text]{font:inherit;border:1px solid var(--hair);color:var(--ink);background:var(--white);border-radius:6px;padding:.3rem .45rem;font-size:.9rem}.new-count{align-items:center;gap:.5rem;font-size:.72rem;display:flex}.new-count select{font:inherit;border:1px solid var(--hair);background:var(--white);color:var(--ink);border-radius:6px;padding:.2rem .3rem;font-size:.85rem}.new-count input[type=color]{border:1px solid var(--hair);background:var(--white);border-radius:6px;width:2rem;height:1.6rem;padding:0}.start{background:repeating-linear-gradient(0deg, #1f1f1f0e 0 1px, transparent 1px 11px), repeating-linear-gradient(90deg, #1f1f1f0e 0 1px, transparent 1px 11px), var(--cream);flex-direction:column;padding:24px 16px;display:flex;position:absolute;inset:0;overflow-y:auto;transform:none;container-type:inline-size}.start-screen{flex:auto;width:100%;min-height:0;display:flex}.morph-grid{flex:1;grid-template-columns:0% 100%;grid-template-areas:"stage panel";gap:0;min-height:0;transition:grid-template-columns .62s cubic-bezier(.7,0,.2,1),gap .62s cubic-bezier(.7,0,.2,1);display:grid}.morphed .morph-grid{grid-template-columns:calc(100% - min(330px,45%) - 16px) min(330px,45%);gap:16px}.morph-stage{background:var(--white);opacity:0;border-radius:20px;grid-area:stage;min-width:0;min-height:0;transition:opacity .62s cubic-bezier(.7,0,.2,1),transform .62s cubic-bezier(.7,0,.2,1);overflow:hidden;transform:scale(.96)}.morphed .morph-stage{opacity:1;transform:none}.stage-body{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:24px;animation:.32s .32s both stage-in;display:flex;overflow-y:auto}@keyframes stage-in{0%{opacity:0}to{opacity:1}}.stage-body strong{color:var(--ink);font-size:16px}.stage-body>span{color:var(--muted);font-size:13px}.stage-credit{color:var(--muted);font-size:12px;font-weight:600}.stage-cloth{grid-template-columns:repeat(13,22px);gap:4px;margin-bottom:12px;display:grid}.stage-cloth-cell{background:var(--cream-deep);border-radius:4px;width:22px;height:22px;animation:4.2s ease-in-out infinite cloth-fill}.stage-cloth-cell:nth-child(2n){--stitch:var(--coral-tint)}@keyframes cloth-fill{0%{background-color:var(--cream-deep);transform:scale(.85)}8%{background-color:var(--stitch,var(--coral));transform:scale(1)}72%{background-color:var(--stitch,var(--coral));transform:scale(1)}86%,to{background-color:var(--cream-deep);transform:scale(.85)}}.stage-result img{border-radius:14px;max-width:min(420px,100%)}.takes-grid{grid-template-columns:repeat(2,min(200px,40vw));gap:8px;display:grid}.take{border:1.5px solid var(--hair);background:var(--white);cursor:pointer;aspect-ratio:1;border-radius:14px;padding:0;overflow:hidden}.take:hover{border-color:var(--teal)}.take:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.take img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.stage-result-foot{flex-direction:column;align-items:center;gap:10px;margin-top:8px;display:flex}.stage-result-foot .tool.primary{border-radius:999px;height:34px;padding:0 18px;font-weight:700}.stage-announce{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.morph-panel{background:0 0;border-radius:20px;flex-direction:column;grid-area:panel;width:100%;min-width:0;max-width:640px;min-height:0;margin:0 auto;transition:background-color .62s cubic-bezier(.7,0,.2,1),max-width .62s cubic-bezier(.7,0,.2,1);display:flex}.morphed .morph-panel{background:var(--white);max-width:100%}.morph-head{flex-direction:column;flex:1;justify-content:flex-end;width:100%;max-width:640px;min-height:0;margin:0 auto;transition:flex-grow .62s cubic-bezier(.7,0,.2,1),opacity .2s;display:flex;overflow:hidden}.morphed .morph-head{opacity:0;flex-grow:0}.start-screen h1{letter-spacing:-.022em;text-align:center;color:var(--ink);margin:0 0 5px;font-size:30px;font-weight:800}.morph-head p{text-align:center;color:var(--ink-soft);margin:0 0 18px;font-size:13px}.start-bar{background:var(--white);border:1.5px solid var(--hair);border-radius:24px;flex-direction:column;gap:10px;padding:13px 15px 12px;transition:box-shadow .5s,border-radius .62s cubic-bezier(.7,0,.2,1),padding .5s;display:flex;box-shadow:0 12px 32px #1f1f1f1a}.morphed .start-bar{box-shadow:none;border-radius:20px;padding:11px 13px}.panel-extras{flex-direction:column;gap:8px;padding:14px 16px 0;animation:.32s .32s both stage-in;display:flex}.morph-tail{flex-direction:column;flex:1;justify-content:flex-start;width:100%;max-width:640px;min-height:0;margin:0 auto;transition:flex-grow .62s cubic-bezier(.7,0,.2,1),opacity .2s;display:flex;overflow:hidden}.morphed .morph-tail{opacity:0;flex-grow:0}.start-bar-head{align-items:flex-start;gap:11px;display:flex}.start-thumb{border:1.5px solid var(--hair);background:var(--white);border-radius:16px;flex:none;width:64px;height:64px;padding:0;position:relative;overflow:hidden}.start-thumb img{object-fit:cover;width:100%;height:100%;display:block}.start-thumb-remove{width:18px;height:18px;color:var(--white);cursor:pointer;background:#1f1f1fb3;border:0;border-radius:50%;font-size:11px;line-height:1;position:absolute;top:3px;right:3px}.start-thumb-empty{color:var(--muted);cursor:pointer;place-items:center;display:grid}.start-thumb-empty svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:40%;height:40%}.start-bar-refused{color:var(--coral-deep);font-size:12px;font-weight:600}.start-prompt{resize:none;min-width:0;font:inherit;color:var(--ink);background:0 0;border:none;flex:1;padding:0;font-size:15px;line-height:1.4;transition:font-size .5s}.morphed .start-prompt{font-size:13px}.start-prompt::placeholder{color:var(--muted)}.start-prompt:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.start-bar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.start-bar-row .gen-modes{background:0 0;border:none;border-radius:0;align-self:center;gap:8px;padding:0;display:inline-flex}.start-bar-row .gen-mode{border:1.5px solid var(--hair);background:var(--white);height:auto;color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:6px 13px 6px 7px;display:inline-flex}.start-bar-row .gen-mode.on{background:var(--teal);border-color:var(--teal);color:var(--white)}.start-bar-row .gen-mode:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.chip-disc{background:var(--cream-deep);width:24px;height:24px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.start-bar-row .gen-mode.on .chip-disc{color:var(--white);background:#ffffff42}.chip-disc svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:56%;height:56%}.start-bar-cost{color:var(--muted);margin-left:auto;font-size:11.5px;font-weight:650}.start-generate{border-radius:999px;height:34px;padding:0 18px;font-weight:700}.start-pills{justify-content:center;gap:9px;margin-top:18px;display:flex}.start-pill{background:var(--white);height:auto;color:var(--ink);font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:7px 15px 7px 7px;font-size:12.5px;font-weight:700;display:inline-flex}.start-pill .chip-disc{width:26px;height:26px}.start-pill:hover{background:var(--teal-tint)}.start-pill:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.gen-modal{flex-direction:column;width:min(640px,100vw - 24px);max-height:90vh;display:flex}.gen-modal .gen-body{overflow-y:auto}.gen-modes{background:var(--cream);border:1.5px solid var(--hair);border-radius:999px;align-self:flex-start;gap:6px;padding:4px;display:inline-flex}.gen-mode{height:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 16px;font-size:12px;font-weight:700}.gen-mode.on{background:var(--teal);color:var(--white)}.gen-input-grid.idea-only{grid-template-columns:1fr}.gen-signin-note{background:var(--cream);border:1.5px solid var(--hair);border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.gen-signin-note strong{color:var(--ink);font-size:13px}.gen-signin-note span{color:var(--muted);font-size:12px}.gen-result-copy{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.gen-result-copy>span{letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-size:10px;font-weight:800}.gen-result-copy strong{color:var(--ink);font-size:15px}.gen-result-copy small{color:var(--muted);font-size:12px}.gen-failed-mark{background:var(--coral);width:36px;height:36px;color:var(--white);border-radius:50%;place-items:center;font-size:16px;font-weight:800;display:grid}.stage-failed .gen-failed-mark{border:1.5px dashed var(--mustard);width:52px;height:52px;color:var(--mustard);background:0 0;font-size:24px}.gen-working{text-align:center;flex-direction:column;gap:6px;padding:28px 0}.gen-pixel-scene{grid-template-columns:repeat(5,14px);gap:3px;margin:0 auto 10px;display:grid}.gen-pixel-cloth,.gen-pixel-stitch{border-radius:3px;width:14px;height:14px}.gen-pixel-cloth{background:var(--cream-deep)}.gen-pixel-stitch{background:var(--coral);opacity:0;animation:3.2s ease-in-out infinite gen-stitch-in;transform:scale(.3)}.gen-pixel-stitch:nth-child(7){background:var(--coral-tint)}@keyframes gen-stitch-in{0%{opacity:0;transform:scale(.3)}12%{opacity:1;transform:scale(1.1)}18%{transform:scale(1)}72%{opacity:1;transform:scale(1)}86%{opacity:0;transform:scale(.3)}to{opacity:0;transform:scale(.3)}}@media (prefers-reduced-motion:reduce){.gen-pixel-stitch{opacity:1;animation:none;transform:none}.morph-grid,.morph-stage,.morph-panel,.morph-head,.morph-tail,.start-bar,.start-prompt{transition:none}.stage-body,.panel-extras{opacity:1;animation:none}.stage-cloth-cell{background:var(--stitch,var(--coral));animation:none;transform:none}}
