.oem-intro { padding:2.5rem 0 2rem; border-bottom:1px solid #ddd; margin-bottom:2rem; }
.oem-intro-header { display:flex; align-items:center; gap:2rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.oem-logo { max-width:180px; max-height:70px; width:auto; height:auto; flex-shrink:0; }
.oem-intro-header h2 { margin:0; font-size:1.5rem; color:#2c3e50; }
.oem-intro .oem-subtitle { font-size:0.9rem; font-weight:600; color:#555; text-transform:uppercase; letter-spacing:0.04em; display:block; margin-bottom:0.75rem; }
.oem-intro p { color:#444; line-height:1.7; margin:0 0 0.5rem; }
.oem-notice-box { background:#fff8ee; border-left:3px solid #f39c12; padding:1rem 1.25rem; border-radius:0 4px 4px 0; margin-bottom:1.5rem; color:#555; font-size:0.9rem; line-height:1.6; }
.oem-files-section { margin-bottom:2.5rem; }
.oem-files-section h3 { font-size:1.1rem; color:#2c3e50; margin:0 0 1rem; padding-bottom:0.4rem; border-bottom:2px solid #f39c12; display:inline-block; }
#oem-file-tree { min-height:2rem; max-width:55rem; }
.oem-notice { color:#888; }
.oem-file-list { list-style:none; padding:0; margin:0; }
.oem-file-list .oem-file-list { padding-left:1.25rem; margin-top:0.4rem; }
.oem-folder { margin-bottom:0.5rem; }
.oem-folder>details>summary { cursor:pointer; font-weight:600; color:#2c3e50; padding:0.4rem 0.5rem; background:#f5f6f7; border-radius:3px; list-style:none; display:flex; align-items:center; gap:0.5rem; user-select:none; }
.oem-folder>details>summary::before { content:"\25BA"; font-size:0.7rem; color:#f39c12; transition:transform 0.15s; flex-shrink:0; }
.oem-folder>details[open]>summary::before { transform:rotate(90deg); }
.oem-folder>details>summary::-webkit-details-marker { display:none; }
.oem-folder .oem-file-list { border-left:2px solid #e8e8e8; margin-left:0.6rem; padding-left:1rem; margin-top:0.4rem; }
.oem-file { margin:0.3rem 0; border-radius:3px; }
.oem-file-row { display:flex; align-items:center; width:100%; }
.oem-file a { color:#2c3e50; text-decoration:none; padding:0.3rem 0.4rem; display:inline-flex; align-items:center; gap:0.4rem; font-size:0.9rem; flex:1; min-width:0; }
.oem-file-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.oem-file a::before { content:"\2193"; color:#f39c12; font-size:0.85rem; flex-shrink:0; }
.oem-file a:hover { color:#f39c12; }
.oem-file:hover { background:#fff8ee; }
.oem-file-size { width:6rem; text-align:right; color:#888; font-size:0.78rem; padding:0 0.5rem; white-space:nowrap; flex-shrink:0; }
.oem-file-date { width:10rem; text-align:right; color:#999; font-size:0.78rem; padding-right:0.4rem; white-space:nowrap; flex-shrink:0; }
.oem-file-note { flex:1; min-width:0; color:#2c3e50; font-size:0.9rem; padding:0 0.5rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.oem-file-alt { background:#f7f8f9; }
.oem-empty { color:#999; font-style:italic; font-size:0.85rem; margin:0.25rem 0 0 0.5rem; }
.oem-docs { background:#f9f9f9; border:1px solid #e0e0e0; border-radius:5px; padding:1.5rem; margin-bottom:2.5rem; }
.oem-docs h3 { font-size:1rem; margin:0 0 0.4rem; color:#2c3e50; }
.oem-docs p { margin:0 0 1rem; color:#555; font-size:0.9rem; line-height:1.6; }
.oem-docs p:last-child { margin-bottom:0; }
.oem-controllers { margin-bottom:3rem; }
.oem-controllers h3 { font-size:1.1rem; color:#2c3e50; margin:0 0 1rem; padding-bottom:0.4rem; border-bottom:2px solid #f39c12; display:inline-block; }
.oem-controllers pre { background:#f5f6f7; border:1px solid #e0e0e0; border-radius:4px; padding:1rem 1.25rem; font-size:0.85rem; line-height:1.7; color:#333; overflow-x:auto; white-space:pre-wrap; }
