/* One Site interaction vocabulary, shared by React and HTML page families. */
/* Legacy guide documents do not load the Next.js icon foundation. */
@font-face{font-display:block;font-family:"Material Symbols Rounded";font-style:normal;font-weight:500;src:url("/site-assets/material-symbols-rounded-subset-20260830c.woff2") format("woff2")}
.material-symbols-rounded{direction:ltr;display:inline-block;font-family:"Material Symbols Rounded";font-feature-settings:"liga";font-style:normal;font-weight:500;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased}
.ss-account-slot{position:relative;flex-shrink:0;font-size:14px;line-height:1.4}.ss-account-slot a{color:inherit;text-decoration:none}.ss-account-menu>summary{cursor:pointer;list-style:none;border:1px solid var(--ss-color-border,#ded7ce);border-radius:999px;padding:10px 16px;white-space:nowrap}.ss-account-menu>summary::-webkit-details-marker{display:none}.ss-account-menu>summary::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#6d5ae6;margin-right:8px}.ss-account-menu-panel{position:absolute!important;z-index:120;top:calc(100% + 8px)!important;right:0!important;min-width:240px;max-width:min(320px,85vw);background:var(--ss-color-surface,#fffdfa);color:var(--ss-color-text,#2e2c2a);border:1px solid var(--ss-color-border,#ded7ce);border-radius:16px;padding:16px!important;display:grid!important;gap:8px!important;box-shadow:0 14px 40px #24190f1a}.ss-account-menu-panel a{display:block;padding:9px 4px}.ss-account-menu-panel small{overflow-wrap:anywhere}.ss-account-button,.ss-entity-actions button{font:inherit;line-height:1.25;cursor:pointer;color:var(--ss-color-text,#2e2c2a);background:var(--ss-color-surface,#fffdfa);border:1px solid var(--ss-color-border,#ded7ce);border-radius:999px;min-height:44px;padding:10px 18px;text-align:center;transition:background-color .12s ease}.ss-account-button:hover,.ss-entity-actions button:hover{background:var(--paper,#f7f3ed)}.ss-account-button:disabled,.ss-entity-actions button:disabled{opacity:.55;cursor:wait}.ss-account-primary{background:var(--ss-color-text,#2e2c2a);color:var(--ss-color-surface,#fffdfa);border-color:transparent}.ss-account-primary:hover{background:#47423c;color:#fffdfa}.ss-entity-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-block:14px}.ss-entity-actions button{font-size:14px;min-height:40px;padding:9px 16px}.ss-savable-card{min-width:0;display:flex;flex-direction:column}.ss-savable-card>a{flex:1}.ss-savable-card>.ss-entity-actions{margin:0;padding:12px 20px 18px}.ss-savable-card .indexDirectoryCard,.ss-savable-card .directoryProgramCard{height:auto}.ss-account-dialog{border:1px solid var(--ss-color-border,#ded7ce);background:var(--ss-color-surface,#fffdfa);color:var(--ss-color-text,#2e2c2a);border-radius:24px;box-shadow:0 28px 90px #211a1833;max-width:520px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;padding:32px;font-family:inherit}.ss-account-dialog::backdrop{background:#17151370}.ss-account-dialog h2{font-size:clamp(25px,4vw,34px);line-height:1.1;letter-spacing:-.03em;margin:16px 0}.ss-account-dialog h3{font-size:22px;line-height:1.2}.ss-account-dialog p{font-size:16px;line-height:1.55}.ss-account-close{display:block;margin-left:auto;padding:5px 10px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;min-height:36px}.ss-account-dialog form,.ss-account-create-list{display:grid;gap:12px;margin-block:24px}.ss-account-dialog label,.ss-account-create-list label{font-size:14px;font-weight:600}.ss-account-dialog input,.ss-account-create-list input{box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid var(--ss-color-border,#ded7ce);border-radius:10px;background:var(--paper,#fff);color:inherit;font:inherit;font-size:16px}.ss-account-dialog a,.ss-account-page .siteContentRail a{color:inherit;text-underline-offset:4px}.ss-account-muted{color:var(--muted,#6b625a);display:block}.ss-account-legal{font-size:12px!important}.ss-account-error{color:#9f3025!important;font-size:15px!important}.ss-account-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--ss-color-border,#ded7ce)}.ss-account-row>div{min-width:0;overflow-wrap:anywhere}.ss-account-row>div>a{font-size:18px;font-weight:600}.ss-account-row small{font-size:13px;margin-top:6px}.ss-account-row button{flex-shrink:0}.ss-account-page .siteContentRail{padding-block:20px 64px}.ss-account-page h1{font-size:clamp(36px,6vw,64px);line-height:1.1;overflow-wrap:anywhere}.ss-account-tabs{display:flex;gap:24px;flex-wrap:wrap;margin-block:24px 36px;border-bottom:1px solid var(--ss-color-border,#ded7ce);padding-bottom:16px}.ss-account-tabs a{padding:8px 0}.ss-account-tabs a[aria-current=page]{font-weight:700;text-decoration:underline}.ss-account-page [data-ss-account-view]>a{display:inline-block;margin:12px 20px 12px 0}.ss-account-page [data-ss-account-view]>button{display:block;margin-block:20px}.ss-account-page .ss-account-create-list{max-width:480px}.ss-account-toast{position:fixed;z-index:200;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);background:var(--ss-color-text,#2e2c2a);color:var(--ss-color-surface,#fffdfa);border-radius:16px;box-shadow:0 8px 32px #0002;padding:16px 22px;display:flex;align-items:center;gap:18px;font:500 15px/1.4 inherit}.ss-account-toast a{color:inherit!important;text-decoration:underline;white-space:nowrap}.ss-account-toast[hidden]{display:none}.ss-account-slot :focus-visible,.ss-entity-actions :focus-visible,.ss-account-dialog :focus-visible,.ss-account-page :focus-visible{outline:3px solid #497d64;outline-offset:3px}.ss-account-menu-panel .ss-account-button{width:100%}
@media(max-width:1100px){.desktopNav,.ss-unified-desktop-nav{gap:18px!important}}@media(max-width:640px){.ss-account-dialog{margin:auto 0 0;width:100%;max-width:none;max-height:90dvh;border-radius:24px 24px 0 0;padding:24px;box-sizing:border-box}.ss-account-row{gap:12px}.ss-account-row>div>a{font-size:16px}.ss-account-toast{bottom:16px;flex-wrap:wrap;gap:8px}.ss-account-menu-panel{position:static!important;min-width:0;margin-top:8px;box-shadow:none}.ss-account-tabs{gap:18px}}

.ss-account-mobile{display:none}@media(max-width:940px){.ss-account-mobile{display:block;margin-left:auto;margin-right:12px}.ss-account-mobile .ss-account-menu-panel{position:absolute!important;right:0!important;top:calc(100% + 8px)!important;min-width:230px}.ss-account-mobile summary{font-size:13px;padding:10px 12px}}
/* Legacy headers keep Saved, Account, and the menu visible on narrow screens. */
.ss-account-menu:not([open])>.ss-account-menu-panel,.siteHeader>.mobileNav:not([open])>nav{display:none!important}
@media(max-width:640px){.siteHeader:has(>.ss-account-mobile)>.wordmarkLink{font-size:clamp(18px,5.5vw,28px)}.siteHeader>.ss-account-mobile{flex-shrink:0;margin-right:6px}.siteHeader>.mobileNav{flex-shrink:0;width:44px}.siteHeader>.mobileNav>summary{width:44px;height:44px}}
@media(max-width:940px){
  .siteHeader>.mobileNav>nav{position:absolute;z-index:120;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 32px));box-sizing:border-box;display:grid;gap:8px;padding:16px;background:var(--ss-color-surface,#fffdfa);color:var(--ss-color-text,#2e2c2a);border:1px solid var(--ss-color-border,#ded7ce);border-radius:16px;box-shadow:0 14px 40px #24190f1a}
  .siteHeader>.mobileNav>nav>.navLink{display:block;padding:12px}
  .siteHeader>.mobileNav>nav>.button{box-sizing:border-box;width:100%;white-space:normal;text-align:center}
  .siteHeader>.mobileNav>nav>.ss-account-slot{display:none}
}
.ss-account-page .siteContentRail>.breadcrumbs{width:auto;margin-inline:0;padding-inline:0}

.ss-account-code{letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:24px!important;text-align:center}.ss-account-dialog-content>button{margin:0 8px 12px 0}.ss-account-close{min-height:44px;min-width:44px}

/* Save and Follow are the leading detail actions below Pro. */
.ss-account-slot{display:flex;align-items:center;gap:14px}.ss-account-slot>a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.ss-entity-actions[hidden],.ss-entity-actions button[hidden]{display:none!important}.ss-entity-actions button{min-height:44px;font-size:15px;padding:11px 20px;font-weight:600}/* Follow leads when available; Save remains a quiet cream control in every state. */
.ss-entity-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ss-entity-actions .material-symbols-rounded{font-size:20px;line-height:1;flex-shrink:0;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20}
.ss-entity-actions button[data-ss-account-action=save]{background:var(--cream,#fcf6ef);color:var(--ink,#2e2c2a);border-color:var(--hairline,#e9dfd2)}
.ss-entity-actions button[data-ss-account-action=save]:hover{background:var(--warm-tint,#f6ede2)}
/* Keep the brand-purple fill in both themes: white text clears 4.5:1. */
.ss-entity-actions button[data-ss-account-action=follow],.ss-account-primary{background:#6d5ae6;color:#fff;border-color:#6d5ae6}
.ss-entity-actions button[data-ss-account-action=follow]:hover,.ss-account-primary:hover{background:#5946d1;color:#fff;border-color:#5946d1}
.ss-account-slot :focus-visible,.ss-entity-actions :focus-visible,.ss-account-dialog :focus-visible,.ss-account-page :focus-visible,.ss-account-toast :focus-visible{outline:3px solid #8b7ade;outline-offset:3px}.ss-account-toast-action{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer;min-height:44px}.ss-account-toast{flex-wrap:wrap}.ss-account-row>div:first-child{flex:1}.ss-account-row{flex-wrap:wrap}.ss-account-tabs a{min-height:44px;display:inline-flex;align-items:center}.ss-account-close{min-width:44px}.entityHeroBody:has(.ss-entity-actions) .heroActions{gap:24px}

@media(max-width:640px){.ss-account-row{gap:10px}.ss-account-row>div:first-child{flex-basis:100%}.ss-account-toast{max-height:40dvh;overflow:auto}.ss-account-slot{gap:10px}}

.ss-account-dialog .ss-account-muted,.ss-account-page .ss-account-muted{color:#6c625c}.ss-account-legal a{text-decoration:underline}.ss-account-dialog .ss-account-legal{font-size:13px!important}.programHeroGrid:has(.ss-entity-actions) .sidebarActions>.button{background:transparent;border-color:transparent;color:var(--ss-color-text,#2e2c2a);text-decoration:underline;text-underline-offset:4px;padding-inline:0;box-shadow:none}
:root[data-theme=dark] .ss-account-dialog .ss-account-muted,:root[data-theme=dark] .ss-account-page .ss-account-muted{color:#c5bdb5}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ss-account-dialog .ss-account-muted,:root:not([data-theme=light]) .ss-account-page .ss-account-muted{color:#c5bdb5}}

.ss-account-button[hidden],.ss-account-page [hidden]{display:none!important}

.ss-account-page h1{font-size:clamp(32px,5vw,52px)}.ss-account-collection-meta{display:flex;align-items:center;gap:20px;margin-bottom:12px}.ss-account-text-button{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer;min-height:44px;padding:8px}

:root[data-theme=dark] .ss-account-error{color:#f0a89e!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ss-account-error{color:#f0a89e!important}}

.ss-account-note-form textarea{box-sizing:border-box;width:100%;min-height:160px;resize:vertical;padding:14px;border:1px solid var(--hairline,#e9dfd2);border-radius:12px;background:var(--cream,#fcf6ef);color:var(--ink,#2e2c2a);font:inherit;line-height:1.6}.ss-account-note-form label{display:block;font-weight:600;margin:16px 0 8px}.ss-account-note-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ss-account-note-preview{white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0 0}.ss-account-row>div:first-child{min-width:0}

/* Stable controls and native dialog motion. State changes must not move adjacent actions. */
.ss-entity-actions button { transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.ss-entity-actions button[data-ss-account-action=follow] { width: 140px; flex-shrink: 0; }
.ss-entity-actions button[data-ss-account-action=save] { width: 112px; flex-shrink: 0; }
.ss-entity-actions button:active { transform: scale(.97); }
.ss-entity-actions button[aria-disabled=true] { cursor: progress; }
.ss-entity-actions button[aria-pressed=true] .material-symbols-rounded { font-variation-settings: 'FILL' 1; }
.ss-account-dialog[open] { animation: account-dialog-enter 180ms ease-out; }
.ss-account-dialog[open]::backdrop { animation: account-backdrop-enter 180ms ease-out; }
@keyframes account-dialog-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes account-backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .ss-entity-actions button { transition: none; }
  .ss-entity-actions button:active { transform: none; }
  .ss-account-dialog[open], .ss-account-dialog[open]::backdrop { animation: none; }
}
