.technical-team-trigger { display:block; border:0; padding:0; margin-top:.3rem; background:transparent; color:var(--color-physio-green-dark); font:inherit; font-weight:750; text-align:left; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.technical-team-trigger:hover { text-decoration-thickness:2px; }
.technical-team-dialog { position:fixed; inset:0; width:min(540px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); box-sizing:border-box; margin:auto; padding:36px; overflow:auto; border:1px solid #b8d1c2; border-radius:24px; background:#fafffc; color:#183d2e; text-align:center; box-shadow:0 24px 80px #082c2840; }
.technical-team-dialog::backdrop { background:#092a2266; backdrop-filter:blur(4px); }
.technical-team-dialog .technical-team-close { position:absolute; top:16px; right:16px; display:flex; align-items:center; justify-content:center; width:40px; height:40px; min-width:40px; min-height:40px; padding:0; border:1px solid #c6dfce; border-radius:50%; background:#edf6f0; color:#264a38; box-shadow:none; cursor:pointer; transition:background .18s ease,transform .18s ease; }
.technical-team-dialog .technical-team-close svg { display:block; width:20px; height:20px; }
.technical-team-dialog .technical-team-close:hover { background:#d8e9de; transform:rotate(90deg); }
.technical-team-dialog .technical-team-close:focus-visible { outline:2px solid #198751; outline-offset:3px; }
.technical-team-dialog[open] { animation:technical-team-reveal .3s ease-out both; }
.technical-team-dialog[open]::backdrop { animation:technical-team-backdrop .3s ease-out both; }
@keyframes technical-team-reveal { from { opacity:0; transform:translateY(14px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes technical-team-backdrop { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .technical-team-dialog[open], .technical-team-dialog[open]::backdrop { animation:none; } .technical-team-dialog .technical-team-close { transition:none; } }
.technical-team-emblem { margin:0 auto 16px; width:150px; height:150px; border-radius:50%; background:#fff0d6; border:1px solid #efd1a2; }
.technical-team-emblem img { display:block; width:100%; height:100%; object-fit:contain; }
.technical-team-kicker { margin:0 0 8px; font-size:1.3rem; font-weight:750; letter-spacing:.16em; color:#846025; }
.technical-team-dialog h2 { margin:0; font-size:3.2rem; line-height:1.2; color:inherit; }
.technical-team-description { margin:12px 0 24px; color:#567264; font-size:1.6rem; }
.technical-team-members { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.technical-team-members span { padding:10px 18px; border:1px solid #c6dfce; border-radius:12px; background:#edf6f0; font-size:1.6rem; font-weight:650; }
.technical-team-credit { margin:28px 0 0; padding-top:20px; border-top:1px solid #d7e6dc; font-size:1.2rem; color:#667b70; }
html[data-theme="dark"] .technical-team-dialog { background:#182c22; color:#e7f3eb; border-color:#456753; }
html[data-theme="dark"] .technical-team-description, html[data-theme="dark"] .technical-team-credit { color:#b4cabb; }
html[data-theme="dark"] .technical-team-members span, html[data-theme="dark"] .technical-team-close { background:#263f30; color:#e7f3eb; border-color:#456753; }
html[data-theme="dark"] .technical-team-kicker { color:#e6b86f; }
@media(max-width:480px) { .technical-team-dialog { padding:28px 20px; } .technical-team-dialog h2 { font-size:2.8rem; } }
.technical-team-mascot-trigger { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; padding:0; border:0; background:transparent; cursor:pointer; border-radius:16px; transition:transform .2s ease; }
.technical-team-mascot-trigger:hover { transform:translateY(-3px); }
.technical-team-mascot-trigger:focus-visible { outline:3px solid #198751; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .technical-team-mascot-trigger { transition:none; } }
.technical-team-supervisor { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 12px; margin:0 0 22px; font-size:1.5rem; }
.technical-team-supervisor span { color:#567264; }
.technical-team-supervisor strong { color:#846025; font-weight:700; }
html[data-theme="dark"] .technical-team-supervisor span { color:#b4cabb; }
html[data-theme="dark"] .technical-team-supervisor strong { color:#e6b86f; }

/* Project credits stay readable without resembling a support channel. */
html body .workspace-sidebar .technical-team-trigger, html body .workspace-sidebar .technical-team-trigger:is(:hover,:focus,:focus-visible,:active) { min-height:44px; padding:6px 0; font-size:1.4rem; line-height:1.4; background:transparent !important; color:var(--color-physio-green-dark) !important; border:0 !important; box-shadow:none !important; transform:none !important; }

/* Keep project credits and their dialog legible in every display mode. */
html body .workspace-sidebar .technical-team-trigger,
html body .workspace-sidebar .technical-team-trigger:is(:hover, :focus, :focus-visible, :active) {
    color: var(--ui-text, #183d2e) !important;
    transition: none;
}
.technical-team-dialog .technical-team-close {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
}
html[data-high-contrast="1"] .technical-team-dialog,
html[data-high-contrast="1"] .technical-team-members span,
html[data-high-contrast="1"] .technical-team-dialog .technical-team-close {
    background: var(--ui-surface);
    color: var(--ui-text);
    border-color: currentColor;
}
html[data-high-contrast="1"] .technical-team-description,
html[data-high-contrast="1"] .technical-team-credit,
html[data-high-contrast="1"] .technical-team-kicker,
html[data-high-contrast="1"] .technical-team-supervisor :is(span, strong) {
    color: var(--ui-text);
}
