:root{--gallery-width:min(1500px,calc(100% - 96px));--gallery-top:32px;--gallery-title-size:52px;--gallery-title-gap:32px;--gallery-row-gap:36px;--gallery-column-gap:32px;--gallery-card-title:32px;--gallery-card-inset:32px;--gallery-download-gap:12px}
.software-wrap{width:var(--gallery-width);margin:auto;padding:var(--gallery-top) 0 72px}
.software-title{margin-bottom:var(--gallery-title-gap)}
.software-title h1{font-size:var(--gallery-title-size)}
.tool-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gallery-row-gap) var(--gallery-column-gap);align-items:stretch}
.tool-card{min-width:0;display:grid;scroll-margin-top:100px}
.tool-card .tool-stage{width:100%;min-width:0;height:100%;align-self:stretch}
.tool-stage{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.6;border:1px solid #2b414a;background:var(--panel);border-radius:8px}
.tool-preview{position:absolute;inset:0;display:block}
.tool-preview img{display:block;width:100%;height:calc(100% - 54px);object-fit:contain;object-position:center;background:#0b1418;transform:none}
.revealed .tool-preview img{transform:scale(1)}
.tool-curtain{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:48px var(--gallery-card-inset);background:linear-gradient(135deg,#172a32,#101d23 75%);border-bottom:2px solid var(--copper);transition:transform .55s cubic-bezier(.22,.8,.22,1);pointer-events:none}
.tool-curtain h2{font-size:var(--gallery-card-title);font-weight:400;line-height:1.2;letter-spacing:-.025em}
.tool-curtain .tool-access{position:absolute;right:28px;top:22px;font-size:10px;color:var(--muted)}
.tool-curtain .tool-purpose{margin-top:12px;font-size:18px;color:var(--accent)}
.tool-description{margin-top:16px;max-width:45ch;font-size:14px;line-height:1.65;color:var(--fg)}
.tool-curtain .tool-note{margin-top:12px;font-size:11px;color:var(--muted)}
.curtain-toggle{display:none;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:8px;text-align:left;pointer-events:auto}
.curtain-ready .curtain-toggle{display:block}
.curtain-toggle>span{position:absolute;left:var(--gallery-card-inset);bottom:20px;font-size:11px;color:var(--muted)}
.curtain-toggle>span>span{display:inline-block;margin-left:10px;color:var(--accent)}
.curtain-toggle:focus-visible{outline-offset:-5px}
.revealed .tool-curtain{transform:translateY(-101%);pointer-events:none}
.revealed .curtain-toggle{pointer-events:none}
.curtain-close{position:absolute;z-index:3;bottom:12px;left:12px;border-radius:999px;background:var(--bg);color:var(--accent);font-size:11px;padding:7px 12px}
.tool-preview:focus-visible{outline-offset:-5px}
.tool-open{position:absolute;right:12px;bottom:10px;display:inline-flex;align-items:center;gap:18px;padding:7px 15px;border:1px solid var(--copper);border-radius:999px;background:var(--bg);color:var(--accent);font-size:12px}
.tool-preview:hover .tool-open{background:var(--copper);color:var(--bg)}
.tool-caption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:18px}
.tool-caption h2{font-size:25px;letter-spacing:-.025em}
.tool-access{font-size:11px;color:var(--muted);text-align:right}
.tool-purpose{margin-top:8px;font-size:15px;color:var(--fg)}
.tool-note{margin-top:7px;font-size:11px;color:var(--muted)}
.request-tools{margin-top:72px;padding-top:32px;border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr;gap:48px}
.request-tools>h2{font-size:30px}
.request-tool{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.request-tool:first-child{padding-top:4px}
.request-tool h3{font-size:20px}
.request-tool>span:not(.request-arrow){font-size:14px;color:var(--muted)}
.request-arrow{font-size:21px;color:var(--copper)}
.plan-tool{display:flex;justify-content:space-between;gap:24px;margin-top:40px;font-size:14px;color:var(--accent)}
@media(prefers-reduced-motion:reduce){.tool-preview img,.tool-curtain{transition:none}.tool-preview img{transform:none}}
@media(max-width:1100px) and (min-width:701px){.tool-stage{aspect-ratio:1.15}}
@media(max-width:700px){.tool-stage{aspect-ratio:1.4;min-height:300px}.tool-curtain .tool-purpose{font-size:17px}.tool-description{font-size:13px}}
@media(max-width:380px){.tool-stage{aspect-ratio:auto;min-height:340px}}
@media(max-width:1000px){:root{--gallery-width:min(1500px,calc(100% - 96px));--gallery-top:32px;--gallery-title-size:52px;--gallery-title-gap:32px;--gallery-row-gap:36px;--gallery-column-gap:32px;--gallery-card-title:32px;--gallery-card-inset:32px;--gallery-download-gap:12px}
:root{--gallery-width:calc(100% - 56px);--gallery-column-gap:24px;--gallery-card-inset:24px}.request-tools{grid-template-columns:170px 1fr;gap:30px}.request-tool{grid-template-columns:110px 1fr auto;gap:16px}}
@media(max-width:700px){:root{--gallery-width:min(1500px,calc(100% - 96px));--gallery-top:32px;--gallery-title-size:52px;--gallery-title-gap:32px;--gallery-row-gap:36px;--gallery-column-gap:32px;--gallery-card-title:32px;--gallery-card-inset:32px;--gallery-download-gap:12px}
:root{--gallery-width:calc(100% - 40px);--gallery-top:28px;--gallery-title-size:44px;--gallery-title-gap:24px;--gallery-row-gap:32px;--gallery-card-title:28px}.tool-gallery{grid-template-columns:1fr}.tool-caption{gap:16px;margin-top:16px}.tool-caption h2{font-size:23px}.tool-purpose{font-size:14px}.tool-access{font-size:10px}.tool-open{right:12px;bottom:12px;padding:8px 13px}.request-tools{grid-template-columns:1fr;gap:24px;margin-top:48px}.request-tools>h2{font-size:27px}.request-tool{grid-template-columns:1fr auto;gap:8px 16px}.request-tool>span:not(.request-arrow){grid-row:2}.request-arrow{grid-column:2;grid-row:1/3}.plan-tool{font-size:13px}}

@media(max-width:700px){
.tool-card .tool-stage,.example-card .tool-stage{height:auto;aspect-ratio:auto;min-height:320px}
.tool-curtain{min-height:320px;padding:56px var(--gallery-card-inset) 64px}
.curtain-toggle,.curtain-close,.tool-open{touch-action:manipulation}
.curtain-close,.tool-open{min-height:44px;min-width:64px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.tool-preview img{height:calc(100% - 70px)}
}
