/* PHP编辑器：工具栏 + 带行号 / 语法高亮的代码区 + 检查结果 */
.pe-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}
.pe-snippet{width:auto;max-width:13rem}

.pe-editor{display:flex;height:28rem;border:1px solid #dfe4ec;border-radius:.5rem;overflow:hidden;background:#fff}
.pe-editor.is-drop{outline:2px dashed var(--site-primary);outline-offset:-2px}
.pe-gutter{flex:0 0 3rem;padding:.75rem .5rem .75rem 0;overflow:hidden;background:#f7f9fc;border-right:1px solid #eef1f5;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:21px;color:#9aa4b2;text-align:right;white-space:pre}
.pe-code{position:relative;flex:1;min-width:0}
/* 高亮层垫在编辑区下面：字体、行高、内边距必须和 textarea 完全一致，光标才能和文字对齐 */
.pe-hl{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:.75rem .875rem;overflow:hidden;pointer-events:none;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:21px;
  white-space:pre;tab-size:4;color:#24292f}
.pe-hl code{display:block;font:inherit;color:inherit;white-space:pre}
textarea.pe-area{position:absolute;top:0;left:0;width:100%;height:100%;padding:.75rem .875rem;border:0;border-radius:0;resize:none;
  background:transparent;color:transparent;caret-color:#111827;overflow:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:21px;
  white-space:pre;tab-size:4;outline:none}
textarea.pe-area::selection{background:#bfdbfe;color:transparent}
textarea.pe-area:focus{box-shadow:none}
/* 代码太长（超过 300KB）时关掉高亮，切成普通文字色 */
.pe-editor.is-plain .pe-hl{display:none}
.pe-editor.is-plain textarea.pe-area{color:#24292f}

.pe-hl .tk-c{color:#94a3b8;font-style:italic}
.pe-hl .tk-s{color:#2b8a3e}
.pe-hl .tk-k{color:#7c3aed;font-weight:600}
.pe-hl .tk-b{color:#c026d3;font-weight:600}
.pe-hl .tk-n{color:#d9480f}
.pe-hl .tk-v{color:#0b7285}
.pe-hl .tk-f{color:#2563eb}
.pe-hl .tk-p{color:#b45309}
.pe-hl .tk-o{color:#d6336c}
.pe-hl .tk-t{color:#c2255c;font-weight:600}
.pe-hl .tk-h{color:#0f766e}
.pe-hl .tk-a{color:#b45309}

.pe-issues{margin-top:.75rem;border:1px solid #f3ddb4;border-radius:.5rem;background:#fffaf1;overflow:hidden}
.pe-issues.is-ok{border-color:#cfe7d6;background:#f5fbf6}
.pe-issues-head{display:flex;align-items:center;gap:.5rem;padding:.4rem .625rem;border-bottom:1px solid #f3e3c3;font-size:13px;color:#8a5a12}
.pe-issues.is-ok .pe-issues-head{border-color:#dcedde;color:#2f6b45}
.pe-issues-body{max-height:12rem;overflow:auto;padding:.4rem .25rem .5rem}
.pe-issue{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.375rem;font-size:.8125rem;color:#5b6675;cursor:pointer}
.pe-issue:hover{background:#fff1d6}
.pe-issue .pe-issue-line{flex:0 0 3.5rem;color:#9a6d1a;font-variant-numeric:tabular-nums}
.pe-issue.is-ok{color:#2f6b45;cursor:default}
.pe-issue.is-ok:hover{background:transparent}

.pe-foot{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.pe-tip{margin-top:.25rem}

@media (max-width:767.98px){
  .pe-editor{height:21rem}
  .pe-snippet{max-width:100%}
}
