:root{--p2b-ink: #221f1c;--p2b-muted: #6b6259;--p2b-paper: #f6f2ea;--p2b-surface: #fffdf9;--p2b-line: #e4dccf;--p2b-line-strong: #cbbfa9;--p2b-accent: #b3261e;--p2b-accent-dark: #8a1c16;--p2b-accent-soft: rgba(179, 38, 30, 0.08);--p2b-ok: #2e7349;--p2b-warn: #a3600e;--p2b-code-bg: #1f1c1a;--p2b-code-ink: #efe6d8;--p2b-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--p2b-shadow: 0 18px 44px rgba(34, 31, 28, 0.09);--primary: var(--p2b-accent);--primary-dark: var(--p2b-accent-dark);--border: var(--p2b-line);--surface: var(--p2b-surface);--surface-muted: var(--p2b-paper);--shadow-soft: var(--p2b-shadow);--text-main: var(--p2b-ink);--text-muted: var(--p2b-muted);}
.p2b-page{color: var(--p2b-ink);padding-bottom: 2.5rem;}
.p2b-page code{font-family: var(--p2b-mono);font-size: 0.86em;color: var(--p2b-accent-dark);background: var(--p2b-accent-soft);padding: 0.08em 0.35em;border-radius: 4px;word-break: break-word;}
.p2b-desk{background: var(--p2b-surface);border: 1px solid var(--p2b-line);border-radius: 18px;box-shadow: var(--p2b-shadow);overflow: hidden;margin-bottom: 2.5rem;}
.p2b-byline{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0.35rem 1rem;padding: 0.65rem 1.4rem;background: var(--p2b-paper);border-bottom: 1px solid var(--p2b-line);color: var(--p2b-muted);font-size: 0.8rem;}
.p2b-byline-author{font-weight: 600;color: var(--p2b-ink);}
.p2b-byline .author-link{color: var(--p2b-accent);font-weight: 700;text-decoration: none;}
.p2b-byline .author-link:hover,.p2b-byline .author-link:focus-visible{text-decoration: underline;}
.p2b-byline-privacy{display: inline-flex;align-items: center;gap: 0.4rem;color: var(--p2b-ok);font-weight: 600;}
.p2b-grid{display: grid;grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);}
.p2b-file{padding: 1.4rem;border-right: 1px solid var(--p2b-line);background: linear-gradient(180deg, var(--p2b-surface), var(--p2b-paper));}
.p2b-output{padding: 1.4rem;display: flex;flex-direction: column;gap: 0.9rem;min-width: 0;}
.p2b-label{display: block;font-size: 0.74rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--p2b-muted);margin-bottom: 0.55rem;}
.p2b-drop{position: relative;border: 2px dashed var(--p2b-line-strong);border-radius: 14px;background: var(--p2b-surface);transition: border-color 0.15s ease, background 0.15s ease;}
.p2b-drop.is-over{border-color: var(--p2b-accent);background: var(--p2b-accent-soft);}
.p2b-drop.is-loaded{border-style: solid;border-color: var(--p2b-line);}
.p2b-empty{display: flex;flex-direction: column;align-items: center;text-align: center;gap: 0.55rem;padding: 2.2rem 1.2rem;cursor: pointer;}
.p2b-sheet{position: relative;width: 58px;height: 72px;border-radius: 6px;background: var(--p2b-surface);border: 2px solid var(--p2b-ink);display: flex;align-items: flex-end;justify-content: center;padding-bottom: 8px;margin-bottom: 0.4rem;}
.p2b-sheet::before{content: "";position: absolute;top: -2px;right: -2px;width: 18px;height: 18px;background: var(--p2b-paper);border-left: 2px solid var(--p2b-ink);border-bottom: 2px solid var(--p2b-ink);border-bottom-left-radius: 4px;}
.p2b-sheet span{font: 700 0.68rem/1 var(--p2b-mono);color: #fff;background: var(--p2b-accent);padding: 3px 5px;border-radius: 3px;}
.p2b-empty strong{font-size: 1.08rem;}
.p2b-empty small{color: var(--p2b-muted);font-size: 0.86rem;}
.p2b-empty-actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.5rem;margin-top: 0.6rem;}
.p2b-btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.45rem;min-height: 40px;padding: 0.5rem 0.95rem;border-radius: 9px;border: 1px solid var(--p2b-line-strong);background: var(--p2b-surface);color: var(--p2b-ink);font-weight: 600;font-size: 0.88rem;text-decoration: none;cursor: pointer;transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;}
.p2b-btn:hover{border-color: var(--p2b-accent);color: var(--p2b-accent-dark);}
.p2b-btn:focus-visible,.p2b-tab:focus-visible,.p2b-select:focus-visible,.p2b-check input:focus-visible{outline: 3px solid rgba(179, 38, 30, 0.35);outline-offset: 2px;}
.p2b-btn-primary{background: var(--p2b-accent);border-color: var(--p2b-accent);color: #fff;}
.p2b-btn-primary:hover{background: var(--p2b-accent-dark);border-color: var(--p2b-accent-dark);color: #fff;}
.p2b-btn:disabled{opacity: 0.45;cursor: not-allowed;pointer-events: none;}
.p2b-btn-quiet{border-color: transparent;background: transparent;color: var(--p2b-muted);}
.p2b-loaded{padding: 1.1rem;}
.p2b-name-row{display: flex;align-items: center;gap: 0.75rem;margin-bottom: 0.9rem;}
.p2b-name-row .p2b-sheet{width: 34px;height: 42px;flex: 0 0 auto;margin: 0;padding-bottom: 4px;border-width: 1.5px;}
.p2b-name-row .p2b-sheet::before{width: 11px;height: 11px;border-width: 1.5px;}
.p2b-name-row .p2b-sheet span{font-size: 0.5rem;padding: 2px 3px;}
.p2b-name{font-weight: 700;word-break: break-all;line-height: 1.3;}
.p2b-facts{display: grid;grid-template-columns: auto 1fr;gap: 0.45rem 1rem;margin: 0 0 1rem;font-size: 0.86rem;}
.p2b-facts dt{color: var(--p2b-muted);font-weight: 500;}
.p2b-facts dd{margin: 0;font-weight: 600;}
.p2b-facts dd.is-warn{color: var(--p2b-warn);}
.p2b-file-actions{display: flex;flex-wrap: wrap;gap: 0.45rem;}
.p2b-frame{margin-top: 0.9rem;height: 340px;border: 1px solid var(--p2b-line);border-radius: 10px;overflow: hidden;background: var(--p2b-paper);}
.p2b-frame iframe{width: 100%;height: 100%;border: 0;display: block;}
.p2b-file-note{margin: 0.9rem 0 0;font-size: 0.8rem;color: var(--p2b-muted);line-height: 1.5;}
.p2b-status{margin: 0.9rem 0 0;padding: 0.6rem 0.8rem;border-radius: 9px;font-size: 0.85rem;line-height: 1.45;background: var(--p2b-paper);color: var(--p2b-muted);border-left: 3px solid var(--p2b-line-strong);}
.p2b-status:empty{display: none;}
.p2b-status[data-state="ok"]{border-left-color: var(--p2b-ok);color: var(--p2b-ok);background: rgba(46, 115, 73, 0.08);}
.p2b-status[data-state="error"]{border-left-color: var(--p2b-accent);color: var(--p2b-accent-dark);background: var(--p2b-accent-soft);}
.p2b-status[data-state="warn"]{border-left-color: var(--p2b-warn);color: var(--p2b-warn);background: rgba(163, 96, 14, 0.08);}
.p2b-tabs{display: flex;gap: 0.35rem;overflow-x: auto;padding-bottom: 2px;scrollbar-width: thin;}
.p2b-tab{flex: 0 0 auto;border: 1px solid var(--p2b-line);background: var(--p2b-paper);color: var(--p2b-muted);font-weight: 600;font-size: 0.85rem;padding: 0.45rem 0.85rem;border-radius: 999px;cursor: pointer;}
.p2b-tab:hover{color: var(--p2b-ink);border-color: var(--p2b-line-strong);}
.p2b-tab[aria-selected="true"]{background: var(--p2b-ink);border-color: var(--p2b-ink);color: #fff;}
.p2b-format-note{margin: 0;font-size: 0.86rem;color: var(--p2b-muted);line-height: 1.5;min-height: 2.6em;}
.p2b-options{display: flex;flex-wrap: wrap;align-items: center;gap: 0.6rem 1.2rem;padding: 0.7rem 0.85rem;border: 1px solid var(--p2b-line);border-radius: 10px;background: var(--p2b-paper);font-size: 0.86rem;transition: opacity 0.15s ease;}
.p2b-options.is-off{opacity: 0.55;}
.p2b-options label{display: inline-flex;align-items: center;gap: 0.45rem;margin: 0;}
.p2b-select{border: 1px solid var(--p2b-line-strong);border-radius: 7px;padding: 0.3rem 0.5rem;background: var(--p2b-surface);color: var(--p2b-ink);font-size: 0.85rem;}
.p2b-check input{width: 16px;height: 16px;accent-color: var(--p2b-accent);}
.p2b-options-hint{flex-basis: 100%;margin: 0;font-size: 0.78rem;color: var(--p2b-muted);}
.p2b-out{margin: 0;min-height: 190px;max-height: 330px;overflow: auto;padding: 1rem 1.1rem;border-radius: 12px;background: var(--p2b-code-bg);color: var(--p2b-code-ink);font: 0.82rem/1.55 var(--p2b-mono);white-space: pre-wrap;word-break: break-all;}
.p2b-out.is-placeholder{color: rgba(239, 230, 216, 0.45);}
.p2b-trim{margin: -0.4rem 0 0;font-size: 0.8rem;color: var(--p2b-warn);}
.p2b-bar{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.75rem;}
.p2b-stats{display: flex;gap: 1.4rem;margin: 0;}
.p2b-stats div{display: flex;flex-direction: column;}
.p2b-stats dt{font-size: 0.72rem;text-transform: uppercase;letter-spacing: 0.06em;color: var(--p2b-muted);font-weight: 600;}
.p2b-stats dd{margin: 0;font: 700 1.05rem/1.3 var(--p2b-mono);}
.p2b-out-actions{display: flex;gap: 0.45rem;}
.p2b-limits{border-top: 1px dashed var(--p2b-line-strong);padding-top: 0.9rem;}
.p2b-limits h3{font-size: 0.92rem;font-weight: 700;margin: 0 0 0.6rem;}
.p2b-limits ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.55rem;}
.p2b-limit{display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 0.25rem 0.8rem;font-size: 0.82rem;}
.p2b-limit-name strong{font-weight: 600;}
.p2b-limit-name small{color: var(--p2b-muted);margin-left: 0.3rem;}
.p2b-limit-state{font-weight: 700;color: var(--p2b-muted);}
.p2b-limit-track{grid-column: 1 / -1;height: 6px;border-radius: 999px;background: var(--p2b-paper);border: 1px solid var(--p2b-line);overflow: hidden;}
.p2b-limit-fill{display: block;height: 100%;width: 0;background: var(--p2b-ok);transition: width 0.25s ease;}
.p2b-limit[data-state="near"] .p2b-limit-fill{background: var(--p2b-warn);}
.p2b-limit[data-state="near"] .p2b-limit-state{color: var(--p2b-warn);}
.p2b-limit[data-state="over"] .p2b-limit-fill{background: var(--p2b-accent);}
.p2b-limit[data-state="over"] .p2b-limit-state{color: var(--p2b-accent);}
.p2b-limit[data-state="fit"] .p2b-limit-state{color: var(--p2b-ok);}
.p2b-section{margin: 0 0 2.6rem;}
.p2b-section h2{font-size: 1.5rem;font-weight: 700;margin: 0 0 0.75rem;letter-spacing: -0.01em;}
.p2b-section > p{line-height: 1.7;color: #3d3731;}
.p2b-anatomy{display: flex;flex-wrap: wrap;gap: 0.3rem;margin: 1.2rem 0;padding: 1.1rem;border-radius: 14px;background: var(--p2b-code-bg);}
.p2b-seg{display: flex;flex-direction: column;gap: 0.45rem;min-width: 0;}
.p2b-seg code{display: block;background: rgba(255, 255, 255, 0.06);color: var(--p2b-code-ink);padding: 0.45rem 0.6rem;border-radius: 7px;border-bottom: 3px solid var(--seg, #8f8478);font-size: 0.92rem;white-space: nowrap;}
.p2b-seg small{color: rgba(239, 230, 216, 0.7);font-size: 0.74rem;padding-left: 0.2rem;}
.p2b-seg-payload{flex: 1 1 200px;}
.p2b-seg-payload code{overflow: hidden;text-overflow: ellipsis;}
.p2b-table-wrap{overflow-x: auto;border: 1px solid var(--p2b-line);border-radius: 12px;background: var(--p2b-surface);margin: 1rem 0;}
.p2b-table{width: 100%;border-collapse: collapse;font-size: 0.9rem;min-width: 620px;}
.p2b-table th{text-align: left;background: var(--p2b-paper);font-size: 0.78rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--p2b-muted);padding: 0.7rem 0.9rem;border-bottom: 1px solid var(--p2b-line);}
.p2b-table td{padding: 0.75rem 0.9rem;border-bottom: 1px solid var(--p2b-line);vertical-align: top;line-height: 1.55;}
.p2b-table tr:last-child td{border-bottom: 0;}
.p2b-table td:first-child{font-weight: 600;}
.p2b-num{font-family: var(--p2b-mono);white-space: nowrap;}
.p2b-formula{display: inline-block;font: 700 1.05rem/1 var(--p2b-mono);padding: 0.6rem 0.9rem;border-radius: 9px;background: var(--p2b-accent-soft);color: var(--p2b-accent-dark);margin: 0.2rem 0 0.4rem;}
.p2b-cards{display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 1rem;margin-top: 1rem;}
.p2b-card{padding: 1.1rem 1.15rem;border: 1px solid var(--p2b-line);border-top: 3px solid var(--p2b-accent);border-radius: 12px;background: var(--p2b-surface);}
.p2b-card h3{font-size: 1rem;font-weight: 700;margin: 0 0 0.45rem;}
.p2b-card p{margin: 0;font-size: 0.9rem;line-height: 1.6;color: #3d3731;}
.p2b-snippets{display: grid;grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));gap: 1rem;margin-top: 1rem;}
.p2b-snippet{border: 1px solid var(--p2b-line);border-radius: 12px;overflow: hidden;background: var(--p2b-code-bg);}
.p2b-snippet h3{margin: 0;padding: 0.55rem 0.9rem;font-size: 0.78rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--p2b-code-ink);background: rgba(255, 255, 255, 0.06);}
.p2b-snippet pre{margin: 0;padding: 0.9rem;color: var(--p2b-code-ink);font: 0.8rem/1.6 var(--p2b-mono);overflow-x: auto;white-space: pre;}
.p2b-note{margin-top: 1rem;padding: 0.85rem 1rem;border-left: 3px solid var(--p2b-warn);background: rgba(163, 96, 14, 0.07);border-radius: 0 10px 10px 0;font-size: 0.9rem;line-height: 1.6;}
@media (max-width: 991.98px){.p2b-grid{grid-template-columns: 1fr;}.p2b-file{border-right: 0;border-bottom: 1px solid var(--p2b-line);}}
@media (max-width: 575.98px){.p2b-file,.p2b-output{padding: 1rem;}.p2b-byline{padding: 0.6rem 1rem;}.p2b-section h2{font-size: 1.28rem;}.p2b-out-actions,.p2b-out-actions .p2b-btn{flex: 1 1 auto;}.p2b-snippets{grid-template-columns: 1fr;}.p2b-frame{height: 260px;}}