:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;background:#080d16;color:#eaf1fc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#17395a 0%,#080d16 55%);min-height:100vh}a{color:#8ed8ff}header,main,footer{max-width:1180px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #253345}header a{text-decoration:none}nav{display:flex;gap:20px}nav a{color:#c6d8e9}nav a:hover{color:#7feacb}.brand{font-size:1.13rem;font-weight:800;letter-spacing:-.04em}.brand b{color:#76e5c2}.eyebrow{color:#7ee6c5;font-weight:750;letter-spacing:.14em;font-size:.77rem}.hero{padding:76px 0 35px}.hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.07;max-width:860px;letter-spacing:-.055em;margin:20px 0}.hero h1 em{font-style:normal;color:#79e6c6}.hero p{font-size:1.1rem;max-width:700px;color:#aabdd0;line-height:1.75}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chip,.tag{border:1px solid #35485e;border-radius:999px;padding:7px 12px;color:#bfd1e4;font-size:.8rem}.panel,.result{background:#111d2d;border:1px solid #2a3c50;border-radius:17px;padding:22px}.panel{box-shadow:0 18px 70px #0004}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 16px}.section-head h2{font-size:1.35rem;margin:0}.filters{display:grid;grid-template-columns:2.2fr repeat(3,1fr);gap:12px}input,select{width:100%;background:#091321;color:#f1f7ff;border:1px solid #40576e;border-radius:10px;padding:14px;font:inherit}input:focus,select:focus{outline:2px solid #75dabb;outline-offset:1px}label{display:block;color:#c9d9e9;font-size:.86rem;margin-bottom:9px}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.result{min-height:165px;transition:border-color .2s}.result:hover{border-color:#5b9ca8}.result h2{font-size:1.15rem;line-height:1.5;margin:14px 0}.result h2 a{color:#e7f6ff;text-decoration:none}.result h2 a:hover{text-decoration:underline}.meta{font-size:.81rem;color:#94aac1}.tag{display:inline-block;padding:5px 9px;margin:3px;font-size:.75rem}.empty{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed #476078;border-radius:12px;color:#a9c0d5}.topline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.notice{margin-top:16px;border-color:#bb8e3b;color:#ffe4a2}.info{color:#91a9c2;font-size:.88rem;line-height:1.7}footer{font-size:.81rem;color:#8fa4bb;border-top:1px solid #27394c;margin-top:60px;line-height:1.7}.footerlinks{display:flex;gap:15px;flex-wrap:wrap}@media(max-width:800px){.filters{grid-template-columns:1fr 1fr}.results{grid-template-columns:1fr}.hero{padding-top:45px}}@media(max-width:520px){.filters{grid-template-columns:1fr}header{flex-wrap:wrap}nav{gap:12px}.hero h1{font-size:2.65rem}}
/* Original Secure Hyperloop design system restored */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{color-scheme:dark;font-family:'DM Sans',sans-serif;background:#090a0b;color:#f0f0ee}body{background:#090a0b;color:#f0f0ee}header{max-width:none;padding:0 max(24px,calc((100vw - 1240px)/2));height:86px;background:#0a0b0d;border-bottom:1px solid #242528}header .brand{font-family:'Space Grotesk',sans-serif;letter-spacing:-.04em;font-size:15px}header .brand b{color:#999ca1}nav a{font-size:12px;color:#989a9d}.eyebrow,.meta,.info,.chip,.tag,footer{font-family:'IBM Plex Mono',monospace}.eyebrow{color:#a6a8aa;font-size:10px}.hero{padding:82px 0 58px;border-bottom:1px solid #2a2b2d}.hero h1{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.055em}.hero h1 em{color:#787b7e}.hero p{color:#999b9d;font-size:15px}.chip,.tag{border-color:#383a3e;color:#a8aaae;border-radius:5px}.panel,.result{background:#111214;border-color:#303235;border-radius:5px;box-shadow:none}.panel{padding:29px}.section-head h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.04em}input,select{background:#151618;border-color:#37393d;color:#ededeb;border-radius:5px;font-size:12px;min-height:48px}input:focus,select:focus{outline-color:#e0e0dc}.result:hover{border-color:#65676b}.result h2{font-family:'Space Grotesk',sans-serif;font-weight:500}.result h2 a{color:#e6e6e4}.meta,.info{color:#989b9e}.notice{border-color:#777;color:#ddd}footer{border-color:#28292b;background:#0e0f10;color:#8b8d91}footer a{color:#d4d5d6}

/* Navigation: original full logo artwork without duplicated text */
header .brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}header .brand-logo{display:block;width:155px;height:58px;max-width:45vw;object-fit:contain;object-position:left center}header{min-height:86px}header nav{align-items:center}@media(max-width:520px){header .brand-logo{width:130px;height:48px}header{height:auto;min-height:78px;padding-top:12px;padding-bottom:12px}}

/* Responsive layout refinement: desktop, tablet and mobile */
header,main,footer{box-sizing:border-box}
header{padding-inline:max(28px,calc((100vw - 1240px)/2));}
main{width:min(100% - 64px,1120px);padding:0 0 70px}
.hero{padding:92px 0 68px}
.hero h1{max-width:900px;font-size:clamp(3rem,5.1vw,4.9rem);line-height:1.13;letter-spacing:-.047em;margin:24px 0 28px}
.hero p{max-width:770px;font-size:16px;line-height:1.85;letter-spacing:.005em;margin:0}
.chips{margin-top:34px;gap:10px;row-gap:12px}
.chip{line-height:1.5;padding:8px 12px}
.panel{padding:34px 36px}
.section-head{margin:34px 0 22px;align-items:flex-end}
.section-head h2{font-size:1.55rem;line-height:1.3}
.filters{grid-template-columns:minmax(260px,2.2fr) repeat(3,minmax(125px,1fr));gap:18px}
.filters>div{min-width:0}
.filters label{line-height:1.5;margin-bottom:10px}
input,select{width:100%;min-width:0;line-height:1.4}
.results{gap:18px;margin-top:22px}
.result{padding:26px;min-height:180px}
.result h2{line-height:1.45;margin:18px 0}
.info{line-height:1.8}
footer{padding:36px max(28px,calc((100vw - 1120px)/2))}
@media(max-width:1024px){
 header{padding-inline:32px}
 main{width:min(100% - 64px,900px)}
 .hero{padding:74px 0 56px}
 .hero h1{font-size:clamp(3rem,6.5vw,4.3rem)}
 .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .filters>div:first-child{grid-column:1/-1}
 .filters>div:last-child{grid-column:1/-1}
 .panel{padding:30px}
 footer{padding-inline:32px}
}
@media(max-width:640px){
 header{min-height:76px;padding:12px 20px;gap:14px}
 header .brand-logo{width:132px;height:48px;max-width:40vw}
 header nav{gap:16px;flex-wrap:wrap;justify-content:flex-end}
 nav a{font-size:12px}
 main{width:calc(100% - 40px);padding-bottom:45px}
 .hero{padding:54px 0 44px}
 .hero h1{font-size:clamp(2.4rem,10.4vw,3.55rem);line-height:1.16;letter-spacing:-.045em;margin:20px 0 24px}
 .hero p{font-size:14px;line-height:1.85}
 .chips{margin-top:27px;gap:8px}
 .chip{font-size:10px;padding:7px 10px}
 .panel{padding:24px 20px}
 .section-head{align-items:flex-start;flex-direction:column;gap:8px;margin:27px 0 20px}
 .section-head h2{font-size:1.4rem}
 .filters{grid-template-columns:1fr;gap:17px}
 .filters>div:first-child,.filters>div:last-child{grid-column:auto}
 .results{grid-template-columns:1fr;gap:14px}
 .result{padding:22px;min-height:0}
 footer{padding:28px 20px}
}
@media(max-width:380px){
 header{padding-inline:14px}
 header .brand-logo{width:112px;height:44px}
 header nav{gap:9px}
 nav a{font-size:11px}
 main{width:calc(100% - 28px)}
 .hero h1{font-size:2.2rem}
}

/* Consistent site typography, spacing and subtle interaction */
body{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}
header{min-height:100px;height:auto;padding-block:12px}
header .brand-logo{width:195px;height:75px;max-width:none;transition:transform .25s ease,filter .25s ease}
header .brand:hover .brand-logo{transform:translateY(-2px);filter:drop-shadow(0 0 12px #ffffff30)}
header nav{gap:30px}
header nav a{font-size:14px;line-height:1.5;color:#a2a4a7;transition:color .2s}
header nav a:hover,header nav a[aria-current=page]{color:#fff}
main{width:min(calc(100% - 88px),1240px)}
.hero{padding:78px 0 56px}
.hero h1{font-size:clamp(48px,5.1vw,76px);line-height:1.15;letter-spacing:-.06em}
.hero p{font-size:17px;line-height:1.85;max-width:790px;color:#afb1b5}
.eyebrow{font-size:12px;line-height:1.65}
.chip{font-size:13px;line-height:1.5;padding:9px 13px}
.panel,.result{border-radius:7px;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.panel{padding:36px}
.panel:hover{border-color:#484b50}
.section-head h2{font-size:27px}
.info,.meta{font-size:13px;line-height:1.8}
.filters label{font-size:14px;color:#c8c8c8}
input,select{font-size:15px;min-height:52px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}
input:hover,select:hover{border-color:#62656a}
input:focus,select:focus{outline:0;border-color:#c3c5c8;box-shadow:0 0 0 3px #aeb4be24}
.result{padding:30px;min-height:195px}
.result:hover{transform:translateY(-4px);box-shadow:0 16px 36px #0005;border-color:#686a6e}
.result h2{font-size:23px;line-height:1.45}
.result h2 a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.tag{font-size:12px;line-height:1.5;padding:6px 10px}
footer{font-size:13px}
.hero,.panel,.results{animation:writeupRise .7s ease-out both}
.panel{animation-delay:.08s}.results{animation-delay:.16s}
@keyframes writeupRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){main{width:calc(100% - 56px)}header{min-height:90px;padding-inline:28px}header .brand-logo{width:175px;height:65px}header nav{gap:19px}header nav a{font-size:13px}.hero{padding:65px 0 48px}.hero p{font-size:16px}.panel{padding:29px}}
@media(max-width:640px){main{width:calc(100% - 36px)}header{min-height:84px;padding:14px 18px;gap:10px}header .brand-logo{width:150px;height:55px;max-width:none}header nav{gap:12px 17px;justify-content:flex-start}header nav a{font-size:13px}.hero{padding:52px 0 40px}.hero h1{font-size:clamp(40px,10vw,58px)}.hero p{font-size:16px;line-height:1.75}.eyebrow{font-size:12px}.chip{font-size:12px}.panel{padding:23px}.section-head h2{font-size:24px}.filters label{font-size:14px}input,select{font-size:16px}.result{padding:23px}.result h2{font-size:21px}.info,.meta{font-size:12px}}
@media(max-width:380px){header .brand-logo{width:138px;height:50px}header nav{gap:10px 12px}header nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact research index — title, platform and source-confirmed severity */
.writeup-table{border:1px solid #36383b;border-radius:8px;overflow:hidden;background:#111214;margin-top:18px}
.writeup-table-head,.writeup-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,190px) 140px;align-items:center;column-gap:22px}
.writeup-table-head{padding:15px 24px;border-bottom:1px solid #3a3c40;background:#191b1e;color:#aeb0b4;font:12px 'IBM Plex Mono',monospace;letter-spacing:.045em;text-transform:uppercase}
.results{display:block;margin:0;animation:none}
.writeup-row{padding:20px 24px;border-bottom:1px solid #303235;transition:background .2s ease}
.writeup-row:last-child{border-bottom:0}
.writeup-row:hover{background:#1b1d20}
.writeup-main{min-width:0}
.writeup-title{font:500 19px/1.45 'Space Grotesk',sans-serif;letter-spacing:-.02em;margin:0 0 7px}
.writeup-title a{color:#ededeb;text-decoration:none}
.writeup-title a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.writeup-details{display:flex;flex-wrap:wrap;gap:8px 18px;font:12px/1.6 'IBM Plex Mono',monospace;color:#989b9e}
.writeup-platform{font-size:14px;color:#c9cbce;overflow-wrap:anywhere}
.severity-pill{display:inline-block;min-width:100px;text-align:center;padding:7px 10px;border:1px solid #4c4e52;border-radius:5px;font:12px/1.4 'IBM Plex Mono',monospace;color:#aeb0b3}
.severity-critical{color:#ffb8b8;border-color:#a65d5d;background:#5b22222c}
.severity-high{color:#ffcaac;border-color:#a77a59;background:#5b37222c}
.severity-medium{color:#f0dfae;border-color:#918252;background:#59502b2c}
.severity-low{color:#b9dbbe;border-color:#547a5c;background:#27472e2c}
@media(max-width:760px){.writeup-table-head,.writeup-row{grid-template-columns:minmax(0,1fr) 110px 100px;gap:12px}.writeup-table-head{padding:13px 16px;font-size:10px}.writeup-row{padding:17px 16px}.writeup-title{font-size:17px}.writeup-platform{font-size:12px}.severity-pill{min-width:0;width:100%;font-size:11px;padding:7px 5px}}
@media(max-width:520px){.writeup-table-head{display:none}.writeup-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.writeup-main{grid-column:1/-1}.writeup-platform{grid-column:1}.writeup-platform::before{content:"Platform: ";color:#8f9295}.writeup-severity{grid-column:2;grid-row:2}.writeup-title{font-size:18px}.writeup-details{font-size:11px}.severity-pill{width:auto;min-width:90px}}

/* Research topic tabs */
.category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 27px}
.category-tab{font:600 14px 'DM Sans',sans-serif;color:#bcbec1;background:#17191b;border:1px solid #424449;border-radius:6px;padding:11px 17px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.category-tab:hover{border-color:#aaa;transform:translateY(-2px);background:#232529}
.category-tab.active{color:#111;background:#ededeb;border-color:#ededeb}
.category-tab:focus-visible{outline:2px solid #ddd;outline-offset:3px}
@media(max-width:640px){.category-tabs{gap:8px;margin-bottom:22px}.category-tab{font-size:13px;padding:10px 12px}}

/* Homepage-matched full-width footer across every section */
body>footer.footer{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:32px 0;border-top:1px solid #28292b;background:#0e0f10;color:#87898d;font:13px/1.65 'IBM Plex Mono',monospace}
body>footer.footer .wrap{width:min(calc(100% - 88px),1240px);max-width:1240px;margin:0 auto;padding:0}
body>footer.footer .footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
body>footer.footer .footer-inner>div{display:flex;align-items:center;flex-wrap:wrap;gap:0}
body>footer.footer a{color:#b4b5b7;text-decoration:none;margin-left:18px;font:inherit;transition:color .2s}
body>footer.footer a:hover{color:#fff}
body>footer.footer #updated[hidden]{display:none}
@media(max-width:1024px){body>footer.footer .wrap{width:calc(100% - 56px)}}
@media(max-width:640px){body>footer.footer .wrap{width:calc(100% - 36px)}body>footer.footer .footer-inner{align-items:flex-start}body>footer.footer a{margin:0 14px 0 0}}

/* Mobile navigation drawer shared with the homepage. */
.mobile-menu-toggle,.mobile-nav,.mobile-nav-backdrop{display:none}
@media(max-width:760px){
 body>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px}
 body>header>nav[aria-label="Main navigation"]{display:none!important}
 .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:45px;height:45px;flex:none;border:1px solid #414348;border-radius:7px;background:#17191b;color:#eee;position:relative;z-index:12}
 .mobile-menu-toggle span{width:21px;height:2px;background:currentColor;border-radius:2px}
 .mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#000b;z-index:19}
 body>header .mobile-nav{display:flex;position:fixed;right:0;top:0;bottom:0;width:min(82vw,330px);max-width:none;padding:82px 25px 30px;flex-direction:column;gap:0;background:#131517;border-left:1px solid #34363a;z-index:20;transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility .25s;box-shadow:-12px 0 40px #0008;overflow-y:auto}
 body>header .mobile-nav.is-open{transform:translateX(0);visibility:visible}
 body>header .mobile-nav a{padding:17px 7px;border-bottom:1px solid #34363a;color:#e6e6e5;font:500 19px 'Space Grotesk',sans-serif}
 body>header .mobile-nav a:hover,body>header .mobile-nav a[aria-current="page"]{color:#fff}
 .mobile-nav-close{position:absolute;right:22px;top:20px;width:40px;height:40px;background:#222428;color:#fff;border:1px solid #46484c;border-radius:6px;font-size:27px;line-height:1}
 body.nav-drawer-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.mobile-nav{transition:none}}
