:root{--bg:#f4f2f7;--panel:#fff;--ink:#1d1a22;--muted:#6b6475;--line:#e2dde9;--accent:#b5317a;--safe:#2f8f5b;--caution:#d9822b;--critical:#d23b3b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141118;--panel:#1e1a24;--ink:#ece8f1;--muted:#a49cb0;--line:#2f2938;--accent:#e0559e;--safe:#4cbf80;--caution:#f0a04b;--critical:#f06363;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}html[data-lang=de] [lang=en]:not(.lang-hint),html[data-lang=en] [lang=de]:not(.lang-hint){display:none}.lang-hint{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:6px;margin:0 0 16px;padding:8px 12px}.lang-hint[hidden]{display:none}.doc-top{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.doc-top nav{align-items:center;gap:12px;display:flex}.doc-brand{color:inherit;align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.doc-open{white-space:nowrap;font-weight:500;text-decoration:none}@media (width<=480px){.doc-top{gap:8px;padding:8px 12px}.doc-brand{font-size:16px}.doc-brand span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.doc-open{font-size:14px}.doc{padding-bottom:96px}}select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:14px}.doc{max-width:760px;margin:0 auto;padding:24px 16px 64px}@media (width>=1100px){.doc{max-width:1020px}.doc article{grid-template-columns:200px minmax(0,760px);align-items:start;gap:0 44px;display:grid}.doc article>*{grid-column:2}.doc article .toc{flex-direction:column;grid-area:1/1/span 4;gap:2px;max-height:calc(100vh - 90px);margin:12px 0 0;position:sticky;top:70px;overflow-y:auto}.doc article .toc a{border:none;border-left:2px solid var(--line);color:var(--muted);background:0 0;border-radius:0;padding:3px 12px}.doc article .toc a:hover{color:var(--ink)}.doc article .toc a.active{border-left-color:var(--accent);color:var(--ink);font-weight:600}}.doc article+article{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}html[data-lang] .doc article+article{border-top:none;margin-top:0;padding-top:0}h1{margin:8px 0 12px;font-size:30px;line-height:1.2}h2{margin:36px 0 8px;scroll-margin-top:64px;font-size:21px}h3{margin:20px 0 4px;scroll-margin-top:64px;font-size:16px}h2+h3{margin-top:12px}.tasks{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:20px 0 8px;padding:12px 16px 6px}.tasks p{margin:0 0 4px}.tasks ul{margin:0;padding-left:20px}.tasks li{margin:2px 0}.terms dt{margin-top:8px}.lead{color:var(--muted);font-size:18px}.toc{flex-wrap:wrap;gap:6px 8px;margin:20px 0 8px;display:flex}.toc a{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:3px 10px;font-size:14px;text-decoration:none}dt{margin-top:10px;font-weight:600}dd{margin:0}table{border-collapse:collapse;background:var(--panel);width:100%;margin:12px 0;font-size:14px;display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:7px 10px}th{color:var(--muted);font-weight:600}.keys td:first-child{white-space:nowrap}kbd{border:1px solid var(--line);background:var(--bg);border-bottom-width:2px;border-radius:4px;padding:2px 5px;font:12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}code{font:14px ui-monospace,SFMono-Regular,Menlo,monospace}.lv{font-weight:600}.lv.safe{color:var(--safe)}.lv.caution{color:var(--caution)}.lv.critical{color:var(--critical)}.more{color:var(--muted);margin-top:32px}figure{margin:20px 0}figure img{border:1px solid var(--line);background:#0e0c12;border-radius:8px;width:100%;height:auto;display:block}figcaption{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.45}.fig-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.fig-pair figure{margin:0}figure img[src*=stitchplan],figure img[src*=sections],figure img[src*=kinds],figure img[src*=shorts],figure img[src*="/leather.jpg"],figure img[src*=save-]{width:auto;max-width:100%;max-height:520px;margin:0 auto}.demos{border-left:3px solid var(--accent);background:var(--panel);border-radius:0 8px 8px 0;padding:10px 14px}@media (width<=560px){.fig-pair{grid-template-columns:1fr}}.font-table{margin:1.2em 0}.font-table summary{cursor:pointer;font-weight:600}.font-table td:nth-child(3){white-space:nowrap}.toc-fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:20;border:1px solid var(--line);background:var(--panel);max-width:calc(100vw - 32px);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 16px 10px 14px;font-size:15px;font-weight:600;display:flex;position:fixed;box-shadow:0 4px 18px #00000038}.toc-fab[hidden]{display:none}.toc-fab-here{max-width:40vw;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.toc-fab-here:empty{display:none}.toc-fab-here:before{content:"· "}.toc-sheet{z-index:30;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.toc-sheet[hidden]{display:none}.toc-sheet-panel{width:100%;max-height:min(80vh,640px);padding:8px 8px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--panel);border-radius:16px 16px 0 0;flex-direction:column;display:flex;box-shadow:0 -8px 30px #0000004d}.toc-sheet-head{justify-content:space-between;align-items:center;padding:6px 8px 8px 12px;display:flex}.toc-sheet-close{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-size:14px}.toc-sheet-nav{grid-template-columns:1fr 1fr;gap:4px;padding:0 4px;display:grid;overflow-y:auto}.toc-sheet-nav a{color:var(--ink);border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.3;text-decoration:none;display:block}.toc-sheet-nav a.active{background:var(--bg);color:var(--accent);font-weight:600}.toc-sheet-top{margin:8px 12px 0;font-size:14px}@media (width<=340px){.toc-sheet-nav{grid-template-columns:1fr}}@media (width>=1100px){.toc-fab,.toc-sheet{display:none}}.videos{margin:20px 0 8px}.videos>p{margin:0 0 10px}.videos>p a{white-space:nowrap}.video-list{grid-template-columns:repeat(4,1fr);gap:16px 12px;margin:0;padding:0;list-style:none;display:grid}.video-play{border:1px solid var(--line);cursor:pointer;aspect-ratio:4/3;background:#141118;border-radius:10px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.video-play img{object-fit:cover;width:100%;height:100%;transition:transform .15s;display:block}.video-play:hover img{transform:scale(1.03)}.video-play:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-badge{background:#141118cc;border-radius:50%;width:34px;height:34px;transition:background-color .15s,transform .15s;position:absolute;bottom:8px;left:8px;box-shadow:0 1px 6px #00000059}.video-badge:after{content:"";border:7px solid #0000;border-left:11px solid #fff;border-right-width:0;position:absolute;top:10px;left:13px}.video-play:hover .video-badge,.video-play:focus-visible .video-badge{background:var(--accent);transform:scale(1.08)}.video-play .video-length{color:#fff;font-variant-numeric:tabular-nums;background:#141118cc;border-radius:4px;padding:1px 6px;font-size:12px;line-height:18px;position:absolute;bottom:8px;right:8px}.video-title{margin:6px 0 0;font-size:14px;line-height:1.3}.video-part{color:var(--muted);font-variant-numeric:tabular-nums}@media (width<=900px){.video-list{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.video-list{grid-template-columns:repeat(2,1fr)}}.video-refs{flex-wrap:wrap;gap:8px;margin:-4px 0 14px;display:flex}.video-ref{border:1px solid var(--line);background:var(--panel);max-width:100%;min-height:44px;color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:4px 12px 4px 4px;font-size:14px;line-height:1.3;text-decoration:none;transition:border-color .15s;display:inline-flex}.video-ref:hover{border-color:var(--accent)}.video-ref:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-ref-thumb{object-fit:cover;background:#141118;border-radius:5px;flex:none;width:48px;height:36px}.video-ref-text small{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;display:flex}.video-ref-text small:before{content:"";border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent var(--accent)}.video-ref-text{flex-direction:column;font-weight:500;display:flex}.doc-link{white-space:nowrap;color:var(--ink);text-decoration:none}.doc-link:hover{color:var(--accent)}.doc.video-page{max-width:1100px}.video-page .lead{max-width:760px;margin-bottom:18px}.doc.video-page article{display:block}@media (width>=1000px){.video-page .video-list-wide:not(.video-list-one){grid-template-columns:repeat(4,1fr)}.video-list-one .video{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.video-list-one .video-play{max-width:520px}}.video-groups-nav{flex-wrap:wrap;gap:8px;margin:0 0 8px;display:flex}.video-groups-nav a{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.video-groups-nav a:hover{border-color:var(--accent)}.video-group{margin:36px 0 0}.video-group h2{scroll-margin-top:70px}.video-group-lead{color:var(--muted);margin:-6px 0 14px}.video-list-wide{grid-template-columns:repeat(3,1fr);gap:24px 16px}.video-list-wide .video-title{margin-top:8px;font-size:16px;font-weight:600}.video-list-wide .video-part{font-weight:400}.video-goal{margin:4px 0 0;font-size:14px;line-height:1.45}.video-meta{color:var(--muted);margin:4px 0 0;font-size:13px}.video-list-one{grid-template-columns:1fr}.video-list-one .video{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;display:grid}.video-list-one .video-title{margin-top:0;font-size:18px}.video-list-one .video-goal{font-size:15px}.video-more{color:var(--muted);margin-top:40px}@media (width<=900px){.video-list-wide{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.video-list-wide{grid-template-columns:1fr}.video-list-one .video{grid-template-columns:1fr;gap:0}.video-list-one .video-title{margin-top:8px;font-size:16px}}.video-dialog{border:1px solid var(--line);background:var(--panel);width:min(92vw,960px);max-width:none;color:var(--ink);border-radius:12px;padding:0;overflow:hidden;box-shadow:0 8px 28px #00000059}.video-dialog::backdrop{background:#0009}.video-dialog-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px 10px 16px;display:flex}.video-dialog-head b{font-size:15px}.video-dialog-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.video-cc{align-items:center;gap:6px;display:inline-flex}.video-cc-label{color:var(--muted);font-size:13px}.video-cc button,.video-dialog-btn{border:1px solid var(--line);background:var(--bg);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.video-cc button{border-radius:0;margin-left:-1px}.video-cc button:first-of-type{border-radius:6px 0 0 6px;margin-left:0}.video-cc button:last-of-type{border-radius:0 6px 6px 0}.video-cc button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;z-index:1;position:relative}.video-cc button:hover,.video-dialog-btn:hover{border-color:var(--muted)}.video-cc[hidden]{display:none}.video-files{position:relative}.video-files[hidden]{display:none}.video-files summary{list-style:none}.video-files summary::-webkit-details-marker{display:none}.video-files-chevron{transition:transform .15s}.video-files[open] .video-files-chevron{transform:rotate(180deg)}.video-files-menu{z-index:2;border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 28px #00000059}.video-files-menu a{min-height:36px;color:var(--ink);white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.video-files-menu a:hover,.video-files-menu a:focus-visible{background:var(--bg)}.video-files-menu small{color:var(--muted);font-size:12px}.video-dialog-stage{background:#141118;position:relative}.video-dialog-stage video{aspect-ratio:16/9;width:100%;max-height:calc(100vh - 190px);display:block}.video-dialog-foot{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding:8px;display:flex}.video-step{min-width:0;max-width:48%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:4px 10px;font-size:14px;line-height:1.3;display:inline-flex}.video-step:hover{border-color:var(--line);background:var(--bg)}.video-step:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.video-step[hidden]{display:none}.video-step-next{text-align:right;margin-left:auto}.video-step img{object-fit:cover;background:#141118;border-radius:5px;flex:none;width:48px;height:36px}.video-step-text{white-space:nowrap;text-overflow:ellipsis;flex-direction:column;min-width:0;display:flex;overflow:hidden}.video-step-text>span{text-overflow:ellipsis;overflow:hidden}.video-step-text small{color:var(--muted);font-size:12px}.video-step-arrow{color:var(--muted);font-size:22px;line-height:1}.video-end{color:#fff;text-align:center;background:#141118db;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.video-end p{color:#cfc8d8;margin:0;font-size:14px}.video-end-next{color:#fff;max-width:100%;font:inherit;text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:10px;align-items:center;gap:14px;padding:8px 16px 8px 8px;font-size:17px;font-weight:600;display:flex}.video-end-next:hover,.video-end-next:focus-visible{border-color:var(--accent);background:#ffffff24;outline:none}.video-end-next img{object-fit:cover;border-radius:6px;flex:none;width:120px;height:90px}.video-end-next span{flex-direction:column;display:flex}.video-end-next small{color:#cfc8d8;font-size:13px;font-weight:400}.video-end-all{background:var(--accent);color:#fff;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none}.video-end-again{color:#cfc8d8;font:inherit;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:14px;text-decoration:underline}.video-end-again:hover,.video-end-again:focus-visible{color:#fff}@media (width<=560px){.video-dialog{width:calc(100vw - 16px)}.video-dialog-head{padding:8px 8px 8px 12px}.video-dialog-head b{font-size:14px}.video-files-menu{left:0;right:auto}.video-step img,.video-step-title{display:none}.video-end-next img{width:72px;height:54px}.video-end-next{font-size:15px}}figure img{cursor:zoom-in}figure img:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.image-view-open{overflow:hidden}.image-view{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;background:#0e0c1200;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.image-view::backdrop{background:0 0}.image-view,.image-view-close{transition:background-color .18s ease-out,opacity .18s ease-out}.image-view.shown{background-color:#0e0c12}.image-view:not(.shown) .image-view-close{opacity:0}.image-view img.moving{transition:transform .18s ease-out}@media (prefers-reduced-motion:reduce){.image-view,.image-view-close,.image-view img.moving{transition:none}}.image-view img{transform-origin:0 0;cursor:grab;-webkit-user-drag:none;max-width:none;position:absolute;top:0;left:0}.image-view img:active{cursor:grabbing}.image-view-close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));color:#fff;cursor:pointer;background:#0000008c;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute}.image-view-close:hover{background:#000c}.image-view-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
