:root{--ui-bg:#f5f3ed;--ui-text:#101214;--ui-muted:#555b63;--ui-border:#b9b8b3;--ui-panel:#eceae4;--action-bg:#101214;--action-text:#fff;--attention:#b2161b;--attention-bg:#e322260c;color-scheme:light}
html[data-theme="dark"]{--ui-bg:#171a1e;--ui-text:#f5f3ed;--ui-muted:#bec3ca;--ui-border:#50565e;--ui-panel:#22262c;--action-bg:#f5f3ed;--action-text:#101214;--attention:#ff9699;--attention-bg:#e3222615;color-scheme:dark}
body{background:var(--ui-bg);color:var(--ui-text)}
:is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--ui-text);outline-offset:4px}
/* Everyday navigation and actions use the contrast chosen by the visitor. */
.button,.button.light,.account-form .button,#unsubscribe,.auth-tabs button.active,.filters button.active,html[data-theme="dark"] .filters button.active{background:var(--action-bg);color:var(--action-text);border-color:var(--action-bg)}
.button:hover,.button.light:hover,.account-form .button:hover,#unsubscribe:hover{background:var(--action-bg);color:var(--action-text);box-shadow:inset 0 0 0 2px var(--action-text)}
.small-button,.theme-toggle,.auth-tabs button,.filters button{color:var(--ui-text);border-color:var(--ui-border)}
.small-button:hover,.theme-toggle:hover{background:var(--ui-panel)}
header nav a:hover,.text-link,.top-contact,.quick-login,em{color:inherit}
.profile-action b,.round-link,.youtube-hero strong span{color:inherit}.tag,.event-kind,.module-number{color:var(--ui-text)}
.content-page nav a[aria-current=page],.home-short nav a[aria-current=page]{color:var(--ui-text);border-bottom-color:var(--ui-text)}
.path-card{border-top-color:var(--ui-text)}.path-card small,.path-card>span{color:var(--ui-text)}
.path-card:hover{background:var(--action-bg);color:var(--action-text)}.path-card:hover small,.path-card:hover>span{color:var(--action-text)}
.path-gold{border-top-color:#b79445}.path-gold small,.path-gold>span{color:#a17e31}
.home-connect{background:var(--ui-panel);color:var(--ui-text);border-block:1px solid var(--ui-border)}
.hero-art,.association{background:var(--ui-panel);color:var(--ui-text)}.hero-art:before{border-color:var(--ui-border)}.hero-art .net{background-image:linear-gradient(#8882 1px,transparent 1px),linear-gradient(90deg,#8882 1px,transparent 1px)}.court-label,.art-bottom,.association em{color:var(--ui-text)}.ajf-mark{border-color:var(--ui-text)}
.portal-sidebar,.portal-area-menu{background:var(--ui-bg);color:var(--ui-text)}
.portal-menu-button,.portal-area-menu a[aria-current="page"],.portal-subnav a[aria-current="page"],body:has(#ct-needs-module.is-current,#ct-suggestions-module.is-current) .portal-menu-button{background:var(--action-bg);color:var(--action-text);border-color:var(--action-bg)}
.portal-area-menu a:hover{color:var(--ui-text);background:var(--ui-panel)}
.portal-area-menu a[aria-current="page"]:hover{color:var(--action-text);background:var(--action-bg)}
.portal-home-card{border-top-color:var(--ui-text)}.portal-card-arrow,.portal-routed .dashboard-head .account-role{color:var(--ui-text)}
.portal-home-card:is([href="#ct-needs-module"],[href="#ct-suggestions-module"]){border-color:var(--ui-border);border-top-color:var(--ui-text);background:transparent}
.portal-home-card:is([href="#ct-needs-module"],[href="#ct-suggestions-module"]) strong,html[data-theme="dark"] .portal-home-card:is([href="#ct-needs-module"],[href="#ct-suggestions-module"]) strong{color:var(--ui-text)}
.portal-home-card:hover{background:var(--ui-panel)}
:is(#ct-needs-module,#ct-suggestions-module)>h2{color:var(--ui-text)}
:is(#ct-needs-module,#ct-suggestions-module)>.eyebrow{background:transparent;color:var(--ui-text);padding:0}
:is(#ct-needs-module,#ct-suggestions-module)>.account-form{border-top-color:var(--ui-border)}
:is(#ct-needs-module,#ct-suggestions-module) .button{background:var(--action-bg);color:var(--action-text)}
:is(#ct-needs-module,#ct-suggestions-module) .button:hover{background:var(--action-bg)}
:is(#ct-needs-module,#ct-suggestions-module) .small-button,html[data-theme="dark"] :is(#ct-needs-module,#ct-suggestions-module) .small-button{color:var(--ui-text);border-color:var(--ui-border)}
:is(#ct-needs-module,#ct-suggestions-module) .small-button:hover{background:var(--ui-panel)}
.ct-note-card{border-left-color:var(--ui-border)}.ct-note-card>.eyebrow,.ct-note-meta,html[data-theme="dark"] .ct-note-card>.eyebrow,html[data-theme="dark"] .ct-note-meta{color:var(--ui-text)}
.account-form :is(input,select,textarea){border-color:var(--ui-border)}
.quick-invite{background:var(--ui-bg);color:var(--ui-text)}.quick-fields input:not([type=checkbox]){color:var(--ui-text);border-color:var(--ui-border)}
.quick-invite .quick-fields>p,.quick-invite .quick-fields>.eyebrow,.quick-invite .quick-fields .invite-fine{color:var(--ui-muted)}
.quick-invite .quick-fields h3{border-color:var(--ui-border)}.quick-invite .invite-close{background:var(--ui-bg);color:var(--ui-text)}.quick-fields .invite-later{color:var(--ui-text)}
.quick-art .tag,#community-invite .quick-art em{color:#fff}#community-invite :focus-visible{outline-color:var(--ui-text)}.quick-invite .quick-fields .button:hover{box-shadow:inset 0 0 0 2px var(--action-text)}
.ajf-metrics-consent{background:var(--ui-bg);color:var(--ui-text)}
/* Red draws attention to privacy, explicit sharing, errors and site updates. */
#ct-needs-module>.institution-privacy-state,.institution-share-confirm,.ct-link-confirm,.ct-note-confirm,.ct-suggestion-review:not(:empty){border-color:var(--attention);background:var(--attention-bg)}
.institution-privacy-state{color:var(--ui-text)}.institution-privacy-state[data-visibility="shared"]{border-left-color:var(--attention)}
.account-status.error,html[data-theme="dark"] .account-status.error{color:var(--attention)}
.build-tape{background:var(--red);color:#fff;border-image:repeating-linear-gradient(130deg,#101214 0 16px,#e32226 16px 32px) 9}.build-dot{background:var(--red);box-shadow:0 0 0 5px #e3222615}
.preview-notice{border-left-color:var(--attention);background:var(--attention-bg)}
/* The hint is non-modal and never covers another prompt. */
.theme-toggle{min-width:40px;min-height:40px;justify-content:center;background:transparent;color:var(--ui-text);border:1px solid var(--ui-border);cursor:pointer}
.theme-toggle span{font-size:11px}.theme-floating{position:fixed;right:18px;top:18px;z-index:30;background:var(--ui-bg);margin:0}
.theme-hint{position:relative;width:min(440px,calc(100% - 36px));margin:12px auto;display:flex;align-items:center;gap:12px;padding:13px 34px 13px 16px;background:var(--ui-bg);color:var(--ui-text);border:1px solid var(--ui-border);border-top:3px solid var(--ui-text);box-shadow:0 4px 16px #0001;border-radius:5px}
.theme-hint strong{display:block;flex:1;font-size:12px;line-height:1.5}.theme-hint p{display:none}
.theme-hint-close{position:absolute;right:5px;top:4px;width:32px;height:32px;border:0;background:transparent;color:var(--ui-text);font-size:22px}
.theme-hint-change{font:inherit;font-size:11px;font-weight:700;white-space:nowrap;padding:9px 11px;border:1px solid var(--action-bg);background:var(--action-bg);color:var(--action-text);border-radius:2px}
.theme-hint[hidden]{display:none!important}
@media(max-width:760px){header .theme-toggle{padding:8px;flex-shrink:0}header .theme-toggle span{display:none}header:not(:has(#nav)){height:auto;min-height:80px;gap:12px}header:not(:has(#nav))>.brand{margin-right:auto}.theme-hint{width:min(440px,calc(100% - 24px))}}
@media(max-width:380px){header:not(:has(#nav)) .brand span{display:none}}
#theme-toggle,.theme-hint-change,.theme-hint-close{touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}
