@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Serif";src:url(/fonts/IBMPlexSerif-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Serif";src:url(/fonts/IBMPlexSerif-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Serif";src:url(/fonts/IBMPlexSerif-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--font-sans:"IBM Plex Sans","Söhne",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--font-serif:"IBM Plex Serif",Charter,"Iowan Old Style",Georgia,serif;--num:"tnum" 1,"lnum" 1,"cv02" 1,"cv03" 1,"cv04" 1,"ss01" 1;--paper:oklch(98.8% 0.004 250);--paper-2:oklch(97.2% 0.004 250);--paper-3:oklch(94.8% 0.005 250);--ink:oklch(18% 0.012 250);--ink-2:oklch(38% 0.010 250);--ink-3:oklch(58% 0.008 250);--rule:oklch(89% 0.008 250);--rule-2:oklch(82% 0.010 250);--accent:oklch(46% 0.16 252);--accent-ink:oklch(98% 0.004 250);--accent-soft:oklch(94% 0.04 252);--ok:oklch(48% 0.13 152);--ok-soft:oklch(94% 0.04 152);--warn:oklch(60% 0.13 75);--warn-soft:oklch(94% 0.05 80);--err:oklch(48% 0.19 28);--err-soft:oklch(94% 0.05 28);--info:oklch(46% 0.10 240);--d:1;--u:calc(4px * var(--d));--tx-body:14px;--tx-meta:12px;--tx-mono:12.5px;--tx-caveat:15px;--radius:2px;--radius-2:4px}.theme-dark{--paper:oklch(14% 0.010 250);--paper-2:oklch(17% 0.012 250);--paper-3:oklch(21% 0.012 250);--ink:oklch(94% 0.006 250);--ink-2:oklch(74% 0.010 250);--ink-3:oklch(56% 0.012 250);--rule:oklch(28% 0.012 250);--rule-2:oklch(36% 0.014 250);--accent:oklch(72% 0.14 252);--accent-ink:oklch(14% 0.010 250);--accent-soft:oklch(28% 0.05 252);--ok:oklch(72% 0.14 152);--ok-soft:oklch(26% 0.05 152);--warn:oklch(78% 0.13 78);--warn-soft:oklch(28% 0.06 80);--err:oklch(72% 0.18 28);--err-soft:oklch(28% 0.07 28);--info:oklch(72% 0.12 240)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:var(--num);font-size:var(--tx-body);line-height:1.45;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer}.mono,code,pre{font-family:var(--font-mono);font-size:var(--tx-mono)}.serif{font-family:var(--font-serif)}.tabular{font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}::selection{background:var(--accent);color:var(--accent-ink)}.shell{flex-direction:column;min-height:100vh;background:var(--paper)}.row,.shell{display:flex}.row{align-items:center;gap:calc(var(--u) * 3)}.mono-meta,.muted{color:var(--ink-3)}.mono-meta{font-family:var(--font-mono);font-size:var(--tx-meta);letter-spacing:.02em}.theme-toggle{cursor:pointer;transition:background-color .12s,color .12s}.theme-toggle:hover{background:var(--paper-2);color:var(--ink)}.disclaimer{background:oklch(96% .04 75);color:oklch(28% .06 60);border-bottom:1px solid oklch(82% .06 75);font-size:var(--tx-meta);letter-spacing:.005em}.theme-dark .disclaimer{background:oklch(24% .05 70);color:oklch(88% .06 80);border-bottom-color:oklch(36% .06 70)}.disclaimer-row{max-width:1440px;margin:0 auto;padding:calc(var(--u) * 2) calc(var(--u) * 8);display:flex;align-items:center;gap:calc(var(--u) * 3)}.disclaimer-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border:1px solid;border-radius:var(--radius);flex-shrink:0}.caveats{border-top:1px solid var(--rule);background:var(--paper-2);margin-top:auto}.caveats-inner{max-width:1440px;margin:0 auto;padding:calc(var(--u) * 5) calc(var(--u) * 8) calc(var(--u) * 5);display:grid;grid-template-columns:minmax(180px,240px) 1fr;grid-gap:calc(var(--u) * 6);gap:calc(var(--u) * 6);align-items:start}.caveats h3{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;font-weight:500}.caveats .lead{font-size:var(--tx-meta);color:var(--ink-2);margin-top:calc(var(--u) * 2);max-width:220px;line-height:1.5}.caveats ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:calc(var(--u) * 4) calc(var(--u) * 6);gap:calc(var(--u) * 4) calc(var(--u) * 6);counter-reset:cav}.caveats li{counter-increment:cav;position:relative;padding-left:calc(var(--u) * 7);font-family:var(--font-serif);font-size:var(--tx-caveat);line-height:1.4;color:var(--ink);letter-spacing:-.005em}.caveats li:before{content:counter(cav,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.caveats li em{font-style:italic;color:var(--ink-2)}.caveats-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;margin-top:calc(var(--u) * 4);padding-top:calc(var(--u) * 3);border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.02em}@media (max-width:900px){.caveats ol,.caveats-inner{grid-template-columns:1fr}}.p2-brand,.p2-shell{background:var(--paper)}.p2-brand{border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:10}.p2-brand-inner{max-width:1200px;margin:0 auto;padding:calc(var(--u) * 4) calc(var(--u) * 8);display:grid;grid-template-columns:auto 1fr auto;grid-gap:calc(var(--u) * 8);gap:calc(var(--u) * 8);align-items:center}.p2-brand-lock{display:flex;align-items:center;gap:calc(var(--u) * 2.5);color:var(--ink)}.p2-mark{position:relative;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.p2-mark:after,.p2-mark:before{content:"";border-radius:50%;position:absolute}.p2-mark:before{width:28px;height:28px;border:1.5px solid var(--accent)}.p2-mark:after{width:8px;height:8px;background:var(--accent)}.p2-wordmark{font-size:18px;font-weight:500;letter-spacing:-.015em;white-space:nowrap}.p2-portal-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-left:calc(var(--u) * 2);border-left:1px solid var(--rule);margin-left:calc(var(--u) * 1)}.p2-nav{display:flex;gap:calc(var(--u) * 7);justify-content:center;font-size:13.5px;color:var(--ink-2)}.p2-nav a{letter-spacing:-.005em}.p2-nav a:hover{color:var(--accent)}.p2-meta{display:flex;align-items:center;gap:calc(var(--u) * 2)}.p2-main{flex:1 1}.p2-landing{max-width:920px;margin:0 auto;padding:calc(var(--u) * 14) calc(var(--u) * 8) calc(var(--u) * 12)}.p2-hero{margin-bottom:calc(var(--u) * 18);position:relative}.p2-hero-mark{width:64px;height:64px;margin-bottom:calc(var(--u) * 8);position:relative;display:flex;align-items:center;justify-content:center}.p2-hero-mark:after,.p2-hero-mark:before{content:"";border-radius:50%;position:absolute}.p2-hero-mark:before{width:64px;height:64px;border:2px solid var(--accent)}.p2-hero-mark:after{width:16px;height:16px;background:var(--accent)}.p2-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 calc(var(--u) * 4)}.p2-h1{font-family:var(--font-serif);font-weight:400;font-size:38px;line-height:1.18;letter-spacing:-.015em;color:var(--ink);margin:0;max-width:22ch;text-wrap:pretty}.p2-hero-foot{display:flex;gap:calc(var(--u) * 8);margin-top:calc(var(--u) * 8);padding-top:calc(var(--u) * 5);border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:12.5px;letter-spacing:.01em}.p2-link{color:var(--ink);border-bottom:1px solid var(--rule-2);padding-bottom:1px;transition:border-color .12s,color .12s}.p2-link:hover{color:var(--accent);border-color:var(--accent)}.p2-section{margin-top:calc(var(--u) * 16);scroll-margin-top:calc(var(--u) * 20)}.p2-section-alt{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:calc(var(--u) * 10)}.p2-section-quiet{margin-top:calc(var(--u) * 12)}.p2-section-head{display:flex;align-items:baseline;gap:calc(var(--u) * 4);margin-bottom:calc(var(--u) * 6);padding-bottom:calc(var(--u) * 3);border-bottom:1px solid var(--rule)}.p2-section-num{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;color:var(--ink-3)}.p2-h2{font-size:22px;letter-spacing:-.015em;margin:0}.p2-h2,.p2-h3{font-family:var(--font-sans);font-weight:500;color:var(--ink)}.p2-h3{font-size:15px;letter-spacing:-.005em;margin:0 0 calc(var(--u) * 2)}.p2-prose{font-family:var(--font-serif);font-weight:400;font-size:17px;line-height:1.62;color:var(--ink);max-width:62ch;text-wrap:pretty}.p2-prose p{margin:0 0 calc(var(--u) * 4)}.p2-prose p:last-child{margin-bottom:0}.p2-prose code{font-family:var(--font-mono);font-size:.85em;background:var(--paper-2);padding:1px 5px;border-radius:2px;border:1px solid var(--rule)}.dropcap{float:left;font-family:var(--font-serif);font-size:56px;line-height:.9;font-weight:400;padding:6px 8px 0 0;color:var(--accent)}.p2-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;margin-top:calc(var(--u) * 8);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.p2-stats>div{padding:calc(var(--u) * 5) calc(var(--u) * 5) calc(var(--u) * 5) 0;display:flex;flex-direction:column;gap:8px}.p2-stats>div+div{border-left:1px solid var(--rule);padding-left:calc(var(--u) * 5)}.p2-stat-num{font-size:26px;letter-spacing:-.02em;font-weight:500;color:var(--ink)}.p2-stat-label{font-family:var(--font-sans);font-size:12.5px;color:var(--ink-3);line-height:1.4}.p2-status-grid{margin-top:calc(var(--u) * 6);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;border-top:1px solid var(--rule)}.p2-status-grid>div{padding:calc(var(--u) * 5) calc(var(--u) * 5) 0 0}.p2-status-grid>div+div{border-left:1px solid var(--rule);padding-left:calc(var(--u) * 5)}.p2-status-grid p{font-family:var(--font-serif);font-size:14.5px;line-height:1.55;color:var(--ink);margin:0}.p2-participate{list-style:none;margin:calc(var(--u) * 8) 0 0;padding:0;display:grid;grid-gap:calc(var(--u) * 6);gap:calc(var(--u) * 6)}.p2-participate li{display:grid;grid-template-columns:56px 1fr;grid-gap:calc(var(--u) * 4);gap:calc(var(--u) * 4);padding-bottom:calc(var(--u) * 6);border-bottom:1px solid var(--rule)}.p2-participate li:last-child{border-bottom:0;padding-bottom:0}.p2-participate-id{font-size:13px;color:var(--ink-3);letter-spacing:.04em;padding-top:3px}.p2-participate p{font-family:var(--font-serif);font-size:15px;line-height:1.55;color:var(--ink);margin:0}.p2-cta{margin-top:calc(var(--u) * 8);padding-top:calc(var(--u) * 6);border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 1.2fr;grid-gap:calc(var(--u) * 8);gap:calc(var(--u) * 8);align-items:start}.p2-cta-actions{display:grid;grid-gap:0;gap:0;border:1px solid var(--rule);border-radius:4px;overflow:hidden;background:var(--paper)}.p2-action{display:grid;grid-template-columns:120px 1fr;grid-gap:calc(var(--u) * 3);gap:calc(var(--u) * 3);padding:calc(var(--u) * 3) calc(var(--u) * 4);border-bottom:1px solid var(--rule);transition:background-color .12s;align-items:baseline}.p2-action:last-child{border-bottom:0}.p2-action:hover{background:var(--paper-2)}.p2-action-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.p2-action-target{font-family:var(--font-mono);font-size:13px;color:var(--ink);letter-spacing:-.005em}@media (max-width:900px){.p2-brand-inner{grid-template-columns:1fr;gap:calc(var(--u) * 3)}.p2-nav{justify-content:flex-start;gap:calc(var(--u) * 5);flex-wrap:wrap}.p2-stats{grid-template-columns:repeat(2,1fr)}.p2-stats>div+div:nth-child(odd){border-left:0;padding-left:0}.p2-status-grid{grid-template-columns:1fr}.p2-status-grid>div+div{border-left:0;padding-left:0;padding-top:calc(var(--u) * 5);border-top:1px solid var(--rule)}.p2-cta{grid-template-columns:1fr}.p2-h1{font-size:30px}}.p3-chrome,.p3-shell{background:var(--paper)}.p3-chrome{border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:10}.p3-chrome-inner{max-width:1320px;margin:0 auto;padding:0 calc(var(--u) * 8)}.p3-chrome-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:calc(var(--u) * 6);gap:calc(var(--u) * 6);padding:calc(var(--u) * 3.5) 0 calc(var(--u) * 3);border-bottom:1px solid var(--rule)}.p3-brand{display:flex;align-items:center;gap:calc(var(--u) * 2);color:var(--ink)}.p3-brand-mark{width:22px;height:22px;position:relative;display:inline-flex;align-items:center;justify-content:center}.p3-brand-mark:after,.p3-brand-mark:before{content:"";border-radius:50%;position:absolute}.p3-brand-mark:before{width:22px;height:22px;border:1.5px solid var(--accent)}.p3-brand-mark:after{width:7px;height:7px;background:var(--accent)}.p3-brand-word{font-family:var(--font-mono);font-size:14px;font-weight:500;letter-spacing:-.005em}.p3-brand-divider{display:inline-block;width:1px;height:18px;background:var(--rule);margin:0 calc(var(--u) * 1)}.p3-portal-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.p3-role-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.02em;color:var(--ink);background:var(--paper-2);border:1px solid var(--rule-2);border-radius:var(--radius);padding:3px 8px 3px 6px;cursor:pointer}.p3-role-tag:hover{background:var(--paper-3)}.p3-role-glyph{width:10px;height:10px;border:1.25px solid var(--ink);display:inline-block;flex-shrink:0}.p3-role-glyph.lab{border-radius:0}.p3-role-glyph.academic{transform:rotate(45deg);border-radius:0}.p3-role-glyph.industrial{border-radius:50%}.p3-role-caret{color:var(--ink-3);font-size:9px}.p3-rolenav{display:flex;align-items:center;gap:0;padding:0;margin:0;list-style:none;min-height:36px}.p3-rolenav li{display:contents}.p3-rolenav a,.p3-rolenav button{position:relative;padding:calc(var(--u) * 2.5) 0 calc(var(--u) * 2.5);margin-right:calc(var(--u) * 6);font-size:13.5px;color:var(--ink-2);letter-spacing:-.005em;display:inline-flex;align-items:baseline;gap:calc(var(--u) * 1.5)}.p3-rolenav a:hover,.p3-rolenav a[aria-current=page],.p3-rolenav button:hover,.p3-rolenav button[aria-current=page]{color:var(--ink)}.p3-rolenav a[aria-current=page]:after,.p3-rolenav button[aria-current=page]:after{content:"";position:absolute;left:0;right:calc(var(--u) * 5);bottom:-1px;height:2px;background:var(--accent)}.p3-rolenav .num{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.04em}.p3-rolenav-row{display:flex;align-items:center;gap:calc(var(--u) * 4);padding:calc(var(--u) * 1) 0;font-family:var(--font-sans)}.p3-rolenav-tail{margin-left:auto;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);letter-spacing:.02em}.p3-chrome-meta{display:flex;align-items:center;gap:calc(var(--u) * 2)}.p3-notif{position:relative;width:28px;height:28px;border:1px solid var(--rule-2);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2)}.p3-notif:hover{background:var(--paper-2);color:var(--ink)}.p3-notif-dot{position:absolute;top:4px;right:4px;min-width:14px;height:14px;background:var(--err);color:var(--paper);font-size:9.5px;font-weight:500;border-radius:8px;border:1.5px solid var(--paper);justify-content:center;padding:0 3px;letter-spacing:0}.p3-account,.p3-notif-dot{font-family:var(--font-mono);display:inline-flex;align-items:center}.p3-account{gap:8px;padding:3px 10px 3px 4px;border:1px solid var(--rule-2);border-radius:999px;color:var(--ink);font-size:11.5px;cursor:pointer}.p3-account:hover{background:var(--paper-2)}.p3-account-avatar{width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:10px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}.p3-main{flex:1 1;width:100%;max-width:1320px;margin:0 auto;padding:calc(var(--u) * 7) calc(var(--u) * 8) calc(var(--u) * 10)}@media (max-width:900px){.p3-main{padding:calc(var(--u) * 5) calc(var(--u) * 4) calc(var(--u) * 8)}.p3-chrome-inner{padding:0 calc(var(--u) * 4)}.p3-chrome-row{grid-template-columns:1fr auto;gap:calc(var(--u) * 3)}.p3-brand-divider,.p3-portal-label{display:none}.p3-rolenav-row{overflow-x:auto;padding-bottom:6px}.p3-rolenav a,.p3-rolenav button{white-space:nowrap;margin-right:calc(var(--u) * 4)}}.p3-pagehead{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:calc(var(--u) * 4);gap:calc(var(--u) * 4);padding-bottom:calc(var(--u) * 4);border-bottom:1px solid var(--rule);margin-bottom:calc(var(--u) * 6)}.p3-pagehead .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:calc(var(--u) * 1.5);display:flex;align-items:center;gap:calc(var(--u) * 2)}.p3-pagehead h1{font-size:26px;font-weight:500;letter-spacing:-.02em;margin:0;line-height:1.15}.p3-pagehead p.lede{margin:calc(var(--u) * 2) 0 0;max-width:64ch;color:var(--ink-2);font-size:14.5px;line-height:1.55}.p3-pagehead .right{text-align:right;font-family:var(--font-mono);font-size:var(--tx-meta);color:var(--ink-3);display:grid;grid-gap:2px;gap:2px}.p3-pagehead .right b{font-weight:500;color:var(--ink)}.status-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;padding:2px 7px;border-radius:var(--radius);border:1px solid var(--rule-2);color:var(--ink-2);background:var(--paper);text-transform:lowercase;white-space:nowrap}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex-shrink:0}.status-pill.submitted{color:var(--info);border-color:var(--info);background:oklch(96% .025 240)}.status-pill.submitted:before{background:var(--info)}.status-pill.in_review{color:oklch(48% .1 75);border-color:var(--warn);background:var(--warn-soft)}.status-pill.in_review:before{background:var(--warn)}.status-pill.applied{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.status-pill.applied:before{background:var(--ok)}.status-pill.rejected{color:var(--err);border-color:var(--err);background:var(--err-soft)}.status-pill.rejected:before{background:var(--err)}.status-pill.needs_changes{color:var(--err);border-color:var(--err);background:var(--paper-2)}.status-pill.needs_changes:before{background:var(--err);box-shadow:inset 0 0 0 2px var(--paper-2);border:1.5px solid var(--err);width:8px;height:8px;background:var(--paper)}.theme-dark .status-pill.in_review{color:var(--warn)}.theme-dark .status-pill.submitted{background:oklch(22% .03 240)}.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);border-radius:var(--radius-2);background:var(--paper);overflow:hidden}.lifecycle-step{position:relative;padding:calc(var(--u) * 3) calc(var(--u) * 4);border-right:1px solid var(--rule);display:grid;grid-gap:4px;gap:4px}.lifecycle-step:last-child{border-right:0}.lifecycle-step .num{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.lifecycle-step .name{font-family:var(--font-mono);font-size:13px;color:var(--ink);letter-spacing:-.005em}.lifecycle-step .detail{font-size:11.5px;color:var(--ink-3);line-height:1.4}.lifecycle-step.is-done{background:var(--paper-2)}.lifecycle-step.is-done .name{color:var(--ink)}.lifecycle-step.is-current{background:var(--accent-soft)}.lifecycle-step.is-current .name{color:var(--accent)}.lifecycle-step.is-future .detail,.lifecycle-step.is-future .name{color:var(--ink-3)}.lifecycle-step .ts{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.lifecycle-branch{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-1px}.lifecycle-branch>div{border:1px solid var(--rule);border-top:0;padding:calc(var(--u) * 2) calc(var(--u) * 3);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);display:flex;gap:calc(var(--u) * 2);align-items:center}.lifecycle-branch>div+div{border-left:0}.audit-note{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.005em;line-height:1.45;margin-top:8px;display:flex;align-items:flex-start;gap:8px}.audit-note .glyph{width:12px;height:12px;border:1.25px solid var(--ink-3);border-radius:2px;margin-top:2px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:8px}.audit-note .glyph:after{content:"✓";color:var(--ink-3);font-family:var(--font-mono)}.audit-note b{color:var(--ink);font-weight:500}.cli-readonly{border:1px solid var(--rule);border-radius:var(--radius-2);background:var(--paper-2);padding:calc(var(--u) * 3) calc(var(--u) * 4);font-family:var(--font-mono)}.cli-readonly-head{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:calc(var(--u) * 2);display:flex;justify-content:space-between}.cli-readonly-head .tag{background:transparent;border-color:var(--rule-2);color:var(--ink-3);text-transform:lowercase;letter-spacing:.01em}.cli-readonly ol{list-style:none;counter-reset:cli;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.cli-readonly li{counter-increment:cli;font-size:12.5px;color:var(--ink-2);display:grid;grid-template-columns:24px auto 1fr;grid-gap:8px;gap:8px;align-items:baseline}.cli-readonly li:before{content:counter(cli) ".";color:var(--ink-3)}.cli-readonly li .verb{color:var(--ink)}.cli-readonly li .gloss,.cli-readonly-foot{color:var(--ink-3);font-size:11px}.cli-readonly-foot{margin-top:calc(var(--u) * 3);padding-top:calc(var(--u) * 2);border-top:1px dashed var(--rule-2);line-height:1.5}.dropzone{border:1.5px dashed var(--rule-2);border-radius:var(--radius-2);background:var(--paper);padding:calc(var(--u) * 6) calc(var(--u) * 5);text-align:center;transition:border-color .12s,background-color .12s}.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone .icon{width:32px;height:32px;border:1.25px solid var(--ink-3);border-radius:var(--radius);margin:0 auto calc(var(--u) * 2);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-3);font-family:var(--font-mono);font-size:14px}.dropzone .lead{font-size:13px;color:var(--ink)}.dropzone .hint{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:4px;line-height:1.5}.dropzone-files{margin-top:calc(var(--u) * 3);display:grid;grid-gap:4px;gap:4px}.dropzone-file{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:10px;gap:10px;padding:6px 10px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);font-family:var(--font-mono);font-size:12px;text-align:left;align-items:center}.dropzone-file .name{color:var(--ink)}.dropzone-file .size{color:var(--ink-3)}.dropzone-file .ck{color:var(--ok);font-size:11px}.dropzone-file button{color:var(--ink-3);font-size:12px}.dropzone-file button:hover{color:var(--err)}.fieldset{grid-gap:calc(var(--u) * 4)}.field,.fieldset{display:grid;gap:calc(var(--u) * 4)}.field{grid-template-columns:220px 1fr;grid-gap:calc(var(--u) * 4);align-items:start;padding-bottom:calc(var(--u) * 4);border-bottom:1px solid var(--rule)}.field:last-child{border-bottom:0;padding-bottom:0}.field-label{font-size:13px;color:var(--ink);display:grid;grid-gap:4px;gap:4px}.field-label .req{color:var(--err);font-family:var(--font-mono);font-size:10px}.field-label .hint{color:var(--ink-3);line-height:1.5}.field-label .hint,.field-label .ref{font-family:var(--font-mono);font-size:11px}.field-label .ref{color:var(--accent)}.field-control{display:grid;grid-gap:calc(var(--u) * 2);gap:calc(var(--u) * 2)}.input,.select,.textarea{width:100%;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--radius);padding:7px 10px;font:inherit;color:var(--ink);font-family:var(--font-mono);font-size:13px}.textarea{font-family:var(--font-sans);min-height:80px;resize:vertical;line-height:1.55}.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.input-with-unit{display:grid;grid-template-columns:1fr auto}.input-with-unit .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-with-unit .unit{border:1px solid var(--rule-2);border-left:0;border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);padding:0 10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-3);display:inline-flex;align-items:center;background:var(--paper-2)}.input.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:calc(var(--u) * 2);gap:calc(var(--u) * 2)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:13px;font-weight:500;padding:9px 16px;border-radius:var(--radius);border:1px solid transparent;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background-color .12s,border-color .12s,color .12s}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:oklch(0 0 0/.85)}.btn-secondary{background:var(--paper);border-color:var(--rule-2);color:var(--ink)}.btn-secondary:hover{background:var(--paper-2)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover{color:var(--ink)}.btn[disabled]{opacity:.4;cursor:not-allowed}.p3-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-2)}.p3-card-head{padding:calc(var(--u) * 3) calc(var(--u) * 4);border-bottom:1px solid var(--rule);display:flex;align-items:baseline;gap:calc(var(--u) * 3)}.p3-card-head h3{font-family:var(--font-sans);font-weight:500;font-size:14px;letter-spacing:-.005em;margin:0}.p3-card-head .num{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.p3-card-head .num,.p3-card-head .tail{font-family:var(--font-mono);color:var(--ink-3)}.p3-card-head .tail{margin-left:auto;font-size:11px}.p3-card-body{padding:calc(var(--u) * 4)}.p3-card-foot{padding:calc(var(--u) * 2.5) calc(var(--u) * 4);border-top:1px solid var(--rule);background:var(--paper-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);display:flex;justify-content:space-between;align-items:center}.p3-section{margin-top:calc(var(--u) * 8)}.p3-section>h2{font-size:17px;font-weight:500;letter-spacing:-.01em;margin:0 0 calc(var(--u) * 3);display:flex;align-items:baseline;gap:calc(var(--u) * 3)}.p3-section>h2 .num{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.p3-section>h2 .aside,.p3-section>h2 .num{font-family:var(--font-mono);color:var(--ink-3)}.p3-section>h2 .aside{margin-left:auto;font-size:var(--tx-meta);font-weight:400}.p3-twocol{display:grid;grid-template-columns:1fr 280px;grid-gap:calc(var(--u) * 8);gap:calc(var(--u) * 8);align-items:start}@media (max-width:1100px){.p3-twocol{grid-template-columns:1fr}}.prov{font-family:var(--font-mono);font-size:12.5px;color:var(--ink);line-height:1.7;display:grid;grid-gap:2px;gap:2px}.prov-node{display:grid;grid-template-columns:32px 110px 1fr auto;grid-gap:8px;gap:8px;align-items:baseline;padding:calc(var(--u) * 1.5) 0;border-bottom:1px solid var(--rule)}.prov-node:last-child{border-bottom:0}.prov-rule{color:var(--ink-3);letter-spacing:.02em;white-space:pre}.prov-kind{color:var(--ink-3);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.prov-body{font-family:var(--font-sans);font-size:13px;color:var(--ink);line-height:1.5}.prov-body em{font-family:var(--font-serif);font-style:italic;color:var(--ink-2)}.prov-meta{font-size:11px;color:var(--ink-3);white-space:nowrap}.recon{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:var(--radius-2);background:var(--paper);overflow:hidden}.recon>div{padding:calc(var(--u) * 4)}.recon>div+div{border-left:1px solid var(--rule)}.recon h4{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 calc(var(--u) * 3);font-weight:500}.recon h4,.recon-row{font-family:var(--font-mono)}.recon-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:13px;align-items:baseline}.recon-row:last-child{border-bottom:0}.recon-row .lbl{color:var(--ink-2);font-size:12px}.recon-row .val{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recon-row .delta{font-size:11px;font-family:var(--font-mono);padding:0 6px;margin-left:8px;border-radius:var(--radius)}.recon-row .delta.ok{color:var(--ok)}.recon-row .delta.warn{color:oklch(48% .1 75)}.recon-row .delta.err{color:var(--err)}.theme-dark .recon-row .delta.warn{color:var(--warn)}.p3-auth{max-width:480px;margin:0 auto;padding:calc(var(--u) * 12) calc(var(--u) * 4)}.p3-auth-mark{width:40px;height:40px;margin-bottom:calc(var(--u) * 6);position:relative}.p3-auth-mark:after,.p3-auth-mark:before{content:"";border-radius:50%;position:absolute}.p3-auth-mark:before{width:40px;height:40px;border:1.5px solid var(--accent)}.p3-auth-mark:after{width:11px;height:11px;background:var(--accent);top:14.5px;left:14.5px}.p3-auth h1{font-family:var(--font-sans);font-weight:500;font-size:24px;letter-spacing:-.015em;margin:0 0 calc(var(--u) * 2)}.p3-auth .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:calc(var(--u) * 3)}.p3-auth .lede{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0 0 calc(var(--u) * 6);max-width:56ch}.p3-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.p3-stats>div{padding:calc(var(--u) * 4) calc(var(--u) * 4) calc(var(--u) * 4) 0;display:grid;grid-gap:4px;gap:4px}.p3-stats>div+div{border-left:1px solid var(--rule);padding-left:calc(var(--u) * 4)}.p3-stats .n{font-family:var(--font-mono);font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.p3-stats .l{font-size:12px;color:var(--ink-3);line-height:1.4}.p3-notif-panel{position:absolute;top:36px;right:0;width:360px;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--radius-2);box-shadow:0 10px 40px oklch(0 0 0/.1);z-index:20}.p3-notif-head{padding:calc(var(--u) * 2.5) calc(var(--u) * 3);border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.p3-notif-list{max-height:400px;overflow-y:auto}.p3-notif-item{padding:calc(var(--u) * 2.5) calc(var(--u) * 3);border-bottom:1px solid var(--rule);cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:start}.p3-notif-item:hover{background:var(--paper-2)}.p3-notif-item:last-child{border-bottom:0}.p3-notif-item .body{font-size:13px;line-height:1.45;color:var(--ink)}.p3-notif-item .meta{font-size:11px;margin-top:4px}.p3-notif-item .meta,.p3-notif-item .ts{font-family:var(--font-mono);color:var(--ink-3)}.p3-notif-item .ts{font-size:10.5px;white-space:nowrap}.p3-role-panel{position:absolute;top:36px;left:0;width:320px;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--radius-2);box-shadow:0 10px 40px oklch(0 0 0/.1);z-index:20}.p3-role-option{display:grid;grid-template-columns:28px 1fr auto;grid-gap:10px;gap:10px;padding:calc(var(--u) * 2.5) calc(var(--u) * 3);border-bottom:1px solid var(--rule);cursor:pointer;align-items:center}.p3-role-option:last-child{border-bottom:0}.p3-role-option:hover{background:var(--paper-2)}.p3-role-option-glyph{width:14px;height:14px;border:1.5px solid var(--ink)}.p3-role-option-glyph.lab{border-radius:0}.p3-role-option-glyph.academic{transform:rotate(45deg)}.p3-role-option-glyph.industrial{border-radius:50%}.p3-role-option-name{font-size:13px;color:var(--ink)}.p3-role-option-sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.p3-role-option-check{color:var(--ok);font-family:var(--font-mono);font-size:12px}table.p3-table{width:100%;border-collapse:collapse;font-size:13px}table.p3-table thead th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--rule-2);background:var(--paper-2);white-space:nowrap}table.p3-table tbody td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top}table.p3-table tbody tr:hover td{background:var(--paper-2)}table.p3-table tbody tr:last-child td{border-bottom:0}table.p3-table .mono{font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.p3-table .stmt{font-family:var(--font-sans);color:var(--ink);line-height:1.5}.empty{border:1px dashed var(--rule-2);border-radius:var(--radius-2);padding:calc(var(--u) * 6);text-align:center;color:var(--ink-3);background:var(--paper)}.empty .icon{width:32px;height:32px;border:1.25px solid var(--rule-2);border-radius:50%;margin:0 auto calc(var(--u) * 2);position:relative}.empty .icon:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--rule-2);border-radius:50%;transform:translate(-50%,-50%)}.empty .lead{font-family:var(--font-sans);font-size:14px;color:var(--ink);margin-bottom:6px}.empty .hint{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);line-height:1.6}.buildspec{border:1px solid var(--rule);border-radius:var(--radius-2);background:var(--paper);display:grid;grid-template-columns:1fr auto;grid-gap:calc(var(--u) * 4);gap:calc(var(--u) * 4);padding:calc(var(--u) * 4);align-items:center}.buildspec .name{font-family:var(--font-mono);font-size:14px;color:var(--ink)}.buildspec .desc{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-top:4px;max-width:64ch}.buildspec-files{margin-top:calc(var(--u) * 3);display:grid;grid-gap:4px;gap:4px;border-top:1px dashed var(--rule);padding-top:calc(var(--u) * 3)}.buildspec-files .row{display:grid;grid-template-columns:1fr auto auto;grid-gap:12px;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--ink-2);align-items:center}.buildspec-files .row .path{color:var(--ink)}.buildspec-files .row .size{color:var(--ink-3)}@media (max-width:720px){.field{grid-template-columns:1fr;gap:calc(var(--u) * 2)}.field-label{display:block}.recon{grid-template-columns:1fr}.recon>div+div{border-left:0;border-top:1px solid var(--rule)}.lifecycle{grid-template-columns:1fr}.lifecycle-step{border-right:0;border-bottom:1px solid var(--rule)}.lifecycle-step:last-child{border-bottom:0}.lifecycle-branch{grid-template-columns:1fr}.lifecycle-branch>div+div{border-left:1px solid var(--rule);border-top:0}.p3-pagehead,.p3-twocol{grid-template-columns:1fr}.p3-pagehead .right{text-align:left}.p3-stats{grid-template-columns:repeat(2,1fr)}.p3-stats>div+div:nth-child(odd){border-left:0;padding-left:0}.buildspec,.input-row{grid-template-columns:1fr}}