:root{--ce-font:"Courier New", monospace;--ce-font-size:14px;--ce-line-height:1.4;--ce-padding:16px;--ce-tab-size:2}.code-editor,.code-viewer{background-color:var(--ap-colour-black-3);border:1px solid var(--ap-colour-gray);font-family:var(--ce-font);font-size:var(--ce-font-size);line-height:var(--ce-line-height);border-radius:4px;align-items:stretch;min-height:200px;display:flex;overflow:auto}.code-line-numbers,.code-gutter{width:44px;min-width:44px;padding:var(--ce-padding) 8px var(--ce-padding) 0;text-align:right;color:var(--ap-colour-gray-text,#888);border-right:1px solid var(--ap-colour-gray);-webkit-user-select:none;user-select:none;white-space:pre;line-height:var(--ce-line-height);font-size:13px;font-family:var(--ce-font);background-color:#0003;flex-shrink:0;margin:0;overflow:hidden}.code-editor-wrapper{flex-direction:column;width:100%;display:flex}.code-overlay-host{flex:1;min-height:200px;position:relative;overflow:hidden}.code-highlight-pre{padding:var(--ce-padding);font-family:var(--ce-font);font-size:var(--ce-font-size);line-height:var(--ce-line-height);white-space:pre;word-wrap:normal;overflow-wrap:normal;pointer-events:none;tab-size:var(--ce-tab-size);background:0 0;margin:0;position:absolute;inset:0;overflow:hidden}.code-highlight-pre code{font-family:inherit;font-size:inherit;line-height:inherit;background:0 0;padding:0}.code-textarea{color:#0000;caret-color:var(--ap-colour-text,#fff);-webkit-text-fill-color:transparent;resize:none;font-family:var(--ce-font);font-size:var(--ce-font-size);line-height:var(--ce-line-height);padding:var(--ce-padding);white-space:pre;word-wrap:normal;overflow-wrap:normal;tab-size:var(--ce-tab-size);background:0 0;border:none;outline:none;position:absolute;inset:0;overflow:auto}.code-textarea::placeholder{color:var(--ap-colour-gray-text,#888);-webkit-text-fill-color:var(--ap-colour-gray-text,#888)}.code-body{padding:var(--ce-padding);white-space:pre;word-wrap:normal;overflow-wrap:normal;flex:1;margin:0;overflow:visible}.code-body code{font-family:var(--ce-font);font-size:var(--ce-font-size);line-height:var(--ce-line-height);background:0 0;padding:0}.code-editor-footer{color:var(--ap-colour-gray-text,#888);justify-content:flex-end;padding:4px 8px;font-size:12px;display:flex}.code-editor-footer.near-limit{color:var(--ap-colour-warning,#f59e0b)}.code-editor-footer.over-limit{color:var(--ap-colour-error,#ef4444)}.code-highlight-pre .token.atrule,.code-highlight-pre .token.attr-value,.code-highlight-pre .token.keyword,.code-body .token.atrule,.code-body .token.attr-value,.code-body .token.keyword{color:#ff9d00}.code-highlight-pre .token.boolean,.code-highlight-pre .token.constant,.code-highlight-pre .token.deleted,.code-highlight-pre .token.number,.code-highlight-pre .token.property,.code-highlight-pre .token.symbol,.code-highlight-pre .token.tag,.code-body .token.boolean,.code-body .token.constant,.code-body .token.deleted,.code-body .token.number,.code-body .token.property,.code-body .token.symbol,.code-body .token.tag{color:#ff628c}.code-highlight-pre .token.attr-name,.code-highlight-pre .token.builtin,.code-highlight-pre .token.char,.code-highlight-pre .token.inserted,.code-highlight-pre .token.selector,.code-highlight-pre .token.string,.code-body .token.attr-name,.code-body .token.builtin,.code-body .token.char,.code-body .token.inserted,.code-body .token.selector,.code-body .token.string{color:#a5ff90}.code-highlight-pre .token.comment,.code-highlight-pre .token.prolog,.code-highlight-pre .token.doctype,.code-highlight-pre .token.cdata,.code-body .token.comment,.code-body .token.prolog,.code-body .token.doctype,.code-body .token.cdata{color:#7a7a7a;font-style:italic}.code-highlight-pre .token.class-name,.code-highlight-pre .token.function,.code-body .token.class-name,.code-body .token.function{color:#ff9d00}.code-highlight-pre .token.operator,.code-highlight-pre .token.entity,.code-highlight-pre .token.url,.code-body .token.operator,.code-body .token.entity,.code-body .token.url{color:#ff628c}.code-highlight-pre .token.variable,.code-highlight-pre .token.regex,.code-body .token.variable,.code-body .token.regex{color:#ff9d00}.code-highlight-pre .token.punctuation,.code-body .token.punctuation{color:#fff}.editor-type-bar{border-bottom:1px solid var(--ap-colour-gray);align-items:center;padding:6px 10px 4px;display:flex}.editor-type-trigger{border:1px solid var(--ap-colour-gray);cursor:pointer;color:var(--ap-colour-text);background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.editor-type-trigger:hover{background:var(--ap-colour-gray-2);border-color:var(--ap-colour-primary)}.editor-type-popover-wrap{min-width:260px;max-width:min(320px,100vw - 20px);left:0!important;transform:none!important}.etp-content{padding:12px}.etp-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ap-colour-text-secondary,#888);margin:0 0 8px;font-size:11px;font-weight:600}.etp-section-label-lang{margin-top:14px}.etp-mode-row{gap:6px;display:flex}.etp-mode-btn{border:1px solid var(--ap-colour-gray);cursor:pointer;color:var(--ap-colour-text);background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:13px;transition:background .15s,border-color .15s;display:inline-flex}.etp-mode-btn:hover{background:var(--ap-colour-gray-2)}.etp-mode-btn.active{border-color:var(--ap-colour-primary);background:var(--ap-colour-primary-o15,#6366f11f);color:var(--ap-colour-primary)}.etp-lang-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.etp-lang-btn{border:1px solid var(--ap-colour-gray);cursor:pointer;color:var(--ap-colour-text);background:0 0;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 5px;font-size:11px;line-height:1.2;transition:background .15s,border-color .15s;display:flex}.etp-lang-btn:hover{background:var(--ap-colour-gray-2)}.etp-lang-btn.active{border-color:var(--ap-colour-primary);background:var(--ap-colour-primary-o15,#6366f11f);color:var(--ap-colour-primary)}.editor-readonly-bar{justify-content:space-between}.editor-lang-badge{color:var(--ap-colour-text-secondary,#888);border:1px solid var(--ap-colour-gray);background:var(--ap-colour-card-2,#0000000a);border-radius:5px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;line-height:1;display:inline-flex}.editor-copy-btn{border:1px solid var(--ap-colour-gray);cursor:pointer;color:var(--ap-colour-text);background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.editor-copy-btn:hover{background:var(--ap-colour-gray-2);border-color:var(--ap-colour-primary)}.editor-copy-float-host{position:relative}.editor-copy-only-bar{z-index:2;position:absolute;top:6px;right:8px}.editor-copy-btn-min{background:var(--ap-colour-card,#fff);cursor:pointer;color:var(--ap-colour-text-secondary,#888);border:1px solid #0000;border-radius:5px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.editor-copy-btn-min:hover{border-color:var(--ap-colour-gray);color:var(--ap-colour-text)}.text-editor-fallback-wrapper{width:100%;min-height:200px;position:relative}.text-editor-fallback-textarea{pointer-events:none;opacity:.6}.text-editor-initializing-overlay{background-color:var(--ap-colour-card-o50);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;border-radius:var(--ap-var-border-radius);cursor:not-allowed;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.text-editor-initializing-content{color:var(--ap-colour-text);flex-direction:column;align-items:center;gap:12px;display:flex}.text-editor-initializing-content p{opacity:.9;margin:0;font-size:14px}.text-editor-initializing-spinner{border:3px solid var(--ap-colour-gray);border-top-color:var(--ap-colour-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite text-editor-spin}@keyframes text-editor-spin{to{transform:rotate(360deg)}}
