/* Desktop rigging reuses the original iron, hemp, and grapple artwork.
   Nothing is inserted into the document's scrolling content. */
.winch-system{display:none}
.lift-timber{display:none}
.rig-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(2px 3px 2px #23180d77)}
.rig-trigger{position:absolute;top:var(--rig-hit-top);width:var(--rig-hit-size);height:var(--rig-hit-size);padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer}
.rig-trigger-left{left:var(--rig-hit-left)}.rig-trigger-right{right:var(--rig-hit-left)}
.rig-trigger:disabled{cursor:default}.rig-trigger:focus-visible{outline:2px solid #c6a06b;outline-offset:3px;border-radius:6px}
@media(min-width:1024px){.solid-rig-ready .work>.rigging-frame,.solid-rig-ready .method>.rigging-frame{visibility:hidden}}
@media (min-width:1024px){
  /* The rig sits around the page, never through a word or a control. */
  .hero-copy,.start>.section-copy,.start>.path-grid,.work>.section-copy,.work>.craft-scope,.method>div,.method>p,.contact>*{position:relative;z-index:202}
  .winch-system{position:fixed;inset:0;display:block;z-index:201;pointer-events:none}
  .lift-timber{display:block;position:absolute;z-index:0;left:var(--lift-timber-left);top:var(--lift-timber-top);width:var(--lift-timber-width);height:var(--lift-timber-height);object-fit:fill;pointer-events:none;filter:brightness(.84) saturate(.75) contrast(1.14) drop-shadow(0 5px 5px #160d0880);opacity:0;transition:opacity .06s linear}
  .rig-canvas{z-index:1}
  .rig-trigger{z-index:2}
  .winch-lines{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;filter:drop-shadow(2px 2px 2px #21130966)}
  .winch-machine{position:absolute;width:var(--machine-size);height:var(--machine-size);top:var(--machine-top);padding:0;border:0;background:none;pointer-events:auto;cursor:pointer;filter:drop-shadow(2px 4px 3px #1e100a88)}
  .winch-machine:disabled{cursor:default}
  .winch-machine:focus-visible{outline:2px solid #efc17e;outline-offset:3px;border-radius:8px}
  .winch-machine-left{left:var(--machine-inset)}
  .winch-machine-right{right:var(--machine-inset);transform:scaleX(-1)}
  .winch-machine>svg{width:100%;height:100%;overflow:visible}
  .winch-controls{position:absolute;top:calc(var(--machine-top) + var(--machine-size) + 8px);left:18px;display:flex;gap:6px;pointer-events:auto}
  .winch-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c08b5180;border-radius:4px;background:#261b13e8;color:#f7d9a2;box-shadow:0 2px 5px #160b0780;cursor:pointer}
  .winch-controls button:hover{background:#49301e;color:#ffefcd}
  .winch-controls button:focus-visible{outline:3px solid #f1c078;outline-offset:3px}
  .winch-controls button:disabled{opacity:.4;cursor:default}
  .winch-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
  .winch-label{position:absolute;left:112px;top:0;width:max-content;max-width:190px;padding:9px 13px;border:1px solid #bd8b5080;background:#281b13f5;color:#f9dfb3;font:600 14px/1.3 'Source Serif 4',Georgia,serif;opacity:0;transition:opacity .16s;pointer-events:none}
  .winch-controls:hover .winch-label,.winch-controls:focus-within .winch-label{opacity:1}
  .winch-grapple{position:absolute;width:var(--grapple-width);height:var(--grapple-height);top:0;filter:drop-shadow(2px 4px 3px #21130977);will-change:transform}
  .winch-grapple svg{display:block;width:100%;height:100%;overflow:visible}
  body:has(dialog[open]) .winch-system,body:has(.tool-roll.open) .winch-system{visibility:hidden}
}
@media (prefers-reduced-motion:reduce){.winch-label{transition:none}}
