@import url('fonts.css');
:root{--bg:#f6f8fa;--ink:#192b40;--muted:#5c6d7f;--accent:#265c98;--line:#d9e1e9;--soft:#eaf0f6;--dark:#142b45;--pale:#bedcfa;--serif:'Manrope',sans-serif}.safe-sora{--bg:#f9f7fa;--ink:#30253e;--muted:#72647d;--accent:#75519a;--line:#e4dce9;--soft:#f0eaf5;--dark:#30203f;--pale:#dfc7f3}body{font-family:'DM Sans',sans-serif}.nav{max-width:none;height:76px;position:sticky;top:0;z-index:10;background:var(--bg);padding:0 max(32px,calc((100vw - 1096px)/2));gap:24px}.brand{font:800 16px 'Manrope',sans-serif;letter-spacing:-.6px;white-space:nowrap}.brand-symbol{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--dark);color:var(--pale);font-size:22px}.nav-links{font-size:14px;gap:27px;margin:auto}.nav-paper{border:0;padding:0;font-size:14px}.nav a:hover{color:var(--accent)}main{max-width:1160px;padding:0 32px}.hero{max-width:none;padding:70px 0 0}.hero-meta{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.08em;gap:10px}.hero-meta:before{content:'';width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--soft)}.venue{border:0;border-radius:0;background:none;padding:0}.hero h1{font:800 clamp(34px,3.8vw,55px)/1.18 'Manrope',sans-serif;letter-spacing:-.052em;color:var(--ink);margin:25px -10px 0}.hero h1 span{color:var(--accent)}.safe-sora .hero h1{font-size:clamp(34px,4vw,57px)}.hero-summary{font-size:20px;line-height:1.6;color:var(--muted);margin:25px 0 30px;letter-spacing:-.025em}.authors{font-size:16px;line-height:1.95;max-width:980px}.authors a{border:0}.authors>a:first-child{color:var(--accent)}.author-names{word-spacing:5px}.author-affiliations{font-size:13px;margin-top:16px;line-height:1.8}.actions{margin-top:29px;margin-bottom:48px;gap:12px}.button{background:transparent;padding:11px 18px;font-size:14px;gap:14px;border-radius:8px}.button.primary{background:var(--dark);border-color:var(--dark)}.text-link{font-size:14px;font-weight:600;color:var(--ink)}.highlights{display:grid;grid-template-columns:repeat(3,1fr);padding:29px 0 35px;border-top:1px solid var(--line)}.highlights>div+div{border-left:1px solid var(--line)}.highlights strong{font:700 32px/1.3 'Manrope',sans-serif;letter-spacing:-1.5px}.highlights p{font-size:14px;font-weight:600;margin:7px 0 2px}.highlights small{font-size:11px;color:var(--muted)}.feature{margin:44px calc((1096px - 100vw)/2) 0;padding:45px max(32px,calc((100vw - 1096px)/2)) 40px;background:var(--dark);border:0;border-radius:0;box-shadow:none;color:white;overflow:visible}.feature-label{border-color:#ffffff26;color:#ffffffa8;letter-spacing:.08em;font-size:11px}.feature-label span:first-child{color:var(--pale)}.feature h2{text-align:left;font:750 36px/1.2 'Manrope',sans-serif;letter-spacing:-.045em;margin-top:26px}.feature>p{text-align:left;color:#d2d9e6;font-size:15px;margin:14px 0 28px}.feature .hero-figure{padding:22px 22px 0;border-radius:9px;overflow:hidden;margin-top:26px}.feature .hero-figure figcaption{color:#536678;padding:14px 0;text-align:left;border-top:1px solid #e3e8ed;margin-top:16px;font-size:12px}.section{padding-top:78px;padding-bottom:0}.section-heading{display:block;margin-bottom:32px}.section-index{display:block;font-size:12px;letter-spacing:.1em;font-weight:700;margin-bottom:14px;padding:0}.section-heading h2{font:750 37px/1.2 'Manrope',sans-serif;letter-spacing:-.045em;max-width:760px}.abstract{grid-template-columns:150px 1fr;padding:32px 0}.abstract p{font-size:16px;line-height:1.85}.small-label{font-size:13px}#overview{display:grid;grid-template-columns:1fr 1.15fr;gap:35px 60px;border-bottom:1px solid var(--line);padding-bottom:65px}#overview .section-heading{margin:0}#overview .section-heading h2{font-size:35px}#overview .abstract{display:block;border:0;padding:0}#overview .abstract .small-label{display:none}#overview .figure{grid-column:1/-1;margin:0}.figure{border-radius:9px;padding:25px 22px 0;overflow:hidden}.figure figcaption{border-top:1px solid var(--line);padding:15px 0 19px;margin-top:20px;font-size:12px}.figure figcaption b{color:var(--ink)}.demo .example-tabs{justify-content:flex-start;margin-bottom:28px}.example-tabs button{border-color:#ffffff40;color:#dfd3e9}.example-tabs button[aria-selected=true]{background:var(--pale);color:var(--dark);border-color:var(--pale)}.demo-columns{padding:22px;background:#160f22;border:1px solid #ffffff25;border-radius:9px;gap:24px}.triplet,.media-caption{color:#d2c4dd}.demo-columns video{background:#160f22}.feature .demo-note{border-color:#ffffff26;color:#cbbfd7;font-size:12px}.demo-note b{color:#fff}#results{background:var(--soft);margin:80px calc((1096px - 100vw)/2) 0;padding:70px max(32px,calc((100vw - 1096px)/2));border-block:1px solid var(--line)}.tabs{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:7px;gap:4px}.tabs button{border:0;border-radius:4px;padding:8px 20px;font-size:14px}.tabs button[aria-selected=true]{background:var(--dark)}#results .figure:last-child{margin-bottom:0}#citation{display:grid;grid-template-columns:1fr 1.7fr;gap:55px;padding-top:80px}.citation{background:#fff;min-width:0}.citation pre{font-size:12px}.section-index:after{content:' / Research';letter-spacing:.08em}#method .section-index:after{content:' / Method'}#results .section-index:after{content:' / Results'}#citation .section-index:after{content:' / Resources'}footer{max-width:1096px}.skip{z-index:20}@media(max-width:1160px){.feature,#results{margin-left:-32px;margin-right:-32px}}@media(max-width:800px){.nav{padding:0 24px}.nav-links{font-size:12px;gap:18px}.hero{padding-top:45px}.hero h1,.safe-sora .hero h1{font-size:40px;margin-inline:0}.hero-summary{font-size:18px}.authors{font-size:14px}.author-affiliations{font-size:12px}.highlights strong{font-size:25px}.feature{padding:35px 32px}.feature h2{font-size:31px}.demo-columns{grid-template-columns:1fr}#overview{grid-template-columns:1fr;gap:24px}#overview .section-heading h2{font-size:30px}.section-heading h2{font-size:31px}#results{padding:50px 32px}#citation{grid-template-columns:1fr;gap:20px}.section{padding-top:55px}.abstract p{font-size:15px}}@media(max-width:480px){main{padding:0 20px}.nav{min-height:74px;height:auto;flex-wrap:wrap;padding:12px 20px;gap:8px}.brand{font-size:14px}.brand-symbol{width:26px;height:26px;font-size:19px}.nav-links{width:100%;justify-content:space-between;margin:0}.nav-links a:first-child,.nav-links a:last-child{display:block}.hero-meta{font-size:9px;letter-spacing:.02em;gap:7px}.hero h1,.safe-sora .hero h1{font-size:33px;line-height:1.22;letter-spacing:-.05em}.hero h1 br{display:none}.hero h1 br:after{content:' '}.hero-summary{font-size:16px;margin:22px 0}.authors{font-size:13px;line-height:1.85}.author-affiliations{font-size:11px}.actions{margin-bottom:30px}.text-link{font-size:12px}.highlights{gap:8px;padding:24px 0}.highlights strong{font-size:19px;letter-spacing:-.9px}.highlights p{font-size:11px;line-height:1.5}.highlights small{font-size:9px;display:block;line-height:1.6}.highlights>div+div{padding-left:8px}.feature,#results{margin-left:-20px;margin-right:-20px;padding:32px 20px}.feature{margin-top:20px}.feature h2{font-size:28px}.feature>p{font-size:13px}.feature .hero-figure{padding:15px 10px 0}.figure{padding:20px 12px 0}.section-heading h2,#overview .section-heading h2{font-size:28px}.feature-label{font-size:9px}.demo-columns{padding:12px;gap:24px}.triplet{font-size:8px}.tabs{display:flex;gap:3px}.tabs button{font-size:10px;padding:8px 9px}.section{padding-top:48px}#results{margin-top:50px}.citation pre{font-size:10px}#citation{padding-top:50px}.citation{padding-inline:15px}}

/* Safe-Sora: keep the long abstract below its heading. */
.safe-sora #overview{grid-template-columns:1fr 1.15fr;gap:35px 60px}
.safe-sora #overview .abstract p{max-width:none}

/* Brief project introduction, matching the reference page. */
.idea-label{display:block;font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--accent);margin-bottom:18px}
#overview .abstract p+p{margin-top:18px}
.abstract-link{display:inline-block;font-size:14px;font-weight:600;color:var(--accent);border-bottom:1px solid var(--line);margin-top:22px;padding-bottom:2px}
@media(max-width:800px){.safe-sora #overview{grid-template-columns:1fr;gap:24px}}
/* Match Routed Forcing author and affiliation typography. */
.authors{font-size:16px;line-height:1.65}
.author-affiliations{font-size:14px;line-height:1.8}
.author-names{word-spacing:5px}
.authors sup{font-size:10px;line-height:0}
@media(max-width:640px){
 .authors{font-size:14px;line-height:1.8}
 .author-affiliations{font-size:12px;line-height:1.8}
}
