/* Overview previews reserve space for actual interfaces; detailed methods follow. */
.overview-interface{display:grid;grid-template-rows:auto 1fr auto;padding:28px;background:#181818;color:#eee}
.overview-slot{margin:26px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #424242;padding:28px;position:relative}
.overview-slot p{font:30px/1.3 var(--serif);letter-spacing:-.5px;max-width:340px;margin:24px 0 12px}
.overview-slot>span:last-child{font-size:11px;color:#a1a1a1}
.slot-symbol{display:block;width:34px;height:28px;border:1px solid currentColor;opacity:.45;position:relative}
.slot-symbol:before,.slot-symbol:after{content:'';position:absolute;background:currentColor}
.slot-symbol:before{width:1px;height:10px;left:16px;top:8px}
.slot-symbol:after{height:1px;width:10px;left:12px;top:12px}
.tool-feature{padding-block:82px;border-top:1px solid #d7d7d7}
.tool-feature-art{background:#f2f2f2}
.tool-feature-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:48px}
.tool-feature-heading .eyebrow{margin-bottom:23px}
.tool-feature h2{font-size:clamp(39px,3.5vw,54px);letter-spacing:-1.7px;line-height:1.13}
.feature-status{font-size:10px;color:#777;letter-spacing:.5px;white-space:nowrap;padding-bottom:5px}
.tool-feature-grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:75px;align-items:start}
.tool-feature-copy>p{font-size:14px;line-height:1.9;color:#666;margin-bottom:23px;max-width:500px}
.tool-feature-copy>.feature-intro{font-size:17px;line-height:1.75;color:#333}
.feature-points{padding:4px 0 0;margin:0 0 28px;list-style:none}
.feature-points li{display:grid;grid-template-columns:20px 1fr;gap:15px;padding:18px 0;border-top:1px solid #d2d2d2}
.feature-points li>span{font-size:9px;color:#888;padding-top:5px}
.feature-points h3{font:21px/1.25 var(--serif);letter-spacing:-.25px;margin:0 0 8px}
.feature-points p{font-size:12px;line-height:1.8;color:#666;margin:0;max-width:420px}
.feature-diagram{margin:0;padding:23px;background:white;border:1px solid #d4d4d4}
.feature-diagram-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;color:#777;font-size:9px;letter-spacing:1px}
.feature-diagram-heading a{font-size:11px;color:#555;letter-spacing:0}
.feature-diagram-heading a span{margin-left:12px}
.feature-diagram-image{display:block}
.feature-diagram img{display:block;width:100%;height:auto}
.interface-gallery{margin-top:50px}
.interface-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:18px}
.interface-heading h3{font:25px/1.3 var(--serif);letter-spacing:-.4px;margin:0}
.interface-heading>span{font-size:10px;color:#777}
.interface-tabs{display:flex;gap:30px;border-bottom:1px solid #ccc;margin-bottom:20px}
.interface-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#777;padding:13px 0;margin-bottom:-1px;font-size:12px}
.interface-tabs button[aria-selected=true]{color:#171717;border-bottom-color:#171717}
.interface-panel[hidden]{display:none}
.screenshot-slot{position:relative;min-height:260px;aspect-ratio:3.35;background:#eaeaea;border:1px solid #d6d6d6;display:grid;place-items:center;padding:35px;color:#555}
.tool-feature-art .screenshot-slot{background:#e6e6e6}
.slot-index{position:absolute;left:22px;top:18px;font-size:9px;color:#888;letter-spacing:.9px}
.slot-center{display:flex;flex-direction:column;align-items:center;text-align:center}
.slot-center p{font:28px/1.3 var(--serif);letter-spacing:-.35px;margin:22px 0 10px;color:#555}
.slot-center>span:last-child{font-size:11px;color:#777}
.tool-interface-section{padding-bottom:70px}
.tool-interface-section .interface-gallery{margin-top:15px}
@media(max-width:1150px){
 .tool-feature-grid{gap:40px;grid-template-columns:1fr 1.1fr}
 .tool-feature-copy>.feature-intro{font-size:16px}
 .feature-diagram{padding:17px}
 .overview-interface{padding:21px}
 .overview-slot{padding:20px;margin:20px 0}
 .overview-slot p{font-size:26px}
}
@media(max-width:850px){
 .tool-feature-grid{grid-template-columns:1fr;gap:32px}
 .tool-feature-copy>p{max-width:none}
 .feature-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
 .feature-points li{grid-template-columns:1fr;gap:8px}
 .feature-points p{max-width:none}
 .feature-diagram{max-width:100%}
 .screenshot-slot{aspect-ratio:2.5;min-height:240px}
 .tool-feature-heading{align-items:start}
 .feature-status{padding-top:5px}
}
@media(max-width:760px){
 .overview-interface{padding:18px}
 .overview-slot{padding:15px;margin:18px 0}
 .overview-slot p{font-size:25px;margin-top:20px}
 .overview-slot>span:last-child{font-size:10px}
 .tool-feature{padding-block:54px}
 .tool-feature-heading{display:block;margin-bottom:30px}
 .tool-feature-heading .eyebrow{font-size:8px;margin-bottom:18px;letter-spacing:1.2px}
 .tool-feature h2{font-size:39px;letter-spacing:-1.25px}
 .feature-status{display:block;margin-top:20px;font-size:9px}
 .tool-feature-copy>.feature-intro{font-size:16px}
 .tool-feature-copy>p{font-size:13px;line-height:1.85}
 .feature-points{grid-template-columns:1fr;gap:0;margin-top:12px}
 .feature-points li{grid-template-columns:18px 1fr;gap:13px;padding:16px 0}
 .feature-points h3{font-size:22px}
 .feature-diagram{padding:15px}
 .feature-diagram-heading{margin-bottom:18px}
 .interface-gallery{margin-top:35px}
 .interface-heading{gap:18px;margin-bottom:10px}
 .interface-heading h3{font-size:24px}
 .interface-heading>span{font-size:9px}
 .interface-tabs{gap:20px;overflow-x:auto;scrollbar-width:thin}
 .interface-tabs button{white-space:nowrap;font-size:11px}
 .screenshot-slot{aspect-ratio:1.4;min-height:240px;padding:40px 24px}
 .slot-center p{font-size:24px}
 .slot-index{left:16px;top:14px}
 .tool-interface-section{padding-bottom:50px}
}
@media(prefers-reduced-motion:reduce){.interface-panel{animation:none}}
/* Flowchart and interfaces occupy one rolling album beside the tool description. */
.tool-album{min-width:0}
.album-tabs{display:flex;gap:23px;overflow-x:auto;scrollbar-width:thin;margin-bottom:20px;border-bottom:1px solid #ccc}
.album-tabs button{flex-shrink:0;background:none;border:0;border-bottom:2px solid transparent;color:#747474;font-size:11px;padding:12px 0;white-space:nowrap}
.album-tabs button[aria-selected=true]{color:#171717;border-color:#171717}
.album-stage{position:relative;aspect-ratio:1.12;background:#eaeaea;border:1px solid #d5d5d5;overflow:hidden;touch-action:pan-y}
.album-slide{position:absolute;inset:0;padding:24px;animation:album-in .4s ease}
.album-slide[hidden]{display:none}
.album-flow{display:flex;flex-direction:column;gap:20px;background:#fff}
.album-full{align-self:flex-end;font-size:11px;color:#666}
.album-full span{margin-left:12px}
.album-image{display:block;min-height:0;flex:1}
.album-image img{width:100%;height:100%;object-fit:contain;display:block}
.album-interface{display:grid;place-items:center;background:#eaeaea}
.album-interface .slot-center{max-width:340px}
.album-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px}
.album-caption{display:flex;gap:18px;align-items:center;font-size:11px;color:#777}
.album-caption [data-album-count]{font-size:9px;letter-spacing:1px;white-space:nowrap}
.tool-page .album-stage{aspect-ratio:1.6}
.tool-page .album-chart .album-stage{aspect-ratio:1.25}
.tool-page .album-slide{padding:30px}
@keyframes album-in{from{opacity:.3}to{opacity:1}}
@media(max-width:1150px){.album-tabs{gap:16px}.album-tabs button{font-size:10px}.album-slide{padding:18px}.album-caption{gap:12px}}
@media(max-width:850px){.album-stage{aspect-ratio:1.4}.album-chart .album-stage{aspect-ratio:1.2}}
@media(max-width:760px){.album-tabs{gap:20px;margin-bottom:16px}.album-tabs button{font-size:11px}.album-stage,.tool-page .album-stage,.tool-page .album-chart .album-stage{aspect-ratio:1.08}.album-slide,.tool-page .album-slide{padding:15px}.album-flow{gap:16px}.album-full{font-size:10px}.album-caption{gap:10px;font-size:10px}.album-controls{gap:12px;margin-top:16px}.album-interface .slot-center p{font-size:25px}.album-interface .slot-center{max-width:260px}}
@media(prefers-reduced-motion:reduce){.album-slide{animation:none}}

/* Direct app access stays separate from descriptions and method pages. */
.tool-actions,.preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.tool-actions{margin:0 0 22px}
.tool-actions .text-link{margin:0;padding-bottom:5px;font-size:12px;gap:16px}
.tool-launch{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:12px 18px;border:1px solid #171717;background:#171717;color:white;font:500 12px/1.4 var(--sans);text-align:left;white-space:nowrap}
a.tool-launch:hover{background:#383838;border-color:#383838}
.tool-launch:disabled{flex-direction:column;align-items:flex-start;gap:2px;background:transparent;border-color:#bcbcbc;color:#626262;cursor:default;opacity:1}
.launch-status{font-size:9px;font-weight:400;color:#707070}
.overview-interface{grid-template-rows:auto minmax(0,1fr) auto}
.preview-actions{justify-content:space-between;gap:12px;padding-top:4px}
.preview-actions .preview-link{font-size:11px}
.preview-actions .tool-launch,.builder-launch .tool-launch{background:#eee;color:#171717;border-color:#eee}
.preview-actions a.tool-launch:hover{background:white}
.preview-actions .tool-launch:disabled,.builder-launch .tool-launch:disabled{background:transparent;border-color:#626262;color:#ddd}
.preview-actions .launch-status,.builder-launch .launch-status{color:#aaa}
.builder-launch{position:absolute;bottom:28px;left:28px}
.tool-intro .tool-actions{margin-bottom:0}
@media(max-width:760px){.tool-actions{gap:14px 20px}.tool-launch{padding:10px 14px;min-height:44px}.overview-slot{margin:12px 0;padding:10px}.overview-slot p{font-size:22px;margin:12px 0 6px}.preview-actions{gap:10px}.preview-actions .tool-launch{font-size:11px}.preview-actions .preview-link{font-size:10px}.builder-launch{bottom:18px;left:18px}}

/* Illustrative editor for the planned workflow builder, not a product screenshot. */
.builder-concept{container-type:inline-size;display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:26px;color:#eee}
.builder-concept-label{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#b7b7b7;letter-spacing:.25px}
.builder-concept-label>span:last-child{color:#8f8f8f}
.builder-mock{flex:1;min-height:0;display:flex;flex-direction:column;background:#fbfbfb;border:1px solid #555;border-radius:5px;overflow:hidden;color:#262626;box-shadow:0 16px 35px #0003;font:10px/1.4 var(--sans)}
.mock-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #dedede;background:#f4f4f4;font-size:9px}
.mock-app-name{display:flex;align-items:center;gap:8px;font-weight:600}.mock-app-icon{font-size:17px;line-height:1}.mock-breadcrumb{font-weight:400;color:#888}.mock-draft{border:1px solid #ccc;border-radius:3px;padding:2px 6px;font-size:8px;color:#777}
.mock-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #ddd;background:#fff}.mock-toolbar>strong{font-size:13px;font-weight:550;letter-spacing:-.2px}.mock-toolbar>div{display:flex;align-items:center;gap:15px;font-size:9px;color:#888}.mock-tab-selected{color:#222;border-bottom:1px solid #333;padding-bottom:3px}.mock-save{font-size:8px;color:#888;margin-left:6px}
.mock-workspace{flex:1;min-height:0;display:grid;grid-template-columns:104px minmax(0,1fr) 155px}
.mock-library{display:flex;flex-direction:column;gap:4px;border-right:1px solid #ddd;padding:17px 10px;background:#f8f8f8;position:relative}.mock-label{font-size:7px;letter-spacing:1px;color:#8b8b8b;margin-bottom:12px;display:block}.mock-library>span:not(.mock-label){display:flex;align-items:center;gap:7px;padding:6px 5px;font-size:8px;color:#666}.mock-library i{font-size:12px;font-style:normal;width:14px;text-align:center;color:#555}.mock-library .mock-library-active{background:#e7e7e7;border-radius:3px;color:#222}.mock-library-foot{margin-top:auto;padding:20px 4px 0;color:#9a9a9a;font-size:7px;line-height:2}.mock-library-foot b{font-weight:400;color:#686868}
.mock-canvas{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 16px;background-color:#f0f0f0;background-image:radial-gradient(#c9c9c9 .65px,transparent .65px);background-size:12px 12px}
.mock-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:290px}.mock-inputs>div{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #ccc;border-radius:4px;padding:9px 8px;font-size:8px}.mock-inputs small,.mock-node small{display:block;font-size:7px;color:#8c8c8c;margin-top:3px;line-height:1.4}.mock-document-icon{width:12px;height:15px;border:1px solid #999;border-radius:1px;flex-shrink:0;position:relative}.mock-document-icon:after{content:'';position:absolute;left:3px;right:3px;top:4px;height:4px;border-block:1px solid #aaa}
.mock-connector{height:17px;border-left:1px solid #aaa;position:relative;flex-shrink:0}.mock-connector:after{content:'';position:absolute;bottom:0;left:-3px;width:5px;height:5px;border-right:1px solid #aaa;border-bottom:1px solid #aaa;transform:rotate(45deg)}.mock-merge{width:52%;height:20px;border-left:0;border-top:1px solid #aaa;margin-top:8px}.mock-merge:before{content:'';position:absolute;top:-9px;left:0;right:0;height:8px;border-inline:1px solid #aaa}.mock-merge:after{left:50%;top:0;height:18px;width:0;border:0;border-left:1px solid #aaa;transform:none}
.mock-node{display:flex;align-items:center;gap:10px;width:100%;max-width:250px;min-height:46px;padding:9px 10px;border:1px solid #c7c7c7;border-radius:4px;background:#fff;box-shadow:0 2px 5px #00000004;position:relative}.mock-node>span:nth-child(2){min-width:0}.mock-node strong{font-weight:550;font-size:9px}.mock-node-icon{font-size:15px;color:#555;flex-shrink:0;line-height:1}.mock-node-number{margin-left:auto;font:7px/1.4 var(--sans);color:#999;align-self:flex-start}.mock-node-selected{border-color:#222;box-shadow:0 0 0 2px #2222}.mock-node-selected .mock-node-icon{color:#111}.mock-output{background:#fafafa}
.mock-settings{border-left:1px solid #ddd;background:#fff;padding:18px 13px}.mock-settings-title{display:block;font-size:12px;font-weight:550;margin:4px 0 22px}.mock-field-label{display:block;color:#888;font-size:8px;margin:13px 0 6px}.mock-field{border:1px solid #ddd;border-radius:3px;padding:8px;font-size:8px;display:flex;justify-content:space-between;gap:5px}.mock-field>span{color:#999}.mock-instructions{padding:9px;border:1px solid #ddd;border-radius:3px;font-size:8px;line-height:1.65;color:#666}.mock-review-note{display:flex;gap:6px;margin-top:22px;font-size:7px;color:#777}.mock-review-note>span{color:#333}
.builder-concept-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.builder-concept-footer>span{font-size:9px;color:#929292}.builder-concept-footer .tool-launch:disabled{border-color:#626262;color:#ddd}.builder-concept-footer .launch-status{color:#aaa}
@container(max-width:570px){.mock-workspace{grid-template-columns:80px minmax(0,1fr)}.mock-settings{display:none}.mock-toolbar>strong{font-size:11px}.mock-save,.mock-breadcrumb{display:none}.mock-library{padding-inline:7px}.mock-canvas{padding:15px 12px}.mock-node{min-height:38px;padding:7px 9px}.mock-connector{height:12px}.mock-merge{height:15px}.mock-merge:after{height:14px}.mock-inputs>div{padding:7px 6px}}
@media(max-width:760px){.builder-concept{padding:16px;gap:10px}.builder-concept-label{font-size:8px}.builder-concept-footer>span{font-size:8px}.builder-concept .tool-launch{min-height:35px;padding:5px 10px;font-size:10px}.builder-concept .launch-status{font-size:8px}.mock-topbar{padding:6px 10px;font-size:8px}.mock-app-icon{font-size:12px}.mock-draft{font-size:6px;padding:1px 4px}.mock-toolbar{padding:7px 10px}.mock-toolbar>strong{font-size:10px}.mock-toolbar>div{gap:10px;font-size:7px}.mock-workspace{display:block}.mock-library,.mock-settings{display:none}.mock-canvas{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr 1fr;align-content:center;gap:7px;padding:10px}.mock-inputs{grid-column:1/-1;max-width:none;gap:7px}.mock-inputs>div{padding:4px 7px;font-size:7px}.mock-inputs small,.mock-node small{display:none}.mock-document-icon{height:11px;width:9px}.mock-document-icon:after{display:none}.mock-connector{display:none}.mock-node{min-height:27px;max-width:none;padding:5px 6px;gap:5px}.mock-node strong{font-size:7px}.mock-node-icon{font-size:11px}.mock-node-number{font-size:6px}.mock-label{font-size:6px}}

/* Use a plain availability label instead of a disabled launch button. */
.tool-availability{display:inline-block;color:#707070;font-size:12px;line-height:1.5;padding:5px 0}
.overview-interface{grid-template-rows:minmax(0,1fr) auto}
.preview-actions .tool-availability,.builder-concept-footer .tool-availability{color:#aaa;font-size:11px}
.builder-concept-footer{min-height:26px}
@media(max-width:760px){.preview-actions .tool-availability,.builder-concept-footer .tool-availability{font-size:10px}}

/* Give real interfaces the available width and preserve their original pixels. */
.project-showcase{grid-template-columns:300px minmax(0,1fr);gap:40px}
.project-slides{aspect-ratio:1.08}
.overview-screenshot{padding:16px;gap:14px}
.screenshot-frame{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;width:100%;height:100%}
.screenshot-full{align-self:flex-end;display:inline-flex;align-items:center;gap:10px;font-size:12px;line-height:1.4;min-height:28px;color:#555}
.overview-screenshot .screenshot-full{color:#ddd}
.screenshot-link{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:0;background:#fff;cursor:zoom-in;overflow:hidden}
.screenshot-link img{display:block;width:100%;height:100%;object-fit:contain}
.screenshot-link:focus-visible,.screenshot-full:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.tool-feature-chart .tool-feature-grid,.tool-feature-art .tool-feature-grid,.tool-feature-idf .tool-feature-grid{grid-template-columns:300px minmax(0,1fr);gap:40px}
.album-chart,.album-art,.album-idf{width:100%;max-width:1220px;margin-inline:auto}
.album-chart .album-stage,.album-art .album-stage,.tool-page .album-chart .album-stage,.tool-page .album-art .album-stage,.album-idf .album-stage,.tool-page .album-idf .album-stage{aspect-ratio:1.1}
.album-screenshot,.tool-page .album-screenshot{padding:12px;background:#fff}
.album-screenshot[hidden]{display:none}
.tool-album .album-stage:has(.album-screenshot:not([hidden])){aspect-ratio:auto}
.album-screenshot:not([hidden]){position:relative;inset:auto}
.album-screenshot .screenshot-frame{height:auto}
.album-screenshot .screenshot-link{display:block;flex:none}
.album-screenshot .screenshot-link img{height:auto}
@media(max-width:1280px){
 .project-showcase{grid-template-columns:270px minmax(0,1fr);gap:28px}
 .project-slides{aspect-ratio:1}
 .tool-feature-chart .tool-feature-grid,.tool-feature-art .tool-feature-grid,.tool-feature-idf .tool-feature-grid{grid-template-columns:1fr;gap:32px}
 .tool-feature-chart .tool-feature-copy,.tool-feature-art .tool-feature-copy,.tool-feature-idf .tool-feature-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
 .tool-feature-chart .tool-feature-copy>p,.tool-feature-art .tool-feature-copy>p,.tool-feature-idf .tool-feature-copy>p{max-width:none}
 .tool-feature-chart .feature-points,.tool-feature-art .feature-points,.tool-feature-idf .feature-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
 .tool-feature-chart .tool-actions,.tool-feature-art .tool-actions,.tool-feature-idf .tool-actions{grid-column:1/-1}
}
@media(max-width:1000px){.project-showcase{grid-template-columns:1fr;gap:32px}.project-display{position:static}.project-slides{aspect-ratio:1.08}.project-copy p{max-width:680px}}
@media(max-width:760px){
 .overview-screenshot{padding:10px;gap:8px}
 .project-slides{aspect-ratio:.88}
 .overview-screenshot .preview-actions{gap:9px;align-items:center}
 .overview-screenshot .preview-actions .tool-launch{font-size:10px;padding:8px 10px;min-height:38px;gap:10px}
 .overview-screenshot .preview-link{font-size:10px}
 .tool-feature-chart .tool-feature-copy,.tool-feature-art .tool-feature-copy,.tool-feature-idf .tool-feature-copy{display:block}
 .tool-feature-chart .feature-points,.tool-feature-art .feature-points,.tool-feature-idf .feature-points{display:block}
 .album-screenshot,.tool-page .album-screenshot{padding:7px}
 .album-chart .album-stage,.album-art .album-stage,.tool-page .album-chart .album-stage,.tool-page .album-art .album-stage,.album-idf .album-stage,.tool-page .album-idf .album-stage{aspect-ratio:1.02}
 .screenshot-frame{gap:4px}
 .screenshot-full{font-size:11px;min-height:28px}
}

.album-idf .album-screenshot .screenshot-link img{max-width:var(--capture-width);margin-inline:auto}
