@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{font-family:"DM Sans",sans-serif;color:#202b43;background:#f4f6fa;font-size:16px;--navy:#293473;--green:#08715e;--muted:#59677b;--line:#dfe4ec}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #16a18a;outline-offset:3px}header{display:flex;align-items:center;gap:32px;padding:22px 4vw;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:Manrope,sans-serif;font-weight:800;font-size:20px}.mark{display:grid;place-items:center;background:var(--navy);color:#c4efe1;width:42px;height:42px;border-radius:10px;font-size:24px}.brand small{font-size:10px;letter-spacing:2px;margin-top:3px}.project{margin-left:auto;font-size:11px;letter-spacing:1.1px;font-weight:700}.project span{display:block;letter-spacing:0;font-size:14px;font-weight:400;margin-top:5px}.sample{background:#e7f2ed;color:#1d604f;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:600}main{max-width:1460px;margin:auto;padding:38px 4vw}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#68768c}.title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:14px 0 28px}h1{font-family:Manrope,sans-serif;font-size:clamp(25px,2.5vw,36px);letter-spacing:-1px;line-height:1.25;margin:0}p{color:var(--muted);line-height:1.6;margin:8px 0}button{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:6px;color:inherit;font-weight:600}.primary{background:var(--navy);border-color:var(--navy);color:#fff;white-space:nowrap}nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px}nav button{background:none;border:0;border-radius:0;padding:14px 0;border-bottom:3px solid transparent;color:var(--muted)}nav button.active{color:var(--navy);border-bottom-color:var(--navy)}.workspace{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px}h2{font-family:Manrope,sans-serif;font-size:22px;margin:0}.section-head p{font-size:14px}label{font-size:13px;font-weight:600;color:var(--muted)}select{display:block;border:1px solid #cbd3df;border-radius:6px;padding:10px 32px 10px 12px;margin-top:6px;color:#202b43;background:#fff;min-width:190px}.notice{padding:12px 28px;background:#f1f5fb;border-block:1px solid var(--line);font-size:14px;color:#4c5b76}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:12px;letter-spacing:.3px;color:#64738a;background:#fafbfc;padding:15px 28px}td{padding:22px 28px;border-top:1px solid #edf0f5;font-size:15px}small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.score{font-weight:700;font-size:22px;color:var(--green)}footer{font-size:12px;color:var(--muted);padding:24px 0;line-height:1.6}.skip{position:absolute;left:8px;top:-60px}.skip:focus{top:8px;background:#fff;padding:10px;z-index:100}@media(max-width:700px){header{gap:16px;flex-wrap:wrap;padding:18px}.project{display:none}.sample{margin-left:auto;font-size:11px}main{padding:25px 18px}.title-row{align-items:flex-start;flex-direction:column}nav{gap:20px;overflow-x:auto}nav button{white-space:nowrap;font-size:14px}.section-head{align-items:flex-start;flex-direction:column;padding:20px}th,td{padding:16px}h1{font-size:29px}}button:disabled{opacity:.4;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:0 28px 28px;gap:0}.metrics>div{border:1px solid var(--line);padding:20px;border-right:0}.metrics>div:first-child{border-radius:8px 0 0 8px}.metrics>div:last-child{border-right:1px solid var(--line);border-radius:0 8px 8px 0}.metrics span{font-size:13px;color:var(--muted)}.metrics strong{display:block;font-family:Manrope,sans-serif;font-size:32px;line-height:1.2;margin:9px 0;color:#273750}.metrics small{font-size:12px;line-height:1.5}.metrics .accent{background:#eef7f4}.metrics .accent strong{color:var(--green)}.insight{margin:0 28px 28px;display:flex;align-items:center;gap:14px;padding:18px 20px;background:#eef2fc;border-left:3px solid #6673ba;border-radius:0 6px 6px 0}.insight-icon{color:var(--navy);font-size:30px}.insight p{font-size:14px;margin:5px 0 0}.text-btn{border:0;background:transparent;color:var(--navy);font-size:13px;white-space:nowrap;padding:8px}.insight .text-btn{margin-left:auto}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:14px;padding:0 28px 20px}input[type=search]{display:block;margin-top:6px;border:1px solid #cbd3df;border-radius:6px;padding:11px 12px;width:100%;font-size:14px;min-height:44px}.filters select{min-width:0;width:100%;font-size:14px;min-height:44px}.table-tools{border-top:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;gap:22px;font-size:13px}.check{display:flex;align-items:center;gap:8px;font-size:13px}.check input{width:17px;height:17px;accent-color:var(--navy)}.inline{display:flex;align-items:center;gap:8px;margin-left:auto}.inline select{display:inline-block;margin:0;min-width:70px;padding:6px;font-size:13px}.record{padding:0;border:0;color:var(--navy);background:none;font-size:14px;text-align:left}.record span{margin-left:5px;color:#7b859d}td{padding-top:17px;padding-bottom:17px;font-size:14px}.score-line{display:flex;align-items:center;gap:12px}.score-line strong{width:25px;color:#263c6b;font-size:18px}.score-track{height:5px;width:76px;background:#e7ecf1;border-radius:9px;overflow:hidden}.score-track i{display:block;height:100%;background:#2f8a78}.pill{display:inline-block;padding:5px 9px;background:#f0f2f6;border-radius:5px;font-size:12px;color:#56627a;white-space:nowrap}.pill.selected{background:#e3f3ed;color:#12664e}.pill.blocked{background:#fff0df;color:#8b551d}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:10px}.pagination button{padding:5px 10px}.empty{text-align:center;padding:50px}.segment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:28px}.segment-card{border:1px solid var(--line);border-radius:8px;padding:23px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.segment-count{font-size:30px;font-family:Manrope,sans-serif;color:var(--navy);font-weight:700}h3{font-size:18px;line-height:1.45;margin:14px 0 8px;font-family:Manrope,sans-serif}.segment-card p{font-size:14px;min-height:42px}.segment-stat{padding:14px 0;font-size:14px;color:var(--muted)}.segment-stat strong{color:var(--green);font-size:22px;margin-right:5px}.segment-card button{width:100%;margin-top:12px;text-align:left;font-size:14px;color:var(--navy)}.method-note{margin:0 28px 28px;border-top:1px solid var(--line);padding-top:15px}.method-note p{font-size:14px}.validation-grid{display:grid;grid-template-columns:1.6fr 1fr;padding:0 28px 28px;gap:28px}.validation-grid h3{font-size:17px}.chart-panel{min-width:0}.chart-panel p,.model-card p{font-size:13px}.legend{font-size:11px;white-space:nowrap;color:var(--muted)}.legend i{display:inline-block;height:9px;width:9px;border-radius:2px;background:#4c7baf;margin-right:5px}.bar-chart{display:grid;grid-template-columns:repeat(10,1fr);gap:9px;border-bottom:1px solid var(--line);padding:20px 0 0;margin:12px 0 20px}.bar-col{text-align:center;font-size:11px;color:var(--muted)}.bar-space{height:170px;display:flex;align-items:flex-end;margin-top:10px}.bar-space i{display:block;width:100%;min-height:2px;background:#4877a5;border-radius:4px 4px 0 0}.bar-col:first-child i,.bar-col:nth-child(2) i{background:#208477}.bar-col strong{display:block;padding:12px 0;font-size:11px}.model-card{background:#f5f7fb;border:1px solid var(--line);border-radius:8px;padding:22px}.model-card dl{margin-bottom:0}.model-card dt{font-size:12px;color:var(--muted);margin-top:17px;font-weight:700}.model-card dd{margin:4px 0 0;font-size:14px;line-height:1.55}.workspace:has(.validation-grid) .metrics{padding-top:24px}summary{cursor:pointer;font-size:14px;color:var(--navy);padding:12px 0;font-weight:600}details table th,details table td{padding:10px;font-size:12px}.readiness-head{display:flex;gap:18px;align-items:center;padding:0 28px 24px}.readiness-icon{background:#e4f3ee;color:#19755a;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:26px;flex-shrink:0}.readiness-head h3{margin-top:0}.readiness-head p{font-size:14px}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 28px 28px}.quality-grid article{border:1px solid var(--line);border-radius:7px;padding:20px}.quality-grid strong{font-size:30px;font-family:Manrope,sans-serif;color:var(--navy)}.quality-grid p{font-size:14px}.quality-grid h3{font-size:16px}.flow{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0}.flow li{background:#f1f4f9;border:1px solid var(--line);border-radius:5px;padding:16px;position:relative}.flow strong{font-size:14px;display:block;color:var(--navy)}.flow span{font-size:12px;color:var(--muted);display:block;margin-top:6px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#20334d;color:white;box-shadow:0 8px 40px #20334d33;border-radius:8px;padding:16px 23px;font-size:14px;max-width:90vw;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:12px;box-shadow:0 30px 100px #17264455;width:min(600px,calc(100% - 32px));max-height:90vh;padding:28px;color:#202b43;overflow:auto}dialog::backdrop{background:#17264477}.detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.detail-top button{font-size:25px;border:0;padding:0 7px}.detail-score{display:flex;align-items:center;gap:22px;padding:20px 0}.detail-score>strong{font-family:Manrope,sans-serif;font-size:48px;color:var(--green)}.detail-score>strong span{font-size:18px;color:#758399}.detail-score>div{font-size:15px;font-weight:600}.detail-score small{font-size:12px;font-weight:400}.detail-action{background:#edf6f2;padding:17px;border-radius:7px}.detail-action.warn{background:#fff4e7}.detail-action p{font-size:14px;margin-bottom:0}.small-note{font-size:12px;line-height:1.5}.reasons>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.reasons strong{font-size:14px}.contribution{font-size:14px;color:var(--green);font-variant-numeric:tabular-nums}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.detail-facts span{display:block;font-size:12px;color:var(--muted)}.detail-facts strong{display:block;margin-top:6px;font-size:16px}@media(max-width:1000px){.filters{grid-template-columns:1fr 1fr}.validation-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr);gap:12px}.metrics>div,.metrics>div:first-child,.metrics>div:last-child{border:1px solid var(--line);border-radius:7px}.flow{grid-template-columns:1fr 1fr}.insight .text-btn{display:none}th,td{padding-inline:18px}.project{display:none}}@media(max-width:650px){.metrics{padding:0 18px 20px;gap:9px}.metrics>div{padding:15px}.metrics strong{font-size:27px}.metrics small{font-size:11px}.metrics span{font-size:12px}.insight{margin:0 18px 20px;padding:15px}.insight-icon{display:none}.filters{padding:0 18px 18px;gap:13px}.search-label{grid-column:span 2}.filters label:last-child{grid-column:span 2}.table-tools{padding:12px 18px;flex-wrap:wrap;gap:12px}.table-tools .inline{margin-left:0}.table-tools .text-btn{margin-left:auto}.table-tools select{min-width:60px}.pagination{padding:15px;align-items:flex-start;flex-direction:column}.segment-grid,.quality-grid{grid-template-columns:1fr;padding:20px;gap:16px}.validation-grid{padding:20px;gap:20px}.method-note{margin:0 20px 20px}.readiness-head{padding:0 20px 20px}.readiness-icon{display:none}.bar-chart{gap:5px}.bar-col{font-size:9px}.flow{grid-template-columns:1fr}.section-head label,.section-head select{width:100%}.brand{font-size:17px}.sample{font-size:10px;padding:6px 8px}.table-wrap table{min-width:750px}.notice{font-size:12px;padding:14px 20px}.chart-panel .card-top{flex-wrap:wrap}dialog{padding:22px}.detail-score{gap:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{header,.title-row button,nav,.filters,.table-tools,footer,button{display:none!important}main{padding:0}.workspace{border:0}.table-wrap{overflow:visible}td{font-size:11px;padding:8px}.metrics strong{font-size:22px}}
/* The ontology lab exposes both the semantic model and executable evidence. */
.ontology-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 28px 22px}.ontology-intro h3{font-size:24px;margin-top:8px}.ontology-intro p{max-width:670px}.ontology-link,.evidence-links a{color:var(--navy);font-size:14px;font-weight:700}.ontology-proof{display:flex;gap:14px;align-items:center;padding:18px 22px;margin:0 28px 24px;background:#eaf5f0;border:1px solid #cbe4d9;border-radius:8px}.ontology-proof p{font-size:14px;margin:4px 0 0}.proof-check{color:var(--green);font-size:28px}.ontology-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin:0 28px 32px}.ontology-graph{background:#f3f5fb;border:1px solid var(--line);border-radius:8px;padding:24px 18px}.graph-tier{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.entity-node{text-align:left;min-height:80px;border:1px solid #cbd4e4;box-shadow:0 3px 6px #20334d06;padding:14px 12px}.entity-node span{font-size:14px;display:block}.entity-node small{font-size:12px;font-weight:400}.entity-node.selected{border:2px solid #5266ab;background:#eef0fc}.graph-center{max-width:230px;margin:auto}.graph-center button{width:100%;background:var(--navy);color:white}.graph-center small{color:#dbe2ff}.graph-connector{text-align:center;font-size:12px;color:#596a85;padding:21px 0;line-height:1.5}.graph-bottom{grid-template-columns:1fr auto 1fr;align-items:center}.graph-arrow{font-size:12px;color:#68748a}.ontology-detail{padding:23px;background:#fafbfd;border:1px solid var(--line);border-radius:8px}.ontology-detail p{font-size:14px}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:13px;line-height:1.7;background:#172942;color:#d8f0ed;border-radius:7px;padding:18px;margin:14px 0}code{font-family:monospace;font-size:14px}.scenario-block{border-top:1px solid var(--line);padding-top:26px}.scenario-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 28px}.scenario-title h3{font-size:22px;margin:0}.scenario-title p{font-size:14px}.scenario-controls{display:flex;flex-wrap:wrap;gap:10px;padding:18px 28px}.scenario-controls button{font-size:14px;font-weight:500}.scenario-controls button.chosen{background:var(--navy);color:white;border-color:var(--navy)}.scenario-result{display:flex;gap:20px;align-items:center;padding:18px 22px;margin:0 28px 24px;border-left:4px solid #278267;background:#edf8f2}.scenario-result strong{font-size:17px;min-width:180px;color:#155641}.scenario-result span{font-size:14px;line-height:1.6}.scenario-result.held{background:#fff5e7;border-color:#bd7326}.scenario-result.held strong{color:#844e17}.lineage-steps{display:flex;gap:18px;justify-content:space-between;margin:0 28px 16px;font-size:13px;font-weight:700;color:#526480}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 28px;gap:18px;background:#f7f9fc}.feature-strip span{font-size:13px;color:var(--muted)}.feature-strip strong{display:block;font-size:28px;font-family:Manrope,sans-serif;color:var(--navy);margin:8px 0}.feature-strip small{line-height:1.5}.ontology-output{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:24px 28px}.ontology-output p{font-size:14px}.ontology-output button{margin-top:10px}.ontology-output pre{margin:0}.execution-proof{margin:0 28px 28px;border-top:1px solid var(--line);padding-top:8px}.execution-proof summary{font-size:16px;padding:16px 0}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.proof-grid p{font-size:14px}.evidence-links{display:flex;flex-wrap:wrap;gap:22px;padding:12px 0 20px}.ontology-detail pre{font-size:13px}.ontology-intro a{white-space:nowrap}@media(max-width:950px){.ontology-layout,.ontology-output{grid-template-columns:1fr}.ontology-intro{align-items:flex-start;flex-direction:column}.scenario-title{align-items:flex-start;flex-direction:column}.scenario-result{align-items:flex-start;flex-direction:column;gap:6px}.feature-strip{grid-template-columns:1fr 1fr}.lineage-steps{flex-wrap:wrap}}@media(max-width:600px){.ontology-intro,.ontology-layout,.ontology-proof,.scenario-result,.execution-proof{margin-left:18px;margin-right:18px}.ontology-graph{padding:20px 12px}.entity-node{padding:10px 8px}.entity-node span{font-size:13px}.entity-node small{font-size:12px}.graph-tier{gap:7px}.graph-arrow{font-size:11px}.scenario-controls,.scenario-title,.ontology-output,.feature-strip{padding-left:18px;padding-right:18px}.proof-grid{grid-template-columns:1fr}.lineage-steps{margin-inline:18px}.ontology-output pre{font-size:12px}.ontology-intro h3{font-size:22px}}[hidden]{display:none!important}

