* { margin: 0; padding: 0; box-sizing: border-box; }
:root { --navy: #1F4E79; --blue: #2E75B6; --pale: #EBF3FB; --paler: #F6FAFE; --green: #15803D; --green-bg: #DCFCE7; --amber: #F59E0B; --amber-bg: #FEF3C7; --red: #B91C1C; --red-bg: #FEE2E2; --muted: #6B7280; --text: #111827; --border: #D5E8F0; }
body { font-family: Arial, sans-serif; background: var(--paler); color: var(--text); min-height: 100vh; line-height: 1.6; }
.wrap { max-width: 920px; margin: 0 auto; padding: 22px 18px 60px; }
.hdr { background: #fff; color: var(--navy); padding: 20px 24px; border: 1px solid var(--border); border-left: 5px solid var(--blue); border-radius: 12px; margin-bottom: 14px; }
.hdr .who { font-size: .8rem; color: var(--muted); letter-spacing: .04em; text-transform: uppercase; margin-bottom: 4px; }
.hdr h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; line-height: 1.3; color: var(--navy); }
.hdr .meta { font-size: .9rem; color: var(--muted); }
.legend { display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; font-size:.8rem; color:var(--muted); align-items:center; }
.legend span.name { color:#7C3AED; font-weight:700; } .legend span.example { color:#EA580C; font-weight:700; }
.tag { display:inline-block; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; padding:2px 8px; border-radius:999px; vertical-align:middle; }
.tag.ess { background:var(--red-bg); color:var(--red); } .tag.imp { background:var(--amber-bg); color:#92400E; } .tag.sup { background:var(--pale); color:var(--blue); } .tag.enr { background:#EEF2F7; color:var(--muted); }
.controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.controls .ctitle { font-size:.84rem; font-weight:700; color:var(--muted); margin-right:auto; }
.controls button { background:var(--pale); color:var(--navy); border:1px solid var(--border); border-radius:7px; padding:7px 14px; font:inherit; font-size:.82rem; font-weight:700; cursor:pointer; }
.controls button:hover { background:var(--blue); color:#fff; }
/* drop-downs */
details.sec { background:#fff; border:1px solid var(--border); border-radius:10px; margin-bottom:12px; overflow:hidden; }
details.sec > summary { cursor:pointer; padding:15px 20px; background:#fff; font-weight:700; color:var(--navy); font-size:1.08rem; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:14px; transition:background .15s; }
details.sec > summary:hover { background:var(--paler); }
details.sec[open] > summary { background:var(--pale); border-bottom:1px solid var(--border); }
details.sec > summary::-webkit-details-marker { display:none; }
details.sec > summary .stitle { display:flex; align-items:baseline; gap:10px; }
details.sec > summary .stitle::before { content:"\25B8"; color:var(--blue); font-size:.9rem; }
details.sec[open] > summary .stitle::before { content:"\25BE"; }
details.sec > summary .spec-no { font-size:.74rem; font-weight:800; color:#fff; background:var(--blue); border-radius:6px; padding:2px 8px; letter-spacing:.02em; }
.toggle { flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--blue); background:var(--pale); border:1px solid var(--border); border-radius:999px; padding:4px 12px; }
.toggle .plus::before { content:"+ Open"; }
details.sec[open] .toggle { color:var(--navy); background:#fff; }
details.sec[open] .toggle .plus::before { content:"\2212 Close"; }
details.sec .sec-body { padding:18px 24px 22px; }
/* lettered parts */
.part { margin-top:18px; padding-top:16px; border-top:1px dashed var(--border); }
.part:first-child { margin-top:0; padding-top:0; border-top:0; }
.parthd { display:flex; align-items:center; gap:9px; margin-bottom:9px; flex-wrap:wrap; }
.chip { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; font-size:.78rem; font-weight:800; color:#fff; background:var(--navy); border-radius:6px; padding:0 6px; }
.parttitle { font-weight:700; color:var(--navy); font-size:1.02rem; }
.section p { margin-bottom:9px; font-size:.94rem; }
.section ul { padding-left:20px; margin-bottom:9px; font-size:.93rem; }
.section ul li { margin-bottom:5px; }
.section strong { color: var(--navy); }
h4.mini { color:var(--blue); font-size:.92rem; margin:10px 0 5px; }
.callout { background: var(--pale); border-left: 4px solid var(--blue); padding: 11px 15px; border-radius: 0 8px 8px 0; margin: 11px 0; font-size: .91rem; }
.callout strong { color: var(--navy); }
.callout.amber { background: var(--amber-bg); border-left-color: var(--amber); } .callout.amber strong { color: #92400E; }
.callout.green { background: var(--green-bg); border-left-color: var(--green); } .callout.green strong { color: var(--green); }
.callout.red { background: var(--red-bg); border-left-color: var(--red); } .callout.red strong { color: var(--red); }
table.tbl { width: 100%; border-collapse: collapse; margin: 11px 0; font-size: .85rem; }
table.tbl th { background: var(--navy); color: white; padding: 8px 10px; text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; }
table.tbl td { padding: 8px 10px; border-bottom: 1px solid var(--border); vertical-align: top; }
table.tbl tr:nth-child(even) td { background: var(--paler); }
table.tbl td.k { font-weight: 700; color: var(--blue); white-space: nowrap; }
.twocol { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:11px 0; }
.twocol .col { border:1px solid var(--border); border-radius:8px; padding:11px 13px; }
.twocol .for h4 { color:var(--green); margin-bottom:5px; font-size:.9rem; } .twocol .against h4 { color:var(--red); margin-bottom:5px; font-size:.9rem; }
.peee { list-style:none; padding-left:0; font-size:.88rem; }
.peee li { margin-bottom:8px; }
.peee b { color:var(--navy); }
span.name { color: #7C3AED; font-weight: 700; } span.example { color: #EA580C; font-weight: 700; }
.support { background:#FFFDF5; border:1px dashed var(--amber); border-radius:8px; padding:11px 14px; margin:11px 0; }
.support .slabel { font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#92400E; margin-bottom:5px; }
.footer { text-align: center; font-size: 9pt; color: var(--muted); padding: 24px 12px; }
em, i { font-style: normal; font-weight: 700; }
/* roller */
.tlx-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.tlx-count { font-size:.82rem; font-weight:700; color:var(--blue); background:var(--pale); border-radius:999px; padding:2px 10px; }
.tlx-arc { display:flex; gap:5px; overflow-x:auto; padding-bottom:4px; margin-bottom:8px; }
.tlx-step { flex:1 1 0; min-width:96px; border-radius:8px; padding:7px 9px; border:1px solid var(--border); border-top:4px solid var(--blue); background:#fff; opacity:.42; cursor:pointer; transition:opacity .2s, transform .2s, box-shadow .2s; }
.tlx-step.up{border-top-color:var(--green);background:var(--green-bg);} .tlx-step.mixed{border-top-color:var(--amber);background:var(--amber-bg);} .tlx-step.down{border-top-color:var(--red);background:var(--red-bg);}
.tlx-step.active{opacity:1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(31,78,121,.22);border-top-width:6px;}
.tlx-step .y{display:block;font-weight:800;font-size:.8rem;color:var(--navy);} .tlx-step .l{display:block;font-size:.68rem;margin-top:2px;line-height:1.2;}
.tlx-view { display:flex; gap:8px; align-items:stretch; }
.tlx-stage { position:relative; flex:1; min-width:0; height:250px; perspective:1100px; overflow:hidden; background:linear-gradient(180deg,var(--pale),var(--paler)); border:1px solid var(--border); border-radius:12px; box-shadow:inset 0 8px 18px -12px rgba(31,78,121,.45), inset 0 -8px 18px -12px rgba(31,78,121,.45); }
.tlx-card { position:absolute; left:14px; right:14px; top:50%; background:#fff; border:1px solid var(--border); border-radius:10px; padding:13px 16px; box-shadow:0 6px 18px -6px rgba(31,78,121,.28); transform-style:preserve-3d; backface-visibility:hidden; transition:transform .45s cubic-bezier(.2,.7,.2,1), opacity .4s; }
.tlx-card .w{display:inline-block;font-weight:800;font-size:1.02rem;color:#fff;background:var(--navy);border-radius:7px;padding:2px 12px;margin-bottom:8px;}
.tlx-card.up .w{background:var(--green);} .tlx-card.mixed .w{background:#B45309;} .tlx-card.down .w{background:var(--red);}
.tlx-card p{font-size:.85rem;line-height:1.42;margin:0 0 6px;} .tlx-card p:last-child{margin:0;} .tlx-card p b{color:var(--navy);}
.tlx-nav{display:flex;flex-direction:column;gap:8px;justify-content:center;}
.tlx-nav button{width:40px;height:60px;border:1px solid var(--border);background:var(--pale);color:var(--navy);border-radius:10px;font-size:1.2rem;font-weight:800;cursor:pointer;}
.tlx-nav button:hover:enabled{background:var(--blue);color:#fff;} .tlx-nav button:disabled{opacity:.35;cursor:default;}
.tlx-hint{font-size:.78rem;color:var(--muted);margin-top:8px;text-align:center;}
@media (max-width:620px){.tlx-stage{height:320px;}.tlx-arc{flex-wrap:wrap;overflow:visible;}.tlx-step{flex:1 1 28%;min-width:0;} .twocol{grid-template-columns:1fr;}}
/* MCQ */
.mcq { background:var(--paler); border:1px solid var(--border); border-radius:10px; padding:14px 16px; margin-top:16px; }
.mcq .m-h { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--navy); margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; }
.mcq .m-h .m-score { color:var(--blue); }
.mcq .m-text { font-weight:700; color:var(--navy); font-size:.92rem; margin-bottom:8px; }
.mcq .opt { display:block; width:100%; text-align:left; background:#fff; border:1px solid var(--border); border-radius:7px; padding:9px 12px; margin:6px 0; font:inherit; font-size:.86rem; cursor:pointer; }
.mcq .opt:hover:enabled { background:var(--pale); } .mcq .opt:disabled { cursor:default; }
.mcq .opt.correct { background:var(--green-bg); border-color:var(--green); color:var(--green); font-weight:700; }
.mcq .opt.wrong { background:var(--red-bg); border-color:var(--red); color:var(--red); }
.mcq .m-fb { font-size:.84rem; margin-top:8px; padding:8px 11px; border-radius:6px; display:none; }
.mcq .m-fb.show { display:block; } .mcq .m-fb.ok { background:var(--green-bg); color:var(--green); } .mcq .m-fb.no { background:var(--amber-bg); color:#92400E; }
.mcq .m-foot { margin-top:10px; text-align:right; }
.mcq .m-next { background:var(--navy); color:#fff; border:0; border-radius:7px; padding:8px 16px; font:inherit; font-size:.84rem; font-weight:700; cursor:pointer; } .mcq .m-next:disabled { opacity:.4; cursor:default; }
.mcq .m-end { text-align:center; padding:4px 0; } .mcq .m-end .m-big { font-size:1.2rem; font-weight:800; color:var(--navy); margin-bottom:4px; }
.mcq .m-restart { background:var(--pale); color:var(--navy); border:1px solid var(--border); border-radius:7px; padding:6px 12px; font:inherit; font-weight:700; cursor:pointer; margin-top:6px; }
.hdr-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.hdr-actions button{background:var(--pale);color:var(--navy);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;}
.hdr-link{display:inline-flex;align-items:center;background:var(--pale);color:var(--navy);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:.82rem;font-weight:700;text-decoration:none;}
.hdr-link:hover{background:var(--blue);color:#fff;}
.hdr-key{font-size:.78rem;color:var(--muted);align-self:center;}
@media print { .controls, .hdr-actions, .toggle { display:none; } body { background:white; } details.sec{ break-inside: avoid; } details.sec > .sec-body{ display:block !important; } }

.gnav{position:sticky;top:0;z-index:200;background:var(--navy);display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 14px;}
.gnav-home{color:#fff;font-weight:800;text-decoration:none;font-size:.95rem;margin-right:auto;}
.gnav-links{display:flex;gap:5px;flex-wrap:wrap;}
.gnav-links a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:6px;background:rgba(255,255,255,.16);color:#fff;text-decoration:none;font-weight:700;font-size:.82rem;}
.gnav-links a:hover{background:rgba(255,255,255,.32);}
.gnav-links a.active{background:#fff;color:var(--navy);}
.gnav-jump{border:0;border-radius:6px;padding:6px 8px;font:inherit;font-size:.8rem;font-weight:700;color:var(--navy);max-width:200px;}
.prog{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:14px;}
.prog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px;}
.prog-label{font-size:.85rem;font-weight:700;color:var(--navy);}
.prog-reset{background:var(--pale);color:var(--navy);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;}
.prog-track{height:14px;background:#FDE4E4;border-radius:999px;overflow:hidden;}
.prog-fill{height:100%;width:0;background:#DC2626;border-radius:999px;transition:width .35s ease, background .35s ease;}
.donelab{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;}
.donelab input{width:15px;height:15px;cursor:pointer;}
details.sec > summary .stitle{flex:1 1 auto;}
details.sec.done > summary{background:var(--green-bg);}
details.sec.done > summary .spec-no{background:var(--green);}
details.sec.done > summary .stitle{color:var(--green);}
.cardprog{height:10px;background:#FDE4E4;border-radius:999px;overflow:hidden;margin-top:14px;}
.cardprog-fill{height:100%;width:0;background:#DC2626;border-radius:999px;transition:width .35s ease, background .35s ease;}
.cardprog-label{display:block;font-size:.74rem;font-weight:700;color:var(--muted);margin-top:6px;}
@media print{.gnav{display:none;}}

.gnav-home{margin-right:0;}
.gnav-ctrl{display:flex;gap:5px;}
.gnav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 9px;border-radius:6px;background:rgba(255,255,255,.16);color:#fff;text-decoration:none;border:0;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;line-height:1;}
.gnav-btn:hover{background:rgba(255,255,255,.32);}
.gnav-jump{margin-left:auto;}

.name[title],.example[title]{cursor:help;border-bottom:1px dotted currentColor;}
.gnav-score{background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:.8rem;border-radius:6px;padding:5px 10px;white-space:nowrap;}
.ftest-start{background:var(--navy);color:#fff;border:0;border-radius:7px;padding:9px 18px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;}

#tipbox{position:fixed;z-index:9999;max-width:min(300px,90vw);background:var(--navy,#1F4E79);color:#fff;font-size:.8rem;line-height:1.45;padding:8px 11px;border-radius:8px;box-shadow:0 8px 22px -6px rgba(0,0,0,.45);pointer-events:none;opacity:0;transition:opacity .12s;}
#tipbox.show{opacity:1;}
.name[data-tip],.example[data-tip]{cursor:help;border-bottom:1px dotted currentColor;}
.reswrap{background:#fff;border:1px solid var(--border);border-left:5px solid var(--green);border-radius:10px;padding:14px 18px;margin:18px 0;}
.reswrap+.reswrap{margin-top:-6px;}
.reshead{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);margin-bottom:8px;}
.reslinks{display:flex;flex-wrap:wrap;gap:8px;}
.reslinks a{display:inline-flex;align-items:center;background:var(--pale);color:var(--navy);border:1px solid var(--border);border-radius:7px;padding:7px 12px;font-size:.84rem;font-weight:700;text-decoration:none;}
.reslinks a:hover{background:var(--blue);color:#fff;}
@media print{.reswrap{display:none;}}
/* phone usability pass 10 Jun 2026 */
#btt{position:fixed;right:14px;bottom:18px;z-index:300;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;border:none;font-size:1.15rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3);display:none;}
@media print{#btt{display:none !important;}}
@media (max-width:620px){
.tbl tr{display:block;}
.tbl td{display:block;width:100%;box-sizing:border-box;}
.tbl td.k{padding-bottom:2px;}
.mcq .opt{padding:13px 14px;min-height:44px;}
.donelab{min-height:40px;margin-left:auto;}
.donelab input{width:20px;height:20px;}
.wrap{padding:10px 12px 50px;}
.hdr{padding:14px 16px;margin-bottom:10px;}
.hdr h1{font-size:1.2rem;}
.hdr .meta{font-size:.78rem;}
.gnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.gnav::-webkit-scrollbar{display:none;}
.gnav-links{flex-wrap:nowrap;}
.tlx-nav button{width:48px;height:64px;}
.hdr-actions button[onclick*="print"]{display:none;}
summary{flex-wrap:wrap;padding:13px 14px;gap:8px;}
.stitle{flex:1 1 100%;font-size:.98rem;}
}

.pn{display:flex;justify-content:space-between;gap:10px;margin:26px 0 8px;}
.pn a{flex:1;text-align:center;background:var(--pale);border:1px solid var(--border);border-radius:8px;padding:12px;font-weight:700;color:var(--navy);text-decoration:none;}
.pn a:hover{background:var(--blue);color:#fff;}
.jumpsel{font:inherit;font-size:.84rem;padding:8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--navy);max-width:100%;}
@media (max-width:620px){.jumpsel{width:100%;}}
@media (prefers-color-scheme: dark){.jumpsel{background:#101D2C;}}
details.sec.flash-done > summary{background:var(--green-bg) !important;transition:background .3s;}

/* dark mode (follows device setting) */
@media (prefers-color-scheme: dark){
:root{--navy:#9DC4E8;--blue:#7FB3E3;--pale:#16283C;--paler:#0C1722;--green:#4ADE80;--green-bg:#0E2A1A;--amber:#FBBF24;--amber-bg:#3A2A08;--red:#F87171;--red-bg:#3B1212;--muted:#9AA8B8;--text:#E6EDF5;--border:#2B4156;}
body{background:var(--paler);color:var(--text);}
.hdr,summary,.mcq .opt,details.card,a.choice,.feature,details.sec,.cardbody{background:#101D2C;}
.ex td{background:#101D2C;}
.ex tr:nth-child(even) td{background:#0C1722;}
.gnav{background:#0A1422;}
.name{color:#C4B5FD;}
#btt{background:#2E75B6;}
}
@media print{body{background:#fff;color:#111827;}}

/* ptopbar-style Paper 3 bar */
.p3bar{position:sticky;top:0;z-index:200;background:var(--navy);display:flex;align-items:center;gap:8px;padding:8px 14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
.p3bar::-webkit-scrollbar{display:none;}
.p3btn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:8px;padding:7px 13px;font-size:.84rem;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;font-family:inherit;}
.p3btn:hover{background:rgba(255,255,255,.3);}
.p3chip{background:#F87171;color:#0B1F3A;font-size:.72rem;font-weight:800;border-radius:6px;padding:3px 8px;flex:0 0 auto;}
.p3crumb{color:#fff;font-weight:700;font-size:.88rem;white-space:nowrap;}
.p3crumb a{color:#fff;text-decoration:none;}
.p3crumb a:hover{text-decoration:underline;}
.p3jump{font:inherit;font-size:.84rem;font-weight:700;color:var(--navy);background:#fff;border:none;border-radius:8px;padding:7px 10px;max-width:230px;}
.p3right{margin-left:auto;display:flex;gap:8px;align-items:center;}
@media print{.p3bar{display:none !important;}}
@media (prefers-color-scheme: dark){.p3bar{background:#0A1422;}.p3jump{background:#101D2C;color:#E6EDF5;}}

/* clear part differentiation + 3D hover lift */
.part{margin-top:16px;padding:12px 14px 10px;border:1px solid transparent;border-top:1px solid transparent;border-radius:10px;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s;}
.part:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(31,78,121,.45);border-color:var(--border);background:#fff;}
.parthd{background:var(--pale);border-left:5px solid var(--blue);border-radius:7px;padding:8px 12px;margin:0 0 11px;}
.parthd .parttitle{color:var(--navy);font-weight:800;font-size:.95rem;}
@media (prefers-color-scheme: dark){.part:hover{background:#101D2C;}}
.pq{color:var(--blue);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;font-weight:inherit;}
.pq:hover{text-decoration-style:solid;}

/* per-part colour identity: each lettered band gets its own accent */
.sec-body .part:nth-of-type(6n+1) .parthd{background:#EBF3FB;border-left-color:#2E75B6;}
.sec-body .part:nth-of-type(6n+1) .parthd .chip{background:#2E75B6;}
.sec-body .part:nth-of-type(6n+2) .parthd{background:#F3E8FF;border-left-color:#7C3AED;}
.sec-body .part:nth-of-type(6n+2) .parthd .chip{background:#7C3AED;}
.sec-body .part:nth-of-type(6n+2) .parthd .parttitle{color:#5B21B6;}
.sec-body .part:nth-of-type(6n+3) .parthd{background:#FEF3C7;border-left-color:#D97706;}
.sec-body .part:nth-of-type(6n+3) .parthd .chip{background:#D97706;}
.sec-body .part:nth-of-type(6n+3) .parthd .parttitle{color:#92400E;}
.sec-body .part:nth-of-type(6n+4) .parthd{background:#DCFCE7;border-left-color:#15803D;}
.sec-body .part:nth-of-type(6n+4) .parthd .chip{background:#15803D;}
.sec-body .part:nth-of-type(6n+4) .parthd .parttitle{color:#166534;}
.sec-body .part:nth-of-type(6n+5) .parthd{background:#FEE2E2;border-left-color:#B91C1C;}
.sec-body .part:nth-of-type(6n+5) .parthd .chip{background:#B91C1C;}
.sec-body .part:nth-of-type(6n+5) .parthd .parttitle{color:#991B1B;}
.sec-body .part:nth-of-type(6n+6) .parthd{background:#CFFAFE;border-left-color:#0E7490;}
.sec-body .part:nth-of-type(6n+6) .parthd .chip{background:#0E7490;}
.sec-body .part:nth-of-type(6n+6) .parthd .parttitle{color:#155E75;}
@media (prefers-color-scheme: dark){
.sec-body .part .parthd{background:#16283C !important;}
}

/* PANTHER_PARTLINKS 12 Jun 2026 - per-subsection resource links */
.partlinks{margin:12px 0 2px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.partlinks .pl-label{flex:0 0 100%;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--blue);}
.partlinks a{display:inline-flex;align-items:center;background:var(--pale);color:var(--navy);border:1px solid var(--border);border-radius:7px;padding:6px 11px;font-size:.82rem;font-weight:700;text-decoration:none;}
.partlinks a:hover{background:var(--blue);color:#fff;}
.mslink{margin:10px 0 2px;font-size:.86rem;}
.mslink a{color:var(--blue);font-weight:700;}
@media print{.partlinks,.mslink{display:none;}}

/* P3_RETITLE */
/* panther bold skin v1 */
body{background:#E3EDF7 !important;}
.ptopbar{background:linear-gradient(135deg,#1F4E79 0%,#0F2A47 100%) !important;}
@media print{body{background:#fff !important;}.hdr,.hero{background:#fff !important;box-shadow:none !important;}.hdr *,.hero *{color:#111827 !important;}}

.hdr{background:linear-gradient(135deg,#1F4E79 0%,#0F2A47 100%) !important;color:#fff !important;border:none !important;border-radius:16px !important;box-shadow:0 6px 18px rgba(15,42,71,.35) !important;}
.hdr h1,.hdr .who,.hdr .meta,.hdr .kicker,.hdr .sub,.hdr .hdr-text *,.hdr *{color:#fff !important;}
.section-card{border:1px solid #BFD6EA !important;border-radius:12px !important;background:#fff !important;transition:transform .14s,box-shadow .14s !important;}
.section-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -16px rgba(15,42,71,.5) !important;}
/* spec spine - The specification, word for word (12 Jun 2026) */
.spec-subhd{display:flex;align-items:baseline;gap:8px;font-weight:800;color:var(--navy);font-size:.97rem;margin:16px 0 8px;}
.spec-sub:first-of-type .spec-subhd{margin-top:2px;}
.spec-subno{flex:0 0 auto;font-size:.72rem;font-weight:800;color:#fff;background:var(--navy);border-radius:6px;padding:2px 7px;}
.spec-terms{margin:0 0 10px;}
.spec-terms-title{display:block;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--blue);margin-bottom:6px;}
.spec-chip{display:inline-flex;align-items:center;gap:7px;background:var(--pale);border:1px solid var(--border);border-radius:999px;padding:5px 12px;margin:0 6px 6px 0;font-size:.84rem;font-weight:700;color:var(--navy);cursor:pointer;}
.spec-chip input{width:14px;height:14px;cursor:pointer;margin:0;}
.spec-chip.on{background:var(--green-bg);border-color:var(--green);color:var(--green);}
.spec-rows{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:0 0 8px;}
.spec-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:9px 13px;border-top:1px solid var(--border);font-size:.92rem;}
.spec-row:first-child{border-top:0;}
.spec-row:nth-child(even){background:var(--paler);}
.spec-row .spec-btxt{flex:1 1 auto;}
.spec-row.sub{padding-left:36px;font-size:.86rem;}
.spec-row.sub .spec-btxt{color:var(--muted);font-weight:700;}
.spec-row.on .spec-btxt{color:var(--green);}
.spec-can{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;margin-top:2px;}
.spec-can input{width:16px;height:16px;cursor:pointer;margin:0;}
.spec-row.on .spec-can{color:var(--green);}
.spec-foot{font-size:.8rem;color:var(--muted);margin:4px 0 0;}
table.tbl td.kx{font-weight:700;color:var(--blue);}
@media (max-width:620px){.spec-row{flex-wrap:wrap;}.spec-can{margin-left:auto;}}