.psf-prose{max-width:760px;color:var(--dark-gray);margin:32px auto 0;line-height:1.7}.psf-prose p{margin:0 0 14px}.psf-prose a,.psf-sources a{color:var(--light-green);font-weight:600}.psf-rules{border:1px solid var(--surface);border-radius:14px;max-width:860px;margin:0 auto;overflow:hidden}.psf-rules>div{grid-template-columns:220px minmax(0,1fr);gap:16px;padding:16px 20px;display:grid}.psf-rules>div+div{border-top:1px solid var(--surface)}.psf-rules>div:nth-child(2n){background:var(--light-bg)}.psf-rules dt{color:var(--purple);font-weight:700}.psf-rules dd{color:var(--dark-gray);margin:0;line-height:1.6}@media (max-width:640px){.psf-rules>div{grid-template-columns:minmax(0,1fr);gap:4px}}.psf-sources{border-top:1px solid var(--surface);color:var(--dark-gray);margin:48px 0 56px;padding-top:24px;font-size:14px;line-height:1.6}.psf-sources h2{color:var(--dark-gray);margin:0 0 8px;font-size:16px}.psf-sources p{margin:0 0 10px}.psf-sources ul{margin:0;padding-left:18px}.psf-hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0 0;padding:0;list-style:none;display:grid}@media (max-width:720px){.psf-hub{grid-template-columns:minmax(0,1fr)}}.psf-hub li{background:var(--white);border:1px solid var(--surface);border-radius:14px;flex-direction:column;gap:8px;padding:22px;display:flex}.psf-hub h2{margin:0;font-size:20px}.psf-hub h2 a{color:var(--purple);text-decoration:none}.psf-hub p{color:var(--dark-gray);margin:0;line-height:1.6}.psf-hub-more{color:var(--light-green);margin-top:auto;font-weight:700;text-decoration:none}.psf-hub-more:hover,.psf-hub h2 a:hover{color:var(--purple)}.psf-example-wrap{border:1px solid var(--surface);border-radius:14px;max-width:860px;margin:0 auto;overflow-x:auto}.psf-example{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.psf-example th,.psf-example td{text-align:left;color:var(--dark-gray);padding:12px 20px}.psf-example thead th{background:var(--light-bg);color:var(--purple);font-weight:700}.psf-example tbody tr+tr,.psf-example tbody tr:first-child{border-top:1px solid var(--surface)}.psf-example tbody th{font-weight:600}.psf-example td:not([colspan]){text-align:right;white-space:nowrap}.psf-example-note{max-width:860px;color:var(--dark-gray);margin:14px auto 0}@media (max-width:575px){.psf-example th,.psf-example td{padding:10px;font-size:14px}}
