:root{--bg:#f8f6f0;--surface:#efede5;--surface-strong:#e3e2d8;--text:#253634;--muted:#56655f;--border:#c9cdc1;--accent:#17665d;--accent-text:#fff;--danger:#a13628;--warning:#78511c;--paper:#fffdf5;--ink:#27332f;--bench:#263c38;--bench-text:#eff2e6;--glass-highlight:#f8f8dc;--seam-black:#25342f;--seam-copper:#895b39;--seam-silver:#53605f;--radius:5px;color-scheme:light dark;font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#172522;--surface:#21332e;--surface-strong:#2c4038;--text:#e9eee3;--muted:#b8c7b9;--border:#4a5d52;--accent:#a5d2b9;--accent-text:#18352a;--danger:#ffada0;--warning:#e8c188;--bench:#101d19}}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);overflow-wrap:anywhere;margin:0;line-height:1.6}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:44px;color:var(--accent-text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:600;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}button:hover,.button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:disabled{opacity:.65;cursor:wait}.secondary{background:var(--bg);border-color:var(--border);color:var(--text);font-weight:500}.secondary[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px}input[type=file]{padding:6px;font-size:14px}input::file-selector-button{background:var(--surface-strong);color:var(--text);border:0;border-radius:3px;min-height:32px;margin-right:8px;padding:5px 9px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--accent)}label{font-size:14px;font-weight:600;display:block}label input,label select,label textarea{margin-top:5px;font-size:16px;font-weight:400;display:block}textarea{resize:vertical}.check-label{align-items:center;gap:10px;min-height:44px;font-weight:400;display:flex}.check-label input{margin:0}.field-error{color:var(--danger);font-size:13px;display:block}.field-error:not(:empty){margin-top:5px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.2px;margin-bottom:10px;font-size:clamp(26px,3vw,40px);font-weight:650;line-height:1.15}h2{letter-spacing:-.6px;font-size:26px;line-height:1.25}h3{font-size:18px;line-height:1.35}p{margin-bottom:16px}small,.hint{color:var(--muted);font-size:13px}.hint{line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:8px;font-size:12px;font-weight:700}summary{cursor:pointer;align-content:center;min-height:44px;font-weight:600}details>summary{padding:8px 0}details[open]>summary{margin-bottom:8px}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;max-width:1600px;margin:auto;padding:18px 30px;display:flex}.brand{color:var(--text);letter-spacing:1.5px;white-space:nowrap;align-items:center;gap:11px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand-caption{letter-spacing:0;color:var(--muted);border-left:1px solid var(--border);padding-left:8px;font-size:12px;font-weight:400}.brand-mark{border:2px solid var(--text);background:linear-gradient(140deg,var(--accent) 45%,var(--text) 46%,var(--text) 51%,var(--surface-strong) 52%);border-radius:14px 14px 2px 2px;width:26px;height:30px}.site-header nav{align-items:center;gap:22px;font-size:14px;display:flex}.site-header nav a{color:var(--text);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-header nav a[aria-current=page]{color:var(--accent);text-decoration:underline}.nav-guides{position:relative}.nav-guides summary{font-weight:400}.nav-guides>div{z-index:20;background:var(--bg);border:1px solid var(--border);width:250px;padding:14px;position:absolute;top:100%;right:0}.nav-guides>div a{padding:6px 10px;display:flex!important}.skip-link{z-index:100;background:var(--bg);padding:12px;position:fixed;top:0;left:15px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}main{max-width:1440px;margin:auto;padding:30px}.page-intro{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.page-intro p{color:var(--muted);max-width:700px;margin-bottom:0;font-size:15px}.edition-note{text-align:right;font-family:ui-monospace,monospace;font-size:12px!important}.quick-controls{grid-template-columns:120px minmax(220px,1fr) 180px;align-items:end;gap:16px;max-width:820px;margin-bottom:18px;display:grid}.quick-controls .local-note{color:var(--muted);grid-column:1/-1;margin:-6px 0 0;font-size:12px}.quick-controls button{justify-content:space-between;height:46px}.pack-access{z-index:5;background:var(--surface);color:var(--text);border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:10px 16px;font-size:13px;display:flex;position:sticky;top:0}.pack-access a{white-space:nowrap;min-height:24px;font-weight:600}.workshop-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:30px;display:grid}.drawing-column{align-self:stretch;min-width:0}.sticky-drawing{position:sticky;top:60px}.drawing-toolbar{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.view-buttons,.zoom-buttons{gap:5px;display:flex}.drawing-toolbar button{padding:8px 10px;font-size:13px}.zoom-buttons button{min-width:44px}.lightbox{background:var(--bench);touch-action:pan-x pan-y;justify-content:center;align-items:center;height:510px;padding:24px;display:flex;overflow:auto}.pattern{width:100%;max-width:100%;height:100%;max-height:100%;color:var(--ink);transform-origin:50%;flex-shrink:0;display:block}.pattern.cartoon,.pattern.original{background:var(--paper)}.pattern .glass-piece path{stroke:var(--seam-black);stroke-linejoin:round;cursor:pointer;transition:fill .2s,stroke .2s}.pattern[data-seam-color=copper] .glass-piece path{stroke:var(--seam-copper)}.pattern[data-seam-color=silver-grey] .glass-piece path{stroke:var(--seam-silver)}.pattern .selected path{stroke:var(--accent)!important;stroke-width:3px!important}.pattern .glass-piece path:focus{stroke:var(--accent);stroke-width:4px;outline:none}.piece-number{fill:var(--ink);color:var(--ink);pointer-events:none;font-family:ui-monospace,monospace;font-weight:650}.piece-number-back{fill:var(--paper);opacity:.91;pointer-events:none}.glass-texture{fill:none;stroke:var(--glass-highlight);stroke-width:.8px;opacity:.25}.drawing-caption{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:11px 0;font-size:14px;display:flex}.drawing-caption>span:last-child{white-space:nowrap;font-family:ui-monospace,monospace}.result-strip{border-bottom:1px solid var(--border);grid-template-columns:1.1fr 1.1fr .7fr;gap:12px;padding:14px 0;display:grid}.result-strip>div>span{color:var(--muted);margin-bottom:3px;font-size:12px;display:block}.result-strip strong{font-family:ui-monospace,monospace;font-size:13px;font-weight:500;display:block}.tool-state{color:var(--muted);margin:12px 0;font-size:13px}.tool-error{color:var(--danger);border-left:3px solid var(--danger);background:var(--surface);padding:10px 14px;font-size:14px}.risk-line{flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.risk-list{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.risk-button{background:var(--surface);color:var(--warning);border:1px solid var(--border);padding:6px 9px;font-size:12px}.inline-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.inline-actions button{padding:8px 10px;font-size:13px}.drawing-detail{color:var(--muted);justify-content:space-between;gap:10px;margin:12px 0;font-size:12px;display:flex}.inspector{border-left:1px solid var(--border);min-width:0;padding-left:26px}.control-group{border-bottom:1px solid var(--border);margin:0 0 25px;padding:0 0 22px}.control-group h2{letter-spacing:-.3px;margin-bottom:18px;font-size:18px}.control-group h3{margin:20px 0 10px}.control-group label{margin-bottom:13px}.control-group p{font-size:14px}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.selected-cut{border-left:2px solid var(--accent);margin:20px 0;padding-left:14px}.selected-cut>p{color:var(--muted);font-size:13px}dl{margin:10px 0 16px}dl>div{justify-content:space-between;gap:14px;display:flex}dt{color:var(--muted);font-size:13px}dd{margin:0;font-family:ui-monospace,monospace;font-size:13px}.download-list{grid-template-columns:1fr 1fr;gap:8px;margin:15px 0;display:grid}.download-list button{text-align:left;justify-content:start;padding:9px;font-size:13px}.glass-table small{font-size:11px;display:block}.color-chip{background:var(--glass-color);border:1px solid var(--border);width:10px;height:10px;margin-right:5px;display:inline-block}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 5px}th{font-weight:600}caption{text-align:left;color:var(--muted);margin-bottom:6px;font-size:12px}td{font-variant-numeric:tabular-nums}.tile-preview{grid-template-columns:repeat(var(--tile-columns,3),minmax(0,1fr));gap:6px;margin-bottom:18px;display:grid}.tile-preview figure{background:var(--paper);color:var(--ink);border:1px solid var(--border);margin:0}.tile-preview svg{aspect-ratio:195.9/259.4;width:100%;display:block}.tile-preview path{fill:none;stroke:var(--ink);stroke-width:1px}.tile-preview figcaption{text-align:center;font-size:10px}.pack-preview{background:var(--surface);border-left:2px solid var(--accent);margin:15px 0;padding:15px;font-size:14px}.nesting-preview,.nesting-preview figure{margin:15px 0}.nesting-preview figcaption{font-size:12px}.sheet-diagram{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--border);display:block}.sheet-diagram path{stroke:var(--ink);stroke-width:.6px}.stock-border{fill:var(--paper);stroke:var(--ink);stroke-width:.3px}.worksheet-row{border-bottom:1px solid var(--border);padding:8px 0}.worksheet-row span{font-size:12px;display:block}.reading-content{border-top:1px solid var(--border);max-width:1120px;margin:80px auto 0;padding-top:35px}.reading-content section{margin:0 0 42px}.reading-content p,.reading-content li{max-width:75ch}.reading-content h2{margin:36px 0 18px}.reading-content h3{margin-top:25px}.examples-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.example{color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;padding:0;font-weight:400;display:block}.example .example-drawing{background:var(--bench);height:200px;margin-bottom:10px;padding:14px;overflow:hidden}.example svg{width:100%;height:100%;transition:transform .25s}.example:hover svg{transform:scale(1.03)}.example strong{font-size:16px;display:block}.example small{margin-top:4px;font-size:13px;line-height:1.4;display:block}.steps-list{max-width:78ch;padding-left:25px}.steps-list li{padding:8px 0 8px 8px}.family-links{flex-wrap:wrap;gap:10px 24px;display:flex}.family-links a{align-items:center;min-height:44px;display:inline-flex}.faq-list{max-width:850px}.faq-list details{border-top:1px solid var(--border);padding:7px 0}.faq-list summary{font-size:17px;font-weight:500}.faq-list p{max-width:74ch;padding:4px 0 12px}.guide{max-width:940px;margin:0 auto}.guide .lead{color:var(--muted);max-width:65ch;font-size:19px}.guide section{margin:40px 0}.guide p{max-width:76ch}.guide table{margin:24px 0;font-size:15px}.guide-diagram{background:var(--paper);max-width:100%;height:auto;color:var(--ink);margin:25px 0;display:block}.guide-diagram text{fill:var(--ink);font-family:inherit}.guide-diagram path,.guide-diagram line,.guide-diagram rect{stroke:var(--ink);fill:none}.guide-diagram .guide-area{fill:var(--surface-strong)}.guide-diagram .guide-cut{stroke:var(--accent);fill:none}.guide-diagram text{stroke:none}.guide-cta{flex-wrap:wrap;align-items:center;gap:14px;margin:30px 0;display:flex}.site-footer{border-top:1px solid var(--border);max-width:1600px;color:var(--muted);margin:75px auto 0;padding:30px;font-size:13px}.tool-legal nav{flex-wrap:wrap;gap:12px 24px;display:flex}.tool-legal a{align-items:center;min-height:44px;display:inline-flex}.copyright{margin:18px 0 0;font-size:12px}.plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px 0;display:grid}.plan{border-top:2px solid var(--accent);padding:25px 0}.plan .price{font-size:30px;font-weight:650}.legal-content{max-width:850px}@media (width>=1500px){.lightbox{height:590px}}@media (width<=1100px){.brand-caption{display:none}.site-header{padding:14px 22px}.workshop-grid{grid-template-columns:minmax(0,1fr) 350px;gap:22px}.inspector{padding-left:20px}.drawing-toolbar{gap:6px}.lightbox{height:450px}.drawing-toolbar button{padding:8px;font-size:12px}.result-strip{grid-template-columns:1fr 1fr}.result-strip>div:last-child{grid-column:1/-1}.pack-access span{max-width:65%}}@media (width<=767px){main{padding:22px 16px}.site-header{padding:12px 16px;display:block}.brand{font-size:19px}.site-header nav{justify-content:space-between;gap:18px;margin-top:8px;font-size:12px}.site-header nav a{min-height:44px}.nav-guides summary{min-height:44px;padding:4px 0}.page-intro{margin-bottom:18px}.page-intro h1{letter-spacing:-.8px;font-size:28px}.page-intro p{font-size:14px}.edition-note{display:none}.quick-controls{grid-template-columns:88px minmax(0,1fr);gap:12px}.quick-controls button{grid-column:1/-1;width:100%;height:44px}.quick-controls .local-note{margin-top:-3px;font-size:11px}.pack-access{align-items:center;gap:8px;padding:8px 10px;font-size:11px}.pack-access span{max-width:57%}.pack-access strong{display:block}.pack-access a{white-space:normal;text-align:right;align-items:center;max-width:43%;min-height:44px;display:flex}.workshop-grid{flex-direction:column;gap:24px;display:flex}.drawing-column,.inspector{width:100%}.sticky-drawing{position:static}.lightbox{height:390px;padding:18px}.drawing-toolbar{align-items:center}.drawing-toolbar .view-buttons{grid-template-columns:1fr 1fr 65px;width:100%;display:grid}.drawing-toolbar button{min-height:44px;padding:7px;font-size:11px}.zoom-buttons{margin-left:auto}.drawing-caption{font-size:12px}.result-strip{grid-template-columns:1fr 1fr}.result-strip strong{font-size:11px}.drawing-detail{font-size:10px}.risk-line{gap:7px;font-size:11px}.inline-actions{gap:6px}.inline-actions button{flex:1;min-width:95px;font-size:12px}.inspector{border-left:0;padding-left:0}.control-group{padding-top:18px}.control-group h2{font-size:20px}.reading-content{margin-top:45px;padding-top:20px}.reading-content h2{font-size:25px}.examples-grid{grid-template-columns:1fr 1fr;gap:16px}.example .example-drawing{height:160px;padding:10px}.example strong{font-size:14px}.example small{font-size:12px}.guide .lead{font-size:17px}.guide table{font-size:12px}.site-footer{padding:25px 16px}.plans{grid-template-columns:1fr;gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.pattern.backlit{background:var(--paper)}:root{--diagram-accent:#17665d}.guide-diagram .guide-cut{stroke:var(--diagram-accent)}.lightbox.is-zoomed{display:block}.lightbox.is-zoomed .pattern{max-width:none;max-height:none}
