/* Technique workbench: layout and input targets are shared across all food skins. */
.mg-panel{--mg-ink:#233441;--mg-cream:#fff7df;--mg-pink:#e6537c;--mg-cyan:#a9dcde;color:var(--mg-ink);background:var(--mg-cream);border:3px solid var(--mg-ink);border-radius:15px;padding:18px;box-shadow:5px 5px 0 var(--mg-ink);font-family:inherit}.mg-panel *{box-sizing:border-box}.mg-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.mg-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-weight:800}.mg-heading h3{font-size:clamp(21px,3vw,29px);line-height:1.08;margin:0}.mg-step-clock{flex:none;border:2px solid var(--mg-ink);border-radius:50%;width:62px;height:62px;display:grid;place-items:center;font-size:18px;font-weight:900;background:#f5ce62}.mg-instruction{font-size:15px;line-height:1.45;margin:12px 0}.mg-board{position:relative;aspect-ratio:640/330;min-height:180px;border:2px solid var(--mg-ink);border-radius:12px;overflow:hidden;background:#efd1a7;touch-action:none;isolation:isolate}.mg-board:focus-visible{outline:4px solid var(--mg-pink);outline-offset:3px}.mg-food{display:block;width:100%;height:100%;position:absolute;inset:0}.mg-targets,.mg-overlay{position:absolute;inset:0;pointer-events:none}.mg-target{pointer-events:auto!important;position:absolute!important;transform:translate(-50%,-50%);min-width:48px!important;width:48px;height:48px;padding:0!important;border-radius:50%!important;background:#fff7dfdd!important;border:3px dashed var(--mg-ink)!important;box-shadow:none!important;font-size:20px!important;font-weight:900}.mg-target-selected{background:#f6d46a!important;border-style:solid!important;box-shadow:0 0 0 5px #fff8!important}.mg-target-done{background:#a9d6b5!important;color:#233441!important;opacity:1!important;border-style:solid!important}.mg-ready,.mg-feedback{pointer-events:auto;position:absolute;inset:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px;border:2px solid var(--mg-ink);border-radius:12px;background:#fff8e8f2;padding:18px;box-shadow:4px 4px 0 #23344144}.mg-ready strong,.mg-feedback strong{font-size:clamp(17px,2.8vw,24px);line-height:1.15}.mg-ready span:last-child,.mg-feedback span:last-child{max-width:460px;font-size:14px;line-height:1.4}.mg-ready-icon{font-size:28px;color:#cf3d69;line-height:1}.mg-quality{font-size:42px;font-weight:950;line-height:1;color:#bf3f65}.mg-meter{display:grid;grid-template-columns:1fr;gap:7px;margin:12px 0;font-size:12px;font-weight:800;text-align:center}.mg-timing,.mg-heat-meter,.mg-fill-meter,.mg-progress{position:relative;height:30px;border:2px solid var(--mg-ink);border-radius:7px;background:#e7e3d2;overflow:hidden}.mg-timing-band,.mg-heat-band{position:absolute;top:0;bottom:0;background:#a5d6b5;color:#1f3a31;font-size:10px;display:grid;place-items:center;font-weight:900;white-space:nowrap}.mg-timing-band{left:35%;width:30%}.mg-timing-needle{position:absolute;top:0;bottom:0;width:5px;transform:translateX(-50%);background:#d83e6c;box-shadow:0 0 0 1px #fff7df}.mg-fill-meter>span,.mg-progress>span{position:absolute;inset:0 auto 0 0;background:#82bec0}.mg-fill-meter>i{position:absolute;top:0;bottom:0;border-left:5px solid #d83e6c}.mg-status{min-height:40px;margin:10px 0;font-size:13px;line-height:1.45;padding:8px 11px;border-left:4px solid #e6537c;background:#f1e9d1}.mg-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mg-button{min-height:46px;border:2px solid var(--mg-ink);border-radius:7px;background:#fff7df;color:var(--mg-ink);padding:10px 13px;font-family:inherit;font-size:13px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:2px 2px 0 var(--mg-ink);touch-action:manipulation}.mg-button:hover:not(:disabled){background:#f6d46a}.mg-button:active:not(:disabled){box-shadow:0 0 0;transform:translate(1px,1px)}.mg-button:focus-visible{outline:3px solid #d33a6a;outline-offset:3px}.mg-button:disabled{opacity:.45;cursor:default}.mg-primary{background:#f5ce62;flex-grow:1}.mg-secondary{background:#abd9da}.mg-slider-label{font-size:11px;font-weight:800;display:flex;flex:1;min-width:140px;flex-direction:column;align-items:center;gap:4px}.mg-slider-label input{width:100%;min-height:34px;accent-color:#cb416a;cursor:pointer}.mg-keys{font-size:11px;margin:12px 0 0;color:#56646a}.mg-urgent{background:#ef9a9c}.mg-paused{filter:saturate(.45)}.mg-paused .mg-board:after{content:'Paused';position:absolute;inset:0;display:grid;place-items:center;background:#fff7dfcc;font-size:30px;font-weight:900;z-index:3}.mg-paused .mg-controls{pointer-events:none;opacity:.5}
@media(max-width:520px){.mg-panel{padding:12px;box-shadow:3px 3px 0 var(--mg-ink)}.mg-heading{gap:8px}.mg-step-clock{width:52px;height:52px;font-size:15px}.mg-instruction{font-size:14px}.mg-ready,.mg-feedback{inset:7px;padding:10px;gap:7px}.mg-ready span:last-child,.mg-feedback span:last-child{font-size:12px}.mg-ready-icon{display:none}.mg-board{min-height:190px}.mg-button{font-size:12px;padding:10px;flex:1 1 40%}.mg-target{flex:initial;width:44px;min-width:44px!important;height:44px}.mg-status{min-height:50px}.mg-quality{font-size:32px}.mg-slider-label{order:-1;flex:1 1 100%}.mg-keys{font-size:10px}}@media(prefers-reduced-motion:reduce){.mg-panel *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Preserve target centers during pointer-down; moving them cancels tap clicks. */
.mg-target:active:not(:disabled){transform:translate(-50%,-50%)!important}
.mg-step-clock{font-size:14px}
/* Explicit width keeps the minimum-height workbench inside narrow viewports. */
.mg-board{width:100%;min-width:0}.mg-heading>div{min-width:0}.mg-kicker{overflow-wrap:anywhere}
/* Compact technique layout and hand-inked television housing. */
.mg-panel{border-radius:20px 10px 24px 12px;padding:22px;background:#fff9e9}.mg-kicker{font-size:14px;letter-spacing:.04em}.mg-instruction{font-size:16px;max-width:60ch;margin:12px 0 20px}.mg-heading h3{font-size:32px}.mg-step-clock{border-radius:12px 17px 11px 14px;transform:rotate(4deg);box-shadow:3px 3px #233441}
.mg-tv{position:relative;padding:30px 14px 24px;margin:14px 0 20px;background:linear-gradient(135deg,#75e5ed 0 48%,#42c8d9 49% 85%,#2398af 86%);border:5px solid #152038;border-radius:35px 25px 38px 27px;box-shadow:6px 7px 0 #152038,inset 5px 5px 0 #c2f9f6,inset -6px -5px 0 #2585a2}.mg-tv-trim{position:absolute;top:6px;left:20px;right:18px;display:flex;align-items:center;gap:7px;height:18px;font:12px/1 var(--serif)}.mg-tv-trim i{width:11px;height:11px;background:#ffda44;border:2px solid #152038;border-radius:50%}.mg-tv-trim i:nth-child(2){background:#f23d80}.mg-tv-trim span{margin-left:auto}.mg-board{border:4px solid #152038;border-radius:24px 19px 22px 18px;background:#fff2ca;box-shadow:inset 4px 4px 0 #15203840;min-height:180px}.mg-tv-speaker{position:absolute;bottom:6px;left:38%;right:38%;height:8px;border-radius:10px;background:repeating-linear-gradient(90deg,#152038 0 3px,transparent 3px 7px)}.mg-food{filter:none!important}.mg-status:empty{display:none}.mg-status{min-height:0;font-size:16px;background:#fff0cb;border-radius:0 9px 9px 0}.mg-meter{font-size:14px;margin:14px 0}.mg-controls{gap:10px}.mg-button{font-size:16px;min-height:48px;padding:12px 15px}.mg-help{margin-top:16px;font-size:14px}.mg-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.mg-keys{font-size:14px;margin:0}.mg-feedback{box-shadow:none}.mg-ready{display:none}
@media(max-width:520px){.mg-panel{padding:14px}.mg-heading h3{font-size:27px}.mg-tv{padding:27px 9px 22px;border-width:4px}.mg-board{min-height:170px}.mg-button{font-size:15px;padding:12px 9px}.mg-step-clock{width:55px;height:48px;font-size:16px}.mg-instruction{font-size:16px}.mg-feedback span:last-child{font-size:14px}.mg-heading{align-items:flex-start}}

/* Gesture feedback stays on the food, not in extra instruction panels. */
.mg-pop .mg-food{animation:food-pop .24s ease-out}.mg-target{touch-action:none}.mg-board .mg-food text{font-family:inherit}.mg-controls>p{font-weight:800;letter-spacing:.07em;margin:4px 0}.mg-progress>span{transition:width .08s linear}@keyframes food-pop{50%{filter:brightness(1.15);transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.mg-pop .mg-food{animation:none}.mg-progress>span{transition:none}}.reduced-motion .mg-pop .mg-food{animation:none}

/* Keep completion labels inside the badge at narrow phone widths. */
.mg-step-clock{width:auto;min-width:88px;max-width:100%;height:auto;min-height:48px;padding:10px 12px;white-space:nowrap;line-height:1.2;text-align:center;transform:none;font-size:16px}.mg-heading>div{flex:1;min-width:0}
.mg-flip-prompt{position:absolute;z-index:2;left:8px;right:8px;top:8px;border:3px solid #152038;border-radius:10px;background:#fff7df;color:#152038;text-align:center;font-weight:900;font-size:clamp(14px,2vw,20px);line-height:1.25;padding:8px;pointer-events:none;box-shadow:3px 3px #152038}.mg-flip-prompt[hidden]{display:none}.mg-flip-now{background:#ffdc42}
/* One television contains the complete cooking interaction. */
.mg-panel{padding:0;border:0;background:none;box-shadow:none}.mg-screen{position:relative;background:#fff7df;border:3px solid #152038;border-radius:18px;padding:12px;min-height:0}.mg-heading{gap:10px;margin-bottom:10px}.mg-heading h3{font-size:clamp(22px,3vw,30px)}.mg-step-clock{min-width:80px;font-size:15px;padding:8px;min-height:44px}.mg-tutorial-toggle{flex:none;width:44px;height:44px;padding:0;border:2px solid #152038;border-radius:50%;background:#ffdc42;font-size:24px;font-weight:900}.mg-board{min-height:220px}.mg-tutorial{position:absolute;inset:7px;z-index:6;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;background:#fff7dff2;border:3px solid #152038;border-radius:16px;padding:14px;transition:opacity .25s,visibility .25s}.mg-tutorial.dismissed{opacity:0;visibility:hidden;pointer-events:none}.mg-tutorial .mg-instruction{font-size:18px;font-weight:800;line-height:1.3;margin:0;max-width:28ch}.mg-gesture{display:block;font-size:52px;line-height:1;color:#b7275d}.mg-tutorial-key{font-size:13px;line-height:1.3;margin:0}.mg-controls{position:relative;gap:8px}.mg-controls>p{display:none}.mg-controls>.mg-button{flex:1;min-width:0}.mg-alternates{flex:0 0 auto;position:static}.mg-alternates summary{cursor:pointer;border:2px solid #152038;border-radius:7px;padding:10px;min-height:44px;font-size:13px;font-weight:800;list-style:none}.mg-alt-panel{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:10;padding:12px;background:#fff7df;border:3px solid #152038;border-radius:12px;box-shadow:3px 3px #152038;display:flex;gap:8px;flex-wrap:wrap}.mg-alt-panel .mg-button{flex:1 1 40%}.mg-slider-label{order:-1;flex:1 1 100%;min-width:0;flex-direction:row;font-size:14px;gap:10px}.mg-slider-label input{min-height:44px}.mg-panel[data-phase=feedback] .mg-status{display:none}.mg-feedback{gap:8px}.mg-feedback span:last-child{font-size:14px}.mg-tv{margin:0}.mg-tutorial [hidden]{display:none}
.mg-tutorial>button{position:static;flex:none;width:auto;height:auto;min-height:44px;max-height:56px;padding:10px 16px;font-size:15px;transform:none}
@media(max-width:700px){.mg-tutorial-key{display:none}}
.mg-controls{flex-wrap:wrap}.mg-controls>button{overflow-wrap:anywhere;min-width:70px}.mg-controls>.mg-practice-exit{flex-basis:100%}.mg-tutorial{overflow:auto}
/* Measuring has four direct controls; no hidden increments or cramped labels. */
.mg-panel[data-technique=dose] .mg-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.mg-panel[data-technique=dose] .mg-controls>button{width:100%;min-width:0;max-width:100%;height:auto;min-height:44px;white-space:normal;overflow-wrap:normal;line-height:1.2;padding:10px 6px;font-size:14px;box-sizing:border-box}
.mg-panel[data-technique=dose] .mg-controls>.mg-practice-exit{grid-column:1/-1}
@media(max-width:700px){
 .mg-panel[data-technique=dose] .mg-tv{min-height:480px}
 .mg-panel[data-technique=dose] .mg-screen{min-height:430px}
 .mg-panel[data-technique=dose] .mg-controls{flex-shrink:0}
}
.mg-tutorial>.mg-button{flex:none;display:block;width:100%;max-width:280px;text-align:center;text-decoration:none;font-size:14px;min-height:44px;max-height:none;white-space:normal;overflow-wrap:break-word}
.mg-tutorial small{font-size:12px;line-height:1.35}
.mg-board,.mg-board *{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.mg-food{pointer-events:none}
.mg-panel[data-technique=fold] .mg-target,.mg-panel[data-technique=shape] .mg-target{width:52px;height:52px;min-width:52px!important}

.mg-trim-touch{display:none}
@media(pointer:coarse),(max-width:700px){.mg-alternates{display:none!important}.mg-trim-keyboard{display:none!important}.mg-trim-touch{display:block!important;grid-column:1/-1;font-size:14px!important;line-height:1.3;margin:4px 0;padding:8px;border-left:4px solid #ef347c;background:#fff2ca}}
