/* Native workshop controls share Bootstrap's button variables and state vocabulary. */
.site-page :is(.btn-outline-secondary,.workshop button,.workshop .button):not(:where(.text-action)) {
  --bs-btn-color:var(--lounge-heading);
  --bs-btn-bg:#43503d;
  --bs-btn-border-color:var(--lounge-line);
  --bs-btn-hover-color:var(--lounge-heading);
  --bs-btn-hover-bg:#56634a;
  --bs-btn-hover-border-color:rgba(199,210,164,.45);
  --bs-btn-active-color:var(--lounge-heading);
  --bs-btn-active-bg:#394532;
  --bs-btn-active-border-color:var(--lounge-sage);
  --bs-btn-disabled-color:var(--lounge-muted);
  --bs-btn-disabled-bg:#35412f;
  --bs-btn-disabled-border-color:var(--lounge-line);
  --bs-btn-focus-shadow-rgb:162,178,129;
}

/* Primary: the pale sage action used for creating work, signing in, and sending. */
.site-page :is(.btn-primary,.workshop .button) {
  --bs-btn-color:#233127;
  --bs-btn-bg:var(--lounge-sage);
  --bs-btn-border-color:#b4c096;
  --bs-btn-hover-color:var(--lounge-heading);
  --bs-btn-hover-bg:#56634a;
  --bs-btn-hover-border-color:#dae1c1;
  --bs-btn-active-color:var(--lounge-heading);
  --bs-btn-active-bg:#394532;
  --bs-btn-active-border-color:#aeb98e;
  --bs-btn-disabled-color:#394532;
  --bs-btn-disabled-bg:var(--lounge-sage);
  --bs-btn-disabled-border-color:#b4c096;
  --bs-btn-focus-shadow-rgb:162,178,129;
  font-weight:600;
}
.site-page :is(.btn,.workshop button,.workshop .button):not(:where(.text-action)) {
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  padding:var(--bs-btn-padding-y,.45rem) var(--bs-btn-padding-x,.8rem);
  color:var(--bs-btn-color); background-color:var(--bs-btn-bg);
  background-image:linear-gradient(180deg,var(--lounge-glaze),transparent);
  border:1px solid var(--bs-btn-border-color); border-radius:var(--bs-btn-border-radius,.4rem);
  font-family:var(--bs-font-sans-serif); font-size:var(--bs-btn-font-size,.875rem); line-height:var(--bs-btn-line-height,1.5);
  box-shadow:inset 0 1px 0 var(--lounge-glaze); text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.site-page :is(.btn,.workshop button,.workshop .button):not(:where(.text-action)):hover { color:var(--bs-btn-hover-color); background-color:var(--bs-btn-hover-bg); border-color:var(--bs-btn-hover-border-color); }
.site-page :is(.btn,.workshop button,.workshop .button):not(:where(.text-action)):is(:active,.active) { color:var(--bs-btn-active-color); background-color:var(--bs-btn-active-bg); border-color:var(--bs-btn-active-border-color); }
.site-page :is(.btn,.workshop button,.workshop .button):not(:where(.text-action)):focus-visible { outline:1px solid var(--lounge-focus); outline-offset:2px; box-shadow:none; }
.site-page :is(.btn-primary,.workshop .button):focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) { color:var(--lounge-heading); background-color:var(--bs-btn-hover-bg); }
.site-page :is(.btn,.workshop button,.workshop .button):not(:where(.text-action)):is(:disabled,.disabled,[aria-disabled="true"]) { color:var(--bs-btn-disabled-color); background-color:var(--bs-btn-disabled-bg); border-color:var(--bs-btn-disabled-border-color); opacity:.5; }

/* Account actions retain their glaze; dock navigation uses only icon light. */
.site-page :is(.btn.lounge-action,.writing-dock button) {
  border:1px solid transparent; border-radius:.7rem;
  color:#bac5ae; background:transparent; box-shadow:none; text-decoration:none;
}
.site-page .btn.lounge-action:is(:hover,:focus-visible,:active,[aria-current="page"],[aria-expanded="true"]) {
  color:var(--lounge-heading); background:linear-gradient(145deg,rgba(192,201,151,.13),rgba(61,81,49,.22));
  border-color:rgba(185,197,151,.32); box-shadow:none; text-decoration:none;
}
.site-page :is(.btn.lounge-action,.writing-dock button):focus-visible { outline:1px solid var(--lounge-focus); outline-offset:2px; }
.site-page :is(.btn.lounge-action,.writing-dock button) svg { width:1.3rem; height:1.3rem; fill:none; stroke:currentColor; stroke-width:1.4; flex-shrink:0; }

/* Tertiary: quiet text actions remain distinct from glazed secondary buttons. */
.site-page .workshop .actions a:not(.btn):not(.button) {
  --bs-btn-bg:transparent; --bs-btn-border-color:transparent;
  --bs-btn-hover-bg:transparent; --bs-btn-hover-border-color:transparent;
  color:var(--lounge-text); background:transparent; border-color:transparent; box-shadow:none;
  padding:.35rem .15rem; font-family:var(--bs-font-sans-serif); font-size:.875rem;
}
.site-page .workshop .actions a:not(.btn):not(.button):hover { color:var(--lounge-heading); text-decoration:underline; text-underline-offset:.2em; }
.site-page .workshop .actions a:not(.btn):not(.button)::after { content:" →"; }
.site-page .workshop form > button.button::before { content:"+"; font-size:1.15em; line-height:1; }

/* Fields use darker inset surfaces while preserving native form behavior. */
.site-page .workshop :is(input,textarea,select) { background:rgba(23,36,27,.88); color:var(--lounge-heading); border-color:var(--lounge-line); border-radius:.4rem; box-shadow:inset 0 1px 0 var(--lounge-glaze); font-family:var(--bs-font-sans-serif); }
.site-page .workshop :is(input,textarea)::placeholder { color:var(--lounge-muted); opacity:.85; }
.site-page :is(input,textarea,select,[contenteditable=true]):focus { outline:1px solid var(--lounge-focus); outline-offset:1px; border-color:var(--lounge-focus); box-shadow:none; }
/* Writing fields use one quiet edge; an outside outline doubles it and is clipped in page viewports. */
.site-page main :is(.writing-workspace,.workshop) textarea.form-control { box-sizing:border-box; max-width:100%; border:1px solid #9ba58c26; outline:0!important; box-shadow:none!important; scrollbar-width:thin; scrollbar-color:#9ca88a66 transparent; }
.site-page main :is(.writing-workspace,.workshop) textarea.form-control:is(:focus,:focus-visible) { border-color:#a58b5266; outline:0!important; box-shadow:none!important; }
.site-page textarea.form-control::-webkit-scrollbar { width:5px; height:5px; }
.site-page textarea.form-control::-webkit-scrollbar-thumb { background:#9ca88a66; border-radius:5px; }
.site-page textarea.form-control::-webkit-scrollbar-track { background:transparent; }
.site-page .workshop select option { background:#29372d; color:var(--lounge-heading); }

@media (prefers-reduced-motion:reduce) { .site-page :is(.btn,.workshop button,.workshop .button):not(:where(.text-action)) { transition:none; } }

/* Shared metadata-style actions belong to every reader and Commons surface. */
.site-page :is(button,a,summary).text-action{display:inline-flex;align-items:center;justify-content:flex-end;align-self:flex-end;min-height:44px;padding:.4rem .15rem;border:0;border-radius:0;box-shadow:none;background:transparent;background-image:none;color:var(--lounge-muted);font:.875rem/1.4 var(--bs-font-sans-serif);cursor:pointer;text-align:right;transition:color .15s,text-shadow .15s}
.site-page :is(button,a,summary).text-action::before{display:none}
.site-page :is(button,a,summary).text-action:is(:hover,:focus-visible,:active){color:var(--lounge-heading);background:transparent;border:0;box-shadow:none;text-shadow:0 0 .75rem #e8dfac80;outline:0}
.site-page :is(button,a,summary).text-action:focus-visible{text-decoration:underline;text-underline-offset:.3em}
.site-page :is(button,a,summary).text-action:disabled{opacity:.5;cursor:default}
.site-page .text-action svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0;margin-right:.3rem}
