/* Corvion public system specification v1.1.0 */
:root { color-scheme: dark; }
body:has(.corvion-spec) { margin: 0; background: #080a0d; }
.corvion-spec [hidden] { display: none !important; }
.corvion-spec {
  --cs-bg: #080a0d;
  --cs-panel: #101318;
  --cs-panel-2: #151920;
  --cs-line: rgba(255,255,255,.09);
  --cs-line-strong: rgba(255,255,255,.16);
  --cs-text: #f4f7f8;
  --cs-muted: #9ca7ad;
  --cs-dim: #6f7a80;
  --cs-green: #69e0b4;
  --cs-blue: #72aef8;
  min-height: 100vh;
  color: var(--cs-text);
  background: radial-gradient(circle at 76% 0, rgba(57,111,171,.15), transparent 32rem), radial-gradient(circle at 8% 18%, rgba(67,177,136,.1), transparent 28rem), var(--cs-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.corvion-spec * { box-sizing: border-box; }
.corvion-spec button, .corvion-spec input { font: inherit; }
.corvion-spec-hero { max-width: 1500px; margin: 0 auto; padding: 32px clamp(20px,5vw,76px) 46px; border-bottom: 1px solid var(--cs-line); }
.corvion-spec-hero-copy { max-width: 960px; margin-top: 66px; }
.corvion-spec-kicker, .corvion-spec-panel > header > span, .corvion-spec-section-title > span { color: var(--cs-green); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.corvion-spec-hero h1 { max-width: 940px; margin: 14px 0 0; font-size: clamp(42px,6vw,78px); line-height: 1.02; letter-spacing: -.045em; }
.corvion-spec-hero-copy > p { max-width: 900px; margin: 24px 0 0; color: var(--cs-muted); font-size: clamp(17px,2vw,22px); line-height: 1.62; }
.corvion-spec-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.corvion-spec-meta span { display:flex; align-items:center; gap:8px; min-height:38px; padding:0 13px; border:1px solid var(--cs-line); border-radius:999px; color:var(--cs-muted); background:rgba(255,255,255,.025); font-size:12px; }
.corvion-spec-meta b { color:var(--cs-text); }
.corvion-spec-toolbar { position:sticky; top:0; z-index:20; display:flex; gap:12px; align-items:flex-end; max-width:1500px; margin:0 auto; padding:14px clamp(20px,5vw,76px); border-bottom:1px solid var(--cs-line); background:rgba(8,10,13,.88); backdrop-filter:blur(20px); }
.corvion-spec-toolbar label { flex:1; display:grid; gap:6px; }
.corvion-spec-toolbar label span { color:var(--cs-dim); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.corvion-spec-toolbar input { width:100%; height:42px; padding:0 14px; border:1px solid var(--cs-line); border-radius:10px; outline:none; color:var(--cs-text); background:rgba(255,255,255,.035); }
.corvion-spec-toolbar input:focus { border-color:rgba(114,174,248,.56); box-shadow:0 0 0 3px rgba(114,174,248,.1); }
.corvion-spec-toolbar button, .corvion-spec-panel footer button { min-height:42px; padding:0 15px; border:1px solid var(--cs-line-strong); border-radius:10px; color:var(--cs-text); background:rgba(255,255,255,.05); cursor:pointer; }
.corvion-spec-toolbar .corvion-spec-back { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.corvion-spec-toolbar .corvion-spec-back span { color:var(--cs-green); font-size:18px; line-height:1; }
.corvion-spec-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:34px; max-width:1500px; margin:0 auto; padding:34px clamp(20px,5vw,76px) 72px; }
.corvion-spec-nav { position:sticky; top:90px; align-self:start; display:grid; gap:4px; max-height:calc(100vh - 112px); overflow:auto; padding-right:8px; }
.corvion-spec-nav button { display:grid; gap:3px; width:100%; padding:12px 14px; border:1px solid transparent; border-radius:10px; color:var(--cs-muted); background:transparent; text-align:left; cursor:pointer; }
.corvion-spec-nav button:hover { color:var(--cs-text); background:rgba(255,255,255,.035); }
.corvion-spec-nav button.is-active { border-color:rgba(105,224,180,.2); color:var(--cs-text); background:rgba(105,224,180,.075); }
.corvion-spec-nav button span { color:var(--cs-dim); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.corvion-spec-nav button strong { font-size:13px; }
.corvion-spec-content { min-width:0; }
.corvion-spec-legend { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px; }
.corvion-spec-legend button, .corvion-spec-status { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid var(--cs-line); border-radius:999px; color:var(--cs-muted); background:rgba(255,255,255,.025); font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.corvion-spec-legend button { cursor:pointer; transition:border-color .16s ease, color .16s ease, background .16s ease, transform .16s ease; }
.corvion-spec-legend button:hover { color:var(--cs-text); transform:translateY(-1px); }
.corvion-spec-legend button.is-active { border-color:rgba(255,255,255,.34); color:var(--cs-text); background:rgba(255,255,255,.11); box-shadow:0 0 0 2px rgba(255,255,255,.035); }
.corvion-spec-legend .is-available, .corvion-spec-status.is-available { border-color:rgba(105,224,180,.3); color:#9aefce; background:rgba(105,224,180,.08); }
.corvion-spec-legend .is-pilot, .corvion-spec-status.is-pilot { border-color:rgba(114,174,248,.3); color:#9bc7fa; background:rgba(114,174,248,.08); }
.corvion-spec-legend .is-foundation, .corvion-spec-status.is-foundation { border-color:rgba(231,190,104,.3); color:#ebcb87; background:rgba(231,190,104,.08); }
.corvion-spec-legend .is-roadmap, .corvion-spec-status.is-roadmap { border-color:rgba(190,146,242,.3); color:#cdb0f1; background:rgba(190,146,242,.08); }
.corvion-spec-legend button.is-available.is-active { border-color:#69e0b4; background:rgba(105,224,180,.17); }
.corvion-spec-legend button.is-pilot.is-active { border-color:#72aef8; background:rgba(114,174,248,.17); }
.corvion-spec-legend button.is-foundation.is-active { border-color:#e7be68; background:rgba(231,190,104,.17); }
.corvion-spec-legend button.is-roadmap.is-active { border-color:#be92f2; background:rgba(190,146,242,.17); }
.corvion-spec-panel { animation:cs-panel-in .2s ease both; }
@keyframes cs-panel-in { from { opacity:0; transform:translateY(5px); } }
.corvion-spec-panel > header { padding:clamp(24px,4vw,52px); border:1px solid var(--cs-line); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); }
.corvion-spec-panel h2 { max-width:980px; margin:12px 0 0; font-size:clamp(34px,4.5vw,62px); line-height:1.06; letter-spacing:-.04em; }
.corvion-spec-panel > header p { max-width:920px; margin:20px 0 0; color:var(--cs-muted); font-size:18px; line-height:1.7; }
.corvion-spec-purpose { display:grid; grid-template-columns:100px 1fr; gap:20px; margin:18px 0 54px; padding:20px 24px; border-left:2px solid var(--cs-green); background:rgba(105,224,180,.045); }
.corvion-spec-purpose strong { color:var(--cs-green); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.corvion-spec-purpose p { margin:0; color:var(--cs-muted); line-height:1.7; }
.corvion-spec-panel > section:not(.corvion-spec-purpose) { margin-top:54px; }
.corvion-spec-section-title h3 { margin:7px 0 20px; font-size:26px; letter-spacing:-.025em; }
.corvion-spec-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.corvion-spec-card { min-height:168px; padding:20px; border:1px solid var(--cs-line); border-radius:14px; background:var(--cs-panel); }
.corvion-spec-card > div { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.corvion-spec-card h4 { margin:0; font-size:17px; }
.corvion-spec-card p { margin:16px 0 0; color:var(--cs-muted); font-size:14px; line-height:1.65; }
.corvion-spec-card-link { display:none; margin-top:18px; padding:0; border:0; color:var(--cs-blue); background:transparent; font-size:11px; font-weight:750; cursor:pointer; }
.corvion-spec-results > header { margin-bottom:20px; padding:24px; border:1px solid var(--cs-line); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); }
.corvion-spec-results > header > span { color:var(--cs-green); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.corvion-spec-results h2 { margin:7px 0 0; font-size:clamp(28px,4vw,44px); }
.corvion-spec-results header p { margin:9px 0 0; color:var(--cs-muted); }
.corvion-spec-results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.corvion-spec-card.is-search-result { min-height:200px; }
.corvion-spec-card.is-search-result .corvion-spec-card-link { display:inline-flex; }
.corvion-spec-result-context { display:block; margin-bottom:12px; color:var(--cs-dim); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.corvion-spec-flow { display:flex; gap:0; margin:0; padding:0; overflow:auto; list-style:none; }
.corvion-spec-flow li { position:relative; flex:1 0 142px; display:grid; align-content:start; gap:10px; min-height:108px; padding:16px 20px 16px 0; border-top:1px solid var(--cs-line-strong); }
.corvion-spec-flow li:not(:last-child)::after { content:""; position:absolute; right:8px; top:-4px; width:7px; height:7px; border-top:1px solid var(--cs-muted); border-right:1px solid var(--cs-muted); transform:rotate(45deg); }
.corvion-spec-flow b { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#07130e; background:var(--cs-green); font-size:10px; }
.corvion-spec-flow span { color:var(--cs-muted); font-size:12px; line-height:1.45; }
.corvion-spec-details { margin:0; border-top:1px solid var(--cs-line); }
.corvion-spec-details > div { display:grid; grid-template-columns:minmax(150px,.32fr) 1fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--cs-line); }
.corvion-spec-details dt { font-weight:750; }
.corvion-spec-details dd { margin:0; color:var(--cs-muted); line-height:1.65; }
.corvion-spec-panel footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:54px; padding-top:20px; border-top:1px solid var(--cs-line); color:var(--cs-dim); font-size:11px; }
.corvion-spec-panel footer button { min-height:36px; font-size:11px; }
.corvion-spec-no-results { display:grid; place-items:center; gap:8px; min-height:320px; border:1px dashed var(--cs-line-strong); border-radius:16px; color:var(--cs-muted); }
.corvion-spec-footer { max-width:1500px; margin:0 auto; padding:26px clamp(20px,5vw,76px) 56px; border-top:1px solid var(--cs-line); color:var(--cs-dim); }
.corvion-spec-footer strong { color:var(--cs-muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.corvion-spec-footer p { max-width:900px; margin:9px 0 0; font-size:12px; line-height:1.6; }
@media (max-width: 980px) {
  .corvion-spec-layout { grid-template-columns:1fr; padding-top:18px; }
  .corvion-spec-nav { position:sticky; top:82px; z-index:10; display:flex; max-height:none; overflow:auto; padding:6px 0 12px; background:var(--cs-bg); }
  .corvion-spec-nav button { flex:0 0 auto; width:auto; min-width:150px; }
}
@media (max-width: 680px) {
  .corvion-spec-hero { padding-bottom:32px; }
  .corvion-spec-hero-copy { margin-top:44px; }
  .corvion-spec-toolbar { align-items:stretch; flex-direction:column; }
  .corvion-spec-toolbar button { min-height:38px; }
  .corvion-spec-toolbar .corvion-spec-back { align-self:flex-start; }
  .corvion-spec-card-grid { grid-template-columns:1fr; }
  .corvion-spec-results-grid { grid-template-columns:1fr; }
  .corvion-spec-purpose, .corvion-spec-details > div { grid-template-columns:1fr; gap:9px; }
  .corvion-spec-panel > header { border-radius:14px; }
  .corvion-spec-panel > header p { font-size:16px; }
  .corvion-spec-panel footer { align-items:flex-start; flex-direction:column; }
}
@media print {
  :root { color-scheme:light; }
  body:has(.corvion-spec), .corvion-spec { color:#111; background:#fff; }
  .corvion-spec-toolbar, .corvion-spec-nav, .corvion-spec-legend, .corvion-spec-results, .corvion-spec-no-results, .corvion-spec-panel footer button { display:none; }
  .corvion-spec-layout { display:block; max-width:none; padding:20px; }
  .corvion-spec-panel[hidden] { display:block !important; }
  .corvion-spec-panel { break-before:page; }
  .corvion-spec-panel > header, .corvion-spec-card { color:#111; background:#fff; border-color:#bbb; box-shadow:none; }
  .corvion-spec-panel > header p, .corvion-spec-card p, .corvion-spec-details dd, .corvion-spec-purpose p { color:#333; }
}
