/* A and B are scoped to the separate design study; the main prototype is unchanged. */
:root[data-concept]{font-family:'Segoe UI','Microsoft YaHei UI','Microsoft YaHei',sans-serif;font-size:16px;--shadow:none;--teal-light:var(--selection)}
:root[data-concept="a"]{color-scheme:light;--bg:#f2f3f5;--paper:#fff;--ink:#202934;--muted:#54606d;--line:#cbd0d6;--teal:#006f72;--nav:#e9ecef;--surface:#f1f3f5;--surface-strong:#e9ecef;--surface-hover:#edf5f5;--input:#fff;--toolbar:#172634;--selection:#d5ebea;--accent-fill:#006f72;--chart:#fff;--text-strong:#202934;--gridline:#d3d8df}
:root[data-concept="b"]{color-scheme:dark;--bg:#10121f;--paper:#1b1e2e;--ink:#f0f2f6;--muted:#b8bdcd;--line:#3e4459;--teal:#62dec9;--nav:#141725;--surface:#24283b;--surface-strong:#2a2f43;--surface-hover:#30384b;--input:#171a29;--toolbar:#0e101c;--selection:#234944;--accent-fill:#62dec9;--chart:#171a29;--text-strong:#f0f2f6;--gridline:#3e4459}
:root[data-concept] body{font-size:14px;line-height:1.6;background:var(--bg);color:var(--ink)}
:root[data-concept] .sidebar{top:60px;width:202px;padding:17px 8px 12px;background:var(--nav);border-right:1px solid var(--line);height:calc(100vh - 88px)}
:root[data-concept] .shell{margin-left:202px;padding-top:60px}
:root[data-concept] .topbar{position:fixed;inset:0 0 auto 0;height:60px;padding:0 24px 0 20px;background:var(--toolbar);color:#f4f7fa;z-index:25;border:0;border-bottom:1px solid #40515b;gap:26px;flex-wrap:nowrap}
:root[data-concept] .topbar .concept-brand{padding:0;margin:0;min-width:210px;gap:10px}
:root[data-concept] .brandmark{background:transparent;border:1px solid #58cbbf;color:#79ddcf;border-radius:0;width:30px;height:30px;box-shadow:none}
:root[data-concept] .brand strong{color:#fff;font-size:15px;font-weight:600;letter-spacing:.5px}
:root[data-concept] .brand span{display:none}
:root[data-concept] .crumb{color:#d1dce1;flex:1;font-size:14px}
:root[data-concept] .crumb strong{color:white;font-weight:500}
:root[data-concept] .toptools{gap:15px;margin-left:auto;color:#dde4e9}
:root[data-concept] .appearance-control,:root[data-concept] .theme-reference{display:none}
:root[data-concept] .topbar select{color:#fff;background:transparent;border:1px solid #6a7783;height:32px;min-height:32px;font-size:13px}
:root[data-concept] .topbar select option{background:#172634;color:white}
:root[data-concept] .navlabel{font-size:12px;color:var(--muted);font-weight:500;padding:0;margin:20px 12px 8px;letter-spacing:.04em}
:root[data-concept] .navlabel:first-child{margin-top:0}
:root[data-concept] .navitem{border-radius:0;padding:9px 12px;color:var(--ink);font-weight:400;font-size:14px;gap:11px;min-height:39px}
:root[data-concept] .navitem:hover{background:var(--surface-hover)}
:root[data-concept] .navitem.active{color:var(--teal);background:var(--selection);box-shadow:inset 3px 0 var(--teal);font-weight:600}
:root[data-concept] .navitem .icon{opacity:.95;width:17px;height:17px}
:root[data-concept] .sidebarfooter{color:var(--muted);border-color:var(--line);font-size:12px;padding:14px 12px 0}
:root[data-concept] .sidebarfooter strong{color:var(--ink);font-size:12px}
:root[data-concept] .content{padding:25px 28px 55px;max-width:1800px;margin:auto}
:root[data-concept] h1{font-size:25px;line-height:1.35;font-weight:600;color:var(--ink)}
:root[data-concept] .pagehead{margin-bottom:20px}
:root[data-concept] .pagehead .subtitle{font-size:14px;margin-top:8px;line-height:1.6;color:var(--muted)}
:root[data-concept] button,:root[data-concept] input,:root[data-concept] select,:root[data-concept] textarea{font-family:inherit}
:root[data-concept] .btn,:root[data-concept] select,:root[data-concept] .searchbox,:root[data-concept] input{border-radius:0;box-shadow:none;min-height:36px;font-size:14px}
:root[data-concept] .btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:7px 14px;font-weight:500}
:root[data-concept] .btn.primary{background:var(--teal);border-color:var(--teal);color:var(--paper)}
:root[data-concept="b"] .btn.primary{color:#101c20}
:root[data-concept] .btn:hover{background:var(--surface-hover);color:var(--ink);transform:none}
:root[data-concept] .btn.primary:hover{filter:brightness(1.12);background:var(--teal)}
:root[data-concept] .link{color:var(--teal);font-size:14px}
:root[data-concept] .catalog-tabs{background:transparent;gap:22px;border-bottom:1px solid var(--line);margin:0 0 18px}
:root[data-concept] .catalog-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:10px 0 12px;border-radius:0;font-size:14px}
:root[data-concept] .catalog-tabs button[aria-selected="true"]{color:var(--teal);border-bottom-color:var(--teal)}
:root[data-concept] .catalog-tabs button span{color:var(--muted);background:transparent;padding:0 0 0 6px;font-size:13px}
:root[data-concept] .roadmap-stages{border:0;border-bottom:1px solid var(--line);border-radius:0;gap:0;background:transparent;margin:0 0 16px;overflow:visible}
:root[data-concept] .stage-card{position:relative;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:4px 22px 14px;box-shadow:none}
:root[data-concept] .stage-card:first-child{padding-left:0}
:root[data-concept] .stage-card:last-child{border:0}
:root[data-concept] .stage-card>span{gap:14px}
:root[data-concept] .stage-card b{font-size:25px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}
:root[data-concept] .stage-card small{font-size:13px;margin-left:5px;color:var(--muted)}
:root[data-concept] .stage-card h3{font-size:14px;margin:7px 0 3px;font-weight:500;color:var(--ink)}
:root[data-concept] .stage-card p{font-size:13px;color:var(--muted)}
:root[data-concept] .stage-card.selected{background:var(--selection);box-shadow:inset 0 -3px var(--teal);padding-left:16px}
:root[data-concept] .stage-card:hover{background:var(--surface-hover)}
:root[data-concept] .badge{border-radius:0;font-size:12px;padding:2px 7px;font-weight:500;border:1px solid var(--line);background:transparent;color:var(--ink);line-height:1.5}
:root[data-concept] .badge.p0{color:var(--teal);border-color:var(--teal);background:transparent}
:root[data-concept] .badge.p1,:root[data-concept] .badge.p2,:root[data-concept] .badge.blue,:root[data-concept] .badge.gray{background:transparent;color:var(--muted);border-color:var(--line)}
:root[data-concept="a"] .badge.green{background:#e4f0ec;border-color:#8ebca8;color:#245b43}
:root[data-concept="a"] .badge.amber{background:#fbf2dc;border-color:#c6a85f;color:#76540d}
:root[data-concept="b"] .badge.green{background:#223b33;border-color:#5b9c7d;color:#b2e9c9}
:root[data-concept="b"] .badge.amber{background:#3c3524;border-color:#ad955d;color:#f0d18a}
:root[data-concept] .scope-note{padding:0 0 16px;font-size:13px;background:none;border:0;color:var(--muted)}
:root[data-concept] .scope-note strong{color:var(--ink);font-weight:600}
:root[data-concept] .scope-note p{line-height:1.7;margin:0}
:root[data-concept] .scope-note .icon{display:none}
:root[data-concept] .panel,:root[data-concept] .catalog-panel{border-radius:0;border:1px solid var(--line);box-shadow:none;background:var(--paper)}
:root[data-concept] .catalog-toolbar{padding:14px 16px;gap:10px;background:var(--paper)}
:root[data-concept] .catalog-toolbar select{background:var(--input);border:1px solid var(--line);color:var(--ink);padding:5px 28px 5px 10px}
:root[data-concept] .searchbox{background:var(--input);border:1px solid var(--line);flex:1;min-width:210px}
:root[data-concept] .searchbox input{color:var(--ink);font-size:14px;background:transparent}
:root[data-concept] input::placeholder{color:var(--muted);opacity:1}
:root[data-concept] .catalog-count{border-bottom:1px solid var(--line);padding:0 16px 12px;font-size:13px;color:var(--muted)}
:root[data-concept] .tablewrap{max-width:100%;overflow:auto}
:root[data-concept] .roadtable{min-width:1080px;table-layout:fixed;width:100%;border-collapse:collapse}
:root[data-concept] .roadtable th{padding:12px 16px;background:var(--surface-strong);color:var(--ink);font-size:13px;font-weight:600;border-bottom:1px solid var(--line);border-right:1px solid var(--line);letter-spacing:0}
:root[data-concept] .roadtable th:nth-child(1){width:27%}:root[data-concept] .roadtable th:nth-child(2){width:12%}:root[data-concept] .roadtable th:nth-child(3){width:16%}:root[data-concept] .roadtable th:nth-child(4){width:29%}:root[data-concept] .roadtable th:nth-child(5){width:16%}
:root[data-concept] .roadtable td{width:auto;min-width:0;padding:20px 16px;background:var(--paper);border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--ink);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
:root[data-concept] .roadtable td:last-child,:root[data-concept] .roadtable td:last-child p{font-size:14px;color:var(--ink)}
:root[data-concept] .roadtable tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--paper) 97%,var(--muted))}
:root[data-concept] .roadtable tbody tr:hover td{background:var(--surface-hover)}
:root[data-concept] .feature-title{font-size:15px;font-weight:600;line-height:1.6;color:var(--ink)}
:root[data-concept] .feature-title:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
:root[data-concept] .sub{color:var(--muted);font-size:12px;line-height:1.7;margin-top:6px}
:root[data-concept] .feature-origin{font-size:13px;line-height:1.7;color:var(--muted);margin-top:11px}
:root[data-concept] .feature-origin .badge{border:0;padding:0;color:var(--teal)}
:root[data-concept] .road-description{font-size:14px!important;line-height:1.75!important;margin-top:14px!important;color:var(--ink)}
:root[data-concept] .road-description strong{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:3px}
:root[data-concept] .phase-reason{font-size:13px;line-height:1.7;color:var(--muted);margin-top:12px;min-width:0}
:root[data-concept] .score{font-family:'Segoe UI',sans-serif;font-size:24px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
:root[data-concept] .vl-extent{font-size:14px;color:var(--ink)}
:root[data-concept] .vl-extent dt{font-size:12px;font-weight:500;color:var(--muted);margin-top:12px}
:root[data-concept] .vl-extent dd{line-height:1.7;color:var(--ink)}
:root[data-concept] .vl-depth{font-size:12px!important;color:var(--muted)}
:root[data-concept] .note{border-radius:0;background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-concept] .industrial-status{left:0;height:28px;background:var(--surface-strong);color:var(--muted);border-top:1px solid var(--line);padding:0 20px;font-size:12px}
:root[data-concept] .industrial-status i{background:var(--muted);box-shadow:none}
:root[data-concept] .industrial-status strong{color:var(--ink)}
:root[data-concept] dialog{border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);box-shadow:0 12px 50px #0005}
:root[data-concept] .modalhead,:root[data-concept] .modalfoot{background:var(--surface);border-color:var(--line)}
:root[data-concept] .detail-hero{border-radius:0;background:var(--surface);border-color:var(--line)}
:root[data-concept] :focus-visible{outline:2px solid var(--teal);outline-offset:3px}
:root[data-concept="b"] .sidebar{width:188px;border-right:0}
:root[data-concept="b"] .shell{margin-left:188px}
:root[data-concept="b"] .content{padding-top:26px}
:root[data-concept="b"] .roadmap-stages{background:var(--paper);border:1px solid var(--line)}
:root[data-concept="b"] .stage-card,:root[data-concept="b"] .stage-card:first-child{padding:14px 20px}
:root[data-concept="b"] .stage-card.selected{background:var(--selection)}
/* Shape study: restrained engineering surfaces in A, chamfered instrument tiles in B. */
:root[data-concept="a"] .btn,:root[data-concept="a"] select,:root[data-concept="a"] .searchbox{border-radius:4px}
:root[data-concept="a"] .catalog-panel{border-radius:6px;overflow:hidden;border-color:#c6cdd3}
:root[data-concept="a"] .navitem{border-radius:3px}
:root[data-concept="a"] .roadmap-stages{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 0;overflow:hidden}
:root[data-concept="a"] .stage-card,:root[data-concept="a"] .stage-card:first-child{padding:2px 20px;border-right:1px solid var(--line)}
:root[data-concept="a"] .stage-card:last-child{border-right:0}
:root[data-concept="a"] .stage-card .badge{border:0;border-radius:3px;background:var(--surface);padding:3px 8px;color:var(--muted)}
:root[data-concept="a"] .stage-card .badge.p0{background:var(--selection);color:var(--teal)}
:root[data-concept="a"] .stage-card.selected{background:var(--selection);box-shadow:inset 3px 0 var(--teal)}
:root[data-concept="a"] .catalog-tabs button[aria-selected="true"]{border-bottom-width:3px}
:root[data-concept="a"] dialog{border-radius:6px}
:root[data-concept="b"] .roadmap-stages{display:flex;gap:12px;border:0;background:transparent;overflow:visible}
:root[data-concept="b"] .stage-card,:root[data-concept="b"] .stage-card:first-child{isolation:isolate;border:0;background:none;box-shadow:none;padding:15px 18px 15px 22px}
:root[data-concept="b"] .stage-card::before{content:'';position:absolute;inset:0;background:var(--line);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);z-index:-2}
:root[data-concept="b"] .stage-card::after{content:'';position:absolute;inset:1px;background:var(--paper);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);border-left:3px solid #646d87;z-index:-1}
:root[data-concept="b"] .stage-card.selected::before{background:var(--teal)}
:root[data-concept="b"] .stage-card.selected::after{background:var(--selection);border-left-color:var(--teal)}
:root[data-concept="b"] .stage-card:hover::after{background:var(--surface-hover)}
:root[data-concept="b"] .stage-card:focus-visible{outline-offset:3px}
:root[data-concept="b"] .catalog-panel{border-radius:4px;overflow:hidden}
:root[data-concept="b"] .btn{border-radius:2px}
:root[data-concept="b"] .btn.primary{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);padding-right:18px}
:root[data-concept="b"] .btn.primary:focus-visible{outline:2px solid #10121f;outline-offset:-4px}
:root[data-concept="b"] .searchbox,:root[data-concept="b"] select{border-radius:2px}
:root[data-concept="b"] .navitem.active{border-radius:0 3px 3px 0}
@media(max-width:1100px){:root[data-concept] .content{padding:22px 20px 50px}:root[data-concept] .stage-card p{display:none}:root[data-concept] .catalog-count>span:last-child{display:none}:root[data-concept] .crumb>span:first-child{display:none}}
@media(max-width:760px){:root[data-concept] .sidebar{transform:translateX(-100%);width:202px}:root[data-concept] .sidebar.open{transform:translateX(0)}:root[data-concept] .shell{margin-left:0}:root[data-concept] .topbar{padding:0 12px;gap:8px}:root[data-concept] .topbar .concept-brand{min-width:0}:root[data-concept] .brand strong{font-size:13px}:root[data-concept] .crumb{display:none}:root[data-concept] .toptools{gap:5px}:root[data-concept] .content{padding:18px 12px 50px}:root[data-concept] h1{font-size:22px}:root[data-concept] .catalog-toolbar{flex-wrap:wrap}:root[data-concept] .stage-card{padding:8px}:root[data-concept] .stage-card h3{font-size:12px}:root[data-concept="b"] .stage-card{padding:10px}:root[data-concept] .stage-card>span{gap:6px}:root[data-concept] .catalog-tabs{gap:15px}:root[data-concept] .catalog-tabs button{font-size:13px}:root[data-concept] .pagehead{align-items:flex-start}:root[data-concept] .pagehead .btn{white-space:nowrap;font-size:13px;padding:6px 9px}}
