:root{--bg:#f5f3ee;--panel:#fff;--ink:#1f2a24;--muted:#65706a;--line:#dcd8cf;--accent:#3d7a57;--accent-ink:#fff;--danger:#b3261e;--paper:#fff;--paper-empty:#ebe8e1;--tile-line:#b9b4a8;--pot:#c9a27e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#151a17;--panel:#1e2521;--ink:#e7ebe8;--muted:#9aa69f;--line:#333d37;--accent:#6cbf8d;--accent-ink:#0d1a12;--danger:#f2948c;--paper:#f7f6f2;--paper-empty:#3a423d;--tile-line:#59625c;--pot:#a07b5a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;line-height:1.45}.site-header{max-width:1280px;margin:0 auto;padding:28px 16px 8px}.site-header h1{letter-spacing:-.01em;align-items:center;gap:10px;margin:0 0 4px;font-size:1.6rem;display:flex}.site-header p{color:var(--muted);margin:0}.app{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:16px;max-width:1280px;margin:0 auto;padding:16px;display:grid}@media (width<=820px){.app{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}fieldset{border:0;margin:0 0 14px;padding:0}legend{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:.8rem;font-weight:650}.field{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.field>span:first-child,.check>span{flex-direction:column;font-weight:550;display:flex}small{color:var(--muted);font-size:.78rem;font-weight:400}.field.stacked{flex-direction:column;align-items:stretch;gap:6px}.field.stacked select{width:100%}.input{align-items:center;gap:6px;display:flex}.input em{color:var(--muted);width:1.6em;font-size:.85rem;font-style:normal}input[type=number],select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px}input[type=number]{text-align:right;width:5.5em}select{max-width:100%}input[aria-invalid=true]{border-color:var(--danger);outline-color:var(--danger)}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.check{align-items:flex-start;gap:10px;padding:8px 0 0;display:flex}.check input{accent-color:var(--accent);margin-top:4px}.segmented{border:1px solid var(--line);border-radius:8px;margin-bottom:6px;display:inline-flex;overflow:hidden}.segmented label{cursor:pointer}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{padding:5px 14px;font-size:.9rem;display:block}.segmented input:checked+span{background:var(--accent);color:var(--accent-ink)}.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.errors{color:var(--danger);margin:0 0 12px;padding-left:18px;font-size:.9rem}.actions{flex-wrap:wrap;gap:8px;display:flex}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 16px;font-weight:600}button.primary{background:var(--accent);color:var(--accent-ink);flex:1}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{color:var(--ink);border-color:var(--line);background:0 0}.output-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.output-head h2{margin:0;font-size:1.15rem}.muted{color:var(--muted);margin:2px 0 0}.section-view{flex-shrink:0;width:140px}.section-view svg{width:100%;height:auto;display:block}.sec-pot{fill:var(--pot);opacity:.55}.sec-cover{fill:none;stroke:var(--accent);stroke-width:.8px;stroke-linejoin:round}.sec-cuff{fill:none;stroke:var(--accent);stroke-width:.8px;opacity:.6}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0;display:grid}.stats div{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.stats dt{color:var(--muted);font-size:.75rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.sheet{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.sheet-card{min-width:0;margin:0}.sheet-card svg{filter:drop-shadow(0 1px 3px #0000001f);width:100%;height:auto;max-height:70vh;display:block}.sheet-card figcaption{justify-content:space-between;gap:8px;margin-top:6px;font-size:.9rem;font-weight:600;display:flex}.sheet-card figcaption span{color:var(--muted);font-weight:400}.tile{fill:var(--paper);stroke:var(--tile-line);stroke-width:.08px}.tile.empty{fill:var(--paper-empty)}.tile-label{fill:#8a8577;font-size:1.1px;font-weight:700}.cut-fill{fill:#3d7a5714;stroke:none}.cut{fill:none;stroke:#1f2a24;stroke-width:.1px}.fold{stroke:#3d7a57;stroke-width:.14px;stroke-dasharray:.6 .2}.fold-bracket{fill:none;stroke:#1f2a24;stroke-width:.06px}.grain-label{text-anchor:middle;fill:#1f2a24;font-size:.35px}.fold-label{text-anchor:middle;fill:#1f2a24;font-size:.55px;font-weight:700}.stitch{fill:none;stroke:#1f2a24;stroke-width:.05px;stroke-dasharray:.4 .25}.guide{fill:none;stroke:#3d7a57;stroke-width:.06px;stroke-dasharray:.8 .2 .15 .2}.notch,.grain{fill:none;stroke:#1f2a24;stroke-width:.08px}.arrowhead{fill:none;stroke:#1f2a24;stroke-width:1.2px}.piece-title,.piece-cut{text-anchor:middle;fill:#1f2a24}.piece-title{font-size:calc(var(--pt) + .0706px);font-weight:700}.piece-cut{font-size:var(--pt)}.howto{margin-top:14px}.howto summary{cursor:pointer;font-weight:600}.howto ol{padding-left:20px}.howto li{margin:6px 0}
