:root{--pn-ink: #1d2623;--pn-muted: #55625d;--pn-faint: #8b958f;--pn-surface: #ffffff;--pn-paper: #f7f5ef;--pn-line: #e4e0d4;--pn-teal: #0f766e;--pn-teal-dark: #0a5a53;--pn-teal-soft: #e0f2ef;--pn-brass: #a5650f;--pn-brass-soft: #fbf0dc;--pn-slate: #4a5b85;--pn-slate-soft: #e9edf6;--pn-red: #b42318;--pn-red-soft: #fdecea;--pn-radius: 14px;--pn-radius-sm: 9px;--pn-shadow: 0 12px 30px rgba(29,38,35,0.08);--pn-focus: 0 0 0 3px rgba(15,118,110,0.3);--pn-mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--primary: var(--pn-teal);--primary-dark: var(--pn-teal-dark);--border: var(--pn-line);--surface: var(--pn-surface);--shadow-soft: var(--pn-shadow);--surface-muted: var(--pn-paper);--text-main: var(--pn-ink);--text-muted: var(--pn-muted);}
.pn-tool,.pn-out{margin: 1.25rem 0;background: var(--pn-surface);border: 1px solid var(--pn-line);border-radius: var(--pn-radius);box-shadow: var(--pn-shadow);color: var(--pn-ink);overflow: hidden;}
.pn-tool [hidden],.pn-out [hidden]{display: none !important;}
.pn-out[hidden]{display: none;}
.pn-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.3rem 1rem;padding: 0.75rem 1.4rem;background: var(--pn-paper);border-bottom: 1px solid var(--pn-line);font-size: 0.86rem;color: var(--pn-muted);}
.pn-byline-author{font-weight: 600;color: var(--pn-ink);}
.pn-byline .author-link{color: var(--pn-teal);text-decoration: none;}
.pn-byline .author-link:hover{text-decoration: underline;}
.pn-byline .author-link:focus-visible{outline: none;box-shadow: var(--pn-focus);border-radius: 4px;}
.pn-tabs{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));border-bottom: 1px solid var(--pn-line);}
.pn-tab{display: flex;align-items: center;gap: 0.7rem;padding: 1rem 1.4rem;background: none;border: 0;border-bottom: 3px solid transparent;border-right: 1px solid var(--pn-line);color: var(--pn-muted);font-size: 0.98rem;font-weight: 600;text-align: left;cursor: pointer;transition: background 0.15s,color 0.15s,border-color 0.15s;}
.pn-tab:last-child{border-right: 0;}
.pn-tab:hover{background: var(--pn-paper);color: var(--pn-ink);}
.pn-tab:focus-visible{outline: none;box-shadow: inset var(--pn-focus);}
.pn-tab.is-on{color: var(--pn-teal-dark);border-bottom-color: var(--pn-teal);background: var(--pn-surface);}
.pn-tab-n{font: 700 0.78rem var(--pn-mono);color: var(--pn-faint);}
.pn-tab.is-on .pn-tab-n{color: var(--pn-teal);}
.pn-pane{display: grid;gap: 0.8rem;padding: 1.4rem;}
.pn-label{display: block;margin: 0;font-size: 0.8rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--pn-muted);}
.pn-text,.pn-input{width: 100%;padding: 0.75rem 0.9rem;background: var(--pn-paper);border: 1px solid var(--pn-line);border-radius: var(--pn-radius-sm);color: var(--pn-ink);font: 600 1.02rem var(--pn-mono);transition: border-color 0.15s,box-shadow 0.15s,background 0.15s;}
.pn-text{resize: vertical;min-height: 6.5rem;line-height: 1.55;}
.pn-text:focus,.pn-input:focus{outline: none;background: var(--pn-surface);border-color: var(--pn-teal);box-shadow: var(--pn-focus);}
.pn-text::placeholder,.pn-input::placeholder{color: var(--pn-faint);font-weight: 500;}
.pn-actions,.pn-out-tools{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem;}
.pn-btn{display: inline-flex;align-items: center;justify-content: center;min-height: 2.75rem;padding: 0.6rem 1.3rem;background: var(--pn-teal);border: 1px solid var(--pn-teal);border-radius: var(--pn-radius-sm);color: #ffffff;font-size: 0.95rem;font-weight: 700;cursor: pointer;transition: background 0.15s,border-color 0.15s,color 0.15s;}
.pn-btn:hover{background: var(--pn-teal-dark);border-color: var(--pn-teal-dark);}
.pn-btn:focus-visible{outline: none;box-shadow: var(--pn-focus);}
.pn-btn:disabled{opacity: 0.55;cursor: not-allowed;}
.pn-btn-quiet{background: var(--pn-surface);border-color: var(--pn-line);color: var(--pn-ink);font-weight: 600;}
.pn-btn-quiet:hover{background: var(--pn-paper);border-color: var(--pn-teal);color: var(--pn-teal-dark);}
.pn-hint{margin: 0;font-size: 0.88rem;line-height: 1.55;color: var(--pn-muted);}
.pn-range{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;gap: 0.75rem;align-items: end;}
.pn-range-one{grid-template-columns: minmax(0,16rem) auto;justify-content: start;}
.pn-field{display: grid;gap: 0.35rem;}
.pn-chips{display: flex;flex-wrap: wrap;align-items: center;gap: 0.45rem;}
.pn-chips-label{margin-right: 0.2rem;font-size: 0.84rem;color: var(--pn-faint);}
.pn-chip{padding: 0.38rem 0.8rem;background: var(--pn-paper);border: 1px solid var(--pn-line);border-radius: 999px;color: var(--pn-ink);font: 600 0.85rem var(--pn-mono);cursor: pointer;transition: border-color 0.15s,background 0.15s;}
.pn-chip:hover{border-color: var(--pn-teal);background: var(--pn-teal-soft);}
.pn-chip:focus-visible{outline: none;box-shadow: var(--pn-focus);}
.pn-chip-warn:hover{border-color: var(--pn-red);background: var(--pn-red-soft);}
.pn-error{margin: 0 1.4rem 1.4rem;padding: 0.75rem 1rem;background: var(--pn-red-soft);border-left: 4px solid var(--pn-red);border-radius: 0 var(--pn-radius-sm) var(--pn-radius-sm) 0;color: var(--pn-red);font-size: 0.92rem;font-weight: 600;}
.pn-out-block{display: grid;gap: 1rem;padding: 1.3rem 1.4rem 1.4rem;}
.pn-out-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.75rem;}
.pn-tally{margin: 0;font-size: 1rem;color: var(--pn-muted);}
.pn-tally strong{color: var(--pn-ink);}
.pn-skip{margin: 0;padding: 0.6rem 0.9rem;background: var(--pn-brass-soft);border-radius: var(--pn-radius-sm);font-size: 0.88rem;color: var(--pn-brass);}
.pn-skip code{color: inherit;background: rgba(165,101,15,0.1);padding: 0 0.25rem;border-radius: 4px;}
.pn-rows{display: grid;border: 1px solid var(--pn-line);border-radius: var(--pn-radius-sm);overflow: hidden;}
.pn-row{border-bottom: 1px solid var(--pn-line);}
.pn-row:last-child{border-bottom: 0;}
.pn-row summary{display: grid;grid-template-columns: minmax(0,1.3fr) auto minmax(0,1fr) minmax(5rem,9rem) 1rem;gap: 0.9rem;align-items: center;padding: 0.8rem 1rem;cursor: pointer;list-style: none;}
.pn-row summary::-webkit-details-marker{display: none;}
.pn-row summary::after{content: "";width: 0.5rem;height: 0.5rem;border-right: 2px solid var(--pn-faint);border-bottom: 2px solid var(--pn-faint);transform: rotate(45deg);transition: transform 0.15s;justify-self: end;}
.pn-row[open] summary::after{transform: rotate(-135deg);}
.pn-row summary:hover{background: var(--pn-paper);}
.pn-row summary:focus-visible{outline: none;box-shadow: inset var(--pn-focus);}
.pn-row[data-kind="perfect"] summary{background: var(--pn-teal-soft);}
.pn-row-n{font: 700 1.1rem var(--pn-mono);overflow-wrap: anywhere;}
.pn-row-long{font-size: 0.92rem;}
.pn-row-gap{font: 600 0.88rem var(--pn-mono);color: var(--pn-muted);}
.pn-badge{display: inline-block;padding: 0.22rem 0.65rem;border-radius: 999px;font-size: 0.78rem;font-weight: 700;letter-spacing: 0.03em;white-space: nowrap;background: var(--pn-paper);color: var(--pn-muted);}
.pn-badge[data-kind="perfect"]{background: var(--pn-teal);color: #ffffff;}
.pn-badge[data-kind="abundant"]{background: var(--pn-brass-soft);color: var(--pn-brass);}
.pn-badge[data-kind="deficient"]{background: var(--pn-slate-soft);color: var(--pn-slate);}
.pn-badge[data-kind="notperfect"]{background: var(--pn-red-soft);color: var(--pn-red);}
.pn-meter{position: relative;display: block;height: 0.55rem;background: var(--pn-paper);border-radius: 999px;overflow: hidden;}
.pn-meter i{position: absolute;left: 0;top: 0;bottom: 0;border-radius: 999px;background: var(--pn-slate);}
.pn-meter i[data-kind="perfect"]{background: var(--pn-teal);}
.pn-meter i[data-kind="abundant"]{background: var(--pn-brass);}
.pn-meter b{position: absolute;left: 50%;top: -2px;bottom: -2px;width: 2px;background: var(--pn-ink);opacity: 0.55;}
.pn-meter-off{background: repeating-linear-gradient(45deg,var(--pn-paper),var(--pn-paper) 4px,var(--pn-line) 4px,var(--pn-line) 8px);}
.pn-row-body{display: grid;gap: 0.75rem;padding: 0.2rem 1rem 1.1rem;}
.pn-eq{margin: 0;padding: 0.7rem 0.9rem;background: var(--pn-paper);border-radius: var(--pn-radius-sm);font: 600 0.98rem var(--pn-mono);line-height: 1.6;overflow-wrap: anywhere;}
.pn-eq b{color: var(--pn-teal-dark);}
.pn-eq-vs{color: var(--pn-muted);font-weight: 500;}
.pn-divs{display: flex;flex-wrap: wrap;gap: 0.3rem;}
.pn-divs span{padding: 0.15rem 0.45rem;background: var(--pn-paper);border-radius: 5px;font: 600 0.85rem var(--pn-mono);}
.pn-divs em{align-self: center;font-size: 0.85rem;color: var(--pn-muted);}
.pn-mini{display: grid;grid-template-columns: repeat(auto-fit,minmax(10rem,1fr));gap: 0.5rem 1rem;margin: 0;}
.pn-mini div{display: grid;gap: 0.1rem;}
.pn-mini dt{font-size: 0.74rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--pn-faint);}
.pn-mini dd{margin: 0;font: 600 0.95rem var(--pn-mono);overflow-wrap: anywhere;}
.pn-why{margin: 0;font-size: 0.93rem;line-height: 1.6;color: var(--pn-muted);}
.pn-census{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 0.6rem;}
.pn-tile{display: grid;gap: 0.15rem;padding: 0.9rem 1rem;background: var(--pn-paper);border-top: 3px solid var(--pn-line);border-radius: var(--pn-radius-sm);}
.pn-tile[data-kind="perfect"]{border-top-color: var(--pn-teal);}
.pn-tile[data-kind="abundant"]{border-top-color: var(--pn-brass);}
.pn-tile[data-kind="deficient"]{border-top-color: var(--pn-slate);}
.pn-tile-k{font-size: 0.76rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--pn-muted);}
.pn-tile strong{font: 700 1.55rem var(--pn-mono);line-height: 1.2;}
.pn-tile-sub{font-size: 0.85rem;color: var(--pn-muted);}
.pn-share{display: flex;height: 0.8rem;background: var(--pn-paper);border-radius: 999px;overflow: hidden;}
.pn-share i{display: block;height: 100%;background: var(--pn-slate);}
.pn-share i[data-kind="perfect"]{background: var(--pn-teal);}
.pn-share i[data-kind="abundant"]{background: var(--pn-brass);}
.pn-scan-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 0.8rem;}
.pn-card{padding: 1rem 1.1rem;border: 1px solid var(--pn-line);border-radius: var(--pn-radius-sm);}
.pn-card-h{margin: 0 0 0.7rem;font-size: 0.95rem;font-weight: 700;}
.pn-found{display: grid;gap: 0.15rem;padding: 0.55rem 0;border-bottom: 1px dashed var(--pn-line);}
.pn-found:last-child{border-bottom: 0;}
.pn-found strong{font: 700 1.15rem var(--pn-mono);color: var(--pn-teal-dark);}
.pn-found span{font: 500 0.84rem var(--pn-mono);color: var(--pn-muted);overflow-wrap: anywhere;}
.pn-pairs{display: grid;gap: 0.35rem;max-height: 18rem;margin: 0;padding: 0;overflow-y: auto;list-style: none;}
.pn-pairs li{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem;font: 600 0.95rem var(--pn-mono);}
.pn-pairs i{font-style: normal;color: var(--pn-brass);}
.pn-pairs em{font: 500 0.78rem system-ui,sans-serif;color: var(--pn-faint);}
.pn-empty{margin: 0;font-size: 0.92rem;line-height: 1.55;color: var(--pn-muted);}
.pn-verdict-line{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem;}
.pn-verdict-line .pn-badge{font-size: 0.86rem;padding: 0.3rem 0.85rem;}
.pn-verdict-text{flex: 1 1 20rem;margin: 0;font-size: 1.02rem;line-height: 1.55;}
.pn-facts{display: grid;grid-template-columns: repeat(auto-fit,minmax(13rem,1fr));gap: 0.6rem;margin: 0;}
.pn-facts div{padding: 0.7rem 0.9rem;background: var(--pn-paper);border-radius: var(--pn-radius-sm);}
.pn-facts dt{font-size: 0.74rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--pn-faint);}
.pn-facts dd{margin: 0.15rem 0 0;font: 600 0.95rem var(--pn-mono);overflow-wrap: anywhere;}
.pn-digits-wrap{display: grid;gap: 0.6rem;}
.pn-digits-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem;}
.pn-digits{max-height: 16rem;padding: 0.9rem 1rem;background: var(--pn-ink);border-radius: var(--pn-radius-sm);color: #e6f4f1;font: 500 0.92rem/1.6 var(--pn-mono);word-break: break-all;overflow-y: auto;}
.pn-bin-label{margin-top: 0.3rem;}
.pn-bin{padding: 0.7rem 1rem;background: var(--pn-paper);border-radius: var(--pn-radius-sm);font: 600 0.92rem var(--pn-mono);word-break: break-all;}
.pn-ones{color: var(--pn-teal-dark);}
.pn-zeros{color: var(--pn-faint);}
.pn-bin-count{display: block;margin-top: 0.3rem;font: 500 0.84rem system-ui,sans-serif;color: var(--pn-muted);}
.pn-note{display: block;min-height: 1.2rem;padding: 0 1.4rem 0.9rem;font-size: 0.88rem;font-weight: 600;color: var(--pn-teal-dark);}
.pn-guide{margin: 2.5rem auto 1rem;color: var(--pn-ink);font-size: 1.04rem;line-height: 1.75;}
.pn-guide h2{margin: 2.4rem 0 0.9rem;font-size: 1.6rem;font-weight: 800;line-height: 1.25;letter-spacing: -0.01em;}
.pn-guide h2:first-child{margin-top: 0;}
.pn-guide p{margin: 0 0 1rem;}
.pn-guide a{color: var(--pn-teal-dark);font-weight: 600;text-decoration: underline;text-underline-offset: 3px;}
.pn-guide code{padding: 0.05rem 0.35rem;background: var(--pn-paper);border-radius: 4px;color: var(--pn-teal-dark);font: 600 0.92em var(--pn-mono);}
.pn-sum{display: flex;flex-wrap: wrap;align-items: center;gap: 0.45rem;margin: 0 0 1.2rem;padding: 1rem 1.1rem;background: var(--pn-paper);border-radius: var(--pn-radius);}
.pn-sum span{display: inline-grid;place-items: center;min-width: 2.7rem;height: 2.7rem;padding: 0 0.5rem;background: var(--pn-surface);border: 1px solid var(--pn-line);border-radius: var(--pn-radius-sm);font: 700 1.1rem var(--pn-mono);}
.pn-sum i{font-style: normal;font-weight: 700;color: var(--pn-faint);}
.pn-sum b{display: inline-grid;place-items: center;min-width: 3.2rem;height: 2.7rem;padding: 0 0.6rem;background: var(--pn-teal);border-radius: var(--pn-radius-sm);color: #ffffff;font: 800 1.15rem var(--pn-mono);}
.pn-bins{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0.8rem;margin: 0 0 1.2rem;}
.pn-bin-card{display: grid;align-content: start;gap: 0.2rem;padding: 1.1rem;border: 1px solid var(--pn-line);border-top: 4px solid var(--pn-slate);border-radius: var(--pn-radius-sm);}
.pn-bin-card[data-kind="perfect"]{border-top-color: var(--pn-teal);background: var(--pn-teal-soft);}
.pn-bin-card[data-kind="abundant"]{border-top-color: var(--pn-brass);}
.pn-bin-tag{font-size: 0.78rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;color: var(--pn-muted);}
.pn-bin-num{font: 800 1.9rem var(--pn-mono);line-height: 1.2;}
.pn-bin-cap{font-size: 0.85rem;color: var(--pn-faint);}
.pn-bin-card p{margin: 0.5rem 0 0;font-size: 0.93rem;line-height: 1.6;}
.pn-steps{margin: 0 0 1.2rem;padding: 0;list-style: none;counter-reset: pnstep;}
.pn-steps li{position: relative;margin: 0 0 0.7rem;padding: 0.2rem 0 0 3rem;counter-increment: pnstep;}
.pn-steps li::before{content: counter(pnstep);position: absolute;left: 0;top: 0;display: grid;place-items: center;width: 2.1rem;height: 2.1rem;background: var(--pn-ink);border-radius: 50%;color: #ffffff;font: 700 0.95rem var(--pn-mono);}
.pn-table-wrap{margin: 0 0 1.2rem;overflow-x: auto;border: 1px solid var(--pn-line);border-radius: var(--pn-radius-sm);}
.pn-table{width: 100%;border-collapse: collapse;font-size: 0.93rem;}
.pn-table caption{caption-side: top;padding: 0.7rem 1rem;background: var(--pn-paper);font-size: 0.86rem;font-weight: 700;color: var(--pn-muted);}
.pn-table th,.pn-table td{padding: 0.65rem 1rem;border-bottom: 1px solid var(--pn-line);text-align: left;vertical-align: top;}
.pn-table th{font-size: 0.78rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;color: var(--pn-muted);}
.pn-table tbody tr:last-child td{border-bottom: 0;}
.pn-table td:first-child{font-family: var(--pn-mono);font-weight: 700;white-space: nowrap;}
.pn-table td:nth-child(2){font-family: var(--pn-mono);overflow-wrap: anywhere;}
.pn-table-near td:nth-child(3){font-family: inherit;}
.pn-callout{margin: 0 0 1.2rem;padding: 1rem 1.2rem;background: var(--pn-ink);border-radius: var(--pn-radius);color: #eef4f2;}
.pn-callout-h{margin: 0 0 0.4rem !important;font-weight: 700;}
.pn-callout ul{margin: 0;padding-left: 1.2rem;}
.pn-callout li{margin: 0.2rem 0;}
.pn-tells{margin: 0 0 1rem;padding-left: 1.2rem;}
.pn-tells li{margin: 0 0 0.55rem;}
.pn-limits{display: grid;grid-template-columns: 9rem minmax(0,1fr);gap: 0.8rem 1.2rem;margin: 0 0 1.2rem;padding: 1.1rem 1.2rem;border: 1px solid var(--pn-line);border-radius: var(--pn-radius-sm);}
.pn-limits dt{font-weight: 800;color: var(--pn-teal-dark);}
.pn-limits dd{margin: 0;font-size: 0.97rem;line-height: 1.65;}
@media (max-width: 900px){.pn-census{grid-template-columns: repeat(2,minmax(0,1fr));}.pn-scan-grid{grid-template-columns: 1fr;}.pn-bins{grid-template-columns: 1fr;}.pn-row summary{grid-template-columns: minmax(0,1fr) auto 1rem;}.pn-row-gap{grid-column: 1 / 2;}.pn-meter{grid-column: 2 / 3;width: 6rem;}}
@media (max-width: 640px){.pn-tabs{grid-template-columns: 1fr;}.pn-tab{border-right: 0;border-bottom: 1px solid var(--pn-line);border-left: 3px solid transparent;padding: 0.8rem 1.1rem;}.pn-tab.is-on{border-bottom-color: var(--pn-line);border-left-color: var(--pn-teal);}.pn-pane,.pn-out-block{padding: 1.1rem;}.pn-byline{padding: 0.7rem 1.1rem;}.pn-range{grid-template-columns: 1fr 1fr;}.pn-range .pn-btn{grid-column: 1 / -1;}.pn-range-one{grid-template-columns: 1fr;}.pn-error{margin: 0 1.1rem 1.1rem;}.pn-guide h2{font-size: 1.35rem;}.pn-limits{grid-template-columns: 1fr;gap: 0.2rem;}.pn-limits dd{margin-bottom: 0.7rem;}.pn-tile strong{font-size: 1.3rem;}.pn-note{padding: 0 1.1rem 0.8rem;}}
@media (prefers-reduced-motion: reduce){.pn-tab,.pn-btn,.pn-chip,.pn-row summary::after{transition: none;}}