:root{--bd-ink: #18212f;--bd-muted: #5a6577;--bd-faint: #8a94a6;--bd-surface: #ffffff;--bd-paper: #f5f7fb;--bd-line: #dfe4ec;--bd-blue: #1f4fd1;--bd-blue-dark: #173da6;--bd-blue-soft: #e8eefc;--bd-amber: #f5a524;--bd-amber-soft: #fff4e0;--bd-red: #b42318;--bd-red-soft: #fdecea;--bd-radius: 14px;--bd-radius-sm: 9px;--bd-shadow: 0 12px 30px rgba(24,33,47,0.08);--bd-focus: 0 0 0 3px rgba(31,79,209,0.3);--bd-mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--primary: var(--bd-blue);--primary-dark: var(--bd-blue-dark);--border: var(--bd-line);--surface: var(--bd-surface);--shadow-soft: var(--bd-shadow);--surface-muted: var(--bd-paper);--text-main: var(--bd-ink);--text-muted: var(--bd-muted);}
.bd-tool,.bd-panel{background: var(--bd-surface);border: 1px solid var(--bd-line);border-radius: var(--bd-radius);box-shadow: var(--bd-shadow);color: var(--bd-ink);overflow: hidden;}
.bd-tool [hidden],.bd-out [hidden],.bd-out[hidden]{display: none !important;}
.bd-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.3rem 1rem;padding: 0.75rem 1.4rem;background: var(--bd-paper);border-bottom: 1px solid var(--bd-line);font-size: 0.86rem;color: var(--bd-muted);}
.bd-byline-author{font-weight: 600;color: var(--bd-ink);}
.bd-byline .author-link{color: var(--bd-blue);text-decoration: none;}
.bd-byline .author-link:hover{text-decoration: underline;}
.bd-body{display: grid;grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);}
.bd-in{padding: 1.4rem;border-right: 1px solid var(--bd-line);}
.bd-label{display: block;font-weight: 700;font-size: 0.95rem;margin-bottom: 0.45rem;}
.bd-input{width: 100%;font-family: var(--bd-mono);font-size: 1.3rem;letter-spacing: 0.06em;padding: 0.85rem 1rem;border: 2px solid var(--bd-line);border-radius: var(--bd-radius-sm);background: var(--bd-surface);color: var(--bd-ink);transition: border-color 0.15s ease;}
.bd-input:hover{border-color: #c3cbd8;}
.bd-input:focus{outline: none;border-color: var(--bd-blue);box-shadow: var(--bd-focus);}
.bd-input[aria-invalid="true"]{border-color: var(--bd-red);}
.bd-row{display: flex;flex-wrap: wrap;align-items: center;gap: 0.6rem 1rem;margin-top: 0.9rem;}
.bd-seg{display: inline-flex;background: var(--bd-paper);border: 1px solid var(--bd-line);border-radius: 999px;padding: 3px;}
.bd-seg-btn{border: 0;background: transparent;color: var(--bd-muted);font-weight: 600;font-size: 0.9rem;padding: 0.45rem 0.95rem;border-radius: 999px;cursor: pointer;}
.bd-seg-btn.is-on{background: var(--bd-ink);color: #ffffff;}
.bd-seg-btn:focus-visible{outline: none;box-shadow: var(--bd-focus);}
.bd-width{display: inline-flex;align-items: center;gap: 0.45rem;margin: 0;font-size: 0.9rem;font-weight: 600;color: var(--bd-muted);}
.bd-width select{border: 1px solid var(--bd-line);border-radius: var(--bd-radius-sm);padding: 0.4rem 0.6rem;font-size: 0.9rem;color: var(--bd-ink);background: var(--bd-surface);}
.bd-width select:focus{outline: none;box-shadow: var(--bd-focus);}
.bd-actions{display: flex;flex-wrap: wrap;gap: 0.6rem;margin-top: 1rem;}
.bd-btn{border: 1px solid var(--bd-blue);background: var(--bd-blue);color: #ffffff;font-weight: 700;font-size: 0.95rem;padding: 0.6rem 1.2rem;border-radius: var(--bd-radius-sm);cursor: pointer;transition: background 0.15s ease;}
.bd-btn:hover{background: var(--bd-blue-dark);border-color: var(--bd-blue-dark);}
.bd-btn:focus-visible{outline: none;box-shadow: var(--bd-focus);}
.bd-btn-ghost{background: var(--bd-surface);color: var(--bd-ink);border-color: var(--bd-line);}
.bd-btn-ghost:hover{background: var(--bd-paper);border-color: #c3cbd8;}
.bd-btn.is-done{background: #0f7a4f;border-color: #0f7a4f;color: #ffffff;}
.bd-chips{display: flex;flex-wrap: wrap;align-items: center;gap: 0.45rem;margin-top: 1rem;}
.bd-chips-label{font-size: 0.82rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--bd-faint);margin-right: 0.2rem;}
.bd-chip{border: 1px dashed #c3cbd8;background: var(--bd-surface);color: var(--bd-ink);font-family: var(--bd-mono);font-size: 0.82rem;padding: 0.3rem 0.65rem;border-radius: 999px;cursor: pointer;}
.bd-chip:hover{border-style: solid;border-color: var(--bd-blue);color: var(--bd-blue);}
.bd-chip:focus-visible{outline: none;box-shadow: var(--bd-focus);}
.bd-hint{font-size: 0.85rem;color: var(--bd-muted);margin: 0.9rem 0 0;line-height: 1.5;}
.bd-error{margin: 0.8rem 0 0;padding: 0.65rem 0.85rem;background: var(--bd-red-soft);color: var(--bd-red);border-left: 3px solid var(--bd-red);border-radius: 6px;font-size: 0.9rem;}
.bd-res{padding: 1.4rem;background: var(--bd-paper);display: flex;flex-direction: column;justify-content: center;min-height: 260px;}
.bd-empty{color: var(--bd-muted);font-size: 0.95rem;text-align: center;}
.bd-empty-h{font-weight: 700;color: var(--bd-ink);font-size: 1.05rem;margin-bottom: 0.35rem;}
.bd-res-label{display: block;font-size: 0.78rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--bd-faint);}
.bd-dec{display: block;font-family: var(--bd-mono);font-size: clamp(1.9rem,4.2vw,2.8rem);font-weight: 800;color: var(--bd-ink);line-height: 1.15;margin: 0.2rem 0 0.4rem;overflow-wrap: anywhere;max-height: 12rem;overflow-y: auto;}
.bd-dec.is-long{font-size: 1.05rem;font-weight: 700;}
.bd-dec.is-neg{color: var(--bd-red);}
.bd-note{font-size: 0.87rem;color: var(--bd-muted);margin: 0 0 1rem;}
.bd-facts{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.5rem;margin: 0 0 1rem;}
.bd-facts div{background: var(--bd-surface);border: 1px solid var(--bd-line);border-radius: var(--bd-radius-sm);padding: 0.5rem 0.7rem;min-width: 0;}
.bd-facts dt{font-size: 0.74rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--bd-faint);}
.bd-facts dd{margin: 0;font-family: var(--bd-mono);font-size: 0.95rem;font-weight: 600;overflow-wrap: anywhere;max-height: 4.5rem;overflow-y: auto;}
.bd-copy{align-self: flex-start;}
.bd-out{display: grid;grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);gap: 1.25rem;margin: 1.25rem 0;}
.bd-panel{padding: 1.25rem 1.4rem;}
.bd-panel-h{font-size: 1.15rem;font-weight: 800;margin: 0 0 0.25rem;}
.bd-panel-sub{font-size: 0.88rem;color: var(--bd-muted);margin: 0 0 1rem;}
.bd-panel-note{font-size: 0.86rem;color: var(--bd-muted);background: var(--bd-paper);border-radius: var(--bd-radius-sm);padding: 0.6rem 0.8rem;margin: 0.8rem 0 0;}
.bd-grid{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 0.6rem 0.75rem;}
.bd-nib{display: flex;gap: 3px;}
.bd-point{font-family: var(--bd-mono);font-size: 2rem;font-weight: 800;line-height: 1;color: var(--bd-blue);padding-bottom: 1.4rem;}
.bd-bit{display: flex;flex-direction: column;align-items: center;width: 46px;padding: 0.3rem 0 0.35rem;border: 1px solid var(--bd-line);border-radius: 8px;background: var(--bd-surface);color: var(--bd-ink);cursor: pointer;font-family: var(--bd-mono);transition: background 0.12s ease,border-color 0.12s ease;}
.bd-bit:hover{border-color: var(--bd-blue);}
.bd-bit:focus-visible{outline: none;box-shadow: var(--bd-focus);}
.bd-bit-p{font-size: 0.68rem;color: var(--bd-faint);white-space: nowrap;}
.bd-bit-v{font-size: 1.25rem;font-weight: 800;line-height: 1.3;}
.bd-bit-w{font-size: 0.66rem;color: var(--bd-muted);min-height: 0.9rem;white-space: nowrap;}
.bd-bit.is-on{background: var(--bd-ink);border-color: var(--bd-ink);color: #ffffff;}
.bd-bit.is-on .bd-bit-p{color: #aab4c5;}
.bd-bit.is-on .bd-bit-w{color: var(--bd-amber);font-weight: 700;}
.bd-bit.is-sign .bd-bit-p{color: var(--bd-red);font-weight: 700;}
.bd-bit.is-sign.is-on{background: var(--bd-red);border-color: var(--bd-red);}
.bd-bit.is-sign.is-on .bd-bit-p,.bd-bit.is-sign.is-on .bd-bit-w{color: #ffe1dc;}
.bd-sum{display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.3rem 0.45rem;margin-top: 1.1rem;padding-top: 1rem;border-top: 1px solid var(--bd-line);font-family: var(--bd-mono);font-size: 0.95rem;}
.bd-sum span{background: var(--bd-amber-soft);border-radius: 6px;padding: 0.1rem 0.45rem;}
.bd-sum span.is-neg{background: var(--bd-red-soft);color: var(--bd-red);}
.bd-sum i{font-style: normal;color: var(--bd-faint);}
.bd-sum b{font-size: 1.1rem;overflow-wrap: anywhere;}
.bd-sum p{margin: 0;font-family: inherit;color: var(--bd-muted);font-size: 0.9rem;}
.bd-table-wrap{overflow-x: auto;-webkit-overflow-scrolling: touch;}
.bd-dbl{width: 100%;border-collapse: collapse;font-size: 0.88rem;}
.bd-dbl th{text-align: left;font-size: 0.74rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--bd-faint);padding: 0.4rem 0.5rem;border-bottom: 1px solid var(--bd-line);white-space: nowrap;}
.bd-dbl td{padding: 0.35rem 0.5rem;border-bottom: 1px solid #eef1f6;font-family: var(--bd-mono);white-space: nowrap;}
.bd-dbl td:last-child{font-weight: 700;}
.bd-dbl tr.is-sign td{background: var(--bd-red-soft);color: var(--bd-red);white-space: normal;}
.bd-table-wrap:has(.bd-dbl){max-height: 26rem;overflow-y: auto;}
.bd-article{margin: 2.25rem 0 1rem;color: var(--bd-ink);font-size: 1.02rem;line-height: 1.7;}
.bd-article h2{font-size: 1.5rem;font-weight: 800;margin: 2.1rem 0 0.7rem;line-height: 1.25;}
.bd-article h2:first-child{margin-top: 0;}
.bd-article p{margin: 0 0 1rem;color: #2c3646;}
.bd-article code{font-family: var(--bd-mono);font-size: 0.9em;background: var(--bd-paper);border: 1px solid var(--bd-line);border-radius: 5px;padding: 0.05rem 0.35rem;color: var(--bd-ink);}
.bd-article a{color: var(--bd-blue);font-weight: 600;}
.bd-table{width: 100%;border-collapse: collapse;margin: 0.4rem 0 1.1rem;font-size: 0.95rem;background: var(--bd-surface);border: 1px solid var(--bd-line);border-radius: var(--bd-radius-sm);}
.bd-table caption{caption-side: top;font-size: 0.85rem;font-weight: 700;color: var(--bd-muted);padding: 0 0 0.45rem;}
.bd-table th,.bd-table td{padding: 0.5rem 0.65rem;border-bottom: 1px solid var(--bd-line);text-align: center;font-family: var(--bd-mono);}
.bd-table th[scope="row"]{text-align: left;font-family: inherit;font-size: 0.82rem;color: var(--bd-muted);background: var(--bd-paper);white-space: nowrap;}
.bd-table thead td{color: var(--bd-faint);font-size: 0.82rem;}
.bd-table td.is-one{background: var(--bd-ink);color: #ffffff;font-weight: 800;}
.bd-table-cols th{background: var(--bd-paper);font-family: inherit;font-size: 0.82rem;color: var(--bd-muted);text-align: left;}
.bd-table-cols td{text-align: left;}
.bd-table-cols td:last-child{font-family: inherit;}
.bd-steps{list-style: none;counter-reset: bd;padding: 0;margin: 0 0 1rem;display: grid;grid-template-columns: repeat(auto-fill,minmax(190px,1fr));gap: 0.45rem;}
.bd-steps li{counter-increment: bd;display: flex;align-items: center;gap: 0.5rem;background: var(--bd-paper);border: 1px solid var(--bd-line);border-radius: var(--bd-radius-sm);padding: 0.4rem 0.6rem;font-family: var(--bd-mono);font-size: 0.9rem;}
.bd-steps li::before{content: counter(bd);font-size: 0.72rem;font-weight: 700;color: var(--bd-faint);min-width: 0.9rem;}
.bd-steps li code{background: var(--bd-ink);color: #ffffff;border: 0;}
.bd-limits{padding-left: 1.1rem;margin: 0 0 1rem;}
.bd-limits li{margin-bottom: 0.6rem;color: #2c3646;}
@media (max-width: 991px){.bd-body{grid-template-columns: 1fr;}.bd-in{border-right: 0;border-bottom: 1px solid var(--bd-line);}.bd-res{min-height: 0;}.bd-out{grid-template-columns: 1fr;}}
@media (max-width: 576px){.bd-in,.bd-res,.bd-panel{padding: 1rem;}.bd-byline{padding: 0.65rem 1rem;}.bd-input{font-size: 1.1rem;}.bd-bit{width: 40px;}.bd-bit-v{font-size: 1.1rem;}.bd-facts{grid-template-columns: 1fr 1fr;}.bd-article h2{font-size: 1.3rem;}}
@media (prefers-reduced-motion: reduce){.bd-bit,.bd-btn,.bd-input{transition: none;}}