/*
Theme Name: Periodic Table PDF
Theme URI: https://periodictablepdf.com/
Description: A science lab theme built on the element tile: deep ink header, cool lab-white pages, ten element-type colours, Exo 2 headings with Sarabun text and IBM Plex Mono data, an interactive periodic table with element cards, searchable element tables, a configuration finder with orbital boxes, a molar mass calculator and printable A4 PDF cards.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: periodictablepdf
*/

/* Fonts: Exo 2, Sarabun, IBM Plex Mono and Sarala (SIL OFL), served locally. */
@font-face{font-family:"Exo 2";src:url(assets/fonts/exo-2-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Exo 2";src:url(assets/fonts/exo-2-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Exo 2";src:url(assets/fonts/exo-2-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Sarabun";src:url(assets/fonts/sarabun-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Sarabun";src:url(assets/fonts/sarabun-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Sarabun";src:url(assets/fonts/sarabun-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Sarabun";src:url(assets/fonts/sarabun-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Sarala";src:url(assets/fonts/sarala-devanagari-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Sarala";src:url(assets/fonts/sarala-devanagari-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}

:root{
	--bg:#f2f5f8;--card:#ffffff;--line:#dfe5ec;--line2:#c9d3de;
	--ink:#0f1d2e;--ink2:#3a4a5e;--mute:#6f7f93;
	--deep:#10233a;--deep2:#0a1828;--teal:#1f7a8c;--teal2:#155e6c;--amber:#f2a541;--st:#1f7a8c;
	--alk:#ff9f84;--ae:#ffd08a;--tm:#a9c4f5;--ptm:#9fd8cf;--md:#d6c7bd;--nm:#bfe39a;--hal:#fbeb7f;--ng:#dcbdf0;--la:#f7b5cf;--ac:#f6c2c2;
	--head:"Exo 2","Sarala",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
	--sans:"Sarabun","Sarala",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
	--shadow:0 1px 0 rgba(15,29,46,.06),0 16px 30px -24px rgba(15,29,46,.55);
	--r:10px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17.5px/1.7 var(--sans);overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal2);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--deep)}
h1,h2,h3{font-family:var(--head);font-weight:700;color:var(--ink);letter-spacing:-.2px}
[lang="hi"]{font-family:"Sarala",var(--sans)}
.pt-wrap{max-width:1200px;margin:0 auto;padding:0 18px}
.pt-skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:99}
.pt-skip:focus{left:8px}

/* -------------------------------------------------------------------- top */
.pt-top{position:sticky;top:0;z-index:40;background:var(--deep);color:#fff;box-shadow:0 10px 24px -18px rgba(0,0,0,.6)}
.pt-top::after{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--alk) 0 10%,var(--ae) 10% 20%,var(--tm) 20% 40%,var(--ptm) 40% 50%,var(--md) 50% 58%,var(--nm) 58% 68%,var(--hal) 68% 76%,var(--ng) 76% 86%,var(--la) 86% 93%,var(--ac) 93%)}
.pt-top-row{display:flex;align-items:center;gap:16px;min-height:62px}
.pt-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;flex:none}
.pt-logo span{font:600 21px/1 var(--head);letter-spacing:-.2px}
.pt-logo b{font-weight:800;color:var(--amber)}
.pt-nav{display:flex;gap:2px;margin-left:auto}
.pt-nav a{color:#cfdbe8;text-decoration:none;font:600 15px/1 var(--head);padding:10px 13px;border-radius:6px}
.pt-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.pt-menubtn{display:flex;align-items:center;gap:9px;white-space:nowrap;flex:none;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:600 14.5px/1 var(--head);border-radius:6px;padding:10px 14px;cursor:pointer}
.pt-menubtn:hover,.pt-menubtn[aria-expanded="true"]{background:var(--amber);border-color:var(--amber);color:var(--deep)}
.pt-menubtn-bars{width:15px;height:2px;background:currentColor;position:relative;display:inline-block}
.pt-menubtn-bars::before,.pt-menubtn-bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor}
.pt-menubtn-bars::before{top:-5px}.pt-menubtn-bars::after{top:5px}
.pt-drawer{background:var(--deep2);border-top:1px solid rgba(255,255,255,.08)}
.pt-drawer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:20px 18px 24px}
.pt-drawer-h{margin:0 0 8px;font:700 13px/1.2 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--amber)}
.pt-drawer-col ul{list-style:none;margin:0;padding:0}
.pt-drawer-col a{display:block;color:#dbe5ef;text-decoration:none;padding:6px 8px;border-radius:6px;font-size:15.5px;border-left:3px solid var(--st)}
.pt-drawer-col a:hover{background:rgba(255,255,255,.08);color:#fff}
.pt-drawer-col li+li{margin-top:4px}

/* ------------------------------------------------------------------- hero */
.pt-hero{position:relative;padding:46px 0 42px;background:radial-gradient(700px 360px at 85% 20%,rgba(31,122,140,.45),transparent 70%),linear-gradient(180deg,var(--deep) 0%,#163052 100%);color:#e8eef5;overflow:hidden}
.pt-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/40px 40px;pointer-events:none}
.pt-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:44px;align-items:center}
.pt-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font:600 13px/1 var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--amber)}
.pt-eyebrow::before{content:"";width:22px;height:2px;background:var(--amber)}
.pt-hero h1{margin:0 0 14px;font:800 clamp(36px,5vw,60px)/1.04 var(--head);color:#fff;letter-spacing:-1px}
.pt-hero-lede{margin:0 0 24px;font-size:18.5px;color:#c4d2e1;max-width:54ch}
.pt-hero-acts{display:flex;flex-wrap:wrap;gap:10px}
.pt-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line2);background:var(--card);color:var(--ink);font:700 15px/1 var(--head);border-radius:8px;padding:12px 18px;text-decoration:none;cursor:pointer}
.pt-btn:hover{border-color:var(--teal);color:var(--teal2)}
.pt-btn--main{background:var(--amber);border-color:var(--amber);color:var(--deep)}
.pt-btn--main:hover{background:#ffb95e;border-color:#ffb95e;color:var(--deep)}
.pt-hero .pt-btn:not(.pt-btn--main){background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.pt-hero .pt-btn:not(.pt-btn--main):hover{background:rgba(255,255,255,.1)}
.pt-hero-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:390px;margin-left:auto;transform:perspective(900px) rotateY(-12deg) rotateX(6deg)}
.pt-hero-tiles .pt-el{aspect-ratio:1;padding:8px 9px;border-radius:8px;box-shadow:0 18px 30px -18px rgba(0,0,0,.7)}
.pt-hero-tiles .pt-el abbr{font-size:34px}
.pt-hero-tiles .pt-el span{font-size:12px}
.pt-hero-tiles .pt-el small{font-size:11px}
.pt-hero-tiles .pt-el:nth-child(5){outline:3px solid var(--amber);outline-offset:3px}

/* ------------------------------------------------------- element tiles */
.pt-el{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;background:#e7edf3;color:#10202f;border-radius:5px;padding:4px 5px 3px;line-height:1;text-decoration:none}
.pt-el b{font:600 11px/1 var(--mono);color:rgba(16,32,47,.75)}
.pt-el abbr{display:block;text-decoration:none;font:800 22px/1.05 var(--head);letter-spacing:-.3px;text-align:center;margin-top:1px}
.pt-el span{display:block;font:500 9.5px/1.15 var(--sans);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-el small{display:block;font:400 9px/1.2 var(--mono);text-align:center;color:rgba(16,32,47,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-c-alk{background:var(--alk)}.pt-c-ae{background:var(--ae)}.pt-c-tm{background:var(--tm)}.pt-c-ptm{background:var(--ptm)}.pt-c-md{background:var(--md)}
.pt-c-nm{background:var(--nm)}.pt-c-hal{background:var(--hal)}.pt-c-ng{background:var(--ng)}.pt-c-la{background:var(--la)}.pt-c-ac{background:var(--ac)}

/* full periodic table grid */
.pt-ptable{margin:20px 0 22px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r);box-shadow:var(--shadow);padding:12px}
.pt-ptable-scroll{overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.pt-ptable-grid{display:grid;grid-template-columns:repeat(18,minmax(50px,1fr));grid-template-rows:repeat(7,auto) 12px repeat(2,auto);gap:3px;min-width:940px}
.pt-ptable-grid .pt-el{aspect-ratio:1/1.12;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .2s ease}
.pt-ptable-grid .pt-el:hover,.pt-ptable-grid .pt-el:focus-visible{transform:scale(1.18);z-index:3;box-shadow:0 10px 22px -8px rgba(0,0,0,.45);outline:2px solid var(--deep)}
.pt-ptable-grid .pt-el.is-dim{opacity:.18}
.pt-ptable-grid .pt-el.is-hit{outline:3px solid var(--amber);outline-offset:2px;transform:scale(1.2);z-index:4}
.pt-el-row{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding-right:8px;font:600 12px/1.2 var(--head);color:var(--ink2)}
.pt-el-row small{font:400 11px var(--mono);color:var(--mute)}
.pt-ptable--config .pt-el small{white-space:normal;font-size:8px;line-height:1.15}
.pt-ptable--config .pt-ptable-grid .pt-el{aspect-ratio:1/1.3}
.pt-ptable--config sup{font-size:.75em}
.pt-ptable--hi .pt-el span{font-size:10px}
.pt-ptable figcaption{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;margin-top:10px;font-size:13.5px;color:var(--mute)}
.pt-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.pt-legend li{font:600 12px/1 var(--sans);color:#10202f;padding:6px 9px;border-radius:5px;cursor:pointer;border:1.5px solid transparent}
.pt-legend li.is-on{border-color:var(--deep);box-shadow:0 0 0 2px #fff inset}

/* ------------------------------------------------------------------ tiles */
.pt-stream{padding:34px 0 6px}
.pt-row-h{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:clamp(24px,2.8vw,32px)}
.pt-row-h::before{content:"";width:14px;height:14px;border-radius:3px;background:var(--st)}
.pt-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.pt-tile a{position:relative;display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink);background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .15s ease,box-shadow .15s ease}
.pt-tile a:hover{transform:translateY(-3px);box-shadow:0 22px 34px -22px rgba(15,29,46,.6);border-color:var(--st)}
.pt-tile-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--deep)}
.pt-tile-img img{width:100%;height:100%;object-fit:cover}
.pt-tile-badge{position:absolute;left:10px;top:10px;font:600 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.6px;color:var(--deep);background:var(--amber);padding:6px 8px;border-radius:4px}
.pt-tile-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 15px;border-top:4px solid var(--st)}
.pt-tile-name{font:700 18px/1.25 var(--head)}
.pt-tile-meta{font:400 12.5px/1.3 var(--mono);color:var(--mute)}

/* ------------------------------------------------------------ page header */
.pt-pagehead{padding:30px 0 22px;background:linear-gradient(180deg,var(--deep) 0%,#173353 100%);color:#e8eef5}
.pt-trail{display:flex;flex-wrap:wrap;gap:8px;font:500 13.5px/1.3 var(--sans);color:#9fb3c8;margin:0 0 12px}
.pt-trail a{color:#9fb3c8;text-decoration:none}
.pt-trail a:hover{color:#fff}
.pt-pagehead h1{margin:0 0 14px;font:800 clamp(29px,4.2vw,46px)/1.1 var(--head);color:#fff;max-width:26ch}
.pt-pagehead-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.pt-pagehead-meta span{font:400 12.5px/1 var(--mono);color:#cfdbe8;border:1px solid rgba(255,255,255,.25);padding:7px 10px;border-radius:5px}
.pt-pagehead-meta span:first-child{background:var(--amber);border-color:var(--amber);color:var(--deep);font-weight:600}

/* ---------------------------------------------------------------- reading */
.pt-read{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:26px 18px 36px;max-width:960px}
.pt-read--narrow{max-width:780px}
.pt-read--home{max-width:1100px}
.pt-read--home .pt-intro,.pt-read--home .pt-key,.pt-read--home .pt-toc,.pt-read--home .pt-part>:not(.pt-ptable):not(.pt-table),.pt-read--home .pt-faq,.pt-read--home .pt-downloads,.pt-read--home .pt-tool{max-width:880px;margin-left:auto;margin-right:auto}
.pt-read--home .pt-part>:not(.pt-ptable):not(.pt-table){margin-left:auto;margin-right:auto}
.pt-read--home .pt-part>h2{max-width:880px}
.pt-article{min-width:0}
.pt-article p,.pt-article li{color:var(--ink2)}
.pt-article strong{color:var(--ink)}
.pt-intro p{font-size:18.5px;margin:0 0 14px}
.pt-intro p:first-child{font:500 20px/1.6 var(--sans);color:var(--ink)}
.pt-hero-img{margin:22px 0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.pt-math{overflow-x:auto;margin:14px 0}
.katex{font-size:1.08em}
.katex-display{margin:.6em 0;overflow-x:auto;overflow-y:hidden;padding:4px 2px}
.pt-part .katex-display{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px}

/* quick facts: element-card data panel */
.pt-key{position:relative;margin:26px 0;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);padding:18px 18px 14px;overflow:hidden}
.pt-key::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--alk),var(--tm),var(--nm),var(--ng))}
.pt-key-h{margin:0 0 12px;font:700 13px/1 var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--teal2)}
.pt-key ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.pt-key li{margin:0;padding:10px 12px;background:var(--bg);border-radius:8px;border:1px solid var(--line);min-width:0}
.pt-key-name{margin:0 0 3px;font:700 14px/1.3 var(--head);color:var(--ink)}
.pt-key-val,.pt-key-val p{margin:0;font-size:15.5px;color:var(--ink2)}
.pt-key-math .katex-display{margin:2px 0;text-align:left;background:none;border:0;padding:2px 0}
.pt-key-math .katex-display>.katex{text-align:left}
.pt-key-note{margin:4px 0 0;font-size:13px !important;line-height:1.45;color:var(--mute) !important}

.pt-toc{margin:28px 0;padding:16px 20px;background:var(--card);border-radius:var(--r);border:1px solid var(--line)}
.pt-toc p{margin:0 0 8px;font:700 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--teal2)}
.pt-toc ol{margin:0;padding-left:24px;columns:2;column-gap:28px}
.pt-toc li{margin:0 0 6px;break-inside:avoid;font-size:15.5px}
.pt-toc li::marker{font:600 12.5px var(--mono);color:var(--teal)}
.pt-toc a{color:var(--ink2);text-decoration:none}
.pt-toc a:hover,.pt-toc a[aria-current]{color:var(--teal2);text-decoration:underline}

.pt-part{padding:2px 0 6px}
.pt-part h2{display:flex;align-items:flex-start;gap:12px;margin:40px 0 12px;font-size:clamp(25px,3vw,32px);line-height:1.2}
.pt-part h2::before{content:"";flex:none;width:12px;height:30px;margin-top:2px;border-radius:3px;background:var(--teal)}
.pt-part h3{margin:22px 0 8px;font-size:21px;color:var(--teal2)}
.pt-part ol,.pt-part ul{padding-left:24px}
.pt-part li{margin:0 0 8px}
.pt-part ul>li::marker{color:var(--teal)}
.pt-part ol>li::marker{font:600 14px var(--mono);color:var(--teal2)}
.pt-example{margin:22px 0;padding:16px 18px 6px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:var(--r);box-shadow:var(--shadow)}
.pt-example::before{content:"Worked example";display:inline-block;font:600 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--deep);background:#ffe2b8;padding:5px 8px;border-radius:4px;margin-bottom:4px}
article[lang="hi"] .pt-example::before{content:"उदाहरण"}
.pt-example h3{margin:6px 0 10px;font-size:19px;color:var(--ink)}
.pt-note{margin:20px 0;padding:14px 18px;background:#e6f3f5;border-left:5px solid var(--teal);border-radius:0 var(--r) var(--r) 0}
.pt-note h3{margin-top:2px;font-size:18px}
.pt-note p:last-child,.pt-example p:last-child{margin-bottom:10px}
.pt-table{overflow-x:auto;margin:18px 0;background:var(--card);border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow)}
.pt-table table{border-collapse:collapse;width:100%;font-size:15.5px}
.pt-table caption{caption-side:top;text-align:left;font:600 14px var(--head);padding:10px 14px;color:var(--ink2)}
.pt-table th{position:sticky;top:0;background:var(--deep);color:#fff;text-align:left;font:600 13.5px/1.3 var(--head);padding:11px 14px}
.pt-table td{padding:9px 14px;border-top:1px solid var(--line);color:var(--ink2);vertical-align:top}
.pt-table tbody tr:nth-child(even) td{background:#f8fafc}
.pt-etable{max-height:640px;overflow:auto}
.pt-etable td:first-child{font-family:var(--mono);color:var(--mute)}
.pt-sym{display:inline-block;min-width:34px;text-align:center;font:800 15px/1 var(--head);color:var(--deep);background:#e3edf5;border-radius:4px;padding:5px 6px}
.pt-chem{font-family:var(--mono);color:var(--ink)}
.pt-table sup,.pt-table sub{font-size:.72em}

/* downloads */
.pt-downloads{margin:30px 0 14px}
.pt-downloads h2{font-size:clamp(25px,3vw,32px);margin:0 0 14px}
.pt-dl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pt-dl a{display:flex;flex-direction:column;gap:6px;height:100%;padding:12px 12px 14px;background:var(--card);border-radius:var(--r);border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s ease}
.pt-dl a:hover{transform:translateY(-3px);border-color:var(--teal)}
.pt-dl-img{display:block;aspect-ratio:600/424;overflow:hidden;border-radius:6px;background:var(--bg);border:1px solid var(--line)}
.pt-dl-img img{width:100%;height:100%;object-fit:cover}
.pt-dl-t{font:700 17px/1.3 var(--head)}
.pt-dl-d{font-size:14.5px;color:var(--ink2);line-height:1.5}
.pt-dl-m{font:400 12px/1.3 var(--mono);color:var(--mute)}
.pt-dl .pt-btn{align-self:flex-start;margin-top:auto;padding:9px 14px;font-size:14px}

.pt-faq{margin:36px 0 8px}
.pt-faq h2{font-size:clamp(25px,3vw,32px);margin:0 0 14px}
.pt-faq details{background:var(--card);border-radius:var(--r);border:1px solid var(--line);margin:0 0 8px}
.pt-faq details[open]{border-color:var(--teal);box-shadow:var(--shadow)}
.pt-faq summary{cursor:pointer;padding:15px 54px 15px 18px;font:600 16.5px/1.45 var(--head);color:var(--ink);list-style:none;position:relative}
.pt-faq summary::-webkit-details-marker{display:none}
.pt-faq summary::after{content:"+";position:absolute;right:14px;top:12px;width:28px;height:28px;border-radius:6px;background:var(--bg);color:var(--teal2);font:600 18px/28px var(--mono);text-align:center}
.pt-faq details[open] summary::after{content:"−";background:var(--teal);color:#fff}
.pt-faq-a{padding:0 18px 12px}
.pt-faq-a p{margin:0 0 8px}

.pt-related h2{font-size:26px;margin:10px 0 14px}
.pt-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.pt-related a{display:flex;flex-direction:column;height:100%;text-decoration:none;background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.pt-related a:hover{border-color:var(--teal)}
.pt-related img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pt-related b{font:700 16.5px/1.25 var(--head);color:var(--ink);padding:10px 12px 2px}
.pt-related span{font:400 12px/1.3 var(--mono);color:var(--mute);padding:0 12px 12px}
.pt-ad{margin:22px 0;text-align:center}

/* -------------------------------------------------------------------- tools */
.pt-tool{margin:24px 0}
.pt-calc{background:var(--deep);color:#e6edf5;border-radius:14px;padding:20px;box-shadow:0 24px 40px -28px rgba(10,24,40,.9)}
.pt-calc-h{margin:0 0 10px;font:700 21px/1.25 var(--head);color:#fff !important}
.pt-calc-sub{margin:10px 0 0;font-size:14px;color:#9fb3c8 !important}
.pt-search{display:flex;gap:8px}
.pt-search input,.pt-field input{flex:1;min-width:0;width:100%;font:500 17px/1.3 var(--mono);color:var(--ink);background:#fff;border:2px solid transparent;border-radius:8px;padding:11px 13px}
.pt-search input:focus,.pt-field input:focus{outline:none;border-color:var(--amber)}
.pt-field{display:flex;flex-direction:column;gap:6px}
.pt-field span{font:600 14px/1.2 var(--head);color:#cfdbe8}
.pt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.pt-chips button{border:1.5px solid rgba(255,255,255,.25);background:transparent;color:#e6edf5;font:600 13.5px/1 var(--sans);padding:8px 11px;border-radius:6px;cursor:pointer}
.pt-chips button:hover{border-color:var(--amber)}
.pt-chips button[aria-pressed="true"]{background:var(--amber);border-color:var(--amber);color:var(--deep)}
.pt-chips sub{font-size:.75em}
.pt-out{margin-top:14px}
.pt-out p{color:#d4dfeb}
.pt-res-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 12px}
.pt-res{display:flex;flex-direction:column;gap:5px;padding:12px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;min-width:0}
.pt-res span{font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.5px;color:#9fb3c8}
.pt-res b{font:600 20px/1.3 var(--mono);color:#fff;overflow-wrap:anywhere}
.pt-res small{font-size:13px;color:#9fb3c8}
.pt-res sup,.pt-res sub,.pt-conf-full sup{font-size:.7em}
.pt-conf-full{font-family:var(--mono);font-size:15px;overflow-wrap:anywhere}
.pt-err{padding:10px 14px;background:rgba(255,120,120,.14);border-left:4px solid #ff8a80;border-radius:0 8px 8px 0;color:#ffd7d3 !important;margin:0}
.pt-note-inline{padding:10px 14px;background:rgba(242,165,65,.15);border-left:4px solid var(--amber);border-radius:0 8px 8px 0}
.pt-orbs{display:flex;flex-wrap:wrap;gap:10px 18px;margin:6px 0 12px}
.pt-orbrow{display:flex;align-items:center;gap:3px}
.pt-orbrow b{font:600 14px var(--mono);color:var(--amber);margin-right:6px}
.pt-orb{display:inline-flex;align-items:center;justify-content:center;gap:1px;width:30px;height:34px;background:#fff;color:var(--deep);border-radius:3px;font:700 17px/1 var(--sans)}
.pt-orb i{font-style:normal}
.pt-calc .pt-table{background:#fff;margin:6px 0 0}
.pt-calc .pt-table td{color:var(--ink2)}
.pt-finder .pt-field span{color:#fff;font-size:15px}

/* element details dialog */
.pt-dlg{border:0;padding:0;border-radius:16px;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 40px);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);color:var(--ink)}
.pt-dlg::backdrop{background:rgba(10,24,40,.6)}
.pt-dlg-x{position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.75);font:400 24px/1 var(--sans);cursor:pointer;z-index:2}
.pt-dlg-top{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"z z" "s n" "s m";column-gap:16px;padding:18px 20px 16px}
.pt-dlg-top b{grid-area:z;font:600 14px var(--mono)}
.pt-dlg-top abbr{grid-area:s;font:800 64px/1 var(--head);text-decoration:none}
.pt-dlg-top span{grid-area:n;align-self:end;font:700 24px/1.1 var(--head)}
.pt-dlg-top small{grid-area:m;font:400 14px var(--mono)}
.pt-dlg-list{margin:0;padding:6px 20px 4px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.pt-dlg-list div{padding:8px 0;border-bottom:1px solid var(--line)}
.pt-dlg-list dt{font:600 11.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.4px;color:var(--mute)}
.pt-dlg-list dd{margin:3px 0 0;font:600 15.5px/1.3 var(--sans)}
.pt-dlg-list sup{font-size:.7em}
.pt-dlg-full{margin:8px 20px 6px;font:400 13px/1.5 var(--mono);color:var(--ink2);overflow-wrap:anywhere}
.pt-dlg-nav{display:flex;justify-content:space-between;padding:8px 14px 14px}
.pt-dlg-nav button{border:1.5px solid var(--line2);background:#fff;border-radius:8px;padding:8px 12px;font:600 14px var(--head);cursor:pointer}

/* -------------------------------------------------------------- blog bits */
.pt-latest{padding:12px 18px 34px}
.pt-latest h2{font-size:28px}
.pt-latest ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pt-latest a{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;background:var(--card);border-radius:var(--r);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.pt-latest small{font-family:var(--mono);color:var(--mute);flex:none}
.pt-latest-more{display:inline-block;margin-top:12px;font-weight:600}
.pt-list-title{padding:30px 0 8px}
.pt-list-title h1{margin:0;font-size:clamp(30px,3.8vw,42px)}
.pt-postlist{display:grid;gap:12px;padding:6px 0 26px}
.pt-postrow{padding:16px 18px;background:var(--card);border-radius:var(--r);border:1px solid var(--line)}
.pt-postrow h2{margin:0 0 4px;font-size:21px}
.pt-postrow h2 a{color:var(--ink);text-decoration:none}
.pt-date{color:var(--mute);font:400 13px var(--mono);margin:0 0 6px}
.pt-pager{display:flex;gap:8px;justify-content:center;padding:6px 0 30px}
.pt-pager a,.pt-pager span{padding:9px 14px;background:var(--card);border-radius:8px;border:1px solid var(--line);text-decoration:none}
.pt-article--post p{color:var(--ink2)}

/* ---------------------------------------------------------------- footer */
.pt-foot{margin-top:34px;background:var(--deep2);color:#c3d0de}
.pt-foot::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--alk) 0 10%,var(--ae) 10% 20%,var(--tm) 20% 40%,var(--ptm) 40% 50%,var(--md) 50% 58%,var(--nm) 58% 68%,var(--hal) 68% 76%,var(--ng) 76% 86%,var(--la) 86% 93%,var(--ac) 93%)}
.pt-foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(auto-fit,minmax(170px,1fr));gap:26px;padding:36px 18px 22px}
.pt-foot-brand p{margin:0 0 10px;font-size:14.5px;color:#9fb0c3;max-width:46ch}
.pt-logo--foot span{font:600 22px/1 var(--head);color:#fff}
.pt-logo--foot b{color:var(--amber)}
.pt-foot-legal-note{font-size:13px !important;color:#7f93aa !important}
.pt-foot a{color:#e3eaf2}
.pt-foot-h{margin:0 0 8px;font:700 12.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--amber)}
.pt-foot-col ul{list-style:none;margin:0;padding:0}
.pt-foot-col a{display:block;padding:3px 0;font-size:14.5px;text-decoration:none}
.pt-foot-col a:hover{color:#fff;text-decoration:underline}
.pt-foot-legal{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 18px 22px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#7f93aa}
.pt-foot-legal a{color:#7f93aa;text-decoration:none}
.pt-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--teal);color:#fff;padding:11px 18px;border-radius:8px;font-weight:600;z-index:95}

@media print{
	.pt-top,.pt-foot,.pt-toc,.pt-tool,.pt-related,.pt-ad,.pt-downloads,.pt-hero-img{display:none !important}
	body{background:#fff;font-size:12pt}
	.pt-pagehead{background:none;color:#000}.pt-pagehead h1{color:#000}
	.pt-etable{max-height:none;overflow:visible}
}

@media (max-width:960px){.pt-hero-grid{grid-template-columns:1fr}.pt-hero-tiles{margin:0;transform:none;max-width:340px}.pt-nav{display:none}.pt-menubtn{margin-left:auto}}
@media (max-width:640px){
	body{font-size:16.5px}
	.pt-hero{padding:30px 0 30px}
	.pt-hero-tiles{max-width:100%;grid-template-columns:repeat(5,1fr);gap:6px}
	.pt-hero-tiles .pt-el:nth-child(n+6){display:none}
	.pt-hero-tiles .pt-el abbr{font-size:22px}
	.pt-hero-tiles .pt-el span,.pt-hero-tiles .pt-el small{display:none}
	.pt-toc ol{columns:1}
	.pt-foot-grid{grid-template-columns:1fr}
	.pt-logo span{font-size:18px}
	.pt-logo img{width:30px;height:30px}
	.pt-tiles{grid-template-columns:1fr 1fr;gap:12px}
	.pt-tile-name{font-size:15.5px}
	.pt-tile-body{padding:10px 10px 12px}
	.pt-key ul{grid-template-columns:1fr}
	.pt-calc{padding:16px 14px;border-radius:12px}
	.pt-dlg-list{grid-template-columns:1fr}
	.pt-ptable{padding:8px;margin-left:-8px;margin-right:-8px}
}
@media (max-width:380px){.pt-tiles{grid-template-columns:1fr}.pt-search{flex-direction:column}}
