/* D core: opt-in class only. No layout, route, transform or business state. */
.vp-control {
  --control-ink:#193e2f; --control-paper:#f7f4eb; --control-line:#81927c;
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  gap:8px; min-width:44px; min-height:44px; padding:10px 16px;
  border:1px solid var(--control-line); border-radius:4px;
  background:var(--control-paper); color:var(--control-ink);
  font:500 15px/1.5 system-ui,-apple-system,"PingFang TC",sans-serif;
  text-decoration:none; cursor:pointer; touch-action:manipulation;
  box-shadow:inset 0 1px #fff9,0 1px 1px #193e2f12;
  transition:background-color 140ms ease-out,box-shadow 140ms ease-out,border-color 140ms ease-out;
}
.vp-control[data-variant="primary"] { background:#193e2f; color:#f7f4eb; border-color:#193e2f; box-shadow:inset 0 1px #ffffff26,0 1px 2px #193e2f33; }
.vp-control[data-variant="quiet"] { background:transparent; border-color:transparent; box-shadow:none; text-decoration:underline; text-underline-offset:4px; }
.vp-control[aria-pressed="true"],.vp-control[aria-current="page"],.vp-control[aria-selected="true"] {
  background:#e1e7d8; color:#193e2f; border-color:#36593e;
  box-shadow:inset 0 -3px #36593e,inset 0 1px #fff9;
}
@media(hover:hover) {
  .vp-control:not(:disabled):hover { background:#e9ecdf; }
  .vp-control[data-variant="primary"]:not(:disabled):hover { background:#294f3a; }
}
.vp-control:not(:disabled):active { background:#dbe2cf; border-color:#36593e; box-shadow:inset 0 2px 4px #193e2f40; }
.vp-control[data-variant="primary"]:not(:disabled):active { background:#102e21; box-shadow:inset 0 2px 4px #0006; }
.vp-control:focus-visible { outline:3px solid #8d4148; outline-offset:3px; }
.vp-control:disabled { background:#eeebdf; color:#66705f; border-color:#adb4a3; box-shadow:none; cursor:default; opacity:1; }
@media(prefers-reduced-motion:reduce) { .vp-control { transition:none; } }
@media(forced-colors:active) {
  .vp-control { border-color:ButtonText; box-shadow:none; }
  .vp-control[aria-pressed="true"],.vp-control[aria-current="page"],.vp-control[aria-selected="true"] { outline:2px solid Highlight; outline-offset:-4px; }
  .vp-control:focus-visible { outline:3px solid Highlight; outline-offset:3px; }
  .vp-control:disabled { color:GrayText; border-color:GrayText; }
}

/* Preview adapters preserve the accepted layout, typography and cover pivot. */
:is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) :is(.vp-button, .vp-link) {
  touch-action:manipulation;
  min-width:44px; min-height:44px;
  transition:background-color 140ms ease-out,box-shadow 140ms ease-out,border-color 140ms ease-out;
}
:is(.vp-shell, #vpDialog, .vp-turning-leaf) .vp-button:hover { transform:none; }
:is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) .vp-button:where(:not(.is-outline)) {
  background:#193e2f; color:#f7f4eb; border-color:#193e2f;
  box-shadow:inset 0 1px #ffffff26,0 1px 2px #193e2f33;
}
:is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) .vp-button:where(.is-outline) {
  background:#f7f4eb; color:#193e2f; border:1px solid #81927c;
  box-shadow:inset 0 1px #fff9,0 1px 1px #193e2f12;
}
:is(.vp-shell, #vpDialog, .vp-turning-leaf) .vp-link {
  display:inline-flex; align-items:center; justify-content:center;
  color:#193e2f; text-decoration:underline; text-underline-offset:4px;
  background:transparent;
}
@media(hover:hover) {
  :is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) .vp-button:where(:not(:disabled)):hover { background:#294f3a; }
  :is(.vp-shell, #vpDialog, .vp-turning-leaf) .vp-button:where(.is-outline:not(:disabled)):hover { background:#e9ecdf; }
}
/* Feedback for existing tabs, return, paging and icon controls, without new padding. */
:is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) :is(button, .vp-link):where(:not(:disabled):not(#vpCoverBook)):active {
  box-shadow:inset 0 2px 4px #193e2f40;
}
:is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) .vp-button:where(:not(:disabled)):active { background:#102e21; }
:is(.vp-shell, #vpDialog, .vp-turning-leaf) .vp-button:where(.is-outline:not(:disabled)):active { background:#dbe2cf; }
:is(.vp-shell, #vpDialog, .vp-turning-leaf) .vp-link:where(:not(:disabled)):active { background:#dbe2cf; }
:is(.vp-shell, .vp-turning-leaf) button:where([aria-pressed="true"], [aria-current="page"]) {
  background:#e1e7d8; color:#193e2f; border-color:#36593e;
  box-shadow:inset 0 -3px #36593e,inset 0 1px #fff9;
}
:is(.vp-shell, #vpDialog, #vpCover) :is(button, a, input, select, summary):focus-visible {
  outline:3px solid #8d4148; outline-offset:3px;
}
/* These controls sit against scroll/clip boundaries; draw their ring inside. */
:is(.vp-shell, #vpDialog) :is(.vp-stage-track button, #vpNav button, .vp-close):focus-visible { outline-offset:-3px; }
:is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) button:disabled {
  background:#eeebdf; color:#66705f; border-color:#adb4a3;
  box-shadow:inset 0 0 0 1px #adb4a3; cursor:default; opacity:1;
}
.vp-checkbox { min-height:44px; align-items:center; }
.vp-checkbox input { margin-top:0; }
.vp-action-status { min-height:1.5em; font-size:13px; color:var(--muted); }
@media(prefers-reduced-motion:reduce) {
  :is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) :is(button, .vp-link) { transition:none; }
}
@media(forced-colors:active) {
  :is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) :is(button, .vp-link) { border-color:ButtonText; box-shadow:none; }
  :is(.vp-shell, .vp-turning-leaf) button:where([aria-pressed="true"], [aria-current="page"]) { outline:2px solid Highlight; outline-offset:-4px; }
  :is(.vp-shell, #vpDialog, #vpCover) :is(button, a, input, select, summary):focus-visible { outline-color:Highlight; }
  :is(.vp-shell, #vpDialog, #vpCover, .vp-turning-leaf) button:disabled { color:GrayText; border-color:GrayText; }
}
