:root{--paper:#f4efe6;--paper-2:#ebe4d6;--ink:#2b2a28;--muted:#66615a;--rule:#cfc5b3;--accent:#a24a25;--serif:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}body{-webkit-text-size-adjust:100%}a{color:inherit}button{font:inherit;color:inherit}.pl-app{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 350px;height:100dvh;display:grid}.pl-top{border-bottom:1px solid var(--rule);grid-column:1/-1;align-items:center;gap:18px;padding:10px 22px;display:flex}.pl-brand{flex-direction:column;flex:none;line-height:1.1;text-decoration:none;display:flex}.pl-brand-t{font-family:var(--serif);letter-spacing:.01em;font-size:22px;font-weight:700}.pl-brand-s{color:var(--muted);font-size:12px}.pl-toc{flex-wrap:wrap;flex:1;justify-content:center;gap:4px;display:flex}.pl-toc-a{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 6px;font-size:13px;text-decoration:none;display:inline-flex}.pl-toc-a:hover{border-color:var(--rule)}.pl-toc-a.on{background:var(--ink);color:var(--paper)}.pl-toc-n{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:inline-grid}.pl-toc-sel{display:none}.pl-map{border:1px solid var(--rule);border-radius:999px;flex:none;padding:6px 12px;font-size:13px;text-decoration:none}.pl-map:hover{background:var(--paper-2)}.pl-icon{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;padding:0;font-size:14px;font-weight:600;display:inline-grid}.pl-icon:hover{background:var(--paper-2)}.pl-icon[hidden]{display:none}.pl-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.pl-help-b+.pl-full{margin-left:-12px}.pl-shortcuts{z-index:30;background:var(--paper);border:1px solid var(--ink);cursor:default;border-radius:12px;width:360px;max-width:calc(100vw - 32px);padding:14px 18px 12px;font-size:13.5px;line-height:1.4;position:fixed;top:64px;right:22px;box-shadow:0 12px 40px #2b2a2838}.pl-shortcuts[hidden]{display:none}.pl-shortcuts h2{font-family:var(--serif);margin:0 0 8px;font-size:21px}.pl-shortcuts dl{grid-template-columns:max-content 1fr;gap:6px 12px;margin:0;display:grid}.pl-shortcuts dt{white-space:nowrap}.pl-shortcuts dd{color:var(--muted);margin:0}.pl-shortcuts p{color:var(--muted);border-top:1px solid var(--rule);margin:10px 0 0;padding-top:8px;font-size:12.5px}.pl-shortcuts kbd{text-align:center;min-width:20px;font:600 11.5px var(--sans);border:1px solid var(--rule);background:var(--paper-2);border-bottom-width:2px;border-radius:5px;padding:2px 5px;display:inline-block}.pl-design{border-bottom:1px solid var(--rule);background:var(--paper-2);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 12px;padding:7px 22px;display:flex}.pl-design-l{font-family:var(--serif);font-variant:small-caps;letter-spacing:.08em;color:var(--muted);font-size:16px}.pl-design-o{background:var(--paper)}.pl-design-o .pl-seg-b{padding:5px 12px;font-size:13px}.pl-design-o[hidden]{display:none}.pl-design-n{color:var(--muted);flex:320px;min-width:0;font-size:13px;line-height:1.35}.pl-design-n b{color:var(--ink);font-weight:600}body.pl-busy,body.pl-busy *{cursor:progress!important}.pl-caption .pl-src{color:var(--muted);border-top:1px solid var(--rule);margin-top:10px;padding-top:6px;font-size:12.5px}.pl-caption .pl-src a{color:var(--muted)}.pl-stage{flex-direction:column;min-width:0;min-height:0;padding:14px 10px 10px 22px;display:flex}.pl-head{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.pl-no{font-family:var(--serif);font-variant:small-caps;letter-spacing:.08em;color:var(--muted);font-size:17px}.pl-title{font-family:var(--serif);margin:0;font-size:34px;font-weight:700;line-height:1.05}.pl-controls{flex-wrap:wrap;gap:8px 22px;margin-top:10px;display:flex}.pl-controls[hidden]{display:none}.pl-seg{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pl-seg-l{color:var(--muted);font-size:13px}.pl-seg-o{border:1px solid var(--ink);border-radius:8px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.pl-seg-b{cursor:pointer;border:0;border-left:1px solid var(--rule);background:0 0;min-width:34px;padding:6px 12px;font-size:13.5px}.pl-seg-b:first-child{border-left:0}.pl-seg-b:hover{background:var(--paper-2)}.pl-seg-b.on{background:var(--ink);color:var(--paper)}.pl-draw{flex:1;min-height:0;margin-top:6px;position:relative}.pl-draw[hidden],.pl-mount[hidden],.pl-key[hidden],.pl-extra[hidden]{display:none}.pl-svg{font-family:var(--sans);-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:0}.pl-mount{border-top:1px solid var(--rule);flex:1;min-height:0;margin-top:12px;padding-top:12px;overflow:auto}.pl-placeholder{border:1px dashed var(--rule);border-radius:12px;max-width:560px;margin:40px auto;padding:24px 28px;line-height:1.55}.pl-placeholder h3{font-family:var(--serif);margin:0 0 8px;font-size:24px}.pl-svg .tag{pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;font-family:var(--sans)}.pl-svg .tag.serif{font-family:var(--serif)}.pl-svg .tag.italic{font-style:italic}.pl-svg .lab-title{fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px;font-size:14px;font-weight:600}.pl-svg .lab-sub{fill:var(--muted);paint-order:stroke;stroke:var(--paper);stroke-width:3px;font-size:13px}.pl-svg .it,.pl-svg .tag,.pl-svg .label{transition:opacity .15s}.pl-svg.focus .it[data-g]:not(.fon){opacity:.16}.pl-svg.focus .tag[data-g]:not(.fon){opacity:.2}.pl-svg.focus .label[data-g]:not(.fon){opacity:.4}.pl-svg.hl .it:not(.on){opacity:.14!important}.pl-svg.hl .tag[data-g]:not(.on){opacity:.2}.pl-svg.hl .label[data-g]:not(.on){opacity:.35}.pl-svg.hl .it.on{opacity:1!important}.pl-svg .act{cursor:pointer}.pl-svg .pill{font-family:var(--sans);transition:opacity .15s}.pl-svg.focus .pill[data-g]:not(.fon),.pl-svg.hl .pill[data-g]:not(.on){opacity:.2}.pl-svg .lg-panel{fill:#fbf7ef;stroke:var(--rule);stroke-width:1px}.pl-svg .lg-head{font-family:var(--serif);font-variant:small-caps;letter-spacing:.06em;fill:var(--ink);font-size:18px;font-weight:700}.pl-svg .lg-hint{fill:var(--muted);font-size:12px}.pl-svg .lg-name{fill:var(--ink);font-size:15px;font-weight:600}.pl-svg .lg-note{fill:var(--muted);font-size:13px;font-weight:400}.pl-svg .lg-bg{fill:#0000;stroke:#0000}.pl-svg .lg-act{cursor:pointer}.pl-svg .lg-act:hover .lg-bg,.pl-svg .lg-act:focus-visible .lg-bg{fill:var(--paper-2);stroke:var(--rule)}.pl-svg .lg-act:focus{outline:none}.pl-svg .lg-act:focus-visible .lg-bg{stroke:var(--ink);stroke-width:2px}.pl-svg .lg-on .lg-bg{fill:#fffdf8;stroke:var(--ink);stroke-width:2px}.pl-svg .lg{transition:opacity .15s}.pl-svg.hl .lg[data-g]:not(.on){opacity:.4}.pl-svg.isolated .lg[data-g]:not(.lg-on){opacity:.5}.pl-svg .pill-lead{pointer-events:none}.pl-iso{z-index:3;background:var(--ink);max-width:calc(100% - 16px);color:var(--paper);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:13.5px;display:flex;position:absolute;top:4px;left:8px;box-shadow:0 4px 14px #0000002e}.pl-iso[hidden]{display:none}.pl-iso-l{letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:700}.pl-iso-n{align-items:center;gap:7px;font-weight:600;display:inline-flex}.pl-iso .pl-sample{flex:none}.pl-iso-all{background:var(--paper);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:700}.pl-iso-all:hover{background:#fff}.pl-svg .marker{cursor:default}.pl-tip{z-index:20;pointer-events:none;background:var(--ink);max-width:340px;color:var(--paper);border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.35;position:fixed;box-shadow:0 4px 14px #0000002e}.pl-key{gap:6px;margin:8px 0 0;padding:0;font-size:14px;line-height:1.35;list-style:none;display:grid}.pl-key li{align-items:flex-start;gap:10px;display:flex}.pl-key-n{background:var(--ink);width:21px;height:21px;color:var(--paper);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:12px;font-weight:700;display:inline-grid}.pl-key b{font-weight:600}.pl-text{border-left:1px solid var(--rule);flex-direction:column;gap:16px;padding:18px 22px 22px 18px;display:flex;overflow-y:auto}.pl-caption{font-size:15.5px;line-height:1.55}.pl-caption p{margin:0 0 .7em}.pl-caption p:last-child{margin-bottom:0}.pl-caption .aside{color:var(--muted);font-size:14px}.pl-keys-h,.pl-extra h3{font-family:var(--serif);margin:0 0 8px;font-size:19px;font-weight:700}.pl-keys-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pl-kn{background:var(--paper-2);border-radius:8px;padding:8px 10px}.pl-kn-v{font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.05}.pl-kn-l{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.3}.pl-extra{font-size:13.5px;line-height:1.45}.pl-extra table{border-collapse:collapse;width:100%}.pl-extra th,.pl-extra td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:5px 6px 5px 0}.pl-extra th{color:var(--muted);font-size:12.5px;font-weight:600}.pl-extra td.num,.pl-extra th.num{text-align:right;white-space:nowrap;padding-right:0}.pl-extra table.pl-leafmap{width:auto}.pl-extra .pl-leafmap th,.pl-extra .pl-leafmap td{text-align:center;border-bottom:0;padding:3px 4px}.pl-extra .pl-leafmap th:first-child{text-align:left}.pl-lm{border:1px solid var(--rule);min-width:54px;color:var(--ink);font-variant-numeric:tabular-nums;background:#fffdf8;border-radius:5px;padding:3px 6px;font-size:12.5px;text-decoration:none;display:inline-block}.pl-lm:hover{border-color:var(--ink)}.pl-lm.on{border-color:var(--ink);font-weight:700}.pl-extra .sw{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.pl-extra .ladder{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pl-extra .ladder li{grid-template-columns:96px 1fr;align-items:baseline;gap:8px;display:grid}.pl-extra .ladder b{font-family:var(--serif);font-size:19px}.pl-extra .note{color:var(--muted);margin:6px 0 0;font-size:13px}.pl-3d{border:1px solid var(--ink);border-radius:999px;align-self:flex-start;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none}.pl-3d:hover{background:var(--ink);color:var(--paper)}.pl-nav{gap:8px;margin-top:auto;display:flex}.pl-btn{border:1px solid var(--rule);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:8px;flex:1;padding:9px 10px;font-size:13.5px;overflow:hidden}.pl-btn:hover:not(:disabled){background:var(--paper-2)}.pl-btn:disabled{opacity:.4;cursor:default}.pl-extra ol.notes{gap:8px;margin:0;padding-left:18px;display:grid}.pl-extra ol.notes li{padding-left:2px}.pl-extra dl.gloss{grid-template-columns:max-content 1fr;gap:5px 10px;margin:0;display:grid}.pl-extra dl.gloss dt{font-weight:600}.pl-extra dl.gloss dd{color:var(--ink);margin:0}.pl-extra table.where td:first-child{white-space:nowrap}.pl-extra td.num:not(:last-child),.pl-extra th.num:not(:last-child){padding-right:10px}.pl-app.is-mount{grid-template-columns:minmax(0,1fr) 320px}@media (width<=1640px){.pl-toc-a:not(.on) .pl-toc-t{display:none}.pl-toc-a:not(.on){padding:4px}}@media (width<=1100px){.pl-toc-t{display:none}.pl-toc-a{padding:4px}.pl-toc-n{width:26px;height:26px;font-size:12.5px}}.pl-app.narrow,.pl-app.narrow.is-mount{height:auto;display:block}.narrow .pl-top{z-index:5;background:var(--paper);flex-wrap:wrap;gap:8px 10px;padding:10px 16px;position:sticky;top:0}.narrow .pl-brand{flex:1;min-width:0}.narrow .pl-brand-t{font-size:19px}.narrow .pl-toc{display:none}.narrow .pl-toc-sel{width:100%;font:inherit;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:8px;order:3;padding:8px 10px;font-size:15px;display:block}.narrow .pl-map{padding:5px 10px}.narrow .pl-icon{display:none}.narrow .pl-stage{padding:14px 16px 4px}.narrow .pl-design{gap:6px 8px;padding:8px 16px}.narrow .pl-design-l{display:none}.narrow .pl-design-o .pl-seg-b{padding:6px 9px}.narrow .pl-design-n{flex-basis:100%}.narrow .pl-title{font-size:29px}.narrow .pl-no{font-size:15px}.narrow .pl-draw{flex:none}.narrow .pl-seg-b{padding:7px 10px}.narrow .pl-mount{max-height:none;overflow-x:auto}.narrow .pl-text{border-left:0;padding:14px 16px 28px;overflow:visible}.narrow .pl-nav{margin-top:4px}.pl-extra small{color:var(--muted);font-size:12.5px}.pl-extra table.tiers td:first-child b{white-space:nowrap}.pl-extra table.tiers td.num{font-variant-numeric:tabular-nums}.pl-app.narrow.is-mount{flex-direction:column;display:flex}.narrow.is-mount .pl-stage{display:contents}.narrow.is-mount .pl-head{order:1;padding:14px 16px 0}.narrow.is-mount .pl-text{order:2;padding-bottom:8px}.narrow.is-mount .pl-mount{order:3;margin-top:0;padding:12px 16px 28px}.pp{max-width:1180px}.pp-frame{border-left:3px solid var(--ink);background:var(--paper-2);margin:0 0 10px;padding:8px 12px;font-size:14px;font-weight:500;line-height:1.45}.pp-draw{-webkit-overflow-scrolling:touch;overflow-x:auto}.pp-svg{width:100%;max-width:980px;height:auto;font-family:var(--sans);display:block}.pp-svg .pp-t{paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}.pp-mark{cursor:pointer;outline:none}.pp-mark circle{transition:r .12s}.pp-mark.pp-on circle{stroke:var(--accent);stroke-width:3px}.pp.pp-hl .pp-mark:not(.pp-on){opacity:.35}.pp-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:6px 0 0;font-size:12.5px;display:flex}.pp-n{background:var(--ink);min-width:22px;height:22px;color:var(--paper);border-radius:50%;flex:none;place-items:center;padding:0 4px;font-size:12px;font-weight:700;display:inline-grid}.pp-n.ok{background:#2f6e37}.pp-gapk{color:#a23b2a;border:1.6px dashed #a23b2a;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-grid}.pp-h{font-family:var(--serif);margin:18px 0 8px;font-size:21px}.pp-cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;display:grid}.pp-card{border:1px solid var(--rule);background:#fbf8f2;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;transition:border-color .12s,box-shadow .12s}.pp-card.pp-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.pp-card header{align-items:flex-start;gap:9px;display:flex}.pp-card h4{margin:0;font-size:14.5px}.pp-slot{color:var(--muted);margin:1px 0 0;font-size:12.5px}.pp-k{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:4px;font-size:11px;display:inline-block}.pp-cisco{margin:8px 0 4px}.pp-prof ul{margin:4px 0 0;padding-left:16px}.pp-prof li{margin:3px 0}.pp-prof a{color:var(--ink);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:2px}.pp-prof a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.pp-badge{border:1px solid;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:600;display:inline-block}.pp-badge.ok{color:#2f6e37;border-color:#2f6e37}.pp-badge.eq{color:var(--muted);border-color:var(--rule)}.pp-mini{color:var(--muted);white-space:nowrap;font-size:11px}.pp-match{color:var(--muted);margin:6px 0 0;font-size:12.5px}.pp-gaps{gap:4px;margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;display:grid}.pp-gaps b{color:#a23b2a}.pp-foot{color:var(--muted);margin:14px 0 4px;font-size:12.5px}.pp-nv{border:1px dashed var(--rule);border-radius:12px;max-width:560px;margin:30px auto;padding:22px 26px;line-height:1.55}.pp-nv h3{font-family:var(--serif);margin:0 0 8px;font-size:24px}.pp-switch{border:1px solid var(--ink);border-radius:999px;padding:7px 14px;font-weight:600;text-decoration:none;display:inline-block}.pp-switch:hover{background:var(--ink);color:var(--paper)}.pl-extra table.pp-svc td{font-size:13px}.narrow .pp-svg{min-width:640px}.narrow .pp-cards{grid-template-columns:1fr}.narrow.is-mount.mount-first .pl-text{display:contents}.narrow.is-mount.mount-first .pl-caption{order:2;padding:14px 16px 0}.narrow.is-mount.mount-first .pl-mount{order:3}.narrow.is-mount.mount-first .pl-keys{order:4;padding:0 16px}.narrow.is-mount.mount-first .pl-extra{order:5;padding:14px 16px 0}.narrow.is-mount.mount-first .pl-3d{order:6;margin:14px 16px 0}.narrow.is-mount.mount-first .pl-nav{order:7;padding:14px 16px 28px}.pl-cover{display:none}.pl-app.is-cover{grid-template-columns:minmax(0,1fr)}.pl-app.is-cover .pl-stage,.pl-app.is-cover .pl-text{display:none}.pl-app.is-cover .pl-cover{grid-column:1/-1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(360px,540px) minmax(0,1fr);gap:0 24px;min-height:0;padding:22px 22px 18px 44px;display:grid}.pl-cover-text{align-self:center;max-height:100%;padding-right:4px;overflow:auto}.pl-cover-k{font-family:var(--serif);font-variant:small-caps;letter-spacing:.1em;color:var(--accent);font-size:18px}.pl-cover-h{font-family:var(--serif);letter-spacing:-.01em;margin:4px 0 14px;font-size:clamp(40px,min(5.2vw,8vh),72px);font-weight:700;line-height:.98}.pl-cover-lede{max-width:34em;margin:0 0 18px;font-size:16.5px;line-height:1.55}.pl-cover-n{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0 0 22px;display:grid}.pl-cover-n div{border-top:1px solid var(--ink);padding-top:6px}.pl-cover-n div:first-child{grid-column:1/-1}.pl-cover-n b{font-family:var(--serif);font-variant-numeric:lining-nums;font-size:32px;font-weight:700;line-height:1.05;display:block}.pl-cover-n div:first-child b{font-size:46px}.pl-cover-n span{color:var(--muted);font-size:13px}.pl-cover-cta{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.pl-cover-go{background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600;text-decoration:none}.pl-cover-go:hover{background:var(--accent)}.pl-cover-3d{border:1px solid var(--ink);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:600;text-decoration:none}.pl-cover-3d:hover{background:var(--paper-2)}.pl-cover-hint{color:var(--muted);font-size:12.5px}.pl-cover-hint kbd{font:600 11px var(--sans);border:1px solid var(--rule);background:var(--paper-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px}.pl-cover-art{min-width:0;min-height:0;position:relative}.pl-cover-art .pl-svg{pointer-events:none}.pl-cover-toc{border-top:1px solid var(--rule);grid-column:1/-1;grid-template-columns:repeat(var(--n,12), minmax(0, 1fr));gap:4px 6px;margin:14px 0 0;padding:12px 0 0;list-style:none;display:grid}.pl-cover-toc a{border-radius:6px;flex-direction:column;gap:0;padding:4px 6px;font-size:13px;line-height:1.3;text-decoration:none;display:flex}.pl-cover-toc a:hover{background:var(--paper-2)}.pl-cover-tn{font-family:var(--serif);min-width:18px;color:var(--accent);font-size:17px;font-weight:700}.narrow.is-cover .pl-cover{padding:18px 16px 28px;display:block}.narrow .pl-cover-art{display:none}.narrow .pl-cover-toc{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}@media (width<=1100px){.pl-app.is-cover:not(.narrow) .pl-cover-toc{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (height<=820px) and (width>=821px){.pl-app.is-cover .pl-cover{padding-top:12px;padding-bottom:10px}.pl-cover-h{margin-bottom:8px}.pl-cover-lede{margin-bottom:12px;font-size:15px;line-height:1.45}.pl-cover-n{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-bottom:14px}.pl-cover-n div:first-child{grid-column:auto}.pl-cover-n b,.pl-cover-n div:first-child b{font-size:25px}.pl-cover-n span{font-size:12px}.pl-cover-toc{margin-top:8px;padding-top:8px}}@media (prefers-reduced-motion:no-preference){@keyframes pl-in{0%{opacity:0}}@keyframes pl-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pl-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.pl-svg.enter{animation:.25s ease-out both pl-in}.pl-svg.enter .draw{animation:.5s cubic-bezier(.2,.7,.2,1) both pl-rise}.pl-svg.enter .tags{animation:.35s ease-out .25s both pl-in}.pl-svg.enter .label text,.pl-svg.enter .label circle{animation:.3s ease-out both pl-in;animation-delay:calc(.4s + var(--i,0) * 45ms)}.pl-svg.enter .label .leader{stroke-dasharray:1;animation:.35s ease-in-out both pl-draw;animation-delay:calc(.25s + var(--i,0) * 45ms)}.pl-text.enter>*,.pl-cover-text.enter>*{animation:.4s cubic-bezier(.2,.7,.2,1) both pl-rise}.pl-text.enter>:nth-child(2),.pl-cover-text.enter>:nth-child(2){animation-delay:60ms}.pl-text.enter>:nth-child(3),.pl-cover-text.enter>:nth-child(3){animation-delay:.12s}.pl-text.enter>:nth-child(n+4),.pl-cover-text.enter>:nth-child(n+4){animation-delay:.18s}}.pl-keys-d{font-family:var(--sans);color:var(--accent);letter-spacing:0;margin-left:6px;font-size:12px;font-weight:500}.pl-kn.changed{box-shadow:inset 3px 0 0 var(--accent)}.pl-kn .was,.pl-cover-n .was{color:var(--accent);margin-top:3px;font-size:12px;font-style:normal;display:block}.pl-kn .was:before,.pl-cover-n .was:before{content:"↺ "}.pl-cover-n .changed{border-top-color:var(--accent)}@media (prefers-reduced-motion:no-preference){@keyframes pl-flash{0%{background-color:#f1c9b3}}@keyframes pl-swap{0%{opacity:.25}}.pl-kn.changed,.pl-cover-n .changed,.pl-design-n.flash{animation:1.4s ease-out pl-flash}.pl-svg.flash{animation:.45s ease-out pl-swap}}.pl-mount .cs-head{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pl-mount .cs-section:first-of-type{margin-top:0;padding-top:0}@media (height<=820px){.pl-app:not(.narrow) .pl-mount .cs-section[data-part=schedule]>h3,.pl-app:not(.narrow) .pl-mount .cs-section[data-part=schedule]>.cs-sub{display:none}.pl-app:not(.narrow) .pl-mount .cs-bar{margin-top:0}.pl-app:not(.narrow) .pl-mount .cs-tiles{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.pl-app:not(.narrow) .pl-mount .cs-tile{padding:6px 10px 7px}.pl-app:not(.narrow) .pl-mount .cs-tile .v{font-size:21px}}@media (width<=1366px){.pl-app.is-mount:not(.narrow){grid-template-columns:minmax(0,1fr) 280px}.pl-app:not(.narrow) .pl-mount .cs-input{width:160px}.pl-app:not(.narrow) .pl-mount .cs-bar{column-gap:10px}.pl-app:not(.narrow) .pl-mount .cs-health .cs-select{width:160px}}.sp{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);height:100dvh;display:grid}.sp-top{border-bottom:1px solid var(--rule);background:var(--paper-2);grid-column:1/-1;align-items:center;gap:12px;padding:10px 20px;display:flex}.sp-brand{font-family:var(--serif);font-size:20px;font-weight:700}.sp-status{color:var(--muted);font-size:12.5px}.sp-status.on{color:#3d6b3f}.sp-sp{flex:1}.sp-btn{border:1px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:14px}.sp-btn:disabled{opacity:.35;cursor:default}.sp-btn-main{background:var(--ink);color:var(--paper)}.sp-timer{font:700 28px var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;text-align:right;background:0 0;border:0;min-width:92px}.sp-clock{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:70px;font-size:15px}.sp-now{grid-template-rows:auto minmax(180px,.9fr) minmax(0,1.1fr);gap:8px;min-height:0;padding:14px 20px 0;display:grid}.sp-head h1{font-family:var(--serif);margin:0;font-size:32px;line-height:1.05}.sp-no{font-family:var(--serif);font-variant:small-caps;letter-spacing:.08em;color:var(--accent);font-size:16px}.sp-design{color:var(--muted);font-size:12.5px}.sp-art{border:1px solid var(--rule);background:var(--paper);border-radius:10px;min-height:0;position:relative;overflow:hidden}.sp-art .pl-svg{pointer-events:none}.sp-art-none:after{content:"No drawing on this plate";color:var(--muted);place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.sp-notes{padding:6px 4px 20px 0;font-size:18px;line-height:1.55;overflow-y:auto}.sp-notes .aside{font-size:15px}.sp-side{border-left:1px solid var(--rule);flex-direction:column;gap:10px;min-height:0;padding:14px 20px;display:flex;overflow-y:auto}.sp-next-h h2{font-family:var(--serif);margin:0;font-size:22px;line-height:1.1}.sp-art-s{flex:none;height:200px}.sp-keys h2{font-family:var(--serif);margin:6px 0;font-size:18px}.sp-keys dl{grid-template-columns:max-content 1fr;align-items:baseline;gap:6px 12px;margin:0;display:grid}.sp-keys dt{font-family:var(--serif);font-size:20px;font-weight:700}.sp-keys dd{color:var(--muted);margin:0;font-size:13.5px}.sp-hint{color:var(--muted);margin-top:auto;font-size:12.5px}.sp kbd{font:600 11px var(--sans);border:1px solid var(--rule);background:var(--paper-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px}.pl-cmp-b{border:1px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:999px;flex:none;margin-left:auto;padding:5px 12px;font-size:13px}.pl-cmp-b:hover,.pl-cmp-b.on{background:var(--ink);color:var(--paper)}.pl-compare{bottom:0;left:0;right:0;top:var(--cmp-top,108px);z-index:6;background:var(--paper);border-top:1px solid var(--rule);padding:18px 44px 28px;position:fixed;overflow:auto}.pl-compare[hidden]{display:none}.pl-compare-h h2{font-family:var(--serif);margin:0;font-size:32px}.pl-compare-h p{color:var(--muted);margin:4px 0 14px;font-size:14px}.pl-compare-x{font-size:20px;font-weight:400;position:absolute;top:18px;right:22px}.pl-compare-wait{color:var(--muted)}.cmp-t{border-collapse:collapse;width:100%;max-width:1180px;font-size:14px}.cmp-t th,.cmp-t td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:7px 14px 7px 0}.cmp-t thead th{border-bottom:1px solid var(--ink);vertical-align:bottom}.cmp-t thead button{font:700 17px var(--serif);cursor:pointer;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;background:0 0;border:0;padding:0}.cmp-t thead th.on button{color:var(--accent);text-decoration:none}.cmp-cur{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:600;display:block}.cmp-t tbody th[scope=row]{width:24%;font-weight:600}.cmp-t tbody th small{color:var(--muted);font-size:12px;font-weight:400;display:block}.cmp-t td{font-variant-numeric:tabular-nums;width:19%}.cmp-v{display:block}.cmp-bar{height:6px;margin-top:5px;display:block}.cmp-bar i{background:var(--ink);opacity:.55;border-radius:0 4px 4px 0;height:100%;display:block}.cmp-t td.on .cmp-bar i{background:var(--accent);opacity:1}.cmp-t td.on{font-weight:600}.cmp-t tr.same td{color:var(--muted)}.cmp-t tr.cmp-g th{font-family:var(--serif);font-variant:small-caps;letter-spacing:.08em;color:var(--muted);border-bottom-color:var(--ink);padding-top:16px;font-size:16px}.cmp-foot{max-width:1180px;color:var(--muted);margin-top:12px;font-size:12.5px}.narrow .pl-compare{z-index:40;padding:16px;position:fixed;inset:0}.narrow .pl-cmp-b{margin-left:0}.pl-svg.zoomed{cursor:grab}.pl-svg.panning{cursor:grabbing}.pl-zoom{z-index:2;cursor:pointer;background:var(--ink);color:var(--paper);border:0;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;position:absolute;top:4px;right:8px}.pl-zoom[hidden]{display:none}.pl-playbar{background:var(--accent);transform-origin:0;z-index:50;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.pl-playbar[hidden]{display:none}.pl-playbar.run{animation:linear forwards pl-playbar}@keyframes pl-playbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pl-playchip{z-index:50;cursor:pointer;background:var(--ink);color:var(--paper);border:0;border-radius:999px;padding:7px 14px;font-size:13px;position:fixed;bottom:16px;left:16px;box-shadow:0 6px 20px #0003}.pl-playchip[hidden]{display:none}.pl-playchip kbd{font:600 11px var(--sans);border:1px solid #fff6;border-radius:3px;padding:0 4px}button.pl-cover-3d{font:inherit;cursor:pointer;color:inherit;background:0 0;font-size:15px;font-weight:600}.pl-print{display:none}@media print{@page{size:letter landscape;margin:11mm 12mm}html,body{background:#fff}body>:not(.pl-print){display:none!important}.pl-print{color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;display:block}.pp-page{break-after:page;break-inside:avoid;height:7.2in;position:relative;overflow:hidden}.pp-page:last-child{break-after:auto}.pp-cover h1{font-family:var(--serif);margin:6px 0 12px;font-size:58px;line-height:1}.pp-lede{max-width:46em;margin:0 0 18px;font-size:15px;line-height:1.5}.pp-big{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}.pp-big div{border-top:1.5px solid var(--ink);padding-top:5px}.pp-big b{font-family:var(--serif);font-size:28px;display:block}.pp-big span{color:var(--muted);font-size:11.5px}.pp-toc{columns:2;margin:0;padding-left:22px;font-size:13px;line-height:1.7}.pp-foot{color:var(--muted);border-top:1px solid var(--rule);padding-top:6px;font-size:10.5px;position:absolute;bottom:0;left:0;right:0}.pp-plate{grid-template-rows:auto 420px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 300px;gap:6px 22px;display:grid}.pp-head{border-bottom:1px solid var(--rule);grid-column:1/-1;align-items:baseline;gap:14px;padding-bottom:4px;display:flex}.pp-head h2{font-family:var(--serif);margin:0;font-size:28px}.pp-no{font-family:var(--serif);font-variant:small-caps;letter-spacing:.08em;color:var(--accent);font-size:15px}.pp-state{color:var(--muted);margin-left:auto;font-size:11px}.pp-fig{grid-column:1/-1;width:960px;height:420px;position:relative}.pp-fig .pl-svg{position:static}.pp-nofig-page{grid-template-rows:auto auto minmax(0,1fr)}.pp-nofig-page .pp-fig{height:auto}.pp-nofig{border:1px dashed var(--rule);border-radius:8px;margin-top:30px;padding:18px;font-size:13px;line-height:1.5}.pp-text{display:contents}.pp-text .pl-caption{columns:2;column-gap:20px;font-size:10.5px;line-height:1.4;overflow:hidden}.pp-text .pl-caption p{break-inside:avoid-column;margin:0 0 .5em}.pp-text .pl-caption .aside,.pp-text .pl-caption .pl-src{font-size:10px}.pp-text .pl-caption a{color:inherit;text-decoration:none}.pp-keys{grid-template-columns:1fr 1fr;align-content:start;gap:4px 10px;display:grid}.pp-keys div{border-top:1px solid var(--rule);padding-top:3px}.pp-keys b{font-family:var(--serif);font-size:17px;display:block}.pp-keys span{color:var(--muted);font-size:10px;line-height:1.25;display:block}.pp-compare .cmp-t{font-size:11.5px}.pp-compare .cmp-t th,.pp-compare .cmp-t td{padding-top:4px;padding-bottom:4px}.pp-compare .cmp-t thead button{font-size:14px;text-decoration:none}.pp-compare .cmp-foot{font-size:10px}}.narrow .pl-compare-x{z-index:41;background:var(--paper);display:inline-grid;position:fixed;top:12px;right:12px}.cmp-scroll{overflow-x:auto}.narrow .pl-compare-h h2{padding-right:40px;font-size:25px}.narrow .cmp-t{min-width:520px;font-size:13px}.narrow .cmp-t thead button{font-size:15px}.narrow .cmp-t tbody th[scope=row]{width:30%}.narrow .pl-cover-hint,.narrow .pl-cover-play{display:none}.narrow .pl-cover-n{grid-template-columns:repeat(2,minmax(0,1fr))}.narrow .pl-cover-h{font-size:44px}.pl-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pl-skip{z-index:60;background:var(--ink);color:var(--paper);border-radius:8px;padding:8px 14px;text-decoration:none;position:absolute;top:-48px;left:12px}.pl-skip:focus{top:8px}.pl-app :focus-visible,.pl-shortcuts :focus-visible,.pl-compare :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pl-svg .act:focus{outline:none}.pl-svg .act:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pl-svg .bd{font-family:var(--sans)}.pl-svg .bd-h{font-family:var(--serif);font-variant:small-caps;letter-spacing:.05em;fill:var(--ink);font-size:16px;font-weight:700}.pl-svg .bd-s{fill:var(--muted);font-size:11.5px}.pl-svg .detail-t{font-family:var(--serif);fill:var(--ink);font-size:17px;font-style:italic;font-weight:700}.pl-svg .detail-s{font-family:var(--sans);fill:var(--muted);font-size:12.5px;font-style:normal;font-weight:400}.pl-svg .tf-card{fill:#fbf7ef;stroke:var(--rule);stroke-width:1px;transition:stroke .15s,fill .15s}.pl-svg .tf-panel{cursor:pointer}.pl-svg .tf-panel:hover .tf-card,.pl-svg .tf-panel:focus-within .tf-card{fill:#fffdf8;stroke:var(--ink);stroke-width:1.5px}.pl-svg .tf-open:focus{outline:none}.pl-svg .tf-open:focus-visible{fill:var(--ink);text-decoration:underline}.pl-svg .tf-open{opacity:.7}.pl-svg .tf-panel:hover .tf-open{opacity:1;fill:var(--ink)}.pl-svg .tf-over{animation:1.8s ease-in-out infinite tf-pulse}@keyframes tf-pulse{0%,to{opacity:.22}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.pl-svg .tf-over{animation:none}}.pl-iso-n small{opacity:.85;font-size:12.5px;font-weight:400}
