.home-page.section-page .ablocks-fill-and-pad { padding-top:62px; }
.modern-page { padding:8px 0 48px; }
.modern-page > h1,.modern-page > header h1 { margin:0 0 28px; color:#1680a9; font-size:38px; overflow-wrap:anywhere; }
.modern-page h2 { margin:0 0 20px; font-size:25px; color:#285a76; }
.modern-page h3 { font-size:21px; }
.modern-card { padding:28px; border:1px solid #cfe4f3; border-radius:12px; background:#fff; margin-bottom:24px; }
.modern-card-warm { background:#fff5e5; border-color:#eed8b8; color:#79572c; }
.modern-page .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:43px; padding:10px 17px; border-radius:7px; font:600 13px/1.5 var(--platform-font-family,'Segoe UI',system-ui,sans-serif); white-space:normal; text-decoration:none; }
.modern-page .btn-primary { background:#1680a9; border-color:#117498; color:#fff; }
.modern-page .btn-primary:hover,.modern-page .btn-primary:focus { background:#106b90; border-color:#0d6082; }
.modern-page .btn-warning { background:#fff5e5; border-color:#eed8b8; color:#79572c; }
.modern-page .btn-warning:hover,.modern-page .btn-warning:focus { background:#f7e6c9; border-color:#b89159; color:#62411d; }
.modern-page .btn-danger { background:#ffd1cc; border-color:#e98d82; color:#8d2924; }
.modern-page .btn-danger:hover,.modern-page .btn-danger:focus { background:#ffc0b9; border-color:#dd756a; color:#77201a; }
.modern-page .btn-success { background:#cfe9d9; border-color:#9bc8ad; color:#285c42; }
.modern-page .btn-success:hover,.modern-page .btn-success:focus { background:#bde0cb; border-color:#79af8f; color:#204f38; }
.modern-page .btn-info,.modern-page .btn-default { background:#edf7fe; border-color:#bfd8e8; color:#285a76; }
.modern-page .btn-info:hover,.modern-page .btn-default:hover { background:#dceefa; border-color:#83b8d5; }
.modern-page label { color:#375f76; font-size:13px; font-weight:600; }
.modern-page .form-control { min-height:44px; height:auto; border:1px solid #bfd8e8; border-radius:7px; background:#fff; box-shadow:none; font-size:14px; }
.modern-page .form-control:focus { border-color:#1680a9; box-shadow:0 0 0 3px #1680a91a; }
.modern-page .has-error .form-control { border-color:#a94442; }
.modern-page .help-block { font-size:12px; }
.modern-page .checkbox { padding-top:0; }
.modern-page .checkbox input { accent-color:#1680a9; }
.modern-page hr { border-color:#dbe8f1; margin:24px 0; }
.modern-form-page { max-width:900px; }
.import-header { margin-bottom:30px; }
.import-header > p:last-child { max-width:620px; color:#587080; font-size:16px; }
.import-card { padding:32px; }
.import-card-heading { display:flex; align-items:center; gap:18px; margin-bottom:28px; }
.import-card-heading h2 { margin:0 0 6px; font-size:23px; }
.import-card-heading p { color:#587080; font-size:14px; }
.import-card .import-icon { flex:0 0 54px; display:flex; justify-content:center; align-items:center; height:54px; border-radius:14px; background:#e8f5fc; color:#1680a9; font-size:25px; }
.import-format { margin-left:auto; padding:6px 12px; border:1px solid #cfe4f3; border-radius:6px; background:#f2f9fe; color:#375f76; font-size:13px; font-weight:650; }
.import-upload { padding:26px; border:2px dashed #bfd8e8; border-radius:10px; background:#f7fbfe; }
.import-file-field { margin:0; }
.import-file-field label { display:block; margin-bottom:12px; }
.import-file-input { display:block; width:100%; max-width:100%; color:#375f76; font:14px/1.6 var(--platform-font-family,'Segoe UI',system-ui,sans-serif); }
.import-file-input::file-selector-button { margin-right:14px; padding:10px 15px; border:1px solid #bfd8e8; border-radius:7px; background:#fff; color:#285a76; font:inherit; font-weight:600; cursor:pointer; }
.import-file-input::file-selector-button:hover { background:#e5f3fc; border-color:#1680a9; }
.import-file-input:focus-visible { outline:3px solid #1680a9; outline-offset:5px; border-radius:4px; }
.import-file-field .help-block { margin:8px 0 0; overflow-wrap:anywhere; }
.import-upload:has(.has-error) { border-color:#c56b65; background:#fff8f7; }
.import-upload .import-file-hint { margin-top:14px; color:#607e93; font-size:12px; }
.import-card .import-explanation { display:flex; align-items:flex-start; gap:10px; margin:22px 0; color:#587080; font-size:13px; }
.import-explanation .glyphicon { margin-top:4px; color:#1680a9; }
.import-help { max-width:700px; padding:0 4px; color:#607e93; font-size:13px; }
@media(max-width:600px) { .import-card { padding:22px; }.import-card-heading { flex-wrap:wrap; gap:14px; }.import-card-heading > div { flex:1; min-width:180px; }.import-format { display:none; }.import-upload { padding:18px; }.import-file-input { font-size:12px; }.import-file-input::file-selector-button { display:block; margin:0 0 12px; }.import-actions > .btn { width:100%; } }
.modern-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.modern-form-grid > .form-group { min-width:0; margin:0 0 20px; }
.modern-form-grid > .modern-form-wide { grid-column:1/-1; }
.modern-form-grid > .error-summary { grid-column:1/-1; }
.modern-form-grid .checkbox label { font-weight:400; line-height:1.6; }
.modern-form-actions { display:flex; flex-wrap:wrap; gap:12px; padding-top:8px; }
.modern-role { background:#edf7fe; border-color:#cfe4f3; }
.modern-role h2 { font-size:19px; margin-bottom:12px; }
.modern-role blockquote { margin:0; padding:0; border:0; color:#587080; }
.modern-danger { border-color:#efc7c2; background:#fff8f7; }
.modern-danger form { margin:0; }
.messageerror-card { display:flex; align-items:flex-start; gap:18px; color:#8d2924; }
.messageerror-icon { flex-shrink:0; margin-top:3px; font-size:26px; }
.messageerror-card p { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.modern-managed .form-group { max-width:420px; }
.modern-managed .label { display:inline-block; padding:8px 12px; border-radius:6px; font-size:12px; font-weight:600; white-space:normal; overflow-wrap:anywhere; }
.modern-managed .label-primary { background:#e1f1fc; color:#285a76; }
.modern-managed .label-default { background:#edf1f5; color:#587080; }
.modern-managed h4 { margin:12px 0; }
.modern-grid { overflow-x:auto; margin-top:20px; }
.modern-grid .summary { margin-bottom:14px; font-size:12px; color:#587080; }
.modern-grid table { min-width:580px; background:#fff; border:1px solid #d6e5f0; }
.modern-grid .table > thead > tr > th { padding:14px; background:#edf7fe; border-color:#d6e5f0; font-size:12px; }
.modern-grid .table > tbody > tr > td { padding:13px 14px; border-color:#e0ebf3; font-size:13px; vertical-align:middle; }
.modern-grid .table-striped > tbody > tr:nth-of-type(odd) { background:#f8fbfe; }
.modern-grid td:last-child { white-space:nowrap; }
.modern-grid td a { display:inline-flex; padding:7px; border-radius:5px; color:#287594; }
.modern-grid td a:hover { background:#e5f3fc; }
.modern-grid td a[data-method="post"] { color:#aa453b; }
.modern-managed-actions { display:flex; flex-wrap:wrap; gap:12px; }
.modern-docs .doc-book { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.doc-book h2 { margin:0; color:#79572c; }
.doc-search { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.doc-search .form-group { flex:1 1 240px; margin:0; }
.doc-search label { display:block; margin-bottom:8px; }
.doc-tree { list-style:none; padding:0; margin:0; }
.doc-tree .doc-tree { padding:8px 0 0 18px; }
.doc-tree > li { border:1px solid #dbe8f1; border-radius:8px; margin:9px 0; overflow:hidden; background:#f8fbfe; }
.doc-tree-toggle,.doc-file-link { display:flex; align-items:center; gap:10px; width:100%; padding:13px 16px; color:#285a76; background:transparent; border:0; text-align:left; font:inherit; font-size:14px; overflow-wrap:anywhere; }
.doc-tree-toggle { font-weight:650; }
.doc-tree-toggle:hover,.doc-file-link:hover { background:#eaf5fd; color:#174664; text-decoration:none; }
.doc-tree-toggle .doc-chevron { margin-left:auto; transition:transform .18s; }
.doc-tree-toggle[aria-expanded="true"] .doc-chevron { transform:rotate(90deg); }
.doc-tree .collapse,.doc-tree .collapsing { padding-inline:12px; }
.doc-search-results { padding:0; list-style:none; }
.doc-search-results li { border-bottom:1px solid #e0ebf3; padding:12px 0; }
.doc-search-results small { display:block; color:#788795; font-size:12px; overflow-wrap:anywhere; }
.doc-links { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.doc-links a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px; border:1px solid #d6e5f0; border-radius:8px; background:#f7fbfe; color:#285a76; font-size:13px; overflow-wrap:anywhere; }
.doc-links a:hover { background:#eaf5fd; text-decoration:none; }
.doc-social { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:24px; }
.doc-social img { width:32px; height:32px; object-fit:contain; }
.doc-social .doc-github img { width:96px; height:auto; max-height:44px; }
@media(max-width:680px) { .modern-page { padding-top:8px; }.modern-page > h1,.modern-page > header h1 { font-size:31px; }.modern-card { padding:22px; }.modern-form-grid,.doc-links { grid-template-columns:1fr; }.modern-docs .doc-book { align-items:flex-start; flex-direction:column; }.modern-page .modern-managed-actions > .btn { width:100%; } }

.libraries-header { max-width:760px; margin-bottom:32px; }
.libraries-header > p:last-child { color:#587080; font-size:16px; }
.libraries-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.library-card { display:flex; flex-direction:column; align-items:flex-start; margin-bottom:0; padding:32px; border-top:4px solid #1680a9; }
.library-micropython { border-top-color:#7956a3; }
.library-heading { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.library-symbol { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:12px; background:#e8f6fa; color:#1680a9; font:bold 44px/1 system-ui,sans-serif; object-fit:contain; }
.library-micropython .library-symbol { padding:9px; background:#f1edf7; }
.library-format { font-size:11px; font-weight:700; letter-spacing:.08em; color:#587080; }
.library-card .library-description { margin-bottom:24px; color:#587080; }
.library-card > .btn { margin-top:0; }
.library-filename { display:block; max-width:100%; margin-top:10px; color:#607e93; font-size:12px; overflow-wrap:anywhere; }
.library-install { width:100%; margin-top:26px; padding-top:22px; border-top:1px solid #dbe8f1; }
.library-install h3 { margin:0 0 14px; font-size:17px; color:#285a76; }
.library-install ol { margin:0; padding-left:22px; color:#587080; font-size:14px; }
.library-install li { padding-left:5px; margin-bottom:12px; }
.library-guide { margin-top:12px; font-size:13px; font-weight:600; color:#087da5; }
.library-card .library-note { margin-top:12px; padding:14px; border-radius:8px; background:#f5f1fa; color:#65537a; font-size:12px; }
@media(max-width:760px) { .libraries-grid { grid-template-columns:1fr; }.library-card { padding:24px; }.library-card > .btn { width:100%; } }

.premium-header { margin-bottom:28px; }
.premium-header > p { color:#587080; font-size:16px; }
.premium-card-heading { display:flex; align-items:flex-start; gap:18px; margin-bottom:26px; }
.premium-card-heading > div { min-width:0; }
.premium-page .premium-card-heading h2 { margin:0 0 8px; font-size:23px; }
.premium-card-heading p { color:#587080; font-size:14px; }
.premium-page .premium-icon { display:flex; align-items:center; justify-content:center; flex:0 0 50px; height:50px; border-radius:12px; background:#fff5e5; color:#a57829; font-size:22px; }
.premium-access .form-group { margin-bottom:16px; }
.premium-export { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.premium-export .premium-card-heading { margin:0; }
.premium-export .premium-icon { background:#edf7fe; color:#1680a9; }
.premium-export > .btn { flex-shrink:0; }
@media(max-width:600px) { .premium-export { align-items:stretch; flex-direction:column; }.premium-card-heading { gap:14px; }.premium-page .premium-icon { flex-basis:42px; height:42px; font-size:19px; }.premium-page .modern-form-actions > .btn { width:100%; } }
