/* Components of the pages (merged from the page styles of the previous version). */
.cv-lang{display:flex;gap:.4rem;margin:0 0 1rem}
.cv-lang a{color:#b8c4da;border:1px solid rgba(184,196,218,.45);border-radius:4px;padding:.15rem .55rem;font-size:.8rem;font-weight:600;text-decoration:none}
.cv-lang a.is-current{background:var(--gold);border-color:var(--gold);color:var(--navy-950)}
.cv-tagline{color:#b8c4da;font-size:.95rem;margin:.35rem 0 0}
.cv-headline{letter-spacing:.04em;font-weight:600;color:var(--gold);font-size:.85rem;margin:.4rem 0 0}
.ap-lead{color:var(--text-muted-dark);font-size:1.05rem;max-width:860px}
.ap-principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-top:1.25rem}
.ap-principle{background:var(--bg-light);border-left:4px solid var(--gold);border-radius:6px;padding:.9rem 1rem}
.ap-principle h4{color:var(--navy-800);font-size:.95rem;margin:0 0 .3rem}
.ap-principle p{color:var(--text-muted-dark);font-size:.88rem;margin:0}
.ap-figure{border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-card);overflow-x:auto}
.ap-figure svg{min-width:640px}
.ap-tools{display:flex;justify-content:flex-end;margin:0 0 .75rem}
.ap-toggle{background:none;border:1px solid var(--navy-700);color:var(--navy-700);border-radius:6px;padding:.35rem .8rem;font-size:.85rem;font-weight:600;cursor:pointer}
.ap-toggle:hover{background:var(--bg-light)}
details.ap-phase{border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:1rem;box-shadow:var(--shadow-card);background:#fff}
details.ap-phase[open]{border-color:var(--navy-600)}
details.ap-phase>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.1rem 1.25rem}
details.ap-phase>summary::-webkit-details-marker{display:none}
.ap-num{width:44px;height:44px;border-radius:10px;background:var(--navy-900);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}
.ap-num.stream{background:var(--gold);color:var(--navy-950)}
.ap-sum{min-width:0}
.ap-sum h3{color:var(--navy-900);font-size:1.1rem;margin:0 0 .2rem}
.ap-sum p{color:var(--text-muted-dark);font-size:.92rem;margin:0}
.ap-meta{text-align:right;font-size:.8rem;color:var(--text-muted);font-weight:600;white-space:nowrap}
.ap-meta .ap-chev{display:inline-block;margin-left:.5rem;transition:transform .2s;color:var(--navy-700)}
details[open] .ap-chev{transform:rotate(90deg)}
.ap-body{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border-light)}
.ap-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1.75rem;margin-top:1.1rem}
.ap-body h4{color:var(--navy-800);font-size:.95rem;margin:1rem 0 .4rem}
.ap-body p,.ap-body li{color:var(--text-muted-dark);font-size:.92rem}
.ap-body ul,.ap-body ol{margin-bottom:.6rem}
.ap-q h5{color:var(--navy-700);font-size:.85rem;margin:.7rem 0 .2rem;text-transform:uppercase;letter-spacing:.04em}
.ap-q ul{margin:0}
.ap-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.ap-dim{background:var(--bg-light);border-radius:6px;padding:.75rem .9rem}
.ap-dim h5{color:var(--navy-800);font-size:.9rem;margin:0 0 .3rem}
.ap-dim ul{padding-left:1.1em;margin:0 0 .35rem}
.ap-dim li{font-size:.85rem}
.ap-dim .ap-out{font-size:.8rem;color:var(--gold-dark);font-weight:600;margin:0}
.ap-deliv{list-style:none;padding:0;margin:0}
.ap-deliv li{border-left:3px solid var(--gold);padding:.15rem 0 .15rem .7rem;margin-bottom:.55rem}
.ap-deliv strong{color:var(--navy-800)}
.ap-code{display:inline-block;font-size:.72rem;font-weight:700;color:var(--gold-dark);margin-right:.35rem}
.ap-exit{background:#fbf6ea;border:1px solid #ead9ae;border-radius:6px;padding:.75rem .9rem;margin-top:1rem}
.ap-exit strong{color:var(--gold-dark);text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;display:block}
.ap-exit p{margin:.2rem 0 0;color:var(--ink)}
.ap-scroll{overflow-x:auto;margin-top:.5rem}
table.ap-table{border-collapse:collapse;width:100%;font-size:.85rem;min-width:640px}
table.ap-table th{background:var(--navy-900);color:#fff;text-align:left;padding:.45rem .55rem;font-weight:600;font-size:.8rem}
table.ap-table td{border-bottom:1px solid var(--border-light);padding:.45rem .55rem;color:var(--text-muted-dark);vertical-align:top}
table.ap-table tr:nth-child(even) td{background:var(--bg-light)}
table.ap-raci td.c,table.ap-raci th.c{text-align:center;white-space:nowrap}
table.ap-raci td.a{color:var(--gold-dark);font-weight:700}
table.ap-raci td.r{color:var(--navy-800);font-weight:600}
.ap-note{font-size:.8rem;color:var(--text-muted);font-style:italic;margin-top:.4rem}
.ap-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.ap-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;counter-reset:d}
.ap-day{border-top:3px solid var(--navy-900);padding-top:.6rem}
.ap-day strong{color:var(--navy-900);display:block;margin-bottom:.2rem}
.ap-day p{color:var(--text-muted-dark);font-size:.9rem;margin:0}
.ap-flow{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 1rem}
.ap-flow span.s{background:var(--navy-900);color:#fff;border-radius:6px;padding:.3rem .7rem;font-size:.85rem;font-weight:600}
.ap-flow span.s.b{background:#fff;color:var(--navy-900);border:1px dashed var(--navy-700)}
.ap-flow span.arr{color:var(--text-muted)}
.ap-cta{display:flex;gap:.75rem;flex-wrap:wrap}
.ap-grid{grid-template-columns:1fr}
details.ap-phase>summary{grid-template-columns:auto minmax(0,1fr)}
.ap-meta{grid-column:2;text-align:left;white-space:normal}
.pj-fig{margin:1.5rem 0}
.pj-fig a{display:block;border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);background:#fff}
.pj-fig img{display:block;width:100%;height:auto}
.pj-fig figcaption{font-size:.88rem;color:var(--text-muted-dark);margin-top:.5rem}
.pj-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
.pj-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin:1.25rem 0}
.pj-stat{background:var(--navy-900);color:#fff;border-radius:var(--radius);padding:1rem;text-align:center}
.pj-stat strong{display:block;color:var(--gold);font-size:1.9rem;line-height:1.1}
.pj-stat span{font-size:.85rem}
.pj-note{background:#fbf6ea;border:1px solid #ead9ae;border-radius:6px;padding:.8rem 1rem;color:var(--ink);font-size:.92rem;margin:1rem 0}
.pj-steps{counter-reset:s;list-style:none;padding:0;margin:1rem 0}
.pj-steps li{counter-increment:s;position:relative;padding:.1rem 0 .1rem 2.6rem;margin-bottom:.8rem;color:var(--text-muted-dark)}
.pj-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:8px;background:var(--navy-900);color:var(--gold);font-weight:700;display:flex;align-items:center;justify-content:center}
.pj-cols{grid-template-columns:1fr}
.lb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:1rem}
.lb-card{border:1px solid var(--border-light);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow-card);background:#fff;display:flex;flex-direction:column;gap:.5rem}
.lb-card h3{color:var(--navy-900);font-size:1.1rem;margin:0}
.lb-card p{color:var(--text-muted-dark);font-size:.92rem;margin:0}
.lb-card .lb-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}
.lb-tag{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--navy-700);background:var(--bg-light);border-radius:4px;padding:.15rem .45rem}
.lb-card .ap-cta{margin-top:auto;padding-top:.5rem}
.lb-fig{border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-card);overflow-x:auto;margin:1.25rem 0}
.lb-fig svg{min-width:720px;width:100%;height:auto}
.lb-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
details.lb-more{border:1px solid var(--border-light);border-radius:var(--radius);margin:1rem 0;background:#fff}
details.lb-more>summary{cursor:pointer;padding:.8rem 1.1rem;font-weight:600;color:var(--navy-800)}
details.lb-more>div{padding:0 1.1rem 1rem}
pre.lb-code{background:var(--navy-950);color:#d6deec;border-radius:8px;padding:.9rem 1rem;overflow-x:auto;font-size:.8rem;line-height:1.5;margin:.5rem 0}
pre.lb-code .c{color:#8a9bb8}
.lb-explorer{background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-950) 75%);border-radius:var(--radius);color:#fff;padding:1.5rem 1.6rem;box-shadow:var(--shadow-lift)}
.lb-explorer h3{color:#fff;margin:0 0 .4rem;font-size:1.25rem}
.lb-explorer p{color:#b8c4da;margin:0 0 1rem}
.lb-cols{grid-template-columns:1fr}
table.ap-table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:600px}
table.ap-table th{background:var(--navy-900);color:#fff;text-align:left;padding:.5rem .6rem;font-weight:600;font-size:.82rem}
table.ap-table td{border-bottom:1px solid var(--border-light);padding:.5rem .6rem;color:var(--text-muted-dark);vertical-align:top}
table.ap-table code{font-size:.8rem;color:var(--navy-700);white-space:normal}
.ap-note{font-size:.82rem;color:var(--text-muted);font-style:italic;margin-top:.5rem}
.ap-flow span.s.g{background:var(--gold);color:var(--navy-950)}
.pj-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1.25rem 0}
.pj-steps strong{color:var(--navy-800)}
/* catalog layers */
.dc-layers{display:grid;gap:.45rem;margin:1.25rem 0;max-width:860px}
.dc-layer{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:center;border:1px solid var(--border-light);border-radius:8px;padding:.65rem .9rem;background:#fff}
.dc-layer b{color:var(--navy-900)}
.dc-layer .q{color:var(--text-muted-dark);font-size:.9rem}
.dc-layer .ex{font-size:.85rem;color:var(--gold-dark);font-weight:600}
.dc-layer.l0{border-left:4px solid var(--navy-900)}
.dc-layer.l1{border-left:4px solid var(--navy-700);margin-left:.8rem}
.dc-layer.l2{border-left:4px solid var(--navy-600);margin-left:1.6rem}
.dc-layer.l3{border-left:4px solid var(--gold);margin-left:2.4rem}
.dc-layer.l4{border-left:4px solid var(--gold-dark);margin-left:3.2rem}
.dc-layer.phys{border-style:dashed;background:var(--bg-light)}
.dc-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin-top:1rem}
.dc-type{background:var(--bg-light);border-radius:6px;padding:.75rem .9rem}
.dc-type h4{color:var(--navy-800);font-size:.92rem;margin:0 0 .2rem}
.dc-type p{color:var(--text-muted-dark);font-size:.86rem;margin:0}
.dc-type em{color:var(--gold-dark);font-style:normal;font-weight:600}
/* shared vocabulary */
.dc-hub{display:grid;grid-template-columns:1fr minmax(240px,1.1fr) 1fr;gap:1rem;align-items:center;margin:1.25rem 0}
.dc-hub .side{display:grid;gap:.6rem}
.dc-dom{border:1px solid var(--border-light);border-radius:8px;padding:.6rem .8rem;background:#fff;box-shadow:var(--shadow-card)}
.dc-dom b{display:block;color:var(--navy-900);font-size:.92rem}
.dc-dom span{color:var(--text-muted-dark);font-size:.82rem}
.dc-core{background:linear-gradient(160deg,var(--navy-900),var(--navy-950));color:#fff;border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow-lift)}
.dc-core h4{color:#fff;margin:0 0 .2rem;font-size:1.05rem}
.dc-core p{color:#b8c4da;font-size:.82rem;margin:0 0 .7rem}
.dc-core ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
.dc-core li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.4rem .55rem;font-size:.8rem;color:#c3cede}
.dc-core li b{display:block;color:var(--gold);font-size:.82rem}
/* standard -> guideline -> result */
.dc-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem;position:relative}
.dc-step{border:1px solid var(--border-light);border-radius:var(--radius);padding:1.2rem 1.25rem;box-shadow:var(--shadow-card);background:#fff;position:relative}
.dc-step .code{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--navy-950);background:var(--gold);border-radius:4px;padding:.15rem .45rem;margin-bottom:.6rem}
.dc-step h3{color:var(--navy-900);font-size:1.1rem;margin:0 0 .35rem}
.dc-step .ask{color:var(--gold-dark);font-weight:600;font-size:.9rem;margin:0 0 .6rem}
.dc-step ul{color:var(--text-muted-dark);font-size:.9rem;margin:0;padding-left:1.1em}
.dc-step li{margin-bottom:.25rem}
.dc-step:not(:last-child)::after{content:"→";position:absolute;right:-.85rem;top:50%;transform:translateY(-50%);color:var(--gold-dark);font-weight:700;font-size:1.2rem;background:#fff;border-radius:50%;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 0 0 1px var(--border-light)}
/* demo banner */
.dc-demo{background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-950) 75%);border-radius:var(--radius);color:#fff;padding:1.75rem 1.75rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:center;box-shadow:var(--shadow-lift)}
.dc-demo h3{color:#fff;font-size:1.35rem;margin:0 0 .4rem}
.dc-demo p{color:#b8c4da;margin:0 0 1rem}
.dc-mock{background:#fff;border-radius:8px;padding:.8rem .9rem;color:var(--ink);font-size:.85rem;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.dc-mock .srch{border:1px solid var(--border-light);border-radius:6px;padding:.35rem .55rem;color:var(--text-muted-dark);margin-bottom:.6rem}
.dc-mock b{font-size:1rem;color:var(--navy-900)}
.dc-mock .chip{display:inline-block;font-size:.7rem;font-weight:700;border-radius:999px;padding:.05rem .5rem;margin-left:.3rem;background:#fbf6ea;color:var(--gold-dark);border:1px solid #ead9ae}
.dc-mock .pii{background:#fdecec;color:#b42318;border-color:#f6caca}
.dc-mock p{color:var(--text-muted-dark);margin:.35rem 0 .45rem;font-size:.84rem}
.dc-mock .syn{display:inline-block;border:1px solid var(--border-light);border-radius:4px;padding:.05rem .4rem;font-size:.75rem;margin:0 .25rem .25rem 0}
.dc-mock .syn small{font-weight:700;color:var(--text-muted);margin-right:.25rem}
.dc-audience{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.dc-aud{border-top:3px solid var(--navy-900);padding-top:.6rem}
.dc-aud strong{color:var(--navy-900);display:block;margin-bottom:.2rem}
.dc-aud p{color:var(--text-muted-dark);font-size:.9rem;margin:0}
.dc-ai{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.dc-ai div{background:var(--bg-light);border-radius:6px;padding:.9rem 1rem}
.dc-ai h4{color:var(--navy-800);font-size:.95rem;margin:0 0 .35rem}
.dc-ai ul{color:var(--text-muted-dark);font-size:.9rem;margin:0;padding-left:1.1em}
.dc-layer{grid-template-columns:1fr;gap:.15rem}
.dc-layer.l1,.dc-layer.l2,.dc-layer.l3,.dc-layer.l4{margin-left:0}
.dc-hub{grid-template-columns:1fr}
.dc-chain{grid-template-columns:1fr}
.dc-step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-1.2rem;transform:translateX(-50%)}
.dc-demo{grid-template-columns:1fr}
.dc-ai{grid-template-columns:1fr}
.dc-audience{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0 1.25rem}
