.knit-app{--knit-accent:#146d61}.knit-actions,.knit-inline{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}.knit-actions{margin:1rem 0}.knit-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.knit-panel{border:1px solid var(--line,#d8e3df);border-radius:16px;padding:1.2rem;background:var(--panel,#fff);min-width:0}.knit-panel h3,.knit-panel h4{margin-top:0}.knit-panel label{display:block;margin:.65rem 0 .3rem}.knit-panel input:not([type=radio]):not([type=color]),.knit-panel select,.knit-panel textarea{width:100%;box-sizing:border-box}.knit-panel textarea{resize:vertical;line-height:1.5}.knit-inline label{flex:1;min-width:80px}.knit-inline input{max-width:120px}.knit-palette{display:flex;gap:1rem;border:0;padding:.7rem 0;margin:.5rem 0}.knit-palette label{display:flex;align-items:center;gap:.25rem;margin:0}.knit-palette input[type=color]{width:38px;height:38px;border:0;background:none;padding:0;cursor:pointer}.knit-chart-scroll{overflow:auto;padding:.5rem 0;background:#fafbf9;border-radius:8px;margin:.75rem 0}.knit-chart-scroll canvas{display:block;touch-action:none;max-width:none;outline-offset:-3px}.knit-chart-scroll canvas:focus{outline:3px solid #146d61}.knit-two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.knit-counter{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0 0}.knit-counter h4{margin:0 auto 0 0}.knit-counter output{font-weight:700;white-space:nowrap}.knit-calculators{margin-top:2rem}.knit-calcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.knit-calcs button{margin-top:1rem}.knit-result{font-weight:600;white-space:pre-line}.knit-file{display:inline-flex;border:1px solid #ccc;border-radius:9px;padding:.6rem .8rem;cursor:pointer;position:relative;overflow:hidden}.knit-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.knit-print-pattern{display:none}.knit-print-pattern.knit-preview-visible{display:block;margin-top:2rem;padding:2rem;border:1px solid #d8e3df;border-radius:16px;background:#fff;color:#111}.knit-preview-visible p{white-space:pre-wrap;overflow-wrap:anywhere}.knit-preview-visible svg{width:100%;height:auto}.knit-preview-visible .knit-print-chart{margin-top:2rem;border-top:1px solid #ddd;padding-top:1rem}.knit-palette{flex-wrap:wrap}#knit-status{min-height:1.4em;font-size:.9rem}#knit-position{min-height:1.3em}@media(max-width:850px){.knit-columns,.knit-calcs{grid-template-columns:1fr}}@media print{body>*{display:none!important}body main,body .shell,body .layout,body .page,body .tool,body .tool-card,body .tool-body{display:block!important}body *:has(#knit-print-pattern){display:block!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}body *:has(#knit-print-pattern)>*:not(:has(#knit-print-pattern)):not(#knit-print-pattern){display:none!important}#knit-print-pattern{display:block!important;color:#000;background:#fff;font-size:11pt;padding:0}#knit-print-pattern h1{font-size:22pt}#knit-print-pattern p{white-space:pre-wrap;overflow-wrap:anywhere}#knit-print-pattern svg{width:100%;height:auto;max-height:240mm;display:block}#knit-print-pattern .knit-print-chart{break-inside:avoid;page-break-inside:avoid;break-before:page}#knit-print-pattern h2{break-after:avoid}#knit-print-pattern .knit-print-legend{font-size:9pt} @page{margin:15mm}}

.knit-panel .knit-pan-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.knit-panel .knit-pan-toggle input{width:auto!important}

#knit-palette input[type=color]{padding:0!important;height:38px!important;min-height:38px!important;background:transparent!important;border:1px solid #c7d2cc!important;border-radius:6px!important}#knit-palette input[type=color]::-webkit-color-swatch-wrapper{padding:3px}#knit-palette input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}

#knit-preview-dialog{width:min(1040px,calc(100vw - 32px));max-width:none;max-height:90dvh;padding:0;border:1px solid #d8e3df;border-radius:18px;box-shadow:0 24px 90px #0005;background:#fff;color:#17251f;overflow:auto}
#knit-preview-dialog::backdrop{background:rgb(15 25 35 / .65)}
.knit-preview-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #d8e3df}
.knit-preview-toolbar h2{margin:0;font-size:1.2rem}.knit-preview-toolbar>div{display:flex;gap:.6rem;flex-wrap:wrap}
#knit-preview-dialog .knit-print-pattern{margin:0;padding:1.5rem;border:0;border-radius:0}
.knit-colour-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem 1.5rem;margin:1rem 0 1.5rem}
.knit-colour-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border:1px solid #d8e3df;border-radius:8px;break-inside:avoid;min-width:0}
.knit-colour-item>div{display:grid;gap:.25rem;min-width:0}.knit-colour-item strong{font-size:.95rem}.knit-colour-item>div>span{font-size:.85rem;font-family:monospace}
.knit-colour-swatch{display:block;width:30px;height:30px;flex:0 0 30px;border:1px solid #53685d;border-radius:5px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.knit-stitch-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem 1.5rem;margin:1.25rem 0}
.knit-stitch-key>div{display:flex;gap:.75rem;align-items:baseline;break-inside:avoid}.knit-stitch-key dt{width:1.5rem;flex:0 0 1.5rem;text-align:center;font-size:1.3rem;font-weight:bold}.knit-stitch-key dd{margin:0;line-height:1.4}
.knit-sheet-title{font-weight:bold}
@media(max-width:600px){.knit-preview-toolbar{align-items:flex-start;flex-direction:column;padding:1rem}.knit-preview-toolbar>div{width:100%}#knit-preview-dialog .knit-print-pattern{padding:1rem}.knit-colour-key,.knit-stitch-key{grid-template-columns:1fr}}
@media print{#knit-preview-dialog{position:static!important;inset:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;transform:none!important}#knit-preview-dialog::backdrop{display:none!important}#knit-preview-dialog .knit-preview-toolbar{display:none!important}#knit-preview-dialog .knit-print-pattern{padding:0!important;margin:0!important;border:0!important}.knit-colour-key{grid-template-columns:repeat(3,minmax(0,1fr));gap:5mm;margin:5mm 0}.knit-colour-item{padding:2mm;gap:3mm}.knit-stitch-key{grid-template-columns:1fr 1fr;gap:3mm 5mm;font-size:9pt}.knit-colour-item strong,.knit-colour-item>div>span{font-size:9pt}.knit-colour-swatch{width:7mm;height:7mm;flex-basis:7mm}#knit-print-pattern svg{max-height:145mm}.knit-print-chart{break-inside:avoid}}

/* Keep help icons in label rows, separate from the controls they describe. */
#knitting-app .knit-field{min-width:0}
#knitting-app .knit-field>label,#knitting-app .knit-two>div>label{min-height:30px;margin:0 0 .4rem;display:flex;align-items:center}
#knitting-app .knit-field>.vt-help-field,#knitting-app .knit-two>div>.vt-help-field{min-height:30px;margin:0 0 .4rem!important}
#knitting-app .knit-field>.vt-help-field>label,#knitting-app .knit-two>div>.vt-help-field>label{display:flex;align-items:center}
#knitting-app .knit-panel input:not([type=radio]):not([type=color]):not([type=checkbox]),#knitting-app .knit-panel select{height:48px;min-height:48px;margin:0}
#knitting-app .knit-two{row-gap:1rem;margin-top:.8rem}
#knitting-app .knit-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;margin:.8rem 0 1rem}
#knitting-app .knit-dimensions input{max-width:none}
#knitting-app .knit-dimensions>button{height:48px;margin:0}
#knitting-app .knit-actions{align-items:center}
#knitting-app .knit-actions>button,#knitting-app .knit-file{min-height:48px;margin:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}
#knitting-app .knit-actions>.vt-help-field{margin:0!important}
#knitting-app .knit-calcs>.knit-panel{display:grid;grid-template-rows:auto auto 1fr auto auto;align-content:start;gap:1rem}
#knitting-app .knit-calcs h4{min-height:3em;margin:0;line-height:1.5}
#knitting-app .knit-calcs>.knit-panel>.privacy{min-height:4.5em;margin:0;line-height:1.5}
#knitting-app .knit-calc-fields{display:grid;gap:1rem;align-content:start;margin:0}
#knitting-app .knit-calcs .knit-field>label,#knitting-app .knit-calcs .knit-field>.vt-help-field{min-height:48px}
#knitting-app .knit-calcs .knit-field>.vt-help-field>label{min-height:48px}
#knitting-app .knit-calcs button[type=submit]{min-height:64px;margin:0;width:100%;white-space:normal}
#knitting-app .knit-result{min-height:3em;margin:0;line-height:1.5}
@media(max-width:850px){#knitting-app .knit-calcs h4,#knitting-app .knit-calcs>.knit-panel>.privacy{min-height:0}}
@media(max-width:600px){#knitting-app .knit-dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}#knitting-app .knit-dimensions>button{grid-column:1/-1;width:100%}#knitting-app .knit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#knitting-app .knit-actions>button,#knitting-app .knit-file{width:100%;min-height:64px;white-space:normal}#knitting-app .knit-counter{gap:.6rem}#knitting-app .knit-counter h4{flex-basis:100%}}

#knitting-app .knit-actions>.vt-help-field>.vt-help-button{top:50%;transform:translateY(-50%);inset-inline-end:8px}
#knitting-app .knit-actions .knit-file{padding-inline-end:48px!important}

#knitting-app .knit-panel[aria-labelledby=knit-chart-heading]{background:#edf6f3;border-color:#b7d6ca;border-top:4px solid #287b66}
#knitting-app .knit-panel[aria-labelledby=knit-writing-heading]{background:#fff8ed;border-color:#e5d3b6;border-top:4px solid #ad7836}
#knitting-app .knit-calculators{padding:1.25rem;border:1px solid #d9cef0;border-top:4px solid #7654b1;border-radius:16px;background:#f4effc}
#knitting-app .knit-calculators>h3{margin-top:0}
#knitting-app .knit-calcs>.knit-panel{background:#fff;border-color:#d9cef0}
@media(max-width:600px){#knitting-app .knit-calculators{padding:1rem .75rem}}
#knitting-app .knit-actions{gap:.5rem}
@supports(grid-template-rows:subgrid){#knitting-app .knit-calcs>.knit-panel{grid-row:span 5;grid-template-rows:subgrid}}
