
/* Engineering portfolio: readable project dossiers, not a badge wall. */
:root{--work-ink:#172d38;--work-line:#cdd8dc;--work-blue:#185eab}
.work-page{background:#f8faf9;color:var(--work-ink)}
.work-page main{max-width:1240px;margin:auto;padding:0 42px}
.work-hero{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;padding:90px 0 65px}
.work-hero h1{font-size:clamp(48px,5.7vw,79px);font-weight:550;line-height:1.04;letter-spacing:-.055em;margin:24px 0}
.work-hero h1 em{font-style:normal;color:var(--work-blue)}
.work-hero p{font-size:17px;line-height:1.75;max-width:650px}
.work-hero .work-intro{font-size:21px;line-height:1.6}
.work-profile{align-self:end;border-left:1px solid var(--work-line);padding-left:32px}
.work-profile dl>div{padding:18px 0;border-bottom:1px solid var(--work-line)}
.work-profile dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.work-profile dd{margin:0;line-height:1.6;font-size:17px}
.work-profile p{font-size:14px}
.work-page a{ text-underline-offset:5px}
.work-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:26px;font-size:14px;font-weight:600}
.work-primary{background:var(--work-ink);color:#fff!important;padding:13px 18px;border:1px solid var(--work-ink);text-decoration:none!important;transition:background .2s}
.work-primary:hover{background:var(--work-blue)}
.work-route{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--work-line);border-bottom:1px solid var(--work-line)}
.work-route a{padding:23px 10px;text-decoration:none}
.work-route span{font-family:monospace;color:var(--work-blue);margin-right:18px}
.work-section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin:80px 0 32px}
.work-section-heading h2,.work-contact h2{font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.1;letter-spacing:-.04em;margin:14px 0 0}
.work-section-heading>p{max-width:390px;font-size:15px;line-height:1.7;margin:0;color:#4c626d}
.work-project{border-top:1px solid var(--work-line);padding:32px 0 44px;scroll-margin-top:100px}
.work-project-heading{display:flex;align-items:center;gap:22px}
.work-number{font:24px monospace;color:var(--work-accent);width:42px}
.work-project-heading h3{font-size:32px;font-weight:500;letter-spacing:-.03em;margin:8px 0}
.work-state{margin-left:auto;font:12px monospace;border:1px solid var(--work-line);padding:8px 10px}
.work-project-body{display:grid;grid-template-columns:1.65fr 1fr;gap:60px;margin:20px 0 0 64px}
.work-project-intro{font-size:20px;line-height:1.6;margin:0 0 20px;max-width:640px}
.work-project ul{padding-left:18px;line-height:1.8;font-size:15px}
.work-project li+li{margin-top:9px}
.work-stack{font:12px/1.8 monospace;color:#4c626d;border-top:1px solid var(--work-line);padding-top:16px}
.work-proof{border-left:2px solid var(--work-accent);padding:5px 0 0 25px;align-self:start;font-size:14px;line-height:1.75}
.work-proof p{margin:16px 0}
.work-proof details{border-top:1px solid var(--work-line);margin-top:25px;padding-top:17px}
.work-proof summary{cursor:pointer;font-weight:600;min-height:30px}
.work-proof details[open] summary{color:var(--work-blue)}
.work-demo-note{font-size:12px!important;color:#536a75;margin-top:13px}
.work-skills dl>div{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--work-line);padding:25px 0;gap:40px}
.work-skills dt{font-size:21px}
.work-skills dd{margin:0;font-size:16px;line-height:1.7}
.work-skills dd p{margin:0 0 12px}
.work-skills dd a{display:inline-block;margin-right:22px;font-size:14px}
.work-contributions{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.work-contributions article{border-top:2px solid var(--work-blue);padding-top:22px}
.work-contributions h3{font-size:24px;line-height:1.3;font-weight:500;margin:18px 0}
.work-contributions p{font-size:15px;line-height:1.75}
.work-contributions .work-review{font-size:13px;color:#526672}
.work-contributions a,.all-contributions{font-size:14px}
.all-contributions{display:inline-block;margin-top:32px}
.work-contact{border-top:1px solid var(--work-line);margin-top:85px;padding:60px 0;display:grid;grid-template-columns:1.6fr 1fr;gap:80px}
.work-contact p{font-size:16px;line-height:1.75;max-width:580px}
.work-contact aside{border-left:1px solid var(--work-line);padding-left:30px}
.work-contact aside h3{font-size:25px;line-height:1.35;font-weight:500}
.work-contact aside a{display:block;margin-top:18px;font-size:14px}
.work-footer{border-top:1px solid var(--work-line);padding:24px 42px;display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:1.6}
.portfolio-paths{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--work-line);margin:0 0 50px}
.portfolio-paths>a{padding:26px 30px;text-decoration:none;border-top:1px solid var(--work-line);display:grid;grid-template-columns:34px 1fr 24px;gap:16px;align-items:center}
.portfolio-paths>a+a{border-left:1px solid var(--work-line)}
.portfolio-paths strong{display:block;font-size:24px;font-weight:500;margin-bottom:7px}
.portfolio-paths small{font-size:14px;line-height:1.6;color:#526672}
.portfolio-paths b{font:14px monospace;color:var(--work-blue)}
.portfolio-paths a:hover{background:#edf3f6}
.masthead nav a:focus-visible,.work-page a:focus-visible,.work-page summary:focus-visible{outline:2px solid #185eab;outline-offset:5px}
@media(max-width:850px){.work-page main{padding:0 24px}.work-hero{gap:35px;padding-top:50px}.work-project-body{gap:30px;margin-left:0}.work-contributions{grid-template-columns:1fr}.work-section-heading{gap:25px}.work-contact{gap:30px}.masthead{flex-wrap:wrap}.masthead nav{flex-wrap:wrap;gap:16px}.work-route a{font-size:13px}.work-route span{margin-right:8px}}
@media(max-width:600px){.work-hero,.work-project-body,.work-contact{grid-template-columns:1fr}.work-hero{gap:30px}.work-profile{border-left:0;border-top:1px solid var(--work-line);padding:25px 0 0}.work-section-heading{display:block;margin-top:55px}.work-section-heading>p{margin-top:18px}.work-project-heading{flex-wrap:wrap;gap:12px}.work-state{margin-left:54px}.work-number{width:30px}.work-project-heading h3{font-size:28px}.work-route{grid-template-columns:1fr}.work-route a+a{border-top:1px solid var(--work-line)}.work-skills dl>div{grid-template-columns:1fr;gap:12px}.work-contact aside{padding:25px 0 0;border-left:0;border-top:1px solid var(--work-line)}.work-footer{flex-direction:column;padding:24px}.portfolio-paths{grid-template-columns:1fr}.portfolio-paths>a{padding:24px 12px}.portfolio-paths>a+a{border-left:0}.work-actions{gap:20px}.work-hero h1{font-size:48px}.masthead nav{width:100%;order:3;justify-content:flex-start}}
@media(prefers-reduced-motion:no-preference){.work-project:target{animation:work-focus 1s ease-out}@keyframes work-focus{from{background:#e8f2fc}to{background:transparent}}}

/* Compact front door; technical detail remains opt-in. */
.work-compact .work-hero{padding:60px 0 45px;gap:60px;align-items:center}
.work-compact .work-hero h1{font-size:clamp(60px,7vw,92px);margin:18px 0}
.work-compact .work-intro{font-size:19px;line-height:1.6;margin:0}
.mini-map{display:block;text-decoration:none;color:inherit;padding:22px;border:1px solid var(--work-line);border-radius:4px;transition:background .2s}
.mini-map:hover{background:#edf3f6}
.mini-map svg{width:100%;display:block}
.mini-map>span{display:flex;justify-content:space-between;font:13px/1.6 monospace;padding:12px 8px 2px}
.mini-track{fill:none;stroke:#658b9b;stroke-width:2}
.mini-track.secondary{stroke:#9a9e66}
.mini-stops circle{fill:#f8faf9;stroke:#658b9b;stroke-width:2}
.mini-traveller{fill:#185eab;opacity:0}
.work-compact .work-project{padding:26px 0 28px}
.work-compact .work-project-body{grid-template-columns:1.35fr 1fr;gap:45px;margin-top:15px}
.work-compact .work-project-intro{font-size:18px;line-height:1.65;margin-bottom:10px}
.compact-proof{font:12px/1.7 monospace;color:#426072;margin:12px 0}
.work-compact .work-actions{margin-top:18px}
.work-compact .work-state{font-size:11px}
.flow-panel{align-self:center;padding:24px 10px 10px}
.build-flow{display:flex;align-items:flex-start;justify-content:center;padding:10px 0;min-width:0}
.flow-stop{display:grid;justify-items:center;gap:10px;font:12px/1.4 monospace;text-align:center;min-width:50px}
.flow-stop>i{width:13px;height:13px;border:2px solid #668692;border-radius:50%;background:#f8faf9}
.flow-wire{position:relative;flex:1;height:2px;background:#c5d2d9;margin:6px -14px 0;min-width:24px}
.flow-wire>i{position:absolute;left:0;top:-2px;width:6px;height:6px;background:#185eab;border-radius:50%;opacity:0}
.replay-flow{display:block;margin:20px auto 0;background:transparent;border:0;border-bottom:1px solid #9eafb8;padding:7px 2px;font:12px inherit;color:#385865;cursor:pointer}
.replay-flow span{display:inline-block;margin-left:10px}
.build-notes{margin:22px 0 0 64px;border-top:1px solid var(--work-line)}
.build-notes summary{cursor:pointer;font-size:13px;padding:16px 0 2px;min-height:38px;color:#385865}
.build-notes-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:16px 0 10px}
.build-notes-content h4{font-size:14px;margin:5px 0 15px}
.build-notes-content p,.build-notes-content li{font-size:14px;line-height:1.7}
.work-compact .work-contact{margin-top:65px;padding:40px 0}
.work-compact .work-contact aside h3{margin-top:0}
.work-compact .work-section-heading{margin-top:55px}
.work-compact .work-section-heading h2{font-size:clamp(28px,3.7vw,42px)}
.work-compact .work-contributions h3{font-size:22px}
.oss-more{background:transparent;border:1px solid #9baeb7;color:inherit;font:inherit;padding:12px 22px;cursor:pointer;margin-top:24px}
.desk.concise-desk{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:45px 50px;min-height:0}
.concise-desk h2{font-size:34px;margin:10px 0 0;line-height:1.2}
.concise-desk>a{padding:12px 0;border-bottom:1px solid currentColor;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){
  .flow-panel.is-running .flow-wire>i{animation:flow-dot .7s ease-in-out both}
  .flow-panel.is-running .flow-wire:nth-child(4)>i{animation-delay:.65s}
  .flow-panel.is-running .flow-stop>i{animation:flow-stop .5s ease-out both}
  .flow-panel.is-running .flow-stop:nth-child(3)>i{animation-delay:.65s}
  .flow-panel.is-running .flow-stop:nth-child(5)>i{animation-delay:1.3s}
  .flow-panel.is-running .replay-flow span{animation:flow-spin .8s ease-in-out}
  .mini-map:is(:hover,:focus-visible) .mini-traveller{offset-path:path('M35 180H100Q120 180 120 160V60Q120 40 140 40H230Q250 40 250 60V180Q250 200 270 200H365');animation:mini-ride 2s ease-in-out}
  .feature:hover .feature-diagram span{transform:translateY(-3px);transition:transform .2s}
  .work-primary,.work-contributions a,.portfolio-paths b{transition:transform .2s,background .2s}
  .work-primary:hover,.work-contributions a:hover{transform:translateY(-2px)}
  .portfolio-paths a:hover b:last-child{transform:translate(3px,-3px)}
  .work-project.entered{animation:project-in .45s ease-out both}
  .build-notes[open] .build-notes-content{animation:project-in .25s ease-out}
  dialog[open]{animation:project-in .25s ease-out}
  @keyframes flow-dot{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
  @keyframes flow-stop{50%{background:#185eab;border-color:#185eab;box-shadow:0 0 0 6px #185eab18}}
  @keyframes flow-spin{to{transform:rotate(360deg)}}
  @keyframes mini-ride{0%{offset-distance:0%;opacity:0}10%,90%{opacity:1}100%{offset-distance:100%;opacity:0}}
  @keyframes project-in{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:none}}
}
@media(max-width:700px){.work-compact .work-hero{gap:25px;grid-template-columns:1fr}.mini-map{max-width:350px}.work-compact .work-project-body{grid-template-columns:1fr;gap:10px}.flow-panel{max-width:400px;width:100%;box-sizing:border-box}.build-notes{margin-left:0}.build-notes-content{grid-template-columns:1fr;gap:10px}.desk.concise-desk{padding:35px 24px;align-items:start;flex-direction:column}.work-compact .work-hero h1{font-size:64px}}

/* The whole atlas fits in the first screen; every station remains a link. */
.work-compact main{max-width:1640px;padding:0 20px}
.atlas-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 0 12px}
.atlas-intro h1{font-size:clamp(23px,2.7vw,37px);letter-spacing:-.045em;font-weight:550;margin:9px 0 0;line-height:1.15}
.atlas-intro>div:last-child{text-align:right;font-size:13px}
.atlas-intro p{margin:0 0 8px}.atlas-intro a+a{margin-left:20px}
.fit-atlas{border:1px solid #cbd9de;background:radial-gradient(#c8d7dd .7px,transparent .7px) 0 0/17px 17px #f1f6f8;border-radius:5px}
.fit-atlas-bar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f9fbfc;border-bottom:1px solid #d4dfe4;flex-wrap:wrap}
.fit-filters,.fit-actions{display:flex;gap:4px;flex-wrap:wrap}
.fit-atlas button{border:1px solid transparent;background:none;padding:8px 9px;color:#3d5663;font:12px/1.3 inherit;cursor:pointer;border-radius:3px}
.fit-filters button{font-size:12px;display:flex;align-items:center;gap:6px}
.fit-filters i{width:6px;height:6px;border-radius:50%}
.fit-filters button[aria-pressed=true],.fit-actions button[aria-pressed=true]{background:#183240;color:white}
.fit-actions button{font-size:12px;border-color:#b8cad2}
#map-surprise{color:#185eab}
.fit-stage{position:relative;isolation:isolate;overflow:hidden;height:clamp(220px,calc(100svh - 300px),510px);min-height:0}
.fit-map{display:block;width:100%;height:100%;overflow:hidden}
.fit-track{fill:none;stroke:var(--route-color);stroke-width:2;vector-effect:non-scaling-stroke;opacity:.64}
.fit-signal{fill:none;stroke:var(--route-color);stroke-width:4;vector-effect:non-scaling-stroke;stroke-dasharray:5 95;stroke-dashoffset:100;opacity:0;pointer-events:none}
.fit-node{color:#203946;outline:none;cursor:pointer}
.fit-node rect{fill:transparent}
.fit-node text{fill:currentColor;font:600 18px/1.2 'Segoe UI',sans-serif;pointer-events:none}
.fit-stop{stroke:var(--route-color);stroke-width:2;fill:#f4f8fa}
.fit-halo{fill:var(--route-color);opacity:0}
.fit-node:hover rect,.fit-node:focus-visible rect{fill:#fff;stroke:#9ab6c3;stroke-width:1}
.fit-node:hover .fit-stop,.fit-node:focus-visible .fit-stop{fill:var(--route-color)}
.fit-node:focus-visible text{font-weight:700}
.fit-route-group.is-dim{opacity:.17;pointer-events:none}
.fit-route-group{transition:opacity .2s}
.fit-caption{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid #d4dfe4;font:11px/1.4 monospace;color:#4e6c7b;background:#f9fbfce8}
.fit-project-list{display:grid;grid-template-columns:repeat(4,1fr);padding:15px;gap:6px}
.fit-project-list[hidden],.fit-stage[hidden]{display:none}
.fit-project-list button{text-align:left;border:1px solid #d2dfe4;background:#fff}
.upstream-signpost{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid #ccd8de}
.upstream-signpost a{font-size:15px;text-decoration:none}
.upstream-signpost strong{color:#266345}
.upstream-signpost a span{margin-left:12px;display:inline-block}
.upstream-signpost>span{font:11px/1.6 monospace;color:#5e727c}
.upstream-counts{display:flex;gap:36px}
.upstream-counts>span{display:grid;gap:8px;font:12px monospace;color:#48616c}
.upstream-counts strong{font:42px/1 'Segoe UI',sans-serif;color:#266345}
.upstream-context{font-size:15px;color:#4d6571;margin:0 0 25px}
.upstream-footer{display:flex;align-items:baseline;justify-content:space-between;gap:25px}
.upstream-footer>span{font:11px/1.6 monospace;color:#5d717a}
.work-compact .work-upstream{padding:0 18px}
.work-compact .work-builds{padding:0 18px}
.merge-card{position:relative}
.merge-sketch{max-width:260px;margin:18px 0 -4px}
.merge-sketch svg{width:100%;display:block}
.merge-sketch path{fill:none;stroke:#a9bdaf;stroke-width:2}
.merge-sketch .merge-branch{stroke:#488465}
.merge-sketch circle{fill:#f8faf9;stroke:#488465;stroke-width:2}
.merge-sketch .merge-trace{stroke:#226b45;stroke-width:4;stroke-dasharray:10 90;opacity:0}
.map-ticket{border:1px solid #b8c9d2;border-radius:6px;padding:36px;max-width:520px;width:calc(100% - 36px);box-sizing:border-box;box-shadow:0 20px 80px #18323f33;color:#17303c;background:#fbfcfa}
.map-ticket::backdrop{background:#142e3e65;backdrop-filter:blur(4px)}
.ticket-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:26px;color:#3b5360;cursor:pointer;padding:4px 8px}
.map-ticket h2{font-size:34px;letter-spacing:-.035em;line-height:1.15;margin:18px 0}
.map-ticket p{font-size:17px;line-height:1.7}
.ticket-actions{display:flex;gap:24px;border-top:1px dashed #aac0c9;padding-top:22px;margin-top:24px;font-size:14px}
.ticket-actions a:first-child{font-weight:650}
.ticket-stamp{display:block;margin:28px 0 0 auto;width:max-content;border:2px solid #4b8161;color:#4b8161;transform:rotate(-8deg);font:10px/1.5 monospace;letter-spacing:1px;text-align:center;padding:5px 9px;opacity:.75}
@media(prefers-reduced-motion:no-preference){
.fit-route-group.is-travelling .fit-signal{animation:route-trip 1.7s ease-in-out}
.fit-route-group.is-travelling .fit-halo{animation:station-wave 1.7s ease-out}
.fit-node:hover .fit-halo,.fit-node:focus-visible .fit-halo{animation:station-wave .6s ease-out}
.map-ticket[open] .ticket-stamp{animation:ticket-stamp .35s .15s both}
.map-ticket[open]{animation:ticket-enter .3s cubic-bezier(.2,.9,.3,1.1)}
.merge-card:hover .merge-trace,.merge-card:focus-within .merge-trace{animation:route-trip 1.4s ease-in-out}
.upstream-signpost a:hover span{animation:arrow-hop .5s ease-in-out 2}
@keyframes route-trip{0%{stroke-dashoffset:100;opacity:0}10%,90%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes station-wave{0%{opacity:0;transform:scale(.5)}30%{opacity:.25}100%{opacity:0;transform:scale(1.8)}}
@keyframes ticket-enter{from{opacity:0;transform:translateY(20px) rotate(2deg)}to{opacity:1;transform:none}}
@keyframes ticket-stamp{from{opacity:0;transform:scale(1.7) rotate(-15deg)}to{opacity:.75;transform:scale(1) rotate(-8deg)}}
@keyframes arrow-hop{50%{transform:translateY(4px)}}
}
@media(max-width:760px){.work-compact main{padding:0 14px}.atlas-intro{gap:12px;align-items:start}.atlas-intro h1{font-size:25px}.atlas-intro .eyebrow{font-size:9px}.atlas-intro>div:last-child{max-width:130px;font-size:12px}.fit-atlas-bar{padding:8px}.fit-filters button{padding:7px;font-size:10px}.fit-stage{height:clamp(210px,calc(100svh - 330px),340px)}.fit-map{overflow:hidden}.fit-caption{font-size:9px}.upstream-signpost{flex-wrap:wrap;gap:6px}.upstream-signpost>span{font-size:10px}.upstream-counts{gap:25px;margin-top:24px}.upstream-footer{align-items:start;flex-direction:column;gap:14px}.fit-project-list{grid-template-columns:repeat(2,1fr)}.work-compact .work-upstream,.work-compact .work-builds{padding:0 4px}}

/* Full contribution wall: every record is visible by default. */
.contribution-wall{margin-top:48px;border-top:1px solid #c6d4db;padding-top:30px}
.wall-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.wall-heading h3{font-size:30px;letter-spacing:-.035em;font-weight:550;margin:10px 0 0}
.wall-heading>span{font:11px/1.5 monospace;color:#526b78}
.repo-strip{display:flex;flex-wrap:wrap;gap:8px}
.repo-strip button{display:flex;gap:15px;align-items:center;padding:13px 17px;border:1px solid #cbd9de;background:#fff;color:#28434e;border-radius:4px;font:14px 'Segoe UI',sans-serif;cursor:pointer}
.repo-strip b{font:12px monospace;color:#627d88}
.repo-strip button[aria-pressed=true]{background:#173540;color:#fff;border-color:#173540}
.repo-strip button[aria-pressed=true] b{color:#d7e7ed}
.wall-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0}
.wall-controls>div{display:flex;gap:6px;flex-wrap:wrap}
.wall-controls button{border:0;background:none;color:#526c78;padding:10px 14px;font:13px 'Segoe UI',sans-serif;cursor:pointer;border-radius:3px}
.wall-controls button[aria-pressed=true]{background:#e2ebef;color:#163b4b;font-weight:650}
#wall-count{font:12px monospace;color:#59717d}
.wall-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.wall-card{flex:1 1 290px;max-width:calc(33.333% - 10px);min-width:0;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none!important;color:#213f4a;border:1px solid #d1dce1;border-top:3px solid #8062a3;border-radius:4px;background:#fff;padding:20px;box-sizing:border-box}
.wall-card[hidden]{display:none}
.wall-card[data-wall-state=open]{border-top-color:#418268}
.wall-card[data-wall-state=closed]{border-top-color:#9baab0}
.wall-card-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;font:10px/1.5 monospace;color:#617986}
.wall-card-meta>span:first-child{overflow-wrap:anywhere}
.wall-state{color:#725099;background:#f3eef8;border-radius:3px;padding:2px 6px;white-space:nowrap}
[data-wall-state=open] .wall-state{color:#2f6e52;background:#edf7f0}
[data-wall-state=closed] .wall-state{color:#5c6b73;background:#f0f3f4}
.wall-card h4{font-size:17px;font-weight:550;line-height:1.5;letter-spacing:-.015em;margin:21px 0 25px}
.wall-card-foot{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#5c7480}
.wall-card-foot>span:first-child{font-family:monospace}
.wall-card-foot i{display:inline-block;font-style:normal}
.wall-note,.wall-empty{font-size:12px;line-height:1.7;color:#5b737e;margin-top:22px}
.wall-card:focus-visible,.repo-strip button:focus-visible,.wall-controls button:focus-visible{outline:2px solid #2668aa;outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.wall-card{transition:transform .18s,box-shadow .18s,border-color .18s}.wall-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #29485812;border-color:#8ca7b6}.wall-card:hover i{transform:translate(3px,-3px);transition:transform .18s}.wall-grid.is-filtering .wall-card:not([hidden]){animation:wall-in .28s both;animation-delay:var(--card-delay)}@keyframes wall-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(max-width:1000px){.wall-card{max-width:calc(50% - 7px);flex-basis:240px}}
@media(max-width:600px){.wall-card{max-width:none;flex-basis:100%}.wall-heading,.wall-controls{align-items:start;flex-direction:column;gap:12px}.repo-strip{gap:6px}.repo-strip button{padding:10px 12px;font-size:12px}.wall-controls{margin-bottom:16px}#wall-count{margin:0}.wall-card h4{font-size:18px}.wall-heading h3{font-size:28px}}

.project-status-badge{display:inline-block;max-width:100%;box-sizing:border-box;padding:4px 9px;border:1px solid #cedbdf;border-radius:4px;background:#edf3f5;color:#375561;font:500 11px/1.5 'Segoe UI',sans-serif;letter-spacing:.01em;vertical-align:middle;white-space:normal;text-decoration:none}
a.project-status-badge:hover{background:#e3edf0;border-color:#9eb6c0}
a.project-status-badge:focus-visible{outline:2px solid #3975b4;outline-offset:3px}
.project-hero h1+.project-status-badge{margin:0 0 16px}
.work-project-heading h3+.project-status-badge{margin-top:8px}
.fit-project-list button>.project-status-badge{display:table;margin-top:6px;text-align:left}
#ticket-status:empty{display:none}
#ticket-status{margin:8px 0 14px}
/* A single editorial rhythm around the atlas. */
.work-compact{background:#f7f7f2;color:#203238}
.work-compact .masthead{background:#f7f7f2;position:sticky;top:0;z-index:20;border-bottom:1px solid #cbd4d2}
.work-compact main{max-width:1440px;padding:0 36px}
.work-compact .atlas-intro{padding:30px 0 24px;align-items:end}
.work-compact .atlas-intro h1{font-size:clamp(34px,4.4vw,66px);font-weight:600;line-height:1.02;letter-spacing:-.055em;margin-top:14px}
.atlas-intro h1>span{color:#677c7a;font-weight:400}
.work-compact .fit-atlas{border-radius:0;border-color:#a8bdbb;box-shadow:8px 8px 0 #e5eae6}
.work-compact .fit-atlas-bar{background:#edf1ec;padding:12px}
.work-compact .work-builds,.work-compact .work-upstream,.project-index{scroll-margin-top:120px;padding-top:50px}
.work-compact .work-project{border-top:1px solid #c9d4d1;padding-top:28px;padding-bottom:32px}
.work-compact .work-section-heading h2,.project-index h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.045em;font-weight:500;margin:12px 0}
.project-index{border-top:1px solid #b7c7c2;margin-top:35px}
.project-index header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.project-index label{font:12px/1.6 monospace;min-width:250px}
.project-index input{display:block;background:transparent;border:0;border-bottom:1px solid #78938e;padding:12px 0;width:100%;font:16px/1.5 inherit;color:inherit;border-radius:0}
.index-row{display:grid;grid-template-columns:40px 1fr 120px 24px;gap:18px;align-items:center;border-top:1px solid #d2dad6;padding:20px 8px;text-decoration:none;color:inherit;transition:background .2s,padding .2s}
.index-row:hover{background:#edf1e9;padding-left:16px}
.index-row h3{font-size:21px;font-weight:550;margin:0 0 5px;letter-spacing:-.02em}
.index-row p{font-size:14px;line-height:1.6;color:#5c716f;margin:0;max-width:760px}
.index-number,.index-kind,#index-count{font:11px/1.5 monospace;color:#56706b}
.index-row[hidden]{display:none}
#index-count{display:block;margin-top:18px}
#music-toggle{position:fixed;bottom:18px;right:18px;z-index:25;border:1px solid #aec0b8;border-radius:30px;background:#edf1e9;color:#284a42;padding:10px 14px;font:12px monospace;cursor:pointer;box-shadow:0 3px 15px #20323815}
#music-toggle[aria-pressed=true]{background:#284a42;color:white}
.work-compact :is(a,button,input):focus-visible{outline:2px solid #4f7b70;outline-offset:4px}
@media(max-width:700px){.work-compact main{padding:0 16px}.work-compact .atlas-intro{padding:20px 0;align-items:start;gap:14px}.work-compact .atlas-intro>div:last-child{font-size:11px;max-width:135px}.work-compact .atlas-intro h1{font-size:34px}.project-index header{display:block}.project-index label{display:block;margin-top:20px;min-width:0}.index-row{grid-template-columns:24px 1fr 16px;gap:10px}.index-kind{display:none}.index-row h3{font-size:18px}.work-compact .masthead nav{gap:14px}.work-compact .fit-atlas{box-shadow:4px 4px 0 #e5eae6}}
