:root{--d2a-ink: #17202a;--d2a-ink-2: #334150;--d2a-muted: #5b6876;--d2a-bg: #f2f4f7;--d2a-card: #ffffff;--d2a-line: #d9dee5;--d2a-line-2: #c3cad3;--d2a-accent: #a3410f;--d2a-accent-dark: #7f310b;--d2a-accent-soft: #fbebe1;--d2a-ctrl: #0e7490;--d2a-ctrl-soft: #e1f3f7;--d2a-hi: #6d28d9;--d2a-hi-soft: #efe7fd;--d2a-bad: #be123c;--d2a-bad-soft: #ffe4e8;--d2a-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--d2a-radius: 10px;--primary: #a3410f;--primary-dark: #7f310b;--border: #d9dee5;--surface: #ffffff;--shadow-soft: 0 2px 14px rgba(23, 32, 42, 0.07);--surface-muted: #f2f4f7;--text-main: #17202a;--text-muted: #5b6876;}
.d2a-sr{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
.d2a-head{display: flex;align-items: center;justify-content: space-between;gap: 1.5rem;margin: 0.5rem 0 1rem;color: var(--d2a-ink);}
.d2a-head h1{font-size: clamp(1.75rem, 3.6vw, 2.5rem);font-weight: 800;letter-spacing: -0.02em;margin: 0 0 0.6rem;color: var(--d2a-ink);}
.d2a-head p{max-width: 760px;font-size: 1.05rem;line-height: 1.65;color: var(--d2a-ink-2);margin: 0;}
.d2a-head code,.d2a-read code{font-family: var(--d2a-mono);font-size: 0.9em;background: var(--d2a-accent-soft);color: var(--d2a-accent-dark);padding: 0.1em 0.35em;border-radius: 4px;}
.d2a-head-badge{flex: 0 0 auto;display: flex;align-items: center;gap: 0.6rem;font-family: var(--d2a-mono);padding: 0.9rem 1.2rem;border: 2px solid var(--d2a-ink);border-radius: 12px;background: var(--d2a-card);box-shadow: 5px 5px 0 var(--d2a-accent);}
.d2a-head-badge span{font-size: 1.9rem;font-weight: 700;color: var(--d2a-ink);}
.d2a-head-badge i{font-style: normal;font-size: 1.4rem;color: var(--d2a-muted);}
.d2a-head-badge b{font-size: 2.3rem;color: var(--d2a-accent);}
.d2a-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.3rem 1rem;margin: 0 0 1.25rem;padding: 0.5rem 0;border-top: 1px solid var(--d2a-line);border-bottom: 1px solid var(--d2a-line);font-size: 0.8125rem;color: var(--d2a-muted);}
.d2a-byline-author{font-weight: 600;color: var(--d2a-ink);}
.d2a-byline .author-link{color: var(--d2a-accent);text-decoration: none;}
.d2a-byline .author-link:hover{text-decoration: underline;}
.d2a-byline-updated{white-space: nowrap;}
.d2a-bench{background: var(--d2a-bg);border: 1px solid var(--d2a-line);border-radius: 14px;padding: clamp(0.9rem, 2.4vw, 1.5rem);margin: 0 0 2.75rem;color: var(--d2a-ink);}
.d2a-pair{display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 1rem;}
.d2a-box{display: flex;flex-direction: column;background: var(--d2a-card);border: 1px solid var(--d2a-line);border-radius: var(--d2a-radius);padding: 0.85rem;min-width: 0;}
.d2a-box-top{display: flex;align-items: center;justify-content: space-between;gap: 0.5rem;margin: 0 0 0.5rem;min-height: 32px;}
.d2a-label{font-size: 0.78rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--d2a-muted);margin: 0;}
.d2a-link{border: 0;background: none;padding: 0;font-size: 0.875rem;font-weight: 600;color: var(--d2a-accent);cursor: pointer;}
.d2a-link:hover{text-decoration: underline;}
.d2a-area{width: 100%;flex: 1 1 auto;min-height: 150px;resize: vertical;border: 1px solid var(--d2a-line);border-radius: 8px;padding: 0.7rem;font-family: var(--d2a-mono);font-size: 0.95rem;line-height: 1.55;color: var(--d2a-ink);background: #fbfcfd;}
.d2a-area:focus,.d2a-opt select:focus{outline: 2px solid var(--d2a-accent);outline-offset: 1px;border-color: var(--d2a-accent);}
.d2a-samples{display: flex;flex-wrap: wrap;align-items: center;gap: 0.4rem;margin: 0.65rem 0 0;}
.d2a-samples-label{font-size: 0.78rem;font-weight: 700;color: var(--d2a-muted);margin-right: 0.15rem;}
.d2a-chip{border: 1px solid var(--d2a-line-2);background: var(--d2a-card);color: var(--d2a-ink-2);font-size: 0.8rem;padding: 0.25rem 0.6rem;border-radius: 999px;cursor: pointer;}
.d2a-chip:hover,.d2a-chip:focus-visible{border-color: var(--d2a-accent);color: var(--d2a-accent-dark);background: var(--d2a-accent-soft);}
.d2a-acts{display: inline-flex;gap: 0.4rem;}
.d2a-btn{border: 1px solid var(--d2a-accent);background: var(--d2a-accent);color: #fff;font-size: 0.85rem;font-weight: 600;padding: 0.3rem 0.85rem;border-radius: 7px;cursor: pointer;}
.d2a-btn:hover{background: var(--d2a-accent-dark);border-color: var(--d2a-accent-dark);}
.d2a-btn-ghost{background: var(--d2a-card);color: var(--d2a-accent);}
.d2a-btn-ghost:hover{background: var(--d2a-accent-soft);color: var(--d2a-accent-dark);}
.d2a-out{flex: 1 1 auto;min-height: 150px;max-height: 340px;overflow: auto;margin: 0;padding: 0.7rem;border: 1px dashed var(--d2a-line-2);border-radius: 8px;background: #fbfcfd;font-family: var(--d2a-mono);font-size: 1.05rem;line-height: 1.6;white-space: pre-wrap;word-break: break-word;color: var(--d2a-ink);}
.d2a-out:empty::before{content: "Text appears here";color: var(--d2a-muted);font-size: 0.9rem;}
.d2a-tag{display: inline-block;font-size: 0.72em;font-weight: 700;line-height: 1.3;padding: 0 0.3em;margin: 0 0.1em;border-radius: 4px;vertical-align: 0.1em;background: var(--d2a-ctrl-soft);color: var(--d2a-ctrl);}
.d2a-tag.is-hi{background: var(--d2a-hi-soft);color: var(--d2a-hi);}
.d2a-stats{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 0.4rem;margin: 0.65rem 0 0;}
.d2a-stats div{background: var(--d2a-bg);border-radius: 7px;padding: 0.35rem 0.5rem;text-align: center;}
.d2a-stats dt{font-size: 0.7rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.04em;color: var(--d2a-muted);}
.d2a-stats dd{margin: 0;font-family: var(--d2a-mono);font-size: 1.05rem;font-weight: 700;color: var(--d2a-ink);}
.d2a-status{margin: 0.9rem 0 0;padding: 0.55rem 0.8rem;border-left: 3px solid var(--d2a-accent);background: var(--d2a-card);border-radius: 0 7px 7px 0;font-size: 0.9rem;line-height: 1.5;color: var(--d2a-ink-2);}
.d2a-status.is-warn{border-left-color: var(--d2a-hi);}
.d2a-errs{list-style: none;margin: 0.5rem 0 0;padding: 0.55rem 0.8rem;background: var(--d2a-bad-soft);border-radius: 7px;font-size: 0.85rem;color: var(--d2a-bad);}
.d2a-errs li{margin: 0.1rem 0;}
.d2a-errs code{font-family: var(--d2a-mono);font-weight: 700;}
.d2a-opts{display: flex;flex-wrap: wrap;gap: 0.75rem 1.25rem;margin: 0.9rem 0 0;}
.d2a-opt{display: flex;flex-direction: column;gap: 0.25rem;flex: 1 1 260px;margin: 0;}
.d2a-opt span{font-size: 0.78rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;color: var(--d2a-muted);}
.d2a-opt select{width: 100%;border: 1px solid var(--d2a-line-2);border-radius: 7px;padding: 0.45rem 0.6rem;font-size: 0.9rem;background: var(--d2a-card);color: var(--d2a-ink);}
.d2a-table-head{margin: 1.6rem 0 0.6rem;}
.d2a-table-head h3{font-size: 1.05rem;font-weight: 700;margin: 0 0 0.25rem;color: var(--d2a-ink);}
.d2a-table-head p{font-size: 0.875rem;color: var(--d2a-muted);margin: 0;}
.d2a-grid-wrap{overflow-x: auto;-webkit-overflow-scrolling: touch;border: 1px solid var(--d2a-line);border-radius: var(--d2a-radius);background: var(--d2a-card);}
.d2a-grid{width: 100%;min-width: 440px;border-collapse: collapse;table-layout: fixed;}
.d2a-grid th{font-family: var(--d2a-mono);font-size: 0.75rem;font-weight: 700;color: var(--d2a-muted);text-align: center;padding: 0.3rem 0;background: var(--d2a-bg);}
.d2a-grid thead th:first-child,.d2a-grid tbody th{width: 44px;}
.d2a-grid td{padding: 2px;border-top: 1px solid var(--d2a-line);}
.d2a-cell{display: flex;flex-direction: column;align-items: center;justify-content: center;width: 100%;height: 46px;border: 1px solid transparent;border-radius: 6px;background: none;padding: 0;cursor: pointer;color: var(--d2a-ink);}
.d2a-cell b{font-family: var(--d2a-mono);font-size: 1rem;line-height: 1.1;}
.d2a-cell span{font-family: var(--d2a-mono);font-size: 0.66rem;color: var(--d2a-muted);}
.d2a-cell.is-ctrl b,.d2a-cell.is-sp b{font-size: 0.62rem;font-weight: 700;color: var(--d2a-ctrl);}
.d2a-cell:hover,.d2a-cell:focus-visible{border-color: var(--d2a-accent);background: var(--d2a-accent-soft);outline: none;}
.d2a-cell.is-used{background: var(--d2a-accent);border-color: var(--d2a-accent);color: #fff;}
.d2a-cell.is-used span,.d2a-cell.is-used.is-ctrl b,.d2a-cell.is-used.is-sp b{color: #fff;}
.d2a-void{background: repeating-linear-gradient(45deg, transparent 0 6px, var(--d2a-bg) 6px 12px);}
.d2a-extra{margin: 0.6rem 0 0;font-size: 0.875rem;color: var(--d2a-ink-2);line-height: 1.8;}
.d2a-extra-chip{display: inline-block;font-family: var(--d2a-mono);font-size: 0.8rem;padding: 0 0.45rem;margin: 0 0.25rem 0.2rem 0;border-radius: 5px;background: var(--d2a-hi-soft);color: var(--d2a-hi);}
.d2a-read{margin: 0 auto 2.5rem;color: var(--d2a-ink);}
.d2a-read section{margin: 0 0 2.25rem;}
.d2a-read h2{font-size: 1.5rem;font-weight: 750;letter-spacing: -0.01em;margin: 0 0 0.75rem;color: var(--d2a-ink);}
.d2a-read p,.d2a-read li{font-size: 1.02rem;line-height: 1.7;color: var(--d2a-ink-2);}
.d2a-read a{color: var(--d2a-accent);font-weight: 600;}
.d2a-anchors{list-style: none;padding: 0;margin: 0 0 1rem;display: grid;gap: 0.5rem;}
.d2a-anchors li{padding: 0.6rem 0.85rem;background: var(--d2a-card);border: 1px solid var(--d2a-line);border-left: 4px solid var(--d2a-accent);border-radius: 0 8px 8px 0;}
.d2a-try{padding: 0.85rem 1rem;background: var(--d2a-bg);border-radius: 8px;}
.d2a-tbl-wrap{overflow-x: auto;margin: 0 0 1rem;border: 1px solid var(--d2a-line);border-radius: 8px;}
.d2a-tbl{width: 100%;border-collapse: collapse;font-size: 0.95rem;}
.d2a-tbl th{text-align: left;font-size: 0.78rem;text-transform: uppercase;letter-spacing: 0.04em;color: var(--d2a-muted);background: var(--d2a-bg);padding: 0.55rem 0.75rem;}
.d2a-tbl td{padding: 0.55rem 0.75rem;border-top: 1px solid var(--d2a-line);color: var(--d2a-ink-2);vertical-align: top;}
.d2a-tbl-split td:last-child{font-weight: 600;color: var(--d2a-ink);}
.d2a-limits{padding: 1.1rem 1.25rem;border: 1px solid var(--d2a-line);border-radius: 12px;background: var(--d2a-card);}
.d2a-limits ul{padding-left: 1.1rem;margin: 0 0 0.75rem;}
.d2a-limits li{margin: 0 0 0.45rem;}
@media (max-width: 767.98px){.d2a-head{flex-direction: column;align-items: flex-start;}.d2a-head-badge{display: none;}.d2a-pair{grid-template-columns: minmax(0, 1fr);}.d2a-stats{grid-template-columns: repeat(2, minmax(0, 1fr));}.d2a-cell{height: 40px;}.d2a-read h2{font-size: 1.3rem;}}