:root{--pb-good: #63A872}.pb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gutter)}.pb-card{display:flex;flex-direction:column;border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-5);background:var(--color-surface);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.pb-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.pb-card-title{font-size:var(--fs-h3);margin:var(--space-2) 0 var(--space-3);text-transform:none;letter-spacing:0}.pb-card-title a{color:inherit}.pb-card-title a:hover{color:var(--color-accent)}.pb-card-dek{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--fs-sm);margin-bottom:var(--space-4)}.pb-card-meta{margin-top:auto;color:var(--color-text-faint);display:flex;gap:var(--space-3);flex-wrap:wrap}.pb-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:var(--space-7);align-items:start}.pb-main{min-width:0}.pb-aside{position:sticky;top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.pb-panel{border:var(--rule-hairline) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-5);background:var(--color-surface)}.pb-panel-title{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--fs-xs);color:var(--brand-orange);margin-bottom:var(--space-4)}.pb-fields{display:grid;gap:var(--space-4)}.pb-fields--2{grid-template-columns:repeat(2,1fr)}.pb-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pb-field label{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--color-text-muted)}.pb-field .pb-hint{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-text-faint);text-transform:none;letter-spacing:0}.pb-input-wrap{position:relative;display:flex;align-items:center}.pb-input-wrap .pb-affix{position:absolute;font-family:var(--font-utility);font-size:var(--fs-sm);color:var(--color-text-faint);pointer-events:none}.pb-input-wrap .pb-affix--pre{left:12px}.pb-input-wrap .pb-affix--post{right:12px}.pb-field input[type=number],.pb-field input[type=text]{width:100%;padding:10px 12px;font-family:var(--font-body);font-size:var(--fs-base);font-variant-numeric:tabular-nums;color:var(--color-text);background:var(--color-bg);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:var(--radius-sm)}.pb-field input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-color:var(--color-accent)}.pb-field input[type=number]::-webkit-outer-spin-button,.pb-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pb-field input[type=number]{-moz-appearance:textfield}.pb-affix--pre~input,.pb-input-wrap:has(.pb-affix--pre) input{padding-left:26px}.pb-input-wrap:has(.pb-affix--post) input{padding-right:32px}.pb-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.pb-results{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.pb-result{border:var(--rule-hairline) solid var(--color-border);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5);background:var(--color-surface-2)}.pb-result[data-state=good]{border-left-color:var(--pb-good)}.pb-result[data-state=watch]{border-left-color:var(--brand-orange)}.pb-result[data-state=bad]{border-left-color:var(--brand-brick)}.pb-result-label{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--color-text-muted)}.pb-result-value{font-family:var(--font-display);font-weight:800;font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem);line-height:1.05;font-variant-numeric:tabular-nums;color:var(--color-text);margin:2px 0 4px}.pb-result-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-muted)}.pb-result-note strong{color:var(--color-text)}.pb-headline{border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-card);padding:var(--space-5);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.pb-headline .pb-result-value{color:var(--color-accent);font-size:clamp(2.25rem,1.4rem + 3vw,3.5rem)}.pb-band{margin-top:var(--space-3)}.pb-band-track{position:relative;height:8px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--brand-brick) 0%,var(--brand-orange) 28%,var(--pb-good) 45%,var(--pb-good) 60%,var(--brand-orange) 78%,var(--brand-brick) 100%);opacity:.55}.pb-band-marker{position:absolute;top:-4px;width:3px;height:16px;background:var(--color-text);border-radius:2px;transform:translate(-50%);transition:left var(--dur) var(--ease)}.pb-band-scale{display:flex;justify-content:space-between;font-family:var(--font-utility);font-size:.6875rem;color:var(--color-text-faint);margin-top:4px}.pb-bench{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.pb-bench li{border-bottom:var(--rule-hairline) solid var(--color-border);padding-bottom:var(--space-3)}.pb-bench li:last-child{border-bottom:0;padding-bottom:0}.pb-bench-label{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--color-text-muted);display:block}.pb-bench-range{font-family:var(--font-body);font-weight:var(--weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums}.pb-bench-src{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-text-faint);display:block;margin-top:2px}.pb-tag{display:inline-block;font-family:var(--font-utility);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:var(--radius-pill);border:1px solid currentColor;margin-left:6px;vertical-align:1px}.pb-tag--independent{color:var(--pb-good)}.pb-tag--vendor{color:var(--brand-orange)}.pb-tag--dated{color:var(--color-text-faint)}.pb-caveat{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-text-faint);margin-top:4px}.pb-privacy{display:flex;gap:var(--space-3);align-items:flex-start;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-muted);border:var(--rule-hairline) dashed var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-top:var(--space-5)}.pb-limitation{border-left:3px solid var(--color-border-strong);padding-left:var(--space-4);color:var(--color-text-muted);font-family:var(--font-body)}.pb-steps{counter-reset:pbstep;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-5)}.pb-steps li{counter-increment:pbstep;position:relative;padding-left:var(--space-6);scroll-margin-top:var(--space-7)}.pb-steps li:before{content:counter(pbstep);position:absolute;left:0;top:0;font-family:var(--font-utility);font-size:var(--fs-sm);color:var(--brand-orange);border:var(--rule-hairline) solid var(--color-border-strong);border-radius:50%;width:1.75rem;height:1.75rem;display:grid;place-items:center}.pb-steps h3{font-size:var(--fs-h4);margin:0 0 4px;text-transform:none;letter-spacing:0}.pb-steps p{color:var(--color-text-muted);font-family:var(--font-body);margin:0}.pb-table-wrap{overflow-x:auto;margin-top:var(--space-4)}.pb-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.pb-table th{text-align:left;font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-bottom:var(--rule-hairline) solid var(--color-border-strong);white-space:nowrap}.pb-table td{padding:6px var(--space-3);border-bottom:var(--rule-hairline) solid var(--color-border)}.pb-table input{width:100%;min-width:6.5rem}.pb-table .pb-out{font-family:var(--font-body);font-weight:var(--weight-semibold);color:var(--color-text);white-space:nowrap}.pb-table tr[data-flag=steep] td:first-child:after{content:" ▲ steepest";color:var(--brand-brick);font-family:var(--font-utility);font-size:.625rem;letter-spacing:.06em}.pb-table tr[data-flag=flat] td:first-child:after{content:" ▼ flattest";color:var(--brand-orange);font-family:var(--font-utility);font-size:.625rem;letter-spacing:.06em}.pb-daypart-name{font-family:var(--font-utility);font-size:var(--fs-sm);color:var(--color-text);white-space:nowrap}@media(max-width:1000px){.pb-layout{grid-template-columns:1fr;gap:var(--space-6)}.pb-aside{position:static}}@media(max-width:700px){.pb-grid,.pb-fields--2{grid-template-columns:1fr}}@media print{.pb-aside,.pb-actions,.pb-privacy{display:none}.pb-layout{display:block}.pb-result{break-inside:avoid}}
