.teamnet-waking {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 24px;
    background: radial-gradient(ellipse at 50% 30%, #174e75, #0d2c49 55%, #091e33);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}
#teamnet-startup { position: fixed; inset: 0; z-index: 10000; }
.pm-dashboard:has(> .teamnet-waking) { padding: 0; }
.teamnet-connection-card { box-sizing: border-box; width: 100%; max-width: 390px; text-align: center; }
.teamnet-connection-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
    border-radius: 12px;
    background: #fff;
}
.teamnet-connection-logo img { display: block; width: 200px; max-width: 100%; height: auto; }
.teamnet-connection-card h1, .teamnet-connection-card h2 {
    margin: 22px 0 8px;
    color: inherit;
    font: 600 22px/1.3 Arial, Helvetica, sans-serif;
    letter-spacing: -.3px;
}
.teamnet-connection-card p { margin: 0; font-size: 14px; line-height: 1.6; }
.teamnet-waking .teamnet-connection-card p { color: #d0dfed; }
.teamnet-connection-progress {
    display: block;
    position: relative;
    overflow: hidden;
    width: 96px;
    height: 3px;
    margin: 24px auto 0;
    border-radius: 3px;
    background: #d8e6ef;
}
.teamnet-connection-progress::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: #008bb8;
    animation: teamnet-connection-progress 1.6s ease-in-out infinite;
}
.teamnet-waking .teamnet-connection-progress { background: #ffffff26; }
.teamnet-waking .teamnet-connection-progress::after { background: #61c7df; }
#teamnet-reconnect {
    box-sizing: border-box;
    width: min(390px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    margin: auto;
    padding: 30px 24px;
    border: 1px solid #ffffffc9;
    border-radius: 18px;
    background: #fffffff5;
    color: #123c69;
    box-shadow: 0 24px 80px #102d4b40;
    font-family: Arial, Helvetica, sans-serif;
}
#teamnet-reconnect::backdrop { background: #17334e38; backdrop-filter: blur(3px); }
#teamnet-reconnect[open] { animation: teamnet-connection-appear .2s ease-out; }
#teamnet-reconnect .teamnet-connection-logo { padding: 0; background: transparent; }
#teamnet-reconnect p { color: #566b7c; }
@keyframes teamnet-connection-progress {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}
@keyframes teamnet-connection-appear {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    #teamnet-reconnect[open], .teamnet-connection-progress::after { animation: none; }
    .teamnet-connection-progress::after { inset-inline: 25%; }
}
