@font-face{font-family:Marcellus;src:url(/assets/Marcellus-Bl9erXRJ.ttf);font-display:swap}@font-face{font-family:EBGaramond;src:url(/assets/EBGaramond-BZHnynmT.ttf);font-display:swap}@font-face{font-family:EBGaramond;font-style:italic;src:url(/assets/EBGaramond-Italic-C2_346tT.ttf);font-display:swap}:root{--bg:#f8f4eb;--card:#fffcf7;--ink:#3c322c;--muted:#7a6e64;--gold:#b98a48;--rule:#e3d8c8;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:EBGaramond,Georgia,serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer}.home{max-width:560px;margin:0 auto;padding:28px 16px 40px}.home header{text-align:center;margin-bottom:18px}h1{letter-spacing:.08em;margin:0;font:34px Marcellus,serif}h2{letter-spacing:.12em;margin:0;font:26px Marcellus,serif}.it{margin:4px 0 0;font-size:18px;font-style:italic}.card{background:var(--card);border:1px solid var(--rule);border-radius:18px;padding:22px 20px}.card p{margin:10px 0;font-size:17px}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:18px;font:13px Marcellus,serif}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip{border:1px solid var(--rule);background:#fff;border-radius:999px;min-width:54px;padding:9px 12px;font-size:17px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tested{color:#4f7a4a;font-weight:600}.draft{color:var(--gold);font-weight:600}.note{color:var(--muted);font-style:italic;font-size:15px!important}.primary{background:var(--ink);color:#fff;letter-spacing:.06em;border:0;border-radius:14px;width:100%;margin-top:16px;padding:14px;font:17px Marcellus,serif;display:block}.link{color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:15px;text-decoration:underline}.sew{padding-left:22px;font-size:17px;line-height:1.45}.sew li{margin-bottom:10px}.knit{flex-direction:column;max-width:900px;height:100dvh;margin:0 auto;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;display:flex}.topbar .link{font:15px Marcellus,serif;text-decoration:none}.tabs{flex:1;justify-content:center;gap:6px;display:flex}.tab{border:1px solid var(--rule);background:#fff;border-radius:999px;padding:6px 12px;font-size:15px}.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}.snd{color:var(--muted);align-items:center;gap:4px;font-size:14px;display:flex}.stage{cursor:pointer;flex:1;min-height:0;position:relative;overflow:hidden}canvas.machine{width:100%;height:100%;display:block;position:absolute;inset:0}.panel{background:var(--card);border-top:1px solid var(--rule);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.counts{justify-content:space-between;font:26px Marcellus,serif;display:flex}.instr{text-align:center;min-height:30px;margin-top:6px;font:italic 22px EBGaramond,serif}.instr.hot{color:var(--gold);font-size:20px;font-style:normal;font-weight:600}.sub{text-align:center;color:var(--muted);font-size:15px;font-style:italic}.buttons{grid-template-columns:1fr 2fr;gap:10px;margin-top:10px;display:grid}.buttons button{border:1px solid var(--rule);background:#fff;border-radius:14px;padding:14px;font:17px Marcellus,serif}.buttons .primary{background:var(--ink);color:#fff;border:0;margin:0}.buttons button:disabled{opacity:.4}.hint{text-align:center;color:var(--muted);margin:8px 0 0;font-size:13px;font-style:italic}.swatch{margin-top:6px}.swatch .grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.swatch label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.swatch label.wide{grid-column:1/-1}.swatch input{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:9px 10px;font:18px EBGaramond,serif}.result{color:#4f7a4a;font-size:16px!important}.custom{color:#4f7a4a;font-weight:600}h1.small{font-size:28px}.chip.add{color:var(--muted);border-style:dashed}.link.inline{font-size:inherit;color:var(--gold);padding:0}.link.danger{color:#a0453a}.row2{justify-content:space-between;margin-top:6px;display:flex}.strand{grid-template-columns:64px 1fr 1.3fr 24px;align-items:end;gap:8px;margin-top:8px;display:grid}.strand label{color:var(--muted);flex-direction:column;gap:3px;font-size:13px;display:flex}.strand input,.strand select,.nameIn,.notes textarea{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:10px;width:100%;min-width:0;padding:8px 9px;font:17px EBGaramond,serif}.cnt{gap:4px;display:flex}.cnt select{width:auto;padding:8px 4px}.strand .x{color:var(--muted);background:0 0;border:0;padding:0 0 8px;font-size:22px}.swatch .grid{margin-top:10px}.photo{border-radius:12px;max-width:100%;max-height:280px;margin:8px 0;display:block}.photoBtns{align-items:center;gap:14px;display:flex}.filebtn{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:10px;padding:9px 14px;font-size:16px;display:inline-block}.filebtn input{display:none}.notes{color:var(--muted);flex-direction:column;gap:4px;margin-top:10px;font-size:14px;display:flex}.primary:disabled{opacity:.4}@media (width<=420px){.strand{grid-template-columns:52px 1fr 24px}.strand .c{grid-column:1/3}}.shell{min-height:100dvh}.menu{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);background:#f8f4ebf5;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex;position:sticky;top:0}.brand{letter-spacing:.08em;font:20px Marcellus,serif}.menutabs{gap:4px;margin-left:auto;display:flex;overflow-x:auto}.mt{letter-spacing:.04em;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 12px;font:15px Marcellus,serif}.mt.on{background:var(--ink);color:#fff}@media (width<=520px){.menu{justify-content:center}.menutabs{margin:0 auto}}.home .card+.card{margin-top:14px}.patcard{cursor:pointer;align-items:center;gap:16px;display:flex}.patcard img{object-fit:cover;border-radius:12px;width:96px;height:120px}.center{text-align:center}.soon{color:var(--gold);font-style:italic}.swlist{flex-direction:column;gap:8px;margin:12px 0;display:flex}.swrow{text-align:left;border:1px solid var(--rule);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:8px;display:flex}.swrow span{flex-direction:column;display:flex}.swrow small{color:var(--muted);font-size:14px}.thumb{object-fit:cover;border-radius:8px;flex:none;width:52px;height:52px}.thumb.empty{background:repeating-linear-gradient(45deg,#efe8f6,#efe8f6 4px,#e4daf0 4px 8px)}.grid.set{grid-template-columns:1fr 1.6fr;gap:10px 12px;margin-top:10px;display:grid}.grid.set label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.grid.set input{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:9px 10px;font:18px EBGaramond,serif}.chip:disabled{opacity:.45;cursor:default}.check{align-items:center;gap:8px;margin-top:6px;font-size:16px;display:flex}.mic{border:1px solid var(--rule);background:#fff;border-radius:999px;padding:6px 12px;font-size:14px}.mic.on{color:#fff;background:#a0453a;border-color:#a0453a;animation:1.6s infinite pulse}@keyframes pulse{50%{opacity:.75}}.grid.set.one{grid-template-columns:1fr}.grid.set select{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:9px 10px;font:17px EBGaramond,serif}.mic.ear{color:#3f6a39;background:#eef4ec;border-color:#9cb896}.meter{border:1px solid var(--rule);border-radius:12px;width:100%;height:180px;margin:12px 0 6px;display:block}.passcount{align-items:baseline;gap:8px;font-size:18px;display:flex}.passcount b{font:40px Marcellus,serif}.passcount .link{margin-left:auto}.slider{flex-direction:column;gap:4px;margin:12px 0;font-size:16px;display:flex}.slider input{accent-color:#7d5fa6;width:100%}.slider small{color:var(--muted);font-size:13px}.designer{flex-direction:column;gap:8px;max-width:900px;margin:0 auto;padding:8px 12px 24px;display:flex}.dhead{align-items:center;gap:10px;display:flex}.dname,.pname{border:0;border-bottom:1px solid var(--rule);color:var(--ink);background:0 0;flex:1;min-width:0;padding:4px 2px;font:20px Marcellus,serif}.pname{font-size:17px}.ptabs select.chip{appearance:none}.canvasWrap{border:1px solid var(--rule);background:#fffcf7;border-radius:14px;overflow:hidden}.dsvg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:min(62dvh,640px);display:block}.g1{stroke:#efe7da;stroke-width:.05px}.g10{stroke:#dccfbd;stroke-width:.12px}.glab{fill:#b3a593;font-family:EBGaramond,serif}.axis{stroke:#b98a48;stroke-width:.15px;stroke-dasharray:.8 .6}.dshape{fill:#b096cd59;stroke:#7d5fa6;stroke-width:.3px}.seg{fill:none;stroke:#0000;cursor:pointer}.seg.on{stroke:#cda05a8c}.seg.add{stroke:#4f7a4a40}.pt{fill:#fff;stroke:#7d5fa6;stroke-width:.3px;cursor:grab}.pt.axisPt{stroke:#b98a48}.pt.on{fill:#7d5fa6}.ctl{fill:#cda05a;cursor:grab}.ctl.on{fill:#a0453a}.cline{stroke:#cda05a;stroke-dasharray:.5 .4}.dim{fill:#3c322c;font-family:Marcellus,serif}.dtools{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:12px 14px}.toolrow{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.tool{border:1px solid var(--rule);background:#fff;border-radius:10px;padding:8px 12px;font-size:15px}.tool.on{color:#fff;background:#4f7a4a;border-color:#4f7a4a}.num{color:var(--muted);align-items:center;gap:6px;font-size:15px;display:flex}.num input{border:1px solid var(--rule);border-radius:8px;width:70px;padding:6px 8px;font:17px EBGaramond,serif}.dopen{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;padding:4px;display:flex}.dopen small{color:var(--muted);font-size:14px}.dimg line{stroke:#b98a48}.dimg line.ext{stroke:#d9c4a0;stroke-dasharray:.4 .4}.dsvg{background:#fffcf7}.bg{fill:#0000}.seamMark,.g1,.g10,.glab,.axis,.dshape,.dimg,.cline{pointer-events:none}.hit{fill:#0000;cursor:grab}.selbox{fill:#7d5fa61f;stroke:#7d5fa6;stroke-dasharray:.6 .4;pointer-events:none}.draft{fill:none;stroke:#7d5fa6;pointer-events:none}.draft.ghost{stroke:#c9b7e0;stroke-dasharray:.8 .5}.emptyStart{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex}.emptyStart .primary{max-width:320px}.emptyStart .chips{justify-content:center}.modal{z-index:20;background:#3c322c59;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.noteCard{flex-direction:column;gap:10px;width:min(440px,100%);display:flex}.noteCard textarea{border:1px solid var(--rule);border-radius:10px;width:100%;padding:10px;font:17px EBGaramond,serif}h2.small{letter-spacing:.06em;font-size:18px}.tool.rec{color:#fff;background:#a0453a;border-color:#a0453a}.marker line{stroke:#b98a48}.marker path,.marker circle:not(.hit){fill:#cda05a}.marker{cursor:pointer}.reminder{background:#fbf3e4;border:1px solid #e8cf9f;border-radius:10px;margin-top:6px;padding:6px 10px}.rem{color:#8a6427;align-items:center;gap:8px;font-weight:600;display:flex}.tgroup{width:100%}.tgroup .label{margin-top:10px}.tplCard{flex-direction:column;gap:8px;width:min(620px,100%);max-height:92dvh;display:flex;overflow:auto}.tplBody{grid-template-columns:1fr 160px;align-items:start;gap:14px;display:grid}.tplFields{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.tplFields label{color:var(--muted);flex-direction:column;gap:3px;font-size:13px;display:flex}.unit{color:var(--muted);align-items:center;gap:4px;display:flex}.unit input{border:1px solid var(--rule);width:100%;min-width:0;color:var(--ink);border-radius:8px;padding:7px 8px;font:17px EBGaramond,serif}.tplPrev{border:1px solid var(--rule);text-align:center;background:#fffcf7;border-radius:12px;padding:8px;position:sticky;top:0}.tplPrev svg{width:100%;height:180px}.tplPrev .dshape{stroke-width:2px}.tplPrev.wide{order:-1;grid-column:1/-1;position:static}.tplPrev.wide svg{height:190px}.tplBody:has(.tplPrev.wide){grid-template-columns:1fr}.tplBody:has(.tplPrev.wide) .tplFields{grid-template-columns:repeat(4,1fr)}.tplPrev .tplLbl{fill:#7a6e84;font-family:EBGaramond,serif}.tplPrev small{color:var(--muted)}@media (width<=560px){.tplBody{grid-template-columns:1fr}.tplPrev{order:-1;position:static}.tplPrev svg{height:130px}}.chip.warn{color:#a0453a;border-color:#d9a08f}.chip.warn.on{color:#fff;background:#a0453a}.zone rect{opacity:.55;pointer-events:none}.zone text{fill:#3c322c;pointer-events:none;font-family:EBGaramond,serif}.zrow select{border:1px solid var(--rule);background:#fff;border-radius:8px;max-width:210px;padding:6px 8px;font:16px EBGaramond,serif}.zrow .num input{width:56px}.bodyCard{width:min(720px,100%);max-height:96dvh;overflow:auto}.bodyHost{touch-action:none;background:#f8f4eb;border-radius:12px;width:100%;height:min(58dvh,560px);overflow:hidden}.tool.form{margin:0 0 8px}.num select{border:1px solid var(--rule);background:#fff;border-radius:8px;padding:6px 8px;font:16px EBGaramond,serif}.num input[type=color]{width:44px;height:32px;padding:0 2px}.zcol{border:1px solid var(--rule);background:#fff;border-radius:6px;width:34px;height:30px;padding:0 2px}.undoBar{gap:6px;display:flex}.undoBar .tool{padding:6px 10px}.tool:disabled{opacity:.4}.sketchHost{border:1px solid var(--rule);background:#fffdf8;border-radius:12px;padding:6px}.sketch{width:100%;height:min(62dvh,600px);display:block}.sk-ink{fill:none;stroke:#3c322c;stroke-width:.35px;stroke-linecap:round;stroke-linejoin:round}.sk-ink.thin{stroke-width:.25px;stroke:#6b5f56}path.sk-ink[fill]{stroke-width:.4px}.sk-ink.fold{stroke-width:.22px;stroke:#3c322c;opacity:.55}.sk-mark{stroke:#3c322c;stroke-width:.12px;opacity:.45;fill:none}.sk-dot{stroke:#fff;stroke-width:.7px;stroke-linecap:round;opacity:.9}.homeDash{flex-direction:column;gap:18px;max-width:900px;margin:0 auto;display:flex}.hero{text-align:center;padding:10px 0 0}.hero h1{font-size:38px}.hero .it{color:var(--muted)}.continueCard{text-align:left;color:#fff;background:linear-gradient(135deg,#7d5fa6,#a58cc8);border:0;border-radius:20px;align-items:center;gap:16px;width:100%;padding:18px 20px;display:flex;box-shadow:0 8px 24px #7d5fa640}.ccIcon{background:#fff3;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;display:grid}.ccIcon .ico{stroke:#fff;fill:#fff;width:28px;height:28px}.ccText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ccText small{letter-spacing:.14em;text-transform:uppercase;opacity:.85;font:12px Marcellus,serif}.ccText b{font:22px Marcellus,serif}.bar{background:#ffffff4d;border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.bar i{background:#fff;border-radius:99px;height:100%;display:block}.tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.tile{text-align:left;border:1px solid var(--rule);background:var(--card);border-radius:18px;flex-direction:column;align-items:flex-start;gap:6px;min-height:150px;padding:18px;transition:transform .12s,box-shadow .12s;display:flex}.tile:hover{transform:translateY(-2px);box-shadow:0 6px 18px #3c322c14}.tile b{letter-spacing:.03em;font:19px Marcellus,serif}.tile span{color:var(--muted);font-size:15px;line-height:1.35}.ico{fill:none;stroke:#7d5fa6;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.tile.design .ico{stroke:#b98a48}.tile.swatches .ico{stroke:#4f7a4a}.tile.carriage .ico{stroke:#a0453a}.tile.settings .ico{stroke:#7a6e64}.quick{background:var(--card);border:1px solid var(--rule);border-radius:18px;gap:4px;padding:6px 18px 16px;display:grid}.quick .chip small{color:var(--muted)}.how{padding:0 4px}.how ol{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.how li{align-items:center;gap:12px;font-size:16px;display:flex}.how li span{border:1px solid var(--gold);width:30px;height:30px;color:var(--gold);border-radius:50%;flex:none;place-items:center;font:15px Marcellus,serif;display:grid}.brand{cursor:pointer;background:0 0;border:0;padding:0}@media (width<=520px){.tiles{grid-template-columns:1fr 1fr;gap:10px}.tile{min-height:132px;padding:14px}.tile b{font-size:16px}.tile span{font-size:13.5px}.hero h1{font-size:30px}}:root{--plum:#f7ebe0;--plum2:#f3e0d5;--plumLine:#e5cdc0;--cream:#1a1620;--creamDim:#5d4a58;--accent:#ea327c}.menu.dark{border-bottom:1px solid var(--plumLine);color:var(--cream);z-index:10;background:#fff;position:sticky;top:0}.menu.dark .brand{color:var(--cream)}.menu.dark .mt{color:var(--creamDim)}.menu.dark .mt.on{background:var(--accent);color:#fff}.menuicons{gap:6px;display:flex}.mi{border:1px solid var(--plumLine);color:var(--creamDim);background:0 0;border-radius:999px;padding:6px 12px;font-size:14px}.mi.on{background:var(--accent);color:#fff;border-color:var(--accent)}.room{background:var(--plum);grid-template-columns:240px minmax(0,1fr) 280px;gap:0;min-height:calc(100dvh - 56px);display:grid}.col{flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.col.left,.col.right{background:var(--plum2);color:var(--cream);max-height:calc(100dvh - 56px);position:sticky;top:56px;overflow-y:auto}.col.left .note,.col.right .note,.col.left .label,.col.right .label{color:var(--creamDim)}.col.mid{background:#fff;border-radius:14px;margin:10px;padding:10px 12px}.colTitle{letter-spacing:.14em;text-transform:uppercase;color:var(--creamDim);margin:12px 0 2px;font:12px Marcellus,serif}.libItem{text-align:left;width:100%;color:var(--cream);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:15px;display:flex}.libItem:hover{background:#fff9}.libItem.on{border-color:var(--accent);background:#d6827833}.libItem.add{border:1px dashed var(--plumLine);color:var(--creamDim);font:15px EBGaramond,serif}.libItem.add option,.libItem.add optgroup{color:#3c322c}.libSub{color:var(--creamDim);margin:8px 0 0 4px;font-size:13px;font-style:italic}.dot{border:1px solid #fff6;border-radius:50%;flex:none;width:14px;height:14px}.primary.small{background:var(--accent);color:#fff;margin:0 0 4px;padding:10px;font-size:15px}.primary.next{background:var(--accent);color:#fff;margin-top:auto;font-size:17px}.col .chip{color:var(--cream);border-color:var(--plumLine);background:0 0}.col .chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.col .chip.add{color:var(--creamDim)}.col .check,.col .num{color:var(--cream)}.col .pname{color:var(--cream);border-bottom-color:var(--plumLine)}.col .link{color:var(--creamDim)}.col .zrow select{color:#3c322c}.toolbar{border-bottom:1px solid #eee5f3;flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:8px;display:flex}.toolbar .dname{color:var(--ink);flex:160px}.tbtn{color:#5a4f63;background:#fff;border:1px solid #e3dbe9;border-radius:9px;align-items:center;gap:6px;padding:7px 11px;font-size:14px;display:inline-flex}.tbtn.on{border-color:var(--accent);color:#3c2f4c;background:#efe8f6}.toolbar .undoBar .tool{border-color:#e3dbe9}.col.mid .canvasWrap{background:#fffdfb;border:0;flex:1}.col.mid .dsvg{height:calc(100dvh - 220px);min-height:380px}.col.mid.toolsOn .dsvg{height:calc(100dvh - 330px);min-height:280px}.statusbar{color:#5a4f63;border-top:1px solid #eee5f3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:6px;font-size:14px;display:flex}.warnTxt{color:#a0453a;font-weight:600}.selbar{font-size:14px}.miniPrev{background:#ffffff0f;border-radius:12px;width:100%;height:64px}.col.right .center{text-align:center}.knitMid{flex-direction:column;padding:0;display:flex;overflow:hidden}.knitMid .pieceTabs{justify-content:flex-start;padding:8px}.knitMid .stage{flex:1;min-height:360px}.col.right .panel{color:var(--cream);background:0 0;border:0;padding:0}.col.right .instr.hot{color:#e2c08a}.col.right .sub,.col.right .hint{color:var(--creamDim)}.col.right .buttons button{color:var(--cream);border-color:var(--plumLine);background:0 0}.col.right .buttons .primary{background:var(--accent);color:#fff}.ctrlStack{flex-wrap:wrap;gap:6px;display:flex}.ctrlStack .mic,.ctrlStack .snd{color:var(--cream);border-color:var(--plumLine);background:0 0}.col.right .reminder{background:#e2c08a26;border-color:#e2c08a80}.col.right .rem{color:#e2c08a}@media (width<=900px){.room{grid-template-columns:1fr}.col.left,.col.right{max-height:none;position:static}.col.mid{order:-1}.col.right{order:0}.col.mid .dsvg{height:58dvh;min-height:300px}.knitMid .stage{min-height:52dvh}.col.right .knitButtons{z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--plum2);grid-template-columns:1fr 1.4fr 2fr;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #0000002e}.col.right .knitButtons:has(>:nth-child(2):last-child){grid-template-columns:1fr 2fr}.col.right .knitButtons button{padding:12px 8px;font-size:15px}body:has(.knitButtons){padding-bottom:96px}.menu.dark{flex-wrap:wrap}}.toolbar .check{color:#5a4f63!important}.libItem.tpl{color:var(--creamDim);padding:5px 10px;font-size:14px}.libItem.tpl:hover{color:var(--cream)}.homeMid{max-height:calc(100dvh - 76px);padding:26px 30px;overflow-y:auto}.wHome{text-align:center;margin-top:6px;font-size:34px}.bigCards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:22px 0;display:grid}.bigCard{text-align:left;background:#fdfaff;border:1px solid #eadff2;border-radius:16px;flex-direction:column;padding:0;transition:transform .12s,box-shadow .12s;display:flex;overflow:hidden}.bigCard:hover{transform:translateY(-3px);box-shadow:0 10px 24px #5b467026}.bigCard img{object-fit:cover;object-position:top;width:100%;height:170px}.bigCard .cardShape{background:linear-gradient(160deg,#f6eefb,#fbf3ea);place-items:center;height:170px;display:grid}.bigCard .cardShape .shapeThumb{width:70%;height:80%}.bigCard .pencil{color:#b98a48;font-size:60px}.bigCard>span:last-child{flex-direction:column;padding:12px 14px 14px;display:flex}.bigCard b{color:#3c2f4c;font:18px Marcellus,serif}.bigCard small{color:#7a6e84;margin-top:2px;font-size:14px}.steps3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:0;list-style:none;display:grid}.steps3 li{color:#4b3f57;background:#f8f2fb;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;font-size:15px;display:flex}.steps3 li span{color:#fff;background:#a58cc8;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font:14px Marcellus,serif;display:grid}.libItem.photo{gap:10px;padding:6px}.libItem.photo img{object-fit:cover;object-position:top;border-radius:8px;width:54px;height:64px}.libItem.photo span{flex-direction:column;display:flex}.libItem.photo small{color:var(--creamDim);font-size:13px}.miniShape{flex:none;place-items:center;width:26px;height:26px;display:inline-grid}.miniShape .shapeThumb{width:26px;height:26px}.col.right .continueCard{color:#fff;text-align:left;box-shadow:none;background:linear-gradient(135deg,#7d5fa6,#a58cc8);border:0;border-radius:14px;align-items:center;gap:10px;padding:14px;display:flex}.ccPlay{background:#ffffff40;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.yarnBalls{flex-wrap:wrap;gap:8px;display:flex}.ball{background-image:radial-gradient(circle at 35% 30%,#ffffff73,#0000 45%);border:2px solid #ffffff40;border-radius:50%;width:40px;height:40px}.ball.ghost{opacity:.35}.viewSwitch{border:1px solid #e3dbe9;border-radius:999px;align-self:flex-start;margin:8px 8px 0;display:inline-flex;overflow:hidden}.viewSwitch button{color:#5a4f63;background:#fff;border:0;padding:7px 16px;font:15px Marcellus,serif}.viewSwitch button.on{color:#fff;background:#a58cc8}.pv{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr);gap:10px;min-height:360px;padding:10px;display:grid}.pvSvg{width:100%;height:calc(100dvh - 200px);min-height:340px}.pvShape{fill:#efe8f6;stroke:#7d5fa6;stroke-width:.6px;vector-effect:non-scaling-stroke}.pvUp{fill:#4f7a4a}.pvDown{fill:#b98a48}.pvHere{stroke:#cda05a;stroke-width:3px;vector-effect:non-scaling-stroke}.pvHereT{fill:#a07433;font-family:Marcellus,serif}.pvT{fill:#3c322c;font-family:EBGaramond,serif}.pvList{flex-direction:column;gap:4px;max-height:calc(100dvh - 200px);display:flex;overflow-y:auto}.pvItem{text-align:left;color:#3c322c;background:#fff;border:1px solid #efe7f3;border-radius:10px;grid-template-columns:78px 1fr;gap:8px;padding:7px 9px;font-size:14px;display:grid}.pvItem.ev{background:#fbf6ec;border-color:#ecdcb8}.pvItem.done{opacity:.5}.pvItem.on{background:#f3ecfa;border-color:#a58cc8;box-shadow:0 0 0 2px #a58cc84d}.pvRc{color:#7a6e84;font:13px Marcellus,serif}@media (width<=900px){.pv{grid-template-columns:1fr}.pvSvg{height:40dvh}.pvList{max-height:40dvh}}.knitMid .pieceTabs{flex:none;padding:8px}.knitMid .pieceTabs .tab{padding:6px 14px}.knitMid>.viewSwitch{flex:none}.bigInstr{text-align:center;background:#f5effa;border-radius:14px;flex-direction:column;flex:none;gap:2px;margin:4px 12px 6px;padding:12px 16px;display:flex}.bigInstr b{color:#2f2536;font:600 24px/1.25 EBGaramond,Georgia,serif}.bigInstr span{color:#6d6177;font-size:15px;font-style:italic}.bigInstr.hot{background:#fbf1df;box-shadow:inset 0 0 0 2px #e2c08a}.bigInstr.hot b{color:#7a531d}.col.right .panel .instr,.col.right .panel .sub{display:none}@media (width<=900px){.bigInstr b{font-size:20px}}.sgWrap{flex-direction:column;flex:1;min-height:0;display:flex}.sgScroll{background:#fffdfb;border-radius:10px;flex:1;min-height:420px;max-height:calc(100dvh - 190px);overflow:auto}.sgCanvas{cursor:crosshair;touch-action:none;display:block}.palette{flex-wrap:wrap;gap:6px;display:flex}.pal{border:2px solid #ffffff40;border-radius:50%;width:30px;height:30px;padding:0}.pal.on{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.pal.pick{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.stIcon{border-radius:6px;flex:none;width:44px;height:30px}.zoomCtl{align-items:center;gap:6px;display:inline-flex}.clothWrap{background:#efedea;border-radius:10px;height:calc(100dvh - 96px);min-height:460px;position:relative;overflow:hidden}.clothWrap.full{z-index:1000;border-radius:0;height:100dvh;min-height:0;position:fixed;inset:0}.clothCanvas{position:absolute;inset:0}.clothCanvas canvas{touch-action:none;width:100%;height:100%;display:block}.clothBar{pointer-events:none;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;left:10px;right:10px}.clothBar>*{pointer-events:auto}.clothBar.top{top:10px}.clothBar.bottom{bottom:10px}.clothBar .grow{flex:1}.clothBar .tbtn{background:#ffffffe0}.clothBar .chip{color:#5a4f63;background:#ffffffd9;border:1px solid #e3dbe9}.clothBar .chip.on{background:var(--accent);color:#fff}.clothBar .label,.clothBar .note{color:#5a4f63;font-size:13px}.clothMsg{text-align:center;color:#5a4f63;background:#ffffffe6;border-radius:12px;max-width:360px;padding:16px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=900px){.clothWrap{height:78dvh;min-height:380px}}.clothBar select{font:inherit;color:inherit;background:0 0;border:0;padding:0 2px}.clothBar.bottom .note{text-shadow:0 0 4px #efedea;flex:200px}@media (width<=600px){.clothBar .tbtn{padding:5px 9px;font-size:13px}.clothBar.bottom .note{font-size:11px}}.ribBox{margin:6px 0 4px}.ribRows{flex-wrap:wrap;gap:6px 16px;margin:2px 0 6px;display:flex}.ribRow{align-items:center;gap:6px;display:flex}.ribRow .ribName{min-width:62px}.ribRow .unit input{width:52px}.ribBand{fill:#7d5fa659;stroke:none}.col.mid.split3d{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.splitWork{flex-direction:column;min-width:0;min-height:0;display:flex}.split3dView{border-radius:10px;min-height:560px;position:relative;overflow:hidden}.split3dView .clothWrap{position:absolute;inset:0}@media (width<=900px){.col.mid.split3d{grid-template-columns:1fr}.split3dView{min-height:420px}}.projChip{background:#b096cd38;border:1px solid #7d5fa659;border-radius:999px;align-items:center;gap:2px;max-width:220px;padding:2px 4px 2px 12px;display:inline-flex}.projChip .projName{font:inherit;color:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:150px;padding:4px 6px;overflow:hidden}.projChip .projName:before{content:"● ";color:#7d5fa6;font-size:11px}.projChip .projClose{white-space:nowrap;cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;padding:2px 8px;font-size:14px;line-height:1}.projChip .projClose:hover{opacity:1}.clothLoading{border:1px solid var(--rule);text-align:center;z-index:4;background:#ffffffeb;border-radius:16px;width:min(300px,80%);padding:18px 20px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 28px #3c322c26}.clothLoading .spinner{border:3px solid #ea327c38;border-top-color:#ea327c;border-radius:50%;width:30px;height:30px;margin:0 auto 10px;animation:.9s linear infinite fsspin}.clothLoading .loadLabel{font-size:16px}.clothLoading .loadBar{background:#ea327c26;border-radius:3px;height:6px;margin:10px 0 4px;overflow:hidden}.clothLoading .loadBar>div{background:#ea327c;border-radius:3px;height:100%;transition:width .25s}.clothLoading .loadPct{opacity:.65;font-size:13px}@keyframes fsspin{to{transform:rotate(360deg)}}.foldHead{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:4px 0;display:block}.foldHead:hover{color:var(--ink,#3c322c)}.foldArrow{opacity:.8;width:12px;display:inline-block}.ribEdit{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0;display:flex}.ribEdit select{max-width:100%}.stripeRow{flex-wrap:wrap;gap:10px;margin:6px 0;display:flex}.stripeRow input{width:46px}.swDot{vertical-align:middle;border:1px solid #00000040;border-radius:50%;width:14px;height:14px;margin-right:4px;display:inline-block}.textOpts{gap:6px;margin:6px 0;display:grid}.card.howto{max-width:560px;max-height:88dvh;overflow:auto}.howtoSvg{background:#fdfaf5;border-radius:10px;width:100%;height:auto;margin:8px 0 4px}.howtoList{margin:4px 0 8px;padding-left:20px}.howtoList li{margin:3px 0;line-height:1.35}.shell.homeShell{background:#fff}.wHome{text-align:left;--pink:#ea327c;--ink:#000;--soft:#34373f;color:var(--ink);background:#fff;min-height:100dvh;font-family:EBGaramond,serif}.wHome h1,.wHome h2,.wHome .wLogo{font-family:Marcellus,serif}.wHome button{font-family:inherit}.wTop{grid-template-columns:214px minmax(0,1fr) auto;align-items:center;gap:24px;padding:6px 28px 2px 18px;display:grid}.wLogo{letter-spacing:-.01em;align-items:center;gap:10px;padding-left:8px;font-size:28px;font-weight:400;display:flex}.wLogo span{color:#f0556e;font-size:22px}.wSearch{background:#f0f1f4;border-radius:999px;align-items:center;gap:10px;width:100%;max-width:600px;height:36px;margin:0 auto;padding:0 18px;display:flex;position:relative}.wSearch input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font:400 15px EBGaramond,serif}.wHits{z-index:20;background:#fff;border-radius:18px;flex-direction:column;padding:8px;display:flex;position:absolute;top:52px;left:0;right:0;box-shadow:0 12px 32px #14142829}.wHits button{text-align:left;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:baseline;padding:10px 12px;display:flex}.wHits button:hover{background:#fdeaf2}.wHits small{color:var(--soft)}.wUser{align-items:center;gap:12px;display:flex}.wBell{place-items:center;width:34px;height:34px;display:grid;position:relative}.wBell i{background:var(--pink);border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:7px}.wAvatar{color:#fff;background:linear-gradient(135deg,#f3a6c4,#b79af0);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.wName{font:600 18px EBGaramond,serif}.wBody{grid-template-columns:214px minmax(0,1fr) 300px;align-items:start;gap:22px;padding:0 28px 40px 18px;display:grid}.wNav{flex-direction:column;gap:2px;display:flex;position:sticky;top:70px}.wNav button{color:#000;text-align:left;background:0 0;border:0;border-radius:16px;align-items:center;gap:14px;padding:9px 18px;font:400 18px EBGaramond,serif;display:flex}.wNav button:hover:not(:disabled){background:#f4f5f8}.wNav button.on{background:#fcc4dd;font-weight:700}.wNav button:disabled{color:#8a8f9c;cursor:default}.wNav em{color:#7a7f8a;background:#eef0f4;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-style:normal}.wNav hr{border:0;border-top:1px solid #e6e8ee;margin:14px 18px}.wCorner{aspect-ratio:928/1232;object-fit:cover;pointer-events:none;z-index:1;border-radius:22px;width:172px;max-height:34vh;position:fixed;bottom:18px;left:18px;box-shadow:0 8px 20px #281e3c38}@media (width<=1180px),(height<=700px){.wCorner{display:none}}.wMain{min-width:0}.wHero{background:linear-gradient(100deg,#fdecd8 30%,#fcdae7);border-radius:26px;grid-template-columns:1.2fr 1fr;align-items:center;min-height:236px;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 22px #3c283c1a}.wHeroText{z-index:1;padding:18px 10px 18px 34px;position:relative}.wHero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:38px;font-weight:400;line-height:1.08}.wHero p{color:#000;max-width:29em;margin:0 0 14px;font-size:17px;line-height:1.35}.wCta{background:var(--pink);color:#fff;border:0;border-radius:999px;align-items:center;gap:12px;padding:13px 30px;font:400 16px EBGaramond,serif;transition:transform .12s;display:inline-flex;box-shadow:0 8px 18px #ea327c47}.wCta:hover{transform:translateY(-2px)}.wHero img{object-fit:cover;object-position:center;mix-blend-mode:multiply;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 30%);mask-image:linear-gradient(90deg,#0000 0,#000 30%)}.wHead{justify-content:space-between;align-items:baseline;margin:14px 0 8px;display:flex}.wHead h2{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:400}.wWhy{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.wWhyCard{background:#f7f7f8;border-radius:20px;align-items:center;gap:12px;padding:12px;display:flex}.wPic{border-radius:14px;flex:none;place-items:center;width:84px;height:92px;display:grid}.wWhyCard b{margin-bottom:6px;font-family:Marcellus,serif;font-size:17px;font-weight:400;display:block}.wWhyCard span{color:var(--soft);font-size:14px;line-height:1.4;display:block}.wQuick{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.wQuick button{filter:saturate(1.25);color:#000;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:92px;padding:18px 8px 12px;font:600 16px EBGaramond,serif;transition:transform .12s,box-shadow .12s;display:flex}.wQuick button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #281e3c1f}.wQuick small{color:#000;margin-top:-4px;font-size:16px}.wSide{flex-direction:column;gap:16px;min-width:0;display:flex}.wBox{background:#fff;border:1px solid #ececf0;border-radius:20px;padding:18px}.wBox h3{color:#000;margin:0 0 14px;font-family:Marcellus,serif;font-size:17px;font-weight:400}.wCont{text-align:left;background:#fff0f6;border:0;border-radius:16px;align-items:center;gap:12px;width:100%;padding:10px;display:flex}.wThumb{background:#e9e0ff;border-radius:12px;flex:none;place-items:center;width:58px;height:58px;display:grid}.wContText{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.wContText b{font-size:17px}.wContText small{color:var(--soft);font-size:14px}.wContText .bar{background:#e6e6ec;border-radius:3px;height:5px;margin-top:4px;display:block;overflow:hidden}.wContText .bar i{background:var(--pink);border-radius:3px;height:100%;display:block}.wPlay{background:var(--pink);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.wNote{color:var(--soft);margin:0;font-size:16px}.wBalls{flex-wrap:wrap;gap:10px;display:flex}.wBalls button{background-image:radial-gradient(circle at 34% 28%,#ffffff80,#0000 45%);border:0;border-radius:50%;width:40px;height:40px;box-shadow:inset -4px -5px 8px #00000024,0 0 0 3px #ffffffe6,0 0 0 4px #ececf0}.wShapes{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.wShapes button{aspect-ratio:1;border:0;border-radius:14px;place-items:center;padding:12px;transition:transform .12s;display:grid}.wShapes button:hover{transform:scale(1.05)}.wShapes .shapeThumb{width:100%;height:100%}.wRecent{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:7px 2px;display:flex}.wRecent:hover{background:#f7f7f8}.wRecent>span:first-child{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.wRecent b{font-size:16px;display:block}.wRecent small{color:var(--soft);font-size:14px}@media (width<=1180px){.wBody{grid-template-columns:200px minmax(0,1fr)}.wTop{grid-template-columns:200px minmax(0,1fr) auto}.wSide{grid-column:1/-1;grid-template-columns:repeat(2,1fr);display:grid}.wQuick{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.wTop{grid-template-columns:1fr auto;padding:10px 14px}.wSearch{order:3;grid-column:1/-1}.wBody{grid-template-columns:1fr;padding:0 14px 30px}.wNav{flex-direction:row;padding-bottom:6px;position:static;overflow-x:auto}.wNav hr{display:none}.wNav button{white-space:nowrap;padding:10px 14px;font-size:15px}.wHero{grid-template-columns:1fr}.wHero h1{font-size:36px}.wWhy,.wSide{grid-template-columns:1fr}}.menu.dark .brand{color:var(--accent);font-weight:700}.menu.dark .mt{color:#000;font-weight:700}.menu.dark .mt:hover:not(.on){background:#ea327c14}.mi{color:#000}.col.left,.col.right{background:linear-gradient(165deg,#f8eee4,#f2dcd1)}.col.left{border-right:1px solid var(--plumLine)}.col.right{border-left:1px solid var(--plumLine)}.col.mid{box-shadow:0 4px 18px #6e46321a}.ptabs{margin:8px 0 4px}.ovBox{scrollbar-gutter:stable;background:#fffdfb;border-radius:10px;flex-direction:column;flex:none;height:calc(100dvh - 230px);min-height:380px;padding:8px;display:flex;overflow:auto}.ovRows{flex-direction:column;flex:1;align-items:center;gap:14px;display:flex}.ovRow{flex:none;justify-content:center;align-items:flex-start;gap:14px;display:flex}.ovCell{text-align:left;background:#fff;border:1px solid #e6dccf;border-radius:12px;flex-direction:column;flex:none;padding:0;transition:box-shadow .12s,border-color .12s;display:flex;overflow:hidden}.ovCell:hover{border-color:var(--accent);box-shadow:0 6px 16px #783c3c24}.ovTitle{color:#3c322c;background:#f6efe6;height:24px;padding:0 10px;font-size:14px;line-height:24px}.ovGrid{pointer-events:none;flex:1;min-height:0;display:flex}.sgOverview{flex:1}.sgOverview .sgScroll{border-radius:0;min-height:0;max-height:none;overflow:hidden}.ovHint{margin:6px 4px 0}.tplGroup{letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:10px 0 2px 2px;font-size:11px}.shell.inProject .menu.dark{box-shadow:inset 0 -3px #ea327c59}.shell.inProject .col.mid{background:#fffafb;box-shadow:0 0 0 1px #ea327c1a}.projTag{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-left:10px;font:10px Marcellus,serif}.wizCard{flex-direction:column;gap:6px;width:min(760px,100%);max-height:94dvh;display:flex;overflow:auto}.wizDots{justify-content:center;gap:6px;margin-bottom:4px;display:flex}.wizDots span{background:#eadfe4;border-radius:4px;width:26px;height:4px}.wizDots span.done{background:#ea327c66}.wizDots span.on{background:var(--accent)}.wizHi{margin:4px 0 0}.wizSay{margin:0 0 8px}.wizBody{align-items:flex-start;gap:18px;display:flex}.wizMain{flex:1;min-width:0}.wizPrev{text-align:center;flex:none;width:210px;position:sticky;top:0}.wizPrev svg{width:100%;max-height:260px}.wizPrev small{color:var(--muted);margin-top:4px;font-style:italic;display:block}.wizGroup{letter-spacing:.1em;text-transform:uppercase;margin:16px 0 4px;font:13px Marcellus,serif}.wizGroup small{text-transform:none;letter-spacing:0;color:var(--muted);margin-left:6px;font-family:inherit;font-style:italic}.wizNav{align-items:center;gap:10px;margin-top:14px;display:flex}.wizNav .primary{background:var(--accent);width:auto;margin:0;padding:12px 28px}.wizFoot{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.wizSwatches{flex-wrap:wrap;gap:10px;display:flex}.wizSw{cursor:pointer;border:2px solid #fff;border-radius:50%;width:40px;height:40px;padding:0;box-shadow:0 0 0 1px #d9ccd2}.wizSw.on{box-shadow:0 0 0 3px var(--accent)}.wizSw.custom{color:var(--muted);background:#fff;place-items:center;font-size:20px;display:grid;position:relative;overflow:hidden}.wizSw.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (width<=620px){.wizBody{flex-direction:column}.wizPrev{width:100%;position:static}.wizPrev svg{max-height:160px}}.fold.sub{margin-left:12px}.fold.sub .foldHead{opacity:.85;font-size:11px}.buildTag{color:var(--muted);white-space:nowrap;margin-right:6px;font-size:11px}.room.two{grid-template-columns:240px minmax(0,1fr)}.room.knitRoom{grid-template-columns:minmax(0,1fr) 280px}@media (width<=900px){.room.knitRoom,.room.two{grid-template-columns:1fr}}.setCard{width:min(460px,100%);max-height:90dvh;overflow:auto}.setPanel{flex-direction:column;gap:8px;display:flex}.setHead{justify-content:space-between;align-items:center;font-size:18px;display:flex}.tbtn.next{background:var(--accent);color:#fff;border-color:var(--accent)}.threeD{display:inline-block;position:relative}.tbtn.glow{border-color:var(--accent);animation:1.1s ease-in-out infinite glow3d}@keyframes glow3d{0%,to{box-shadow:0 0 #ea327c8c}50%{transform:scale(1.06);box-shadow:0 0 0 9px #ea327c00}}.hint3d{z-index:30;white-space:nowrap;background:var(--accent);color:#fff;cursor:pointer;border-radius:12px;padding:9px 14px;font-size:15px;animation:1.1s ease-in-out infinite hintBob;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #ea327c59}.hint3d i{background:var(--accent);border-radius:3px 0 0;width:14px;height:14px;margin-left:-7px;position:absolute;top:-7px;left:50%;transform:rotate(45deg)}@keyframes hintBob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,5px)}}.card3d{text-align:center;background:linear-gradient(160deg,#fff4f8,#f1e9ff);border:1px dashed #ea327c59;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.card3d h3{margin:0;font:22px Marcellus,serif}.card3d p{max-width:300px;color:var(--muted);margin:0}.card3d .primary{background:var(--accent);width:auto;margin:6px 0 0;padding:14px 40px}.card3dArt{filter:drop-shadow(0 10px 14px #7d5fa640);width:auto;height:380px}.col.mid.split3d.slim3d{grid-template-columns:minmax(0,1fr) 340px}.slim3d .card3d{min-height:0;padding:16px}.slim3d .card3d p{font-size:14px}@media (width<=900px){.col.mid.split3d.slim3d{grid-template-columns:1fr}}.toolsBox{border-top:1px dashed var(--plumLine);margin-top:12px;padding-top:8px}.ovCell.live{cursor:default}.ovCell.live:hover{box-shadow:none;border-color:#e6dccf}.ovCell.live .ovTitle{text-align:left;cursor:pointer;border:0;width:100%;font-family:inherit}.ovCell.live .ovGrid{pointer-events:auto}.paintSec{background:#ffffff8c;border:2px solid #0000;border-radius:14px;margin:0 0 12px;padding:8px 10px 10px}.paintSec.active{border-color:var(--accent);background:#ffffffd9}.paintHead{letter-spacing:.1em;text-transform:uppercase;color:var(--cream);justify-content:space-between;align-items:baseline;margin:2px 0 8px;font:16px Marcellus,serif;display:flex}.paintHead small{letter-spacing:0;text-transform:none;color:var(--creamDim);font:italic 13px EBGaramond,serif}.paintSec.active .paintHead small{color:var(--accent)}.sizeRow{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;display:flex}.sizeRow.off{opacity:.45}.sizeRow .label{margin:0}.sizeRow .chip{min-width:34px;padding:4px 10px}.sizeNum{text-align:center;min-width:22px;font-size:17px}.repSec .repRow{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.repSec .repRow input{width:56px}.sidePane{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.sideSettings{border-top:1px solid var(--plumLine);padding-top:6px;overflow:auto}.card3d.compact{border-radius:10px;gap:6px;min-height:0;padding:12px}.card3d.compact .card3dArt{height:170px}.card3d.compact .primary{margin:0;padding:10px 28px}.cardPrev{background:#fffdfb;border-radius:6px;width:100%;max-height:360px;margin:6px 0}.renderCard{flex-direction:column;gap:8px;width:min(780px,100%);max-height:94dvh;display:flex;overflow:auto}.rdPics{justify-content:center;gap:10px;display:flex}.rdPics img{border:1px solid var(--rule);background:#efedea;border-radius:8px;height:200px}.rdPics.big img{height:min(62dvh,560px)}.rdPics figure{text-align:center;margin:0}.rdWait{min-width:200px;height:200px;color:var(--muted);border:1px dashed var(--rule);border-radius:8px;place-items:center;font-style:italic;display:grid}.rdText{border:1px solid var(--rule);resize:vertical;background:#fff;border-radius:8px;width:100%;padding:8px;font:15px EBGaramond,serif}.photoPanel{z-index:6;color:#3c322c;background:#fffffff0;border:1px solid #e3dbe9;border-radius:12px;width:260px;padding:10px 12px;position:absolute;top:46px;right:8px;box-shadow:0 8px 22px #3c28502e}.photoPanel .label{color:#5a4f63;margin:6px 0 0;font-size:12px}.photoPanel .chip{color:#3c322c;background:#fff;border-color:#e3dbe9;min-width:0;padding:6px 10px;font-size:14px}.photoPanel .chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.ovCell.sewing .ovGrid{pointer-events:auto}.ovCell.sewing .ovGrid circle{pointer-events:all}.sewPanel{background:#fff7ee;border:1px solid #f0d9bd;border-radius:12px;margin:6px 0 8px;padding:8px 12px}.sewHead{letter-spacing:.08em;font:15px Marcellus,serif}.sewPanel .note{margin:4px 0 6px}.sewEdges{color:#b25a00;flex-wrap:wrap;gap:14px;margin-bottom:6px;font-weight:600;display:flex}.sewEdges .soon{font-weight:400}.sewList{flex-wrap:wrap;gap:6px 14px;margin-top:8px;display:flex}.sewItem{align-items:center;gap:6px;font-size:14px;display:inline-flex}.sewItem i{border-radius:50%;width:14px;height:14px;display:inline-block}.sewParts{margin:4px 0}.sewParts summary{cursor:pointer;font-size:15px}.sewPart{justify-content:space-between;align-items:center;gap:10px;margin:4px 0;font-size:15px;display:flex}.sewPart select{max-width:220px}.sewItem.off{opacity:.55;text-decoration:line-through}.sewItem input{margin:0}.sewItem .soon{font-size:13px}.libPage{max-width:1100px;margin:0 auto}.libBar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0 14px;display:flex}.libBar .pname{max-width:260px}.libGrid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;display:grid}.libCard{cursor:pointer;font:inherit;color:inherit;background:#fff;border:1px solid #e3d8c8;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}.libCard:hover{border-color:#ea327c}.libCard i{color:#7a6e64;font-size:12px;font-style:normal}.libThumb{background:#efe8f6;border-radius:8px;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.libOverlay{z-index:60;background:#281e3280;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.libDetail{background:#fffaf6;border-radius:18px;width:100%;max-width:520px;max-height:92vh;padding:20px 24px;position:relative;overflow:auto}.libBig{justify-content:center;margin:12px 0;display:flex}.libRow{align-items:center;gap:2px;display:flex}.libRow .libItem{flex:1;min-width:0}.libDel{color:#a08a96;cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:8px;padding:2px 8px;font-size:17px;line-height:1}.libRow:hover .libDel,.libDel:focus{opacity:1;color:#c0264f;background:#c0264f14}.libPick{padding:18px 22px 22px;position:relative}.libPickBox{background:#fffaf6;border-radius:20px;width:min(1040px,100%);max-height:92vh;overflow:auto}.colTitle[data-af],.paintHead[data-af]{cursor:pointer;-webkit-user-select:none;user-select:none}.colTitle[data-af]:hover,.paintHead[data-af]:hover{opacity:.85}.colTitle[data-af]:before,.paintHead[data-af]:before{content:"";vertical-align:middle;border-top:8px solid #ea327c;border-left:5px solid #0000;border-right:5px solid #0000;flex:none;margin-right:9px;display:inline-block;position:relative;top:-1px}.colTitle[data-af][data-folded="1"]:before,.paintHead[data-af][data-folded="1"]:before{border:5px solid #0000;border-left:8px solid #ea327c;border-right:0;margin-right:11px}.selRow{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:2px 4px 12px;display:flex}.selRow .note{margin:0;font-size:13px}.clothMenu{position:relative}.menuTri{vertical-align:middle;opacity:.7;border-top:6px solid;border-left:4px solid #0000;border-right:4px solid #0000;margin-left:8px;display:inline-block;position:relative;top:-1px}.clothDrop{z-index:20;background:#fffffffa;border-radius:12px;flex-direction:column;align-items:stretch;gap:3px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 26px #00000047}.clothDrop .tbtn{text-align:left;background:0 0;justify-content:flex-start}.clothDrop .tbtn:hover{background:#f4ecf8}.clothDrop .tbtn.on{background:var(--accent);color:#fff}.clothDrop .dropRow{padding:2px 4px}.clothDrop select{width:100%}.colTitle,.paintHead{color:#3c2a4a;font-family:Segoe UI,system-ui,Arial,sans-serif;font-weight:700}.colTitle{letter-spacing:.1em;margin-top:16px;font-size:13px}.paintHead{letter-spacing:.08em;font-size:15px}.colTitle.foldHead{color:#fff;letter-spacing:.06em;background:#7d5fa6;border-radius:10px;margin:14px 0 8px;padding:10px 14px;font-size:16px;box-shadow:0 2px 6px #7d5fa64d}.colTitle.foldHead:hover{color:#fff;background:#6c4f96}.colTitle.foldHead:focus{outline:none}.colTitle.foldHead *{color:#fff;border-top-color:#fff}.colTitle.foldHead{font-size:22px}.foldSub{letter-spacing:0;text-transform:none;opacity:.92;margin-top:4px;font:italic 400 16px/1.35 EBGaramond,Georgia,serif;display:block}.colTitle.foldHead{padding:8px 12px;font-size:14px}.scopeRow{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 10px;font:600 14px EBGaramond,serif;display:flex}.scopeRow select{flex:1;min-width:150px}.colTitle.foldHead{box-shadow:none;border-radius:8px;margin:10px 0 6px;padding:5px 10px;font-size:12px}.sideSettings>.fold>.colTitle.foldHead{padding:7px 10px;font-size:14px}.fold.sub>.colTitle.foldHead{color:#4a3566;background:#e8dcf5;margin:6px 0 4px;padding:4px 9px;font-size:11px}.fold.sub>.colTitle.foldHead:hover{color:#4a3566;background:#dccdee}.fold.sub>.colTitle.foldHead *{color:#4a3566;border-top-color:#4a3566}.sideTabs{gap:6px;display:flex}.sideBack{background:#f4ecf8;border-radius:8px;padding:6px 10px}.backupBox{background:#fff6e8;border:1px solid #f0d9a8;border-radius:12px;margin:6px 0 16px;padding:10px 14px}.clothMenu .menuRow{flex-wrap:wrap;align-items:center;gap:4px;padding:4px 2px;display:flex}.clothMenu .menuRow .menuLbl{color:#6d6177;width:100%;font-size:12px}.clothMenu .menuRow .tbtn{padding:4px 9px}.libPin{opacity:.75;font-size:15px}.libRow:hover .libPin{color:#b98a48;background:#b98a481f}.clothFullBtn{z-index:5;color:#fff;cursor:pointer;background:#28262e99;border:1px solid #ffffff59;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:absolute;top:8px;right:8px}.clothFullBtn:hover{background:#28262ed9}.clothPlaced{border:1px solid var(--rule);text-align:center;z-index:4;background:#ffffffed;border-radius:14px;flex-direction:column;align-items:center;gap:6px;width:min(330px,90%);padding:8px 12px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #3c322c26}.clothPlaced b{font-size:15px}.clothPlaced span{color:var(--soft);font-size:13px;line-height:1.3}.partSub{opacity:.6;letter-spacing:.02em;font-size:9px;font-style:italic;line-height:1.1;display:block}.ovTitle .partSub{margin-left:6px;display:inline-block}.partAskBack{z-index:2000;background:#281e3259;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.partAsk{background:#fffdfa;border-radius:18px;width:min(420px,92vw);padding:18px 20px;box-shadow:0 12px 40px #281e3c47}.partAsk h3{margin:0 0 6px;font:400 20px Marcellus,serif}.partAskList{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.partAsk .num{margin:8px 0 4px}.partAsk .num input{flex:1;width:100%}.chip .chipx{opacity:.55;border-radius:8px;margin-left:8px;padding:0 5px;font-weight:700}.chip .chipx:hover{opacity:1;color:#c0392b;background:#c0392b24}.ovCell.live{position:relative}.ovDel{color:#8a6d63;cursor:pointer;background:0 0;border:0;border-radius:10px;width:20px;height:20px;padding:0;font-size:16px;line-height:18px;position:absolute;top:2px;right:6px}.ovDel:hover{color:#c0392b;background:#c0392b24}.sewHead.sewToggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;align-items:baseline;gap:8px;padding:2px 0;display:flex}.sewToggle .sewCaret{opacity:.7;font-size:12px}.sewToggle .sewOne{opacity:.8;font-size:13px;font-style:italic;font-weight:400}.sewHeadRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sewHeadRow .sewToggle{flex:260px;width:auto}.phApp{background:var(--bg);--pl:#7d5fa0;--pd:#5b4670;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.phHead{background:var(--pd);color:#fff;grid-template-columns:44px 1fr auto;align-items:center;gap:6px;min-height:48px;padding:6px 10px;display:grid}.phHead b{letter-spacing:.06em;text-align:center;white-space:nowrap;text-overflow:ellipsis;font:18px Marcellus,serif;overflow:hidden}.phKnit .phHead b{text-align:left;font-size:15px}.phBack{color:#fff;background:0 0;border:0;width:44px;height:40px;padding:0;font-size:26px}.phBody{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px;display:flex;overflow-y:auto}.phHome{gap:8px}.phContinue{text-align:left;background:var(--pl);color:#fff;border:0;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.phContinue span{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.phContinue small{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.phContinue i{background:#fff;border-radius:2px;height:4px;margin-top:2px;display:block}.phContinue em{font-size:26px;font-style:normal}.phTile{text-align:left;border:1px solid var(--rule);background:var(--card);border-radius:18px;justify-content:space-between;align-items:center;gap:10px;min-height:92px;padding:12px 14px;display:flex}.phTileText{flex-direction:column;gap:3px;display:flex}.phTileText b{letter-spacing:.04em;font:19px Marcellus,serif}.phTileText small{color:var(--muted);font-size:14px;line-height:1.2}.phThumbs{align-items:center;gap:6px;display:flex}.phThumbs img{object-fit:cover;border:1px solid var(--rule);border-radius:10px;width:52px;height:66px}.phDot{background:#b096cd;border-radius:50%;width:30px;height:30px;display:inline-block}.phDot.big{width:56px;height:56px}.phShape{width:44px;height:58px;display:inline-block}.phShape svg,.phShapeBig svg,.phPic svg{width:100%;height:100%}.phGrid{grid-template-columns:1fr 1fr 1fr;align-content:start;gap:8px;display:grid}.phCard{text-align:left;border:2px solid var(--rule);background:var(--card);border-radius:12px;flex-direction:column;gap:3px;min-width:0;padding:5px;display:flex}.phCard.on{border-color:var(--pl)}.phCard b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.15;overflow:hidden}.phCard small{color:var(--muted);font-size:12px}.phPic{background:#f3edf8;border-radius:10px;justify-content:center;align-items:center;height:96px;display:flex;overflow:hidden}.phPic img{object-fit:cover;width:100%;height:100%}.phFoot{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--rule);flex-direction:column;gap:8px;display:flex}.phRow{gap:8px;display:flex}.phYarn{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.phYarn select{border:1px solid var(--rule);background:#fff;border-radius:10px;flex:1;min-width:0;padding:9px 8px;font-size:16px}.phGo{background:var(--pd);color:#fff;letter-spacing:.05em;border:0;border-radius:14px;flex:1;padding:13px;font:18px Marcellus,serif}.phGo:disabled{opacity:.4}.phGhost{border:1px solid var(--rule);color:var(--muted);background:#fff;border-radius:14px;padding:13px 16px;font-size:16px}.phLabel{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;font:12px Marcellus,serif}.phChips{flex-wrap:nowrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.phChips.wrap{flex-wrap:wrap}.phChips button,.phChips label{border:1px solid var(--rule);white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:9px 13px;font-size:16px}.phChips .on{background:var(--pd);color:#fff;border-color:var(--pd)}.phNote{color:var(--muted);margin:4px 0;font-size:15px;font-style:italic}.phOk{color:#4f7a4a;margin:2px 0;font-size:14px}.phWarn{color:#a0453a;margin:2px 0;font-size:14px}.phEliza{align-items:center;gap:12px;display:flex}.phEliza img{object-fit:cover;border-radius:12px;width:84px;height:108px}.phEliza div{flex-direction:column;gap:3px;display:flex}.phEliza b{font:22px Marcellus,serif}.phEliza small{color:var(--muted)}.phFile{border:1px dashed var(--rule);color:var(--muted);border-radius:999px;align-self:flex-start;padding:8px 14px;font-size:15px;display:inline-block}.phMakeGrid{grid-template-columns:1fr 1fr 1fr;align-content:start;gap:8px;display:grid}.phMk{border:1px solid var(--rule);background:var(--card);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.phMk b{font-size:14px;line-height:1.1}.phShapeBig{width:100%;height:86px}.phFields{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.phFields label{color:var(--muted);flex-direction:column;font-size:12px;display:flex}.phFields input{border:1px solid var(--rule);border-radius:8px;width:100%;padding:8px;font-size:16px}.phSeg{border:1px solid #ffffff80;border-radius:999px;display:inline-flex;overflow:hidden}.phSeg button{color:#fff;background:0 0;border:0;padding:6px 10px;font-size:13px}.phSeg .on{color:var(--pd);background:#fff}.phTabs{flex:none;gap:6px;padding:6px 10px 0;display:flex;overflow-x:auto}.phTabs button{border:1px solid var(--rule);white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:5px 12px;font-size:14px}.phTabs .on{background:var(--pd);color:#fff;border-color:var(--pd)}.phInstr{flex-direction:column;flex:none;gap:2px;padding:8px 12px;display:flex}.phInstr b{font:21px/1.15 Marcellus,serif}.phInstr.hot b{color:#a0453a}.phInstr small{color:var(--muted);font-size:14px}.phInstr .phRem{color:#a0453a}.phStage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.phStage .stage{flex:1;min-height:0}.phCount{flex:none;justify-content:space-between;align-items:center;gap:6px;padding:4px 12px;font:22px Marcellus,serif;display:flex}.phCount>span:last-child{color:var(--muted);font-size:15px}.phHelp{gap:6px;display:inline-flex}.phHelp button{border:1px solid var(--rule);background:#fff;border-radius:999px;min-width:40px;padding:4px 10px;font-size:16px}.phHelp .on{background:var(--pd);border-color:var(--pd)}.phHelp .bad{border-color:#a0453a}.phButtons{padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--rule);flex:none;gap:8px;display:flex}.phButtons button{border:1px solid var(--rule);background:#fff;border-radius:14px;padding:14px 12px;font-size:16px}.phButtons .phGo{background:var(--pd);color:#fff;border:0;flex:2}.phButtons button:disabled{opacity:.4}.gPreview{align-items:flex-start;gap:12px;display:flex}.gPreview img{border:1px solid #e3dbe9;border-radius:8px;width:96px}.gpEmpty{text-align:center;color:#8b7d99;border:1px dashed #cfc2dc;border-radius:8px;justify-content:center;align-items:center;width:96px;height:120px;font-size:12px;display:flex}.phForm{gap:4px}.phForm .phChips{flex-wrap:wrap;gap:5px;overflow:visible}.phForm .phChips button{padding:7px 11px;font-size:15px}.phForm .phFields{grid-template-columns:1fr 1fr 1fr;gap:4px 8px}
