/* Scoped helpers: compact outside the dialog, comfortable touch controls inside. */
.sgm-knit-summary{display:block;width:100%;font-size:14px;color:#415b4b;margin:4px 0}
body .sgm-knit-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(var(--craft-height,100dvh) - 24px);padding:0;border:0;border-radius:16px;background:#fffefa;color:#27372e}
body .sgm-knit-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
body .sgm-knit-dialog>header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#edf2eb}
body .sgm-knit-dialog>header h2{margin:0;font-family:inherit;font-weight:700;font-size:20px;line-height:1.3}
body .sgm-knit-dialog .sgm-craft-dialog__body{padding:16px 18px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:16px}
body .sgm-knit-dialog button{min-height:44px;padding:10px 14px!important;border:0;border-radius:8px;font-size:15px!important;line-height:1.4!important;letter-spacing:normal;text-transform:none;white-space:normal;margin:0}
body .sgm-knit-dialog button:disabled{opacity:.5;cursor:default}
body .sgm-knit-dialog label{display:block;margin:10px 0;font-size:16px;line-height:1.5}
body .sgm-knit-dialog input:not([type=checkbox]),body .sgm-knit-dialog select,body .sgm-knit-dialog textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:5px 0;padding:10px;border:1px solid #a9b8a9;border-radius:7px;font-family:inherit;font-weight:400;font-size:16px;line-height:1.5;color:#27372e;background:#fff}
body .sgm-knit-dialog input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin:0 10px;accent-color:#355b46}
body .sgm-knit-dialog details{margin:12px 0;padding:0;border:0;background:#f3f6f0;border-radius:8px;overflow:hidden}
body .sgm-knit-dialog details>summary{padding:14px;cursor:pointer;font-size:16px;font-weight:600;line-height:1.4}
body .sgm-knit-dialog details>:not(summary){margin:10px 14px}
body .sgm-knit-dialog p{font-size:15px;line-height:1.6;margin:8px 0}
body .sgm-knit-dialog .sgm-knit-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
body .sgm-knit-dialog .sgm-knit-resume{padding:14px;background:#edf2eb;border-radius:10px;margin:12px 0}
body .sgm-knit-dialog .sgm-knit-counter{margin:16px 0;text-align:center}
body .sgm-knit-dialog .sgm-knit-counter h3{font-size:18px;margin:8px 0}
body .sgm-knit-dialog .sgm-knit-counter>.sgm-knit-actions{justify-content:center;margin-bottom:8px}
body .sgm-knit-dialog .sgm-knit-counter>.sgm-knit-actions button{width:64px;height:56px;font-size:28px!important}
body .sgm-knit-dialog output{min-width:90px;font-size:32px;font-weight:700}
body .sgm-knit-dialog .sgm-knit-repeat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}
body .sgm-knit-dialog .sgm-knit-repeat-grid button[aria-pressed=false]{background:#fff!important;color:#355b46!important;box-shadow:inset 0 0 0 1px #a9b8a9}
body .sgm-knit-dialog .sgm-knit-check{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body .sgm-knit-dialog .sgm-knit-check label{flex:1 1 160px;overflow-wrap:anywhere;display:flex;align-items:center;flex-direction:row-reverse;justify-content:flex-end}
body .sgm-knit-dialog .sgm-knit-check input{flex:0 0 22px}
body .sgm-knit-dialog img{max-width:calc(100% - 28px);height:auto;border-radius:8px}
body .sgm-knit-dialog>.sgm-knit-status{flex:0 0 auto;max-height:80px;overflow:auto;padding:5px 18px;margin:0;font-size:14px}
body .sgm-knit-dialog>button:last-child{flex:0 0 auto;margin:6px 18px 12px;background:#edf2eb!important;color:#355b46!important}
body .sgm-knit-highlight{background:#fff0b8!important;box-shadow:inset 4px 0 #93681a;padding-inline:12px}
.sgm-knit-focusable{cursor:pointer;scroll-margin-top:120px}
body button.sgm-knit-abbr{display:inline!important;background:transparent!important;color:inherit!important;border:0!important;border-bottom:1px dotted currentColor!important;border-radius:0!important;padding:0!important;margin:0!important;min-height:0!important;font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;text-transform:none!important}
body .sgm-knit-explanation{width:min(360px,calc(100vw - 40px));box-sizing:border-box;border:0;border-radius:12px;padding:20px;background:#fffefa;color:#27372e}
.sgm-knit-explanation::backdrop,.sgm-knit-dialog::backdrop{background:rgb(18 35 25 / .6)}
body .sgm-knit-explanation button{min-height:44px;background:#355b46;color:#fff;border:0;border-radius:8px;padding:10px 20px}
.sgm-size-values [hidden],.sgm-private-notes[hidden],.sgm-size-control[hidden]{display:none!important}
@media(max-width:600px){body .sgm-knit-dialog{position:fixed;inset:var(--craft-top,0px) 0 auto;width:100%;height:var(--craft-height,100dvh);max-height:var(--craft-height,100dvh);margin:0;border-radius:0}body .sgm-knit-dialog>header{padding-top:max(12px,env(safe-area-inset-top))}body .sgm-knit-dialog>button:last-child{margin-bottom:max(12px,env(safe-area-inset-bottom))}body .sgm-knit-dialog .sgm-craft-dialog__body{padding:12px}.sgm-knit-summary{font-size:13px}}

/* A quiet start: one counter, one primary action and three short disclosures. */
body .sgm-knit-dialog{width:min(480px,calc(100vw - 32px));font-family:var(--e-global-typography-text-font-family,Arial),sans-serif}
body .sgm-knit-dialog>header{background:#fffefa;padding:16px 20px}
body .sgm-knit-dialog>header h2{font-family:inherit;font-size:19px}
body .sgm-knit-dialog>header button{background:#edf2eb!important;color:#355b46!important;padding:8px 14px!important}
body .sgm-knit-dialog .sgm-craft-dialog__body{padding:0 20px 20px}
body .sgm-knit-dialog .sgm-knit-project-name{margin:0;text-align:center;font-size:14px;color:#647268}
body .sgm-knit-dialog .sgm-knit-counter{margin:12px 0 4px}
body .sgm-knit-dialog .sgm-knit-counter h3{font-family:inherit;font-size:14px;font-weight:400;color:#647268;margin:0 0 10px}
body .sgm-knit-dialog .sgm-knit-counter>.sgm-knit-actions{gap:20px;margin:0;justify-content:center}
body .sgm-knit-dialog .sgm-knit-counter>.sgm-knit-actions button{width:54px;height:54px;min-height:54px;border-radius:50%!important;background:#edf2eb!important;color:#355b46!important;font-size:27px!important}
body .sgm-knit-dialog output{font-size:48px;font-weight:600;min-width:88px;font-variant-numeric:tabular-nums}
body .sgm-knit-dialog button.sgm-knit-quiet{background:transparent!important;color:#52685b!important;font-size:13px!important;padding:6px 12px!important}
body .sgm-knit-dialog .sgm-knit-resume{background:transparent;padding:0;margin:0 0 16px;text-align:center}
body .sgm-knit-dialog .sgm-knit-resume>button{width:100%}
body .sgm-knit-dialog .sgm-knit-resume p{font-size:14px;margin:6px 0 10px}
body .sgm-knit-dialog details{background:transparent;border-radius:0;border-top:1px solid #e6eae3;margin:0;overflow:visible}
body .sgm-knit-dialog details>summary{position:relative;list-style:none;padding:16px 28px 16px 0;font-size:15px;line-height:1.4;font-weight:600;text-align:left}
body .sgm-knit-dialog details>summary::-webkit-details-marker{display:none}
body .sgm-knit-dialog details>summary::after{content:'+';position:absolute;right:2px;top:14px;font-size:20px;font-weight:400;color:#52685b}
body .sgm-knit-dialog details[open]>summary::after{content:'−'}
body .sgm-knit-dialog details>:not(summary){margin:8px 0 14px}
body .sgm-knit-dialog details details{margin-left:10px;margin-right:0}
body .sgm-knit-dialog .sgm-knit-status:empty{display:none}
body .sgm-knit-dialog>[hidden]{display:none!important}
body .sgm-knit-dialog .sgm-craft-dialog__body>button{background:transparent!important;color:#52685b!important;font-size:14px!important;padding:10px 0!important;text-decoration:underline;text-underline-offset:3px}
body .sgm-knit-dialog .sgm-knit-check button{padding:8px 10px!important}
@media(max-width:600px){body .sgm-knit-dialog{width:100%;height:auto;max-height:var(--craft-height,100dvh);border-radius:0 0 16px 16px}body .sgm-knit-dialog .sgm-craft-dialog__body{padding-bottom:max(20px,env(safe-area-inset-bottom))}}

/* The page stays still; only the modal body (or a textarea) scrolls. */
html.sgm-knit-open,html.sgm-knit-open body{overflow:hidden!important;overscroll-behavior:none!important}
body .sgm-knit-dialog[open]{overflow:hidden!important;overscroll-behavior:contain}
body .sgm-knit-dialog>.sgm-craft-dialog__body{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}

/* Keep recipe terminology as text, even inside dialogs with global button styling. */
html body .sgm-single-recipe__content button.sgm-knit-abbr,
html body .sgm-craft-dialog .sgm-single-recipe__content button.sgm-knit-abbr,
html body button.sgm-knit-abbr[data-knit-definition]{
 display:inline!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;
 padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;color:inherit!important;
 box-shadow:none!important;font:inherit!important;letter-spacing:inherit!important;text-transform:none!important;vertical-align:baseline!important;
 text-decoration-line:underline!important;text-decoration-style:dotted!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important;cursor:help!important;
}
html body button.sgm-knit-abbr[data-knit-definition]:hover{color:#355b46!important;text-decoration-style:solid!important}
html body button.sgm-knit-abbr[data-knit-definition]:focus-visible{outline:2px solid #355b46!important;outline-offset:3px!important}
