.ppf{display:flex;flex-direction:column;gap:var(--ui-space-3);padding-top:var(--ui-space-4);border-top:1px solid var(--ui-hair);font-size:var(--ui-text-s);line-height:1.55;color:var(--ui-ink-2)}.ppf p,.ppf dl{margin:0}.ppf-note{color:var(--ui-ink-3)}.ppf-part{display:flex;justify-content:space-between;gap:var(--ui-space-3);padding:var(--ui-space-1) 0}.ppf-part dt{min-width:0}.ppf-part dd{display:flex;gap:var(--ui-space-2);margin:0;white-space:nowrap;color:var(--ui-ink-3)}.ppf-part b{font-weight:var(--ui-weight-strong);color:var(--ui-ink)}.ppf-rule{color:var(--ui-ink)}.ppf-links{display:flex;flex-wrap:wrap;gap:var(--ui-space-2) var(--ui-space-5)}.pps-page{max-width:calc(1152px + 2 * var(--ui-space-6));margin:0 auto;padding:var(--ui-space-7) var(--ui-space-6) var(--ui-space-10);color:var(--ui-ink);font-family:var(--ui-font-sans);--pps-strip-h: 0px}.pps-loading{min-height:60vh}.pps-missing{margin-top:var(--ui-space-4)}.pps-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2);font-size:var(--ui-text-s);color:var(--ui-ink-3)}.pps-crumbs a{color:var(--ui-ink-3)}.pps-crumbs a:is(:hover,:focus-visible){color:var(--ui-ink)}.pps-head{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--ui-space-6) var(--ui-space-9);align-items:start;margin-top:var(--ui-space-4)}.pps-head-text{padding-top:var(--ui-space-8)}@media(min-width:1024px){.pps-head-text{grid-column:1;grid-row:1}.pps-actions{grid-column:2;grid-row:1 / span 2}.pps-facts{grid-column:1;grid-row:2;max-width:460px}}.pps-h1{margin:0;font-size:var(--ui-text-2xl);font-weight:var(--ui-weight-strong);line-height:1.15;letter-spacing:-.01em}.pps-sub{margin:var(--ui-space-2) 0 0;font-size:var(--ui-text-m);color:var(--ui-ink-2)}.pps-stats{display:flex;flex-wrap:wrap;gap:var(--ui-space-1) var(--ui-space-5);margin:var(--ui-space-4) 0 0;font-size:var(--ui-text-m);color:var(--ui-ink-2)}.pps-stats b{font-weight:var(--ui-weight-strong);color:var(--ui-ink)}.pps-free{font-weight:var(--ui-weight-strong);color:var(--ui-accent-ink)}.pps-actions{display:flex;flex-direction:column;gap:var(--ui-space-3)}.pps-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);min-height:46px;padding:var(--ui-space-2) var(--ui-space-5);border-radius:var(--ui-radius-control);background:var(--ui-accent);color:var(--ui-on-accent);font-size:var(--ui-text-m);font-weight:var(--ui-weight-strong)}.pps-primary:is(:hover,:focus-visible){background:var(--ui-accent-hover)}.pps-primary>svg{flex:none}.pps-primary-label{text-align:center}.pps-primary-label>svg{display:inline;vertical-align:-2px}.pps-first{width:100%;min-height:46px}.pps-caption{margin:0;font-size:var(--ui-text-s);line-height:1.55;text-align:center;color:var(--ui-ink-3)}.pps-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--ui-space-9);align-items:start;margin-top:var(--ui-space-8)}.pps-side{position:sticky;top:calc(var(--pps-head-h, var(--ui-space-10)) + var(--ui-space-5));max-height:calc(100vh - var(--pps-head-h, var(--ui-space-10)) - var(--ui-space-7));overflow-y:auto;padding-bottom:var(--ui-space-2)}.pps-side .ppl-strip{min-height:0;padding:0;background:none}.pps-side .ppl-block>:not(.ppl-bar){display:none}.pps-toc-toggle{display:none}.pps-toc-inner{min-height:0}.pps-toc-group{margin-top:var(--ui-space-6)}.pps-toc-label{display:flex;align-items:center;gap:var(--ui-space-2);margin:0 0 var(--ui-space-2);padding-left:var(--ui-space-2);font-size:var(--ui-text-s);font-weight:var(--ui-weight-regular);color:var(--ui-ink-3)}.pps-dot{width:7px;height:7px;border-radius:var(--ui-radius-round);background:var(--ui-accent)}.pps-dot[data-tone="0"]{background:color-mix(in oklab,var(--ui-accent) 35%,var(--ui-surface))}.pps-dot[data-tone="1"]{background:color-mix(in oklab,var(--ui-accent) 55%,var(--ui-surface))}.pps-dot[data-tone="2"]{background:color-mix(in oklab,var(--ui-accent) 72%,var(--ui-surface))}.pps-dot[data-tone="3"]{background:color-mix(in oklab,var(--ui-accent) 86%,var(--ui-surface))}.pps-toc-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.pps-toc-row{display:grid;grid-template-columns:22px 20px minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2);border-radius:var(--ui-radius-control);font-size:var(--ui-text-m);line-height:1.35;color:var(--ui-ink-2)}.pps-toc-row:is(:hover,:focus-visible){background:var(--shell-flat, var(--ui-pane));color:var(--ui-ink)}.pps-toc-row[data-glyph=none]{grid-template-columns:22px minmax(0,1fr) auto}.pps-toc-row[data-here=true]{background:var(--shell-flat, var(--ui-pane));color:var(--ui-ink);font-weight:var(--ui-weight-strong)}.pps-toc-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ui-ink-3)}.pps-toc-row[data-here=true] .pps-toc-num{color:var(--ui-ink)}.pps-toc-glyph{display:inline-flex;color:var(--ui-glyph)}.pps-toc-title{min-width:0;overflow-wrap:break-word}.pps-toc-points{font-size:var(--ui-text-s);font-variant-numeric:tabular-nums;color:var(--ui-ink-3)}.pps-main{min-width:0}.pps-strip{display:none}.pps-sheet{min-width:0;padding:var(--ui-space-10) var(--ui-space-10) var(--ui-space-8);border:1px solid var(--ui-hair);border-radius:var(--ui-radius-card);background:var(--ui-surface);font-family:var(--ui-font-serif)}.pps-sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-4);padding-bottom:var(--ui-space-5);border-bottom:1px solid var(--ui-ink)}.pps-sheet-head p{margin:0}.pps-sheet-title{font-size:var(--ui-text-l);font-weight:var(--ui-weight-serif-bold)}.pps-sheet-date{font-size:var(--ui-text-m);text-align:right;color:var(--ui-ink-2)}.pps-sheet-part{margin:var(--ui-space-8) 0 0;font-size:var(--ui-text-l);font-weight:var(--ui-weight-serif-bold);color:var(--ui-ink-2)}.pps-task{display:grid;grid-template-columns:minmax(0,1fr) 96px;-moz-column-gap:var(--ui-space-7);column-gap:var(--ui-space-7);padding:var(--ui-space-7) 0;border-bottom:1px solid var(--ui-hair);scroll-margin-top:calc(var(--pps-head-h, var(--ui-space-10)) + var(--pps-strip-h) + var(--ui-space-4))}.pps-task>*{grid-column:1}.pps-task>.pps-task-points{grid-column:2;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-end;margin:0;font-size:var(--ui-text-m);color:var(--ui-ink-2)}.pps-task-points b{font-size:var(--ui-text-l);font-weight:var(--ui-weight-serif-bold);color:var(--ui-ink)}.pps-task-title{display:flex;align-items:baseline;gap:var(--ui-space-2);margin:0;font-family:var(--ui-font-sans);font-size:var(--ui-text-l);font-weight:var(--ui-weight-strong);line-height:1.35}.pps-task-num{font-family:var(--ui-font-serif);font-weight:var(--ui-weight-serif-bold)}.pps-cond{margin-top:var(--ui-space-4);font-size:var(--ui-text-l);line-height:1.55;color:var(--ui-ink);-webkit-hyphens:manual;hyphens:manual;overflow-x:auto}.pps-cond .mdx-content :is(p,li,ol,ul,td,th,blockquote,strong,em,span:not([class*=katex])){font-family:var(--ui-font-serif);font-size:inherit;color:var(--ui-ink);-webkit-hyphens:manual;hyphens:manual}.pps-cond .mdx-content p{margin:0 0 var(--ui-space-3);line-height:1.55}.pps-cond .pps-cond-h{margin:var(--ui-space-4) 0 var(--ui-space-2);font-family:var(--ui-font-serif);font-size:var(--ui-text-m);font-weight:var(--ui-weight-serif-bold);color:var(--ui-ink)}.pps-cond .mdx-content :is(ul,ol){margin:0 0 var(--ui-space-3)}.pps-list{margin:0 0 var(--ui-space-3);padding-left:var(--ui-space-5);list-style:disc outside}.pps-list[data-own-marks=true]{padding-left:var(--ui-space-3);list-style:none}.pps-cond .mdx-content :is(ul,ol)>li:nth-child(n){margin-top:0;margin-bottom:0}.pps-cond :is(.mdx-math-display,.katex-display){margin:var(--ui-space-3) 0;padding:0}.pps-cond .katex{font-size:1.05em}.pps-cond img{max-width:100%;height:auto}.pps-cond table{table-layout:auto;width:100%;border-collapse:collapse;font-size:var(--ui-text-m)}.pps-cond :is(th,td){padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-hair);text-align:left;vertical-align:top;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.pps-cond th{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}@media(max-width:359px){.pps-sheet{padding-inline:var(--ui-space-4)}.pps-cond table{min-width:300px}}@media(max-width:639px){.pps-cond :is(th,td){padding:var(--ui-space-1) var(--ui-space-2);font-size:var(--ui-text-s)}}.pps-audio{margin-top:var(--ui-space-4);font-family:var(--ui-font-sans)}.pps-task-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2) var(--ui-space-6);margin:var(--ui-space-4) 0 0;font-family:var(--ui-font-sans);font-size:var(--ui-text-m)}.pps-task-links .ui-link{font-weight:var(--ui-weight-strong);color:var(--ui-accent-ink)}.pps-practise{display:inline-flex;align-items:center;gap:var(--ui-space-2);font-weight:var(--ui-weight-strong);color:var(--ui-ink-2)}.pps-practise>svg{color:var(--ui-glyph)}.pps-practise:is(:hover,:focus-visible){color:var(--ui-ink)}.pps-neighbours{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--ui-space-4);margin-top:var(--ui-space-9);padding-top:var(--ui-space-6);border-top:1px solid var(--ui-hair);font-size:var(--ui-text-m);font-weight:var(--ui-weight-strong);color:var(--ui-ink-2)}.pps-neighbours a{display:inline-flex;align-items:center;gap:var(--ui-space-2);color:var(--ui-ink-2)}.pps-neighbours a:is(:hover,:focus-visible){color:var(--ui-ink)}.pps-nb-next{justify-self:end}@media(max-width:1023px){.pps-page{--pps-strip-h: 52px}.pps-strip{position:sticky;top:var(--pps-head-h, 0px);z-index:5;display:block;height:var(--pps-strip-h);margin-bottom:var(--ui-space-3);border-bottom:1px solid var(--ui-hair);background:var(--ui-page)}.pps-strip-list{display:flex;align-items:center;gap:var(--ui-space-1);height:100%;margin:0;padding:0 var(--ui-space-5) 0 0;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.pps-strip-list::-webkit-scrollbar{display:none}.pps-strip-list li{flex:none}.pps-strip-num{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid transparent;border-radius:var(--ui-radius-control);font-size:var(--ui-text-m);font-weight:var(--ui-weight-strong);font-variant-numeric:tabular-nums;color:var(--ui-ink-2)}.pps-strip-num[aria-current=true]{border-color:var(--ui-ink);color:var(--ui-ink)}.pps-head{grid-template-columns:minmax(0,1fr)}.pps-head-text{padding-top:0}.pps-body{grid-template-columns:minmax(0,1fr);gap:var(--ui-space-5);margin-top:var(--ui-space-6)}.pps-side{position:static;max-height:none;overflow:visible;padding-bottom:0}.pps-toc-toggle{display:inline-flex;align-items:center;gap:var(--ui-space-1);margin-top:var(--ui-space-3);padding:var(--ui-space-1) 0;border:0;background:none;font-size:var(--ui-text-s);font-weight:var(--ui-weight-strong);color:var(--ui-ink-2);cursor:pointer}.pps-toc-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.pps-toc{display:grid;grid-template-rows:0fr;visibility:hidden}.pps-toc[data-open=true]{grid-template-rows:1fr;visibility:visible}.pps-toc-inner{overflow:hidden}}@media(max-width:639px){.pps-page{padding:var(--ui-space-4) var(--ui-space-gutter) var(--ui-space-9)}.pps-h1{font-size:var(--ui-text-xl)}.pps-stats{gap:var(--ui-space-1) var(--ui-space-4);margin-top:var(--ui-space-2)}.pps-free{flex-basis:100%}.pps-head{grid-template-columns:minmax(0,1fr);gap:var(--ui-space-4)}.pps-primary,.pps-first{width:100%}.pps-sheet{padding:var(--ui-space-6) var(--ui-space-5) var(--ui-space-5)}.pps-sheet-title{font-size:var(--ui-text-l)}.pps-task{grid-template-columns:minmax(0,1fr);padding:var(--ui-space-6) 0}.pps-task>.pps-task-points{grid-column:1;grid-row:auto;flex-direction:row;align-items:baseline;gap:var(--ui-space-1);margin-bottom:var(--ui-space-2)}.pps-task-points b,.pps-cond{font-size:var(--ui-text-m)}.pps-task-links{flex-direction:column;align-items:flex-start;gap:var(--ui-space-3)}.pps-neighbours{grid-template-columns:minmax(0,1fr);justify-items:start;gap:var(--ui-space-3)}.pps-nb-next{justify-self:start}}@media(prefers-reduced-motion:no-preference){.pps-toc-row,.pps-primary,.pps-practise,.pps-neighbours a,.pps-crumbs a{transition:background-color var(--ui-motion-fast) var(--ui-ease),color var(--ui-motion-fast) var(--ui-ease)}.pps-toc,.pps-toc-toggle>svg{transition:grid-template-rows var(--ui-motion-slow) var(--ui-ease),visibility var(--ui-motion-slow) var(--ui-ease),transform var(--ui-motion-fast) var(--ui-ease)}}.ppt-audio-label{display:flex;align-items:center;gap:var(--ui-space-2);margin:0 0 var(--ui-space-3);font-size:var(--ui-text-m);color:var(--ui-ink-2)}.ppt-audio-label>svg{flex:none;color:var(--ui-glyph)}.ppt-locked{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ui-space-3);margin-top:var(--ui-space-5);padding-top:var(--ui-space-5);border-top:1px solid var(--ui-hair);font-family:var(--ui-font-sans)}.ppt-locked-title{margin:0;font-size:var(--ui-text-l);font-weight:var(--ui-weight-strong)}.ppt-locked-text{margin:0;max-width:52ch;font-size:var(--ui-text-m);line-height:1.55;color:var(--ui-ink-2)}.ppt-reveal{margin-top:var(--ui-space-6);font-family:var(--ui-font-sans)}.ppt-reveal-toggle{gap:var(--ui-space-2)}.ppt-reveal-toggle>svg:first-child{color:var(--ui-glyph)}.ppt-reveal-toggle[aria-expanded=true] .ppt-reveal-chevron{transform:rotate(180deg)}.ppt-reveal-panel{margin-top:var(--ui-space-4);padding-top:var(--ui-space-4);border-top:1px solid var(--ui-hair)}.ppt-reveal-panel[hidden]{display:none}.ppt-reveal-wait{min-height:80px}.ppt-reveal-note{margin:0;font-size:var(--ui-text-m);color:var(--ui-ink-3)}.ppt-solution{font-size:var(--ui-text-l);line-height:1.55;overflow-x:auto}.ppt-solution .mdx-content :is(p,li,ol,ul,td,th,blockquote,strong,em,span:not([class*=katex])){font-family:var(--ui-font-serif);font-size:inherit;color:var(--ui-ink);-webkit-hyphens:manual;hyphens:manual}.ppt-solution .mdx-content p{margin:0 0 var(--ui-space-3)}.ppt-solution .pps-cond-h{margin:var(--ui-space-4) 0 var(--ui-space-2);font-family:var(--ui-font-serif);font-size:var(--ui-text-m);font-weight:var(--ui-weight-serif-bold);color:var(--ui-ink)}.ppt-solution :is(.mdx-math-display,.katex-display){margin:var(--ui-space-3) 0;padding:0}.ppt-solution img{max-width:100%;height:auto}.ppt-blank{display:inline-block;min-width:8rem;margin:0 var(--ui-space-1);border-bottom:1px solid var(--ui-ink)}.ppt-source{margin:var(--ui-space-4) 0 0;font-family:var(--ui-font-sans);font-size:var(--ui-text-s);color:var(--ui-ink-3)}@media(max-width:639px){.ppt-solution{font-size:var(--ui-text-m)}}@media(prefers-reduced-motion:no-preference){.ppt-reveal-chevron{transition:transform var(--ui-motion-fast) var(--ui-ease)}}.ppt-note{margin:var(--ui-space-4) 0 0;font-family:var(--ui-font-sans);font-size:var(--ui-text-m);color:var(--ui-ink-3)}.pps-task:focus{outline:none}
