/* Semanovo uses Sovereign's shared type and phase colors. */
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:20px;z-index:50;transform:translateY(-180%);padding:10px 16px;background:var(--ink);color:var(--void);border-radius:6px}
.skip-link:focus{transform:translateY(0)}
.project-atmos{position:fixed;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 90% 0%,rgba(90,210,255,.12),transparent 65%),radial-gradient(55% 30% at 0% 65%,rgba(167,125,255,.04),transparent 80%)}
.project-hero,.project-section,.nextnav{position:relative;z-index:10;max-width:var(--maxw);margin:0 auto;padding-left:clamp(20px,5vw,52px);padding-right:clamp(20px,5vw,52px)}
.project-hero{padding-top:150px;padding-bottom:80px}
.hero-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:30px}
.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--ink-dim)}
.hero-meta .eyebrow{color:var(--accent)}
.project-hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(52px,8vw,92px);letter-spacing:-.04em;line-height:1.05;margin-bottom:24px}
.project-tagline{font-family:var(--font-display);font-size:clamp(30px,4.5vw,50px);line-height:1.2;margin-bottom:24px}
.project-tagline em{font-weight:400;color:var(--accent)}
.purpose{max-width:740px;font-size:clamp(16px,1.8vw,19px);line-height:1.75;color:var(--ink-dim)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:5px}
.project-facts{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:44px;padding-top:20px;border-top:1px solid var(--edge);font:11px/1.7 var(--font-mono);color:var(--ink-dim)}
.project-section{padding-bottom:88px;scroll-margin-top:105px}
.section-intro{max-width:740px;margin-bottom:32px}
h2{font-family:var(--font-display);font-size:clamp(28px,3.8vw,42px);font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:14px 0 18px}
.section-intro p,.prose p{font-size:16px;line-height:1.8;color:var(--ink-dim)}
.number{font:10px/1.6 var(--font-mono);letter-spacing:.12em;color:var(--accent)}
h3{font-family:var(--font-display);font-size:25px;line-height:1.25;font-weight:500;margin:14px 0}
.meaning-bridge{display:grid;grid-template-columns:1fr 30px 1.1fr 30px 1fr;align-items:stretch;gap:12px}
.meaning-bridge>div{border:1px solid var(--edge);border-radius:12px;padding:24px;background:var(--panel)}
.meaning-bridge .bridge-core{border-color:rgba(90,210,255,.4);background:rgba(90,210,255,.07)}
.meaning-bridge p{font-size:14px;line-height:1.8;color:var(--ink-dim)}
.bridge-arrow{align-self:center;text-align:center;font-size:26px;color:var(--accent)}
.caption{color:var(--ink-dim);font-size:12px;line-height:1.8;margin-top:18px;max-width:800px}
.creation-path{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.creation-path li{border-top:1px solid rgba(90,210,255,.3);padding-top:20px}
.creation-path h3{font-size:23px}
.creation-path p{font-size:14px;line-height:1.8;color:var(--ink-dim)}
.meaning-lab{border:1px solid var(--edge);border-radius:16px;overflow:hidden;background:var(--panel)}
.definition{padding:30px;background:rgba(90,210,255,.04);border-bottom:1px solid var(--edge)}
#definition-text{font-family:var(--font-display);font-size:clamp(23px,3vw,32px);line-height:1.4;max-width:850px;margin:12px 0 24px}
.definition fieldset{display:flex;flex-wrap:wrap;gap:14px 28px;border:0;margin-bottom:20px}
.definition legend{font:11px/1.6 var(--font-mono);letter-spacing:.03em;color:var(--ink-dim);margin-bottom:12px}
.definition label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;min-height:44px}
.definition input{accent-color:var(--accent);width:19px;height:19px;flex:none}
.definition .fixed-meaning{font-size:12px;line-height:1.8;color:var(--ink-dim)}
.situation-area{padding:26px 30px}
.result-summary{font:12px/1.8 var(--font-mono);color:var(--ink);margin-bottom:24px}
.situations{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px}
.situations li{border-top:1px solid var(--edge);padding-top:14px;display:flex;flex-direction:column;align-items:flex-start}
.situations h3{font-family:var(--font-body);font-size:15px;font-weight:500;margin:0 0 10px}
.situations p{font-size:13px;line-height:1.75;color:var(--ink-dim);margin-bottom:14px}
.result{font:11px/1.6 var(--font-mono);padding:4px 9px;border-radius:5px;background:var(--void-3);margin-top:auto;margin-bottom:8px}
[data-result="fits"] .result{color:#8bdbb2;border:1px solid rgba(139,219,178,.24)}
[data-result="outside"] .result{color:#ffa1b0;border:1px solid rgba(255,161,176,.24)}
[data-result="unknown"] .result{color:var(--ph-90);border:1px solid rgba(255,209,102,.24)}
.situations .reason{font-size:12px;margin-bottom:0}
.lab-note{padding:18px 30px;border-top:1px solid var(--edge);color:var(--ink-dim);font-size:12px;line-height:1.8}
.lab-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.split-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}
.split-section .section-intro{margin:0}
.prose p{margin-bottom:20px}
.prose strong{color:var(--ink);font-weight:500}
.native-example{border:1px solid var(--edge);border-radius:10px;padding:22px;margin:24px 0;background:var(--panel)}
.native-example code{display:block;font:clamp(21px,3vw,27px)/1.5 var(--font-mono);color:var(--accent);margin:12px 0}
.native-example p{font-size:13px;line-height:1.7;margin:0}
.play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.play-grid article{padding:30px;border:1px solid var(--edge);border-radius:12px;background:var(--panel)}
.play-grid p{font-size:15px;line-height:1.8;color:var(--ink-dim);margin-bottom:18px}
.status-label{font:10px/1.8 var(--font-mono);letter-spacing:.08em;color:var(--accent)}
.status-label.development{color:var(--ph-90)}
.recognition{padding:24px 0 0;max-width:860px}
.recognition h3{font-size:24px}
.recognition p{font-size:15px;line-height:1.8;color:var(--ink-dim)}
.prose .thesis{border-left:2px solid var(--accent);padding-left:22px;color:var(--ink);margin:28px 0 0}
.invitation{padding:clamp(24px,4vw,44px);border-radius:16px;border:1px solid rgba(90,210,255,.25);background:linear-gradient(120deg,rgba(90,210,255,.08),var(--panel))}
.invitation>p{max-width:750px;font-size:15px;line-height:1.8;color:var(--ink-dim)}
.sources h2{font:12px var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim);margin-top:0}
.sources>p{font-size:13px;line-height:1.8;color:var(--ink-dim);max-width:800px;margin-bottom:24px}
.sources ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}
.sources a{font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.sources li span:not([aria-hidden]){display:block;color:var(--ink-dim);font-size:12px;margin-top:5px}
.nextnav{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:60px}
@media(max-width:850px){
  .creation-path{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split-section{grid-template-columns:1fr;gap:22px}
  .meaning-bridge{grid-template-columns:1fr;gap:10px}
  .bridge-arrow{transform:rotate(90deg)}
}
@media(max-width:620px){
  .project-hero{padding-top:122px;padding-bottom:60px}
  .project-section{padding-bottom:60px}
  .creation-path,.situations,.play-grid,.sources ul{grid-template-columns:1fr}
  .definition,.situation-area,.play-grid article{padding:24px}
  .lab-note{padding:18px 24px}
  .nextnav .nav-next{margin-left:0}
  .nextnav .btn{max-width:100%}
}
