.pdoc{--brand:#2d5016;--brand-dim:rgba(45,80,22,.1);--pd-brand-deep:#22400f;--pd-brand-soft:#e4ebdd;--pd-on-brand:#f5f0e8;--pd-on-brand-muted:hsla(37,39%,94%,.72);--pd-oura:var(--sleep);--pd-oura-dim:var(--sleep-dim);--pd-whoop:var(--text-muted);--pd-whoop-dim:var(--bg-elevated);--pd-warn:#9a7a0a;--pd-warn-dim:#fff8e0;--pd-code-bg:#efebe2;--pd-shadow:0 1px 2px rgba(26,26,18,.06),0 10px 28px -14px rgba(26,26,18,.22);background:var(--bg);color:var(--text);font-family:var(--font-inter,"Inter",system-ui,sans-serif);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}html.dark .pdoc{--brand:#5faf7d;--brand-dim:rgba(95,175,125,.14);--pd-brand-deep:#16321f;--pd-brand-soft:#1a3d2f;--pd-on-brand:#f0efff;--pd-on-brand-muted:rgba(240,239,255,.68);--pd-warn:#ffd93d;--pd-warn-dim:#3d3410;--pd-code-bg:#12121a;--pd-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px -14px rgba(0,0,0,.7)}.pdoc .mono,.pdoc code,.pdoc pre{font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace)}.pdoc a{color:var(--brand);text-decoration:none}.pdoc a:focus-visible,.pdoc a:hover{text-decoration:underline}.pdoc :focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}.pdoc .hero{background:var(--pd-brand-deep);color:var(--pd-on-brand);padding:136px 28px 96px;position:relative;overflow:hidden}.pdoc .hero:after{content:"";position:absolute;inset:auto -10% -60% auto;width:60%;height:140%;background:radial-gradient(closest-side,hsla(0,0%,100%,.07),transparent 70%);pointer-events:none}.pdoc .hero-inner{max-width:1180px;margin:0 auto;position:relative}.pdoc .hero .eyebrow{color:var(--pd-on-brand-muted)}.pdoc .hero .eyebrow b{color:var(--pd-on-brand);font-weight:700}.pdoc .hero .eyebrow a{color:inherit}.pdoc .hero h1{color:var(--pd-on-brand);margin-top:14px;max-width:22ch}.pdoc .hero .lede{color:var(--pd-on-brand-muted);font-size:18px;max-width:62ch;margin-top:16px}.pdoc .hero .meta{color:var(--pd-on-brand-muted);font-size:13px;margin-top:14px}.pdoc .hero .meta code{background:hsla(0,0%,100%,.1);color:var(--pd-on-brand);padding:1px 6px;border-radius:4px}.pdoc .page{max-width:1180px;margin:-56px auto 0;padding:0 28px 96px;display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;align-items:start;position:relative}.pdoc .page.single{grid-template-columns:minmax(0,1fr)}@media (max-width:900px){.pdoc .page{grid-template-columns:minmax(0,1fr);gap:24px;padding:0 18px 72px}.pdoc nav.toc{position:static;padding-top:0}.pdoc .hero{padding:120px 18px 88px}}.pdoc nav.toc{position:sticky;top:88px;padding-top:72px;font-size:13px;display:flex;flex-direction:column;gap:3px}.pdoc nav.toc .toc-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-weight:600;margin-bottom:6px}.pdoc nav.toc .toc-part{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:700;margin:12px 0 4px 10px}.pdoc nav.toc a{color:var(--text-muted);padding:4px 0 4px 10px;border-left:2px solid var(--border-subtle);display:block}.pdoc nav.toc a:hover{color:var(--text);border-left-color:var(--brand);text-decoration:none}.pdoc main{min-width:0}.pdoc h1,.pdoc h2,.pdoc h3{text-wrap:balance;margin:0;letter-spacing:-.015em}.pdoc h1{font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.08}.pdoc h2{font-size:25px;font-weight:750;line-height:1.2;margin-top:8px}.pdoc h3{font-size:17px;font-weight:650;margin-top:30px}.pdoc .section{margin-top:64px;padding-top:24px;border-top:1px solid var(--border)}.pdoc .section.first{margin-top:48px;border-top:0;padding-top:0}.pdoc .part{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:700;display:flex;align-items:center;gap:8px}.pdoc .part:before{content:"";width:18px;height:2px;background:var(--brand);border-radius:1px}.pdoc p{margin:12px 0;max-width:70ch}.pdoc ol,.pdoc ul{margin:10px 0;padding-left:22px;max-width:70ch}.pdoc li{margin:5px 0}.pdoc li::marker{color:var(--brand)}.pdoc strong{font-weight:650}.pdoc .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pdoc .eyebrow .sep{opacity:.5;font-weight:400;letter-spacing:0}.pdoc .figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-card);box-shadow:var(--pd-shadow)}.pdoc .figure{padding:18px 20px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.pdoc .figure:nth-child(3n){border-right:0}.pdoc .figure:nth-child(n+4){border-bottom:0}@media (max-width:640px){.pdoc .figures{grid-template-columns:repeat(2,minmax(0,1fr))}.pdoc .figure:nth-child(3n){border-right:1px solid var(--border-subtle)}.pdoc .figure:nth-child(2n){border-right:0}.pdoc .figure:nth-child(n+4){border-bottom:1px solid var(--border-subtle)}.pdoc .figure:nth-child(n+5){border-bottom:0}}.pdoc .figure .n{font-size:28px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--brand);line-height:1.1}.pdoc .figure .n small{font-size:14px;font-weight:500;color:var(--text-muted);margin-left:3px}.pdoc .figure .l{font-size:12.5px;color:var(--text-muted);margin-top:6px;line-height:1.35}.pdoc .figure .l code{font-size:11px;color:var(--text-dim)}.pdoc .modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 8px}@media (max-width:760px){.pdoc .modes{grid-template-columns:minmax(0,1fr)}}.pdoc .mode{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px}.pdoc .mode .glyph{width:40px;height:40px;color:var(--brand)}.pdoc .mode .glyph svg{width:100%;height:100%;display:block}.pdoc .mode h4{margin:0;font-size:16px;font-weight:700}.pdoc .mode .when{font-size:12px;color:var(--brand);font-weight:600;letter-spacing:.02em}.pdoc .mode p{margin:0;font-size:14px;color:var(--text-muted);max-width:none}.pdoc .mode dl{margin:4px 0 0;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:13px}.pdoc .mode dt{color:var(--text-dim)}.pdoc .mode dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.pdoc .mode a{margin-top:auto;font-size:13px;font-weight:600}.pdoc .note{border-left:3px solid var(--brand);background:var(--brand-dim);padding:12px 16px;border-radius:0 8px 8px 0;margin:18px 0;max-width:72ch;font-size:15px}.pdoc .note.warn{border-left-color:var(--pd-warn);background:var(--pd-warn-dim)}.pdoc .note p{margin:0;max-width:none}.pdoc .note p+p{margin-top:8px}.pdoc .tablewrap{overflow-x:auto;margin:16px 0;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.pdoc table{border-collapse:collapse;width:100%;font-size:14px;min-width:620px}.pdoc td,.pdoc th{text-align:left;padding:11px 14px;vertical-align:top;border-bottom:1px solid var(--border-subtle)}.pdoc th{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:600;background:var(--bg-elevated)}.pdoc tr:last-child td{border-bottom:0}.pdoc td code{font-size:12.5px;background:var(--pd-code-bg);padding:1px 5px;border-radius:4px;white-space:nowrap}.pdoc td.num,.pdoc th.num{font-variant-numeric:tabular-nums;text-align:right}.pdoc td .sub{display:block;color:var(--text-muted);font-size:13px;margin-top:2px}.pdoc .chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.01em;padding:2px 9px 2px 7px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.pdoc .chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pdoc .chip.apple{color:var(--brand);background:var(--brand-dim);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.pdoc .chip.oura{color:var(--pd-oura);background:var(--pd-oura-dim);border-color:color-mix(in srgb,var(--pd-oura) 30%,transparent)}.pdoc .chip.whoop{color:var(--pd-whoop);background:var(--pd-whoop-dim);border-color:color-mix(in srgb,var(--pd-whoop) 30%,transparent)}.pdoc .chip.none{color:var(--text-dim);background:var(--bg-elevated);border-color:var(--border-subtle)}.pdoc .chip.none:before{background:transparent;border:1.5px solid;width:5px;height:5px}.pdoc pre{background:var(--pd-code-bg);border:1px solid var(--border-subtle);border-radius:10px;padding:16px 18px;overflow-x:auto;font-size:13px;line-height:1.55;margin:14px 0}.pdoc pre .c{color:var(--text-dim)}.pdoc pre .k{color:var(--brand);font-weight:600}.pdoc pre .s{color:var(--pd-oura)}.pdoc dd code,.pdoc li code,.pdoc p code{font-size:13.5px;background:var(--pd-code-bg);padding:1px 5px;border-radius:4px}.pdoc .path{font-size:12.5px;color:var(--text-dim)}.pdoc .compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:18px 0}.pdoc .panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px 20px}.pdoc .panel h4{margin:0 0 6px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}.pdoc .panel h4 .tag{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:var(--brand-dim);padding:2px 7px;border-radius:4px}.pdoc .panel p,.pdoc .panel ul{font-size:14px;max-width:none}.pdoc .panel ul{padding-left:18px}.pdoc .seq{list-style:none;padding:0;margin:18px 0;max-width:72ch;counter-reset:step}.pdoc .seq li{position:relative;padding:0 0 18px 40px;margin:0 0 0 13px;border-left:1px solid var(--border)}.pdoc .seq li:last-child{border-left-color:transparent;padding-bottom:0}.pdoc .seq li:before{counter-increment:step;content:counter(step);position:absolute;left:-14px;top:-2px;width:27px;height:27px;border-radius:50%;background:var(--brand);color:var(--pd-on-brand);font-size:12px;font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums}.pdoc .seq li b{display:block;font-weight:650}.pdoc .seq li span{color:var(--text-muted);font-size:14.5px}.pdoc .fig{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px 16px 10px;margin:22px 0;overflow-x:auto;box-shadow:var(--pd-shadow)}.pdoc .fig svg{display:block;width:100%;min-width:720px;height:auto;font-family:var(--font-inter,"Inter",system-ui,sans-serif)}.pdoc .fig .cap{font-size:12.5px;color:var(--text-dim);text-align:center;margin:10px 0 4px;max-width:none}.pdoc .d-box{fill:var(--bg-elevated);stroke:var(--border);stroke-width:1}.pdoc .d-box.apple{fill:var(--brand-dim);stroke:var(--brand)}.pdoc .d-box.oura{fill:var(--pd-oura-dim);stroke:var(--pd-oura)}.pdoc .d-box.db{fill:var(--bg-card);stroke:var(--text-dim)}.pdoc .d-box.merge{fill:var(--brand);stroke:var(--brand)}.pdoc .d-t{fill:var(--text);font-size:12.5px;font-weight:600}.pdoc .d-t.on{fill:var(--pd-on-brand)}.pdoc .d-s{fill:var(--text-muted);font-size:11px}.pdoc .d-s.on{fill:var(--pd-on-brand-muted)}.pdoc .d-m{fill:var(--text-muted);font-size:10.5px;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace)}.pdoc .d-m.on{fill:var(--pd-on-brand-muted)}.pdoc .d-line{stroke:var(--text-dim);stroke-width:1.25;fill:none}.pdoc .d-line.apple{stroke:var(--brand)}.pdoc .d-line.oura{stroke:var(--pd-oura)}.pdoc .d-line.dash{stroke-dasharray:3 3}.pdoc .d-lbl{font-size:10.5px}.pdoc .d-arrow,.pdoc .d-lbl{fill:var(--text-dim)}.pdoc .d-arrow.apple{fill:var(--brand)}.pdoc .d-arrow.oura{fill:var(--pd-oura)}.pdoc .d-lane{fill:var(--text-dim);font-size:10.5px;letter-spacing:.08em;font-weight:600}.pdoc .d-axis{stroke:var(--border);stroke-width:1}.pdoc .d-tick{fill:var(--text-dim);font-size:10.5px;font-variant-numeric:tabular-nums}.pdoc .d-row{fill:var(--text);font-size:12px;font-weight:600}.pdoc .d-rowsub{fill:var(--text-muted);font-size:10.5px}.pdoc .d-mark{fill:var(--brand)}.pdoc .d-mark.hollow{fill:var(--bg-card);stroke:var(--brand);stroke-width:1.5}.pdoc .d-mark.oura{fill:var(--pd-oura)}.pdoc .d-bar{fill:var(--pd-brand-soft);stroke:var(--brand);stroke-width:1}.pdoc .d-bar.strong{fill:var(--brand)}.pdoc .d-bar.faint{fill:var(--bg-elevated);stroke:var(--border)}.pdoc .d-grid{stroke:var(--border-subtle);stroke-width:1}.pdoc .d-ann{fill:var(--text-muted);font-size:11px}.pdoc .d-ann.b{fill:var(--brand);font-weight:600}.pdoc .d-ann.w{fill:var(--pd-warn);font-weight:600}.pdoc .d-zoom{fill:var(--brand-dim);stroke:var(--brand);stroke-width:1;stroke-dasharray:3 3}.pdoc .d-range{stroke:var(--brand);stroke-width:6;stroke-linecap:round}.pdoc .layers{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;gap:0;align-items:stretch;margin:20px 0}@media (max-width:900px){.pdoc .layers{grid-template-columns:minmax(0,1fr)}.pdoc .layers .arrow{transform:rotate(90deg);height:24px}}.pdoc .layer{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 14px 12px;min-width:0;display:flex;flex-direction:column;gap:8px}.pdoc .layer.canon{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.pdoc .layer .lh{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:700}.pdoc .layer .lt{font-size:14px;font-weight:700}.pdoc .layer .lt code{font-size:12.5px}.pdoc .layer p{font-size:13px;color:var(--text-muted);margin:0}.pdoc .mini{width:100%;border-collapse:collapse;font-size:11.5px;min-width:0}.pdoc .mini td,.pdoc .mini th{padding:4px 6px;border-bottom:1px solid var(--border-subtle)}.pdoc .mini th{background:transparent;font-size:10px}.pdoc .mini td{font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:11px;white-space:nowrap}.pdoc .mini td.win{color:var(--brand);font-weight:600}.pdoc .mini td.dim{color:var(--text-dim)}.pdoc .layers .arrow{display:grid;place-items:center;color:var(--text-dim)}.pdoc .layers .arrow svg{width:16px;height:16px}.pdoc .race{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px 20px 14px;margin:20px 0;display:grid;gap:18px}.pdoc .race .case{display:grid;grid-template-columns:200px minmax(0,1fr);gap:6px 18px;align-items:center}@media (max-width:640px){.pdoc .race .case{grid-template-columns:minmax(0,1fr)}}.pdoc .race .case .t{font-size:13.5px;font-weight:600}.pdoc .race .case .t small{display:block;color:var(--text-muted);font-weight:400;font-size:12.5px}.pdoc .race .bars{display:grid;gap:7px}.pdoc .race .bar{display:grid;grid-template-columns:84px minmax(0,1fr) 70px;align-items:center;gap:10px;font-size:12.5px}.pdoc .race .bar .src{color:var(--text-muted)}.pdoc .race .bar .track{height:14px;background:var(--bg-elevated);border-radius:4px;overflow:hidden;position:relative}.pdoc .race .bar .fill{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--border)}.pdoc .race .bar.apple .fill{background:var(--pd-brand-soft);border-right:2px solid var(--brand)}.pdoc .race .bar.oura .fill{background:var(--pd-oura-dim);border-right:2px solid var(--pd-oura)}.pdoc .race .bar.win .fill{background:var(--brand);border-right:0}.pdoc .race .bar.win.oura .fill{background:var(--pd-oura)}.pdoc .race .bar .val{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-muted)}.pdoc .race .bar.win .val{color:var(--text);font-weight:700}.pdoc .race .bar.dropped .val{text-decoration:line-through;color:var(--text-dim)}.pdoc .race .verdict{font-size:12.5px;color:var(--brand);font-weight:600;margin:0}.pdoc .index-list{display:grid;gap:12px;margin:20px 0 0}.pdoc .index-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;color:inherit;transition:border-color .12s ease}.pdoc .index-card:hover{border-color:var(--brand);text-decoration:none}.pdoc .index-card .ic-section{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:700}.pdoc .index-card .ic-title{font-size:17px;font-weight:700;margin-top:4px}.pdoc .index-card .ic-desc{font-size:14px;color:var(--text-muted);margin:6px 0 0;max-width:none}.pdoc .index-card .ic-meta{font-size:12px;color:var(--text-dim);margin-top:10px;font-variant-numeric:tabular-nums}.pdoc .doc-footer{margin-top:64px;padding-top:18px;border-top:1px solid var(--border);font-size:13px;color:var(--text-dim);max-width:70ch}