:root{--bg:#151515;--surface:#222222;--border:#464646;--accent:#bababa;--accent2:#cfcfcf;--text:#f5f5f5;--muted:#c3c3c3}
html{scroll-behavior:smooth;scroll-padding-top:112px}body{font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}a:focus-visible,button:focus-visible,audio:focus-visible{outline:3px solid #bababa;outline-offset:5px}.companion-nav{position:sticky;top:0;z-index:10;background:#151515f5;border-bottom:1px solid var(--border);padding:12px max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;backdrop-filter:blur(12px)}.companion-nav>a{color:var(--text);font-size:15px;font-weight:600;white-space:nowrap;min-height:44px;display:flex;align-items:center;text-decoration:none}.companion-toc{display:flex;gap:8px 20px;flex-wrap:wrap}.companion-toc a{font-size:14px;color:var(--muted);display:flex;align-items:center;min-height:44px;text-underline-offset:5px}.companion-toc a:hover{color:var(--text)}header{padding:60px 24px 44px}header h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.15;letter-spacing:-.04em;font-weight:500;max-width:22ch;margin-inline:auto;margin-bottom:18px}header .label{font-size:13px;margin-bottom:24px}header .subtitle{font-size:18px;line-height:1.6;max-width:64ch;margin-inline:auto;font-style:normal}header .authors{font-size:16px;margin-top:20px}header .venue{font-size:13px;line-height:1.8}.container{max-width:1120px;padding:48px 24px}.intro{font-size:16px;padding:22px 26px;line-height:1.75}.section-desc{font-size:16px;line-height:1.75;max-width:80ch;margin-bottom:26px}section{margin-bottom:64px}section h2{font-size:18px;letter-spacing:.03em;line-height:1.5;margin-bottom:18px}.shape-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}.card,.morph-card{min-width:0;padding:22px;border-color:var(--border);border-radius:0}.card h3,.morph-card h3{font-size:19px;line-height:1.5;margin-bottom:14px}.card p,.morph-card p{font-size:16px;line-height:1.7;margin-bottom:20px}.card .ex-id,.morph-card .ex-id{font-size:12px;margin-bottom:10px}.tag{font-size:12px;letter-spacing:0;line-height:1.5}.tag.warm{color:#bebebe;background:#bebebe12;border-color:#bebebe44}audio{height:44px;min-width:0;max-width:100%;margin-top:8px}.compare-fig,.spectrogram{border-radius:0;max-width:100%;height:auto}.morph-stack{gap:20px}footer{font-size:15px;line-height:1.7;padding:32px 24px;overflow-wrap:anywhere}footer .doi{font-size:13px}footer .back-link{display:inline-flex;align-items:center;min-height:44px;margin-top:16px}section[id]{scroll-margin-top:120px}
@media(max-width:600px){.companion-nav{padding:8px 20px;gap:0}.companion-nav>a{width:100%;font-size:15px;min-height:38px}.companion-toc{gap:0 16px}.companion-toc a{font-size:13px;min-height:36px}header{padding:36px 20px}header h1{font-size:33px}header .subtitle{font-size:17px}header .label{font-size:12px;letter-spacing:1.1px}.container{padding:32px 20px}.intro{padding:18px;font-size:16px;margin-bottom:36px}.card,.morph-card{padding:18px}.card h3,.morph-card h3{font-size:18px}.card p,.morph-card p{font-size:16px}section h2{font-size:16px}.section-desc{font-size:16px}.shape-grid{gap:18px}section[id]{scroll-margin-top:140px}}
@media(max-width:360px){.container{padding-inline:16px}.companion-nav{padding-inline:16px}.card,.morph-card{padding:16px}header h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.tag,.tag.green,.tag.warm{background:rgba(255,255,255,.06);color:#dedede;border-color:rgba(255,255,255,.25)}
