
pre:has(>code[class*="language-"]){box-sizing:border-box;max-width:100%;margin:16px 0;padding:14px 16px;background:#f7f8fc;color:#29334a;border:1px solid #e3e7f0;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;tab-size:4;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
pre>code[class*="language-"]{padding:0;background:transparent;color:inherit;border:0;border-radius:0;white-space:inherit;font:inherit}
pre:has(>code[class*="language-"])::before{display:block;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #e3e7f0;color:#677184;font:500 14px/1.5 system-ui,sans-serif;user-select:none}
pre:has(>code.language-plaintext)::before{content:"一般程式碼"}
pre:has(>code.language-html)::before{content:"HTML"}
pre:has(>code.language-css)::before{content:"CSS"}
pre:has(>code.language-javascript)::before{content:"JavaScript"}
pre:has(>code.language-sass)::before{content:"Sass"}
pre:has(>code.language-xml)::before{content:"XML"}
pre:has(>code.language-ruby)::before{content:"Ruby"}
pre:has(>code.language-php)::before{content:"PHP"}
pre:has(>code.language-java)::before{content:"Java"}
pre:has(>code.language-csharp)::before{content:"C#"}
pre:has(>code.language-cpp)::before{content:"C++"}
pre:has(>code.language-objectivec)::before{content:"Objective-C"}
pre:has(>code.language-perl)::before{content:"Perl"}
pre:has(>code.language-python)::before{content:"Python"}
pre:has(>code.language-vbnet)::before{content:"VB"}
pre:has(>code.language-sql)::before{content:"SQL"}
pre:has(>code.language-powershell)::before{content:"PowerShell"}
pre:has(>code.language-bash)::before{content:"Bash / Shell"}
pre:has(>code.language-batch)::before{content:"Windows CMD"}
pre:has(>code.language-json)::before{content:"JSON"}
.snippet-view{box-sizing:border-box;max-width:100%;min-width:0;margin:16px 0;border:1px solid #e3e7f0;border-radius:10px;background:#f7f8fc;color:#29334a;overflow:hidden}
.snippet-view .snippet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid #e3e7f0;font:500 14px/1.5 system-ui,sans-serif;user-select:none}
.snippet-view .snippet-language{color:#677184}.snippet-view button.snippet-copy.ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;box-sizing:border-box;width:auto;height:32px;min-height:0;margin:0;padding:5px 10px;border:1px solid #e0e4ec;border-radius:7px;background:#fff;color:#60697a;font:400 14px/1.5 system-ui,sans-serif;white-space:nowrap;cursor:pointer;box-shadow:none;transform:none;transition:background .15s,color .15s}
.snippet-view button.snippet-copy.ghost:hover{background:#fafbfe;color:#424b60;box-shadow:none;transform:none}.snippet-view button.snippet-copy.ghost:focus-visible{outline:1px solid #2463d4;outline-offset:2px}.snippet-view button.snippet-copy.ghost[data-copied]{color:#238064}.snippet-copy svg{display:block;width:16px;height:16px}.snippet-copy .snippet-copy-status{font:inherit}
.snippet-view .snippet-body{display:flex;max-width:100%;overflow:auto;tab-size:4;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
.snippet-view .snippet-lines{position:sticky;left:0;z-index:1;box-sizing:border-box;flex-shrink:0;min-width:3.5em;margin:0;padding:14px 12px;text-align:right;white-space:pre;background:#f0f2f7;color:#8790a1;border-right:1px solid #e3e7f0;font:inherit;user-select:none;-webkit-user-select:none;pointer-events:none}
.snippet-view .snippet-body>pre{box-sizing:border-box;flex:1;min-width:max-content;max-width:none;margin:0;padding:14px 16px;border:0;border-radius:0;background:transparent;color:inherit;white-space:pre!important;overflow-wrap:normal;word-break:normal;overflow:visible;font:inherit;tab-size:4}
.snippet-view .snippet-body>pre::before{display:none}.snippet-view .snippet-body>pre>code{white-space:pre!important;overflow-wrap:normal;word-break:normal;font:inherit}

.poc-editor-scope .rich-editor-content pre:has(>code[class*="language-"]){display:grid;grid-template-columns:minmax(3.5em,max-content) minmax(0,1fr);position:relative;max-width:100%;padding:0;white-space:pre!important;overflow-wrap:normal;overflow:auto;tab-size:4;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
.poc-editor-scope .rich-editor-content pre:has(>code[class*="language-"])::before{grid-column:1/-1;grid-row:1;box-sizing:border-box;min-height:51px;display:flex;align-items:center;position:sticky;left:0;margin:0;padding:9px 14px;background:#f7f8fc;border-bottom:1px solid #e3e7f0;font:500 14px/1.5 system-ui,sans-serif}
.poc-editor-scope .rich-editor-content pre:has(>code[class*="language-"])::after{grid-column:1;grid-row:2;position:sticky;left:0;z-index:1;box-sizing:border-box;min-width:3.5em;margin:0;padding:14px 12px;text-align:right;white-space:pre;background:#f0f2f7;color:#8790a1;border-right:1px solid #e3e7f0;font:inherit;user-select:none;-webkit-user-select:none;pointer-events:none}
.poc-editor-scope .rich-editor-content pre>code[class*="language-"]{display:block;grid-column:2;grid-row:2;min-width:max-content;padding:14px 16px;margin:0;white-space:pre!important;overflow-wrap:normal;word-break:normal;font:inherit}
.editor-code-dialog{width:min(860px,calc(100% - 32px))}
.editor-code-dialog form{margin:0}.editor-code-dialog .form-control{margin:6px 0 18px}
.editor-code-dialog label[for="editorCodeLanguage"]{display:block;margin:0 0 10px}
.editor-code-dialog select[name="code_language"]{display:block;margin-top:0}
.editor-code-dialog .editor-code-input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:300px;max-height:55dvh;margin-bottom:10px;padding:14px 16px;resize:vertical;white-space:pre;overflow:auto;tab-size:4;background:#fafbfe;color:#29334a;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
.editor-code-dialog .editor-code-help{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.editor-code-dialog .form-actions{margin-top:20px}.editor-code-dialog .code-dialog-close{padding:8px;flex-shrink:0}.code-dialog-close svg{display:block;width:18px;height:18px}
@media(max-width:600px){.editor-code-dialog .editor-code-input{min-height:240px;max-height:48dvh;padding:12px}.editor-code-dialog .course-config-header h2{font-size:20px}}

.editor-code-dialog{box-sizing:border-box;padding:24px;border:1px solid #d6e3f5;border-radius:14px;background:#fff;color:#173c63;max-height:90dvh;overflow:auto}.editor-code-dialog::backdrop{background:#173c6355}.editor-code-dialog .course-config-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.editor-code-dialog h2{margin:0;font-size:22px}.editor-code-dialog label{font-size:14px}.editor-code-dialog select,.editor-code-dialog textarea{font-size:14px}.editor-code-dialog .form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.editor-code-dialog .form-actions button[type=submit]{background:#2463d4;color:#fff}.editor-code-dialog .error:empty,.image-size-message:empty{display:none}
