/* Opt-in operational patterns. Load after character styles; all classes are namespaced. */
.ds-action-menu{position:relative;display:inline-block;max-width:100%}
.ds-action-menu>summary{list-style:none;cursor:pointer;user-select:none;min-height:var(--ds-target)}
.ds-action-menu>summary::-webkit-details-marker{display:none}
.ds-action-menu>summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.ds-action-menu[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}
.ds-action-panel{position:absolute;z-index:45;top:calc(100% + 6px);left:0;width:var(--ds-menu-width);max-width:calc(100vw - 32px);max-height:min(70vh,560px);overflow:auto;padding:8px;display:grid;gap:6px;background:var(--card,var(--ds-surface));border:1px solid var(--line,var(--ds-border));border-radius:var(--ds-radius);box-shadow:var(--ds-shadow-menu)}
.ds-action-menu.ds-align-right .ds-action-panel{left:auto;right:0}
.ds-action-panel .btn,.ds-action-panel .qa{width:100%;min-height:var(--ds-target);justify-content:flex-start;text-align:left;white-space:normal}
.ds-action-panel .qa{margin:0}
.ds-action-panel .ds-menu-label{padding:5px 8px 2px;color:var(--ink3,var(--ds-ink-quiet));font-size:var(--ds-text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ds-collection-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:var(--ds-target);margin-top:8px;padding:8px 12px;border:1px dashed var(--line2,var(--ds-border-strong));border-radius:8px;background:var(--card,var(--ds-surface));color:var(--ink2,var(--ds-ink-quiet));font-weight:600;cursor:pointer}
.ds-collection-toggle:hover{background:var(--sunk,var(--ds-surface-quiet));color:var(--ink,var(--ds-ink))}
.ds-project-menu{display:none;position:relative;margin:16px 0}
.ds-project-menu>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--ds-target-touch);padding:10px 14px;border:1px solid var(--line2,var(--ds-border-strong));border-radius:var(--ds-radius);background:var(--card,var(--ds-surface));font-weight:700;cursor:pointer}
.ds-project-menu>summary::-webkit-details-marker{display:none}
.ds-project-menu>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.ds-project-menu[open]>summary::after{transform:rotate(225deg);translate:0 3px}
.ds-project-links{display:grid;gap:4px;margin-top:6px;padding:6px;border:1px solid var(--line,var(--ds-border));border-radius:var(--ds-radius);background:var(--card,var(--ds-surface));box-shadow:var(--ds-shadow-menu)}
.ds-project-links a{display:flex;align-items:center;gap:6px;min-height:var(--ds-target-touch);padding:9px 10px;border-radius:7px;color:var(--ink2,var(--ds-ink-quiet));text-decoration:none}
.ds-project-links a[aria-current="page"]{background:var(--sunk,var(--ds-surface-quiet));color:var(--ink,var(--ds-ink));font-weight:700}
.ds-version-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ds-version-actions>.ds-action-menu{margin-left:auto}
.ds-primary-action{min-height:var(--ds-target)}
@media(max-width:640px){
  .ds-project-menu{display:block}
  .tabs.ds-desktop-tabs{display:none}
  .ds-primary-action{min-height:var(--ds-target-touch)}
  .ds-action-panel .btn,.ds-action-panel .qa,.ds-collection-toggle,.ds-version-actions>.btn,.ds-version-actions>.ds-action-menu>summary{min-height:var(--ds-target-touch)}
  .ds-version-actions>.ds-action-menu{margin-left:0}
}
@media(prefers-reduced-motion:no-preference){.ds-action-menu>summary,.ds-project-menu>summary,.ds-collection-toggle{transition:background .15s,border-color .15s}}
