.home-rope{margin:0 0 8px}.home-rope-stage{position:relative;width:100%}.home-rope-canvas{display:block;width:100%;height:220px}.home-rope-anchor{position:absolute;left:6px;top:110px;width:0;height:0;pointer-events:none}.home-rope-handle{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.home-rope-handle.is-dragging{cursor:grabbing}.home-rope.is-still .home-rope-handle{display:none}.home-rope-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.home-rope-caption{margin:0;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.home-rope.is-solved .home-rope-caption{color:var(--ink)}.home-rope-button{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:6px 12px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:inherit;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.home-rope-button:focus-visible{position:static;width:auto;height:auto;overflow:visible;clip-path:none;outline:2px solid var(--accent);outline-offset:3px}.home-rope-button[aria-disabled=true]{color:var(--muted);cursor:default}@media(max-width:599px){.home-rope-canvas{height:180px}}.home-stack{position:relative;margin:0 0 24px}.home-stack-stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(24px,5vw,64px);padding:72px 0 28px;box-sizing:border-box}.home-stack-description{align-self:center;min-width:0}.home-stack-kicker,.home-stack-tags,.home-stack-hint,.home-stack-count{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.home-stack-description h3{margin:18px 0 12px;font-family:var(--display);font-size:clamp(26px,3vw,42px);line-height:1.1}.home-stack-description p{margin:0 0 20px}.home-stack-description blockquote{margin:24px 0;padding-left:16px;border-left:2px solid var(--accent);color:var(--ink)}.home-stack-description .home-stack-hint{display:block;margin-bottom:18px}.home-stack-visual{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;height:min(70vh,620px);min-width:0}.home-stack-count{text-align:right}.home-stack-head,.home-stack-foot{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.home-stack-title{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink)}.home-stack-count{margin-left:auto;white-space:nowrap}.home-stack-number{white-space:nowrap}.home-stack-foot{justify-content:space-between;flex-wrap:wrap}.home-stack-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px}.home-stack-link span{color:var(--accent)}.home-stack-cards{position:relative;overflow:hidden;perspective:1600px;cursor:grab;-webkit-user-select:none;user-select:none}.home-stack-cards:active{cursor:grabbing}.home-stack-card{position:absolute;inset:2% 4% 8% 0;margin:0;overflow:hidden;background:#0d1117;border:1px solid var(--rule);box-shadow:0 18px 40px -20px #00000080;transform-origin:50% 50%;will-change:transform,opacity}.home-stack-card img,.home-stack-frame img{display:block;width:100%;height:100%;object-fit:cover}.home-stack-card.is-drawing,.home-stack-frame.is-drawing{background:#fbfaf6}.home-stack-card.is-drawing img,.home-stack-frame.is-drawing img{object-fit:contain;padding:2%;box-sizing:border-box}.home-stack-card.is-drawing img[src^="/home/stacks/torque-wrench/"],.home-stack-frame.is-drawing img[src^="/home/stacks/torque-wrench/"]{object-fit:cover;padding:0;transform:scale(1.12)}.home-stack-caption{position:absolute;left:0;right:0;bottom:0;display:grid;gap:2px;padding:36px 18px 14px;background:linear-gradient(to top,#080a0edb,#080a0e00);color:#f2efe8;font-family:var(--body);font-size:15px}.home-stack-caption span{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:#f2efe8bf}@media(max-width:720px){.home-stack-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px;padding:24px 0 20px}.home-stack-description h3{font-size:24px;margin:8px 0}.home-stack-description p{margin-bottom:8px}.home-stack-description blockquote{margin:8px 0}.home-stack-visual{height:100%;min-height:0}.home-stack-card{inset:8% 4% 18% 0}.home-stack-hint{display:none}}.home-stack-static{margin:0 0 40px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px)}@media(max-width:720px){.home-stack-static{grid-template-columns:minmax(0,1fr)}}.home-stack-grid{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}.home-stack-frame{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#0d1117;border:1px solid var(--rule)}.home-thread{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;pointer-events:none}.home-thread-path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.home-thread-ring{fill:var(--bg);stroke:var(--accent);stroke-width:1.5px}.home-thread-dot{fill:var(--accent);opacity:0;transition:opacity .24s ease}.home-thread-eyelet{opacity:.35;transition:opacity .24s ease}.home-thread-eyelet.is-lit,.home-thread-eyelet.is-lit .home-thread-dot{opacity:1}.home-thread-tip{fill:var(--accent);opacity:0}@media(max-width:720px){.home-thread-path{stroke-width:1.5px}.home-thread-ring{stroke-width:1.25px}}@media(prefers-reduced-motion:reduce){.home-thread-eyelet,.home-thread-dot{transition:none}.home-thread-path{stroke-dasharray:none!important;stroke-dashoffset:0!important}.home-thread-eyelet,.home-thread-dot{opacity:1}.home-thread-tip{display:none}}
