.python-book-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:20px;
}
.python-download{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border:1px solid var(--book-color,#5ee7a5);
  border-radius:10px;
  background:rgba(94,231,165,.12);
  color:var(--book-color,#5ee7a5);
  text-decoration:none;
  font-weight:700;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.python-download:hover{
  transform:translateY(-2px);
  background:rgba(94,231,165,.2);
  box-shadow:0 12px 28px rgba(15,90,62,.28);
}
.python-download span{
  padding:3px 7px;
  border-radius:999px;
  background:rgba(94,231,165,.16);
  font-size:10px;
  letter-spacing:.04em;
}
.python-edition{
  color:var(--muted,#7fa38e);
  font-size:11px;
}
.python-reader-controls{
  position:sticky;
  top:66px;
  z-index:20;
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  align-items:center;
  gap:10px;
  margin:18px 0 14px;
  padding:10px;
  border:1px solid rgba(94,231,165,.28);
  border-radius:12px;
  background:rgba(5,24,18,.94);
  box-shadow:0 12px 35px rgba(0,0,0,.24);
  backdrop-filter:blur(14px);
}
.python-reader-controls.is-bottom{
  position:static;
  margin-top:14px;
}
.python-reader-controls.searching{
  opacity:.55;
  pointer-events:none;
}
.python-reader-controls button,
.python-reader-controls select{
  min-height:38px;
  border:1px solid rgba(94,231,165,.28);
  border-radius:8px;
  background:#0b2a20;
  color:#d8ffe9;
  font:inherit;
}
.python-reader-controls button{
  padding:8px 12px;
  cursor:pointer;
}
.python-reader-controls button:hover:not(:disabled){
  border-color:#5ee7a5;
  color:#5ee7a5;
}
.python-reader-controls button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.python-reader-controls label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  color:var(--muted,#7fa38e);
  font-size:11px;
}
.python-reader-controls select{
  width:100%;
  padding:7px 30px 7px 9px;
}
.python-reader-controls [data-python-counter]{
  min-width:92px;
  color:#5ee7a5;
  text-align:center;
  font-size:11px;
  font-weight:700;
}
.python-paginated .iatn-lib-section.python-page-hidden{
  display:none;
}
.python-paginated .iatn-lib-section{
  min-height:540px;
  scroll-margin-top:130px;
}
.python-module-label{
  display:inline-flex;
  margin:0 0 12px;
  padding:5px 8px;
  border:1px solid rgba(94,231,165,.24);
  border-radius:999px;
  color:#5ee7a5;
  background:rgba(94,231,165,.08);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.python-objective{
  padding:12px 14px;
  border-left:3px solid #5ee7a5;
  background:rgba(94,231,165,.08);
}
.python-challenge{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(169,139,255,.34);
  border-radius:9px;
  background:rgba(169,139,255,.08);
  line-height:1.65;
}
.iatn-lib-toc a.is-current{
  border-color:#5ee7a5;
  background:rgba(94,231,165,.13);
  color:#5ee7a5;
}
[data-theme="claro"] .python-reader-controls{
  background:rgba(246,252,249,.95);
  border-color:rgba(15,110,86,.25);
}
[data-theme="claro"] .python-reader-controls button,
[data-theme="claro"] .python-reader-controls select{
  background:#fff;
  color:#14392d;
  border-color:rgba(15,110,86,.25);
}
[data-theme="claro"] .python-reader-controls [data-python-counter],
[data-theme="claro"] .python-module-label{
  color:#0f6e56;
}
@media(max-width:760px){
  .python-reader-controls{
    top:58px;
    grid-template-columns:1fr 1fr;
  }
  .python-reader-controls label{
    grid-column:1/-1;
    grid-row:1;
  }
  .python-reader-controls [data-python-counter]{
    grid-column:1/-1;
    grid-row:2;
  }
  .python-reader-controls button{
    grid-row:3;
  }
  .python-paginated .iatn-lib-section{
    min-height:0;
  }
}
@media print{
  .python-reader-controls,
  .python-book-actions,
  .iatn-reading-progress{
    display:none!important;
  }
  .python-paginated .iatn-lib-section.python-page-hidden{
    display:block;
  }
}
