:root{--background:#eee9df;--shell:#f2eee5;--panel:#faf8f2;--canvas:#f4f1e9;--field:#fff;--ink:#33302a;--muted:#837d6f;--quiet:#a29a88;--line:#e0dacd;--line-soft:#ece6d9;--accent:#6e7a6b;--accent-deep:#4d5a4b;--accent-soft:#eceee8;--radius:12px;--font-ui:"IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--ink);font-family:var(--font-ui);padding:38px}button,input,select{font:inherit}button{color:inherit}.app-shell{background:var(--shell);border:1px solid #ded8ca;border-radius:15px;max-width:1360px;min-height:calc(100vh - 76px);margin:0 auto;overflow:hidden;box-shadow:0 24px 60px #3c322321}.topbar{background:var(--panel);border-bottom:1px solid var(--line-soft);align-items:stretch;gap:16px;padding:20px 28px;display:grid}.project-bar{align-items:center;gap:20px;min-width:0;display:flex}.brand-lockup{letter-spacing:.01em;flex:none;align-items:center;gap:10px;font-size:22px;font-weight:500;display:flex}.brand-mark{border:2px solid var(--accent);border-radius:50%;width:23px;height:23px;display:block;position:relative}.brand-mark:after{border:1px solid var(--accent);content:"";opacity:.5;border-radius:50%;position:absolute;inset:4px}.brand-divider{background:var(--line-soft);width:1px;height:32px}.project-identity{gap:3px;min-width:0;display:grid}.project-identity label{color:#96907f;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.chart-tabs-bar{border-bottom:1px solid var(--line);background:#ebe6dc;align-items:flex-end;gap:8px;min-width:0;padding:9px 18px 0;display:flex}.chart-tabs{scrollbar-width:thin;align-items:flex-end;gap:4px;min-width:0;display:flex;overflow-x:auto}.chart-tab{background:#e2ddd2;border:1px solid #0000;border-bottom:0;border-radius:9px 9px 0 0;flex:none;align-items:center;min-width:112px;max-width:210px;display:flex}.chart-tab.active{background:var(--panel);border-color:var(--line);margin-bottom:-1px;padding-bottom:1px}.chart-tab button{box-shadow:none;background:0 0;border:0;min-height:36px}.chart-tab button:hover:not(:disabled){box-shadow:none;transform:none}.chart-tab-select{text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 5px 7px 12px;overflow:hidden}.chart-tab-close{color:var(--muted);flex:none;padding:5px 9px 5px 5px;font-size:17px}.chart-tab-close:disabled{visibility:hidden}.new-chart-tab{box-shadow:none;white-space:nowrap;background:0 0;border:0;flex:none;min-height:30px;margin-bottom:4px;padding:5px 9px;font-size:12px}.new-chart-tab:hover:not(:disabled){box-shadow:none;transform:none}.chart-tab-actions{flex:none;align-items:center;gap:2px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.project-name{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;width:min(520px,48vw);height:28px;margin-left:-6px;padding:2px 5px;font-size:19px;font-weight:400}.project-name:focus{border-color:var(--line);outline:2px solid var(--accent-soft);background:#fff}.history-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.save-status{color:#96907f;white-space:nowrap;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.save-status>span{background:var(--accent);border-radius:50%;width:6px;height:6px}button{background:var(--field);border:1px solid var(--line);cursor:pointer;border-radius:9px;min-height:34px;padding:8px 13px;transition:border-color .16s,box-shadow .16s,color .16s,transform .16s;box-shadow:0 1px 2px #3c32230a}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);transform:translateY(-1px);box-shadow:0 4px 10px #3c322317}button:disabled{cursor:default;opacity:.42}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.danger-button{color:#fff;background:#a64c40;border-color:#a64c40}.danger-button:hover:not(:disabled){color:#fff;background:#863b32;border-color:#863b32}.save-chart-button{padding-left:17px;padding-right:17px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-menu{position:relative}.file-menu-popover{background:var(--panel);border:1px solid var(--line);z-index:15;border-radius:10px;min-width:230px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 38px #3c32232e}.file-menu-popover button{text-align:left;background:0 0;border:0;justify-content:flex-start;width:100%}.file-menu-popover button:hover{background:#f3f5f3;border-color:#0000}.file-menu-divider{border-top:1px solid var(--line);margin:5px 3px}.file-menu-message{color:var(--muted);max-width:210px;margin:5px 7px 4px;font-size:11px;line-height:1.4}.modal-backdrop{z-index:20;background:#33302a85;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.import-dialog{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:16px;width:100%;max-width:560px;max-height:calc(100vh - 40px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 70px #3c322347}.import-dialog-heading{justify-content:space-between;align-items:flex-start;display:flex}.close-tab-dialog{max-width:440px}.close-dialog{color:var(--muted);background:0 0;border:0;min-height:30px;padding:0 4px;font-size:24px;line-height:1}.import-preview{background:var(--canvas);border:1px solid var(--line);border-radius:9px;width:100%;max-height:48vh;overflow:hidden}.crop-canvas{object-fit:contain;touch-action:none;width:100%;height:100%;display:block}.crop-canvas.draggable{cursor:grab}.crop-canvas.draggable:active{cursor:grabbing}.crop-hint{color:var(--muted);text-align:center;margin:-10px 0 0;font-size:11px}.import-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.image-zoom{gap:7px}.image-zoom input{accent-color:var(--accent);width:100%}.import-note{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.import-error{color:#943f32;background:#fff1ef;border-radius:6px;margin:0;padding:8px;font-size:12px}.import-trigger-error{color:#943f32;max-width:170px;font-size:11px}.import-actions{justify-content:flex-end;gap:8px;display:flex}.ai-dialog{max-width:620px}.ai-form{gap:16px;display:grid}.ai-form textarea{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:7px;width:100%;min-height:125px;padding:10px;line-height:1.5}.ai-form textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.ai-settings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ai-colour-control{gap:6px;display:grid}.ai-colour-control>span{color:var(--muted);font-size:12px}.ai-colour-mode{grid-template-columns:1fr 1fr;display:grid}.ai-colour-mode button{border-radius:0;min-height:30px;padding:4px 8px}.ai-colour-mode button:first-child{border-radius:6px 0 0 6px}.ai-colour-mode button:last-child{border-left:0;border-radius:0 6px 6px 0}.ai-colour-mode button.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}.ai-colour-range{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ai-colour-range label{gap:3px}.ai-colour-range select{height:32px}.ai-chart-summary{background:#f6f5f2;border-radius:7px;gap:2px;padding:9px 11px;display:grid}.ai-chart-summary span,.ai-chart-summary small{color:var(--muted);font-size:11px}.ai-chart-summary strong{font-size:15px}.ai-loading{background:var(--accent-soft);color:var(--accent);border-radius:7px;margin:0;padding:10px;font-size:12px}.ai-preview{background:var(--canvas);border:1px solid var(--line);border-radius:9px;justify-content:center;align-items:center;width:100%;max-height:52vh;display:flex;overflow:hidden}.ai-preview img{object-fit:cover;width:100%;height:100%;display:block}.ai-reference{border:1px solid var(--line);background:#f6f5f2;border-radius:8px;padding:12px}.ai-reference-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-reference-heading>div{gap:2px;display:grid}.ai-reference-heading span{color:var(--muted);font-size:11px}.ai-reference-upload{cursor:pointer;white-space:nowrap;margin:0}.ai-reference-upload input{display:none}.ai-reference-selected{border-top:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:grid}.ai-reference-selected img{object-fit:cover;border-radius:6px;width:64px;height:56px}.ai-reference-selected>div{gap:6px;min-width:0;display:grid}.ai-reference-selected>div>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-reference-selected label{gap:8px;margin:0;display:flex}.ai-reference-selected select{min-width:180px}.ai-edit-panel{border:1px solid var(--line);background:#f6f5f2;border-radius:8px;grid-template-columns:1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.ai-edit-panel label{margin:0}.ai-edit-panel textarea{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:7px;width:100%;min-height:64px;padding:9px 10px;line-height:1.4}.ai-edit-panel textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.resize-chart-button{width:100%;margin-top:10px}.resize-dialog{max-width:540px}.resize-options{gap:10px;display:grid}.resize-choice{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;align-items:start;gap:5px;padding:14px;display:grid;position:relative}.resize-choice:hover{border-color:var(--accent)}.resize-choice strong{font-size:14px}.resize-choice span{color:var(--muted);padding-right:74px;font-size:12px;line-height:1.45}.resize-choice small{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 7px;font-size:10px;position:absolute;top:12px;right:12px}.instructions-dialog{max-width:900px}.instruction-settings{border:1px solid var(--line);background:#f6f5f2;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;display:grid}.instruction-trim-option{border-top:1px solid var(--line);cursor:pointer;grid-column:1/-1;align-items:start;gap:9px;padding-top:10px;display:flex}.instruction-trim-option input{accent-color:var(--accent);margin:2px 0 0}.instruction-trim-option span{color:var(--ink);gap:2px;display:grid}.instruction-trim-option strong{font-size:12px}.instruction-trim-option small{color:var(--muted);font-size:11px;line-height:1.4}.instruction-setting-note{color:var(--muted);background:#fff;border-radius:6px;grid-column:1/-1;margin:0;padding:8px 9px;font-size:11px;line-height:1.4}.instruction-sheet{color:#202522;gap:22px;display:grid}.instruction-title-block{border-bottom:2px solid #202522;padding-bottom:12px}.instruction-title-block h1{font-size:26px}.instruction-title-block>p:last-child{color:var(--muted);margin:6px 0 0;font-size:12px}.instruction-title-block .instruction-crop-note{color:#4d554f;background:#f6f5f2;border-radius:6px;margin-top:9px;padding:7px 9px;font-size:11px;line-height:1.45}.instructions-chart{background:#fff;border:1px solid #333;width:100%;max-height:440px;display:block}.instruction-grid-line{stroke:#1414147a;stroke-width:.5px;vector-effect:non-scaling-stroke}.instruction-grid-major{stroke:#0a0a0acc;stroke-width:1px;vector-effect:non-scaling-stroke}.instruction-cell-symbol{fill:#111;font-family:var(--font-ui);paint-order:stroke;stroke:#ffffffe6;stroke-width:.12px;font-weight:700}.instruction-section{break-inside:avoid}.instruction-section h2{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:6px;font-size:16px}.instruction-section p{margin:7px 0;font-size:13px;line-height:1.55}.instruction-overview{grid-template-columns:1fr 1fr;gap:8px 18px;display:grid}.instruction-overview>div{gap:2px;display:grid}.instruction-overview strong{text-transform:uppercase;font-size:11px}.instruction-overview span{font-size:13px}.instruction-colours{grid-template-columns:1fr 1fr;gap:7px;display:grid}.instruction-colours>div{grid-template-columns:20px 38px 1fr auto;align-items:center;gap:7px;font-size:12px;display:grid}.instruction-colours>div:has(.instruction-key-symbol){grid-template-columns:20px 22px 38px 1fr auto}.instruction-key-symbol{text-align:center;font-size:15px}.instruction-colours code{color:var(--muted);font-size:10px}.instruction-swatch{border:1px solid #00000040;border-radius:50%;width:18px;height:18px}.instruction-note{color:var(--muted)}.written-row-list{columns:2 300px;margin:0;padding:0;font-size:12px;line-height:1.5;list-style:none}.written-row-list li{break-inside:avoid;margin:0 0 5px}.workspace{grid-template-columns:244px minmax(0,1fr);align-items:start;gap:18px;margin:0;padding:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0}.sidebar{padding:0;overflow:hidden}.settings-group+.settings-group{border-top:1px solid var(--line-soft)}.settings-group>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:17px 20px;font-size:15px;font-weight:500;list-style:none;display:flex}.settings-group>summary::-webkit-details-marker{display:none}.collapsible-heading::-webkit-details-marker{display:none}.settings-group>summary span,.collapse-label span{color:var(--muted);transition:transform .15s;display:inline-block}.settings-group:not([open])>summary span,.preview:not([open]) .collapse-label span{transform:rotate(-90deg)}.settings-content{border-top:1px solid var(--line-soft);padding:8px 20px 18px}.compact-section-action{justify-content:flex-end;margin:0 0 6px;display:flex}h1,h2{margin:0}h1{font-size:19px}h2{margin-bottom:11px;font-size:14px}label{color:var(--muted);gap:5px;font-size:12px;display:grid}input[type=number],select{background:var(--field);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:100%;height:36px;padding:0 8px}.sidebar input[type=number],.sidebar select{height:36px;padding:0 9px}.sidebar .gauge-settings input[type=number],.sidebar .gauge-settings select,.sidebar .settings-group:last-child input[type=number],.sidebar .settings-group:last-child select{font-size:11px}input:focus,select:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.two-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.measure-field{grid-template-columns:auto minmax(0,1fr) 52px;align-items:center;gap:5px;margin-top:8px;display:grid}.measure-field span{color:var(--muted);font-size:12px}.measure-field input,.measure-field select{min-width:0;padding-left:5px;padding-right:5px}.measurement{color:var(--accent-deep);background:#f0ede3;border-radius:10px;margin:14px 0 0;padding:12px 13px;font-size:14px;line-height:1.4}.stacked-field{margin-top:5px}.guide-toggle{cursor:pointer;align-items:center;gap:7px;margin-top:12px;display:flex}.guide-toggle input{accent-color:var(--accent);margin:0}.guide-size-fields{margin-top:10px}.setting-help{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.section-heading{justify-content:space-between;align-items:baseline;display:flex}.text-button{box-shadow:none;color:var(--accent-deep);background:0 0;border:0;min-height:auto;padding:0;font-size:12px}.palette-list{gap:3px;display:grid}.palette-row{border:1px solid #0000;border-radius:9px;grid-template-columns:minmax(0,1fr) 25px 19px;align-items:center;gap:5px;padding:5px 6px;display:grid}.palette-row.selected{background:var(--accent-soft);border-color:#dbe0d6}.swatch-button{box-shadow:none;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;min-width:0;min-height:34px;padding:2px;font-size:12px;display:flex}.swatch-button:hover:not(:disabled){box-shadow:none;transform:none}.swatch{border:1px solid #0000002b;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 1px 2px #00000014}.palette-name{text-align:left;gap:3px;min-width:0;display:grid}.palette-hex{color:var(--quiet);font-family:var(--font-mono);font-size:9px}.palette-row input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:50%;width:24px;height:24px;padding:0;overflow:hidden}.palette-row input[type=color]::-webkit-color-swatch-wrapper{padding:0}.palette-row input[type=color]::-webkit-color-swatch{border:1px solid #0003;border-radius:50%}.remove-button{color:var(--muted);background:0 0;border:0;min-height:28px;padding:0;font-size:17px}.editor{flex-direction:column;min-height:620px;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:62px;padding:14px 20px;display:flex}.editor-heading{flex-wrap:wrap;gap:10px}.editor-actions{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.zoom-controls{align-items:center;gap:7px;margin-left:auto;display:flex}.zoom-controls button,.undo-controls button{background:#fff;min-width:32px;height:32px;min-height:32px;padding:3px 7px;font-size:16px}.zoom-controls span{color:var(--muted);text-align:center;min-width:42px;font-size:12px}.tool-group{background:#f0ede3;border-radius:10px;flex-wrap:wrap;gap:3px;padding:4px;display:flex}.tool-group button{box-shadow:none;background:0 0;border:0;min-height:32px;font-size:12px}.tool-group button:hover:not(:disabled){box-shadow:none;background:#ffffff94;transform:none}.tool-group button.active{color:var(--accent-deep);background:#fff;border-color:#0000;box-shadow:0 1px 3px #3c322324}.tool-group .selection-fill-button{background:var(--accent);color:#fff}.selection-move-controls{gap:1px;display:inline-flex}.selection-move-controls button{min-width:29px;padding-left:6px;padding-right:6px}.transform-controls{gap:5px;display:flex}.transform-controls button{background:#fff;justify-content:center;align-items:center;width:34px;height:32px;min-height:32px;padding:3px;font-size:18px;display:inline-flex}.transform-controls .rotate-chart-button{font-size:11px;font-weight:700}.toolbar-divider{background:var(--line-soft);width:1px;height:25px}.undo-controls{gap:6px;display:flex}.chart-frame{background:var(--canvas);width:100%;max-width:none;margin:auto;padding:32px 22px 28px;overflow:auto}.chart-content{min-width:100%}.chart-body{width:100%;padding-left:29px;position:relative}.chart-svg{cursor:crosshair;touch-action:none;background:#fff;border-radius:5px;width:100%;height:auto;display:block;box-shadow:0 2px 4px #3c322317,0 12px 30px #3c32231f}.grid-line{stroke:#1c1f1d6b;stroke-width:.65px}.grid-line-major{stroke:#1c1f1d9e;stroke-width:1px}.chart-selection{fill:#6b7da82e;stroke:#526c9d;stroke-dasharray:4 3;stroke-width:2px}.symmetry-guide-lines line{stroke:#526c9d;stroke-dasharray:5 4;stroke-width:1.5px}.chart-column-numbers{color:var(--quiet);font-family:var(--font-mono);text-align:center;height:14px;margin-left:29px;font-size:8px;line-height:1;display:grid}.chart-column-numbers span{overflow:visible}.chart-row-numbers{color:var(--quiet);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;width:29px;font-size:8px;line-height:1;display:grid;position:absolute;top:0;bottom:0;left:0}.chart-row-numbers span{white-space:nowrap;justify-content:flex-end;align-items:center;min-height:0;padding-right:6px;display:flex;overflow:visible}.chart-hint{color:var(--muted);text-align:center;margin:12px 0 0 25px;font-size:12px}.preview{background:var(--panel);grid-column:2;width:100%;overflow:hidden}.collapsible-heading{cursor:pointer;list-style:none}.collapse-label{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.preview-content{flex-direction:column;display:flex}.preview-heading-copy{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.preview-heading-copy h1{font-size:15px;font-weight:500}.preview-heading-copy>span{color:var(--quiet);font-size:12px}.preview-stage{background:var(--canvas);justify-content:center;align-items:center;min-height:320px;padding:26px;display:flex;overflow:auto}.preview-canvas{object-fit:contain;border-radius:8px;max-width:100%;height:auto;display:block;box-shadow:0 12px 30px #3c322329}.repeat-controls{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding:10px 18px;display:flex}.repeat-controls>span{margin-right:auto;font-size:12px;font-weight:700}.repeat-controls label{flex-direction:row;align-items:center;gap:5px;display:flex}.repeat-controls select{width:49px;height:31px}.repeat-controls .repeat-style select{width:88px}.refresh-preview-button{min-height:31px;padding-top:5px;padding-bottom:5px}.preview-stale-note{color:#7b5d22;text-align:right;background:#fff7e8;margin:0;padding:7px 18px;font-size:11px}.preview-note{color:var(--muted);margin:0;padding:12px 18px 14px;font-size:11px}.knit-mode{color:var(--ink);z-index:50;background:#f4f1e9;flex-direction:column;display:flex;position:fixed;inset:0}.knit-mode-header{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:16px 24px;display:grid}.knit-mode-header h1{font-size:22px}.knit-mode-status{text-align:right;gap:2px;display:grid}.knit-mode-status strong{font-size:14px}.knit-mode-status span{color:var(--muted);font-size:12px}.knit-mode-body{flex:1;grid-template-columns:minmax(0,1fr) 290px;gap:20px;min-height:0;padding:20px;display:grid}.knit-mode-chart-frame{justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.knit-mode-chart{cursor:pointer;background:0 0;max-width:100%;max-height:100%;display:block;overflow:visible}.knit-mode-row-dimmer{fill:#f4f1e9c9;pointer-events:none}.knit-mode-current-row{fill:#0000;pointer-events:none;stroke:#a64c40;stroke-width:.13px;vector-effect:non-scaling-stroke}.knit-mode-grid line{stroke:#1e1e1e61;stroke-width:.55px}.knit-mode-chart-labels{fill:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.knit-mode-stitch-marker circle{fill:#fff7ed;filter:drop-shadow(0 1px 1px #241f1959);stroke:#a64c40;stroke-width:2.5px}.knit-mode-stitch-marker text{fill:#a64c40;paint-order:stroke;stroke:#ffffffbf;stroke-width:.04px;font-family:Georgia,serif;font-weight:700}.knit-mode-stitch-marker.heart circle{fill:#fff1f0;stroke:#b64f5c}.knit-mode-stitch-marker.heart text{fill:#b64f5c}.knit-mode-stitch-marker.star circle{fill:#fff8dc;stroke:#a17425}.knit-mode-stitch-marker.star text{fill:#a17425}.knit-mode-stitch-marker.yarn circle{fill:#eef3ec;stroke:#5f795e}.knit-mode-stitch-marker.yarn text{fill:#5f795e}.knit-mode-controls{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-content:start;gap:14px;padding:18px;display:grid;overflow:auto}.knit-mode-options{background:#f0ede3;border-radius:9px;gap:10px;padding:11px;display:grid}.knit-mode-options small{color:var(--muted);font-size:10px;line-height:1.4}.knit-mode-settings-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.knit-mode-settings-grid.single{grid-template-columns:1fr}.knit-mode-settings-grid select{height:34px;font-size:11px}.knit-trim-option{color:var(--ink);cursor:pointer;align-items:center;gap:7px;display:flex}.knit-trim-option input{accent-color:var(--accent);margin:0}.marker-picker{align-items:center;gap:5px;display:flex}.marker-picker>span{color:var(--muted);margin-right:3px;font-size:11px}.marker-picker button{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;min-height:32px;padding:0;font-family:Georgia,serif;font-size:17px;display:inline-flex}.marker-picker button.selected{color:#a64c40;background:#fff7ed;border-color:#a64c40;box-shadow:0 0 0 2px #a64c401f}.knit-direction{margin:0;font-size:14px;font-weight:600;line-height:1.45}.knit-sequence{flex-wrap:wrap;gap:6px;display:flex}.knit-sequence span{background:#f0ede3;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:flex}.knit-sequence i{border:1px solid #0000002e;border-radius:50%;width:12px;height:12px}.knit-step-controls,.knit-row-controls{grid-template-columns:1fr 1fr;gap:7px;display:grid}.knit-row-controls button{min-height:46px}.knit-reset{background:0 0}.knit-keyboard-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.45}@media (max-width:1100px){body{padding:20px}.app-shell{min-height:calc(100vh - 40px)}.workspace{grid-template-columns:220px minmax(0,1fr)}.preview{grid-column:2}}@media (max-width:720px){body{padding:0}.app-shell{border:0;border-radius:0;min-height:100vh}.topbar{gap:14px;padding:17px 16px}.project-bar{flex-wrap:wrap;align-items:flex-start;gap:12px}.brand-divider{height:28px}.project-identity{flex:1}.project-name{width:100%}.save-status{width:100%;margin-left:0}.topbar-actions{grid-template-columns:1fr 1fr;align-items:stretch;width:100%;display:grid}.topbar-actions>*,.topbar-actions>*>button{width:100%}.chart-tabs-bar{padding-left:10px;padding-right:10px}.chart-tab{max-width:165px}.file-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;margin-left:0;display:grid}.file-actions .file-menu>button{width:100%}.workspace{flex-direction:column;display:flex}.sidebar{order:2;width:100%}.editor{order:1;min-height:560px}.preview{order:3}.chart-frame{padding:14px}.editor-actions{align-items:stretch}.tool-group{flex:1}.tool-group button{flex:1;padding-left:8px;padding-right:8px}.toolbar-divider{display:none}.undo-controls{order:2}.zoom-controls{order:3;margin-left:auto}.preview-heading-copy{flex-direction:column;align-items:flex-start;gap:4px}.preview-heading-copy>span{line-height:1.3}.ai-edit-panel,.ai-settings,.import-options,.instruction-settings,.instruction-overview,.instruction-colours{grid-template-columns:1fr}.ai-reference-heading{flex-direction:column;align-items:stretch}.ai-reference-selected{grid-template-columns:56px 1fr;align-items:stretch}.ai-reference-selected>button{grid-column:1/-1}.ai-reference-selected label{flex-direction:column;align-items:stretch}.ai-reference-selected select{min-width:0}.knit-mode-header{grid-template-columns:1fr auto;gap:10px}.knit-mode-status{text-align:left;grid-area:2/1/auto/-1}.knit-mode-body{flex-direction:column;display:flex;overflow:auto}.knit-mode-chart-frame{flex:1 0 48vh}.knit-mode-controls{flex:none}.knit-mode-settings-grid{grid-template-columns:1fr}}@media (max-width:460px){.brand-lockup{font-size:20px}.brand-divider{display:none}.project-identity{flex-basis:calc(100% - 40px)}.workspace{padding:10px}.panel-heading{padding-left:14px;padding-right:14px}.tool-group{flex-basis:100%}.repeat-controls{justify-content:flex-start}.repeat-controls>span{flex-basis:100%}}@media print{@page{margin:14mm}body{background:#fff}body *{visibility:hidden}.instructions-dialog,.instructions-dialog *{visibility:visible}.instructions-backdrop{background:#fff;padding:0;display:block;position:absolute}.instructions-dialog{box-shadow:none;border:0;border-radius:0;width:100%;max-width:none;max-height:none;padding:0;display:block;overflow:visible}.no-print{display:none!important}.instruction-sheet{gap:16px}.instructions-chart{max-height:45vh}.instruction-section h2{border-color:#aaa}.written-row-list{columns:2}}
