.detail-body{background:#080c11}.detail-top{position:sticky;top:0;z-index:20;height:72px;border-bottom:1px solid #ffffff14;background:#080c11e8;backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.detail-top>div{display:flex;align-items:center;gap:14px}.detail-brand{display:flex;align-items:center;gap:11px}.detail-brand img{width:39px;height:39px;border-radius:10px}.detail-brand span b,.detail-brand span small{display:block}.detail-brand span small{color:var(--muted);font-size:.64rem}.back-link{font-size:.76rem;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.back-link:hover{color:var(--cyan);border-color:#31565a}.detail-main{max-width:1160px;margin:auto;padding:70px 4vw 100px}.detail-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;padding-bottom:70px}.detail-breadcrumb{font:10px monospace;text-transform:uppercase;letter-spacing:.15em;color:var(--cyan)}.detail-hero h1{font-size:clamp(4rem,9vw,8rem);margin:25px 0 20px;line-height:.82}.detail-hero h1 span{color:var(--cyan);font-family:Georgia;font-weight:400}.detail-summary{font-size:1.15rem;color:#b5c3ce;max-width:650px}.detail-meta{border:1px solid var(--line);background:linear-gradient(145deg,#102126,#0b1118);border-radius:16px;padding:24px}.detail-meta>span{font:10px monospace;color:var(--cyan);text-transform:uppercase}.detail-meta dl{margin:20px 0 0}.detail-meta div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0}.detail-meta dt{color:var(--muted);font-size:.72rem}.detail-meta dd{margin:0;font-size:.72rem;font-weight:650}.detail-section{padding:70px 0;border-top:1px solid #ffffff14}.detail-heading{display:grid;grid-template-columns:200px 1fr;gap:35px}.detail-heading>span{font:10px monospace;color:var(--cyan);text-transform:uppercase;letter-spacing:.13em}.detail-heading h2{font-size:clamp(2rem,4vw,3.4rem);margin:0}.prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px;margin-left:235px}.prose-grid p{color:var(--muted);margin:0}.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:34px}.capability-grid article{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:22px}.capability-grid span{font:10px monospace;color:#566674}.capability-grid h3{font-size:1rem;margin:15px 0 6px}.capability-grid p{font-size:.78rem;color:var(--muted);margin:0}.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.workflow article{position:relative;border-top:1px solid var(--cyan);background:#0d151c;padding:22px;min-height:175px}.workflow article:not(:last-child):after{content:'→';position:absolute;right:-12px;top:28px;color:var(--cyan);z-index:2}.workflow span{font:10px monospace;color:var(--cyan)}.workflow h3{font-size:.93rem}.workflow p{font-size:.76rem;color:var(--muted)}.technical-band{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.technical-band article{border:1px solid var(--line);border-radius:13px;padding:22px}.technical-band h3{margin-top:0}.technical-band ul{padding-left:18px;color:var(--muted);font-size:.8rem}.connections{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.connections a{border:1px solid #28565a;border-radius:30px;padding:8px 13px;color:var(--cyan);font:11px monospace}.connections a:hover{background:#10282a}.next-app{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:#111a22;border-radius:14px;padding:22px 26px;margin-top:45px}.next-app span{color:var(--muted);font-size:.72rem}.next-app b{color:var(--cyan)}.detail-footer{max-width:1160px;margin:auto;border-top:1px solid var(--line);padding:28px 4vw 45px;display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem}.detail-loading{padding:120px 0;color:var(--muted)}.not-found{text-align:center;padding:110px 0}.not-found img{width:90px;border-radius:20px}.not-found h1{font-size:3rem}.not-found a{color:var(--cyan)}
@media(max-width:800px){.detail-top{padding:0 16px}.detail-brand span small,.back-link{display:none}.detail-main{padding:50px 20px 80px}.detail-hero{grid-template-columns:1fr;gap:30px}.detail-hero h1{font-size:4.2rem}.detail-heading{grid-template-columns:1fr;gap:12px}.prose-grid{margin-left:0;grid-template-columns:1fr}.capability-grid,.workflow,.technical-band{grid-template-columns:1fr}.workflow article:not(:last-child):after{display:none}.detail-footer{margin:0 20px;padding-left:0;padding-right:0}}
.detail-app-icon{display:block;width:clamp(76px,9vw,116px);height:clamp(76px,9vw,116px);object-fit:contain;border:1px solid var(--line);border-radius:24px;background:#111a22;padding:9px;margin-bottom:25px;box-shadow:0 22px 45px #0007}
.application-preview{padding:0 0 70px}.preview-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.preview-heading>span{font:10px monospace;color:var(--cyan);text-transform:uppercase;letter-spacing:.13em}.preview-heading h2{font-size:clamp(1.8rem,3.4vw,3rem);margin:0}.application-preview figure{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0d151c;box-shadow:0 30px 70px #0008}.application-preview figure>a{display:block;position:relative;overflow:hidden}.application-preview figure>a:after{content:'↗';position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#081117df;border:1px solid #46d8d755;color:var(--cyan);font:16px monospace;opacity:0;transform:translateY(5px);transition:.2s}.application-preview figure>a:hover:after{opacity:1;transform:none}.application-preview img{display:block;width:100%;height:auto;aspect-ratio:36/25;object-fit:cover;object-position:top;background:#080c11;transition:transform .35s ease}.application-preview figure>a:hover img{transform:scale(1.012)}.application-preview figcaption{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:22px;padding:18px 22px;border-top:1px solid var(--line)}.application-preview figcaption>span{color:var(--cyan);font:700 12px monospace;text-transform:uppercase}.application-preview figcaption p{margin:0;color:var(--muted);font-size:.75rem}.application-preview figcaption a{color:var(--cyan);font-size:.72rem;white-space:nowrap}
.detail-license{max-width:1160px;margin:0 auto 35px;border:1px solid var(--line);border-radius:13px;background:#0e171e;padding:20px 4vw;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:20px}.detail-license b{color:var(--cyan);font:700 12px monospace}.detail-license p{margin:0;color:var(--muted);font-size:.75rem}.detail-license a{font-size:.72rem;color:var(--cyan)}@media(max-width:800px){.detail-license{margin:0 20px 30px;grid-template-columns:1fr;gap:7px}}
@media(max-width:800px){.preview-heading{align-items:start;flex-direction:column;gap:8px}.application-preview figcaption{grid-template-columns:1fr;gap:8px}.application-preview figcaption a{white-space:normal}}

@media print{html,body{background:#fff!important;color:#111!important}.detail-top,.language-switch,.back-link,.detail-footer,.detail-license,.search-trigger,dialog,.gloss-filter{display:none!important}.detail-main{padding:0!important;max-width:none}.detail-body *{color:#111!important;background:transparent!important;border-color:#bbb!important;box-shadow:none!important}code{color:#0a6b68!important}a[href^="http"]:after{content:" (" attr(href) ")";font-size:.75em}pre{white-space:pre-wrap;word-break:break-word}}

/* Galleries: several captures per application */
.application-preview.gallery figure{margin:0 0 26px}.application-preview.gallery figure:last-child{margin-bottom:0}.application-preview.gallery figcaption>span{white-space:nowrap}

/* Smaller captures: centred single preview, two-column galleries */
.application-preview:not(.gallery) figure{max-width:900px;margin:0 auto}.application-preview.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}.application-preview.gallery .preview-heading{grid-column:1/-1}.application-preview.gallery figure{margin:0}.application-preview.gallery figcaption{grid-template-columns:1fr;gap:6px;padding:12px 14px}.application-preview.gallery figcaption>span{font-size:10px}.application-preview.gallery figcaption p{font-size:.72rem}.application-preview.gallery figcaption a{font-size:.66rem}@media(max-width:860px){.application-preview.gallery{grid-template-columns:minmax(0,1fr)}}

/* Captures keep their full frame (no crop of the app header) */
.application-preview img{aspect-ratio:auto;height:auto;object-fit:contain}
