/* Scoped to the redesigned crochet lesson; shared hobby and plant visuals stay untouched. */
.site-v25.page-knitting .crochet-lesson-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:36px;align-items:start}
.site-v25.page-knitting .crochet-figure{background:#fffdf8;border:1px solid #bacab5;border-radius:22px;overflow:hidden}
.crochet-image-wrap{overflow:hidden;background:#fffaf3}.crochet-picture{position:relative}.crochet-picture>img,.crochet-zoom-body>img{display:block;width:100%;height:auto;max-width:100%}.crochet-mirror{transform:scaleX(-1)}.crochet-mirror .crochet-pin>span{display:block;transform:scaleX(-1)}
.crochet-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);background:#245949;color:#fff;width:1.65rem;height:1.65rem;border:3px solid white;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.84rem;line-height:1;box-shadow:0 1px 5px #142b2733;pointer-events:none}.crochet-direction{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);font-size:2.8rem;font-weight:900;color:#245949;line-height:1;-webkit-text-stroke:1px white;pointer-events:none;text-shadow:0 0 4px white}
.site-v25 .crochet-figure figcaption{padding:24px}.crochet-figure figcaption>strong{display:block;font-size:.94rem;color:#245949}.crochet-key{display:grid;gap:14px;padding-left:1.7rem;margin:20px 0;font-size:.94rem;line-height:1.6}.crochet-key li{padding-left:6px}.crochet-key li::marker{color:#245949;font-weight:800}
.site-v25 .crochet-zoom,.site-v25 .crochet-complete button{font:inherit;font-size:.94rem;font-weight:750;min-height:60px;padding:14px 20px;border:2px solid #245949;border-radius:12px;color:#245949;background:#fff;white-space:normal;overflow-wrap:anywhere;width:100%;cursor:pointer}.site-v25 .crochet-zoom:hover,.site-v25 .crochet-complete button:hover{background:#edf3e8}.site-v25 .crochet-instructions .hobby-action{border-color:#a6b99f;border-top:5px solid #245949;background:#fff;border-radius:18px;padding:28px}.site-v25 .crochet-instructions .hobby-action p{font-size:1.1rem;line-height:1.85}.site-v25 .crochet-instructions .hobby-check{border-left:5px solid #ad542e;background:#fbefe1;border-radius:0 16px 16px 0;padding:26px 28px}.site-v25 .crochet-instructions .hobby-check p{font-size:1rem;line-height:1.85}.site-v25 .crochet-complete{background:#edf4e8;border:1px solid #a4b59c;border-radius:18px;padding:26px;margin-top:26px}.crochet-complete strong{display:block;margin-bottom:20px;font-size:1.1rem;line-height:1.6}.site-v25 .hobby-step-heading{scroll-margin-top:25px}.site-v25 #craft-stage{scroll-margin-top:25px}
.crochet-dialog{border:1px solid #8b9e83;border-radius:20px;padding:24px;max-width:calc(100vw - 28px);width:1100px;max-height:90dvh;overflow:auto;color:#20372f;background:#fffdf8}.crochet-dialog::backdrop{background:#102a23bf}.crochet-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.crochet-dialog-head h2{font-size:1.3rem;line-height:1.5;margin:0;min-width:0;overflow-wrap:anywhere}.crochet-dialog-head button{font:inherit;flex:none;font-weight:750;min-height:56px;padding:12px 20px;border:2px solid #245949;background:#fff;color:#245949;border-radius:12px;cursor:pointer}.crochet-dialog p{font-size:.94rem;line-height:1.7;margin-bottom:0}.crochet-zoom-body{overflow:hidden;border-radius:12px}.crochet-dialog button:focus-visible{outline:4px solid #9b421e;outline-offset:4px}
.high-contrast .crochet-pin{background:#000;color:#fff}.high-contrast .crochet-dialog{background:#fff;color:#000}.high-contrast .crochet-direction{color:#000}.high-contrast .crochet-instructions .hobby-action,.high-contrast .crochet-instructions .hobby-check,.high-contrast .crochet-complete{background:#fff!important;color:#000!important;border-color:#000!important}
@media(max-width:1100px){.site-v25.page-knitting .crochet-lesson-grid{grid-template-columns:1fr;gap:26px}.site-v25 .crochet-figure{max-width:900px;margin-inline:auto}.crochet-instructions{display:grid;grid-template-columns:1fr 1fr;gap:24px}.site-v25 .crochet-instructions .hobby-action{margin:0}.crochet-complete{grid-column:1/-1}.site-v25 .crochet-instructions .hobby-check{height:100%}}
@media(max-width:760px){.crochet-instructions{grid-template-columns:1fr;gap:24px}.site-v25 .crochet-figure figcaption{padding:22px 18px}.site-v25 .crochet-instructions .hobby-action,.site-v25 .crochet-instructions .hobby-check{padding:24px 20px}.site-v25 .crochet-instructions .hobby-action p{font-size:1.05rem}.crochet-pin{width:1.45rem;height:1.45rem;font-size:.78rem;border-width:2px}.crochet-direction{font-size:2rem}.crochet-dialog{padding:20px 16px}.crochet-dialog-head{display:block}.crochet-dialog-head button{width:100%;margin-top:20px}.crochet-dialog-head h2{font-size:1.2rem}.site-v25 .crochet-complete{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.crochet-picture{scroll-behavior:auto}}

.crochet-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.crochet-leaders path{fill:none;stroke:#245949;stroke-width:.45;vector-effect:non-scaling-stroke;paint-order:stroke;filter:drop-shadow(0 0 2px white)}

/* The shared high-contrast universal background rule must not paint the diagram overlay. */
body.high-contrast .crochet-leaders,body.high-contrast .crochet-leaders *,body.high-contrast .crochet-direction{background-color:transparent!important}
