:root{--primary: #c2410c;--primary-dark: #9a3412;--border: #e6e0d8;--surface: #ffffff;--surface-muted: #f8f5f1;--shadow-soft: 0 2px 10px rgba(45,32,20,.07);--text-main: #1f1a16;--text-muted: #6b6159;--dfg-line: #d8cfc4;--dfg-code-bg: #1c1814;--dfg-code-ink: #efe6db;--dfg-code-line: #2e2822;--dfg-key: #fb923c;--dfg-cmt: #9a8d80;--dfg-warn-bg: #fff4e3;--dfg-warn-ink: #874707;--dfg-warn-line: #f2c98f;--dfg-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;}
.bmc-developer .dfg-workspace{display: flex;flex-direction: column;gap: 1rem;margin-bottom: 2.25rem;color: var(--text-main);}
.dfg-stacks{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: .5rem;}
.dfg-stack{display: flex;flex-direction: column;align-items: flex-start;gap: .15rem;padding: .7rem .85rem;background: var(--surface);border: 1px solid var(--border);border-left: 4px solid var(--border);border-radius: 8px;text-align: left;cursor: pointer;transition: border-color .15s ease, background .15s ease;}
.dfg-stack:hover{border-left-color: var(--dfg-line);background: var(--surface-muted);}
.dfg-stack:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.dfg-stack.is-active{border-color: var(--primary);border-left-color: var(--primary);background: #fff7f1;}
.dfg-stack-name{font-weight: 700;font-size: .95rem;color: var(--text-main);}
.dfg-stack-hint{font-size: .78rem;color: var(--text-muted);line-height: 1.35;}
.dfg-grid{display: grid;grid-template-columns: minmax(0, 1fr);gap: 1rem;align-items: start;}
.dfg-form{display: flex;flex-direction: column;gap: .75rem;margin: 0;}
.dfg-fieldset{margin: 0;padding: .9rem 1rem 1rem;background: var(--surface);border: 1px solid var(--border);border-radius: 10px;min-width: 0;}
.dfg-legend{float: left;width: 100%;margin: 0 0 .65rem;padding: 0;font-size: .72rem;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;color: var(--primary-dark);}
.dfg-legend + *{clear: left;}
.dfg-row{display: grid;grid-template-columns: minmax(0, 1fr);gap: .65rem;}
.dfg-field{display: flex;flex-direction: column;gap: .3rem;margin-bottom: .65rem;min-width: 0;}
.dfg-field:last-child{margin-bottom: 0;}
.dfg-field[hidden],.dfg-check[hidden],.dfg-row[hidden]{display: none;}
.dfg-label{font-size: .85rem;font-weight: 600;color: var(--text-main);}
.dfg-help{font-size: .78rem;color: var(--text-muted);line-height: 1.4;}
.dfg-input,.dfg-select,.dfg-textarea{width: 100%;padding: .5rem .65rem;font-size: .9rem;color: var(--text-main);background: var(--surface);border: 1px solid var(--dfg-line);border-radius: 6px;}
.dfg-input,.dfg-textarea{font-family: var(--dfg-mono);font-size: .85rem;}
.dfg-textarea{min-height: 92px;resize: vertical;line-height: 1.5;}
.dfg-input:focus,.dfg-select:focus,.dfg-textarea:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(194,65,12,.15);}
.dfg-checks{display: flex;flex-direction: column;gap: .5rem;}
.dfg-check{display: flex;align-items: flex-start;gap: .55rem;font-size: .88rem;line-height: 1.4;cursor: pointer;}
.dfg-check input{margin-top: .2rem;width: 16px;height: 16px;flex-shrink: 0;accent-color: var(--primary);}
.dfg-check small{display: block;color: var(--text-muted);font-size: .78rem;}
.dfg-output{display: flex;flex-direction: column;background: var(--dfg-code-bg);border-radius: 10px;overflow: hidden;box-shadow: var(--shadow-soft);}
.dfg-outbar{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: .5rem;padding: .5rem .6rem .5rem .75rem;border-bottom: 1px solid var(--dfg-code-line);}
.dfg-tabs{display: flex;gap: .25rem;flex-wrap: wrap;}
.dfg-tab{padding: .35rem .7rem;font-size: .82rem;font-family: var(--dfg-mono);color: var(--dfg-cmt);background: transparent;border: 1px solid transparent;border-radius: 6px;cursor: pointer;}
.dfg-tab:hover{color: var(--dfg-code-ink);}
.dfg-tab[aria-selected="true"]{color: var(--dfg-code-ink);background: var(--dfg-code-line);border-color: #3d352d;}
.dfg-tab:focus-visible,.dfg-btn:focus-visible{outline: 2px solid var(--dfg-key);outline-offset: 1px;}
.dfg-actions{display: flex;gap: .35rem;flex-wrap: wrap;}
.dfg-btn{padding: .35rem .75rem;font-size: .8rem;font-weight: 600;border-radius: 6px;border: 1px solid #3d352d;background: transparent;color: var(--dfg-code-ink);cursor: pointer;min-width: 4.5rem;}
.dfg-btn:hover{background: var(--dfg-code-line);}
.dfg-btn-primary{background: var(--primary);border-color: var(--primary);color: #fff;}
.dfg-btn-primary:hover{background: var(--primary-dark);border-color: var(--primary-dark);}
.dfg-code{margin: 0;padding: 1rem 1.1rem;max-height: 560px;min-height: 320px;overflow: auto;font-family: var(--dfg-mono);font-size: .8rem;line-height: 1.65;color: var(--dfg-code-ink);background: transparent;white-space: pre;tab-size: 4;}
.dfg-code .dfg-k{color: var(--dfg-key);font-weight: 700;}
.dfg-code .dfg-c{color: var(--dfg-cmt);font-style: italic;}
.dfg-outfoot{display: flex;justify-content: space-between;gap: .5rem;flex-wrap: wrap;padding: .45rem .75rem;font-size: .74rem;font-family: var(--dfg-mono);color: var(--dfg-cmt);border-top: 1px solid var(--dfg-code-line);}
.dfg-notes-wrap{margin-top: .75rem;padding: .9rem 1rem;background: var(--surface);border: 1px solid var(--border);border-radius: 10px;}
.dfg-notes-wrap[hidden]{display: none;}
.dfg-notes-title{margin: 0 0 .55rem;font-size: .72rem;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;color: var(--primary-dark);}
.dfg-notes{margin: 0;padding: 0;list-style: none;display: flex;flex-direction: column;gap: .45rem;}
.dfg-note{position: relative;padding: .1rem 0 .1rem 1.05rem;font-size: .85rem;line-height: 1.5;color: var(--text-main);}
.dfg-note::before{content: "";position: absolute;left: 0;top: .6rem;width: 6px;height: 6px;border-radius: 50%;background: var(--dfg-line);}
.dfg-note.is-warn{padding: .45rem .6rem .45rem 1.6rem;background: var(--dfg-warn-bg);border: 1px solid var(--dfg-warn-line);border-radius: 6px;color: var(--dfg-warn-ink);}
.dfg-note.is-warn::before{left: .6rem;top: .95rem;background: var(--primary);}
.dfg-note code,.dfg-article code{font-family: var(--dfg-mono);font-size: .86em;padding: .05rem .3rem;background: var(--surface-muted);border: 1px solid var(--border);border-radius: 4px;color: var(--primary-dark);}
.dfg-footline{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: .5rem 1rem;padding-top: .75rem;border-top: 1px dashed var(--dfg-line);}
.dfg-byline{display: flex;flex-wrap: wrap;gap: .25rem .9rem;font-size: .82rem;color: var(--text-muted);}
.dfg-byline .author-link{color: var(--primary-dark);font-weight: 600;text-decoration: none;}
.dfg-byline .author-link:hover{text-decoration: underline;}
.dfg-formbtns{display: flex;gap: .5rem;}
.dfg-formbtn{padding: .4rem .85rem;font-size: .82rem;font-weight: 600;border-radius: 6px;border: 1px solid var(--dfg-line);background: var(--surface);color: var(--text-main);cursor: pointer;}
.dfg-formbtn:hover{border-color: var(--primary);color: var(--primary-dark);}
.dfg-formbtn:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.dfg-article{margin: 0 auto 2rem;color: var(--text-main);font-size: 1rem;line-height: 1.7;}
.dfg-article h2{margin: 2.25rem 0 .75rem;font-size: 1.45rem;font-weight: 700;line-height: 1.3;}
.dfg-article h2:first-child{margin-top: 0;}
.dfg-article h3{margin: 1.5rem 0 .5rem;font-size: 1.1rem;font-weight: 700;}
.dfg-article p{margin: 0 0 1rem;}
.dfg-lead{font-size: 1.08rem;color: var(--text-main);}
.dfg-table-wrap{margin: 1rem 0 1.25rem;overflow-x: auto;border: 1px solid var(--border);border-radius: 8px;}
.dfg-table{width: 100%;min-width: 620px;border-collapse: collapse;font-size: .88rem;}
.dfg-table th,.dfg-table td{padding: .6rem .75rem;text-align: left;vertical-align: top;border-bottom: 1px solid var(--border);}
.dfg-table th{background: var(--surface-muted);font-weight: 700;font-size: .8rem;color: var(--text-muted);}
.dfg-table tr:last-child td{border-bottom: 0;}
.dfg-table td:first-child{font-weight: 600;white-space: nowrap;}
.dfg-pair{display: grid;grid-template-columns: minmax(0, 1fr);gap: .75rem;margin: 1rem 0 1.25rem;}
.dfg-pair figure{margin: 0;min-width: 0;}
.dfg-pair figcaption{margin-bottom: .35rem;font-size: .8rem;font-weight: 700;color: var(--text-muted);}
.dfg-pair figure.is-bad figcaption{color: #9f1d1d;}
.dfg-pair figure.is-good figcaption{color: #166534;}
.dfg-pre{margin: 0 0 1.25rem;padding: .85rem 1rem;overflow-x: auto;font-family: var(--dfg-mono);font-size: .8rem;line-height: 1.6;color: var(--dfg-code-ink);background: var(--dfg-code-bg);border-radius: 8px;white-space: pre;}
.dfg-pair .dfg-pre{margin: 0;height: 100%;}
.dfg-pre code{padding: 0;background: transparent;border: 0;color: inherit;font-size: inherit;}
.dfg-users{margin: 1rem 0 1.25rem;display: grid;grid-template-columns: minmax(0, 1fr);gap: 0;border-top: 1px solid var(--border);}
.dfg-users div{display: grid;grid-template-columns: minmax(0, 1fr);gap: .2rem;padding: .7rem 0;border-bottom: 1px solid var(--border);}
.dfg-users dt{font-weight: 700;font-size: .92rem;}
.dfg-users dd{margin: 0;font-size: .92rem;color: var(--text-main);}
.dfg-limits{margin: 0 0 1rem;padding-left: 1.2rem;}
.dfg-limits li{margin-bottom: .55rem;}
.dfg-limits li strong{color: var(--text-main);}
.dfg-closing{display: grid;grid-template-columns: minmax(0, 1fr);gap: 1.25rem;align-items: start;margin-top: 1rem;margin-bottom: 2rem;}
.dfg-closing > section{margin: 0;min-width: 0;}
.dfg-topbar{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: .5rem;}
.dfg-toplabel{font-size: .72rem;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;color: var(--primary-dark);}
.dfg-gap-top{margin-top: .65rem;}
.dfg-result{min-width: 0;}
@media (min-width: 576px){.dfg-stacks{grid-template-columns: repeat(3, minmax(0, 1fr));}.dfg-row{grid-template-columns: repeat(2, minmax(0, 1fr));}.dfg-users div{grid-template-columns: 11rem minmax(0, 1fr);gap: 1rem;}}
@media (min-width: 768px){.dfg-pair{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (min-width: 992px){.dfg-stacks{grid-template-columns: repeat(6, minmax(0, 1fr));}.dfg-grid{grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);}.dfg-closing{grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);}}
@media (max-width: 991.98px){.dfg-code{max-height: 440px;}}