/* Native forms and server-rendered controls, layered over the retained design. */
.python-action{display:inline-flex;align-items:center;margin:0;max-width:100%}
.python-action button,.python-button,.python-pagination a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid var(--line,#34404a);background:var(--surface,#17212b);color:var(--text,#eee9df);border-radius:4px;cursor:pointer;font:inherit;line-height:1.8;text-decoration:none}
.python-action button:hover,.python-button:hover{border-color:var(--gold,#dfc184)}
.python-menu{display:none}.python-menu>summary{display:none}.python-menu>nav,.python-menu>.header-actions{visibility:visible!important}
.python-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;width:100%;padding-block:16px}
.python-filters label{display:grid;gap:6px}.python-filters select{min-width:130px;background:var(--surface,#17212b);color:inherit;padding:8px;border:1px solid var(--line,#34404a);font:inherit}
form.compact-search:has(.python-filters){display:flex;flex-wrap:wrap}.compact-search input{flex:1;min-width:180px}
.python-grid .card{display:flex;flex-direction:column;min-width:0}.python-grid .card-link{display:block;flex:1;text-decoration:none;color:inherit}.card-body{padding:18px}.card-body h2{font-size:23px;line-height:1.6}.card-art img{width:100%;height:100%;object-fit:cover}.card>.python-action{padding:0 18px 18px}.card .english-name{font-size:14px}
.python-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-block:24px}
.python-gallery img{display:block;max-width:100%;max-height:75vh;height:auto;margin:auto;object-fit:contain}.python-gallery figcaption{line-height:2;margin-block:16px}
.gallery-open{display:block;text-decoration:none;color:inherit}.reading-bookmark{margin-block:16px}.reading-bookmark button{font-size:13px;opacity:.8}
.note-panel textarea{display:block;width:100%;min-height:90px;margin-block:12px;padding:12px;background:#111b27;color:#eee9df;border:1px solid #34404a;font:inherit}
.dossier-tools .python-action button{width:100%}.dossier-tools .python-action{width:100%}
.dossier-toc{display:block!important}.atlas-grid .atlas-region[hidden]{display:none!important}
.python-atlas-list{grid-template-columns:1fr!important}.python-atlas-list .atlas-region ul{display:flex;flex-wrap:wrap;gap:16px}.atlas-map-viewport{overflow:auto}.atlas-zoom-controls a{margin-inline:4px}
.topbar .header-actions .spoiler-switch{padding:0;border:0}.topbar .header-actions .spoiler-switch button{font-size:12px;padding:5px 9px}
.hero-search button{cursor:pointer}.era-line,.era-nav{display:flex;flex-wrap:wrap;gap:14px}.mini-place-list a{display:block;padding:10px}
@media(max-width:900px){.header-inner{align-items:center!important}.python-desktop-control{display:none!important}.python-menu{display:block;margin-inline-start:auto}.python-menu>summary{display:block;cursor:pointer;padding:12px;border:1px solid var(--line,#34404a)}.python-menu:not([open])>nav,.python-menu:not([open])>.header-actions{display:none!important}.python-menu[open]{flex-basis:100%}.python-menu[open]>nav{display:flex!important;position:static!important;transform:none!important;flex-wrap:wrap!important;gap:16px;padding:14px 0;background:transparent!important}.python-menu[open]>.header-actions{display:flex!important;flex-wrap:wrap;position:static!important;padding:8px 0}.python-filters label{flex:1;min-width:130px}.python-filters select{width:100%}.dossier-tools{display:flex;flex-wrap:wrap}.python-grid .card-art{height:230px}}
@media(max-width:600px){.python-grid{grid-template-columns:1fr!important}.python-action button{font-size:14px}.compact-search{flex-wrap:wrap}.python-pagination a{flex:1}.python-grid .card-art{height:270px}}
@media print{.python-action,.python-menu,.python-filters,.python-pagination,.compact-search{display:none!important}}

/* One shared navigation, controlled by the native details disclosure. */
.python-navigation{display:contents}
@media(max-width:900px){
.python-navigation,.python-navigation.native-navigation{display:block;margin-inline-start:auto}
.python-navigation:has(>.python-menu[open]){flex-basis:100%}
.python-navigation>.python-menu{margin:0}
.python-navigation:not(:has(>.python-menu[open]))>.nav,.python-navigation:not(:has(>.python-menu[open]))>.header-actions{display:none!important}
.python-navigation:has(>.python-menu[open])>.nav{display:flex!important;position:static;transform:none;flex-wrap:wrap;gap:16px;padding:14px 0;visibility:visible!important}
.python-navigation:has(>.python-menu[open])>.header-actions{display:flex!important;flex-wrap:wrap;padding:8px 0;visibility:visible!important}
}
