:root{--legacy-blue:#3579a8;--legacy-blue-dark:#1f5f8c;--legacy-pale:#edf5fa;--legacy-link:#27638c;--legacy-ink:#363636;--legacy-muted:#777;--legacy-line:#d7e4ec;--legacy-panel:#f4f8fb;--legacy-width:1040px;font-synthesis:none}*{box-sizing:border-box}html{background:#fff}body{margin:0;color:var(--legacy-ink);background:#fff;font:13px/1.55 Arial,Helvetica,sans-serif}a{color:var(--legacy-link);text-underline-offset:2px}a:hover{color:#0f3e61}.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:8px 12px;background:#111;color:#fff}.skip-link:focus{top:12px}.archive-ribbon{background:#153b55;color:#e8f4fb;border-bottom:1px solid #0b2c42;font-size:12px}.archive-ribbon-inner{width:min(var(--legacy-width),calc(100% - 32px));margin:auto;padding:7px 0;display:flex;justify-content:space-between;gap:20px}.archive-ribbon a{color:#fff}.legacy-shell{width:min(var(--legacy-width),calc(100% - 32px));margin:0 auto}.legacy-header-wrap{background:linear-gradient(#5c9ac3 0,#347cab 52%,#256b99 100%);border-bottom:1px solid #1b557e;box-shadow:inset 0 1px rgba(255,255,255,.3)}.legacy-header{position:relative;height:92px;display:flex;align-items:flex-end;justify-content:flex-end}.legacy-brand{position:absolute;left:4px;top:1px;display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.legacy-brand img{width:60px;height:90px;object-fit:contain}.legacy-brand span{font-size:29px;font-weight:400;letter-spacing:-1px;text-shadow:0 1px 1px rgba(0,0,0,.3)}.legacy-brand small{display:block;margin-top:-3px;color:#dceef9;font-size:11px;font-weight:normal;letter-spacing:.04em;text-transform:none}.menu-button{display:none}.legacy-nav{display:flex;align-items:flex-end;gap:0;margin:0 0 0 auto;padding:0;list-style:none}.legacy-nav a{display:block;padding:13px 14px 11px;color:#fff;text-decoration:none;font-size:14px;border-radius:5px 5px 0 0;text-shadow:0 1px rgba(0,0,0,.25)}.legacy-nav a:hover,.legacy-nav a[aria-current=page]{background:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.08));color:#fff}.legacy-body{background:linear-gradient(#d8eaf5 0,#edf5fa 105px,#fff 330px);padding:26px 0 55px}.legacy-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start}.legacy-sidebar{padding-top:24px}.legacy-block{margin:0 0 21px}.legacy-block h2{margin:0 0 8px;color:#427594;font-size:16px;font-weight:normal}.legacy-block-body{padding:11px;background:rgba(255,255,255,.68);border:1px solid #d4e3ec;border-radius:4px}.legacy-block p{margin:0 0 9px}.legacy-block p:last-child{margin-bottom:0}.legacy-random{display:block;width:100%;max-height:148px;object-fit:cover;border:5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.18)}.legacy-menu-list{margin:0;padding:0;list-style:none}.legacy-menu-list li{border-bottom:1px solid #dbe6ed}.legacy-menu-list li:last-child{border:0}.legacy-menu-list a{display:block;padding:6px 2px;text-decoration:none}.legacy-main{position:relative;padding:39px 31px 45px;background:linear-gradient(#fff,#fff) padding-box;border-radius:7px;box-shadow:0 1px 5px rgba(29,78,106,.18)}.legacy-main:before{content:"";position:absolute;left:0;right:0;top:0;height:35px;border-radius:7px 7px 0 0;background:linear-gradient(#f8fbfd,#e7f1f7);border-bottom:1px solid #dce9f0}.legacy-main>*{position:relative}.legacy-feature{display:grid;grid-template-columns:190px minmax(250px,1fr) 210px;gap:18px;align-items:center;min-height:290px;margin:-18px -8px 22px;padding:8px 0 18px;border-bottom:1px solid #dfe8ed}.legacy-feature-shot{display:flex;align-items:center;justify-content:center;min-height:270px}.legacy-feature-shot img{max-height:270px;width:auto;filter:drop-shadow(0 6px 5px rgba(0,0,0,.16))}.legacy-feature-copy{text-align:center}.legacy-feature-copy h1{margin:0 0 11px;color:#555;font-size:22px;font-weight:normal;line-height:1.25}.legacy-feature-copy ul{display:inline-block;margin:0 auto 18px;padding-left:18px;text-align:left;color:#4b4b4b;font-size:14px}.legacy-quick-links{display:flex;justify-content:center;gap:15px}.legacy-quick-links a{width:58px;text-decoration:none;font-size:12px}.legacy-quick-links img{width:38px;height:38px;margin:0 auto 3px}.legacy-notice{margin:0 0 24px;padding:10px 12px;background:#fffde9;border:1px solid #e3dca7;color:#645e37}.legacy-notice strong{color:#333}.legacy-post{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #d9e5ec}.legacy-post:last-of-type{border-bottom:0}.legacy-post h2,.page-hero h1{margin:0 0 3px;color:#4d7995;font-size:22px;font-weight:normal;line-height:1.25}.legacy-post h2 a{text-decoration:none}.legacy-meta{margin:0 0 11px;color:#888;font-size:11px}.legacy-post p{margin:0 0 9px}.legacy-tags{font-size:11px;color:#888}.legacy-tags a{margin-right:8px}.page-hero{margin:0 0 23px;padding-bottom:17px;border-bottom:1px solid #dbe5eb}.page-hero .eyebrow{margin:0 0 2px;color:#8398a6;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.page-hero .page-intro{margin:9px 0 0;font-size:14px;color:#666}.section{padding:0 0 22px}.section+.section{padding-top:4px}.section-head h2,.prose h2{margin:20px 0 7px;color:#4d7995;font-size:19px;font-weight:normal}.section-head p,.prose p{margin:0 0 12px}.content-grid{display:grid;grid-template-columns:155px minmax(0,1fr);gap:22px}.toc{padding:7px 10px;background:#f3f8fb;border:1px solid #d7e5ed}.toc strong{display:block;margin-bottom:5px;color:#4d7995}.toc a{display:block;padding:5px 0;border-top:1px solid #dfe9ef;text-decoration:none}.prose h3{color:#4d7995}.callout,.notice{margin:16px 0;padding:11px 13px;background:#f4f8fb;border-left:4px solid #73a6c5}.callout strong,.notice strong{display:block}.feature-list,.fact-strip,.platform-grid,.route-list,.resource-list,.timeline,.release-grid,.shot-grid,.faq-list,.method-grid{display:grid;gap:12px}.feature-list,.fact-strip,.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-item,.fact,.platform,.resource,.timeline article,.release-grid article,.method-grid article{padding:12px;background:#f7fafc;border:1px solid #dae7ee}.feature-item p,.fact p,.platform p{margin:5px 0}.platform img,.shot-grid img{max-width:100%;height:auto}.route-list a,.resource a{display:block}.button{display:inline-block;padding:7px 11px;background:linear-gradient(#fff,#e8f1f6);border:1px solid #b9cedb;border-radius:3px;text-decoration:none}.button.primary{background:linear-gradient(#5998bf,#347aa6);border-color:#28658c;color:#fff}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.quote{margin:15px 0;padding:13px 16px;background:#f6fafc;border-left:4px solid #85afc8}.quote cite{display:block;margin-top:7px;color:#777;font-size:11px}.legacy-footer{padding:25px 0 42px;text-align:center;color:#777;background:#fff;border-top:1px solid #e3ebf0;font-size:11px}.legacy-footer nav{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-bottom:10px}.legacy-footer p{max-width:760px;margin:5px auto}.legacy-footer .cc{margin-top:12px}.search-mini{display:flex;justify-content:center;gap:4px;margin-top:12px}.search-mini input{width:200px;padding:5px;border:1px solid #b9cbd6}.search-mini button{padding:5px 10px}.is-hidden{display:none}.shell{width:min(var(--legacy-width),calc(100% - 32px));margin-inline:auto}.legacy-site:not(.home){background:linear-gradient(#d8eaf5 0,#edf5fa 190px,#fff 520px)}.legacy-site:not(.home) .site-header{background:linear-gradient(#5c9ac3 0,#347cab 52%,#256b99 100%);border-bottom:1px solid #1b557e}.legacy-site:not(.home) .nav-shell{position:relative;min-height:92px;display:flex;align-items:flex-end;justify-content:flex-end}.legacy-site:not(.home) .brand{position:absolute;left:4px;top:1px;height:90px;display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.legacy-site:not(.home) .brand-mark{width:60px;height:90px;flex:0 0 60px;background:url('/assets/legacy/coccinella-logo.png') center/60px 90px no-repeat;color:transparent;border:0}.legacy-site:not(.home) .brand>span{font-size:28px;line-height:1.05}.legacy-site:not(.home) .brand small{display:block;color:#dceef9;font-size:11px;font-weight:normal}.legacy-site:not(.home) .site-nav{display:flex;align-items:flex-end}.legacy-site:not(.home) .site-nav a{display:block;padding:13px 13px 11px;color:#fff;text-decoration:none;font-size:14px;border-radius:5px 5px 0 0}.legacy-site:not(.home) .site-nav a:hover,.legacy-site:not(.home) .site-nav a[aria-current=page]{background:rgba(255,255,255,.16)}.legacy-site:not(.home)>main{width:min(var(--legacy-width),calc(100% - 32px));margin:26px auto 55px;padding:39px 31px 45px;background:#fff;border-radius:7px;box-shadow:0 1px 5px rgba(29,78,106,.18)}.legacy-site:not(.home)>main>.page-hero,.legacy-site:not(.home)>main>.section{padding-left:0;padding-right:0}.legacy-site:not(.home)>main .shell{width:auto;margin:0}.legacy-site:not(.home) .site-footer{padding:25px 0 42px;text-align:center;color:#777;background:#fff;border-top:1px solid #e3ebf0;font-size:11px}.legacy-site:not(.home) .footer-grid{display:flex;justify-content:center;gap:32px;align-items:flex-start}.legacy-site:not(.home) .footer-grid>div:first-child{max-width:420px}.legacy-site:not(.home) .footer-grid>div:not(:first-child){display:flex;flex-direction:column}.legacy-site:not(.home) .footer-grid strong{color:#4d7995}.legacy-site:not(.home) .footer-grid a{margin:2px 0}.legacy-site:not(.home) .footer-brand{display:none}.legacy-site:not(.home) .legal{margin-top:14px;max-width:780px}.not-found{min-height:360px;display:grid;place-items:center;text-align:center}.not-found h1{font-size:74px;color:#4d7995;margin:0}.not-found h2{font-weight:normal}.center-actions{justify-content:center}.lead{font-size:15px}.story-grid,.tool-grid,.archive-bridge,.source-list{display:grid;gap:16px}.release-table{width:100%;border-collapse:collapse}.release-table th,.release-table td{padding:8px;border:1px solid #d7e4ec;text-align:left}.shot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.faq-list details{padding:10px;border:1px solid #d7e4ec;background:#f7fafc}.faq-list summary{cursor:pointer;color:#4d7995;font-weight:bold}@media(max-width:860px){.legacy-site:not(.home) .nav-shell{min-height:90px;align-items:center}.legacy-site:not(.home) .brand{position:static}.legacy-site:not(.home) .brand>span{font-size:23px}.legacy-site:not(.home) .site-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:#276b98;z-index:20}.legacy-site:not(.home) .site-nav.is-open{display:flex}.legacy-site:not(.home) .site-nav a{border-radius:0;padding:10px 16px}.legacy-site:not(.home)>main{padding:32px 22px}.legacy-site:not(.home) .footer-grid{flex-direction:column;align-items:center}.archive-ribbon-inner{display:block}.legacy-header{height:auto;min-height:90px;align-items:center}.legacy-brand{position:static}.legacy-brand span{font-size:24px}.menu-button{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;padding:8px 10px;border-radius:3px}.legacy-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:#276b98;z-index:20}.legacy-nav.is-open{display:flex}.legacy-nav a{border-radius:0;padding:10px 16px}.legacy-grid{grid-template-columns:1fr}.legacy-sidebar{order:2;padding-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.legacy-main{order:1}.legacy-feature{grid-template-columns:140px 1fr 150px}.legacy-feature-shot img{max-height:210px}}@media(max-width:620px){.legacy-shell{width:min(100% - 20px,var(--legacy-width))}.legacy-brand img{width:48px;height:72px}.legacy-brand small{display:none}.legacy-main{padding:32px 17px}.legacy-feature{grid-template-columns:1fr;margin:-8px 0 16px}.legacy-feature-shot{min-height:0}.legacy-feature-shot img{max-height:190px}.legacy-feature-copy{grid-row:1}.legacy-quick-links{gap:25px}.legacy-sidebar{grid-template-columns:1fr}.content-grid,.feature-list,.fact-strip,.platform-grid{grid-template-columns:1fr}.archive-ribbon-inner{padding:6px 0}.archive-ribbon-inner span:last-child{display:none}}