:root{--bpc-ink: #10231c;--bpc-green: #0f7b5a;--bpc-green-dark: #0a5a42;--bpc-mint: #e4f3ec;--bpc-paper: #fbfaf6;--bpc-line: #e3e0d6;--bpc-text: #18211d;--bpc-muted: #5d6660;--bpc-red: #b3261e;--bpc-red-soft: #fbeceb;--bpc-amber: #f2c94c;--bpc-radius: 12px;--bpc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--primary: #0f7b5a;--primary-dark: #0a5a42;--border: #e3e0d6;--surface: #ffffff;--shadow-soft: 0 10px 28px rgba(16, 35, 28, 0.08);--surface-muted: #f3f1ea;--text-main: #18211d;--text-muted: #5d6660;}
.bpc-bench{background: var(--bpc-paper);border: 1px solid var(--bpc-line);border-radius: var(--bpc-radius);padding: 22px 22px 26px;margin: 8px 0 56px;box-shadow: var(--shadow-soft);position: relative;}
.bpc-bench::before{content: "";position: absolute;left: 22px;right: 22px;top: -1px;height: 4px;border-radius: 0 0 4px 4px;background: repeating-linear-gradient(90deg, var(--bpc-green) 0 18px, transparent 18px 26px);}
.bpc-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 4px 14px;font-size: 13px;color: var(--bpc-muted);padding-bottom: 14px;margin-bottom: 18px;border-bottom: 1px dashed var(--bpc-line);}
.bpc-byline .author-link{color: var(--bpc-green-dark);font-weight: 700;text-decoration: underline;text-underline-offset: 3px;}
.bpc-label{display: block;float: none;width: auto;padding: 0;margin: 0 0 8px;font-size: 11.5px;font-weight: 800;letter-spacing: .09em;text-transform: uppercase;color: var(--bpc-muted);}
.bpc-tabs{border: 0;padding: 0;margin: 0 0 20px;}
.bpc-tab-row{display: grid;grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));gap: 8px;}
.bpc-tab input,.bpc-seg input,.bpc-mode input{position: absolute;opacity: 0;pointer-events: none;}
.bpc-tab span{display: flex;flex-direction: column;gap: 2px;padding: 9px 10px;border: 1px solid var(--bpc-line);border-radius: 10px;background: #fff;cursor: pointer;transition: border-color .15s, background .15s, transform .15s;}
.bpc-tab b{font-family: var(--bpc-mono);font-size: 16px;color: var(--bpc-ink);letter-spacing: .04em;}
.bpc-tab small{font-size: 12px;color: var(--bpc-muted);line-height: 1.2;}
.bpc-tab span:hover{border-color: var(--bpc-green);}
.bpc-tab input:checked + span{background: var(--bpc-ink);border-color: var(--bpc-ink);transform: translateY(-1px);}
.bpc-tab input:checked + span b{color: var(--bpc-amber);}
.bpc-tab input:checked + span small{color: rgba(255, 255, 255, 0.78);}
.bpc-tab input:focus-visible + span,.bpc-seg input:focus-visible + span,.bpc-mode input:focus-visible + span{outline: 3px solid var(--bpc-amber);outline-offset: 2px;}
.bpc-grid{display: grid;grid-template-columns: minmax(260px, 320px) 1fr;gap: 24px;align-items: start;}
.bpc-controls{display: flex;flex-direction: column;gap: 16px;}
.bpc-field{border: 0;padding: 0;margin: 0;}
.bpc-field select,.bpc-copy-wrap select{width: 100%;padding: 9px 12px;border: 1px solid var(--bpc-line);border-radius: 9px;background: #fff;color: var(--bpc-text);font-size: 15px;}
.bpc-field select:focus,.bpc-copy-wrap select:focus,.bpc-check-input:focus{outline: none;border-color: var(--bpc-green);box-shadow: 0 0 0 3px rgba(15, 123, 90, 0.18);}
.bpc-field.is-off,.bpc-check.is-off{opacity: .45;}
.bpc-seg{display: grid;grid-template-columns: repeat(4, 1fr);gap: 4px;background: #fff;border: 1px solid var(--bpc-line);border-radius: 10px;padding: 4px;}
.bpc-seg span{display: block;text-align: center;padding: 7px 0;border-radius: 7px;font-weight: 700;color: var(--bpc-text);cursor: pointer;}
.bpc-seg input:checked + span{background: var(--bpc-green);color: #fff;}
.bpc-mode{display: grid;grid-template-columns: 1fr 1fr;gap: 8px;}
.bpc-mode span{display: block;text-align: center;padding: 9px 6px;border: 1px solid var(--bpc-line);border-radius: 9px;background: #fff;font-weight: 700;font-size: 14px;cursor: pointer;}
.bpc-mode-valid input:checked + span{background: var(--bpc-mint);border-color: var(--bpc-green);color: var(--bpc-green-dark);}
.bpc-mode-invalid input:checked + span{background: var(--bpc-red-soft);border-color: var(--bpc-red);color: var(--bpc-red);}
.bpc-check{display: flex;align-items: center;gap: 9px;font-size: 14.5px;color: var(--bpc-text);cursor: pointer;}
.bpc-check input{width: 17px;height: 17px;accent-color: var(--bpc-green);}
.bpc-check[hidden]{display: none;}
.bpc-go{display: inline-flex;align-items: center;justify-content: center;gap: 10px;width: 100%;padding: 13px 16px;border: 0;border-radius: 10px;background: var(--bpc-green);color: #fff;font-size: 16px;font-weight: 800;cursor: pointer;transition: background .15s;}
.bpc-go:hover{background: var(--bpc-green-dark);}
.bpc-go:disabled{opacity: .7;cursor: progress;}
.bpc-go.is-busy i{animation: bpc-spin .9s linear infinite;}
.bpc-status{margin: 0;font-size: 13.5px;color: var(--bpc-muted);line-height: 1.5;}
.bpc-status.is-error{color: var(--bpc-red);font-weight: 600;}
.bpc-ledger{background: #fff;border: 1px solid var(--bpc-line);border-radius: var(--bpc-radius);padding: 16px 18px 18px;}
.bpc-ledger-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px;padding-bottom: 12px;border-bottom: 2px solid var(--bpc-ink);}
.bpc-ledger-head h2{margin: 0;font-size: 18px;font-weight: 800;color: var(--bpc-ink);}
.bpc-copy-wrap{display: flex;gap: 8px;}
.bpc-copy-wrap select{width: auto;padding: 7px 10px;font-size: 14px;}
.bpc-copy-all{display: inline-flex;align-items: center;gap: 7px;padding: 7px 13px;border: 1px solid var(--bpc-ink);border-radius: 9px;background: var(--bpc-ink);color: #fff;font-weight: 700;font-size: 14px;cursor: pointer;}
.bpc-copy-all.is-done{background: var(--bpc-green);border-color: var(--bpc-green);}
.bpc-rows{list-style: none;margin: 0;padding: 0;max-height: 520px;overflow-y: auto;}
.bpc-row{display: grid;grid-template-columns: 30px auto 1fr 34px;align-items: center;gap: 4px 12px;padding: 10px 2px;border-bottom: 1px dotted var(--bpc-line);animation: bpc-in .3s ease both;}
.bpc-n{font-family: var(--bpc-mono);font-size: 12px;color: var(--bpc-muted);}
.bpc-code{font-family: var(--bpc-mono);font-size: 21px;font-weight: 700;color: var(--bpc-ink);background: none;padding: 0;letter-spacing: .05em;white-space: pre;}
.bpc-where{font-size: 14px;color: var(--bpc-muted);text-align: right;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.bpc-where abbr{display: inline-block;margin-left: 4px;padding: 1px 6px;border-radius: 5px;background: var(--bpc-mint);color: var(--bpc-green-dark);font-size: 12px;font-weight: 800;text-decoration: none;}
.bpc-row.is-invalid .bpc-code{color: var(--bpc-red);text-decoration: line-through;text-decoration-thickness: 1px;}
.bpc-why{grid-column: 2 / -1;margin: 0;font-size: 13.5px;color: var(--bpc-red);line-height: 1.45;}
.bpc-mini{display: inline-flex;align-items: center;justify-content: center;gap: 6px;min-width: 32px;height: 32px;padding: 0 8px;border: 1px solid var(--bpc-line);border-radius: 8px;background: #fff;color: var(--bpc-muted);cursor: pointer;font-size: 13px;font-weight: 600;}
.bpc-mini:hover{border-color: var(--bpc-green);color: var(--bpc-green-dark);}
.bpc-mini.is-done{background: var(--bpc-green);border-color: var(--bpc-green);color: #fff;}
.bpc-pattern{margin-top: 18px;padding: 14px 16px;border-radius: 10px;background: var(--bpc-paper);border: 1px dashed var(--bpc-line);}
.bpc-pattern-top{display: flex;align-items: center;justify-content: space-between;gap: 10px;margin-bottom: 6px;}
.bpc-pattern-top h3{margin: 0;font-size: 15px;font-weight: 800;color: var(--bpc-ink);}
.bpc-shape{margin: 0 0 8px;font-size: 14px;color: var(--bpc-muted);}
.bpc-shape span{font-family: var(--bpc-mono);color: var(--bpc-text);}
.bpc-regex{margin: 0 0 14px;padding: 9px 12px;border-radius: 8px;background: var(--bpc-ink);color: var(--bpc-amber);font-size: 13.5px;white-space: pre-wrap;word-break: break-all;}
.bpc-regex code{color: inherit;background: none;padding: 0;}
.bpc-check-input{width: 100%;padding: 9px 12px;border: 1px solid var(--bpc-line);border-radius: 9px;font-family: var(--bpc-mono);font-size: 16px;background: #fff;}
.bpc-verdict{min-height: 20px;margin: 8px 0 0;font-size: 14px;font-weight: 600;}
.bpc-verdict.is-ok{color: var(--bpc-green-dark);}
.bpc-verdict.is-bad{color: var(--bpc-red);}
.bpc-read{margin: 0 auto 52px;color: var(--bpc-text);font-size: 17px;line-height: 1.7;}
.bpc-read h2,.bpc-limits h2{font-size: clamp(24px, 3vw, 30px);font-weight: 800;color: var(--bpc-ink);margin-bottom: 14px;}
.bpc-read code,.bpc-limits code{font-family: var(--bpc-mono);font-size: .9em;background: var(--bpc-mint);color: var(--bpc-green-dark);padding: 1px 6px;border-radius: 5px;}
.bpc-table-wrap{overflow-x: auto;margin: 18px 0;border: 1px solid var(--bpc-line);border-radius: var(--bpc-radius);}
.bpc-table{width: 100%;border-collapse: collapse;font-size: 15px;background: #fff;}
.bpc-table caption{caption-side: top;padding: 12px 16px 4px;font-weight: 700;color: var(--bpc-muted);font-size: 13px;text-transform: uppercase;letter-spacing: .07em;}
.bpc-table th,.bpc-table td{padding: 11px 16px;border-bottom: 1px solid var(--bpc-line);text-align: left;vertical-align: top;}
.bpc-table thead th{background: var(--bpc-ink);color: #fff;font-size: 13px;font-weight: 700;}
.bpc-table tbody tr:last-child th,.bpc-table tbody tr:last-child td{border-bottom: 0;}
.bpc-table tbody th{font-weight: 700;color: var(--bpc-ink);white-space: nowrap;}
.bpc-yes{color: var(--bpc-green-dark);font-weight: 700;}
.bpc-no{color: var(--bpc-red);font-weight: 700;}
.bpc-format-table td:nth-child(3){white-space: nowrap;}
.bpc-bugs{display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;margin-top: 18px;}
.bpc-bug{position: relative;padding: 18px 18px 16px 58px;background: #fff;border: 1px solid var(--bpc-line);border-radius: var(--bpc-radius);}
.bpc-bug:last-child{grid-column: 1 / -1;}
.bpc-bug-n{position: absolute;left: 16px;top: 16px;width: 30px;height: 30px;border-radius: 50%;background: var(--bpc-ink);color: var(--bpc-amber);font-family: var(--bpc-mono);font-weight: 800;display: flex;align-items: center;justify-content: center;}
.bpc-bug h3{font-size: 18px;font-weight: 800;color: var(--bpc-ink);margin: 3px 0 6px;}
.bpc-bug p{margin: 0;font-size: 15.5px;line-height: 1.6;}
.bpc-invalid-note{padding: 22px 24px;border-left: 5px solid var(--bpc-red);background: var(--bpc-red-soft);border-radius: 0 var(--bpc-radius) var(--bpc-radius) 0;}
.bpc-invalid-note p:last-child{margin-bottom: 0;}
.bpc-limits{margin: 0 auto 52px;padding: 22px 24px;background: var(--bpc-paper);border: 1px solid var(--bpc-line);border-radius: var(--bpc-radius);}
.bpc-limits ul{margin: 0;padding-left: 20px;}
.bpc-limits li{margin-bottom: 10px;font-size: 16px;line-height: 1.6;color: var(--bpc-text);}
.bpc-limits li:last-child{margin-bottom: 0;}
@keyframes bpc-in{from{opacity: 0;transform: translateY(4px);}to{opacity: 1;transform: none;}}
@keyframes bpc-spin{to{transform: rotate(360deg);}}
@media (max-width: 991px){.bpc-grid{grid-template-columns: 1fr;}}
@media (max-width: 640px){.bpc-bench{padding: 18px 14px 20px;}.bpc-tab-row{grid-template-columns: repeat(3, 1fr);}.bpc-bugs{grid-template-columns: 1fr;}.bpc-row{grid-template-columns: 26px 1fr 34px;}.bpc-where{grid-column: 2 / 3;text-align: left;}.bpc-row .bpc-mini{grid-row: 1;grid-column: 3;}.bpc-code{font-size: 19px;}.bpc-ledger-head{flex-direction: column;align-items: flex-start;}}
@media (prefers-reduced-motion: reduce){.bpc-row,.bpc-go.is-busy i{animation: none;}}